Overview
Atlas has a global configuration document:- Model:
OrgManagementConfig - Schema:
Meridian/backend/schemas/orgManagementConfig.js - Collection:
orgManagementConfigs - Access: via
findOne()(singleton pattern)
/feature-admin/atlas) and drives behavior in:
- Verification submission rules
- Tier catalog
- Analytics retention
- Messaging constraints
Backend APIs
Read config
GET /org-management/config- Auth: admin/root only
- Behavior:
- creates a default config document if none exists
Update config
localConfig)
Implementation details:
- Fields not mentioned in
$setare preserved - Arrays are assigned as whole values (no deep merge)
- Deeply nested objects like
messaging.notificationSettingsare flattened and updated per-key
Frontend admin UI mapping
Component:Meridian/frontend/src/pages/FeatureAdmin/OrgManagement/Configuration/Configuration.jsx
- loads config via
useFetch('/org-management/config') - deep clones into
localConfig - tracks unsaved changes by comparing to a stored snapshot (
originalDataRef) - saves via
apiRequest('/org-management/config', localConfig, { method: 'PUT' })
section prop:
generalverification-typesreview-workflowpoliciesmessaging
Key config fields (developer summary)
Verification
verificationEnabledallowedRequestTypes[]verificationTiersobject keyed by tier id:- each tier contains
requirementsandbenefits
- each tier contains
Feature access
featureAccess.eventCreationfeatureAccess.memberManagementfeatureAccess.fundingRequestsfeatureAccess.spaceReservation
Review workflow
reviewWorkflow.requireMultipleApproversreviewWorkflow.minApproversreviewWorkflow.autoEscalateAfterDays
Messaging (global constraints)
The org message routes consult these global values (if present):- max/min character limits
- profanity filter enforcement flag
- notification settings
Safe ways to extend config
When adding new configuration underOrgManagementConfig:
Backend inclusion
Ensure backend
PUT /org-management/config includes it (automatic if in request body)If you need 3+ levels deep consistently, consider writing a generic “flatten to dot paths” helper with recursion.