// GENERATED CODE - DO NOT MODIFY BY HAND part of 'client.dart'; // ************************************************************************** // RetrofitGenerator // ************************************************************************** // ignore_for_file: unnecessary_brace_in_string_interps,no_leading_underscores_for_local_identifiers class __EHApi implements _EHApi { __EHApi( this._dio, { this.baseUrl, }); final Dio _dio; String? baseUrl; @override Future> createUser( String name, String password, { bool? isAdmin, int? permissions, CancelToken? cancel, }) async { final _extra = {}; final queryParameters = {}; queryParameters.removeWhere((k, v) => v == null); final _headers = {}; final _data = FormData(); _data.fields.add(MapEntry( 'name', name, )); _data.fields.add(MapEntry( 'password', password, )); if (isAdmin != null) { _data.fields.add(MapEntry( 'is_admin', isAdmin.toString(), )); } if (permissions != null) { _data.fields.add(MapEntry( 'permissions', permissions.toString(), )); } final _result = await _dio .fetch>(_setStreamType>(Options( method: 'PUT', headers: _headers, extra: _extra, contentType: 'multipart/form-data', ) .compose( _dio.options, '/user', queryParameters: queryParameters, data: _data, cancelToken: cancel, ) .copyWith( baseUrl: _combineBaseUrls( _dio.options.baseUrl, baseUrl, )))); final value = ApiResult.fromJson( _result.data!, (json) => json as int, ); return value; } @override Future> getUser({ int? id, String? username, CancelToken? cancel, }) async { final _extra = {}; final queryParameters = { r'id': id, r'username': username, }; queryParameters.removeWhere((k, v) => v == null); final _headers = {}; const Map? _data = null; final _result = await _dio .fetch>(_setStreamType>(Options( method: 'GET', headers: _headers, extra: _extra, ) .compose( _dio.options, '/user', queryParameters: queryParameters, data: _data, cancelToken: cancel, ) .copyWith( baseUrl: _combineBaseUrls( _dio.options.baseUrl, baseUrl, )))); final value = ApiResult.fromJson( _result.data!, (json) => BUser.fromJson(json as Map), ); return value; } @override Future> getStatus({CancelToken? cancel}) async { final _extra = {}; final queryParameters = {}; queryParameters.removeWhere((k, v) => v == null); final _headers = {}; const Map? _data = null; final _result = await _dio.fetch>( _setStreamType>(Options( method: 'GET', headers: _headers, extra: _extra, ) .compose( _dio.options, '/status', queryParameters: queryParameters, data: _data, cancelToken: cancel, ) .copyWith( baseUrl: _combineBaseUrls( _dio.options.baseUrl, baseUrl, )))); final value = ApiResult.fromJson( _result.data!, (json) => ServerStatus.fromJson(json as Map), ); return value; } @override Future> _createToken({ required String username, required String password, required int t, bool? setCookie, bool? httpOnly, bool? secure, String? client, String? device, String? clientVersion, String? clientPlatform, CancelToken? cancel, }) async { final _extra = {}; final queryParameters = {}; queryParameters.removeWhere((k, v) => v == null); final _headers = {}; final _data = FormData(); _data.fields.add(MapEntry( 'username', username, )); _data.fields.add(MapEntry( 'password', password, )); _data.fields.add(MapEntry( 't', t.toString(), )); if (setCookie != null) { _data.fields.add(MapEntry( 'set_cookie', setCookie.toString(), )); } if (httpOnly != null) { _data.fields.add(MapEntry( 'http_only', httpOnly.toString(), )); } if (secure != null) { _data.fields.add(MapEntry( 'secure', secure.toString(), )); } if (client != null) { _data.fields.add(MapEntry( 'client', client, )); } if (device != null) { _data.fields.add(MapEntry( 'device', device, )); } if (clientVersion != null) { _data.fields.add(MapEntry( 'client_version', clientVersion, )); } if (clientPlatform != null) { _data.fields.add(MapEntry( 'client_platform', clientPlatform, )); } final _result = await _dio .fetch>(_setStreamType>(Options( method: 'PUT', headers: _headers, extra: _extra, contentType: 'multipart/form-data', ) .compose( _dio.options, '/token', queryParameters: queryParameters, data: _data, cancelToken: cancel, ) .copyWith( baseUrl: _combineBaseUrls( _dio.options.baseUrl, baseUrl, )))); final value = ApiResult.fromJson( _result.data!, (json) => Token.fromJson(json as Map), ); return value; } @override Future> updateToken({ String? token, String? client, String? device, String? clientVersion, String? clientPlatform, CancelToken? cancel, }) async { final _extra = {}; final queryParameters = {}; queryParameters.removeWhere((k, v) => v == null); final _headers = {}; final _data = FormData(); if (token != null) { _data.fields.add(MapEntry( 'token', token, )); } if (client != null) { _data.fields.add(MapEntry( 'client', client, )); } if (device != null) { _data.fields.add(MapEntry( 'device', device, )); } if (clientVersion != null) { _data.fields.add(MapEntry( 'client_version', clientVersion, )); } if (clientPlatform != null) { _data.fields.add(MapEntry( 'client_platform', clientPlatform, )); } final _result = await _dio .fetch>(_setStreamType>(Options( method: 'PATCH', headers: _headers, extra: _extra, contentType: 'multipart/form-data', ) .compose( _dio.options, '/token', queryParameters: queryParameters, data: _data, cancelToken: cancel, ) .copyWith( baseUrl: _combineBaseUrls( _dio.options.baseUrl, baseUrl, )))); final value = ApiResult.fromJson( _result.data!, (json) => Token.fromJson(json as Map), ); return value; } @override Future> deleteToken({ String? token, CancelToken? cancel, }) async { final _extra = {}; final queryParameters = {}; queryParameters.removeWhere((k, v) => v == null); final _headers = {}; final _data = FormData(); if (token != null) { _data.fields.add(MapEntry( 'token', token, )); } final _result = await _dio .fetch>(_setStreamType>(Options( method: 'DELETE', headers: _headers, extra: _extra, contentType: 'multipart/form-data', ) .compose( _dio.options, '/token', queryParameters: queryParameters, data: _data, cancelToken: cancel, ) .copyWith( baseUrl: _combineBaseUrls( _dio.options.baseUrl, baseUrl, )))); final value = ApiResult.fromJson( _result.data!, (json) => json as bool, ); return value; } @override Future> getToken({ String? token, CancelToken? cancel, }) async { final _extra = {}; final queryParameters = {r'token': token}; queryParameters.removeWhere((k, v) => v == null); final _headers = {}; const Map? _data = null; final _result = await _dio.fetch>( _setStreamType>(Options( method: 'GET', headers: _headers, extra: _extra, ) .compose( _dio.options, '/token', queryParameters: queryParameters, data: _data, cancelToken: cancel, ) .copyWith( baseUrl: _combineBaseUrls( _dio.options.baseUrl, baseUrl, )))); final value = ApiResult.fromJson( _result.data!, (json) => TokenWithUserInfo.fromJson(json as Map), ); return value; } @override Future>> getFile( int id, { CancelToken? cancel, }) async { final _extra = {}; final queryParameters = {}; queryParameters.removeWhere((k, v) => v == null); final _headers = {}; const Map? _data = null; final _result = await _dio .fetch>(_setStreamType>>(Options( method: 'GET', headers: _headers, extra: _extra, responseType: ResponseType.bytes, ) .compose( _dio.options, '/file/${id}', queryParameters: queryParameters, data: _data, cancelToken: cancel, ) .copyWith( baseUrl: _combineBaseUrls( _dio.options.baseUrl, baseUrl, )))); final value = _result.data!.cast(); final httpResponse = HttpResponse(value, _result); return httpResponse; } @override Future> _getFileData( int id, bool data, { CancelToken? cancel, }) async { final _extra = {}; final queryParameters = {r'data': data}; queryParameters.removeWhere((k, v) => v == null); final _headers = {}; const Map? _data = null; final _result = await _dio.fetch>( _setStreamType>(Options( method: 'GET', headers: _headers, extra: _extra, ) .compose( _dio.options, '/file/${id}', queryParameters: queryParameters, data: _data, cancelToken: cancel, ) .copyWith( baseUrl: _combineBaseUrls( _dio.options.baseUrl, baseUrl, )))); final value = ApiResult.fromJson( _result.data!, (json) => EhFileExtend.fromJson(json as Map), ); return value; } @override Future>> getRandomFile({ bool? isNsfw, bool? isAd, bool? thumb, CancelToken? cancel, }) async { final _extra = {}; final queryParameters = { r'is_nsfw': isNsfw, r'is_ad': isAd, r'thumb': thumb, }; queryParameters.removeWhere((k, v) => v == null); final _headers = {}; const Map? _data = null; final _result = await _dio .fetch>(_setStreamType>>(Options( method: 'GET', headers: _headers, extra: _extra, responseType: ResponseType.bytes, ) .compose( _dio.options, '/file/random', queryParameters: queryParameters, data: _data, cancelToken: cancel, ) .copyWith( baseUrl: _combineBaseUrls( _dio.options.baseUrl, baseUrl, )))); final value = _result.data!.cast(); final httpResponse = HttpResponse(value, _result); return httpResponse; } @override Future> _getFiles( String token, { CancelToken? cancel, }) async { final _extra = {}; final queryParameters = {}; queryParameters.removeWhere((k, v) => v == null); final _headers = {}; const Map? _data = null; final _result = await _dio .fetch>(_setStreamType>(Options( method: 'GET', headers: _headers, extra: _extra, ) .compose( _dio.options, '/files/${token}', queryParameters: queryParameters, data: _data, cancelToken: cancel, ) .copyWith( baseUrl: _combineBaseUrls( _dio.options.baseUrl, baseUrl, )))); final value = ApiResult.fromJson( _result.data!, (json) => EhFiles.fromJson(json as Map), ); return value; } @override Future>> getThumbnail( int id, { int? max, int? width, int? height, int? quality, bool? force, ThumbnailMethod? method, ThumbnailAlign? align, CancelToken? cancel, }) async { final _extra = {}; final queryParameters = { r'max': max, r'width': width, r'height': height, r'quality': quality, r'force': force, r'method': method?.name, r'align': align?.name, }; queryParameters.removeWhere((k, v) => v == null); final _headers = {}; const Map? _data = null; final _result = await _dio .fetch>(_setStreamType>>(Options( method: 'GET', headers: _headers, extra: _extra, responseType: ResponseType.bytes, ) .compose( _dio.options, '/thumbnail/${id}', queryParameters: queryParameters, data: _data, cancelToken: cancel, ) .copyWith( baseUrl: _combineBaseUrls( _dio.options.baseUrl, baseUrl, )))); final value = _result.data!.cast(); final httpResponse = HttpResponse(value, _result); return httpResponse; } @override Future> getGallery( int gid, { CancelToken? cancel, }) async { final _extra = {}; final queryParameters = {}; queryParameters.removeWhere((k, v) => v == null); final _headers = {}; const Map? _data = null; final _result = await _dio.fetch>( _setStreamType>(Options( method: 'GET', headers: _headers, extra: _extra, ) .compose( _dio.options, '/gallery/${gid}', queryParameters: queryParameters, data: _data, cancelToken: cancel, ) .copyWith( baseUrl: _combineBaseUrls( _dio.options.baseUrl, baseUrl, )))); final value = ApiResult.fromJson( _result.data!, (json) => GalleryData.fromJson(json as Map), ); return value; } @override Future>> listGalleries({ bool? all, int? offset, int? limit, bool? sortByGid, String? uploader, String? tag, CancelToken? cancel, }) async { final _extra = {}; final queryParameters = { r'all': all, r'offset': offset, r'limit': limit, r'sort_by_gid': sortByGid, r'uploader': uploader, r'tag': tag, }; queryParameters.removeWhere((k, v) => v == null); final _headers = {}; const Map? _data = null; final _result = await _dio.fetch>( _setStreamType>>(Options( method: 'GET', headers: _headers, extra: _extra, ) .compose( _dio.options, '/gallery/list', queryParameters: queryParameters, data: _data, cancelToken: cancel, ) .copyWith( baseUrl: _combineBaseUrls( _dio.options.baseUrl, baseUrl, )))); final value = ApiResult>.fromJson( _result.data!, (json) => json is List ? json .map((i) => GMeta.fromJson(i as Map)) .toList() : List.empty(), ); return value; } @override Future> _getTags( String id, { CancelToken? cancel, }) async { final _extra = {}; final queryParameters = {}; queryParameters.removeWhere((k, v) => v == null); final _headers = {}; const Map? _data = null; final _result = await _dio .fetch>(_setStreamType>(Options( method: 'GET', headers: _headers, extra: _extra, ) .compose( _dio.options, '/tag/${id}', queryParameters: queryParameters, data: _data, cancelToken: cancel, ) .copyWith( baseUrl: _combineBaseUrls( _dio.options.baseUrl, baseUrl, )))); final value = ApiResult.fromJson( _result.data!, (json) => Tags.fromJson(json as Map), ); return value; } @override Future>> getRowTags({CancelToken? cancel}) async { final _extra = {}; final queryParameters = {}; queryParameters.removeWhere((k, v) => v == null); final _headers = {}; const Map? _data = null; final _result = await _dio.fetch>( _setStreamType>>(Options( method: 'GET', headers: _headers, extra: _extra, ) .compose( _dio.options, '/tag/rows', queryParameters: queryParameters, data: _data, cancelToken: cancel, ) .copyWith( baseUrl: _combineBaseUrls( _dio.options.baseUrl, baseUrl, )))); final value = ApiResult>.fromJson( _result.data!, (json) => json is List ? json .map((i) => Tag.fromJson(i as Map)) .toList() : List.empty(), ); return value; } @override Future> exportGalleryZip( int gid, { bool? jpnTitle, int? maxLength, bool? exportAd, CancelToken? cancel, }) async { final _extra = {}; final queryParameters = { r'jpn_title': jpnTitle, r'max_length': maxLength, r'export_ad': exportAd, }; queryParameters.removeWhere((k, v) => v == null); final _headers = {}; const Map? _data = null; final _result = await _dio.fetch(_setStreamType>(Options( method: 'GET', headers: _headers, extra: _extra, responseType: ResponseType.stream, ) .compose( _dio.options, '/export/gallery/zip/${gid}', queryParameters: queryParameters, data: _data, cancelToken: cancel, ) .copyWith( baseUrl: _combineBaseUrls( _dio.options.baseUrl, baseUrl, )))); final value = _result.data; final httpResponse = HttpResponse(value, _result); return httpResponse; } @override Future> updateGalleryFileMeta( int gid, { bool? isNsfw, bool? isAd, String? excludes, CancelToken? cancel, }) async { final _extra = {}; final queryParameters = {}; queryParameters.removeWhere((k, v) => v == null); final _headers = {}; final _data = FormData(); _data.fields.add(MapEntry( 'gid', gid.toString(), )); if (isNsfw != null) { _data.fields.add(MapEntry( 'is_nsfw', isNsfw.toString(), )); } if (isAd != null) { _data.fields.add(MapEntry( 'is_ad', isAd.toString(), )); } if (excludes != null) { _data.fields.add(MapEntry( 'excludes', excludes, )); } final _result = await _dio .fetch>(_setStreamType>(Options( method: 'POST', headers: _headers, extra: _extra, contentType: 'multipart/form-data', ) .compose( _dio.options, '/filemeta', queryParameters: queryParameters, data: _data, cancelToken: cancel, ) .copyWith( baseUrl: _combineBaseUrls( _dio.options.baseUrl, baseUrl, )))); final value = ApiResult.fromJson( _result.data!, (json) => json as dynamic, ); return value; } @override Future> updateFileMeta( String token, { bool? isNsfw, bool? isAd, CancelToken? cancel, }) async { final _extra = {}; final queryParameters = {}; queryParameters.removeWhere((k, v) => v == null); final _headers = {}; final _data = FormData(); _data.fields.add(MapEntry( 'token', token, )); if (isNsfw != null) { _data.fields.add(MapEntry( 'is_nsfw', isNsfw.toString(), )); } if (isAd != null) { _data.fields.add(MapEntry( 'is_ad', isAd.toString(), )); } final _result = await _dio .fetch>(_setStreamType>(Options( method: 'POST', headers: _headers, extra: _extra, contentType: 'multipart/form-data', ) .compose( _dio.options, '/filemeta', queryParameters: queryParameters, data: _data, cancelToken: cancel, ) .copyWith( baseUrl: _combineBaseUrls( _dio.options.baseUrl, baseUrl, )))); final value = ApiResult.fromJson( _result.data!, (json) => json as dynamic, ); return value; } @override Future> updateFilesMeta( String tokens, { bool? isNsfw, bool? isAd, CancelToken? cancel, }) async { final _extra = {}; final queryParameters = {}; queryParameters.removeWhere((k, v) => v == null); final _headers = {}; final _data = FormData(); _data.fields.add(MapEntry( 'tokens', tokens, )); if (isNsfw != null) { _data.fields.add(MapEntry( 'is_nsfw', isNsfw.toString(), )); } if (isAd != null) { _data.fields.add(MapEntry( 'is_ad', isAd.toString(), )); } final _result = await _dio .fetch>(_setStreamType>(Options( method: 'POST', headers: _headers, extra: _extra, contentType: 'multipart/form-data', ) .compose( _dio.options, '/filemeta', queryParameters: queryParameters, data: _data, cancelToken: cancel, ) .copyWith( baseUrl: _combineBaseUrls( _dio.options.baseUrl, baseUrl, )))); final value = ApiResult.fromJson( _result.data!, (json) => json as dynamic, ); return value; } @override Future getConfig({ bool? current, CancelToken? cancel, }) async { final _extra = {}; final queryParameters = {r'current': current}; queryParameters.removeWhere((k, v) => v == null); final _headers = {}; const Map? _data = null; final _result = await _dio.fetch>(_setStreamType(Options( method: 'GET', headers: _headers, extra: _extra, ) .compose( _dio.options, '/config', queryParameters: queryParameters, data: _data, cancelToken: cancel, ) .copyWith( baseUrl: _combineBaseUrls( _dio.options.baseUrl, baseUrl, )))); final value = Config.fromJson(_result.data!); return value; } @override Future updateConfig( ConfigOptional cfg, { CancelToken? cancel, }) async { final _extra = {}; final queryParameters = {}; queryParameters.removeWhere((k, v) => v == null); final _headers = {}; final _data = {}; _data.addAll(cfg.toJson()); final _result = await _dio .fetch>(_setStreamType(Options( method: 'POST', headers: _headers, extra: _extra, ) .compose( _dio.options, '/config', queryParameters: queryParameters, data: _data, cancelToken: cancel, ) .copyWith( baseUrl: _combineBaseUrls( _dio.options.baseUrl, baseUrl, )))); final value = UpdateConfigResult.fromJson(_result.data!); return value; } @override Future> getMetaInfo( List gids, List tokens, { CancelToken? cancel, }) async { final _extra = {}; final queryParameters = { r'gid': gids, r'token': tokens, }; queryParameters.removeWhere((k, v) => v == null); final _headers = {}; const Map? _data = null; final _result = await _dio.fetch>( _setStreamType>(Options( method: 'GET', headers: _headers, extra: _extra, ) .compose( _dio.options, '/eh/metadata', queryParameters: queryParameters, data: _data, cancelToken: cancel, ) .copyWith( baseUrl: _combineBaseUrls( _dio.options.baseUrl, baseUrl, )))); final value = ApiResult.fromJson( _result.data!, (json) => EHMetaInfo.fromJson(json as Map), ); return value; } @override Future> createDownloadTask( int gid, String token, { DownloadConfig? cfg, String t = "download", CancelToken? cancel, }) async { final _extra = {}; final queryParameters = {}; queryParameters.removeWhere((k, v) => v == null); final _headers = {}; final _data = FormData(); _data.fields.add(MapEntry( 'gid', gid.toString(), )); _data.fields.add(MapEntry( 'token', token, )); _data.fields.add(MapEntry( 'cfg', jsonEncode(cfg ?? {}), )); _data.fields.add(MapEntry( 'type', t, )); final _result = await _dio .fetch>(_setStreamType>(Options( method: 'PUT', headers: _headers, extra: _extra, contentType: 'multipart/form-data', ) .compose( _dio.options, '/task', queryParameters: queryParameters, data: _data, cancelToken: cancel, ) .copyWith( baseUrl: _combineBaseUrls( _dio.options.baseUrl, baseUrl, )))); final value = ApiResult.fromJson( _result.data!, (json) => Task.fromJson(json as Map), ); return value; } RequestOptions _setStreamType(RequestOptions requestOptions) { if (T != dynamic && !(requestOptions.responseType == ResponseType.bytes || requestOptions.responseType == ResponseType.stream)) { if (T == String) { requestOptions.responseType = ResponseType.plain; } else { requestOptions.responseType = ResponseType.json; } } return requestOptions; } String _combineBaseUrls( String dioBaseUrl, String? baseUrl, ) { if (baseUrl == null || baseUrl.trim().isEmpty) { return dioBaseUrl; } final url = Uri.parse(baseUrl); if (url.isAbsolute) { return url.toString(); } return Uri.parse(dioBaseUrl).resolveUri(url).toString(); } }