feat: 添加账号删除功能
This commit is contained in:
@@ -1,3 +1,6 @@
|
||||
import 'package:dio/dio.dart';
|
||||
|
||||
import '../../../../core/network/api_problem.dart';
|
||||
import '../../../../data/network/api_client.dart';
|
||||
import '../models/session_response.dart';
|
||||
|
||||
@@ -25,9 +28,32 @@ class AuthApi {
|
||||
}
|
||||
|
||||
Future<void> deleteSession({required String refreshToken}) async {
|
||||
await _apiClient.deleteNoContent(
|
||||
final response = await _apiClient.rawDio.delete<Map<String, dynamic>>(
|
||||
'/api/v1/auth/sessions',
|
||||
data: {'refresh_token': refreshToken},
|
||||
options: Options(
|
||||
validateStatus: (status) => status != null && status < 500,
|
||||
),
|
||||
);
|
||||
final status = response.statusCode ?? 500;
|
||||
if (status == 204 || status == 401) {
|
||||
return;
|
||||
}
|
||||
|
||||
final data = response.data;
|
||||
if (data is Map<String, dynamic>) {
|
||||
throw ApiProblem(
|
||||
status: status,
|
||||
title: (data['title'] as String?) ?? 'Request failed',
|
||||
detail: (data['detail'] as String?) ?? '',
|
||||
code: data['code'] as String?,
|
||||
);
|
||||
}
|
||||
|
||||
throw ApiProblem(
|
||||
status: status,
|
||||
title: 'Request failed',
|
||||
detail: 'Failed to delete session',
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user