Declaration Submission Service
Component Detail
Service Layer
low complexity
mobile
1
Dependencies
1
Dependents
2
Entities
0
Integrations
Description
Handles POST of a signed confidentiality declaration to the REST API, attaching the declaration version hash, user ID, and UTC timestamp. Routes through the Drift mutation outbox when the device is offline, guaranteeing the sign-off survives connectivity loss.
declaration-submission-service
Sources & reasoning
Separating the submission logic from the UI allows the screen to stay presentation-only while the service handles API routing, offline queuing, and version-hash attachment - all required by the implementation notes.
No source references — this artifact was included based on reasoning alone (see above).
Responsibilities
- POST signed declaration to /api/v1/confidentiality-declarations
- Enqueue mutation in Drift outbox when offline
- Fetch current versioned declaration text from backend for display
- Expose declaration sign-off status per user to coordinator-facing queries
Interfaces
fetchDeclarationText() -> DeclarationContent
submitDeclaration(userId, activityId, versionHash, signedAt) -> DeclarationRecord
getDeclarationStatus(userId) -> DeclarationStatus
Relationships
Related Data Entities (2)
Data entities managed by this component