forked from eatvio/eatvio_app
159 lines
5.2 KiB
Dart
159 lines
5.2 KiB
Dart
import 'dart:io';
|
|
import 'package:dio/dio.dart';
|
|
import 'package:eatvio_app/features/diary/models/consultant_comment_model.dart';
|
|
import 'package:eatvio_app/features/diary/models/consultant_review_model.dart';
|
|
import 'package:eatvio_app/features/diary/models/diary_day_model.dart';
|
|
import 'package:eatvio_app/features/diary/models/finish_diary_day_model.dart';
|
|
import 'package:eatvio_app/features/diary/models/nutrition_model.dart';
|
|
import 'package:eatvio_app/features/glossary/models/glossary_model.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/{date}')
|
|
Future<List<DiaryDayModel>> getDiaryIndexByDate({
|
|
@Path('date') required String date,
|
|
});
|
|
|
|
@GET('/api/diary/index/{date}')
|
|
Future<List<DiaryFutureDietDayModel>> getDiaryIndexByDateForDietOnly({
|
|
@Path('date') required String date,
|
|
});
|
|
|
|
@GET('/api/diary/{diary}/show')
|
|
Future<DiaryDayWrapperModel> getDiaryDay({
|
|
@Path('diary') required int diary,
|
|
});
|
|
|
|
@GET('/api/diary/{diary}/dailyNutritionData')
|
|
Future<NutritionDataModel> getNutrition({
|
|
@Path('diary') required int diary,
|
|
});
|
|
|
|
@POST('/api/diary/{diary}/meals/{type_no}/photo/upload')
|
|
@MultiPart()
|
|
Future<void> uploadPhotoOfMeal({
|
|
@Path('diary') required int diary,
|
|
@Path('type_no') required int typeNo,
|
|
@Part(name: 'photo') required File photo,
|
|
});
|
|
|
|
@DELETE('/api/diary/{diary}/meals/{type_no}/photo/{user_attachment}/delete')
|
|
Future<void> deletePhotoOfMeal({
|
|
@Path('diary') required int diaryId,
|
|
@Path('type_no') required int typeNo,
|
|
@Path('user_attachment') required int userAttachment,
|
|
});
|
|
|
|
@POST('/api/diary/{diary}/meals/{type_no}/portion/create')
|
|
Future<void> addProductToMeal({
|
|
@Path('diary') required int diary,
|
|
@Path('type_no') required int typeNo,
|
|
@Part(name: 'product_name') required String productName,
|
|
@Part(name: 'portion') required String portion,
|
|
@Part(name: 'quantity') required int quantity,
|
|
@Part(name: 'product_nutritional_value_id') int? productNutritionalValueId,
|
|
});
|
|
|
|
@PUT('/api/diary/{diary}/meals/{type_no}/portions/{portionModel}/update')
|
|
Future<void> updateProductInMeal({
|
|
@Path('diary') required int diary,
|
|
@Path('type_no') required int typeNo,
|
|
@Path('portionModel') required int portionModel,
|
|
@Body() required Map<String, dynamic> productInMeal,
|
|
});
|
|
|
|
@POST('/api/diary/{diary}/meals/{type_no}/{portionModel}/mark_eaten')
|
|
Future<void> markEaten({
|
|
@Path('diary') required int diary,
|
|
@Path('type_no') required int typeNo,
|
|
@Path('portionModel') required int portionModel,
|
|
});
|
|
|
|
@POST('/api/diary/{diary}/meals/{type_no}/{portionModel}/unmark_eaten')
|
|
Future<void> unmarkEaten({
|
|
@Path('diary') required int diary,
|
|
@Path('type_no') required int typeNo,
|
|
@Path('portionModel') required int portionModel,
|
|
});
|
|
|
|
@POST('/api/diary/{diary}/meals/{type_no}/portions/{portionModel}/restore')
|
|
Future<void> restore({
|
|
@Path('diary') required int diary,
|
|
@Path('type_no') required int typeNo,
|
|
@Path('portionModel') required int portionModel,
|
|
});
|
|
|
|
@DELETE('/api/diary/{diary}/meals/{type_no}/portions/{portionModel}/delete')
|
|
Future<void> deleteProductFromMeal({
|
|
@Path('diary') required int diary,
|
|
@Path('type_no') required int typeNo,
|
|
@Path('portionModel') required int portionModel,
|
|
});
|
|
|
|
@POST('/api/diary/{diary}/finishDay')
|
|
Future<void> finishDiaryDay({
|
|
@Path('diary') required int diary,
|
|
@Body(nullToAbsent: true) required FinishDiaryDayModel finishDiaryDayModel,
|
|
});
|
|
|
|
@POST('/api/diary/{diary}/meals/{type_no}/satiety/fill')
|
|
Future<void> fillSatiety({
|
|
@Path('diary') required int diary,
|
|
@Path('type_no') required int typeNo,
|
|
@Field() required int satiety,
|
|
});
|
|
|
|
@POST('/api/diary/{diary}/meals/{type_no}/mood/fill')
|
|
Future<void> fillMood({
|
|
@Path('diary') required int diary,
|
|
@Path('type_no') required int typeNo,
|
|
@Field() required int mood,
|
|
});
|
|
|
|
@POST('/api/diary/{diary}/meals/{type_no}/time/fill')
|
|
Future<void> fillTime({
|
|
@Path('diary') required int diary,
|
|
@Path('type_no') required int typeNo,
|
|
@Field() required String time,
|
|
});
|
|
|
|
@POST('/api/diary/{diary}/wakeUp/fill')
|
|
Future<void> fillWakeup({
|
|
@Path('diary') required int diary,
|
|
@Field() required String wakeUp,
|
|
});
|
|
|
|
@POST('/api/diary/{diary}/retire/fill')
|
|
Future<void> fillRetire({
|
|
@Path('diary') required int diary,
|
|
@Field() required String retire,
|
|
});
|
|
|
|
@POST('/api/diary/product_nutritional_values/sendToModeration')
|
|
Future<GlossaryModerationModel> sendProductToModeration({
|
|
@Body() required Map<String, dynamic> data,
|
|
});
|
|
|
|
@POST('/api/diary/{id}/consultant/comment')
|
|
Future<void> commentUserDay({
|
|
@Path('id') required int id,
|
|
@Body() required ConsultantCommentModel body,
|
|
});
|
|
|
|
@GET('/api/chosen_plans/{planId}/{diaryId}/comments/show')
|
|
Future<ConsultantReviewModel> getDiaryComments({
|
|
@Path() required int planId,
|
|
@Path() required int diaryId,
|
|
});
|
|
|
|
@POST('/api/diary/{diaryId}/consultant/comment/view')
|
|
Future<void> viewCommentOfDiaryDayByConsultant({
|
|
@Path() required int diaryId,
|
|
});
|
|
}
|