Files
social-app/apps/lib/features/auth/data/auth_api.dart
T

56 lines
1.5 KiB
Dart
Raw Normal View History

2026-02-25 14:51:21 +08:00
import 'package:social_app/core/api/api_client.dart';
import 'models/signup_request.dart';
import 'models/login_request.dart';
import 'models/auth_response.dart';
class AuthApi {
final ApiClient _client;
static const _prefix = '/api/v1/auth';
2026-02-25 14:51:21 +08:00
AuthApi(this._client);
Future<SignupStartResponse> signupStart(SignupStartRequest request) async {
final response = await _client.post(
'$_prefix/signup/start',
data: request.toJson(),
);
return SignupStartResponse.fromJson(response.data);
}
Future<AuthResponse> signupVerify(SignupVerifyRequest request) async {
final response = await _client.post(
'$_prefix/signup/verify',
data: request.toJson(),
);
return AuthResponse.fromJson(response.data);
}
Future<SignupStartResponse> signupResend(SignupResendRequest request) async {
final response = await _client.post(
'$_prefix/signup/resend',
data: request.toJson(),
);
return SignupStartResponse.fromJson(response.data);
}
Future<AuthResponse> login(LoginRequest request) async {
final response = await _client.post(
'$_prefix/login',
data: request.toJson(),
);
return AuthResponse.fromJson(response.data);
}
Future<AuthResponse> refresh(RefreshRequest request) async {
final response = await _client.post(
'$_prefix/refresh',
data: request.toJson(),
);
return AuthResponse.fromJson(response.data);
}
Future<void> logout(LogoutRequest request) async {
await _client.post('$_prefix/logout', data: request.toJson());
}
}