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'; AuthApi(this._client); Future signupStart(SignupStartRequest request) async { final response = await _client.post( '$_prefix/signup/start', data: request.toJson(), ); return SignupStartResponse.fromJson(response.data); } Future signupVerify(SignupVerifyRequest request) async { final response = await _client.post( '$_prefix/signup/verify', data: request.toJson(), ); return AuthResponse.fromJson(response.data); } Future signupResend(SignupResendRequest request) async { final response = await _client.post( '$_prefix/signup/resend', data: request.toJson(), ); return SignupStartResponse.fromJson(response.data); } Future login(LoginRequest request) async { final response = await _client.post( '$_prefix/login', data: request.toJson(), ); return AuthResponse.fromJson(response.data); } Future refresh(RefreshRequest request) async { final response = await _client.post( '$_prefix/refresh', data: request.toJson(), ); return AuthResponse.fromJson(response.data); } Future logout(LogoutRequest request) async { await _client.post('$_prefix/logout', data: request.toJson()); } }