// 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 class _ChatService implements ChatService { _ChatService( this._dio, { this.baseUrl, }); final Dio _dio; String? baseUrl; @override Future> getChatRoom({required 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, '/api/chat/show/${id}', queryParameters: queryParameters, data: _data, ) .copyWith( baseUrl: _combineBaseUrls( _dio.options.baseUrl, baseUrl, )))); var _value = _result.data!.map((k, dynamic v) => MapEntry(k, ChatRoomModel.fromJson(v as Map))); return _value; } @override Future sendMessage({ required String id, String? data, List? filesList, }) 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 (filesList != null) { _data.files.addAll(filesList.map((i) => MapEntry( 'filesList', MultipartFile.fromFileSync( i.path, filename: i.path.split(Platform.pathSeparator).last, )))); } await _dio.fetch(_setStreamType(Options( method: 'POST', headers: _headers, extra: _extra, ) .compose( _dio.options, '/api/chat/${id}/message/send', queryParameters: queryParameters, data: _data, ) .copyWith( baseUrl: _combineBaseUrls( _dio.options.baseUrl, baseUrl, )))); } @override Future getChatMessages({ required String id, required int page, }) 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, '/api/chat/show/${id}/messages?page=${page}', queryParameters: queryParameters, data: _data, ) .copyWith( baseUrl: _combineBaseUrls( _dio.options.baseUrl, baseUrl, )))); final _value = ChatMessagesModel.fromJson(_result.data!); return _value; } @override Future getWebsocket() 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, '/api/profile/ws/params', queryParameters: queryParameters, data: _data, ) .copyWith( baseUrl: _combineBaseUrls( _dio.options.baseUrl, baseUrl, )))); final _value = WebsocketInfoModel.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(); } }