unleash-server 5.2.5 → 5.2.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/routes/admin-api/project/project-features.d.ts +5 -3
- package/dist/lib/routes/admin-api/project/project-features.js +23 -1
- package/dist/lib/routes/admin-api/project/project-features.js.map +1 -1
- package/dist/lib/routes/admin-api/tag.d.ts +0 -2
- package/dist/lib/routes/admin-api/tag.js +1 -21
- package/dist/lib/routes/admin-api/tag.js.map +1 -1
- package/dist/test/e2e/api/admin/tags.e2e.test.js +3 -3
- package/dist/test/e2e/api/admin/tags.e2e.test.js.map +1 -1
- package/frontend/build/index.html +1 -1
- package/frontend/build/static/{AdvancedPlayground-23b331cd.js → AdvancedPlayground-fa382438.js} +1 -1
- package/frontend/build/static/{CreateProject-3de26b03.js → CreateProject-33102f1d.js} +1 -1
- package/frontend/build/static/{Error-3f9f3bb5.js → Error-cf795e47.js} +1 -1
- package/frontend/build/static/{FeatureArchiveDialog-33634918.js → FeatureArchiveDialog-7c45ad83.js} +4 -4
- package/frontend/build/static/{FeatureMetricsChart-29151824.js → FeatureMetricsChart-098be7ad.js} +1 -1
- package/frontend/build/static/{FeatureViewLazyExport-440af9f1.js → FeatureViewLazyExport-c74a2e4d.js} +2 -2
- package/frontend/build/static/{LazyAdminExport-2f4272d5.js → LazyAdminExport-c83e066d.js} +2 -2
- package/frontend/build/static/{LazyProjectExport-eb893846.js → LazyProjectExport-0e097671.js} +1 -1
- package/frontend/build/static/{NetworkOverview-01bb5ab9.js → NetworkOverview-d29a2982.js} +2 -2
- package/frontend/build/static/{NetworkTraffic-6f341b62.js → NetworkTraffic-75dedea1.js} +1 -1
- package/frontend/build/static/{Playground-85262bd8.js → Playground-2547cabf.js} +1 -1
- package/frontend/build/static/{PlaygroundGuidancePopper-b41d2afe.js → PlaygroundGuidancePopper-de0c6f7c.js} +1 -1
- package/frontend/build/static/{RoleCell-90199573.js → RoleCell-86b02c95.js} +1 -1
- package/frontend/build/static/{StrategyItemContainer-bb74986e.js → StrategyItemContainer-cada0ab5.js} +1 -1
- package/frontend/build/static/{chartjs-adapter-date-fns.esm-4f594471.js → chartjs-adapter-date-fns.esm-d78073b7.js} +1 -1
- package/frontend/build/static/{flowchart-elk-definition-170a3958-bdf223e6.js → flowchart-elk-definition-170a3958-3edd9f6d.js} +1 -1
- package/frontend/build/static/{index-d11f5e3e.js → index-1023a005.js} +1 -1
- package/frontend/build/static/{index-56e4c3f3.js → index-4f1029d3.js} +1 -1
- package/frontend/build/static/{index-6c460833.js → index-6d9a536e.js} +2 -2
- package/frontend/build/static/{is_dark-8e88e01a.js → is_dark-4cf688db.js} +1 -1
- package/frontend/build/static/{mindmap-definition-44684416-33fa2a43.js → mindmap-definition-44684416-d564c247.js} +1 -1
- package/frontend/build/static/{timeline-definition-8e5a9bc6-5a93a392.js → timeline-definition-8e5a9bc6-d80977bf.js} +1 -1
- package/frontend/build/static/{unknownify-ad38e3d1.js → unknownify-e541f268.js} +1 -1
- package/package.json +1 -1
|
@@ -3,7 +3,7 @@ import { Operation } from 'fast-json-patch';
|
|
|
3
3
|
import Controller from '../../controller';
|
|
4
4
|
import { IUnleashConfig, IUnleashServices } from '../../../types';
|
|
5
5
|
import { IAuthRequest } from '../../unleash-types';
|
|
6
|
-
import { AdminFeaturesQuerySchema, BulkToggleFeaturesSchema, CreateFeatureSchema, CreateFeatureStrategySchema, FeatureEnvironmentSchema, FeatureSchema, FeaturesSchema, FeatureStrategySchema, ParametersSchema, SetStrategySortOrderSchema, UpdateFeatureSchema, UpdateFeatureStrategySchema } from '../../../openapi';
|
|
6
|
+
import { AdminFeaturesQuerySchema, BulkToggleFeaturesSchema, CreateFeatureSchema, CreateFeatureStrategySchema, FeatureEnvironmentSchema, FeatureSchema, FeaturesSchema, FeatureStrategySchema, ParametersSchema, SetStrategySortOrderSchema, TagsBulkAddSchema, TagSchema, UpdateFeatureSchema, UpdateFeatureStrategySchema } from '../../../openapi';
|
|
7
7
|
import { BatchStaleSchema } from '../../../openapi/spec/batch-stale-schema';
|
|
8
8
|
import { TransactionCreator, UnleashTransaction } from '../../../db/transaction';
|
|
9
9
|
interface FeatureStrategyParams {
|
|
@@ -34,15 +34,16 @@ export interface IFeatureProjectUserParams extends ProjectParam {
|
|
|
34
34
|
tag?: string[][];
|
|
35
35
|
namePrefix?: string;
|
|
36
36
|
}
|
|
37
|
-
declare type ProjectFeaturesServices = Pick<IUnleashServices, 'featureToggleServiceV2' | 'projectHealthService' | 'openApiService' | 'transactionalFeatureToggleService'>;
|
|
37
|
+
declare type ProjectFeaturesServices = Pick<IUnleashServices, 'featureToggleServiceV2' | 'projectHealthService' | 'openApiService' | 'transactionalFeatureToggleService' | 'featureTagService'>;
|
|
38
38
|
export default class ProjectFeaturesController extends Controller {
|
|
39
39
|
private featureService;
|
|
40
|
+
private featureTagService;
|
|
40
41
|
private transactionalFeatureToggleService;
|
|
41
42
|
private openApiService;
|
|
42
43
|
private flagResolver;
|
|
43
44
|
private readonly logger;
|
|
44
45
|
private readonly startTransaction;
|
|
45
|
-
constructor(config: IUnleashConfig, { featureToggleServiceV2, openApiService, transactionalFeatureToggleService, }: ProjectFeaturesServices, startTransaction: TransactionCreator<UnleashTransaction>);
|
|
46
|
+
constructor(config: IUnleashConfig, { featureToggleServiceV2, openApiService, transactionalFeatureToggleService, featureTagService, }: ProjectFeaturesServices, startTransaction: TransactionCreator<UnleashTransaction>);
|
|
46
47
|
getFeatures(req: IAuthRequest<ProjectParam, any, any, AdminFeaturesQuerySchema>, res: Response<FeaturesSchema>): Promise<void>;
|
|
47
48
|
prepQuery({ tag, namePrefix }: AdminFeaturesQuerySchema, projectId: string): Promise<IFeatureProjectUserParams>;
|
|
48
49
|
paramToArray(param: any): Array<any>;
|
|
@@ -83,6 +84,7 @@ export default class ProjectFeaturesController extends Controller {
|
|
|
83
84
|
name: string;
|
|
84
85
|
value: string | number;
|
|
85
86
|
}, any>, res: Response<FeatureStrategySchema>): Promise<void>;
|
|
87
|
+
updateFeaturesTags(req: IAuthRequest<void, void, TagsBulkAddSchema>, res: Response<TagSchema>): Promise<void>;
|
|
86
88
|
getStrategyParameters(req: Request<StrategyIdParams, any, any, any>, res: Response<ParametersSchema>): Promise<void>;
|
|
87
89
|
}
|
|
88
90
|
export {};
|
|
@@ -11,6 +11,7 @@ const openapi_1 = require("../../../openapi");
|
|
|
11
11
|
const feature_schema_1 = require("../../../schema/feature-schema");
|
|
12
12
|
const PATH = '/:projectId/features';
|
|
13
13
|
const PATH_STALE = '/:projectId/stale';
|
|
14
|
+
const PATH_TAGS = `/:projectId/tags`;
|
|
14
15
|
const PATH_FEATURE = `${PATH}/:featureName`;
|
|
15
16
|
const PATH_FEATURE_CLONE = `${PATH_FEATURE}/clone`;
|
|
16
17
|
const PATH_ENV = `${PATH_FEATURE}/environments/:environment`;
|
|
@@ -18,13 +19,14 @@ const BULK_PATH_ENV = `/:projectId/bulk_features/environments/:environment`;
|
|
|
18
19
|
const PATH_STRATEGIES = `${PATH_ENV}/strategies`;
|
|
19
20
|
const PATH_STRATEGY = `${PATH_STRATEGIES}/:strategyId`;
|
|
20
21
|
class ProjectFeaturesController extends controller_1.default {
|
|
21
|
-
constructor(config, { featureToggleServiceV2, openApiService, transactionalFeatureToggleService, }, startTransaction) {
|
|
22
|
+
constructor(config, { featureToggleServiceV2, openApiService, transactionalFeatureToggleService, featureTagService, }, startTransaction) {
|
|
22
23
|
super(config);
|
|
23
24
|
this.featureService = featureToggleServiceV2;
|
|
24
25
|
this.transactionalFeatureToggleService =
|
|
25
26
|
transactionalFeatureToggleService;
|
|
26
27
|
this.startTransaction = startTransaction;
|
|
27
28
|
this.openApiService = openApiService;
|
|
29
|
+
this.featureTagService = featureTagService;
|
|
28
30
|
this.flagResolver = config.flagResolver;
|
|
29
31
|
this.logger = config.getLogger('/admin-api/project/features.ts');
|
|
30
32
|
this.route({
|
|
@@ -339,6 +341,20 @@ class ProjectFeaturesController extends controller_1.default {
|
|
|
339
341
|
}),
|
|
340
342
|
],
|
|
341
343
|
});
|
|
344
|
+
this.route({
|
|
345
|
+
method: 'put',
|
|
346
|
+
path: PATH_TAGS,
|
|
347
|
+
handler: this.updateFeaturesTags,
|
|
348
|
+
permission: types_1.UPDATE_FEATURE,
|
|
349
|
+
middleware: [
|
|
350
|
+
openApiService.validPath({
|
|
351
|
+
tags: ['Tags'],
|
|
352
|
+
operationId: 'addTagToFeatures',
|
|
353
|
+
requestBody: (0, openapi_1.createRequestSchema)('tagsBulkAddSchema'),
|
|
354
|
+
responses: { 200: openapi_1.emptyResponse },
|
|
355
|
+
}),
|
|
356
|
+
],
|
|
357
|
+
});
|
|
342
358
|
}
|
|
343
359
|
async getFeatures(req, res) {
|
|
344
360
|
const { projectId } = req.params;
|
|
@@ -530,6 +546,12 @@ class ProjectFeaturesController extends controller_1.default {
|
|
|
530
546
|
const updatedStrategy = await this.featureService.updateStrategyParameter(strategyId, name, value, { environment, projectId, featureName }, userName);
|
|
531
547
|
res.status(200).json(updatedStrategy);
|
|
532
548
|
}
|
|
549
|
+
async updateFeaturesTags(req, res) {
|
|
550
|
+
const { features, tags } = req.body;
|
|
551
|
+
const userName = (0, util_1.extractUsername)(req);
|
|
552
|
+
await this.featureTagService.updateTags(features, tags.addedTags, tags.removedTags, userName);
|
|
553
|
+
res.status(200).end();
|
|
554
|
+
}
|
|
533
555
|
async getStrategyParameters(req, res) {
|
|
534
556
|
this.logger.info('Getting strategy parameters');
|
|
535
557
|
const { strategyId } = req.params;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project-features.js","sourceRoot":"","sources":["../../../../../src/lib/routes/admin-api/project/project-features.ts"],"names":[],"mappings":";;;;;AACA,qDAAwD;AACxD,kEAA0C;AAC1C,0CAawB;AAExB,wCAAgD;AAEhD,8CAoB0B;AAE1B,mEAA6D;AA2C7D,MAAM,IAAI,GAAG,sBAAsB,CAAC;AACpC,MAAM,UAAU,GAAG,mBAAmB,CAAC;AACvC,MAAM,YAAY,GAAG,GAAG,IAAI,eAAe,CAAC;AAC5C,MAAM,kBAAkB,GAAG,GAAG,YAAY,QAAQ,CAAC;AACnD,MAAM,QAAQ,GAAG,GAAG,YAAY,4BAA4B,CAAC;AAC7D,MAAM,aAAa,GAAG,qDAAqD,CAAC;AAC5E,MAAM,eAAe,GAAG,GAAG,QAAQ,aAAa,CAAC;AACjD,MAAM,aAAa,GAAG,GAAG,eAAe,cAAc,CAAC;AAUvD,MAAqB,yBAA0B,SAAQ,oBAAU;IAe7D,YACI,MAAsB,EACtB,EACI,sBAAsB,EACtB,cAAc,EACd,iCAAiC,GACX,EAC1B,gBAAwD;QAExD,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,IAAI,CAAC,cAAc,GAAG,sBAAsB,CAAC;QAC7C,IAAI,CAAC,iCAAiC;YAClC,iCAAiC,CAAC;QACtC,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACzC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;QACxC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,gCAAgC,CAAC,CAAC;QAEjE,IAAI,CAAC,KAAK,CAAC;YACP,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,YAAI;YAChB,OAAO,EAAE,IAAI,CAAC,qBAAqB;YACnC,UAAU,EAAE;gBACR,cAAc,CAAC,SAAS,CAAC;oBACrB,IAAI,EAAE,CAAC,UAAU,CAAC;oBAClB,WAAW,EAAE,uBAAuB;oBACpC,SAAS,EAAE;wBACP,GAAG,EAAE,IAAA,8BAAoB,EAAC,0BAA0B,CAAC;qBACxD;iBACJ,CAAC;aACL;SACJ,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,CAAC;YACP,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,GAAG,QAAQ,MAAM;YACvB,oBAAoB,EAAE,IAAI;YAC1B,OAAO,EAAE,IAAI,CAAC,2BAA2B;YACzC,UAAU,EAAE,kCAA0B;YACtC,UAAU,EAAE;gBACR,cAAc,CAAC,SAAS,CAAC;oBACrB,IAAI,EAAE,CAAC,UAAU,CAAC;oBAClB,WAAW,EAAE,6BAA6B;oBAC1C,SAAS,EAAE,EAAE,GAAG,EAAE,IAAA,8BAAoB,EAAC,eAAe,CAAC,EAAE;iBAC5D,CAAC;aACL;SACJ,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,CAAC;YACP,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,GAAG,QAAQ,KAAK;YACtB,oBAAoB,EAAE,IAAI;YAC1B,OAAO,EAAE,IAAI,CAAC,0BAA0B;YACxC,UAAU,EAAE,kCAA0B;YACtC,UAAU,EAAE;gBACR,cAAc,CAAC,SAAS,CAAC;oBACrB,IAAI,EAAE,CAAC,UAAU,CAAC;oBAClB,WAAW,EAAE,4BAA4B;oBACzC,SAAS,EAAE,EAAE,GAAG,EAAE,IAAA,8BAAoB,EAAC,eAAe,CAAC,EAAE;iBAC5D,CAAC;aACL;SACJ,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,CAAC;YACP,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,GAAG,aAAa,KAAK;YAC3B,OAAO,EAAE,IAAI,CAAC,+BAA+B;YAC7C,UAAU,EAAE,kCAA0B;YACtC,UAAU,EAAE;gBACR,cAAc,CAAC,SAAS,CAAC;oBACrB,IAAI,EAAE,CAAC,UAAU,CAAC;oBAClB,WAAW,EACP,iDAAiD;oBACrD,OAAO,EAAE,iCAAiC;oBAC1C,WAAW,EAAE,iCAAiC;oBAC9C,WAAW,EAAE,IAAA,6BAAmB,EAC5B,0BAA0B,CAC7B;oBACD,SAAS,EAAE,EAAE,GAAG,EAAE,uBAAa,EAAE;iBACpC,CAAC;aACL;SACJ,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,CAAC;YACP,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,GAAG,aAAa,MAAM;YAC5B,OAAO,EAAE,IAAI,CAAC,gCAAgC;YAC9C,UAAU,EAAE,kCAA0B;YACtC,UAAU,EAAE;gBACR,cAAc,CAAC,SAAS,CAAC;oBACrB,IAAI,EAAE,CAAC,UAAU,CAAC;oBAClB,WAAW,EACP,kDAAkD;oBACtD,OAAO,EAAE,mCAAmC;oBAC5C,WAAW,EAAE,kCAAkC;oBAC/C,WAAW,EAAE,IAAA,6BAAmB,EAC5B,0BAA0B,CAC7B;oBACD,SAAS,EAAE,EAAE,GAAG,EAAE,uBAAa,EAAE;iBACpC,CAAC;aACL;SACJ,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,CAAC;YACP,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,eAAe;YACrB,OAAO,EAAE,IAAI,CAAC,oBAAoB;YAClC,UAAU,EAAE,YAAI;YAChB,UAAU,EAAE;gBACR,cAAc,CAAC,SAAS,CAAC;oBACrB,IAAI,EAAE,CAAC,UAAU,CAAC;oBAClB,WAAW,EAAE,sBAAsB;oBACnC,SAAS,EAAE;wBACP,GAAG,EAAE,IAAA,8BAAoB,EAAC,uBAAuB,CAAC;qBACrD;iBACJ,CAAC;aACL;SACJ,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,CAAC;YACP,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,eAAe;YACrB,OAAO,EAAE,IAAI,CAAC,kBAAkB;YAChC,UAAU,EAAE,+BAAuB;YACnC,UAAU,EAAE;gBACR,cAAc,CAAC,SAAS,CAAC;oBACrB,IAAI,EAAE,CAAC,UAAU,CAAC;oBAClB,WAAW,EAAE,oBAAoB;oBACjC,WAAW,EAAE,IAAA,6BAAmB,EAC5B,6BAA6B,CAChC;oBACD,SAAS,EAAE;wBACP,GAAG,EAAE,IAAA,8BAAoB,EAAC,uBAAuB,CAAC;qBACrD;iBACJ,CAAC;aACL;SACJ,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,CAAC;YACP,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,IAAI,CAAC,kBAAkB;YAChC,UAAU,EAAE,YAAI;YAChB,UAAU,EAAE;gBACR,cAAc,CAAC,SAAS,CAAC;oBACrB,IAAI,EAAE,CAAC,UAAU,CAAC;oBAClB,WAAW,EAAE,oBAAoB;oBACjC,SAAS,EAAE;wBACP,GAAG,EAAE,IAAA,8BAAoB,EAAC,uBAAuB,CAAC;qBACrD;iBACJ,CAAC;aACL;SACJ,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,CAAC;YACP,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,GAAG,eAAe,iBAAiB;YACzC,OAAO,EAAE,IAAI,CAAC,sBAAsB;YACpC,UAAU,EAAE,+BAAuB;YACnC,UAAU,EAAE;gBACR,cAAc,CAAC,SAAS,CAAC;oBACrB,IAAI,EAAE,CAAC,UAAU,CAAC;oBAClB,WAAW,EAAE,sBAAsB;oBACnC,WAAW,EAAE,IAAA,6BAAmB,EAC5B,4BAA4B,CAC/B;oBACD,SAAS,EAAE;wBACP,GAAG,EAAE,uBAAa;qBACrB;iBACJ,CAAC;aACL;SACJ,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,CAAC;YACP,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,IAAI,CAAC,qBAAqB;YACnC,UAAU,EAAE,+BAAuB;YACnC,UAAU,EAAE;gBACR,cAAc,CAAC,SAAS,CAAC;oBACrB,IAAI,EAAE,CAAC,UAAU,CAAC;oBAClB,WAAW,EAAE,uBAAuB;oBACpC,WAAW,EAAE,IAAA,6BAAmB,EAC5B,6BAA6B,CAChC;oBACD,SAAS,EAAE;wBACP,GAAG,EAAE,IAAA,8BAAoB,EAAC,uBAAuB,CAAC;qBACrD;iBACJ,CAAC;aACL;SACJ,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,CAAC;YACP,MAAM,EAAE,OAAO;YACf,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,IAAI,CAAC,oBAAoB;YAClC,UAAU,EAAE,+BAAuB;YACnC,UAAU,EAAE;gBACR,cAAc,CAAC,SAAS,CAAC;oBACrB,IAAI,EAAE,CAAC,UAAU,CAAC;oBAClB,WAAW,EAAE,sBAAsB;oBACnC,WAAW,EAAE,IAAA,6BAAmB,EAAC,eAAe,CAAC;oBACjD,SAAS,EAAE;wBACP,GAAG,EAAE,IAAA,8BAAoB,EAAC,uBAAuB,CAAC;qBACrD;iBACJ,CAAC;aACL;SACJ,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,CAAC;YACP,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE,aAAa;YACnB,oBAAoB,EAAE,IAAI;YAC1B,OAAO,EAAE,IAAI,CAAC,qBAAqB;YACnC,UAAU,EAAE,+BAAuB;YACnC,UAAU,EAAE;gBACR,cAAc,CAAC,SAAS,CAAC;oBACrB,WAAW,EAAE,uBAAuB;oBACpC,IAAI,EAAE,CAAC,UAAU,CAAC;oBAClB,SAAS,EAAE,EAAE,GAAG,EAAE,uBAAa,EAAE;iBACpC,CAAC;aACL;SACJ,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,CAAC;YACP,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,IAAI;YACV,OAAO,EAAE,IAAI,CAAC,WAAW;YACzB,UAAU,EAAE,YAAI;YAChB,UAAU,EAAE;gBACR,cAAc,CAAC,SAAS,CAAC;oBACrB,IAAI,EAAE,CAAC,UAAU,CAAC;oBAClB,WAAW,EAAE,aAAa;oBAC1B,SAAS,EAAE,EAAE,GAAG,EAAE,IAAA,8BAAoB,EAAC,gBAAgB,CAAC,EAAE;iBAC7D,CAAC;aACL;SACJ,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,CAAC;YACP,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI;YACV,OAAO,EAAE,IAAI,CAAC,aAAa;YAC3B,UAAU,EAAE,sBAAc;YAC1B,UAAU,EAAE;gBACR,cAAc,CAAC,SAAS,CAAC;oBACrB,IAAI,EAAE,CAAC,UAAU,CAAC;oBAClB,WAAW,EAAE,eAAe;oBAC5B,WAAW,EAAE,IAAA,6BAAmB,EAAC,qBAAqB,CAAC;oBACvD,SAAS,EAAE,EAAE,GAAG,EAAE,IAAA,8BAAoB,EAAC,eAAe,CAAC,EAAE;iBAC5D,CAAC;aACL;SACJ,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,CAAC;YACP,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,kBAAkB;YACxB,oBAAoB,EAAE,IAAI;YAC1B,OAAO,EAAE,IAAI,CAAC,YAAY;YAC1B,UAAU,EAAE,sBAAc;YAC1B,UAAU,EAAE;gBACR,cAAc,CAAC,SAAS,CAAC;oBACrB,IAAI,EAAE,CAAC,UAAU,CAAC;oBAClB,WAAW,EAAE,cAAc;oBAC3B,WAAW,EAAE,IAAA,6BAAmB,EAAC,oBAAoB,CAAC;oBACtD,SAAS,EAAE,EAAE,GAAG,EAAE,IAAA,8BAAoB,EAAC,eAAe,CAAC,EAAE;iBAC5D,CAAC;aACL;SACJ,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,CAAC;YACP,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,YAAY;YAClB,OAAO,EAAE,IAAI,CAAC,UAAU;YACxB,UAAU,EAAE,YAAI;YAChB,UAAU,EAAE;gBACR,cAAc,CAAC,SAAS,CAAC;oBACrB,WAAW,EAAE,YAAY;oBACzB,IAAI,EAAE,CAAC,UAAU,CAAC;oBAClB,WAAW,EACP,oHAAoH;oBACxH,OAAO,EAAE,gBAAgB;oBACzB,SAAS,EAAE;wBACP,GAAG,EAAE,IAAA,8BAAoB,EAAC,eAAe,CAAC;wBAC1C,GAAG,EAAE;4BACD,WAAW,EACP,yEAAyE;yBAChF;wBACD,GAAG,IAAA,8BAAoB,EAAC,GAAG,EAAE,GAAG,CAAC;qBACpC;iBACJ,CAAC;aACL;SACJ,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,CAAC;YACP,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,YAAY;YAClB,OAAO,EAAE,IAAI,CAAC,aAAa;YAC3B,UAAU,EAAE,sBAAc;YAC1B,UAAU,EAAE;gBACR,cAAc,CAAC,SAAS,CAAC;oBACrB,IAAI,EAAE,CAAC,UAAU,CAAC;oBAClB,WAAW,EAAE,eAAe;oBAC5B,WAAW,EAAE,IAAA,6BAAmB,EAAC,qBAAqB,CAAC;oBACvD,SAAS,EAAE,EAAE,GAAG,EAAE,IAAA,8BAAoB,EAAC,eAAe,CAAC,EAAE;iBAC5D,CAAC;aACL;SACJ,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,CAAC;YACP,MAAM,EAAE,OAAO;YACf,IAAI,EAAE,YAAY;YAClB,OAAO,EAAE,IAAI,CAAC,YAAY;YAC1B,UAAU,EAAE,sBAAc;YAC1B,UAAU,EAAE;gBACR,cAAc,CAAC,SAAS,CAAC;oBACrB,IAAI,EAAE,CAAC,UAAU,CAAC;oBAClB,WAAW,EAAE,cAAc;oBAC3B,WAAW,EAAE,IAAA,6BAAmB,EAAC,eAAe,CAAC;oBACjD,SAAS,EAAE,EAAE,GAAG,EAAE,IAAA,8BAAoB,EAAC,eAAe,CAAC,EAAE;iBAC5D,CAAC;aACL;SACJ,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,CAAC;YACP,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE,YAAY;YAClB,oBAAoB,EAAE,IAAI;YAC1B,OAAO,EAAE,IAAI,CAAC,cAAc;YAC5B,UAAU,EAAE,sBAAc;YAC1B,UAAU,EAAE;gBACR,cAAc,CAAC,SAAS,CAAC;oBACrB,IAAI,EAAE,CAAC,UAAU,CAAC;oBAClB,WAAW,EAAE,gBAAgB;oBAC7B,WAAW,EACP,+FAA+F;oBACnG,OAAO,EAAE,oBAAoB;oBAC7B,SAAS,EAAE;wBACP,GAAG,EAAE,uBAAa;wBAClB,GAAG,EAAE;4BACD,WAAW,EACP,yEAAyE;yBAChF;wBACD,GAAG,IAAA,8BAAoB,EAAC,GAAG,EAAE,GAAG,CAAC;qBACpC;iBACJ,CAAC;aACL;SACJ,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,CAAC;YACP,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,IAAI,CAAC,aAAa;YAC3B,UAAU,EAAE,sBAAc;YAC1B,UAAU,EAAE;gBACR,cAAc,CAAC,SAAS,CAAC;oBACrB,IAAI,EAAE,CAAC,UAAU,CAAC;oBAClB,WAAW,EAAE,eAAe;oBAC5B,WAAW,EAAE,8CAA8C;oBAC3D,OAAO,EAAE,2BAA2B;oBACpC,WAAW,EAAE,IAAA,6BAAmB,EAAC,kBAAkB,CAAC;oBACpD,SAAS,EAAE,EAAE,GAAG,EAAE,uBAAa,EAAE;iBACpC,CAAC;aACL;SACJ,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,WAAW,CACb,GAAmE,EACnE,GAA6B;QAE7B,MAAM,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;QACjC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QACzD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC;YAC1D,GAAG,KAAK;YACR,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE;SACtB,CAAC,CAAC;QACH,IAAI,CAAC,cAAc,CAAC,qBAAqB,CACrC,GAAG,EACH,GAAG,EACH,wBAAc,CAAC,GAAG,EAClB,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAA,sBAAc,EAAC,QAAQ,CAAC,EAAE,CACrD,CAAC;IACN,CAAC;IAED,KAAK,CAAC,SAAS;IACX,6EAA6E;IAC7E,EAAE,GAAG,EAAE,UAAU,EAA4B,EAC7C,SAAiB;QAEjB,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE;YACrB,OAAO,EAAE,SAAS,EAAE,CAAC;SACxB;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QACxC,MAAM,KAAK,GAAG,MAAM,4BAAW,CAAC,aAAa,CAAC;YAC1C,GAAG,EAAE,QAAQ;YACb,UAAU;SACb,CAAC,CAAC;QACH,IAAI,KAAK,CAAC,GAAG,EAAE;YACX,KAAK,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;SAClD;QACD,OAAO,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,CAAC;IACnC,CAAC;IAED,6EAA6E;IAC7E,YAAY,CAAC,KAAU;QACnB,IAAI,CAAC,KAAK,EAAE;YACR,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,YAAY,CACd,GAIC,EACD,GAA4B;QAE5B,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;QAC9C,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC;QAC1C,MAAM,QAAQ,GAAG,IAAA,sBAAe,EAAC,GAAG,CAAC,CAAC;QACtC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,kBAAkB,CACxD,WAAW,EACX,SAAS,EACT,IAAI,EACJ,cAAc,EACd,QAAQ,CACX,CAAC;QAEF,IAAI,CAAC,cAAc,CAAC,qBAAqB,CACrC,GAAG,EACH,GAAG,EACH,uBAAa,CAAC,GAAG,EACjB,IAAA,sBAAc,EAAC,OAAO,CAAC,CAC1B,CAAC;IACN,CAAC;IAED,KAAK,CAAC,aAAa,CACf,GAAoE,EACpE,GAA4B;QAE5B,MAAM,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;QAEjC,MAAM,QAAQ,GAAG,IAAA,sBAAe,EAAC,GAAG,CAAC,CAAC;QACtC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,mBAAmB,CACzD,SAAS,EACT,GAAG,CAAC,IAAI,EACR,QAAQ,CACX,CAAC;QAEF,IAAI,CAAC,cAAc,CAAC,qBAAqB,CACrC,GAAG,EACH,GAAG,EACH,uBAAa,CAAC,GAAG,EACjB,IAAA,sBAAc,EAAC,OAAO,CAAC,CAC1B,CAAC;IACN,CAAC;IAED,KAAK,CAAC,UAAU,CACZ,GAA+C,EAC/C,GAAa;QAEb,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;QAC9C,MAAM,EAAE,mBAAmB,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC;QAC1C,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC;QACrB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC;YACjD,WAAW;YACX,QAAQ,EAAE,KAAK;YACf,SAAS;YACT,mBAAmB,EAAE,mBAAmB,KAAK,MAAM;YACnD,MAAM,EAAE,IAAI,CAAC,EAAE;SAClB,CAAC,CAAC;QACH,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,aAAa,CACf,GAIC,EACD,GAA4B;QAE5B,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;QAC9C,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC;QACxC,MAAM,QAAQ,GAAG,IAAA,sBAAe,EAAC,GAAG,CAAC,CAAC;QACtC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,mBAAmB,CACzD,SAAS,EACT,IAAI,EACJ,QAAQ,EACR,WAAW,CACd,CAAC;QAEF,IAAI,CAAC,cAAc,CAAC,qBAAqB,CACrC,GAAG,EACH,GAAG,EACH,uBAAa,CAAC,GAAG,EACjB,IAAA,sBAAc,EAAC,OAAO,CAAC,CAC1B,CAAC;IACN,CAAC;IAED,KAAK,CAAC,YAAY,CACd,GAKC,EACD,GAA4B;QAE5B,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;QAC9C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,YAAY,CAClD,SAAS,EACT,WAAW,EACX,IAAA,sBAAe,EAAC,GAAG,CAAC,EACpB,GAAG,CAAC,IAAI,CACX,CAAC;QACF,IAAI,CAAC,cAAc,CAAC,qBAAqB,CACrC,GAAG,EACH,GAAG,EACH,uBAAa,CAAC,GAAG,EACjB,IAAA,sBAAc,EAAC,OAAO,CAAC,CAC1B,CAAC;IACN,CAAC;IAED,KAAK,CAAC,cAAc,CAChB,GAKC,EACD,GAAmB;QAEnB,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;QAC9C,MAAM,QAAQ,GAAG,IAAA,sBAAe,EAAC,GAAG,CAAC,CAAC;QACtC,MAAM,IAAI,CAAC,cAAc,CAAC,aAAa,CACnC,WAAW,EACX,QAAQ,EACR,SAAS,CACZ,CAAC;QACF,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,aAAa,CACf,GAAgE,EAChE,GAAa;QAEb,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC;QACrC,MAAM,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;QACjC,MAAM,QAAQ,GAAG,IAAA,sBAAe,EAAC,GAAG,CAAC,CAAC;QAEtC,MAAM,IAAI,CAAC,cAAc,CAAC,kBAAkB,CACxC,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,SAAS,CACZ,CAAC;QACF,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,qBAAqB,CACvB,GAAkD,EAClD,GAAuC;QAEvC,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;QAC3D,MAAM,EAAE,eAAe,EAAE,GAAG,eAAe,EAAE,GACzC,MAAM,IAAI,CAAC,cAAc,CAAC,kBAAkB,CACxC,SAAS,EACT,WAAW,EACX,WAAW,CACd,CAAC;QAEN,MAAM,MAAM,GAAG;YACX,GAAG,eAAe;YAClB,UAAU,EAAE,eAAe,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;gBACpD,MAAM,EACF,YAAY,EACZ,SAAS,EAAE,OAAO,EAClB,WAAW,EAAE,aAAa,EAC1B,SAAS,EACT,GAAG,IAAI,EACV,GAAG,QAAQ,CAAC;gBACb,OAAO,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;YAC3C,CAAC,CAAC;SACL,CAAC;QAEF,IAAI,CAAC,cAAc,CAAC,qBAAqB,CACrC,GAAG,EACH,GAAG,EACH,kCAAwB,CAAC,GAAG,EAC5B,IAAA,sBAAc,EAAC,MAAM,CAAC,CACzB,CAAC;IACN,CAAC;IAED,KAAK,CAAC,0BAA0B,CAC5B,GAKC,EACD,GAAmB;QAEnB,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;QAC3D,MAAM,EAAE,gCAAgC,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC;QACvD,MAAM,IAAI,CAAC,cAAc,CAAC,aAAa,CACnC,SAAS,EACT,WAAW,EACX,WAAW,EACX,IAAI,EACJ,IAAA,sBAAe,EAAC,GAAG,CAAC,EACpB,GAAG,CAAC,IAAI,EACR,gCAAgC,KAAK,MAAM,CAC9C,CAAC;QACF,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,+BAA+B,CACjC,GAKC,EACD,GAAmB;QAEnB,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;QAC9C,MAAM,EAAE,gCAAgC,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC;QACvD,MAAM,EAAE,QAAQ,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC;QAE9B,IAAI,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,mBAAmB,CAAC,EAAE;YAClD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;YACtB,OAAO;SACV;QAED,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CACrC,IAAI,CAAC,iCAAiC,CAAC,EAAE,CAAC,CAAC,iBAAiB,CACxD,SAAS,EACT,QAAQ,EACR,WAAW,EACX,IAAI,EACJ,IAAA,sBAAe,EAAC,GAAG,CAAC,EACpB,GAAG,CAAC,IAAI,EACR,gCAAgC,KAAK,MAAM,CAC9C,CACJ,CAAC;QACF,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,gCAAgC,CAClC,GAKC,EACD,GAAmB;QAEnB,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;QAC9C,MAAM,EAAE,gCAAgC,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC;QACvD,MAAM,EAAE,QAAQ,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC;QAE9B,IAAI,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,mBAAmB,CAAC,EAAE;YAClD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;YACtB,OAAO;SACV;QAED,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CACrC,IAAI,CAAC,iCAAiC,CAAC,EAAE,CAAC,CAAC,iBAAiB,CACxD,SAAS,EACT,QAAQ,EACR,WAAW,EACX,KAAK,EACL,IAAA,sBAAe,EAAC,GAAG,CAAC,EACpB,GAAG,CAAC,IAAI,EACR,gCAAgC,KAAK,MAAM,CAC9C,CACJ,CAAC;QACF,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,2BAA2B,CAC7B,GAAuD,EACvD,GAAmB;QAEnB,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;QAC3D,MAAM,IAAI,CAAC,cAAc,CAAC,aAAa,CACnC,SAAS,EACT,WAAW,EACX,WAAW,EACX,KAAK,EACL,IAAA,sBAAe,EAAC,GAAG,CAAC,EACpB,GAAG,CAAC,IAAI,CACX,CAAC;QACF,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,kBAAkB,CACpB,GAIC,EACD,GAAoC;QAEpC,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;QAC3D,MAAM,EAAE,GAAG,cAAc,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC;QAEvC,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE;YAC5B,cAAc,CAAC,UAAU,GAAG,EAAE,CAAC;SAClC;QAED,MAAM,QAAQ,GAAG,IAAA,sBAAe,EAAC,GAAG,CAAC,CAAC;QACtC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,cAAc,CACrD,cAAc,EACd,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,EACvC,QAAQ,EACR,GAAG,CAAC,IAAI,CACX,CAAC;QAEF,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,CACzD,QAAQ,CAAC,EAAE,CACd,CAAC;QACF,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,oBAAoB,CACtB,GAAkD,EAClD,GAAsC;QAEtC,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;QAC3D,MAAM,iBAAiB,GACnB,MAAM,IAAI,CAAC,cAAc,CAAC,2BAA2B,CACjD,SAAS,EACT,WAAW,EACX,WAAW,CACd,CAAC;QACN,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,sBAAsB,CACxB,GAKC,EACD,GAAa;QAEb,MAAM,EAAE,WAAW,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;QACnC,MAAM,IAAI,CAAC,cAAc,CAAC,yBAAyB,CAC/C,WAAW,EACX,GAAG,CAAC,IAAI,CACX,CAAC;QAEF,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,qBAAqB,CACvB,GAAqE,EACrE,GAAoC;QAEpC,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;QACvE,MAAM,QAAQ,GAAG,IAAA,sBAAe,EAAC,GAAG,CAAC,CAAC;QAEtC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE;YACtB,GAAG,CAAC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;SAC5B;QAED,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAC7D,IAAI,CAAC,iCAAiC,CAAC,EAAE,CAAC,CAAC,cAAc,CACrD,UAAU,EACV,GAAG,CAAC,IAAI,EACR,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,EACvC,QAAQ,EACR,GAAG,CAAC,IAAI,CACX,CACJ,CAAC;QAEF,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,oBAAoB,CACtB,GAA0D,EAC1D,GAAoC;QAEpC,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;QACvE,MAAM,QAAQ,GAAG,IAAA,sBAAe,EAAC,GAAG,CAAC,CAAC;QACtC,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC;QACvB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAEnE,MAAM,EAAE,WAAW,EAAE,GAAG,IAAA,4BAAU,EAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACpD,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAC7D,IAAI,CAAC,iCAAiC,CAAC,EAAE,CAAC,CAAC,cAAc,CACrD,UAAU,EACV,WAAW,EACX,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,EACvC,QAAQ,EACR,GAAG,CAAC,IAAI,CACX,CACJ,CAAC;QAEF,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,kBAAkB,CACpB,GAAkD,EAClD,GAAoC;QAEpC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACrC,MAAM,EAAE,UAAU,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;QAClC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC7B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QACnE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,qBAAqB,CACvB,GAAkD,EAClD,GAAmB;QAEnB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACtC,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;QAC3D,MAAM,QAAQ,GAAG,IAAA,sBAAe,EAAC,GAAG,CAAC,CAAC;QACtC,MAAM,EAAE,UAAU,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;QAClC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC7B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,cAAc,CACrD,UAAU,EACV,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,EACvC,QAAQ,EACR,GAAG,CAAC,IAAI,CACX,CAAC;QACF,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,uBAAuB,CACzB,GAKC,EACD,GAAoC;QAEpC,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;QACvE,MAAM,QAAQ,GAAG,IAAA,sBAAe,EAAC,GAAG,CAAC,CAAC;QACtC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC;QAEjC,MAAM,eAAe,GACjB,MAAM,IAAI,CAAC,cAAc,CAAC,uBAAuB,CAC7C,UAAU,EACV,IAAI,EACJ,KAAK,EACL,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,EACvC,QAAQ,CACX,CAAC;QACN,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,qBAAqB,CACvB,GAA6C,EAC7C,GAA+B;QAE/B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;QAChD,MAAM,EAAE,UAAU,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;QAClC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QACnE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC9C,CAAC;CACJ;AAr3BD,4CAq3BC"}
|
|
1
|
+
{"version":3,"file":"project-features.js","sourceRoot":"","sources":["../../../../../src/lib/routes/admin-api/project/project-features.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,6 @@ import { IAuthRequest } from '../unleash-types';
|
|
|
6
6
|
import { TagsSchema } from '../../openapi/spec/tags-schema';
|
|
7
7
|
import { TagSchema } from '../../openapi/spec/tag-schema';
|
|
8
8
|
import { TagWithVersionSchema } from '../../openapi/spec/tag-with-version-schema';
|
|
9
|
-
import { TagsBulkAddSchema } from '../../openapi/spec/tags-bulk-add-schema';
|
|
10
9
|
declare class TagController extends Controller {
|
|
11
10
|
private logger;
|
|
12
11
|
private tagService;
|
|
@@ -19,6 +18,5 @@ declare class TagController extends Controller {
|
|
|
19
18
|
getTag(req: Request<TagSchema>, res: Response<TagWithVersionSchema>): Promise<void>;
|
|
20
19
|
createTag(req: IAuthRequest<unknown, unknown, TagSchema>, res: Response<TagWithVersionSchema>): Promise<void>;
|
|
21
20
|
deleteTag(req: IAuthRequest<TagSchema>, res: Response): Promise<void>;
|
|
22
|
-
updateFeaturesTags(req: IAuthRequest<void, void, TagsBulkAddSchema>, res: Response<TagSchema>): Promise<void>;
|
|
23
21
|
}
|
|
24
22
|
export default TagController;
|
|
@@ -37,7 +37,7 @@ class TagController extends controller_1.default {
|
|
|
37
37
|
method: 'post',
|
|
38
38
|
path: '',
|
|
39
39
|
handler: this.createTag,
|
|
40
|
-
permission: permissions_1.
|
|
40
|
+
permission: permissions_1.NONE,
|
|
41
41
|
middleware: [
|
|
42
42
|
openApiService.validPath({
|
|
43
43
|
tags: ['Tags'],
|
|
@@ -49,20 +49,6 @@ class TagController extends controller_1.default {
|
|
|
49
49
|
}),
|
|
50
50
|
],
|
|
51
51
|
});
|
|
52
|
-
this.route({
|
|
53
|
-
method: 'put',
|
|
54
|
-
path: '/features',
|
|
55
|
-
handler: this.updateFeaturesTags,
|
|
56
|
-
permission: permissions_1.UPDATE_FEATURE,
|
|
57
|
-
middleware: [
|
|
58
|
-
openApiService.validPath({
|
|
59
|
-
tags: ['Tags'],
|
|
60
|
-
operationId: 'addTagToFeatures',
|
|
61
|
-
requestBody: (0, create_request_schema_1.createRequestSchema)('tagsBulkAddSchema'),
|
|
62
|
-
responses: { 200: standard_responses_1.emptyResponse },
|
|
63
|
-
}),
|
|
64
|
-
],
|
|
65
|
-
});
|
|
66
52
|
this.route({
|
|
67
53
|
method: 'get',
|
|
68
54
|
path: '/:type',
|
|
@@ -137,12 +123,6 @@ class TagController extends controller_1.default {
|
|
|
137
123
|
await this.tagService.deleteTag({ type, value }, userName);
|
|
138
124
|
res.status(200).end();
|
|
139
125
|
}
|
|
140
|
-
async updateFeaturesTags(req, res) {
|
|
141
|
-
const { features, tags } = req.body;
|
|
142
|
-
const userName = (0, extract_user_1.extractUsername)(req);
|
|
143
|
-
await this.featureTagService.updateTags(features, tags.addedTags, tags.removedTags, userName);
|
|
144
|
-
res.status(200).end();
|
|
145
|
-
}
|
|
146
126
|
}
|
|
147
127
|
exports.default = TagController;
|
|
148
128
|
//# sourceMappingURL=tag.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tag.js","sourceRoot":"","sources":["../../../../src/lib/routes/admin-api/tag.ts"],"names":[],"mappings":";;;;;AAMA,+DAAuC;AAEvC,yDAA+D;AAC/D,0DAA0D;AAE1D,oFAA+E;AAC/E,sFAGmD;AACnD,gEAAwE;AAGxE,wFAGoD;AACpD,8EAAsE;
|
|
1
|
+
{"version":3,"file":"tag.js","sourceRoot":"","sources":["../../../../src/lib/routes/admin-api/tag.ts"],"names":[],"mappings":"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"}
|
|
@@ -122,7 +122,7 @@ test('Can tag features', async () => {
|
|
|
122
122
|
enabled: true,
|
|
123
123
|
strategies: [{ name: 'default' }],
|
|
124
124
|
});
|
|
125
|
-
await app.request.put('/api/admin/tags
|
|
125
|
+
await app.request.put('/api/admin/projects/default/tags').send({
|
|
126
126
|
features: [featureName, featureName2],
|
|
127
127
|
tags: {
|
|
128
128
|
addedTags: [addedTag],
|
|
@@ -154,7 +154,7 @@ test('Can bulk remove tags', async () => {
|
|
|
154
154
|
strategies: [{ name: 'default' }],
|
|
155
155
|
});
|
|
156
156
|
await app.request
|
|
157
|
-
.put('/api/admin/tags
|
|
157
|
+
.put('/api/admin/projects/default/tags')
|
|
158
158
|
.send({
|
|
159
159
|
features: [featureName, featureName2],
|
|
160
160
|
tags: {
|
|
@@ -164,7 +164,7 @@ test('Can bulk remove tags', async () => {
|
|
|
164
164
|
})
|
|
165
165
|
.expect(200);
|
|
166
166
|
await app.request
|
|
167
|
-
.put('/api/admin/tags
|
|
167
|
+
.put('/api/admin/projects/default/tags')
|
|
168
168
|
.send({
|
|
169
169
|
features: [featureName, featureName2],
|
|
170
170
|
tags: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tags.e2e.test.js","sourceRoot":"","sources":["../../../../../src/test/e2e/api/admin/tags.e2e.test.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"tags.e2e.test.js","sourceRoot":"","sources":["../../../../../src/test/e2e/api/admin/tags.e2e.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
href="https://fonts.googleapis.com/css2?family=Sen:wght@400;700;800&display=swap"
|
|
17
17
|
rel="stylesheet"
|
|
18
18
|
/>
|
|
19
|
-
<script type="module" crossorigin src="/static/index-
|
|
19
|
+
<script type="module" crossorigin src="/static/index-6d9a536e.js"></script>
|
|
20
20
|
<link rel="stylesheet" href="/static/index-66c635eb.css">
|
|
21
21
|
</head>
|
|
22
22
|
<body>
|
package/frontend/build/static/{AdvancedPlayground-23b331cd.js → AdvancedPlayground-fa382438.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as B,d as Y,H as G,r as d,j as e,f as C,s as D,g as Z,B as w,V,t as O,v as _,h as g,C as E,F as I,I as he,w as pe,x as ee,T as z,y as fe,c as te,z as ge,u as ne,a as ye,L as Q,e as be,S as ve,i as W,k as xe,A as Se,l as Ce,m as Pe,n as M,D as Re,P as je,o as Ee,p as we,q as Fe}from"./index-6c460833.js";import{V as ke,F as se,a as oe,f as K,u as He,r as Te,g as Ae,b as Be,P as Oe,d as Le,c as $e,e as Ue}from"./PlaygroundGuidancePopper-b41d2afe.js";import"./StrategyItemContainer-bb74986e.js";import"./Error-3f9f3bb5.js";const q=t=>t.charAt(0).toUpperCase()+t.slice(1),Ie=({features:t})=>{const l=B(),n=Y(l.breakpoints.down("sm")),h=Object.keys(t[0].context).map(o=>({Header:q(o),accessor:`context.${o}`,minWidth:160,Cell:G})),m=d.useMemo(()=>[...h,{Header:"Variant",id:"variant",accessor:"variant.name",sortType:"alphanumeric",filterName:"variant",maxWidth:200,Cell:({value:o,row:{original:{variant:i,feature:c,variants:u,isEnabled:v}}})=>e(ke,{variant:i!=null&&i.enabled?o:"",variants:u,feature:c,isEnabled:v})},{id:"isEnabled",Header:"isEnabled",filterName:"isEnabled",accessor:o=>{var i;return o!=null&&o.isEnabled?"true":((i=o==null?void 0:o.strategies)==null?void 0:i.result)==="unknown"?"unknown":"false"},Cell:({row:o})=>e(se,{feature:o.original}),sortType:"playgroundResultState",maxWidth:120,sortInverted:!0},{Header:"",maxWidth:70,id:"info",Cell:({row:o})=>e(oe,{feature:o.original,input:{environment:o.original.environment,context:o.original.context}})}],[]),{headerGroups:y,rows:P,prepareRow:a,setHiddenColumns:R}=C.useTable({columns:m,data:t,sortTypes:D,autoResetGlobalFilter:!1,autoResetHiddenColumns:!1,autoResetSortBy:!1,disableSortRemove:!0,disableMultiSort:!0},C.useGlobalFilter,C.useFlexLayout,C.useSortBy);Z([{condition:n,columns:["variant"]}],R,m);const s=d.useRef(null);return e(w,{ref:s,sx:{overflow:"auto",maxHeight:"800px"},children:e(V,{parentRef:s,rows:P,headerGroups:y,prepareRow:a})})},Ne=O("div",{})(({theme:t})=>({flexGrow:0,..._,justifyContent:"flex-start",margin:t.spacing(0,1.5)})),We=O(w)(({theme:t})=>({display:"flex",flexDirection:"row",gap:t.spacing(1)})),Me=({value:t})=>{const l=B(),[n,h]=d.useState(null),m=s=>h(s.currentTarget),y=()=>h(null),P=!!n,a=(t||[]).filter(s=>s.isEnabled),R=(t||[]).filter(s=>!s.isEnabled);return g(Ne,{children:[g(We,{children:[e(E,{condition:a.length>0,show:e(K,{enabled:!0,label:`${a.length}`,showIcon:!0})}),e(E,{condition:R.length>0,show:e(K,{enabled:!1,label:`${R.length}`,showIcon:!0})})]}),g(I,{children:[e(he,{onClick:m,children:e(pe,{})}),g(ee,{open:P,id:`${t}-result-details`,PaperProps:{sx:{borderRadius:`${l.shape.borderRadiusLarge}px`,padding:l.spacing(3)}},onClose:y,anchorEl:n,anchorOrigin:{vertical:"bottom",horizontal:-320},children:[e(z,{variant:"subtitle2",sx:{mb:3},children:t[0].environment}),e(Ie,{features:t})]})]})]})},Ge=({features:t})=>{const l=Object.keys(t),n=t[l[0]],h=n[0].context,m=d.useMemo(()=>n.map((c,u)=>({...Object.fromEntries(l.map(v=>[v,t[v][u]]))})),[JSON.stringify(t)]),y=Object.keys(h).map(c=>({Header:q(c),accessor:`${l[0]}.context.${c}`,minWidth:160,Cell:G})),P=l.map(c=>({Header:c,accessor:u=>{var v,p,f;return(v=u[c])!=null&&v.isEnabled?"true":((f=(p=u[c])==null?void 0:p.strategies)==null?void 0:f.result)==="unknown"?"unknown":"false"},Cell:({row:u})=>g(w,{sx:{display:"flex"},children:[e(se,{feature:u.original[c]}),e(oe,{feature:u.original[c],input:{environment:u.original[c].environment,context:u.original[c].context}})]}),sortType:"playgroundResultState",maxWidth:140})),a=d.useMemo(()=>[...y,...P],[]),{headerGroups:R,rows:s,prepareRow:o}=C.useTable({columns:a,data:m,sortTypes:D,autoResetGlobalFilter:!1,autoResetHiddenColumns:!1,autoResetSortBy:!1,disableSortRemove:!0,disableMultiSort:!0},C.useGlobalFilter,C.useFlexLayout,C.useSortBy),i=d.useRef(null);return e(w,{ref:i,sx:{overflow:"auto",maxHeight:"800px"},children:e(V,{parentRef:i,rows:s,headerGroups:R,prepareRow:o})})},De=O("div",{})(({theme:t})=>({flexGrow:0,..._,justifyContent:"flex-start",margin:t.spacing(0,1.5)})),Ve=O(fe)(({theme:t})=>({textAlign:"left",textDecorationStyle:"dotted",textUnderlineOffset:t.spacing(.75),color:t.palette.neutral.dark})),ze=({value:t})=>{const l=B(),[n,h]=d.useState(null),m=a=>h(a.currentTarget),y=()=>h(null);return e(De,{children:g(I,{children:[e(Ve,{variant:"body2",onClick:m,children:"Preview diff"}),g(ee,{open:!!n,id:`${t}-result-details`,PaperProps:{sx:{borderRadius:`${l.shape.borderRadiusLarge}px`,padding:l.spacing(3)}},onClose:y,anchorEl:n,anchorOrigin:{vertical:"bottom",horizontal:-320},children:[e(z,{variant:"subtitle2",sx:{mb:3},children:"Environments diff"}),e(Ge,{features:t})]})]})})},qe=t=>t.reduce((l,n)=>l+Object.values(n.environments).flatMap(h=>Object.keys(h)).length,0),Je={id:"name"},{value:X,setValue:Qe}=te("AdvancedPlaygroundResultsTable:v1",Je),Ke=({features:t,input:l,loading:n})=>{const{trackEvent:h}=ge();t&&h("playground",{props:{eventType:"number-of-combinations",count:qe(t)}});const[m,y]=ne(),P=ye(n),[a,R]=d.useState(m.get("search")||""),s=B(),o=Y(s.breakpoints.down("md")),i=t&&t.length>0?Object.keys(t[0].environments).length:0,c=d.useMemo(()=>{var S;return[{Header:"Name",accessor:"name",searchable:!0,minWidth:160,Cell:({value:b,row:{original:k}})=>e(Q,{title:b,to:`/projects/${k==null?void 0:k.projectId}/features/${b}`})},{Header:"Project ID",accessor:"projectId",sortType:"alphanumeric",filterName:"projectId",searchable:!0,minWidth:150,Cell:({value:b})=>e(Q,{title:b,to:`/projects/${b}`})},...((S=l==null?void 0:l.environments)==null?void 0:S.map(b=>({Header:n?()=>"":q(b),maxWidth:140,id:`environments.${b}`,align:"flex-start",Cell:({row:k})=>e(Me,{value:k.original.environments[b]})})))||[],...i>1?[{Header:"Diff",minWidth:150,id:"diff",align:"left",Cell:({row:b})=>e(ze,{value:b.original.environments})}]:[]]},[l]),{data:u,getSearchText:v,getSearchContext:p}=be(c,a,t||[]),f=d.useMemo(()=>n?Array(5).fill({name:"Feature name",projectId:"Feature Project",environments:{name:"Feature Environments",variants:[]},enabled:!0}):u,[u,n]),[T]=d.useState(()=>({sortBy:[{id:m.get("sort")||X.id,desc:m.has("order")?m.get("order")==="desc":X.desc}]})),{headerGroups:x,rows:A,state:{sortBy:F},prepareRow:N,setHiddenColumns:L}=C.useTable({initialState:T,columns:c,data:f,sortTypes:D,autoResetGlobalFilter:!1,autoResetHiddenColumns:!1,autoResetSortBy:!1,disableSortRemove:!0,disableMultiSort:!0,defaultColumn:{Cell:G}},C.useGlobalFilter,C.useFlexLayout,C.useSortBy);return Z([{condition:o,columns:["projectId"]}],L,c),d.useEffect(()=>{if(n)return;const S=Object.fromEntries(m);S.sort=F[0].id,F[0].desc?S.order="desc":S.order&&delete S.order,a?S.search=a:delete S.search,y(S,{replace:!0}),Qe({id:F[0].id,desc:F[0].desc||!1})},[n,F,a]),g(I,{children:[g(w,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center",mb:3},children:[e(z,{variant:"subtitle1",sx:{ml:1},children:t!==void 0&&!n?`Results (${A.length<f.length?`${A.length} of ${f.length}`:f.length})`:"Results"}),e(ve,{initialValue:a,onChange:R,hasFilters:!0,getSearchContext:p,disabled:n,containerStyles:{marginLeft:"1rem",maxWidth:"400px"}})]}),e(E,{condition:!n&&!f,show:()=>e(W,{children:f===void 0?"None of the feature toggles were evaluated yet.":"No results found."}),elseShow:()=>g(w,{ref:P,sx:{overflow:"auto"},children:[e(xe,{value:v(a),children:e(V,{rows:A,headerGroups:x,prepareRow:N})}),e(E,{condition:f.length===0&&(a==null?void 0:a.length)>0,show:g(W,{children:["No feature toggles found matching “",a,"”"]})}),e(E,{condition:f&&f.length===0&&!a,show:e(W,{children:"No features toggles to display"})})]})})]})},Xe=O(Se)(({theme:t})=>({marginBottom:t.spacing(3)})),tt=({FormComponent:t=$e})=>{const l={projects:[],environments:[]},{value:n,setValue:h}=te("AdvancedPlayground:v1",l),{environments:m}=Ce(),y=B(),P=!0,[a,R]=d.useState(),[s,o]=d.useState(n.environments),[i,c]=d.useState(n.projects),[u,v]=d.useState(n.context),[p,f]=d.useState(),{setToastData:T}=Pe(),[x,A]=ne(),F=Array.from(x.entries()).length,{evaluateAdvancedPlayground:N,loading:L}=He(),[S,b]=d.useState(!1);d.useEffect(()=>{(s==null?void 0:s.length)===0&&o([Te(m)])},[JSON.stringify(s),JSON.stringify(m)]),d.useEffect(()=>{F>0&&k()},[]);const k=()=>{try{const r=re(),j=ae(),$=le();(async()=>{r&&$&&await J(r||[],j||"*",$)})()}catch(r){T({type:"error",title:`Failed to parse URL parameters: ${M(r)}`})}},re=()=>{let r=null;const j=x.get("environments");return j&&(r=j.split(","),o(r)),r},ae=()=>{let r=null,j=x.get("projects");return j&&(r=j.split(","),c(r)),r},le=()=>{let r=x.get("context");return r&&(r=decodeURI(r),v(r)),r},J=async(r,j,$,U)=>{try{R(void 0);const H=JSON.parse($||"{}"),me=await N({environments:Ae(r),projects:Be(j),context:{appName:"playground",...H}});U&&typeof U=="function"&&U(),f(me)}catch(H){H instanceof Re?R(H.message):H instanceof SyntaxError?T({type:"error",title:`Error parsing context: ${M(H)}`}):T({type:"error",title:M(H)})}},ie=async r=>{r.preventDefault(),b(!0),await J(s,i,u,()=>{ce(),h({environments:s,projects:i,context:u})})},ce=()=>{x.set("context",encodeURI(u||"")),Array.isArray(s)&&s.length>0&&!(s.length===1&&s[0]==="*")?x.set("environments",s.join(",")):x.delete("projects"),Array.isArray(i)&&i.length>0&&!(i.length===1&&i[0]==="*")?x.set("projects",i.join(",")):x.delete("projects"),A(x)},de=p&&!P?"35%":"auto",ue=Ue(P,p);return e(je,{header:e(Ee,{title:"Unleash playground",actions:e(Oe,{})}),disableLoading:!0,bodyClass:"no-padding",children:g(w,{sx:{display:"flex",flexDirection:"column"},children:[e(w,{sx:{background:y.palette.background.elevation2,borderBottomLeftRadius:y.shape.borderRadiusMedium},children:e(we,{elevation:0,sx:{px:4,py:3,mb:4,mt:2,background:y.palette.background.elevation2,transition:"width 0.4s ease",minWidth:"auto",width:de,position:"sticky",top:0},children:e(t,{onSubmit:ie,context:u,setContext:v,availableEnvironments:m,projects:i,environments:s,setProjects:c,setEnvironments:o})})}),g(w,{sx:r=>({width:ue,transition:"width 0.4s ease",padding:r.spacing(4,2)}),children:[e(E,{condition:!!a,show:e(Xe,{severity:"warning",children:a})}),e(E,{condition:L,show:e(Fe,{}),elseShow:g(I,{children:[e(E,{condition:!!p,show:e(Ke,{loading:L,features:p==null?void 0:p.features,input:p==null?void 0:p.input})}),e(E,{condition:!p&&!S,show:e(Le,{})})]})})]})]})})};export{tt as AdvancedPlayground,tt as default};
|
|
1
|
+
import{b as B,d as Y,H as G,r as d,j as e,f as C,s as D,g as Z,B as w,V,t as O,v as _,h as g,C as E,F as I,I as he,w as pe,x as ee,T as z,y as fe,c as te,z as ge,u as ne,a as ye,L as Q,e as be,S as ve,i as W,k as xe,A as Se,l as Ce,m as Pe,n as M,D as Re,P as je,o as Ee,p as we,q as Fe}from"./index-6d9a536e.js";import{V as ke,F as se,a as oe,f as K,u as He,r as Te,g as Ae,b as Be,P as Oe,d as Le,c as $e,e as Ue}from"./PlaygroundGuidancePopper-de0c6f7c.js";import"./StrategyItemContainer-cada0ab5.js";import"./Error-cf795e47.js";const q=t=>t.charAt(0).toUpperCase()+t.slice(1),Ie=({features:t})=>{const l=B(),n=Y(l.breakpoints.down("sm")),h=Object.keys(t[0].context).map(o=>({Header:q(o),accessor:`context.${o}`,minWidth:160,Cell:G})),m=d.useMemo(()=>[...h,{Header:"Variant",id:"variant",accessor:"variant.name",sortType:"alphanumeric",filterName:"variant",maxWidth:200,Cell:({value:o,row:{original:{variant:i,feature:c,variants:u,isEnabled:v}}})=>e(ke,{variant:i!=null&&i.enabled?o:"",variants:u,feature:c,isEnabled:v})},{id:"isEnabled",Header:"isEnabled",filterName:"isEnabled",accessor:o=>{var i;return o!=null&&o.isEnabled?"true":((i=o==null?void 0:o.strategies)==null?void 0:i.result)==="unknown"?"unknown":"false"},Cell:({row:o})=>e(se,{feature:o.original}),sortType:"playgroundResultState",maxWidth:120,sortInverted:!0},{Header:"",maxWidth:70,id:"info",Cell:({row:o})=>e(oe,{feature:o.original,input:{environment:o.original.environment,context:o.original.context}})}],[]),{headerGroups:y,rows:P,prepareRow:a,setHiddenColumns:R}=C.useTable({columns:m,data:t,sortTypes:D,autoResetGlobalFilter:!1,autoResetHiddenColumns:!1,autoResetSortBy:!1,disableSortRemove:!0,disableMultiSort:!0},C.useGlobalFilter,C.useFlexLayout,C.useSortBy);Z([{condition:n,columns:["variant"]}],R,m);const s=d.useRef(null);return e(w,{ref:s,sx:{overflow:"auto",maxHeight:"800px"},children:e(V,{parentRef:s,rows:P,headerGroups:y,prepareRow:a})})},Ne=O("div",{})(({theme:t})=>({flexGrow:0,..._,justifyContent:"flex-start",margin:t.spacing(0,1.5)})),We=O(w)(({theme:t})=>({display:"flex",flexDirection:"row",gap:t.spacing(1)})),Me=({value:t})=>{const l=B(),[n,h]=d.useState(null),m=s=>h(s.currentTarget),y=()=>h(null),P=!!n,a=(t||[]).filter(s=>s.isEnabled),R=(t||[]).filter(s=>!s.isEnabled);return g(Ne,{children:[g(We,{children:[e(E,{condition:a.length>0,show:e(K,{enabled:!0,label:`${a.length}`,showIcon:!0})}),e(E,{condition:R.length>0,show:e(K,{enabled:!1,label:`${R.length}`,showIcon:!0})})]}),g(I,{children:[e(he,{onClick:m,children:e(pe,{})}),g(ee,{open:P,id:`${t}-result-details`,PaperProps:{sx:{borderRadius:`${l.shape.borderRadiusLarge}px`,padding:l.spacing(3)}},onClose:y,anchorEl:n,anchorOrigin:{vertical:"bottom",horizontal:-320},children:[e(z,{variant:"subtitle2",sx:{mb:3},children:t[0].environment}),e(Ie,{features:t})]})]})]})},Ge=({features:t})=>{const l=Object.keys(t),n=t[l[0]],h=n[0].context,m=d.useMemo(()=>n.map((c,u)=>({...Object.fromEntries(l.map(v=>[v,t[v][u]]))})),[JSON.stringify(t)]),y=Object.keys(h).map(c=>({Header:q(c),accessor:`${l[0]}.context.${c}`,minWidth:160,Cell:G})),P=l.map(c=>({Header:c,accessor:u=>{var v,p,f;return(v=u[c])!=null&&v.isEnabled?"true":((f=(p=u[c])==null?void 0:p.strategies)==null?void 0:f.result)==="unknown"?"unknown":"false"},Cell:({row:u})=>g(w,{sx:{display:"flex"},children:[e(se,{feature:u.original[c]}),e(oe,{feature:u.original[c],input:{environment:u.original[c].environment,context:u.original[c].context}})]}),sortType:"playgroundResultState",maxWidth:140})),a=d.useMemo(()=>[...y,...P],[]),{headerGroups:R,rows:s,prepareRow:o}=C.useTable({columns:a,data:m,sortTypes:D,autoResetGlobalFilter:!1,autoResetHiddenColumns:!1,autoResetSortBy:!1,disableSortRemove:!0,disableMultiSort:!0},C.useGlobalFilter,C.useFlexLayout,C.useSortBy),i=d.useRef(null);return e(w,{ref:i,sx:{overflow:"auto",maxHeight:"800px"},children:e(V,{parentRef:i,rows:s,headerGroups:R,prepareRow:o})})},De=O("div",{})(({theme:t})=>({flexGrow:0,..._,justifyContent:"flex-start",margin:t.spacing(0,1.5)})),Ve=O(fe)(({theme:t})=>({textAlign:"left",textDecorationStyle:"dotted",textUnderlineOffset:t.spacing(.75),color:t.palette.neutral.dark})),ze=({value:t})=>{const l=B(),[n,h]=d.useState(null),m=a=>h(a.currentTarget),y=()=>h(null);return e(De,{children:g(I,{children:[e(Ve,{variant:"body2",onClick:m,children:"Preview diff"}),g(ee,{open:!!n,id:`${t}-result-details`,PaperProps:{sx:{borderRadius:`${l.shape.borderRadiusLarge}px`,padding:l.spacing(3)}},onClose:y,anchorEl:n,anchorOrigin:{vertical:"bottom",horizontal:-320},children:[e(z,{variant:"subtitle2",sx:{mb:3},children:"Environments diff"}),e(Ge,{features:t})]})]})})},qe=t=>t.reduce((l,n)=>l+Object.values(n.environments).flatMap(h=>Object.keys(h)).length,0),Je={id:"name"},{value:X,setValue:Qe}=te("AdvancedPlaygroundResultsTable:v1",Je),Ke=({features:t,input:l,loading:n})=>{const{trackEvent:h}=ge();t&&h("playground",{props:{eventType:"number-of-combinations",count:qe(t)}});const[m,y]=ne(),P=ye(n),[a,R]=d.useState(m.get("search")||""),s=B(),o=Y(s.breakpoints.down("md")),i=t&&t.length>0?Object.keys(t[0].environments).length:0,c=d.useMemo(()=>{var S;return[{Header:"Name",accessor:"name",searchable:!0,minWidth:160,Cell:({value:b,row:{original:k}})=>e(Q,{title:b,to:`/projects/${k==null?void 0:k.projectId}/features/${b}`})},{Header:"Project ID",accessor:"projectId",sortType:"alphanumeric",filterName:"projectId",searchable:!0,minWidth:150,Cell:({value:b})=>e(Q,{title:b,to:`/projects/${b}`})},...((S=l==null?void 0:l.environments)==null?void 0:S.map(b=>({Header:n?()=>"":q(b),maxWidth:140,id:`environments.${b}`,align:"flex-start",Cell:({row:k})=>e(Me,{value:k.original.environments[b]})})))||[],...i>1?[{Header:"Diff",minWidth:150,id:"diff",align:"left",Cell:({row:b})=>e(ze,{value:b.original.environments})}]:[]]},[l]),{data:u,getSearchText:v,getSearchContext:p}=be(c,a,t||[]),f=d.useMemo(()=>n?Array(5).fill({name:"Feature name",projectId:"Feature Project",environments:{name:"Feature Environments",variants:[]},enabled:!0}):u,[u,n]),[T]=d.useState(()=>({sortBy:[{id:m.get("sort")||X.id,desc:m.has("order")?m.get("order")==="desc":X.desc}]})),{headerGroups:x,rows:A,state:{sortBy:F},prepareRow:N,setHiddenColumns:L}=C.useTable({initialState:T,columns:c,data:f,sortTypes:D,autoResetGlobalFilter:!1,autoResetHiddenColumns:!1,autoResetSortBy:!1,disableSortRemove:!0,disableMultiSort:!0,defaultColumn:{Cell:G}},C.useGlobalFilter,C.useFlexLayout,C.useSortBy);return Z([{condition:o,columns:["projectId"]}],L,c),d.useEffect(()=>{if(n)return;const S=Object.fromEntries(m);S.sort=F[0].id,F[0].desc?S.order="desc":S.order&&delete S.order,a?S.search=a:delete S.search,y(S,{replace:!0}),Qe({id:F[0].id,desc:F[0].desc||!1})},[n,F,a]),g(I,{children:[g(w,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center",mb:3},children:[e(z,{variant:"subtitle1",sx:{ml:1},children:t!==void 0&&!n?`Results (${A.length<f.length?`${A.length} of ${f.length}`:f.length})`:"Results"}),e(ve,{initialValue:a,onChange:R,hasFilters:!0,getSearchContext:p,disabled:n,containerStyles:{marginLeft:"1rem",maxWidth:"400px"}})]}),e(E,{condition:!n&&!f,show:()=>e(W,{children:f===void 0?"None of the feature toggles were evaluated yet.":"No results found."}),elseShow:()=>g(w,{ref:P,sx:{overflow:"auto"},children:[e(xe,{value:v(a),children:e(V,{rows:A,headerGroups:x,prepareRow:N})}),e(E,{condition:f.length===0&&(a==null?void 0:a.length)>0,show:g(W,{children:["No feature toggles found matching “",a,"”"]})}),e(E,{condition:f&&f.length===0&&!a,show:e(W,{children:"No features toggles to display"})})]})})]})},Xe=O(Se)(({theme:t})=>({marginBottom:t.spacing(3)})),tt=({FormComponent:t=$e})=>{const l={projects:[],environments:[]},{value:n,setValue:h}=te("AdvancedPlayground:v1",l),{environments:m}=Ce(),y=B(),P=!0,[a,R]=d.useState(),[s,o]=d.useState(n.environments),[i,c]=d.useState(n.projects),[u,v]=d.useState(n.context),[p,f]=d.useState(),{setToastData:T}=Pe(),[x,A]=ne(),F=Array.from(x.entries()).length,{evaluateAdvancedPlayground:N,loading:L}=He(),[S,b]=d.useState(!1);d.useEffect(()=>{(s==null?void 0:s.length)===0&&o([Te(m)])},[JSON.stringify(s),JSON.stringify(m)]),d.useEffect(()=>{F>0&&k()},[]);const k=()=>{try{const r=re(),j=ae(),$=le();(async()=>{r&&$&&await J(r||[],j||"*",$)})()}catch(r){T({type:"error",title:`Failed to parse URL parameters: ${M(r)}`})}},re=()=>{let r=null;const j=x.get("environments");return j&&(r=j.split(","),o(r)),r},ae=()=>{let r=null,j=x.get("projects");return j&&(r=j.split(","),c(r)),r},le=()=>{let r=x.get("context");return r&&(r=decodeURI(r),v(r)),r},J=async(r,j,$,U)=>{try{R(void 0);const H=JSON.parse($||"{}"),me=await N({environments:Ae(r),projects:Be(j),context:{appName:"playground",...H}});U&&typeof U=="function"&&U(),f(me)}catch(H){H instanceof Re?R(H.message):H instanceof SyntaxError?T({type:"error",title:`Error parsing context: ${M(H)}`}):T({type:"error",title:M(H)})}},ie=async r=>{r.preventDefault(),b(!0),await J(s,i,u,()=>{ce(),h({environments:s,projects:i,context:u})})},ce=()=>{x.set("context",encodeURI(u||"")),Array.isArray(s)&&s.length>0&&!(s.length===1&&s[0]==="*")?x.set("environments",s.join(",")):x.delete("projects"),Array.isArray(i)&&i.length>0&&!(i.length===1&&i[0]==="*")?x.set("projects",i.join(",")):x.delete("projects"),A(x)},de=p&&!P?"35%":"auto",ue=Ue(P,p);return e(je,{header:e(Ee,{title:"Unleash playground",actions:e(Oe,{})}),disableLoading:!0,bodyClass:"no-padding",children:g(w,{sx:{display:"flex",flexDirection:"column"},children:[e(w,{sx:{background:y.palette.background.elevation2,borderBottomLeftRadius:y.shape.borderRadiusMedium},children:e(we,{elevation:0,sx:{px:4,py:3,mb:4,mt:2,background:y.palette.background.elevation2,transition:"width 0.4s ease",minWidth:"auto",width:de,position:"sticky",top:0},children:e(t,{onSubmit:ie,context:u,setContext:v,availableEnvironments:m,projects:i,environments:s,setProjects:c,setEnvironments:o})})}),g(w,{sx:r=>({width:ue,transition:"width 0.4s ease",padding:r.spacing(4,2)}),children:[e(E,{condition:!!a,show:e(Xe,{severity:"warning",children:a})}),e(E,{condition:L,show:e(Fe,{}),elseShow:g(I,{children:[e(E,{condition:!!p,show:e(Ke,{loading:L,features:p==null?void 0:p.features,input:p==null?void 0:p.input})}),e(E,{condition:!p&&!S,show:e(Le,{})})]})})]})]})})};export{tt as AdvancedPlayground,tt as default};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{m as k,ar as R,a6 as w,as as O,z as U,at as D,au as J,j as e,av as b,aw as x,ax as B,ay as F,az as L,n as z,aA as K}from"./index-
|
|
1
|
+
import{m as k,ar as R,a6 as w,as as O,z as U,at as D,au as J,j as e,av as b,aw as x,ax as B,ay as F,az as L,n as z,aA as K}from"./index-6d9a536e.js";const $="CREATE_PROJECT_BTN",H=()=>{const{setToastData:n,setToastApiError:i}=k(),{refetchUser:d}=R(),{uiConfig:l}=w(),t=O(),{trackEvent:u}=U(),{projectId:a,projectName:j,projectMode:p,projectDesc:m,setProjectId:P,setProjectName:C,setProjectDesc:T,getProjectPayload:o,clearErrors:r,validateProjectId:s,validateName:h,setProjectStickiness:E,setProjectMode:f,projectStickiness:c,errors:g}=D(),{createProject:A,loading:_}=J();return e(b,{loading:_,title:"Create project",description:"Projects allows you to group feature toggles together in the management UI.",documentationLink:"https://docs.getunleash.io/reference/projects",documentationLinkLabel:"Projects documentation",formatApiCode:()=>`curl --location --request POST '${l.unleashUrl}/api/admin/projects' \\
|
|
2
2
|
--header 'Authorization: INSERT_API_KEY' \\
|
|
3
3
|
--header 'Content-Type: application/json' \\
|
|
4
4
|
--data-raw '${JSON.stringify(o(),void 0,2)}'`,children:e(x,{errors:g,handleSubmit:async N=>{N.preventDefault(),r();const v=h(),y=await s();if(v&&y){const S=o();try{await A(S),d(),t(`/projects/${a}`),n({title:"Project created",text:"Now you can add toggles to this project",confetti:!0,type:"success"}),c!==L&&u("project_stickiness_set")}catch(I){i(z(I))}}},handleCancel:()=>{t(K)},projectId:a,setProjectId:P,projectName:j,projectMode:p,projectStickiness:c,setProjectStickiness:E,setProjectMode:f,setProjectName:C,projectDesc:m,setProjectDesc:T,mode:"Create",clearErrors:r,validateProjectId:s,children:e(B,{name:"project",permission:F,"data-testid":$})})})};export{H as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{E as r,j as o}from"./index-
|
|
1
|
+
import{E as r,j as o}from"./index-6d9a536e.js";const a=r(o("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z"}),"Error");export{a as E};
|
package/frontend/build/static/{FeatureArchiveDialog-33634918.js → FeatureArchiveDialog-7c45ad83.js}
RENAMED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import{E as ie,j as r,b as ce,aI as Y,a_ as Z,h as C,bb as W,C as U,A as we,T as O,ca as Ae,t as j,fx as xe,bh as Re,fy as X,as as J,a6 as ee,fz as ke,fA as Fe,fB as De,fC as Pe,bv as G,fD as $e,ai as Oe,fE as Be,fF as N,cl as le,r as w,au as ue,m as z,fG as de,z as ge,fH as he,av as fe,a$ as pe,br as qe,fI as _e,n as B,dp as Le,b0 as Ue,aZ as me,aJ as Q,b2 as ye,fJ as je,fK as Ve,fL as Ie,fM as ze,fN as Ye,fO as We,b3 as be,bc as He,fP as Me,F as K,aN as ne,B as Ge,v as Je,bR as te,fQ as Ke,ej as Ne,fR as Qe,fS as Ze,fT as Xe,be as et,bf as tt,bg as at,am as Se,al as ve,bU as st,cc as nt,df as rt,$ as ot,fU as it,de as ct,a8 as lt,bP as ut,aU as dt,aS as gt,aT as ht}from"./index-
|
|
1
|
+
import{E as ie,j as r,b as ce,aI as Y,a_ as Z,h as C,bb as W,C as U,A as we,T as O,ca as Ae,t as j,fx as xe,bh as Re,fy as X,as as J,a6 as ee,fz as ke,fA as Fe,fB as De,fC as Pe,bv as G,fD as $e,ai as Oe,fE as Be,fF as N,cl as le,r as w,au as ue,m as z,fG as de,z as ge,fH as he,av as fe,a$ as pe,br as qe,fI as _e,n as B,dp as Le,b0 as Ue,aZ as me,aJ as Q,b2 as ye,fJ as je,fK as Ve,fL as Ie,fM as ze,fN as Ye,fO as We,b3 as be,bc as He,fP as Me,F as K,aN as ne,B as Ge,v as Je,bR as te,fQ as Ke,ej as Ne,fR as Qe,fS as Ze,fT as Xe,be as et,bf as tt,bg as at,am as Se,al as ve,bU as st,cc as nt,df as rt,$ as ot,fU as it,de as ct,a8 as lt,bP as ut,aU as dt,aS as gt,aT as ht}from"./index-6d9a536e.js";const ft=ie(r("path",{d:"M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96z"}),"Cloud"),zt=ie(r("path",{d:"M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10 10-4.5 10-10S17.5 2 12 2zm4.2 14.2L11 13V7h1.5v5.2l4.5 2.7-.8 1.3z"}),"WatchLater"),Yt=({enabled:e,className:s})=>{const t=ce(),i=e?"Environment enabled":"Environment disabled",a={backgroundColor:e?t.palette.primary.light:t.palette.neutral.border,borderRadius:"50%",width:"28px",height:"28px",minWidth:"28px",display:"flex",alignItems:"center",justifyContent:"center",marginRight:t.spacing(1)},n={fill:t.palette.common.white,width:"16px",height:"16px"};return r("div",{style:a,className:s,children:r(ft,{style:n,titleAccess:i})})},pt=({isOpen:e,onConfirm:s,onClose:t,showBanner:i,environment:a,messageComponent:n})=>{const o=Y("projectId"),{data:u}=Z(o),{changeRequestInReviewOrApproved:f,alert:g}=Ae(u),l=f(a||"");return C(W,{open:e,primaryButtonText:l?"Add to existing change request":"Add suggestion to draft",secondaryButtonText:"Cancel",onClick:s,onClose:t,title:"Request changes",fullWidth:!0,children:[r(U,{condition:l,show:g}),r(U,{condition:!!i,show:C(we,{severity:"info",sx:{mb:2},children:["Change requests feature is enabled for ",a,". Your changes need to be approved before they will be live. All the changes you do now will be added into a draft that you can submit for review."]})}),r(O,{variant:"body2",color:"text.secondary",children:"Your suggestion:"}),n]})},mt=(e,s)=>{const t={};return s.parameters.forEach(i=>{t[i.name]=yt(e,i)}),{name:s.name,constraints:[],parameters:t}},yt=(e,s)=>s.name==="rollout"||s.name==="percentage"||s.type==="percentage"?"50":s.name==="stickiness"?"":s.name==="groupId"?e:s.type==="boolean"?"false":"",bt=j("form")(({theme:e})=>({display:"grid",gap:e.spacing(2)})),re=j("hr")(({theme:e})=>({width:"100%",height:"1px",margin:e.spacing(2,0),border:"none",background:e.palette.background.elevation2})),St=j("div")(({theme:e})=>({display:"flex",justifyContent:"end",gap:e.spacing(2),paddingBottom:e.spacing(10)})),vt=({projectId:e,environmentId:s,permission:t,onSubmit:i,onCancel:a,loading:n,strategy:o,setStrategy:u,segments:f,setSegments:g,errors:l})=>{const S=xe(o.constraints),c=Re(t,e,s),{strategyDefinition:d}=X(o==null?void 0:o.name),m=J(),{uiConfig:h,error:v,loading:x}=ee();if(v)throw v;if(x||!d)return null;const D=p=>d.parameters.find(E=>E.name===p),A=(p,E)=>{const F=D(p);if(p!=="groupId"){const T=Be(F,E);return T?(l.setFormError(p,T),!1):(l.removeFormError(p),!0)}return!0},y=()=>d.parameters.map(p=>p.name).map(p=>{var E;return A(p,(E=o.parameters)==null?void 0:E[p])}).every(Boolean),q=()=>{m(`/projects/${e}/settings/default-strategy`)};return C(bt,{onSubmit:async p=>{if(p.preventDefault(),y())i();else return},children:[r(ke,{title:o.title||"",setTitle:p=>{u(E=>({...E,title:p}))}}),r(U,{condition:!!h.flags.SE,show:r(Fe,{segments:f,setSegments:g,projectId:e})}),r(De,{projectId:e,environmentId:s,strategy:o,setStrategy:u}),r(re,{}),r(Pe,{strategy:o,strategyDefinition:d,setStrategy:u,validateParameter:A,errors:l,hasAccess:c}),r(re,{}),C(St,{children:[r(G,{permission:t,projectId:e,environmentId:s,variant:"contained",color:"primary",type:"submit",disabled:n||!S||l.hasFormErrors(),"data-testid":$e,children:"Save strategy"}),r(Oe,{type:"button",color:"primary",onClick:a||q,disabled:n,children:"Cancel"})]})]})},Te={name:"flexibleRollout",constraints:[],parameters:{rollout:"100",stickiness:"default",groupId:""}},Wt=()=>{var F;const e=Y("projectId"),s=N("environmentId"),{project:t,refetch:i}=le(e),a=(F=t.environments.find(T=>T.environment===s))==null?void 0:F.defaultStrategy,[n,o]=w.useState(a||Te),[u,f]=w.useState([]),{updateDefaultStrategy:g,loading:l}=ue(),{strategyDefinition:S}=X(n==null?void 0:n.name),{setToastData:c,setToastApiError:d}=z(),m=de(),{uiConfig:h}=ee(),{unleashUrl:v}=h,x=J(),{trackEvent:D}=ge(),{segments:A,refetchSegments:y}=he();w.useEffect(()=>{if(A&&(a!=null&&a.segments)){const T=[];for(const P of a==null?void 0:a.segments)T.push(...A.filter(V=>V.id===P));f(T)}},[JSON.stringify(A),JSON.stringify(a==null?void 0:a.segments)]);const q=h!=null&&h.flags.SE?u:[],k=Tt(n,q),p=async T=>{await g(e,s,T),D("default_strategy",{props:{action:"edit",hasTitle:!!T.title}}),await y(),c({title:"Default Strategy updated",type:"success",confetti:!0})},E=async()=>{const T=`/projects/${e}/settings/default-strategy`;try{await p(k),await i(),x(T)}catch(P){d(B(P))}};return!S||!n?null:r(fe,{modal:!0,title:pe((n==null?void 0:n.name)??""),description:Et,documentationLink:wt,documentationLinkLabel:At,formatApiCode:()=>Ct(e,s,k,S,v),children:r(vt,{projectId:e,strategy:n,setStrategy:o,segments:u,setSegments:f,environmentId:s,onSubmit:E,loading:l,permission:qe,errors:m,isChangeRequest:!1})})},Tt=(e,s)=>({name:e.name,title:e.title,constraints:e.constraints??[],parameters:e.parameters??{},segments:s.map(t=>t.id),disabled:e.disabled??!1}),Ct=(e,s,t,i,a)=>{if(!a)return"";const n={...t,parameters:_e(t.parameters??{},i)},o=`${a}/api/admin/projects/${e}/environments/${s}/default-strategy}`,u=JSON.stringify(n,void 0,2);return`curl --location --request PUT '${o}' \\
|
|
2
2
|
--header 'Authorization: INSERT_API_KEY' \\
|
|
3
3
|
--header 'Content-Type: application/json' \\
|
|
4
|
-
--data-raw '${
|
|
4
|
+
--data-raw '${u}'`},Et=`
|
|
5
5
|
An activation strategy will only run when a feature toggle is enabled and provides a way to control who will get access to the feature.
|
|
6
6
|
If any of a feature toggle's activation strategies returns true, the user will get access.
|
|
7
|
-
`,wt="https://docs.getunleash.io/reference/activation-strategies",At="Default strategy documentation",Ht=()=>{var se;const e=Y("projectId"),s=Y("featureId"),t=N("environmentId"),i=N("strategyName"),a=JSON.parse(Le().get("defaultStrategy")||"false"),{project:n}=le(e),o=(se=n.environments.find(R=>R.environment===t))==null?void 0:se.defaultStrategy,{segments:
|
|
7
|
+
`,wt="https://docs.getunleash.io/reference/activation-strategies",At="Default strategy documentation",Ht=()=>{var se;const e=Y("projectId"),s=Y("featureId"),t=N("environmentId"),i=N("strategyName"),a=JSON.parse(Le().get("defaultStrategy")||"false"),{project:n}=le(e),o=(se=n.environments.find(R=>R.environment===t))==null?void 0:se.defaultStrategy,{segments:u}=he(),f=(u||[]).filter(R=>{var L;return(L=o==null?void 0:o.segments)==null?void 0:L.includes(R.id)}),[g,l]=w.useState({}),[S,c]=w.useState(a?f:[]),{strategyDefinition:d}=X(i),m=de(),{addStrategyToFeature:h,loading:v}=Ue(),{addChange:x}=me(),{setToastData:D,setToastApiError:A}=z(),{uiConfig:y}=ee(),{unleashUrl:q}=y,k=J(),{feature:p,refetchFeature:E}=Q(e,s),F=w.useRef(p),{isChangeRequestConfigured:T}=ye(e),{refetch:P}=Z(e),{trackEvent:V}=ge(),{data:I,staleDataNotification:b,forceRefreshCache:$}=je({unleashGetter:Q,params:[e,s],dataKey:"feature",refetchFunctionKey:"refetchFeature",options:{}},p,{afterSubmitAction:E},Me);w.useEffect(()=>{F.current.name===""&&p.name&&($(p),F.current=p)},[p.name]),w.useEffect(()=>{var R;if(a){const L=o||Te;((R=L.parameters)==null?void 0:R.groupId)===""&&s?l({...L,parameters:{...L.parameters,groupId:s}}):l(L)}else d&&l(mt(s,d))},[s,JSON.stringify(d),a]);const H=async R=>{await h(e,s,t,R),D({title:"Strategy created",type:"success",confetti:!0})},M=async R=>{await x(e,t,{action:"addStrategy",feature:s,payload:R}),D({title:"Strategy added to draft",type:"success",confetti:!0}),P()},_=Ve(g,S),Ee=async()=>{V("strategyTitle",{props:{hasTitle:!!g.title,on:"create"}});try{T(t)?await M(_):await H(_),E(),k(He(e,s))}catch(R){A(B(R))}};return!I||!I.project?null:C(fe,{modal:!0,title:pe(i),description:Ie,documentationLink:ze,documentationLinkLabel:Ye,formatApiCode:()=>Rt(e,s,t,_,q),children:[r(We,{projectId:e,feature:I,strategy:g,setStrategy:l,segments:S,setSegments:c,environmentId:t,onSubmit:Ee,loading:v,permission:be,errors:m,isChangeRequest:T(t)}),b]})},xt=(e,s,t,i,a=!1)=>{const n=new URLSearchParams({environmentId:t,strategyName:i,defaultStrategy:String(a)});return`/projects/${e}/features/${s}/strategies/create?${n}`},Rt=(e,s,t,i,a)=>{if(!a)return"";const n=`${a}/api/admin/projects/${e}/features/${s}/environments/${t}/strategies`,o=JSON.stringify(i,void 0,2);return`curl --location --request POST '${n}' \\
|
|
8
8
|
--header 'Authorization: INSERT_API_KEY' \\
|
|
9
9
|
--header 'Content-Type: application/json' \\
|
|
10
|
-
--data-raw '${o}'`},oe=j("p")(({theme:e})=>({marginBottom:e.spacing(.5),fontSize:e.fontSizes.bodySize})),Mt=({open:e,environmentName:s,featureId:t,projectId:i,onClose:a})=>{const n=J(),o=xt(i,t,s,"default");return C(W,{open:e,maxWidth:"sm",onClose:()=>a(),title:"You need to add a strategy to your toggle",primaryButtonText:"Take me directly to add strategy",permissionButton:r(G,{type:"button",permission:be,projectId:i,environmentId:s,onClick:()=>{a(),n(o)},children:"Take me directly to add strategy"}),secondaryButtonText:"Cancel",children:[r(oe,{children:"Before you can enable the toggle in the environment, you need to add an activation strategy."}),r(oe,{children:"You can add the activation strategy by selecting the toggle, open the environment accordion and add the activation strategy."})]})},kt="You can not enable the environment before it has strategies",Ft=e=>{const{setToastData:s,setToastApiError:t}=z(),{addChange:i}=me(),{refetch:a}=Z(e),[n,o]=w.useState({isOpen:!1}),d=w.useCallback((l,S,c,u)=>{o({featureName:l,environment:S,enabled:c,shouldActivateDisabledStrategies:u,isOpen:!0})},[]),f=w.useCallback(()=>{o(l=>({...l,isOpen:!1}))},[]),h=w.useCallback(async()=>{try{await i(e,n.environment,{feature:n.featureName,action:"updateEnabled",payload:{enabled:!!n.enabled,shouldActivateDisabledStrategies:!!n.shouldActivateDisabledStrategies}}),a(),o(l=>({...l,isOpen:!1})),s({type:"success",title:"Changes added to the draft!"})}catch(l){t(B(l)),o(S=>({...S,isOpen:!1}))}},[i]);return{onChangeRequestToggle:d,onChangeRequestToggleClose:f,onChangeRequestToggleConfirm:h,changeRequestDialogDetails:n}},Dt=({isOpen:e,onAddDefaultStrategy:s,onActivateDisabledStrategies:t,onClose:i,environment:a,disabledStrategiesCount:n=0})=>{const o=Y("projectId");return C(W,{open:e,secondaryButtonText:"Cancel",permissionButton:C(K,{children:[r(G,{type:"button",permission:ne,projectId:o,environmentId:a,onClick:s,children:"Add default strategy"}),r(G,{type:"button",variant:"text",permission:ne,projectId:o,environmentId:a,onClick:t,children:"Enable all strategies"})]}),onClose:i,title:"Enable feature toggle",fullWidth:!0,children:[C(O,{variant:"body1",color:"text.primary",sx:{mb:d=>d.spacing(2)},children:["The feature toggle has ",n," disabled",n===1?" strategy":" strategies","."]}),r(O,{variant:"body1",color:"text.primary",children:"You can choose to enable all the disabled strategies or you can add the default strategy to enable this feature toggle."})]})},Pt=({enabled:e,featureName:s,environment:t})=>C(O,{"data-testid":"update-enabled-message",children:[r("strong",{children:e?"Enable":"Disable"})," feature toggle"," ",r("strong",{children:s})," in ",r("strong",{children:t})]}),$t=j(Ge)(()=>({mx:"auto",...Je})),Gt=({projectId:e,featureId:s,environmentName:t,value:i,onToggle:a,onError:n})=>{var I;const{toggleFeatureEnvironmentOn:o,toggleFeatureEnvironmentOff:d}=te(),{setToastData:f,setToastApiError:h}=z(),{isChangeRequestConfigured:l}=ye(e),{onChangeRequestToggle:S,onChangeRequestToggleClose:c,onChangeRequestToggleConfirm:u,changeRequestDialogDetails:m}=Ft(e),[g,v,x]=Ke(i),[D,A]=w.useState(!1),{feature:y}=Q(e,s),q=((I=y==null?void 0:y.environments.find(b=>b.name===t))==null?void 0:I.strategies.filter(b=>b.disabled).length)??0,k=async(b=!1)=>{try{v(!g),await o(e,y.name,t,b),f({type:"success",title:`Available in ${t}`,text:`${y.name} is now available in ${t} based on its defined strategies.`}),a==null||a(e,y.name,t,!g)}catch($){$ instanceof Error&&$.message===kt?n==null||n():h(B($)),x()}},p=async()=>{try{v(!g),await d(e,y.name,t),f({type:"success",title:`Unavailable in ${t}`,text:`${y.name} is unavailable in ${t} and its strategies will no longer have any effect.`}),a==null||a(e,y.name,t,!g)}catch(b){h(B(b)),x()}},E=async b=>{if(l(t)){b.preventDefault(),P()?A(!0):S(y.name,t,!g,!1);return}if(g){await p();return}P()?A(!0):await k()},F=async()=>{l(t)?S(y.name,t,!g,!0):await k(!0),A(!1)},T=async()=>{l(t)?S(y.name,t,!g,!1):await k(),A(!1)},P=()=>{var $,H,M;const b=($=y==null?void 0:y.environments)==null?void 0:$.find(_=>_.name===t);return(b==null?void 0:b.strategies)&&((H=b==null?void 0:b.strategies)==null?void 0:H.length)>0&&((M=b==null?void 0:b.strategies)==null?void 0:M.every(_=>_.disabled))},V=`${y.name}-${t}`;return C(K,{children:[r($t,{"data-testid":`TOGGLE-${V}`,children:r(Ne,{tooltip:g?`Disable feature in ${t}`:`Enable feature in ${t}`,checked:g,environmentId:t,projectId:e,permission:Qe,inputProps:{"aria-label":t},onClick:E})},V),r(Dt,{isOpen:D,onClose:()=>A(!1),environment:t,disabledStrategiesCount:q,onActivateDisabledStrategies:F,onAddDefaultStrategy:T}),r(pt,{isOpen:m.isOpen,onClose:c,environment:m==null?void 0:m.environment,onConfirm:u,messageComponent:r(Pt,{enabled:m==null?void 0:m.enabled,featureName:m==null?void 0:m.featureName,environment:m.environment})})]})},Ot=j(Ze)(({theme:e})=>({color:e.palette.warning.main,fontSize:e.fontSizes.bodySize})),Jt=()=>r(Xe,{arrow:!0,title:C(K,{children:["This environment has no variants enabled. If you check this feature's variants in this environment, you will get the"," ",r("a",{href:"https://docs.getunleash.io/reference/feature-toggle-variants#the-disabled-variant",target:"_blank",rel:"noreferrer",children:"disabled variant"}),"."]}),children:r(Ot,{})});var ae={},Bt=tt;Object.defineProperty(ae,"__esModule",{value:!0});var Ce=ae.default=void 0,qt=Bt(et()),_t=at,Lt=(0,qt.default)((0,_t.jsx)("path",{d:"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-2 10H7v-2h10v2z"}),"IndeterminateCheckBox");Ce=ae.default=Lt;const Ut=it(),Kt=({options:e,selectedOptions:s,indeterminateOptions:t,tagType:i,existingTags:a,disabled:n=!1,onChange:o})=>{const d=r(ct,{fontSize:"small"});return r(Se,{multiple:!0,id:"checkboxes-tag",sx:{marginTop:c=>c.spacing(2),width:500},disableCloseOnSelect:!0,placeholder:"Select Values",options:e,value:s,renderTags:(c,u)=>c.map((m,g)=>a.some(x=>x.value===m.title&&x.type===i.name)&&t===void 0?null:r(ot,{...u({index:g}),label:m.title})),isOptionEqualToValue:(c,u)=>u.inputValue&&u.inputValue!==""?c.title===u.inputValue:c.title===u.title,getOptionLabel:c=>c.inputValue?c.inputValue:c.title,renderOption:(c,u,{selected:m})=>{const g=(t==null?void 0:t.some(v=>v.title===u.title))??!1;return C("li",{...c,children:[r(U,{condition:!!u.inputValue,show:r(st,{sx:{mr:v=>v.spacing(.5)}}),elseShow:r(nt,{icon:d,checkedIcon:r(rt,{fontSize:"small"}),indeterminateIcon:r(Ce,{fontSize:"small"}),sx:{mr:v=>v.spacing(.5)},checked:m&&!g,indeterminate:g})}),u.title]})},filterOptions:(c,u)=>{const m=Ut(c,u),{inputValue:g}=u,v=c.some(x=>g===x.title);return g!==""&&!v&&m.push({inputValue:g,title:`Create new value "${g}"`}),m},ListboxProps:{style:{maxHeight:200,overflow:"auto"}},onChange:o,renderInput:c=>r(ve,{...c,label:"Select values",placeholder:"Select values"}),disabled:n})},jt=j("li")({flexDirection:"column"}),Nt=({options:e,value:s,disabled:t=!1,onChange:i})=>{const a=ce();return r(Se,{disablePortal:!0,disabled:t,id:"tag-type-select",sx:{marginTop:n=>n.spacing(2),width:500},options:e,disableClearable:!0,value:s,getOptionLabel:n=>n.name,renderOption:(n,o)=>C(jt,{...n,style:{alignItems:"flex-start",gap:a.spacing(.5)},children:[r(O,{variant:"body1",children:o.name}),r(O,{variant:"caption",children:o.description})]}),renderInput:n=>r(ve,{...n,label:"Tag type",value:s}),onChange:i,ListboxProps:{style:{maxHeight:200,overflow:"auto"}}})},Qt=()=>{const{makeRequest:e,createRequest:s,errors:t,loading:i}=lt({propagateErrors:!0});return{createTag:async o=>{const f=s("api/admin/tags",{method:"POST",body:JSON.stringify(o)});try{return await e(f.caller,f.id)}catch(h){throw h}},bulkUpdateTags:async o=>{const f=s("api/admin/tags/features",{method:"PUT",body:JSON.stringify(o)});try{return await e(f.caller,f.id)}catch(h){throw h}},errors:t,loading:i}},Zt=(e,s={})=>{const t=async()=>{const h=gt(`api/admin/tags/${e}`);return(await fetch(h,{method:"GET"}).then(ht("Tags"))).json()},i=`api/admin/tags/${e}`,{data:a,error:n}=ut(!!e,{tags:[]},i,t,s),[o,d]=w.useState(!n&&!a),f=()=>{dt(i)};return w.useEffect(()=>{d(!n&&!a)},[a,n]),{tags:(a==null?void 0:a.tags)||[],error:n,loading:o,refetch:f}},Xt=({isStale:e,isOpen:s,projectId:t,featureId:i,onClose:a})=>{const{setToastData:n,setToastApiError:o}=z(),{patchFeatureToggle:d}=te(),f=r(O,{children:"Setting a toggle to stale marks it for cleanup"}),h=r(O,{children:"Setting a toggle to active marks it as in active use"}),l=e?"active":"stale",S=async c=>{c.stopPropagation();try{await d(t,i,[{op:"replace",path:"/stale",value:!e}]),a()}catch(u){o(B(u))}n(e?{type:"success",title:"And we're back!",text:"The toggle is no longer marked as stale."}:{type:"success",title:"A job well done.",text:"The toggle has been marked as stale."})};return r(W,{open:s,secondaryButtonText:"Cancel",primaryButtonText:`Flip to ${l}`,title:`Set feature state to ${l}`,onClick:S,onClose:a,children:r(U,{condition:e,show:h,elseShow:f})})},ea=({isOpen:e,onClose:s,onConfirm:t,projectId:i,featureIds:a})=>{const{archiveFeatureToggle:n}=te(),{archiveFeatures:o}=ue(),{setToastData:d,setToastApiError:f}=z(),h=(a==null?void 0:a.length)>1;return r(W,{onClick:h?async()=>{try{await o(i,a),d({text:"Selected feature toggles have been archived",type:"success",title:"Feature toggles archived"}),t(),s()}catch(c){f(B(c)),s()}}:async()=>{try{await n(i,a[0]),d({text:"Your feature toggle has been archived",type:"success",title:"Feature archived"}),t(),s()}catch(c){f(B(c)),s()}},open:e,onClose:s,primaryButtonText:h?"Archive toggles":"Archive toggle",secondaryButtonText:"Cancel",title:h?"Archive feature toggles":"Archive feature toggle",children:r(U,{condition:h,show:C(K,{children:[C("p",{children:["Are you sure you want to archive"," ",r("strong",{children:a==null?void 0:a.length})," feature toggles?"]}),r(U,{condition:(a==null?void 0:a.length)<=5,show:r("ul",{children:a==null?void 0:a.map(c=>r("li",{children:c},c))})})]}),elseShow:r("p",{children:"Are you sure you want to archive these feature toggles?"})})})};export{pt as C,Yt as E,Gt as F,Nt as T,Pt as U,Jt as V,zt as W,Mt as a,Zt as b,Kt as c,Ht as d,ea as e,xt as f,Xt as g,Ft as h,Wt as i,Qt as u};
|
|
10
|
+
--data-raw '${o}'`},oe=j("p")(({theme:e})=>({marginBottom:e.spacing(.5),fontSize:e.fontSizes.bodySize})),Mt=({open:e,environmentName:s,featureId:t,projectId:i,onClose:a})=>{const n=J(),o=xt(i,t,s,"default");return C(W,{open:e,maxWidth:"sm",onClose:()=>a(),title:"You need to add a strategy to your toggle",primaryButtonText:"Take me directly to add strategy",permissionButton:r(G,{type:"button",permission:be,projectId:i,environmentId:s,onClick:()=>{a(),n(o)},children:"Take me directly to add strategy"}),secondaryButtonText:"Cancel",children:[r(oe,{children:"Before you can enable the toggle in the environment, you need to add an activation strategy."}),r(oe,{children:"You can add the activation strategy by selecting the toggle, open the environment accordion and add the activation strategy."})]})},kt="You can not enable the environment before it has strategies",Ft=e=>{const{setToastData:s,setToastApiError:t}=z(),{addChange:i}=me(),{refetch:a}=Z(e),[n,o]=w.useState({isOpen:!1}),u=w.useCallback((l,S,c,d)=>{o({featureName:l,environment:S,enabled:c,shouldActivateDisabledStrategies:d,isOpen:!0})},[]),f=w.useCallback(()=>{o(l=>({...l,isOpen:!1}))},[]),g=w.useCallback(async()=>{try{await i(e,n.environment,{feature:n.featureName,action:"updateEnabled",payload:{enabled:!!n.enabled,shouldActivateDisabledStrategies:!!n.shouldActivateDisabledStrategies}}),a(),o(l=>({...l,isOpen:!1})),s({type:"success",title:"Changes added to the draft!"})}catch(l){t(B(l)),o(S=>({...S,isOpen:!1}))}},[i]);return{onChangeRequestToggle:u,onChangeRequestToggleClose:f,onChangeRequestToggleConfirm:g,changeRequestDialogDetails:n}},Dt=({isOpen:e,onAddDefaultStrategy:s,onActivateDisabledStrategies:t,onClose:i,environment:a,disabledStrategiesCount:n=0})=>{const o=Y("projectId");return C(W,{open:e,secondaryButtonText:"Cancel",permissionButton:C(K,{children:[r(G,{type:"button",permission:ne,projectId:o,environmentId:a,onClick:s,children:"Add default strategy"}),r(G,{type:"button",variant:"text",permission:ne,projectId:o,environmentId:a,onClick:t,children:"Enable all strategies"})]}),onClose:i,title:"Enable feature toggle",fullWidth:!0,children:[C(O,{variant:"body1",color:"text.primary",sx:{mb:u=>u.spacing(2)},children:["The feature toggle has ",n," disabled",n===1?" strategy":" strategies","."]}),r(O,{variant:"body1",color:"text.primary",children:"You can choose to enable all the disabled strategies or you can add the default strategy to enable this feature toggle."})]})},Pt=({enabled:e,featureName:s,environment:t})=>C(O,{"data-testid":"update-enabled-message",children:[r("strong",{children:e?"Enable":"Disable"})," feature toggle"," ",r("strong",{children:s})," in ",r("strong",{children:t})]}),$t=j(Ge)(()=>({mx:"auto",...Je})),Gt=({projectId:e,featureId:s,environmentName:t,value:i,onToggle:a,onError:n})=>{var I;const{toggleFeatureEnvironmentOn:o,toggleFeatureEnvironmentOff:u}=te(),{setToastData:f,setToastApiError:g}=z(),{isChangeRequestConfigured:l}=ye(e),{onChangeRequestToggle:S,onChangeRequestToggleClose:c,onChangeRequestToggleConfirm:d,changeRequestDialogDetails:m}=Ft(e),[h,v,x]=Ke(i),[D,A]=w.useState(!1),{feature:y}=Q(e,s),q=((I=y==null?void 0:y.environments.find(b=>b.name===t))==null?void 0:I.strategies.filter(b=>b.disabled).length)??0,k=async(b=!1)=>{try{v(!h),await o(e,y.name,t,b),f({type:"success",title:`Available in ${t}`,text:`${y.name} is now available in ${t} based on its defined strategies.`}),a==null||a(e,y.name,t,!h)}catch($){$ instanceof Error&&$.message===kt?n==null||n():g(B($)),x()}},p=async()=>{try{v(!h),await u(e,y.name,t),f({type:"success",title:`Unavailable in ${t}`,text:`${y.name} is unavailable in ${t} and its strategies will no longer have any effect.`}),a==null||a(e,y.name,t,!h)}catch(b){g(B(b)),x()}},E=async b=>{if(l(t)){b.preventDefault(),P()?A(!0):S(y.name,t,!h,!1);return}if(h){await p();return}P()?A(!0):await k()},F=async()=>{l(t)?S(y.name,t,!h,!0):await k(!0),A(!1)},T=async()=>{l(t)?S(y.name,t,!h,!1):await k(),A(!1)},P=()=>{var $,H,M;const b=($=y==null?void 0:y.environments)==null?void 0:$.find(_=>_.name===t);return(b==null?void 0:b.strategies)&&((H=b==null?void 0:b.strategies)==null?void 0:H.length)>0&&((M=b==null?void 0:b.strategies)==null?void 0:M.every(_=>_.disabled))},V=`${y.name}-${t}`;return C(K,{children:[r($t,{"data-testid":`TOGGLE-${V}`,children:r(Ne,{tooltip:h?`Disable feature in ${t}`:`Enable feature in ${t}`,checked:h,environmentId:t,projectId:e,permission:Qe,inputProps:{"aria-label":t},onClick:E})},V),r(Dt,{isOpen:D,onClose:()=>A(!1),environment:t,disabledStrategiesCount:q,onActivateDisabledStrategies:F,onAddDefaultStrategy:T}),r(pt,{isOpen:m.isOpen,onClose:c,environment:m==null?void 0:m.environment,onConfirm:d,messageComponent:r(Pt,{enabled:m==null?void 0:m.enabled,featureName:m==null?void 0:m.featureName,environment:m.environment})})]})},Ot=j(Ze)(({theme:e})=>({color:e.palette.warning.main,fontSize:e.fontSizes.bodySize})),Jt=()=>r(Xe,{arrow:!0,title:C(K,{children:["This environment has no variants enabled. If you check this feature's variants in this environment, you will get the"," ",r("a",{href:"https://docs.getunleash.io/reference/feature-toggle-variants#the-disabled-variant",target:"_blank",rel:"noreferrer",children:"disabled variant"}),"."]}),children:r(Ot,{})});var ae={},Bt=tt;Object.defineProperty(ae,"__esModule",{value:!0});var Ce=ae.default=void 0,qt=Bt(et()),_t=at,Lt=(0,qt.default)((0,_t.jsx)("path",{d:"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-2 10H7v-2h10v2z"}),"IndeterminateCheckBox");Ce=ae.default=Lt;const Ut=it(),Kt=({options:e,selectedOptions:s,indeterminateOptions:t,tagType:i,existingTags:a,disabled:n=!1,onChange:o})=>{const u=r(ct,{fontSize:"small"});return r(Se,{multiple:!0,id:"checkboxes-tag",sx:{marginTop:c=>c.spacing(2),width:500},disableCloseOnSelect:!0,placeholder:"Select Values",options:e,value:s,renderTags:(c,d)=>c.map((m,h)=>a.some(x=>x.value===m.title&&x.type===i.name)&&t===void 0?null:r(ot,{...d({index:h}),label:m.title})),isOptionEqualToValue:(c,d)=>d.inputValue&&d.inputValue!==""?c.title===d.inputValue:c.title===d.title,getOptionLabel:c=>c.inputValue?c.inputValue:c.title,renderOption:(c,d,{selected:m})=>{const h=(t==null?void 0:t.some(v=>v.title===d.title))??!1;return C("li",{...c,children:[r(U,{condition:!!d.inputValue,show:r(st,{sx:{mr:v=>v.spacing(.5)}}),elseShow:r(nt,{icon:u,checkedIcon:r(rt,{fontSize:"small"}),indeterminateIcon:r(Ce,{fontSize:"small"}),sx:{mr:v=>v.spacing(.5)},checked:m&&!h,indeterminate:h})}),d.title]})},filterOptions:(c,d)=>{const m=Ut(c,d),{inputValue:h}=d,v=c.some(x=>h===x.title);return h!==""&&!v&&m.push({inputValue:h,title:`Create new value "${h}"`}),m},ListboxProps:{style:{maxHeight:200,overflow:"auto"}},onChange:o,renderInput:c=>r(ve,{...c,label:"Select values",placeholder:"Select values"}),disabled:n})},jt=j("li")({flexDirection:"column"}),Nt=({options:e,value:s,disabled:t=!1,onChange:i})=>{const a=ce();return r(Se,{disablePortal:!0,disabled:t,id:"tag-type-select",sx:{marginTop:n=>n.spacing(2),width:500},options:e,disableClearable:!0,value:s,getOptionLabel:n=>n.name,renderOption:(n,o)=>C(jt,{...n,style:{alignItems:"flex-start",gap:a.spacing(.5)},children:[r(O,{variant:"body1",children:o.name}),r(O,{variant:"caption",children:o.description})]}),renderInput:n=>r(ve,{...n,label:"Tag type",value:s}),onChange:i,ListboxProps:{style:{maxHeight:200,overflow:"auto"}}})},Qt=()=>{const{makeRequest:e,createRequest:s,errors:t,loading:i}=lt({propagateErrors:!0});return{createTag:async o=>{const f=s("api/admin/tags",{method:"POST",body:JSON.stringify(o)});try{return await e(f.caller,f.id)}catch(g){throw g}},bulkUpdateTags:async(o,u)=>{const f=`api/admin/projects/${u}/tags`,g=s(f,{method:"PUT",body:JSON.stringify(o)});try{return await e(g.caller,g.id)}catch(l){throw l}},errors:t,loading:i}},Zt=(e,s={})=>{const t=async()=>{const g=gt(`api/admin/tags/${e}`);return(await fetch(g,{method:"GET"}).then(ht("Tags"))).json()},i=`api/admin/tags/${e}`,{data:a,error:n}=ut(!!e,{tags:[]},i,t,s),[o,u]=w.useState(!n&&!a),f=()=>{dt(i)};return w.useEffect(()=>{u(!n&&!a)},[a,n]),{tags:(a==null?void 0:a.tags)||[],error:n,loading:o,refetch:f}},Xt=({isStale:e,isOpen:s,projectId:t,featureId:i,onClose:a})=>{const{setToastData:n,setToastApiError:o}=z(),{patchFeatureToggle:u}=te(),f=r(O,{children:"Setting a toggle to stale marks it for cleanup"}),g=r(O,{children:"Setting a toggle to active marks it as in active use"}),l=e?"active":"stale",S=async c=>{c.stopPropagation();try{await u(t,i,[{op:"replace",path:"/stale",value:!e}]),a()}catch(d){o(B(d))}n(e?{type:"success",title:"And we're back!",text:"The toggle is no longer marked as stale."}:{type:"success",title:"A job well done.",text:"The toggle has been marked as stale."})};return r(W,{open:s,secondaryButtonText:"Cancel",primaryButtonText:`Flip to ${l}`,title:`Set feature state to ${l}`,onClick:S,onClose:a,children:r(U,{condition:e,show:g,elseShow:f})})},ea=({isOpen:e,onClose:s,onConfirm:t,projectId:i,featureIds:a})=>{const{archiveFeatureToggle:n}=te(),{archiveFeatures:o}=ue(),{setToastData:u,setToastApiError:f}=z(),g=(a==null?void 0:a.length)>1;return r(W,{onClick:g?async()=>{try{await o(i,a),u({text:"Selected feature toggles have been archived",type:"success",title:"Feature toggles archived"}),t(),s()}catch(c){f(B(c)),s()}}:async()=>{try{await n(i,a[0]),u({text:"Your feature toggle has been archived",type:"success",title:"Feature archived"}),t(),s()}catch(c){f(B(c)),s()}},open:e,onClose:s,primaryButtonText:g?"Archive toggles":"Archive toggle",secondaryButtonText:"Cancel",title:g?"Archive feature toggles":"Archive feature toggle",children:r(U,{condition:g,show:C(K,{children:[C("p",{children:["Are you sure you want to archive"," ",r("strong",{children:a==null?void 0:a.length})," feature toggles?"]}),r(U,{condition:(a==null?void 0:a.length)<=5,show:r("ul",{children:a==null?void 0:a.map(c=>r("li",{children:c},c))})})]}),elseShow:r("p",{children:"Are you sure you want to archive these feature toggles?"})})})};export{pt as C,Yt as E,Gt as F,Nt as T,Pt as U,Jt as V,zt as W,Mt as a,Zt as b,Kt as c,Ht as d,ea as e,xt as f,Xt as g,Ft as h,Wt as i,Qt as u};
|
package/frontend/build/static/{FeatureMetricsChart-29151824.js → FeatureMetricsChart-098be7ad.js}
RENAMED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{f_ as c,b as m,bK as g,r as d,j as u}from"./index-
|
|
1
|
+
import{f_ as c,b as m,bK as g,r as d,j as u}from"./index-6d9a536e.js";import{d as b,L as x,C as f,a as C,b as v,P as S,c as h,T as q,p as k,e as M,f as L}from"./chartjs-adapter-date-fns.esm-d78073b7.js";import"./index-1023a005.js";import"./index-4f1029d3.js";const $=(e,s,n)=>{const a={label:"Total requests",borderColor:e.palette.primary.main,backgroundColor:e.palette.primary.main,data:p(s,n,o=>o.yes+o.no),elements:{point:{radius:6,pointStyle:"circle"},line:{borderDash:[8,4]}}},t={label:"Exposed",borderColor:e.palette.success.main,backgroundColor:e.palette.success.main,data:p(s,n,o=>o.yes),elements:{point:{radius:6,pointStyle:"triangle"}}},r={label:"Not exposed",borderColor:e.palette.error.main,backgroundColor:e.palette.error.main,data:p(s,n,o=>o.no),elements:{point:{radius:6,pointStyle:"triangle",pointRotation:180}}};return{datasets:[t,r,a]}},p=(e,s,n)=>e.map(a=>({x:a.timestamp,y:n(a),variants:a.variants})),E=(e,s)=>{if(s===0)return"";const[n,a]=e,t=Math.floor(Number(a)/s*100);return`${a} (${t}%) - ${n}`},P=(e,s,n,a)=>({locale:a.locale,responsive:!0,maintainAspectRatio:!1,interaction:{mode:"index",intersect:!1},color:e.palette.text.secondary,plugins:{tooltip:{backgroundColor:e.palette.background.paper,bodyColor:e.palette.text.primary,titleColor:e.palette.text.secondary,borderColor:e.palette.primary.main,borderWidth:1,padding:10,boxPadding:5,usePointStyle:!0,itemSort:(t,r)=>{const o=["Total requests","Exposed","Not exposed"],l=o.indexOf(t.dataset.label),i=o.indexOf(r.dataset.label);return l-i},callbacks:{label:t=>`${t.formattedValue} - ${t.dataset.label}`,afterLabel:t=>{const r=t.dataset.data[t.dataIndex];if(t.dataset.label!=="Exposed"||r.variants===void 0)return"";const{disabled:o,...l}=r.variants;return Object.entries(l).map(i=>E(i,r.y)).join(`
|
|
2
2
|
`)},title:t=>`Time: ${c(t[0].parsed.x,a.locale)}`}},legend:{position:"top",align:"end",labels:{boxWidth:10,boxHeight:10,usePointStyle:!0}},title:{text:T(n),position:"top",align:"start",display:!0,font:{size:16,weight:"400"},color:e.palette.text.primary}},scales:{y:{type:"linear",title:{display:!0,text:"Number of requests",color:e.palette.text.secondary},suggestedMin:0,ticks:{precision:0,color:e.palette.text.secondary},grid:{color:e.palette.divider,borderColor:e.palette.divider}},x:{type:"time",time:{unit:"hour"},grid:{display:!1},ticks:{callback:(t,r,o)=>c(o[r].value,a.locale),color:e.palette.text.secondary}}}}),T=e=>e===1?"Requests in the last hour":`Requests in the last ${e} hours`;b.font={...b.font,family:"Sen",size:13,weight:"400"};const R=({metrics:e,hoursBack:s,statsSectionId:n})=>{const a=m(),{locationSettings:t}=g(),r=d.useMemo(()=>[...e].sort((i,y)=>i.timestamp.localeCompare(y.timestamp)),[e]),o=d.useMemo(()=>P(a,r,s,t),[a,r,s,t]),l=d.useMemo(()=>$(a,r,t),[a,r,t]);return u("div",{style:{height:400},children:u(x,{options:o,data:l,"aria-label":"A feature metrics line chart, with three lines: all requests, positive requests, and negative requests.","aria-describedby":n})})};f.register(C,v,S,h,q,k,M,L);export{R as FeatureMetricsChart,R as default};
|