feat(apps): add auth repository
This commit is contained in:
@@ -0,0 +1,55 @@
|
||||
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 = '/v1/auth';
|
||||
|
||||
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());
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user