forked from eatvio/eatvio_app
86 lines
2.7 KiB
Dart
86 lines
2.7 KiB
Dart
import 'dart:io';
|
|
import 'package:dio/dio.dart';
|
|
import 'package:eatvio_app/features/diary/models/diary_day_model.dart';
|
|
import 'package:eatvio_app/features/diary/models/nutrition_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, // yyyy-mm-dd
|
|
});
|
|
|
|
@GET('/api/diary/{diary_id}/show')
|
|
Future<DiaryDayWrapperModel> getDiaryDay({
|
|
@Path('diary_id') required int index,
|
|
});
|
|
|
|
@GET('/api/diary/{diary_id}/dailyNutritionData')
|
|
Future<NutritionDataModel> getNutrition({
|
|
@Path('diary_id') required int index,
|
|
});
|
|
|
|
@POST('/api/diary/{diary_id}/meal/{meal_id}/photo/upload')
|
|
@MultiPart()
|
|
Future<void> uploadPhotoOfMeal({
|
|
@Path('diary_id') required int diaryId,
|
|
@Path('meal_id') required int mealId,
|
|
@Part(name: 'photo') required File photo,
|
|
});
|
|
|
|
@DELETE('/api/diary/{diary_id}/meal/{meal_id}/photo/delete')
|
|
Future<void> deletePhotoOfMeal({
|
|
@Path('diary_id') required int diaryId,
|
|
@Path('meal_id') required int mealId,
|
|
@Query('id') required int id,
|
|
@Query('path') required String path,
|
|
});
|
|
|
|
@POST('/api/diary/{diary_id}/meal/{meal_id}/portions/create')
|
|
Future<void> addProductToMeal({
|
|
@Path('diary_id') required int diaryId,
|
|
@Path('meal_id') required int mealId,
|
|
@Part(name: 'product_name') required String productName,
|
|
@Part(name: 'portion') required String portion,
|
|
@Part(name: 'quantity') required int quantity,
|
|
});
|
|
|
|
@PUT('/api/diary/{diary_id}/meal/{meal_id}/portions/{portion_id}/update')
|
|
Future<void> updateProductInMeal({
|
|
@Path('diary_id') required int diaryId,
|
|
@Path('meal_id') required int mealId,
|
|
@Path('portion_id') required int portionId,
|
|
@Body() required ProductInMeal productInMeal,
|
|
});
|
|
|
|
@DELETE('/api/diary/{diary_id}/meal/{meal_id}/portions/{portion_id}/delete')
|
|
Future<void> deleteProductFromMeal({
|
|
@Path('diary_id') required int diaryId,
|
|
@Path('meal_id') required int mealId,
|
|
@Path('portion_id') required int portionId,
|
|
});
|
|
|
|
@POST('/api/diary/{diary_id}/finishDay')
|
|
Future<void> finishDiaryDay({
|
|
@Path('diary_id') required int diaryId,
|
|
// @Body() required FinishDiaryDayModel finishDiaryDayModel,
|
|
});
|
|
|
|
@POST('/api/diary/{diary_id}/meal/{meal}/satiety/fill')
|
|
Future<void> fillSatiety({
|
|
@Path('diary_id') required int diaryId,
|
|
@Path('meal') required int meal,
|
|
@Field() required int satiety,
|
|
});
|
|
|
|
@POST('/api/diary/product_nutritional_values/sendToModeration')
|
|
Future<void> sendProductToModeration({
|
|
@Body() required Map<String, dynamic> data,
|
|
});
|
|
}
|