Files
eatvio_app/lib/features/auth/services/auth_service.dart
2025-10-14 12:16:20 +03:00

27 lines
1.0 KiB
Dart

import 'package:dio/dio.dart';
import 'package:eatvio_app/features/auth/models/credentials_model.dart';
import 'package:eatvio_app/features/auth/models/oauth_model.dart';
import 'package:eatvio_app/features/auth/models/oauth_login_request.dart';
import 'package:eatvio_app/features/auth/models/token_model.dart';
import 'package:eatvio_app/features/auth/models/social_exchange_request.dart';
import 'package:retrofit/retrofit.dart';
part 'auth_service.g.dart';
@RestApi()
abstract class AuthService {
factory AuthService(Dio dio, {String? baseUrl}) = _AuthService;
@POST('/api/login')
Future<TokenModel> getTokenByCredentials({@Body() required CredentialsModel credentials});
@POST('/api/social/login')
Future<TokenModel> getTokenBySocial({@Body() required SocialExchangeRequest body});
@POST('/api/oauth/callback')
Future<Map<String, Object?>> getOAuthToken({@Body() required OAuthModel body});
@POST('/api/oauth/login')
Future<TokenModel> getOAuthLogin({@Body() required OAuthLoginRequest body});
}