Data Layer
157 components in the data layer layer
Data Layer components manage data persistence, storage operations, and data access patterns throughout the application.
Flutter data layer responsible for persisting and retrieving JWT access and refresh tokens using the platform's secure storage. Abstracts th...
Secure on-device storage adapter for JWT access and refresh tokens using flutter_secure_storage. On iOS it writes to the Keychain; on Androi...
Provides secure persistent storage for JWT access tokens and refresh tokens on the mobile device using the platform Keychain (iOS) or Keysto...
Manages the full lifecycle of JWT access and refresh tokens using flutter_secure_storage, backed by iOS Keychain and Android Keystore. Handl...
Manages the lifecycle of encrypted JWT refresh tokens stored in platform-secure storage (iOS Keychain via flutter_secure_storage / Android K...
Local persistent store in the Flutter app that caches the user's assigned roles, active role, and organisation ID after login. Reads from an...
Manages the persistence and retrieval of role definitions, permission matrices, and user-role assignments. On the mobile side, stores the cu...
Local persistence layer for the authenticated user's profile data and preferences, implemented via Riverpod state providers backed by local ...
Local state and caching layer for the authenticated user's profile data, preferences, and organization context. Uses Riverpod or BLoC state ...
Manages the in-memory and secure-storage representation of the authenticated user's available roles and their currently active role selectio...
Secure local persistence layer that stores the user's currently active role and their list of available roles. Uses the device keychain or s...
Persists registered passkey credential metadata (credential ID, display name, creation timestamp, last used) in local secure storage and syn...
Data layer responsible for persisting and retrieving FIDO2 public key credentials. Stores credential IDs, public keys, sign counts, and tran...
Local SQLite repository managing persisted activity records and offline submission queue on the device. Provides CRUD operations for activit...
Local data persistence layer for activity records using SQLite. Caches submitted and pending activities for offline support, stores user his...
Local persistence layer that saves wizard draft state so users do not lose progress if the app is backgrounded or closed mid-wizard. Stores ...
Local data store managing persisted activity records on the device. Shared with the Simple Activity Logging feature. Supports offline queuin...
Local persistence layer that tracks the synchronization state between Meander records and their corresponding external calendar entries. Sto...
Local persistence layer for calendar sync state, mapping between Meander activities and device calendar events, and sync configuration. Stor...
Flutter BLoC state manager for the proxy registration flow. Extends the standard activity form BLoC with an injected 'on-behalf-of' paramete...
Local data layer managing proxy-registered activity records. Extends the standard activity store with proxy-specific fields (proxy_user_id, ...
Manages client-side state for the bulk registration operation, including the selected participant list, draft activity data, operation progr...
Data layer managing bulk registration records including the batch metadata (coordinator, timestamp, participant count) and the individual ac...
Riverpod-backed local persistence layer that saves in-progress wizard state to device storage, enabling users to resume an interrupted event...
Data access layer managing persistence and retrieval of events in the PostgreSQL events table. All queries are org-scoped to enforce multi-t...
Data access layer managing event persistence through the shared PostgreSQL events table via REST API. Handles organization-scoped queries en...
Local SQLite data access object that persists the most recently fetched events page for offline-capable rendering. Provides read and write o...
Riverpod/BLoC state container that tracks per-event registration status for the current user, including optimistic pending states and confir...
BLoC/Riverpod state store managing expense form draft state, local persistence of pending claims in SQLite, expense type rules cache, and re...
State management store that holds expense form state, cached expense type definitions with their validation rules, and the list of submitted...
Manages local and remote CRUD operations for the expense_receipts table, linking receipt metadata and cloud storage references to their pare...
Local data layer managing receipt metadata and upload state on the device. Caches receipt references linked to their parent expense records ...
Mobile-side data store that caches the organisation's active expense type catalogue, including type metadata, mutual-exclusivity groups, doc...
Data access layer managing persistence and retrieval of organisation-scoped expense type configurations. Stores expense types with their JSO...
Data access layer managing CRUD operations against the `documents` table for confidentiality declaration records. Each record links a user, ...
Data access layer for confidentiality declaration records stored in the documents table. Manages declaration text versions with content hash...
Riverpod-based state management store holding the current contact list, pagination cursor, search query state, and loading/error status. Ser...
Riverpod-based state management store that holds the current contact list, search state, pagination cursor, and loading indicators. Provides...
Local data repository for contact records providing caching, optimistic state management, and synchronisation with the REST API. Shares the ...
Local state and caching layer for caregiver records associated with a contact. Manages in-memory caregiver lists using BLoC/Riverpod, ensuri...
Local state management and caching layer for caregiver records using Riverpod. Stores caregiver lists keyed by contact ID, handles optimisti...
Local SQLite cache layer for notes data, enabling offline access and reducing redundant API calls. Stores note records keyed by note ID with...
Local data layer providing offline-capable storage for notes using SQLite. Caches notes fetched from the REST API and supports sync-on-recon...
Local SQLite-backed storage for note drafts, enabling autosave and offline editing. Persists in-progress note text, linked contact, and time...
Lightweight local persistence layer for in-progress note drafts. Stores partial note content keyed by contact ID so that the editor can rest...
Local SQLite repository for submitted notes, shared between the Notes List and Note Editor features. Provides CRUD operations and a reactive...
Local data store that caches aggregated statistics payloads on the device to support offline viewing. Stores the last-fetched stats result k...
Local data layer that caches aggregated statistics for offline viewing and manages state via Riverpod. Stores pre-computed summaries fetched...
Riverpod state store that holds cached team report data for the current coordinator session, keyed by association ID and active filter set. ...
Data access layer managing persistence and retrieval of generated Bufdir report records in PostgreSQL. Stores report metadata, generation st...
Data access layer managing persistence and retrieval of Bufdir report records, draft states, and generated report metadata. Handles caching ...
Data access layer for the accounting_exports table. Provides CRUD operations for export records that capture organization ID, export timesta...
Local data store that persists export records including organization ID, export timestamp, report period, format, file size, and download st...
Data layer responsible for persisting per-organization accounting integration configurations, including encrypted API credentials, field map...
Manages persistence of accounting transfer records in the accounting_exports table. Stores per-transfer metadata including the target system...
Data access layer for the assignments table. Manages persistence of encrypted assignment blobs, delivery receipts, read receipts, and status...
Manages persistence and retrieval of encrypted assignment records, including dispatch metadata, delivery receipts, read receipts, and the 10...
Maintains pre-aggregated assignment completion counts per peer mentor per reporting period, eliminating the need for expensive live count qu...
Data access layer for the assignment_threshold_configs table, providing typed read and write operations for threshold configurations includi...
Data access layer managing organization-specific threshold configurations including tier boundaries, honorarium rates, and reporting periods...
Data access layer for the push_tokens table, managing the registration, refresh, and deregistration of device push tokens per user. Stores p...
Manages server-side message templates for both email and SMS channels with support for variable substitution. Stores template definitions pe...
Server-side storage and retrieval of email and SMS message templates with variable placeholders. Templates cover account invitations, passwo...
Persists a record of every dispatched notification, capturing rule ID, recipient user ID, delivery channel, template ID, payload snapshot, a...
Records every notification sent by the rule engine with status, timestamp, rule ID, recipient, and entity reference. Serves as the deduplica...
Persists notification rule definitions including event type, condition predicate, recipient strategy, channel selection, template reference,...
Data component managing FCM/APNs device token lifecycle including registration, refresh, and deletion. When a user disables push notificatio...
Data component responsible for managing FCM and APNs push token persistence. Handles token registration on app start, token refresh events, ...
Data access layer that manages local caching and persistence of referral link data. Stores the current active referral link for offline disp...
Local data store managing cached referral link state on the mobile device. Persists the active referral link and expiry timestamp so the Ref...
Data access layer for referral links and referral tracking records. Provides repository methods for persisting and querying the full referra...
Data access layer for referral tracking records, providing CRUD operations on the referral_trackings table and aggregation queries for conve...
BLoC-based state store managing enrollment state transitions (available → registered → completed → certified) and local caching of course da...
Local state management store using BLoC/Riverpod that caches course listings, user registration records, and enrollment status. Provides rea...
Local data layer responsible for caching certification records fetched from the REST API and persisting them for offline availability. Maps ...
Local data layer that caches the user's certification records and certification type definitions fetched from the REST API. Provides reactiv...
Local data store managing cached workshop data, registration state, facilitator session state (checklist, attendance), and offline availabil...
Data access layer that communicates with the REST API to fetch pre-computed annual summary records. Handles serialization and deserializatio...
Client-side data store that caches fetched annual summary responses to avoid redundant API calls during the session. Uses Riverpod StateNoti...
Local data store that caches annual summary responses from the backend API. Stores the pre-computed yearly statistics including activity cou...
Data repository managing earned achievement records and achievement type definitions. Handles CRUD operations for both per-user achievement ...
Local data layer managing cached badge definitions, earned badges, and progress state using BLoC/Riverpod state management. Handles optimist...
Local data store that caches organization-specific impact multipliers (hourly rates, cost equivalents, professional support rate benchmarks)...
Data access layer that reads organization-specific impact multipliers (hourly rates, cost equivalents) from the local SQLite cache of organi...
Local data store that holds the bundled talking card content and any remotely refreshed updates. On first launch the store reads from the ap...
Local data store for talking card content bundled with the app. Stores card text, categories, and metadata in local SQLite for offline acces...
Persists user-level accessibility overrides such as preferred text scale factor, high-contrast mode toggle, and reduced-motion preference. R...
Local data store that persists the organisation-level sensitive field configuration on the device so that sensitivity rules are available of...
Local data store that persists the organisation-level sensitive field configuration retrieved from the backend. Supports offline access so t...
Persists the user's chosen locale preference to local storage via shared_preferences and restores it on app launch, ensuring the selected Sa...
Persists the user's selected locale preference to local storage (shared_preferences) and restores it on app launch so the language choice su...
Local SQLite-backed store that persists the last-known dashboard state per role, enabling immediate screen render on cold start before API d...
Local persistence layer for user preferences, backed by SQLite or Flutter SharedPreferences. Stores all configurable settings (language, bio...
Local persistence layer for user application preferences using shared preferences or local SQLite. Stores display settings, language selecti...
Local SQLite persistence layer for the external link catalog. Stores link objects containing title, URL, description, category, icon, and br...
Local SQLite data store for caching external link objects fetched from the API. Stores link title, URL, description, category, icon, and bro...
Local data store that caches FAQ items fetched from the API, enabling offline access and reducing redundant network calls. Persists items to...
Local data store that caches FAQ items fetched from the backend for offline access and fast client-side search. Persists FAQ content to loca...
Device-local SQLite database managed via the drift (formerly Moor) or sqflite Flutter plugin. Stores a mirrored subset of backend data neede...
On-device SQLite database managed via a Flutter plugin (sqflite or drift) that stores a subset of the user's operational data locally. It mi...
Persistent queue stored in local SQLite that records all data mutations (creates, updates, deletes) made while offline, along with timestamp...
Persistent queue that tracks all data mutations (creates, updates, deletes) made while offline, storing them with timestamps and retry count...
Persists the outcome of each background sync run to a local SQLite status table. Stores sync timestamps, per-entity success and failure coun...
Data access layer that executes optimized SQL aggregate queries against the PostgreSQL database to retrieve KPI metrics. Utilizes indexed co...
Data access layer that encapsulates PostgreSQL queries for KPI aggregation, using indexed columns on activities.created_at, activity_approva...
Encapsulates the SQL construction logic for the activity feed endpoint. Builds parameterized PostgreSQL queries with cursor-based pagination...
Data access layer that abstracts all PostgreSQL queries against the users, organizations, user_role_assignments, and user_local_associations...
Data access layer abstracting all PostgreSQL queries against the users, organizations, user_role_assignments, and user_local_associations ta...
Data access layer for role assignments. Handles reads and writes to the user_roles and user_role_assignments tables in PostgreSQL, including...
Data access layer for reading role definitions and reading/writing user role assignments. Provides typed queries against the user_roles and ...
Data access layer that performs batched database queries for bulk user operations. Handles multi-row updates within transactions, validates ...
Data access layer encapsulating all read and write operations on the activity_approvals table and the activities status field. Implements op...
Data access layer managing activity approval records and review queue queries. Handles status transitions on the activities table, creates a...
Data access layer for activity flag state, persisted as a status field and flag_reason column on the activities table alongside a flagged_by...
Data access layer managing all database interactions for expense approvals, expense claims, receipts, and reimbursements. Executes SQL queri...
Data access layer managing queries and mutations against the expense_approvals, expenses, expense_receipts, and audit_logs PostgreSQL tables...
Data access layer for the auto_approval_rules table, providing typed query methods used by both the rule engine at submission time and the C...
Data access layer for the auto_approval_rules table, handling persistence of rule configurations per organization. Provides queries for fetc...
Data access layer for reimbursement records, encapsulating all PostgreSQL queries including CTE-based aggregations and window function compu...
Data access layer encapsulating PostgreSQL queries against the reimbursements, expenses, expense_approvals, and users tables. Uses CTEs and ...
Data access layer that executes optimized PostgreSQL queries for activity aggregation, leveraging indexes on organization_id, created_at, an...
Data access layer for team report queries against the PostgreSQL database. Provides optimized read queries with indexes on organization_id, ...
Data access layer for persisting and retrieving Bufdir export records, including export metadata, file references, and audit trail. Tracks w...
Stores and retrieves the versioned JSON configuration that defines how internal Meander fields map to Bufdir output fields. Keeping mapping ...
Data access layer for the bufdir_reports table. Manages persistence of generated export records including metadata, status, and period cover...
Data access layer for the report_configs PostgreSQL table. Provides parameterized queries for all CRUD operations with tenant-scoped WHERE c...
Repository managing the report_configs table where saved report specifications are persisted. Stores the declarative specification as JSON a...
Maintains the allowlist of queryable fields with metadata including display name, data type, source table, required joins, and available fil...
Data access layer for the organization_settings and organizations tables, encapsulating all SQL queries and mutations behind a typed reposit...
Data access layer for organization settings persistence in PostgreSQL. Manages the organization_settings table with one-to-one relationship ...
Flutter Riverpod provider that loads the organization terminology map from the session bootstrap payload at login and persists it locally us...
Data access layer that reads and writes the JSONB terminology map field within the organization_settings table. Abstracts raw SQL operations...
Data access layer for reading and persisting terminology overrides in the organization_settings table. Manages the JSONB column containing t...
Data access layer for the feature_flags PostgreSQL table. Handles CRUD operations for per-organization feature flag records, including readi...
Data access layer for the feature_flags table in PostgreSQL. Handles persistence of per-organization feature flag overrides including organi...
Data access layer implementing the PostgreSQL closure table pattern for the organizations table. Provides efficient ancestor and descendant ...
Data access layer managing the organization hierarchy closure table in PostgreSQL. Handles CRUD operations for organizations and their paren...
Manages the lifecycle of PostgreSQL materialized views used for aggregate reporting across the organization hierarchy. Triggers nightly REFR...
Data access layer providing all CRUD operations against the user_local_associations junction table. Implements the partial unique index cons...
Data access layer for the user_local_associations junction table. Manages persistence of user-to-association relationships including the is_...
Repository for persisting per-organization external portal configuration, including encrypted API credentials, data-sharing rule sets, sync ...
Data persistence layer for storing portal integration configuration, sync operation history, retry queue entries, and conflict records. Stor...
Append-only store for all sync operation outcomes. Each record captures entity type, direction, timestamp, status, error details, and idempo...
Securely stores encrypted API credentials (OAuth2 tokens, API keys) for each organization's accounting system connection. Credentials are en...
Secure storage layer for per-organisation accounting system credentials. Encrypts API keys and OAuth tokens at rest, provides controlled acc...
Data access layer for persisting and querying accounting export records, account code mappings, and export batch status. Provides transactio...
Persists export batch records including status, timestamps, line item counts, external reference IDs, and error details. Supports querying e...
Data access layer that executes parameterized PostgreSQL queries over the audit_logs and sessions tables to retrieve raw security data. Prov...
Data access layer that executes PostgreSQL aggregation queries over audit_logs and sessions tables and manages the server-side metrics cache...
Data access layer for the audit_logs table, enforcing append-only semantics with no UPDATE or DELETE operations exposed. Implements cursor-b...
Data access layer for the audit_logs table providing append-only insert operations and efficient cursor-based read queries. Enforces databas...
Data access layer for the sessions and refresh_tokens tables. Handles CRUD operations for session records including device metadata, last-ac...
Data access layer managing the sessions and refresh_tokens tables in PostgreSQL. Provides CRUD operations for session records including devi...
Static or environment-driven data store holding hardcoded pricing tier definitions, comparison row labels, and TCO calculation parameters. A...
Data access layer responsible for all read and write operations on the demo_bookings and leads tables in PostgreSQL. Provides a typed reposi...
Data access layer for demo bookings and leads in PostgreSQL. Provides repository methods for creating, querying, and managing booking record...
localStorage-backed data layer that persists visitor cookie consent choices across page loads. Stores consent state per category alongside t...
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.