fix(diary): Remove portion API call fixed

This commit is contained in:
2024-07-19 15:51:39 +03:00
parent be461e4183
commit 7535e82422
10 changed files with 217 additions and 195 deletions

View File

@@ -1,5 +1,6 @@
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';
@@ -49,7 +50,7 @@ abstract class DiaryService {
);
@POST('/diary/{diary_id}/meal/{meal_id}/portions/create')
Future<Map<String, int>> sendPortionData(
Future<Map<String, Portion>> sendPortionData(
@Path() int diary_id,
@Path() int meal_id,
@Query('product_name') String product_name,
@@ -57,8 +58,8 @@ abstract class DiaryService {
@Query('quantity') int quantity,
);
@POST('/diary/{diary_id}/meal/{meal_id}/portions/{portion_id}/delete')
Future<Map<String, int>> sendRemovePortionData(
@DELETE('/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,

View File

@@ -254,7 +254,7 @@ class _DiaryService implements DiaryService {
}
@override
Future<Map<String, int>> sendPortionData(
Future<Map<String, Portion>> sendPortionData(
int diary_id,
int meal_id,
String product_name,
@@ -269,8 +269,8 @@ class _DiaryService implements DiaryService {
};
final _headers = <String, dynamic>{};
const Map<String, dynamic>? _data = null;
final _result = await _dio
.fetch<Map<String, dynamic>>(_setStreamType<Map<String, int>>(Options(
final _result = await _dio.fetch<Map<String, dynamic>>(
_setStreamType<Map<String, Portion>>(Options(
method: 'POST',
headers: _headers,
extra: _extra,
@@ -286,12 +286,13 @@ class _DiaryService implements DiaryService {
_dio.options.baseUrl,
baseUrl,
))));
final _value = _result.data!.cast<String, int>();
var _value = _result.data!.map((k, dynamic v) =>
MapEntry(k, Portion.fromJson(v as Map<String, dynamic>)));
return _value;
}
@override
Future<Map<String, int>> sendRemovePortionData(
Future<void> sendRemovePortionData(
int diary_id,
int meal_id,
int portion_id,
@@ -300,25 +301,22 @@ class _DiaryService implements DiaryService {
final queryParameters = <String, dynamic>{};
final _headers = <String, dynamic>{};
const Map<String, dynamic>? _data = null;
final _result = await _dio
.fetch<Map<String, dynamic>>(_setStreamType<Map<String, int>>(Options(
method: 'POST',
await _dio.fetch<void>(_setStreamType<void>(Options(
method: 'DELETE',
headers: _headers,
extra: _extra,
)
.compose(
_dio.options,
'/diary/${diary_id}/meal/${meal_id}/portions/${portion_id}/delete',
queryParameters: queryParameters,
data: _data,
)
.copyWith(
baseUrl: _combineBaseUrls(
_dio.options.baseUrl,
baseUrl,
))));
final _value = _result.data!.cast<String, int>();
return _value;
.compose(
_dio.options,
'/diary/${diary_id}/meal/${meal_id}/portions/${portion_id}/delete',
queryParameters: queryParameters,
data: _data,
)
.copyWith(
baseUrl: _combineBaseUrls(
_dio.options.baseUrl,
baseUrl,
))));
}
RequestOptions _setStreamType<T>(RequestOptions requestOptions) {