24 lines
728 B
Dart
24 lines
728 B
Dart
import '../../model/account_data.dart';
|
|
import '../../model/endpoint_data.dart';
|
|
|
|
/// Shared headers and URI builder for Nextcloud OCS v2 endpoints. Used by
|
|
/// TalkApi, AutocompleteApi, FileSharingApi.
|
|
class NextcloudOcs {
|
|
NextcloudOcs._();
|
|
|
|
static Map<String, String> headers() => {
|
|
'Accept': 'application/json',
|
|
'OCS-APIRequest': 'true',
|
|
'Authorization': AccountData().getBasicAuthHeader(),
|
|
};
|
|
|
|
static Uri uri(String pathSuffix, {Map<String, dynamic>? queryParameters}) {
|
|
final endpoint = EndpointData().nextcloud();
|
|
return Uri.https(
|
|
endpoint.domain,
|
|
'${endpoint.path}/ocs/v2.php/$pathSuffix',
|
|
queryParameters?.map((key, value) => MapEntry(key, value.toString())),
|
|
);
|
|
}
|
|
}
|