Note Save Service
Component Detail
Service Layer
medium complexity
mobile
1
Dependencies
1
Dependents
2
Entities
0
Integrations
Description
Business logic service that handles creating, updating, and deleting notes via the REST API. Applies optimistic UI updates locally and rolls back on API failure. Coordinates autosave-to-draft timing and manages the transition between draft and submitted states.
note-save-service
Responsibilities
- Create, update, and delete notes through the REST API
- Apply optimistic updates to the local SQLite cache with rollback on error
- Manage autosave intervals for draft persistence
- Validate note content before submission (non-empty text, valid contact link)
- Coordinate with the STT Service for speech-to-text text insertion
Interfaces
createNote(contactId: String, text: String, dateTime: DateTime): Future<Note>
updateNote(noteId: String, text: String): Future<Note>
deleteNote(noteId: String): Future<void>
saveDraft(noteId: String, text: String): Future<void>
submitNote(noteId: String): Future<Note>
getNoteById(noteId: String): Future<Note>
autosaveDraft(noteId: String, text: String): void
rollbackOptimisticUpdate(noteId: String): void
validateNote(text: String, contactId: String): ValidationResult
Relationships
Related Data Entities (2)
Data entities managed by this component