web / lib/services/feature-flag-service
lib/services/feature-flag-service
Service for reading and caching feature flags from Settings global.
Provides type-safe access to feature flags with in-memory caching and fallback to defaults when settings are unavailable.
Interfaces
FeatureFlags
Properties
allowPrivateImports
allowPrivateImports:
boolean
enableScheduledImports
enableScheduledImports:
boolean
enableRegistration
enableRegistration:
boolean
enableEventCreation
enableEventCreation:
boolean
enableDatasetCreation
enableDatasetCreation:
boolean
enableImportCreation
enableImportCreation:
boolean
enableScheduledJobExecution
enableScheduledJobExecution:
boolean
enableUrlFetchCaching
enableUrlFetchCaching:
boolean
Variables
DISABLED_FLAGS
constDISABLED_FLAGS:FeatureFlags
Fail-closed defaults returned when the database is unavailable.
Functions
getFeatureFlagService()
getFeatureFlagService(
payload):FeatureFlagService
Parameters
payload
BasePayload
Returns
FeatureFlagService
resetFeatureFlagService()
resetFeatureFlagService():
void
Reset the feature flag service singleton (for testing). Call this in beforeEach to ensure clean state between tests.
Returns
void
getFeatureFlags()
getFeatureFlags(
payload):Promise<FeatureFlags>
Retrieves all feature flags with caching.
Parameters
payload
BasePayload
Returns
Promise<FeatureFlags>
isFeatureEnabled()
isFeatureEnabled(
payload,flag):Promise<boolean>
Checks if a specific feature flag is enabled.
Parameters
payload
BasePayload
flag
keyof FeatureFlags
Returns
Promise<boolean>
getDefaultFeatureFlags()
getDefaultFeatureFlags():
FeatureFlags
Returns the default feature flags.
Useful for testing or when database is unavailable.