// ignore_for_file: camel_case_types // ignore_for_file: public_member_api_docs import 'dart:typed_data'; import 'package:built_value/built_value.dart'; import 'package:built_value/serializer.dart'; import 'package:built_value/standard_json_plugin.dart'; import 'package:dynamite_runtime/content_string.dart'; import 'package:dynamite_runtime/http_client.dart'; import 'package:universal_io/io.dart'; export 'package:dynamite_runtime/http_client.dart'; part 'dav.openapi.g.dart'; class DavResponse extends DynamiteResponse { DavResponse( super.data, super.headers, ); @override String toString() => 'DavResponse(data: $data, headers: $headers)'; } class DavApiException extends DynamiteApiException { DavApiException( super.statusCode, super.headers, super.body, ); static Future fromResponse(final HttpClientResponse response) async { String body; try { body = await response.body; } on FormatException { body = 'binary'; } return DavApiException( response.statusCode, response.responseHeaders, body, ); } @override String toString() => 'DavApiException(statusCode: $statusCode, headers: $headers, body: $body)'; } class DavClient extends DynamiteClient { DavClient( super.baseURL, { super.baseHeaders, super.userAgent, super.httpClient, super.cookieJar, super.authentications, }); DavClient.fromClient(final DynamiteClient client) : super( client.baseURL, baseHeaders: client.baseHeaders, httpClient: client.httpClient, cookieJar: client.cookieJar, authentications: client.authentications, ); DavDirectClient get direct => DavDirectClient(this); } class DavDirectClient { DavDirectClient(this._rootClient); final DavClient _rootClient; /// Get a direct link to a file Future getUrl({ required final int fileId, final int? expirationTime, final bool oCSAPIRequest = true, }) async { const path = '/ocs/v2.php/apps/dav/api/v1/direct'; final queryParameters = {}; final headers = { 'Accept': 'application/json', }; Uint8List? body; // coverage:ignore-start if (_rootClient.authentications.where((final a) => a.type == 'http' && a.scheme == 'bearer').isNotEmpty) { headers.addAll( _rootClient.authentications.singleWhere((final a) => a.type == 'http' && a.scheme == 'bearer').headers, ); } else if (_rootClient.authentications.where((final a) => a.type == 'http' && a.scheme == 'basic').isNotEmpty) { headers.addAll( _rootClient.authentications.singleWhere((final a) => a.type == 'http' && a.scheme == 'basic').headers, ); } else { throw Exception('Missing authentication for bearer_auth or basic_auth'); } // coverage:ignore-end queryParameters['fileId'] = fileId.toString(); if (expirationTime != null) { queryParameters['expirationTime'] = expirationTime.toString(); } headers['OCS-APIRequest'] = oCSAPIRequest.toString(); final response = await _rootClient.doRequest( 'post', Uri(path: path, queryParameters: queryParameters.isNotEmpty ? queryParameters : null), headers, body, ); if (response.statusCode == 200) { return _jsonSerializers.deserialize( await response.jsonBody, specifiedType: const FullType(DavDirectGetUrlResponseApplicationJson), )! as DavDirectGetUrlResponseApplicationJson; } throw await DavApiException.fromResponse(response); // coverage:ignore-line } } @BuiltValue(instantiable: false) abstract interface class DavOCSMetaInterface { String get status; int get statuscode; String? get message; String? get totalitems; String? get itemsperpage; DavOCSMetaInterface rebuild(final void Function(DavOCSMetaInterfaceBuilder) updates); DavOCSMetaInterfaceBuilder toBuilder(); } abstract class DavOCSMeta implements DavOCSMetaInterface, Built { factory DavOCSMeta([final void Function(DavOCSMetaBuilder)? b]) = _$DavOCSMeta; // coverage:ignore-start const DavOCSMeta._(); // coverage:ignore-end // coverage:ignore-start factory DavOCSMeta.fromJson(final Map json) => _jsonSerializers.deserializeWith(serializer, json)!; // coverage:ignore-end // coverage:ignore-start Map toJson() => _jsonSerializers.serializeWith(serializer, this)! as Map; // coverage:ignore-end static Serializer get serializer => _$davOCSMetaSerializer; } @BuiltValue(instantiable: false) abstract interface class DavDirectGetUrlResponseApplicationJson_Ocs_DataInterface { String get url; DavDirectGetUrlResponseApplicationJson_Ocs_DataInterface rebuild( final void Function(DavDirectGetUrlResponseApplicationJson_Ocs_DataInterfaceBuilder) updates, ); DavDirectGetUrlResponseApplicationJson_Ocs_DataInterfaceBuilder toBuilder(); } abstract class DavDirectGetUrlResponseApplicationJson_Ocs_Data implements DavDirectGetUrlResponseApplicationJson_Ocs_DataInterface, Built { factory DavDirectGetUrlResponseApplicationJson_Ocs_Data([ final void Function(DavDirectGetUrlResponseApplicationJson_Ocs_DataBuilder)? b, ]) = _$DavDirectGetUrlResponseApplicationJson_Ocs_Data; // coverage:ignore-start const DavDirectGetUrlResponseApplicationJson_Ocs_Data._(); // coverage:ignore-end // coverage:ignore-start factory DavDirectGetUrlResponseApplicationJson_Ocs_Data.fromJson(final Map json) => _jsonSerializers.deserializeWith(serializer, json)!; // coverage:ignore-end // coverage:ignore-start Map toJson() => _jsonSerializers.serializeWith(serializer, this)! as Map; // coverage:ignore-end static Serializer get serializer => _$davDirectGetUrlResponseApplicationJsonOcsDataSerializer; } @BuiltValue(instantiable: false) abstract interface class DavDirectGetUrlResponseApplicationJson_OcsInterface { DavOCSMeta get meta; DavDirectGetUrlResponseApplicationJson_Ocs_Data get data; DavDirectGetUrlResponseApplicationJson_OcsInterface rebuild( final void Function(DavDirectGetUrlResponseApplicationJson_OcsInterfaceBuilder) updates, ); DavDirectGetUrlResponseApplicationJson_OcsInterfaceBuilder toBuilder(); } abstract class DavDirectGetUrlResponseApplicationJson_Ocs implements DavDirectGetUrlResponseApplicationJson_OcsInterface, Built { factory DavDirectGetUrlResponseApplicationJson_Ocs([ final void Function(DavDirectGetUrlResponseApplicationJson_OcsBuilder)? b, ]) = _$DavDirectGetUrlResponseApplicationJson_Ocs; // coverage:ignore-start const DavDirectGetUrlResponseApplicationJson_Ocs._(); // coverage:ignore-end // coverage:ignore-start factory DavDirectGetUrlResponseApplicationJson_Ocs.fromJson(final Map json) => _jsonSerializers.deserializeWith(serializer, json)!; // coverage:ignore-end // coverage:ignore-start Map toJson() => _jsonSerializers.serializeWith(serializer, this)! as Map; // coverage:ignore-end static Serializer get serializer => _$davDirectGetUrlResponseApplicationJsonOcsSerializer; } @BuiltValue(instantiable: false) abstract interface class DavDirectGetUrlResponseApplicationJsonInterface { DavDirectGetUrlResponseApplicationJson_Ocs get ocs; DavDirectGetUrlResponseApplicationJsonInterface rebuild( final void Function(DavDirectGetUrlResponseApplicationJsonInterfaceBuilder) updates, ); DavDirectGetUrlResponseApplicationJsonInterfaceBuilder toBuilder(); } abstract class DavDirectGetUrlResponseApplicationJson implements DavDirectGetUrlResponseApplicationJsonInterface, Built { factory DavDirectGetUrlResponseApplicationJson([ final void Function(DavDirectGetUrlResponseApplicationJsonBuilder)? b, ]) = _$DavDirectGetUrlResponseApplicationJson; // coverage:ignore-start const DavDirectGetUrlResponseApplicationJson._(); // coverage:ignore-end // coverage:ignore-start factory DavDirectGetUrlResponseApplicationJson.fromJson(final Map json) => _jsonSerializers.deserializeWith(serializer, json)!; // coverage:ignore-end // coverage:ignore-start Map toJson() => _jsonSerializers.serializeWith(serializer, this)! as Map; // coverage:ignore-end static Serializer get serializer => _$davDirectGetUrlResponseApplicationJsonSerializer; } @BuiltValue(instantiable: false) abstract interface class DavCapabilities_DavInterface { String get chunking; String? get bulkupload; DavCapabilities_DavInterface rebuild(final void Function(DavCapabilities_DavInterfaceBuilder) updates); DavCapabilities_DavInterfaceBuilder toBuilder(); } abstract class DavCapabilities_Dav implements DavCapabilities_DavInterface, Built { factory DavCapabilities_Dav([final void Function(DavCapabilities_DavBuilder)? b]) = _$DavCapabilities_Dav; // coverage:ignore-start const DavCapabilities_Dav._(); // coverage:ignore-end // coverage:ignore-start factory DavCapabilities_Dav.fromJson(final Map json) => _jsonSerializers.deserializeWith(serializer, json)!; // coverage:ignore-end // coverage:ignore-start Map toJson() => _jsonSerializers.serializeWith(serializer, this)! as Map; // coverage:ignore-end static Serializer get serializer => _$davCapabilitiesDavSerializer; } @BuiltValue(instantiable: false) abstract interface class DavCapabilitiesInterface { DavCapabilities_Dav get dav; DavCapabilitiesInterface rebuild(final void Function(DavCapabilitiesInterfaceBuilder) updates); DavCapabilitiesInterfaceBuilder toBuilder(); } abstract class DavCapabilities implements DavCapabilitiesInterface, Built { factory DavCapabilities([final void Function(DavCapabilitiesBuilder)? b]) = _$DavCapabilities; // coverage:ignore-start const DavCapabilities._(); // coverage:ignore-end // coverage:ignore-start factory DavCapabilities.fromJson(final Map json) => _jsonSerializers.deserializeWith(serializer, json)!; // coverage:ignore-end // coverage:ignore-start Map toJson() => _jsonSerializers.serializeWith(serializer, this)! as Map; // coverage:ignore-end static Serializer get serializer => _$davCapabilitiesSerializer; } // coverage:ignore-start final Serializers _serializers = (Serializers().toBuilder() ..addBuilderFactory( const FullType(DavDirectGetUrlResponseApplicationJson), DavDirectGetUrlResponseApplicationJson.new, ) ..add(DavDirectGetUrlResponseApplicationJson.serializer) ..addBuilderFactory( const FullType(DavDirectGetUrlResponseApplicationJson_Ocs), DavDirectGetUrlResponseApplicationJson_Ocs.new, ) ..add(DavDirectGetUrlResponseApplicationJson_Ocs.serializer) ..addBuilderFactory(const FullType(DavOCSMeta), DavOCSMeta.new) ..add(DavOCSMeta.serializer) ..addBuilderFactory( const FullType(DavDirectGetUrlResponseApplicationJson_Ocs_Data), DavDirectGetUrlResponseApplicationJson_Ocs_Data.new, ) ..add(DavDirectGetUrlResponseApplicationJson_Ocs_Data.serializer) ..addBuilderFactory(const FullType(DavCapabilities), DavCapabilities.new) ..add(DavCapabilities.serializer) ..addBuilderFactory(const FullType(DavCapabilities_Dav), DavCapabilities_Dav.new) ..add(DavCapabilities_Dav.serializer)) .build(); Serializers get davSerializers => _serializers; final Serializers _jsonSerializers = (_serializers.toBuilder() ..addPlugin(StandardJsonPlugin()) ..addPlugin(const ContentStringPlugin())) .build(); T deserializeDav(final Object data) => _serializers.deserialize(data, specifiedType: FullType(T))! as T; Object? serializeDav(final T data) => _serializers.serialize(data, specifiedType: FullType(T)); // coverage:ignore-end