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.

Feature: Confidentiality Declarations

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

Dependencies (1)

Components this component depends on

Dependents (1)

Components that depend on this component

Related Data Entities (2)

Data entities managed by this component