import 'package:social_app/data/network/i_api_client.dart'; import '../models/memory_models.dart'; class MemoryService { final IApiClient _client; static const _prefix = '/api/v1/memories'; MemoryService(this._client); Future getAllMemories() async { final response = await _client.get>(_prefix); return MemoryListResponse.fromJson(response.data!); } Future getUserMemory() async { final response = await _client.get>('$_prefix/user'); if (response.data == null) return null; return UserMemoryContent.fromJson(response.data); } Future getWorkMemory() async { final response = await _client.get>('$_prefix/work'); if (response.data == null) return null; return WorkProfileContent.fromJson(response.data); } Future updateUserMemory(UserMemoryContent content) async { final response = await _client.put>( '$_prefix/user', data: {'content': content.toJson()}, ); return UserMemoryContent.fromJson(response.data); } Future updateWorkMemory( WorkProfileContent content, ) async { final response = await _client.put>( '$_prefix/work', data: {'content': content.toJson()}, ); return WorkProfileContent.fromJson(response.data); } Future patchUserMemory( Map content, ) async { final response = await _client.patch>( '$_prefix/user', data: {'content': content}, ); return UserMemoryContent.fromJson(response.data); } Future patchWorkMemory( Map content, ) async { final response = await _client.patch>( '$_prefix/work', data: {'content': content}, ); return WorkProfileContent.fromJson(response.data); } }