// GENERATED CODE - DO NOT MODIFY BY HAND part of 'chat_service.dart'; // ************************************************************************** // RetrofitGenerator // ************************************************************************** // ignore_for_file: unnecessary_brace_in_string_interps,no_leading_underscores_for_local_identifiers,unused_element,unnecessary_string_interpolations class _ChatService implements ChatService { _ChatService(this._dio, {this.baseUrl, this.errorLogger}); final Dio _dio; String? baseUrl; final ParseErrorLogger? errorLogger; @override Future getChatRoomPreviews({String? query}) async { final _extra = {}; final queryParameters = {r'find': query}; queryParameters.removeWhere((k, v) => v == null); final _headers = {}; const Map? _data = null; final _options = _setStreamType( Options(method: 'GET', headers: _headers, extra: _extra) .compose( _dio.options, '/api/chat/index', queryParameters: queryParameters, data: _data, ) .copyWith(baseUrl: _combineBaseUrls(_dio.options.baseUrl, baseUrl)), ); final _result = await _dio.fetch>(_options); late ChatRoomPreviewModel _value; try { _value = ChatRoomPreviewModel.fromJson(_result.data!); } on Object catch (e, s) { errorLogger?.logError(e, s, _options); rethrow; } return _value; } @override Future> getChatRoom({required String id}) 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/chat/show/${id}', queryParameters: queryParameters, data: _data, ) .copyWith(baseUrl: _combineBaseUrls(_dio.options.baseUrl, baseUrl)), ); final _result = await _dio.fetch>(_options); late Map _value; try { _value = _result.data!.map( (k, dynamic v) => MapEntry(k, ChatRoomModel.fromJson(v as Map)), ); } on Object catch (e, s) { errorLogger?.logError(e, s, _options); rethrow; } return _value; } @override Future sendMessage({ required String id, String? data, List? media_data, }) async { final _extra = {}; final queryParameters = {}; queryParameters.removeWhere((k, v) => v == null); final _headers = {}; final _data = FormData(); if (data != null) { _data.fields.add(MapEntry('data', data)); } if (media_data != null) { _data.files.addAll(media_data.map((i) => MapEntry('media_data[]', i))); } final _options = _setStreamType( Options( method: 'POST', headers: _headers, extra: _extra, contentType: 'multipart/form-data', ) .compose( _dio.options, '/api/chat/${id}/message/send', queryParameters: queryParameters, data: _data, ) .copyWith(baseUrl: _combineBaseUrls(_dio.options.baseUrl, baseUrl)), ); await _dio.fetch(_options); } @override Future getChatMessages({ required String id, required int page, }) 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/chat/show/${id}/messages?page=${page}', queryParameters: queryParameters, data: _data, ) .copyWith(baseUrl: _combineBaseUrls(_dio.options.baseUrl, baseUrl)), ); final _result = await _dio.fetch>(_options); late ChatMessagesModel _value; try { _value = ChatMessagesModel.fromJson(_result.data!); } on Object catch (e, s) { errorLogger?.logError(e, s, _options); rethrow; } return _value; } @override Future getChatRoomIdByUserSlug({required String user}) 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/chat/get_by_user/${user}', queryParameters: queryParameters, data: _data, ) .copyWith(baseUrl: _combineBaseUrls(_dio.options.baseUrl, baseUrl)), ); final _result = await _dio.fetch>(_options); late ChatRoomModel _value; try { _value = ChatRoomModel.fromJson(_result.data!); } on Object catch (e, s) { errorLogger?.logError(e, s, _options); rethrow; } return _value; } @override Future markMessagesAsRead({ required String id, required Map> body, }) async { final _extra = {}; final queryParameters = {}; final _headers = {}; final _data = {}; _data.addAll(body); final _options = _setStreamType( Options(method: 'POST', headers: _headers, extra: _extra) .compose( _dio.options, '/api/chat/${id}/messages/markAsRead', 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(); } }