Files
eatvio_app/lib/features/settings/services/settings_service.dart
2025-11-07 01:38:00 +03:00

32 lines
1.2 KiB
Dart

import 'package:dio/dio.dart';
import 'package:eatvio_app/features/profile/models/profile_model.dart';
import 'package:eatvio_app/features/settings/models/oauth_account_model.dart';
import 'package:eatvio_app/features/settings/models/oauth_attach_request.dart';
import 'package:eatvio_app/features/settings/models/profile_settings_model.dart';
import 'package:retrofit/retrofit.dart';
part 'settings_service.g.dart';
@RestApi()
abstract class SettingsService {
factory SettingsService(Dio dio, {String baseUrl}) = _SettingsService;
@GET('/api/profile/settings')
Future<ProfileSettingsModel> getProfileSettings();
@PUT('/api/profile/settings/update')
Future<ProfileSettingsModel> updateProfileSettings({@Body() required Map<String, dynamic> data});
@PUT('/api/profile/update')
Future<ProfileDetailsModel> updateProfileDetails({@Body() required Map<String, dynamic> data});
@GET('/api/oauth/accounts')
Future<OAuthAccountsResponseModel> getOAuthAccounts();
@POST('/api/oauth/attach')
Future<void> linkOAuthAccount(@Body() OAuthAttachRequest request);
@DELETE('/api/oauth/accounts/{provider}')
Future<void> unlinkOAuthAccount(@Path('provider') String provider);
}