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 getProfileSettings(); @PUT('/api/profile/settings/update') Future updateProfileSettings({@Body() required Map data}); @PUT('/api/profile/update') Future updateProfileDetails({@Body() required Map data}); @GET('/api/oauth/accounts') Future getOAuthAccounts(); @POST('/api/oauth/attach') Future linkOAuthAccount(@Body() OAuthAttachRequest request); @DELETE('/api/oauth/accounts/{provider}') Future unlinkOAuthAccount(@Path('provider') String provider); }