Data Layer
72 components in the data layer layer
Data Layer components manage data persistence, storage operations, and data access patterns throughout the application.
Data repository for active user sessions and their associated opaque refresh tokens. Persists session state across requests to support silen...
Stores rotating refresh tokens linked to sessions. Each token rotation invalidates the previous token; revocation of a session cascades to a...
Canonical PostgreSQL table storing all user account data: personal fields, language preference, photo URL, and organization memberships. Mir...
Drift-backed local cache and PostgreSQL server table for user-to-organization join records. Stores role, membership status (active/suspended...
Database table tracking active and expired profile share link metadata including hashed token, object storage key, originating user ID, expi...
Drift ORM table definition and repository for activity records. Stores all activity logs including type reference, date, duration, optional ...
Drift ORM table definition and repository for the fixed activity type catalogue. Stores the canonical list of selectable activity types used...
Drift DAO for the activity_attachments table, storing file references, MIME types, upload status, and parent activity foreign keys. Supports...
Persists the user's calendar sync opt-in state, selected calendar IDs, and sync direction preferences using Drift local storage. Exposes rea...
Data-access layer for activity records that carry dual user references. Provides typed queries for coordinator proxy history, mentor attribu...
Local Drift table and corresponding backend PostgreSQL table storing event records. All rows are keyed by organization ID for strict tenant ...
Database table and repository layer storing participant records that link users or contacts to events. Enforces uniqueness constraints to pr...
Expense Claims Table
Expense Items Table
PostgreSQL table storing receipt image references linked to individual expense items. Each record holds the object storage key, presigned UR...
Data access layer that reads and caches expense type definitions stored as JSON in the module_configurations table, scoped per organization....
Declarations Table
Drift table definition for offline-first local storage of contact records inside the SQLCipher-encrypted local database. Provides typed DAO ...
Drift-based local data access layer for reading and writing a single contact record together with its related entities. Provides the reactiv...
Drift table storing caregiver and next-of-kin records as a one-to-many child of the contacts table. Queried reactively alongside the parent ...
Drift DAO and table definition for the local SQLite notes store. Provides reactive queries filtered by user and supports the mutation outbox...
Drift table definition and repository for note_attachments records. Each row stores a reference to a note (note_id), the local file path for...
Drift DAO (Data Access Object) that encapsulates all SQL queries needed to aggregate activity statistics for a single user. Returns strongly...
PostgreSQL repository for persisting generated Bufdir reports with full metadata including reporting period, organization scope, generation ...
Database repository and access layer for the export_logs table. Records every export attempt with the exporting user ID, organization ID, re...
Persists a complete audit trail of every integration event emitted by the Accounting API Connector and Expense Batch Dispatcher. Records pus...
Records read receipt and delivery confirmation events for each assignment, capturing event type (delivered, acknowledged, read), actor, and ...
Persists encrypted assignment records including the ciphertext blob, sender and recipient metadata, dispatch timestamp, and current lifecycl...
Data layer adapter for the assignment_status_tracking table. Records per-assignment milestone events (e.g. threshold reached at count 3 or 1...
Backend repository managing persistence and querying of notification records in the notifications table. Supports paginated inbox retrieval,...
Backend repository managing CRUD operations against the push_tokens table. Supports one token record per user per device to enable multi-dev...
Persists a durable audit record for every outbound email and SMS, capturing channel, recipient, template, provider message ID, status, and t...
Notification Cooldown Log Table
Notification Rules Table
Scenario Registry Table
Drift table definition and repository mirroring the notification_settings PostgreSQL table. Stores one preferences row per user with a versi...
PostgreSQL table that persists referral records containing referrer_user_id, nullable invitee_user_id (populated when sign-up completes), si...
Repository for course enrollment records linking users to courses. Persists enrollment state, supports offline mutation outbox pattern, and ...
Repository and local cache adapter for course records. Reads course data from the shared PostgreSQL backend via REST and caches for offline ...
Repository adapter for the certificates table. Manages certificate CRUD operations and provides query methods used by both the mobile servic...
Data component representing the workshop_participants join table that links users to workshop sessions. Manages participant enrollment recor...
PostgreSQL repository for persisted annual summary records, one row per user per year. Stores the aggregated payload as structured columns t...
PostgreSQL table storing badge definitions as declarative trigger rules. Each row defines a badge type, its artwork asset reference, display...
PostgreSQL table recording awarded badges per user with a timestamp and reference to the triggering entity. Acts as the persistent state for...
Database table storing per-organization impact calculation parameters. Each row represents one tenant's model with fields for hourly value r...
Drift table providing offline-first local storage for the external link catalogue fetched from the backend. Stores link entries with categor...
PostgreSQL table storing the org-configurable external resource link catalogue. Each row belongs to one organization and optionally targets ...
Drift table and DAO that persists client-generated temporary UUID to server-assigned permanent ID mappings. Records entity type alongside ea...
Encrypted local SQLite database managed by Drift (Flutter's type-safe ORM). Provides full CRUD for all core entities - activities, contacts,...
Persistent table and access layer that records every pending write with its operation type, entity type, payload, retry count, and status. A...
Riverpod AsyncNotifier that holds and broadcasts sync state (pending mutation count, last sync timestamp, dead-letter count, and in-progress...
Dedicated PostgreSQL table (feed_events) storing normalized event rows generated by the Feed Service. Each row captures the organization con...
Data access layer encapsulating all PostgreSQL queries against the users table and its joins with organization_memberships. Provides typed q...
User Roles Table
Database table storing flag records for both automated duplicate detections and manual flags. Each record links to the activities table, car...
Data access layer for expense approval workflow operations against the expense_claims, expense_items, expense_receipts, and declarations tab...
Database table storing per-tenant auto-approval rule configuration as structured rows with type, operator, and value columns. Scoped by orga...
Data access layer that reads from the materialized expense_summary_snapshots table for pre-aggregated figures and executes ad-hoc queries ag...
Database component managing the export_logs table, which tracks every Bufdir export job across its full lifecycle. Stores triggering user, o...
PostgreSQL data component managing the organizations table with row-level tenant isolation enforced at the API layer. Stores organization pr...
Local Drift table on the Flutter client that stores the resolved label map received during session bootstrap. Enables the Label Resolution S...
PostgreSQL table storing key-value label overrides scoped to organization ID. Each row represents one overridden label key for one organizat...
PostgreSQL repository layer for the module_configurations table, scoped by organization ID and area ID. Provides typed read/write access for...
Data access layer for organization hierarchy queries against the organizations and organization_memberships tables. Wraps recursive CTE Post...
PostgreSQL table storing the many-to-many relationship between users and organizations. Holds role, primary-membership flag, and join timest...
Stores per-organization external portal integration settings including connection type (OAuth 2.0 or API key), encrypted credential referenc...
Append-only event log of all sync operations performed by the External Portal Connector. Each row captures the event type, source record ide...
Persistent log of every accounting system delivery attempt per organization. Stores request payloads, HTTP response codes, retry counts, err...
Short-TTL server-side cache scoped per tenant for computed security metric aggregates, preventing repeated expensive queries on each dashboa...
PostgreSQL table storing the immutable, chronological trail of all security-relevant events. Schema includes event_type, actor_id, actor_rol...
PostgreSQL table that persists all qualified booking form submissions as lead records. Stores the prospect's contact details, organization m...
Database table storing immutable records of Terms of Service acceptance events. Each row captures the organization, the accepting user, the ...
Other Component Types
User Interface components handle presentation logic, user interactions, and visual elements of the application.
Service Layer components contain business logic, orchestrate operations, and provide core application functionality.
Infrastructure components provide foundational utilities, system integrations, and supporting functionality for the application.