Data Layer medium complexity mobile
0
Dependencies
4
Dependents
0
Entities
0
Integrations

Description

Drift ORM table definition and repository for activity records. Stores all activity logs including type reference, date, duration, optional notes, user association, and sync status. Supports offline-first mutation via the shared mutation outbox pattern and SQLCipher encryption at rest.

Feature: Simple Activity Logging

activities-table

Responsibilities

  • Define the Drift table schema for activity records with all required domain fields
  • Provide typed repository methods for CRUD operations on activity records
  • Track per-record sync status (pending, synced, failed) to support the mutation outbox pattern
  • Enforce SQLCipher encryption for all stored activity data at rest

Interfaces

insertActivity(ActivitiesCompanion entry) → Future<int>
getActivitiesByUser(String userId) → Future<List<Activity>>
updateActivity(ActivitiesCompanion entry) → Future<int>
deleteActivity(String activityId) → Future<void>
getPendingActivities() → Future<List<Activity>>
markActivitySynced(String activityId) → Future<void>