feat: 切换邮箱认证并重构前后端启动与门禁
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
import '../../../../data/network/api_client.dart';
|
||||
import '../models/session_response.dart';
|
||||
|
||||
class AuthApi {
|
||||
AuthApi({required ApiClient apiClient}) : _apiClient = apiClient;
|
||||
|
||||
final ApiClient _apiClient;
|
||||
|
||||
Future<void> sendOtp({required String email}) async {
|
||||
await _apiClient.postNoContent(
|
||||
'/api/v1/auth/otp/send',
|
||||
data: {'email': email},
|
||||
);
|
||||
}
|
||||
|
||||
Future<SessionResponse> createEmailSession({
|
||||
required String email,
|
||||
required String token,
|
||||
}) async {
|
||||
final json = await _apiClient.postJson(
|
||||
'/api/v1/auth/email-session',
|
||||
data: {'email': email, 'token': token},
|
||||
);
|
||||
return SessionResponse.fromJson(json);
|
||||
}
|
||||
|
||||
Future<void> deleteSession({required String refreshToken}) async {
|
||||
await _apiClient.deleteNoContent(
|
||||
'/api/v1/auth/sessions',
|
||||
data: {'refresh_token': refreshToken},
|
||||
);
|
||||
}
|
||||
|
||||
Future<SessionResponse> refreshSession({required String refreshToken}) async {
|
||||
final json = await _apiClient.postJson(
|
||||
'/api/v1/auth/sessions/refresh',
|
||||
data: {'refresh_token': refreshToken},
|
||||
);
|
||||
return SessionResponse.fromJson(json);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user