Feature Flags
The FeatureFlagsController provides endpoints for managing feature flags that gate behavior across the platform β both in the Admin API and the frontend.
Endpointsβ
| Endpoint | Method | Purpose |
|---|---|---|
/featureflags | GET | List all feature flags |
/featureflags/{id} | GET | Get a specific flag's current state |
/featureflags | POST | Create a new feature flag |
/featureflags/{id} | PUT | Update a flag (enable/disable, change config) |
/featureflags/{id} | DELETE | Remove a feature flag |
How Flags Are Usedβ
Feature flags are stored in Cosmos DB and consumed by:
- Admin API β Backend logic checks flags before executing gated operations
- Frontend β The React SPA fetches flags at startup and gates UI features
- Image Acquisition Engine β Orchestration behavior can be modified by flags (e.g., enabling panoramic mode for specific cameras)
CQRS Handlersβ
GetAllFeatureFlagsQueryβ Returns all flags with their current statesGetFeatureFlagByIdQueryβ Single flag lookupCreateFeatureFlagCommandβ Creates a new flagUpdateFeatureFlagCommandβ Toggles or updates flag configurationDeleteFeatureFlagCommandβ Removes a flag