Feature Flag Service
Component Detail
Service Layer
medium complexity
backend
1
Dependencies
1
Dependents
9
Entities
0
Integrations
Description
Backend service managing feature flag CRUD operations, cache invalidation, and propagation. Reads the static feature registry for known feature keys and default states, persists per-organization overrides in PostgreSQL, and maintains a Redis cache with 60-second TTL for low-latency flag evaluation on every API request.
feature-flag-service
Responsibilities
- CRUD operations for per-organization feature flag overrides
- Read static feature registry for known keys, defaults, and descriptions
- Maintain Redis cache with 60-second TTL for fast flag lookups
- Enforce feature access server-side in API middleware regardless of client state
- Include feature map in session bootstrap payload for mobile app consumption
Interfaces
getFeatureFlags(organizationId: string): FeatureFlag[]
toggleFeature(organizationId: string, featureKey: string, enabled: boolean): FeatureFlag
getFeatureFlag(organizationId: string, featureKey: string): FeatureFlag
isFeatureEnabled(organizationId: string, featureKey: string): boolean
getFeatureRegistry(): FeatureRegistryEntry[]
invalidateCache(organizationId: string): void
getSessionBootstrapFlags(organizationId: string): Record<string, boolean>
bulkUpdateFlags(organizationId: string, updates: FlagUpdate[]): FeatureFlag[]
Relationships
Related Data Entities (9)
Data entities managed by this component
Annual Summary
20 fields
derived
Feature Flag
8 fields
configuration
Organization
17 fields
core
Organization Setting
21 fields
configuration
Achievement Types
17 fields
configuration
Feature Flags
10 fields
configuration
Organization Settings
27 fields
configuration
Organizations
25 fields
core
User Roles
13 fields
core