Skip to content

Commit 5021e6e

Browse files
Add feature flags for extended domain information (#864)
Add feature flags in dynamic config to control access to Extended Domain Information features (not used anywhere yet)
1 parent c66d595 commit 5021e6e

File tree

5 files changed

+46
-0
lines changed

5 files changed

+46
-0
lines changed

src/config/dynamic/dynamic.config.ts

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,11 @@ import clusters from './resolvers/clusters';
1010
import clustersPublic from './resolvers/clusters-public';
1111
import { type PublicClustersConfigs } from './resolvers/clusters-public.types';
1212
import { type ClustersConfigs } from './resolvers/clusters.types';
13+
import extendedDomainInfoEnabled from './resolvers/extended-domain-info-enabled';
14+
import {
15+
type ExtendedDomainInfoEnabledConfig,
16+
type ExtendedDomainInfoEnabledResolverParams,
17+
} from './resolvers/extended-domain-info-enabled.types';
1318
import workflowActionsEnabled from './resolvers/workflow-actions-enabled';
1419
import {
1520
type WorkflowActionsEnabledResolverParams,
@@ -36,6 +41,12 @@ const dynamicConfigs: {
3641
'request',
3742
true
3843
>;
44+
EXTENDED_DOMAIN_INFO_ENABLED: ConfigAsyncResolverDefinition<
45+
ExtendedDomainInfoEnabledResolverParams,
46+
ExtendedDomainInfoEnabledConfig,
47+
'request',
48+
true
49+
>;
3950
} = {
4051
CADENCE_WEB_PORT: {
4152
env: 'CADENCE_WEB_PORT',
@@ -60,6 +71,11 @@ const dynamicConfigs: {
6071
evaluateOn: 'request',
6172
isPublic: true,
6273
},
74+
EXTENDED_DOMAIN_INFO_ENABLED: {
75+
resolver: extendedDomainInfoEnabled,
76+
evaluateOn: 'request',
77+
isPublic: true,
78+
},
6379
} as const;
6480

6581
export default dynamicConfigs;
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
import {
2+
type ExtendedDomainInfoEnabledConfig,
3+
type ExtendedDomainInfoEnabledResolverParams,
4+
} from './extended-domain-info-enabled.types';
5+
6+
export default async function extendedDomainInfoEnabled(
7+
_: ExtendedDomainInfoEnabledResolverParams
8+
): Promise<ExtendedDomainInfoEnabledConfig> {
9+
return {
10+
metadata: false,
11+
issues: false,
12+
};
13+
}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
export type ExtendedDomainInfoEnabledResolverParams = Record<string, any>;
2+
3+
export type ExtendedDomainInfoEnabledConfig = {
4+
metadata: boolean;
5+
issues: boolean;
6+
};

src/config/dynamic/resolvers/schemas/resolver-schemas.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,13 @@ const resolverSchemas: ResolverSchemas = {
4141
restart: workflowActionsEnabledValueSchema,
4242
}),
4343
},
44+
EXTENDED_DOMAIN_INFO_ENABLED: {
45+
args: z.record(z.string(), z.any()),
46+
returnType: z.object({
47+
metadata: z.boolean(),
48+
issues: z.boolean(),
49+
}),
50+
},
4451
};
4552

4653
export default resolverSchemas;

src/utils/config/__fixtures__/resolved-config-values.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,5 +32,9 @@ const mockResolvedConfigValues: LoadedConfigResolvedValues = {
3232
cancel: 'ENABLED',
3333
restart: 'ENABLED',
3434
},
35+
EXTENDED_DOMAIN_INFO_ENABLED: {
36+
metadata: false,
37+
issues: false,
38+
},
3539
};
3640
export default mockResolvedConfigValues;

0 commit comments

Comments
 (0)