// 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,unused_element class __EHApi implements _EHApi { __EHApi( this._dio, { this.baseUrl, this.errorLogger, }); final Dio _dio; String? baseUrl; final ParseErrorLogger? errorLogger; @override Future> changeUserName( String username, { CancelToken? cancel, }) async { final _extra = {}; final queryParameters = {}; queryParameters.removeWhere((k, v) => v == null); final _headers = {}; final _data = FormData(); _data.fields.add(MapEntry( 'username', username, )); final _options = _setStreamType>(Options( method: 'POST', headers: _headers, extra: _extra, contentType: 'multipart/form-data', ) .compose( _dio.options, '/user/change_name', queryParameters: queryParameters, data: _data, cancelToken: cancel, ) .copyWith( baseUrl: _combineBaseUrls( _dio.options.baseUrl, baseUrl, ))); final _result = await _dio.fetch>(_options); late ApiResult _value; try { _value = ApiResult.fromJson( _result.data!, (json) => BUser.fromJson(json as Map), ); } on Object catch (e, s) { errorLogger?.logError(e, s, _options); rethrow; } return _value; } @override Future> _changeUserPassword( String oldPassword, int t, String newPassword, { CancelToken? cancel, }) async { final _extra = {}; final queryParameters = {}; queryParameters.removeWhere((k, v) => v == null); final _headers = {}; final _data = FormData(); _data.fields.add(MapEntry( 'old', oldPassword, )); _data.fields.add(MapEntry( 't', t.toString(), )); _data.fields.add(MapEntry( 'new', newPassword, )); final _options = _setStreamType>(Options( method: 'POST', headers: _headers, extra: _extra, contentType: 'multipart/form-data', ) .compose( _dio.options, '/user/change_password', queryParameters: queryParameters, data: _data, cancelToken: cancel, ) .copyWith( baseUrl: _combineBaseUrls( _dio.options.baseUrl, baseUrl, ))); final _result = await _dio.fetch>(_options); late ApiResult _value; try { _value = ApiResult.fromJson( _result.data!, (json) => json as dynamic, ); } on Object catch (e, s) { errorLogger?.logError(e, s, _options); rethrow; } return _value; } @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 _options = _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 _result = await _dio.fetch>(_options); late ApiResult _value; try { _value = ApiResult.fromJson( _result.data!, (json) => json as int, ); } on Object catch (e, s) { errorLogger?.logError(e, s, _options); rethrow; } return _value; } @override Future> deleteUser({ int? id, String? username, CancelToken? cancel, }) async { final _extra = {}; final queryParameters = {}; queryParameters.removeWhere((k, v) => v == null); final _headers = {}; final _data = FormData(); if (id != null) { _data.fields.add(MapEntry( 'id', id.toString(), )); } if (username != null) { _data.fields.add(MapEntry( 'username', username, )); } final _options = _setStreamType>(Options( method: 'DELETE', 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 _result = await _dio.fetch>(_options); late ApiResult _value; try { _value = ApiResult.fromJson( _result.data!, (json) => json as dynamic, ); } on Object catch (e, s) { errorLogger?.logError(e, s, _options); rethrow; } 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 _options = _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 _result = await _dio.fetch>(_options); late ApiResult _value; try { _value = ApiResult.fromJson( _result.data!, (json) => BUser.fromJson(json as Map), ); } on Object catch (e, s) { errorLogger?.logError(e, s, _options); rethrow; } return _value; } @override Future>> getUsers({ bool? all, int? offset, int? limit, CancelToken? cancel, }) async { final _extra = {}; final queryParameters = { r'all': all, r'offset': offset, r'limit': limit, }; queryParameters.removeWhere((k, v) => v == null); final _headers = {}; const Map? _data = null; final _options = _setStreamType>>(Options( method: 'GET', headers: _headers, extra: _extra, ) .compose( _dio.options, '/user/list', queryParameters: queryParameters, data: _data, cancelToken: cancel, ) .copyWith( baseUrl: _combineBaseUrls( _dio.options.baseUrl, baseUrl, ))); final _result = await _dio.fetch>(_options); late ApiResult> _value; try { _value = ApiResult>.fromJson( _result.data!, (json) => json is List ? json .map((i) => BUser.fromJson(i as Map)) .toList() : List.empty(), ); } on Object catch (e, s) { errorLogger?.logError(e, s, _options); rethrow; } return _value; } @override Future> updateUser({ int? id, String? username, String? password, bool? isAdmin, bool? revokeToken, int? permissions, CancelToken? cancel, }) async { final _extra = {}; final queryParameters = {}; queryParameters.removeWhere((k, v) => v == null); final _headers = {}; final _data = FormData(); if (id != null) { _data.fields.add(MapEntry( 'id', id.toString(), )); } if (username != null) { _data.fields.add(MapEntry( 'username', username, )); } if (password != null) { _data.fields.add(MapEntry( 'password', password, )); } if (isAdmin != null) { _data.fields.add(MapEntry( 'is_admin', isAdmin.toString(), )); } if (revokeToken != null) { _data.fields.add(MapEntry( 'revoke_token', revokeToken.toString(), )); } if (permissions != null) { _data.fields.add(MapEntry( 'permissions', permissions.toString(), )); } final _options = _setStreamType>(Options( method: 'PATCH', 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 _result = await _dio.fetch>(_options); late ApiResult _value; try { _value = ApiResult.fromJson( _result.data!, (json) => BUser.fromJson(json as Map), ); } on Object catch (e, s) { errorLogger?.logError(e, s, _options); rethrow; } 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 _options = _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 _result = await _dio.fetch>(_options); late ApiResult _value; try { _value = ApiResult.fromJson( _result.data!, (json) => ServerStatus.fromJson(json as Map), ); } on Object catch (e, s) { errorLogger?.logError(e, s, _options); rethrow; } 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 _options = _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 _result = await _dio.fetch>(_options); late ApiResult _value; try { _value = ApiResult.fromJson( _result.data!, (json) => Token.fromJson(json as Map), ); } on Object catch (e, s) { errorLogger?.logError(e, s, _options); rethrow; } 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 _options = _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 _result = await _dio.fetch>(_options); late ApiResult _value; try { _value = ApiResult.fromJson( _result.data!, (json) => Token.fromJson(json as Map), ); } on Object catch (e, s) { errorLogger?.logError(e, s, _options); rethrow; } 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 _options = _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 _result = await _dio.fetch>(_options); late ApiResult _value; try { _value = ApiResult.fromJson( _result.data!, (json) => json as bool, ); } on Object catch (e, s) { errorLogger?.logError(e, s, _options); rethrow; } return _value; } @override Future> deleteTokenById( int id, { CancelToken? cancel, }) async { final _extra = {}; final queryParameters = {}; queryParameters.removeWhere((k, v) => v == null); final _headers = {}; final _data = FormData(); _data.fields.add(MapEntry( 'id', id.toString(), )); final _options = _setStreamType>(Options( method: 'DELETE', headers: _headers, extra: _extra, contentType: 'multipart/form-data', ) .compose( _dio.options, '/token/manage', queryParameters: queryParameters, data: _data, cancelToken: cancel, ) .copyWith( baseUrl: _combineBaseUrls( _dio.options.baseUrl, baseUrl, ))); final _result = await _dio.fetch>(_options); late ApiResult _value; try { _value = ApiResult.fromJson( _result.data!, (json) => json as bool, ); } on Object catch (e, s) { errorLogger?.logError(e, s, _options); rethrow; } 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 _options = _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 _result = await _dio.fetch>(_options); late ApiResult _value; try { _value = ApiResult.fromJson( _result.data!, (json) => TokenWithUserInfo.fromJson(json as Map), ); } on Object catch (e, s) { errorLogger?.logError(e, s, _options); rethrow; } return _value; } @override Future>> getTokens({ int? uid, int? offset, int? limit, bool? allUser, CancelToken? cancel, }) async { final _extra = {}; final queryParameters = { r'uid': uid, r'offset': offset, r'limit': limit, r'all_user': allUser, }; queryParameters.removeWhere((k, v) => v == null); final _headers = {}; const Map? _data = null; final _options = _setStreamType>>(Options( method: 'GET', headers: _headers, extra: _extra, ) .compose( _dio.options, '/token/manage', queryParameters: queryParameters, data: _data, cancelToken: cancel, ) .copyWith( baseUrl: _combineBaseUrls( _dio.options.baseUrl, baseUrl, ))); final _result = await _dio.fetch>(_options); late ApiResult> _value; try { _value = ApiResult>.fromJson( _result.data!, (json) => json is List ? json .map((i) => TokenWithoutToken.fromJson(i as Map)) .toList() : List.empty(), ); } on Object catch (e, s) { errorLogger?.logError(e, s, _options); rethrow; } return _value; } @override Future> getSharedToken({CancelToken? cancel}) async { final _extra = {}; final queryParameters = {}; queryParameters.removeWhere((k, v) => v == null); final _headers = {}; const Map? _data = null; final _options = _setStreamType>(Options( method: 'GET', headers: _headers, extra: _extra, ) .compose( _dio.options, '/shared_token', queryParameters: queryParameters, data: _data, cancelToken: cancel, ) .copyWith( baseUrl: _combineBaseUrls( _dio.options.baseUrl, baseUrl, ))); final _result = await _dio.fetch>(_options); late ApiResult _value; try { _value = ApiResult.fromJson( _result.data!, (json) => SharedToken.fromJson(json as Map), ); } on Object catch (e, s) { errorLogger?.logError(e, s, _options); rethrow; } 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 _options = _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 _result = await _dio.fetch>(_options); late List _value; try { _value = _result.data!.cast(); } on Object catch (e, s) { errorLogger?.logError(e, s, _options); rethrow; } 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 _options = _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 _result = await _dio.fetch>(_options); late ApiResult _value; try { _value = ApiResult.fromJson( _result.data!, (json) => EhFileExtend.fromJson(json as Map), ); } on Object catch (e, s) { errorLogger?.logError(e, s, _options); rethrow; } 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 _options = _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 _result = await _dio.fetch>(_options); late List _value; try { _value = _result.data!.cast(); } on Object catch (e, s) { errorLogger?.logError(e, s, _options); rethrow; } 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 _options = _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 _result = await _dio.fetch>(_options); late ApiResult _value; try { _value = ApiResult.fromJson( _result.data!, (json) => EhFiles.fromJson(json as Map), ); } on Object catch (e, s) { errorLogger?.logError(e, s, _options); rethrow; } return _value; } @override Future>> getThumbnail( int id, { int? max, int? width, int? height, int? quality, bool? force, ThumbnailGenMethod? 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 _options = _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 _result = await _dio.fetch>(_options); late List _value; try { _value = _result.data!.cast(); } on Object catch (e, s) { errorLogger?.logError(e, s, _options); rethrow; } 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 _options = _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 _result = await _dio.fetch>(_options); late ApiResult _value; try { _value = ApiResult.fromJson( _result.data!, (json) => GalleryData.fromJson(json as Map), ); } on Object catch (e, s) { errorLogger?.logError(e, s, _options); rethrow; } return _value; } @override Future> _getGalleriesMeta( String gids, { CancelToken? cancel, }) async { final _extra = {}; final queryParameters = {}; queryParameters.removeWhere((k, v) => v == null); final _headers = {}; const Map? _data = null; final _options = _setStreamType>(Options( method: 'GET', headers: _headers, extra: _extra, ) .compose( _dio.options, '/gallery/meta/${gids}', queryParameters: queryParameters, data: _data, cancelToken: cancel, ) .copyWith( baseUrl: _combineBaseUrls( _dio.options.baseUrl, baseUrl, ))); final _result = await _dio.fetch>(_options); late ApiResult _value; try { _value = ApiResult.fromJson( _result.data!, (json) => GMetaInfos.fromJson(json as Map), ); } on Object catch (e, s) { errorLogger?.logError(e, s, _options); rethrow; } return _value; } @override Future> _getGalleriesThumbnail( String gids, { CancelToken? cancel, }) async { final _extra = {}; final queryParameters = {}; queryParameters.removeWhere((k, v) => v == null); final _headers = {}; const Map? _data = null; final _options = _setStreamType>(Options( method: 'GET', headers: _headers, extra: _extra, ) .compose( _dio.options, '/gallery/thumbnail/${gids}', queryParameters: queryParameters, data: _data, cancelToken: cancel, ) .copyWith( baseUrl: _combineBaseUrls( _dio.options.baseUrl, baseUrl, ))); final _result = await _dio.fetch>(_options); late ApiResult _value; try { _value = ApiResult.fromJson( _result.data!, (json) => GalleryThumbnails.fromJson(json as Map), ); } on Object catch (e, s) { errorLogger?.logError(e, s, _options); rethrow; } return _value; } @override Future>> listGalleries({ bool? all, int? offset, int? limit, bool? sortByGid, String? uploader, String? tag, String? category, 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, r'category': category, }; queryParameters.removeWhere((k, v) => v == null); final _headers = {}; const Map? _data = null; final _options = _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 _result = await _dio.fetch>(_options); late ApiResult> _value; try { _value = ApiResult>.fromJson( _result.data!, (json) => json is List ? json .map((i) => GMeta.fromJson(i as Map)) .toList() : List.empty(), ); } on Object catch (e, s) { errorLogger?.logError(e, s, _options); rethrow; } return _value; } @override Future> deleteSharedToken( String token, String type, { CancelToken? cancel, }) async { final _extra = {}; final queryParameters = {}; queryParameters.removeWhere((k, v) => v == null); final _headers = {}; final _data = FormData(); _data.fields.add(MapEntry( 'token', token, )); _data.fields.add(MapEntry( 'type', type, )); final _options = _setStreamType>(Options( method: 'DELETE', headers: _headers, extra: _extra, contentType: 'multipart/form-data', ) .compose( _dio.options, '/shared_token', queryParameters: queryParameters, data: _data, cancelToken: cancel, ) .copyWith( baseUrl: _combineBaseUrls( _dio.options.baseUrl, baseUrl, ))); final _result = await _dio.fetch>(_options); late ApiResult _value; try { _value = ApiResult.fromJson( _result.data!, (json) => json as bool, ); } on Object catch (e, s) { errorLogger?.logError(e, s, _options); rethrow; } return _value; } @override Future> shareGallery( int gid, { int? expired, String type = "gallery", 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 (expired != null) { _data.fields.add(MapEntry( 'expired', expired.toString(), )); } _data.fields.add(MapEntry( 'type', type, )); final _options = _setStreamType>(Options( method: 'PUT', headers: _headers, extra: _extra, contentType: 'multipart/form-data', ) .compose( _dio.options, '/shared_token', queryParameters: queryParameters, data: _data, cancelToken: cancel, ) .copyWith( baseUrl: _combineBaseUrls( _dio.options.baseUrl, baseUrl, ))); final _result = await _dio.fetch>(_options); late ApiResult _value; try { _value = ApiResult.fromJson( _result.data!, (json) => SharedTokenWithUrl.fromJson(json as Map), ); } on Object catch (e, s) { errorLogger?.logError(e, s, _options); rethrow; } return _value; } @override Future> updateShareGallery( String token, { int? expired, String type = "gallery", 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 (expired != null) { _data.fields.add(MapEntry( 'expired', expired.toString(), )); } _data.fields.add(MapEntry( 'type', type, )); final _options = _setStreamType>(Options( method: 'PATCH', headers: _headers, extra: _extra, contentType: 'multipart/form-data', ) .compose( _dio.options, '/shared_token', queryParameters: queryParameters, data: _data, cancelToken: cancel, ) .copyWith( baseUrl: _combineBaseUrls( _dio.options.baseUrl, baseUrl, ))); final _result = await _dio.fetch>(_options); late ApiResult _value; try { _value = ApiResult.fromJson( _result.data!, (json) => SharedTokenWithUrl.fromJson(json as Map), ); } on Object catch (e, s) { errorLogger?.logError(e, s, _options); rethrow; } return _value; } @override Future>> listShareGalleries({ int? gid, String type = "gallery", CancelToken? cancel, }) async { final _extra = {}; final queryParameters = { r'gid': gid, r'type': type, }; queryParameters.removeWhere((k, v) => v == null); final _headers = {}; const Map? _data = null; final _options = _setStreamType>>(Options( method: 'GET', headers: _headers, extra: _extra, ) .compose( _dio.options, '/shared_token/list', queryParameters: queryParameters, data: _data, cancelToken: cancel, ) .copyWith( baseUrl: _combineBaseUrls( _dio.options.baseUrl, baseUrl, ))); final _result = await _dio.fetch>(_options); late ApiResult> _value; try { _value = ApiResult>.fromJson( _result.data!, (json) => json is List ? json .map((i) => SharedTokenWithUrl.fromJson(i as Map)) .toList() : List.empty(), ); } on Object catch (e, s) { errorLogger?.logError(e, s, _options); rethrow; } 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 _options = _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 _result = await _dio.fetch>(_options); late ApiResult _value; try { _value = ApiResult.fromJson( _result.data!, (json) => Tags.fromJson(json as Map), ); } on Object catch (e, s) { errorLogger?.logError(e, s, _options); rethrow; } 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 _options = _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 _result = await _dio.fetch>(_options); late ApiResult> _value; try { _value = ApiResult>.fromJson( _result.data!, (json) => json is List ? json .map((i) => Tag.fromJson(i as Map)) .toList() : List.empty(), ); } on Object catch (e, s) { errorLogger?.logError(e, s, _options); rethrow; } 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 _options = _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 _result = await _dio.fetch(_options); 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 _options = _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 _result = await _dio.fetch>(_options); late ApiResult _value; try { _value = ApiResult.fromJson( _result.data!, (json) => json as dynamic, ); } on Object catch (e, s) { errorLogger?.logError(e, s, _options); rethrow; } 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 _options = _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 _result = await _dio.fetch>(_options); late ApiResult _value; try { _value = ApiResult.fromJson( _result.data!, (json) => json as dynamic, ); } on Object catch (e, s) { errorLogger?.logError(e, s, _options); rethrow; } 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 _options = _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 _result = await _dio.fetch>(_options); late ApiResult _value; try { _value = ApiResult.fromJson( _result.data!, (json) => json as dynamic, ); } on Object catch (e, s) { errorLogger?.logError(e, s, _options); rethrow; } 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 _options = _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 _result = await _dio.fetch>(_options); late Config _value; try { _value = Config.fromJson(_result.data!); } on Object catch (e, s) { errorLogger?.logError(e, s, _options); rethrow; } 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 _options = _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 _result = await _dio.fetch>(_options); late UpdateConfigResult _value; try { _value = UpdateConfigResult.fromJson(_result.data!); } on Object catch (e, s) { errorLogger?.logError(e, s, _options); rethrow; } 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 _options = _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 _result = await _dio.fetch>(_options); late ApiResult _value; try { _value = ApiResult.fromJson( _result.data!, (json) => EHMetaInfo.fromJson(json as Map), ); } on Object catch (e, s) { errorLogger?.logError(e, s, _options); rethrow; } 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 _options = _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 _result = await _dio.fetch>(_options); late ApiResult _value; try { _value = ApiResult.fromJson( _result.data!, (json) => Task.fromJson(json as Map), ); } on Object catch (e, s) { errorLogger?.logError(e, s, _options); rethrow; } return _value; } @override Future> createExportZipTask( int gid, { ExportZipConfig? cfg, String t = "export_zip", 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( 'cfg', jsonEncode(cfg ?? {}), )); _data.fields.add(MapEntry( 'type', t, )); final _options = _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 _result = await _dio.fetch>(_options); late ApiResult _value; try { _value = ApiResult.fromJson( _result.data!, (json) => Task.fromJson(json as Map), ); } on Object catch (e, s) { errorLogger?.logError(e, s, _options); rethrow; } return _value; } @override Future> createImportTask( int gid, String token, { ImportConfig? cfg, String t = "import", 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 _options = _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 _result = await _dio.fetch>(_options); late ApiResult _value; try { _value = ApiResult.fromJson( _result.data!, (json) => Task.fromJson(json as Map), ); } on Object catch (e, s) { errorLogger?.logError(e, s, _options); rethrow; } return _value; } @override Future> createUpdateMeiliSearchDataTask({ int? gid, String t = "update_meili_search_data", CancelToken? cancel, }) async { final _extra = {}; final queryParameters = {}; queryParameters.removeWhere((k, v) => v == null); final _headers = {}; final _data = FormData(); if (gid != null) { _data.fields.add(MapEntry( 'gid', gid.toString(), )); } _data.fields.add(MapEntry( 'type', t, )); final _options = _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 _result = await _dio.fetch>(_options); late ApiResult _value; try { _value = ApiResult.fromJson( _result.data!, (json) => Task.fromJson(json as Map), ); } on Object catch (e, s) { errorLogger?.logError(e, s, _options); rethrow; } return _value; } @override Future> createUpdateTagTranslationTask({ UpdateTagTranslationConfig? cfg, String t = "update_tag_translation", CancelToken? cancel, }) async { final _extra = {}; final queryParameters = {}; queryParameters.removeWhere((k, v) => v == null); final _headers = {}; final _data = FormData(); _data.fields.add(MapEntry( 'cfg', jsonEncode(cfg ?? {}), )); _data.fields.add(MapEntry( 'type', t, )); final _options = _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 _result = await _dio.fetch>(_options); late ApiResult _value; try { _value = ApiResult.fromJson( _result.data!, (json) => Task.fromJson(json as Map), ); } on Object catch (e, s) { errorLogger?.logError(e, s, _options); rethrow; } return _value; } @override Future> getDefaultDownloadConfig( {CancelToken? cancel}) async { final _extra = {}; final queryParameters = {}; queryParameters.removeWhere((k, v) => v == null); final _headers = {}; const Map? _data = null; final _options = _setStreamType>(Options( method: 'GET', headers: _headers, extra: _extra, ) .compose( _dio.options, '/task/download_cfg', queryParameters: queryParameters, data: _data, cancelToken: cancel, ) .copyWith( baseUrl: _combineBaseUrls( _dio.options.baseUrl, baseUrl, ))); final _result = await _dio.fetch>(_options); late ApiResult _value; try { _value = ApiResult.fromJson( _result.data!, (json) => DownloadConfig.fromJson(json as Map), ); } on Object catch (e, s) { errorLogger?.logError(e, s, _options); rethrow; } return _value; } @override Future> getDefaultExportZipConfig( {CancelToken? cancel}) async { final _extra = {}; final queryParameters = {}; queryParameters.removeWhere((k, v) => v == null); final _headers = {}; const Map? _data = null; final _options = _setStreamType>(Options( method: 'GET', headers: _headers, extra: _extra, ) .compose( _dio.options, '/task/export_zip_cfg', queryParameters: queryParameters, data: _data, cancelToken: cancel, ) .copyWith( baseUrl: _combineBaseUrls( _dio.options.baseUrl, baseUrl, ))); final _result = await _dio.fetch>(_options); late ApiResult _value; try { _value = ApiResult.fromJson( _result.data!, (json) => ExportZipConfig.fromJson(json as Map), ); } on Object catch (e, s) { errorLogger?.logError(e, s, _options); rethrow; } return _value; } @override Future> getDefaultImportConfig( {CancelToken? cancel}) async { final _extra = {}; final queryParameters = {}; queryParameters.removeWhere((k, v) => v == null); final _headers = {}; const Map? _data = null; final _options = _setStreamType>(Options( method: 'GET', headers: _headers, extra: _extra, ) .compose( _dio.options, '/task/import_cfg', queryParameters: queryParameters, data: _data, cancelToken: cancel, ) .copyWith( baseUrl: _combineBaseUrls( _dio.options.baseUrl, baseUrl, ))); final _result = await _dio.fetch>(_options); late ApiResult _value; try { _value = ApiResult.fromJson( _result.data!, (json) => DefaultImportConfig.fromJson(json as Map), ); } on Object catch (e, s) { errorLogger?.logError(e, s, _options); rethrow; } return _value; } @override Future> queryLog({ int? page, int? limit, int? offset, String? type, int? minLevel, String? allowedLevel, CancelToken? cancel, }) async { final _extra = {}; final queryParameters = { r'page': page, r'limit': limit, r'offset': offset, r'type': type, r'min_level': minLevel, r'allowed_level': allowedLevel, }; queryParameters.removeWhere((k, v) => v == null); final _headers = {}; const Map? _data = null; final _options = _setStreamType>(Options( method: 'GET', headers: _headers, extra: _extra, ) .compose( _dio.options, '/log', queryParameters: queryParameters, data: _data, cancelToken: cancel, ) .copyWith( baseUrl: _combineBaseUrls( _dio.options.baseUrl, baseUrl, ))); final _result = await _dio.fetch>(_options); late ApiResult _value; try { _value = ApiResult.fromJson( _result.data!, (json) => LogEntries.fromJson(json as Map), ); } on Object catch (e, s) { errorLogger?.logError(e, s, _options); rethrow; } return _value; } @override Future> clearLog({ String? type, int? minLevel, int? maxLevel, String? deletedLevel, String? endTime, CancelToken? cancel, }) async { final _extra = {}; final queryParameters = {}; queryParameters.removeWhere((k, v) => v == null); final _headers = {}; final _data = FormData(); if (type != null) { _data.fields.add(MapEntry( 'type', type, )); } if (minLevel != null) { _data.fields.add(MapEntry( 'min_level', minLevel.toString(), )); } if (maxLevel != null) { _data.fields.add(MapEntry( 'max_level', maxLevel.toString(), )); } if (deletedLevel != null) { _data.fields.add(MapEntry( 'deleted_level', deletedLevel, )); } if (endTime != null) { _data.fields.add(MapEntry( 'end_time', endTime, )); } final _options = _setStreamType>(Options( method: 'DELETE', headers: _headers, extra: _extra, contentType: 'multipart/form-data', ) .compose( _dio.options, '/log', queryParameters: queryParameters, data: _data, cancelToken: cancel, ) .copyWith( baseUrl: _combineBaseUrls( _dio.options.baseUrl, baseUrl, ))); final _result = await _dio.fetch>(_options); late ApiResult _value; try { _value = ApiResult.fromJson( _result.data!, (json) => json as bool, ); } on Object catch (e, s) { errorLogger?.logError(e, s, _options); rethrow; } return _value; } @override Future> getLog( int id, { CancelToken? cancel, }) async { final _extra = {}; final queryParameters = {}; queryParameters.removeWhere((k, v) => v == null); final _headers = {}; const Map? _data = null; final _options = _setStreamType>(Options( method: 'GET', headers: _headers, extra: _extra, ) .compose( _dio.options, '/log/${id}', queryParameters: queryParameters, data: _data, cancelToken: cancel, ) .copyWith( baseUrl: _combineBaseUrls( _dio.options.baseUrl, baseUrl, ))); final _result = await _dio.fetch>(_options); late ApiResult _value; try { _value = ApiResult.fromJson( _result.data!, (json) => LogEntry.fromJson(json as Map), ); } on Object catch (e, s) { errorLogger?.logError(e, s, _options); rethrow; } return _value; } @override Future> deleteLog( int id, { CancelToken? cancel, }) async { final _extra = {}; final queryParameters = {}; queryParameters.removeWhere((k, v) => v == null); final _headers = {}; const Map? _data = null; final _options = _setStreamType>(Options( method: 'DELETE', headers: _headers, extra: _extra, contentType: 'multipart/form-data', ) .compose( _dio.options, '/log/${id}', queryParameters: queryParameters, data: _data, cancelToken: cancel, ) .copyWith( baseUrl: _combineBaseUrls( _dio.options.baseUrl, baseUrl, ))); final _result = await _dio.fetch>(_options); late ApiResult _value; try { _value = ApiResult.fromJson( _result.data!, (json) => json as bool, ); } on Object catch (e, s) { errorLogger?.logError(e, s, _options); rethrow; } 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(); } }