Data Layer
54 components in the data layer layer
Data Layer components manage data persistence, storage operations, and data access patterns throughout the application.
Data access layer that abstracts all persistence and retrieval operations for organization data. Communicates with the REST API client to fe...
Secure persistent storage for JWT access and refresh tokens using Flutter Secure Storage, backed by iOS Keychain and Android Keystore. Passw...
Data access layer for persisting and retrieving authentication tokens, session records, and identity provider linkages. Shared with the Emai...
Manages persistent storage of the refresh token in the device's secure enclave using Flutter Secure Storage with AES-256 encryption at rest....
Caches the role-permission matrix locally on the device to allow the Role Guard Service to evaluate permissions without a network call, supp...
Data access layer managing all CRUD operations for activities and activity types against the local SQLite database and the remote PostgreSQL...
Data access layer for activity records supporting both online REST API writes and offline local SQLite reads. Shared with the simple activit...
Read-only local cache of contact records enabling offline contact search within the wizard contact step. Synchronizes from the server on app...
Local storage adapter that serializes and deserializes in-progress wizard drafts as JSON, ensuring activity registration survives app backgr...
Data access layer persisting event records and the event_attendees join table locally via SQLite for offline support. Syncs with the backend...
Persists document attachment metadata to the PostgreSQL database, storing filename, MIME type, file size, storage key, upload timestamp, and...
Persists report template configurations in the local SQLite database to enable offline form completion. Manages cache invalidation and synch...
Data access layer abstracting local SQLite reads/writes for contact entities and synchronizing with the remote REST API. Implements the repo...
Data access layer for the contacts table, shared across Contact List & Search and Contact Detail & Edit features. Abstracts REST API calls a...
Data access layer for peer mentor entities, abstracting REST API calls and local SQLite cache reads. Supports offline-first reads via the lo...
Data access layer for the caregivers table, providing parameterized query execution to prevent SQL injection. Maps between database rows and...
Data access layer for reading and writing peer mentor status log entries in the peer_mentor_status_logs table. Provides typed query methods ...
Data access layer that wraps all database operations for the notes table, including CRUD operations, soft-delete support, and FTS5 full-text...
Data access layer responsible for reading and writing lat/lng coordinates stored in the peer_mentors table. Provides filtered queries to fet...
Data access layer that abstracts the source of statistics data, routing reads to the REST API when online and to the local Drift/SQLite cach...
Data access layer that executes PostgreSQL CTE-based aggregation queries to compute per-peer-mentor activity totals scoped to a coordinator'...
Data access layer for the bufdir_reports table, managing persistence of generated report metadata, audit history, and field snapshots. Ensur...
Persists duplicate detection events for coordinator audit review as required by the feature specification. Stores each detection with metada...
Data access layer for the expenses and expense_types PostgreSQL tables. Provides typed CRUD operations and query methods used by the Expense...
Data access layer for all receipt records in the PostgreSQL database. Manages CRUD operations on the receipts table, maintains the foreign k...
Data access layer for reimbursements and approval records in PostgreSQL. Provides typed query methods for the approval workflow including fe...
Provides CRUD data access for the assignments and assignment_status_logs tables. Stores only ciphertext and metadata on the backend — plaint...
Data access layer responsible for reading and writing honorarium threshold configurations from the honorarium_thresholds table and persistin...
Data access layer for notification records and per-user notification settings, communicating with the backend REST API to fetch paginated no...
Data access layer for all reminder and notification preference persistence. Manages CRUD operations on the reminders table and the notificat...
Data access layer responsible for persisting and retrieving calendar synchronization preferences from the database. Stores per-user iCal tok...
Data access layer that fetches aggregated dashboard metrics from the REST API backend for each role variant. Implements local caching to sup...
Data access layer that abstracts both the local key-value store (shared_preferences) and the remote REST API backend behind a single clean i...
Fetches the organization-scoped resource list from the REST API and caches it locally for offline access using an ETag or last-modified head...
Data access layer managing CRUD operations for talking cards and toolbox resources. Abstracts both the remote REST API endpoint and the loca...
Data access layer for user records and role-organization assignments. Provides typed query methods for the admin panel's user management ope...
Data access layer for the organization_labels table, which stores key-value label pairs scoped per organization. Supports bulk upsert for te...
Data access layer providing optimized aggregate query methods against the PostgreSQL database for KPI computation. All queries use parameter...
Data access layer for reading and writing activity approval state and associated audit records. Manages the approval status enum field on th...
Data access layer for the bufdir_reports and reports tables. Executes the complex aggregate SQL query joining activities, users, organizatio...
Data access layer optimized for the admin oversight use case, providing complex filtered and paginated queries that join reimbursements, exp...
Data access layer for the full organizational hierarchy including organizations, regions, and local associations. Executes all SQL queries w...
Data access layer responsible for all CRUD operations on user-to-association membership records, backed by the user_organization_roles table...
Data access layer for the integrations table, managing CRUD operations for per-organization integration configurations including credentials...
Data access layer for all course and enrollment persistence operations against the PostgreSQL database. Handles CRUD for courses and course_...
Data access layer for the certifications table, providing CRUD operations and query methods for certification records. Handles all persisten...
Data access layer for mentor program sessions and workshop participants. Handles all CRUD operations against the mentor_program_sessions and...
Data access layer for the recruitment_referrals table, managing persistence of referral tokens, referring user associations, and conversion ...
Data access layer for the annual_summaries table. Manages CRUD operations for pre-computed peer mentor annual summary records including all ...
Data access layer managing all read and write operations against the badges and user_badges database tables. Handles badge definition CRUD, ...
Data access layer responsible for retrieving and locally caching the advantage calculator configuration from the backend REST API. Handles H...
Provides read and write access to the local SQLite mirror of server-side data required for offline operation — specifically activities, cont...
Manages the persistent FIFO queue of serialized mutation operations captured while the device is offline or the backend is unreachable. Each...
Persists security-relevant events to a dedicated PostgreSQL audit_logs table with tamper-evident append-only semantics. Records authenticati...
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.