Files
eatvio_app/lib/features/diary/services/diary_service.dart
mso7nueh cf45e14bb7 Merge remote-tracking branch 'refs/remotes/origin/calendar'
# Conflicts:
#	lib/app_router.dart
#	lib/features/calendar/services/calendar_service.dart
#	lib/features/diary/presentation/bloc/diary_bloc.dart
#	lib/features/diary/services/diary_service.dart
#	lib/locator_service.dart
#	lib/main.dart
2024-07-31 13:49:24 +03:00

101 lines
2.9 KiB
Dart

import 'dart:io';
import 'package:dio/dio.dart';
import 'package:eatvio_app/features/diary/models/diary_model.dart';
import 'package:eatvio_app/features/diary/models/portion.dart';
import 'package:eatvio_app/features/diary/models/product.dart';
import 'package:retrofit/retrofit.dart';
part 'diary_service.g.dart';
@RestApi()
abstract class DiaryService {
factory DiaryService(Dio dio, {String baseUrl}) = _DiaryService;
@GET('/api/diary/index')
Future<Map<String, int>> getDiaryID();
@GET('/api/diary/{id}/show/')
Future<Map<String, DiaryModel>> getDiary(@Path() int id);
@GET('/api/diary/{id}/dailyNutritionData/')
Future<dynamic> getChart(@Path() int id);
@GET('/api/diary/product_nutritional_values/filter')
Future<Map<String, List<Product>>> getInputProduct(@Query('name') String name);
@POST('/api/diary/{diary_id}/meal/{meal_id}/satiety/fill')
Future<Map<String, int>> sendSatietyData(
@Path() int diary_id,
@Path() int meal_id,
@Query('satiety') int satiety,
);
@POST('/api/diary/{diary_id}/meal/{meal_id}/mood/fill')
Future<Map<String, int>> sendMoodData(
@Path() int diary_id,
@Path() int meal_id,
@Query('mood') int mood,
);
@POST('/api/diary/{diary_id}/wakeup/fill')
Future<DiaryModel> sendWakeupData(
@Path() int diary_id,
@Query('wakeup') String wakeup,
);
@POST('/api/diary/{diary_id}/retire/fill')
Future<DiaryModel> sendRetireData(
@Path() int diary_id,
@Query('retire') String retire,
);
@POST('/api/diary/{diary_id}/meal/{meal_id}/portions/create')
Future<Map<String, Portion>> sendPortionData(
@Path() int diary_id,
@Path() int meal_id,
@Query('product_name') String product_name,
@Query('portion') String portion,
@Query('quantity') int quantity,
);
@POST('/api/diary/{diary_id}/meal/{meal_id}/photo/upload')
Future<void> uploadImage(
@Path() int diary_id,
@Path() int meal_id,
@Part() File photo,
);
@POST('/api/diary/product_nutritional_values/sendToModeration')
Future<Map<String, String>> sendModerationData(
@Query('name') String product_name,
@Query('energy_on_100gr') double energy_on_100gr,
@Query('proteins_on_100gr') double proteins_on_100gr,
@Query('fats_on_100gr') double fats_on_100gr,
@Query('carbohydrates_on_100gr') double carbohydrates_on_100gr,
);
@POST('/api/diary/{diary_id}/finishDay')
Future<void> sendFinishDay(
@Path() int diary_id,
//@Query('wakeUp') String wakeup,
//@Query('retire') String retire,
//@Query('comment') String comment,
);
@DELETE('/api/diary/{diary_id}/meal/{meal_id}/portions/{portion_id}/delete')
Future<void> sendRemovePortionData(
@Path() int diary_id,
@Path() int meal_id,
@Path() int portion_id,
);
@DELETE('/api/diary/{diary_id}/meal/{meal_id}/photo/delete')
Future<void> sendRemovePhotoData(
@Path() int diary_id,
@Path() int meal_id,
@Query('path') String path,
@Query('id') int photo_id,
);
}