diff --git a/lib/features/diary/presentation/bloc/diary_bloc.dart b/lib/features/diary/presentation/bloc/diary_bloc.dart index 06d76c47..3bd4a6e2 100644 --- a/lib/features/diary/presentation/bloc/diary_bloc.dart +++ b/lib/features/diary/presentation/bloc/diary_bloc.dart @@ -242,7 +242,7 @@ class DiaryBloc extends Bloc { final productNutritionalValues = await diaryRepository.inputProduct(event.input); // Create a new controller with the input text and update the autocomplete list - var updatedState = currentState.copyWith( + /*var updatedState = currentState.copyWith( productNameController: TextEditingController(text: event.input), autocompleteList: productNutritionalValues.map((product) => product['name']).toList(), ); @@ -252,7 +252,7 @@ class DiaryBloc extends Bloc { updatedState = updatedState.copyWith(moderationExpanded: false); } - emit(updatedState); // Emit the updated state + emit(updatedState); */ } } diff --git a/lib/features/diary/repositories/diary_repository.dart b/lib/features/diary/repositories/diary_repository.dart index ce9e0fa1..57aa1426 100644 --- a/lib/features/diary/repositories/diary_repository.dart +++ b/lib/features/diary/repositories/diary_repository.dart @@ -22,7 +22,7 @@ class DiaryRepository { } } - Future> inputProduct(String name) async { + Future inputProduct(String name) async { try { return await diaryService.sendInputProduct(name); } catch (e) { diff --git a/lib/features/diary/services/diary_service.dart b/lib/features/diary/services/diary_service.dart index f1ad9d92..01b6b93a 100644 --- a/lib/features/diary/services/diary_service.dart +++ b/lib/features/diary/services/diary_service.dart @@ -18,7 +18,7 @@ abstract class DiaryService { Future getChart(@Path() String id); @GET('/diary/product_nutritional_values/filter?{name}') - Future> sendInputProduct(@Path() String name); + Future sendInputProduct(@Path() String name); @POST('/diary/{diary_id}/meal/{meal_id}/satiety/fill') Future> sendSatietyData( diff --git a/lib/features/diary/services/diary_service.g.dart b/lib/features/diary/services/diary_service.g.dart new file mode 100644 index 00000000..e0bff56f --- /dev/null +++ b/lib/features/diary/services/diary_service.g.dart @@ -0,0 +1,270 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'diary_service.dart'; + +// ************************************************************************** +// RetrofitGenerator +// ************************************************************************** + +// ignore_for_file: unnecessary_brace_in_string_interps,no_leading_underscores_for_local_identifiers,unused_element + +class _DiaryService implements DiaryService { + _DiaryService( + this._dio, { + this.baseUrl, + }); + + final Dio _dio; + + String? baseUrl; + + @override + Future> getDiaryID() async { + final _extra = {}; + final queryParameters = {}; + final _headers = {}; + const Map? _data = null; + final _result = await _dio.fetch>(_setStreamType>(Options( + method: 'GET', + headers: _headers, + extra: _extra, + ) + .compose( + _dio.options, + '/diary/index', + queryParameters: queryParameters, + data: _data, + ) + .copyWith( + baseUrl: _combineBaseUrls( + _dio.options.baseUrl, + baseUrl, + )))); + final _value = _result.data!.cast(); + return _value; + } + + @override + Future> getDiary(int id) async { + final _extra = {}; + final queryParameters = {}; + final _headers = {}; + const Map? _data = null; + final _result = await _dio.fetch>(_setStreamType>(Options( + method: 'GET', + headers: _headers, + extra: _extra, + ) + .compose( + _dio.options, + '/diary/${id}/show/', + queryParameters: queryParameters, + data: _data, + ) + .copyWith( + baseUrl: _combineBaseUrls( + _dio.options.baseUrl, + baseUrl, + )))); + var _value = _result.data!.map((k, dynamic v) => MapEntry(k, DiaryModel.fromJson(v as Map))); + return _value; + } + + @override + Future getChart(String id) async { + final _extra = {}; + final queryParameters = {}; + final _headers = {}; + const Map? _data = null; + final _result = await _dio.fetch>(_setStreamType(Options( + method: 'GET', + headers: _headers, + extra: _extra, + ) + .compose( + _dio.options, + '/diary/${id}/dailyNutritionData/', + queryParameters: queryParameters, + data: _data, + ) + .copyWith( + baseUrl: _combineBaseUrls( + _dio.options.baseUrl, + baseUrl, + )))); + final _value = DiaryModel.fromJson(_result.data!); + return _value; + } + + @override + Future sendInputProduct(String name) async { + final _extra = {}; + final queryParameters = {}; + final _headers = {}; + const Map? _data = null; + final _result = await _dio.fetch>(_setStreamType(Options( + method: 'GET', + headers: _headers, + extra: _extra, + ) + .compose( + _dio.options, + '/diary/product_nutritional_values/filter?${name}', + queryParameters: queryParameters, + data: _data, + ) + .copyWith( + baseUrl: _combineBaseUrls( + _dio.options.baseUrl, + baseUrl, + )))); + final _value = DiaryModel.fromJson(_result.data!); + return _value; + } + + @override + Future> sendSatietyData( + int diary_id, + int meal_id, + int satiety, + ) async { + final _extra = {}; + final queryParameters = {r'satiety': satiety}; + final _headers = {}; + const Map? _data = null; + final _result = await _dio.fetch>(_setStreamType>(Options( + method: 'POST', + headers: _headers, + extra: _extra, + ) + .compose( + _dio.options, + '/diary/${diary_id}/meal/${meal_id}/satiety/fill', + queryParameters: queryParameters, + data: _data, + ) + .copyWith( + baseUrl: _combineBaseUrls( + _dio.options.baseUrl, + baseUrl, + )))); + final _value = _result.data!.cast(); + return _value; + } + + @override + Future> sendMoodData( + int diary_id, + int meal_id, + int mood, + ) async { + final _extra = {}; + final queryParameters = {r'mood': mood}; + final _headers = {}; + const Map? _data = null; + final _result = await _dio.fetch>(_setStreamType>(Options( + method: 'POST', + headers: _headers, + extra: _extra, + ) + .compose( + _dio.options, + '/diary/${diary_id}/meal/${meal_id}/mood/fill', + queryParameters: queryParameters, + data: _data, + ) + .copyWith( + baseUrl: _combineBaseUrls( + _dio.options.baseUrl, + baseUrl, + )))); + final _value = _result.data!.cast(); + return _value; + } + + @override + Future sendWakeupData( + int diary_id, + String wakeup, + ) async { + final _extra = {}; + final queryParameters = {r'wakeup': wakeup}; + final _headers = {}; + const Map? _data = null; + final _result = await _dio.fetch>(_setStreamType(Options( + method: 'POST', + headers: _headers, + extra: _extra, + ) + .compose( + _dio.options, + '/diary/${diary_id}/wakeup/fill', + queryParameters: queryParameters, + data: _data, + ) + .copyWith( + baseUrl: _combineBaseUrls( + _dio.options.baseUrl, + baseUrl, + )))); + final _value = DiaryModel.fromJson(_result.data!); + return _value; + } + + @override + Future sendRetire( + int diary_id, + String retire, + ) async { + final _extra = {}; + final queryParameters = {r'retire': retire}; + final _headers = {}; + const Map? _data = null; + final _result = await _dio.fetch>(_setStreamType(Options( + method: 'POST', + headers: _headers, + extra: _extra, + ) + .compose( + _dio.options, + '/diary/${diary_id}/retire/fill', + queryParameters: queryParameters, + data: _data, + ) + .copyWith( + baseUrl: _combineBaseUrls( + _dio.options.baseUrl, + baseUrl, + )))); + final _value = DiaryModel.fromJson(_result.data!); + return _value; + } + + RequestOptions _setStreamType(RequestOptions requestOptions) { + if (T != dynamic && !(requestOptions.responseType == ResponseType.bytes || requestOptions.responseType == ResponseType.stream)) { + if (T == String) { + requestOptions.responseType = ResponseType.plain; + } else { + requestOptions.responseType = ResponseType.json; + } + } + return requestOptions; + } + + String _combineBaseUrls( + String dioBaseUrl, + String? baseUrl, + ) { + if (baseUrl == null || baseUrl.trim().isEmpty) { + return dioBaseUrl; + } + + final url = Uri.parse(baseUrl); + + if (url.isAbsolute) { + return url.toString(); + } + + return Uri.parse(dioBaseUrl).resolveUri(url).toString(); + } +}