mirror of
https://github.com/lifegpc/eh_downloader_flutter.git
synced 2026-07-08 01:30:28 +08:00
Update
This commit is contained in:
@@ -19,4 +19,18 @@ class ApiResult<T> {
|
||||
final String? error;
|
||||
Map<String, dynamic> toJson(Object? Function(T) toJsonT) =>
|
||||
_$ApiResultToJson(this, toJsonT);
|
||||
T unwrap() {
|
||||
if (ok) {
|
||||
return data!;
|
||||
} else {
|
||||
return throw error!;
|
||||
}
|
||||
}
|
||||
(int, String) unwrapErr() {
|
||||
if (ok) {
|
||||
return throw 'unwrap_err called on ok ApiResult';
|
||||
} else {
|
||||
return (status, error!);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -30,10 +30,11 @@ abstract class _EHApi {
|
||||
factory _EHApi(Dio dio, {required String baseUrl}) = __EHApi;
|
||||
|
||||
@PUT('/user')
|
||||
@MultiPart()
|
||||
Future<ApiResult<int>> createUser(
|
||||
@Query("name") String name, @Query("password") String password,
|
||||
{@Query("is_admin") bool? isAdmin,
|
||||
@Query("permissions") int? permissions});
|
||||
@Part(name: "name") String name, @Part(name: "password") String password,
|
||||
{@Part(name: "is_admin") bool? isAdmin,
|
||||
@Part(name: "permissions") int? permissions});
|
||||
@GET('/user')
|
||||
Future<ApiResult<BUser>> getUser(
|
||||
{@Query("id") int? id, @Query("username") String? username});
|
||||
@@ -42,19 +43,21 @@ abstract class _EHApi {
|
||||
Future<ApiResult<ServerStatus>> getStatus();
|
||||
|
||||
@PUT('/token')
|
||||
@MultiPart()
|
||||
// ignore: unused_element
|
||||
Future<ApiResult<Token>> _createToken(
|
||||
{@Query("username") required String username,
|
||||
@Query("password") required String password,
|
||||
@Query("t") required int t,
|
||||
{@Part(name: "username") required String username,
|
||||
@Part(name: "password") required String password,
|
||||
@Part(name: "t") required int t,
|
||||
// ignore: unused_element
|
||||
@Query("set_cookie") bool? setCookie,
|
||||
@Part(name: "set_cookie") bool? setCookie,
|
||||
// ignore: unused_element
|
||||
@Query("http_only") bool? httpOnly,
|
||||
@Part(name: "http_only") bool? httpOnly,
|
||||
// ignore: unused_element
|
||||
@Query("secure") bool? secure});
|
||||
@Part(name: "secure") bool? secure});
|
||||
@DELETE('/token')
|
||||
Future<ApiResult<bool>> deleteToken({@Query("token") String? token});
|
||||
@MultiPart()
|
||||
Future<ApiResult<bool>> deleteToken({@Part(name: "token") String? token});
|
||||
@GET('/token')
|
||||
Future<ApiResult<TokenWithUserInfo>> getToken(
|
||||
{@Query("token") String? token});
|
||||
|
||||
@@ -26,20 +26,36 @@ class __EHApi implements _EHApi {
|
||||
int? permissions,
|
||||
}) async {
|
||||
const _extra = <String, dynamic>{};
|
||||
final queryParameters = <String, dynamic>{
|
||||
r'name': name,
|
||||
r'password': password,
|
||||
r'is_admin': isAdmin,
|
||||
r'permissions': permissions,
|
||||
};
|
||||
final queryParameters = <String, dynamic>{};
|
||||
queryParameters.removeWhere((k, v) => v == null);
|
||||
final _headers = <String, dynamic>{};
|
||||
final Map<String, dynamic>? _data = null;
|
||||
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<Map<String, dynamic>>(_setStreamType<ApiResult<int>>(Options(
|
||||
method: 'PUT',
|
||||
headers: _headers,
|
||||
extra: _extra,
|
||||
contentType: 'multipart/form-data',
|
||||
)
|
||||
.compose(
|
||||
_dio.options,
|
||||
@@ -136,22 +152,46 @@ class __EHApi implements _EHApi {
|
||||
bool? secure,
|
||||
}) async {
|
||||
const _extra = <String, dynamic>{};
|
||||
final queryParameters = <String, dynamic>{
|
||||
r'username': username,
|
||||
r'password': password,
|
||||
r't': t,
|
||||
r'set_cookie': setCookie,
|
||||
r'http_only': httpOnly,
|
||||
r'secure': secure,
|
||||
};
|
||||
final queryParameters = <String, dynamic>{};
|
||||
queryParameters.removeWhere((k, v) => v == null);
|
||||
final _headers = <String, dynamic>{};
|
||||
final Map<String, dynamic>? _data = null;
|
||||
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(),
|
||||
));
|
||||
}
|
||||
final _result = await _dio
|
||||
.fetch<Map<String, dynamic>>(_setStreamType<ApiResult<Token>>(Options(
|
||||
method: 'PUT',
|
||||
headers: _headers,
|
||||
extra: _extra,
|
||||
contentType: 'multipart/form-data',
|
||||
)
|
||||
.compose(
|
||||
_dio.options,
|
||||
@@ -174,15 +214,22 @@ class __EHApi implements _EHApi {
|
||||
@override
|
||||
Future<ApiResult<bool>> deleteToken({String? token}) async {
|
||||
const _extra = <String, dynamic>{};
|
||||
final queryParameters = <String, dynamic>{r'token': token};
|
||||
final queryParameters = <String, dynamic>{};
|
||||
queryParameters.removeWhere((k, v) => v == null);
|
||||
final _headers = <String, dynamic>{};
|
||||
final Map<String, dynamic>? _data = null;
|
||||
final _data = FormData();
|
||||
if (token != null) {
|
||||
_data.fields.add(MapEntry(
|
||||
'token',
|
||||
token,
|
||||
));
|
||||
}
|
||||
final _result = await _dio
|
||||
.fetch<Map<String, dynamic>>(_setStreamType<ApiResult<bool>>(Options(
|
||||
method: 'DELETE',
|
||||
headers: _headers,
|
||||
extra: _extra,
|
||||
contentType: 'multipart/form-data',
|
||||
)
|
||||
.compose(
|
||||
_dio.options,
|
||||
|
||||
Reference in New Issue
Block a user