Files
eatvio_app/lib/features/profile/services/profile_service.dart
2024-10-24 16:59:51 +03:00

63 lines
2.0 KiB
Dart

import 'package:dio/dio.dart';
import 'package:eatvio_app/features/feed/models/feed_blog_post_model.dart';
import 'package:eatvio_app/features/profile/models/circumference_model.dart';
import 'package:eatvio_app/features/profile/models/profile_model.dart';
import 'package:eatvio_app/features/profile/models/weight_model.dart';
import 'package:retrofit/retrofit.dart';
part 'profile_service.g.dart';
@RestApi()
abstract class ProfileService {
factory ProfileService(Dio dio, {String baseUrl}) = _ProfileService;
@GET('/api/profile/show/{slug}')
Future<ProfileModel> getProfileBySlug({
@Path() required String slug,
});
@GET('/api/profile/index')
Future<ProfileModel> getMyProfile();
@GET('/api/profile/detailz')
Future<ProfileDetailsModel> getMyProfileDetails();
@POST('/api/profile/addCircumference')
Future<void> addCircumference({
@Part(name: 'chest_circumference') required int chestCircumference,
@Part(name: 'waist_circumference') required int waistCircumference,
@Part(name: 'hip_circumference') required int hipCircumference,
});
@POST('/api/profile/addWeight')
Future<void> addWeight({
@Part() required double weight,
});
@GET('/api/blogPosts/search_by_author/{slug}')
Future<List<FeedBlogPostModel>> getBlogPostByAuthorSlug({
@Path() required String slug,
});
@GET('/api/profile/measure/weight/{period}')
Future<List<WeightModel>> getWeight({
@Path() required String period,
});
@GET('/api/profile/measure/weight/{period}/{slug}')
Future<List<WeightModel>> getWeightBySlug({
@Path() required String period,
@Path() required String slug,
});
@GET('/api/profile/measure/circumferences/{period}')
Future<List<CircumferenceModel>> getCircumferences({
@Path() required String period,
});
@GET('/api/profile/measure/circumferences/{period}/{user}')
Future<List<CircumferenceModel>> getCircumferencesBySlug({
@Path() required String period,
@Path() required String slug,
});
}