// GENERATED CODE - DO NOT MODIFY BY HAND part of 'plan_service.dart'; // ************************************************************************** // RetrofitGenerator // ************************************************************************** // ignore_for_file: unnecessary_brace_in_string_interps,no_leading_underscores_for_local_identifiers,unused_element,unnecessary_string_interpolations class _PlanService implements PlanService { _PlanService(this._dio, {this.baseUrl, this.errorLogger}); final Dio _dio; String? baseUrl; final ParseErrorLogger? errorLogger; @override Future getPlan(String slug) async { final _extra = {}; final queryParameters = {}; final _headers = {}; const Map? _data = null; final _options = _setStreamType( Options(method: 'GET', headers: _headers, extra: _extra) .compose( _dio.options, '/api/plans/show/${slug}', queryParameters: queryParameters, data: _data, ) .copyWith(baseUrl: _combineBaseUrls(_dio.options.baseUrl, baseUrl)), ); final _result = await _dio.fetch>(_options); late PlanModel _value; try { _value = PlanModel.fromJson(_result.data!); } on Object catch (e, s) { errorLogger?.logError(e, s, _options); rethrow; } return _value; } @override Future likePlan({required String slug}) async { final _extra = {}; final queryParameters = {}; final _headers = {}; const Map? _data = null; final _options = _setStreamType( Options(method: 'POST', headers: _headers, extra: _extra) .compose( _dio.options, '/api/plans/${slug}/like', queryParameters: queryParameters, data: _data, ) .copyWith(baseUrl: _combineBaseUrls(_dio.options.baseUrl, baseUrl)), ); await _dio.fetch(_options); } @override Future addToFavorite({required String slug}) async { final _extra = {}; final queryParameters = {}; final _headers = {}; const Map? _data = null; final _options = _setStreamType( Options(method: 'POST', headers: _headers, extra: _extra) .compose( _dio.options, '/api/plans/${slug}/add_to_favorite', queryParameters: queryParameters, data: _data, ) .copyWith(baseUrl: _combineBaseUrls(_dio.options.baseUrl, baseUrl)), ); await _dio.fetch(_options); } @override Future removeFromFavorite({required String slug}) async { final _extra = {}; final queryParameters = {}; final _headers = {}; const Map? _data = null; final _options = _setStreamType( Options(method: 'POST', headers: _headers, extra: _extra) .compose( _dio.options, '/api/plans/${slug}/remove_from_favorite', queryParameters: queryParameters, data: _data, ) .copyWith(baseUrl: _combineBaseUrls(_dio.options.baseUrl, baseUrl)), ); await _dio.fetch(_options); } 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(); } }