import '../models/note.dart'; import '../repositories/note_repository.dart'; import '../services/api_client.dart'; class RemoteNoteRepository implements NoteRepository { final ApiClient _api; RemoteNoteRepository({required ApiClient api}) : _api = api; @override Future> getAll() async { final response = await _api.get('/notes/'); final List data = response.data as List; return data.map((json) => Note.fromJson(json as Map)).toList(); } @override Future getById(String id) async { try { final response = await _api.get('/notes/$id'); return Note.fromJson(response.data as Map); } catch (_) { return null; } } @override Future save(Note note) async { final response = await _api.post('/notes/', note.toJson()); return Note.fromJson(response.data as Map); } Future update(Note note) async { final response = await _api.put('/notes/${note.id}', note.toJson()); return Note.fromJson(response.data as Map); } @override Future delete(String id) async { await _api.delete('/notes/$id'); } }