unleash-server 4.2.0-beta.7 → 4.2.2
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/README.md +1 -1
- package/dist/lib/addons/datadog.d.ts +3 -17
- package/dist/lib/addons/datadog.js +3 -109
- package/dist/lib/addons/datadog.js.map +1 -1
- package/dist/lib/addons/feature-event-formatter-md.d.ts +25 -0
- package/dist/lib/addons/feature-event-formatter-md.js +117 -0
- package/dist/lib/addons/feature-event-formatter-md.js.map +1 -0
- package/dist/lib/addons/index.d.ts +1 -0
- package/dist/lib/addons/index.js.map +1 -1
- package/dist/lib/addons/slack.d.ts +1 -11
- package/dist/lib/addons/slack.js +5 -110
- package/dist/lib/addons/slack.js.map +1 -1
- package/dist/lib/addons/slack.test.js +2 -0
- package/dist/lib/addons/slack.test.js.map +1 -1
- package/dist/lib/addons/teams.d.ts +3 -17
- package/dist/lib/addons/teams.js +7 -109
- package/dist/lib/addons/teams.js.map +1 -1
- package/dist/lib/create-config.js +6 -5
- package/dist/lib/create-config.js.map +1 -1
- package/dist/lib/db/client-instance-store.js +2 -2
- package/dist/lib/db/client-instance-store.js.map +1 -1
- package/dist/lib/db/client-metrics-db.js +2 -2
- package/dist/lib/db/client-metrics-db.js.map +1 -1
- package/dist/lib/db/client-metrics-store-v2.d.ts +0 -1
- package/dist/lib/db/client-metrics-store-v2.js +5 -8
- package/dist/lib/db/client-metrics-store-v2.js.map +1 -1
- package/dist/lib/db/client-metrics-store.js +2 -2
- package/dist/lib/db/client-metrics-store.js.map +1 -1
- package/dist/lib/db/session-store.js +2 -1
- package/dist/lib/db/session-store.js.map +1 -1
- package/dist/lib/error/minimum-one-environment-error.d.ts +5 -0
- package/dist/lib/error/minimum-one-environment-error.js +24 -0
- package/dist/lib/error/minimum-one-environment-error.js.map +1 -0
- package/dist/lib/metrics.js +3 -4
- package/dist/lib/metrics.js.map +1 -1
- package/dist/lib/middleware/demo-authentication.js +5 -11
- package/dist/lib/middleware/demo-authentication.js.map +1 -1
- package/dist/lib/middleware/rbac-middleware.js +2 -17
- package/dist/lib/middleware/rbac-middleware.js.map +1 -1
- package/dist/lib/middleware/rbac-middleware.test.js +2 -21
- package/dist/lib/middleware/rbac-middleware.test.js.map +1 -1
- package/dist/lib/middleware/secure-headers.js +2 -1
- package/dist/lib/middleware/secure-headers.js.map +1 -1
- package/dist/lib/middleware/session-db.js +2 -3
- package/dist/lib/middleware/session-db.js.map +1 -1
- package/dist/lib/routes/admin-api/config.d.ts +5 -2
- package/dist/lib/routes/admin-api/config.js +9 -11
- package/dist/lib/routes/admin-api/config.js.map +1 -1
- package/dist/lib/routes/admin-api/feature.d.ts +2 -3
- package/dist/lib/routes/admin-api/feature.js +37 -34
- package/dist/lib/routes/admin-api/feature.js.map +1 -1
- package/dist/lib/routes/admin-api/project/features.js +12 -9
- package/dist/lib/routes/admin-api/project/features.js.map +1 -1
- package/dist/lib/routes/admin-api/state.js +2 -2
- package/dist/lib/routes/admin-api/state.js.map +1 -1
- package/dist/lib/routes/admin-api/strategy.test.js +25 -38
- package/dist/lib/routes/admin-api/strategy.test.js.map +1 -1
- package/dist/lib/routes/admin-api/user-admin.d.ts +1 -0
- package/dist/lib/routes/admin-api/user-admin.js +6 -0
- package/dist/lib/routes/admin-api/user-admin.js.map +1 -1
- package/dist/lib/routes/client-api/feature.test.js +3 -2
- package/dist/lib/routes/client-api/feature.test.js.map +1 -1
- package/dist/lib/routes/health-check.test.js +1 -0
- package/dist/lib/routes/health-check.test.js.map +1 -1
- package/dist/lib/routes/util.js +2 -0
- package/dist/lib/routes/util.js.map +1 -1
- package/dist/lib/server-impl.d.ts +2 -1
- package/dist/lib/server-impl.js.map +1 -1
- package/dist/lib/services/addon-service.js +2 -2
- package/dist/lib/services/addon-service.js.map +1 -1
- package/dist/lib/services/api-token-service.js +2 -2
- package/dist/lib/services/api-token-service.js.map +1 -1
- package/dist/lib/services/client-metrics/client-metrics-service-v2.js +3 -5
- package/dist/lib/services/client-metrics/client-metrics-service-v2.js.map +1 -1
- package/dist/lib/services/client-metrics/client-metrics.test.js +74 -41
- package/dist/lib/services/client-metrics/client-metrics.test.js.map +1 -1
- package/dist/lib/services/client-metrics/index.js +8 -8
- package/dist/lib/services/client-metrics/index.js.map +1 -1
- package/dist/lib/services/client-metrics/ttl-list.d.ts +1 -0
- package/dist/lib/services/client-metrics/ttl-list.js +15 -9
- package/dist/lib/services/client-metrics/ttl-list.js.map +1 -1
- package/dist/lib/services/client-metrics/ttl-list.test.js +25 -5
- package/dist/lib/services/client-metrics/ttl-list.test.js.map +1 -1
- package/dist/lib/services/environment-service.d.ts +2 -1
- package/dist/lib/services/environment-service.js +10 -3
- package/dist/lib/services/environment-service.js.map +1 -1
- package/dist/lib/services/{feature-toggle-service-v2.d.ts → feature-toggle-service.d.ts} +16 -7
- package/dist/lib/services/{feature-toggle-service-v2.js → feature-toggle-service.js} +40 -15
- package/dist/lib/services/feature-toggle-service.js.map +1 -0
- package/dist/lib/services/index.js +5 -3
- package/dist/lib/services/index.js.map +1 -1
- package/dist/lib/services/project-health-service.d.ts +1 -1
- package/dist/lib/services/project-health-service.js +3 -3
- package/dist/lib/services/project-health-service.js.map +1 -1
- package/dist/lib/services/project-service.d.ts +1 -1
- package/dist/lib/services/reset-token-service.js +2 -2
- package/dist/lib/services/reset-token-service.js.map +1 -1
- package/dist/lib/services/setting-service.d.ts +1 -1
- package/dist/lib/services/setting-service.js.map +1 -1
- package/dist/lib/services/state-util.js +1 -1
- package/dist/lib/services/state-util.js.map +1 -1
- package/dist/lib/services/user-service.d.ts +3 -0
- package/dist/lib/services/user-service.js +6 -0
- package/dist/lib/services/user-service.js.map +1 -1
- package/dist/lib/services/user-service.test.js +18 -0
- package/dist/lib/services/user-service.test.js.map +1 -1
- package/dist/lib/services/version-service.js +2 -2
- package/dist/lib/services/version-service.js.map +1 -1
- package/dist/lib/types/authentication-required.d.ts +3 -1
- package/dist/lib/types/authentication-required.js +2 -1
- package/dist/lib/types/authentication-required.js.map +1 -1
- package/dist/lib/types/services.d.ts +3 -2
- package/dist/lib/types/settings/simple-auth-settings.d.ts +4 -0
- package/dist/lib/types/settings/simple-auth-settings.js +5 -0
- package/dist/lib/types/settings/simple-auth-settings.js.map +1 -0
- package/dist/lib/types/stores/settings-store.d.ts +1 -1
- package/dist/lib/util/constants.d.ts +0 -2
- package/dist/lib/util/constants.js +1 -3
- package/dist/lib/util/constants.js.map +1 -1
- package/dist/migrations/20210928080601-add-development-and-production-environments.js +3 -3
- package/dist/migrations/20211029094324-set-sort-order-env.d.ts +2 -0
- package/dist/migrations/20211029094324-set-sort-order-env.js +11 -0
- package/dist/migrations/20211029094324-set-sort-order-env.js.map +1 -0
- package/dist/migrator.js +9 -2
- package/dist/migrator.js.map +1 -1
- package/dist/test/e2e/api/admin/bootstrap.test.js +1 -1
- package/dist/test/e2e/api/admin/client-metrics.e2e.test.js +8 -8
- package/dist/test/e2e/api/admin/client-metrics.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/config.e2e.test.d.ts +1 -0
- package/dist/test/e2e/api/admin/config.e2e.test.js +36 -0
- package/dist/test/e2e/api/admin/config.e2e.test.js.map +1 -0
- package/dist/test/e2e/api/admin/feature-archive.e2e.test.js +1 -2
- package/dist/test/e2e/api/admin/feature-archive.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/feature.auth.e2e.test.js +1 -1
- package/dist/test/e2e/api/admin/feature.custom-auth.e2e.test.js +1 -1
- package/dist/test/e2e/api/admin/feature.e2e.test.js +19 -2
- package/dist/test/e2e/api/admin/feature.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/metrics.e2e.test.js +5 -3
- package/dist/test/e2e/api/admin/metrics.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/project/environments.e2e.test.js +10 -0
- package/dist/test/e2e/api/admin/project/environments.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/project/features.e2e.test.js +115 -1
- package/dist/test/e2e/api/admin/project/features.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/state.e2e.test.js +17 -13
- package/dist/test/e2e/api/admin/state.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/user-admin.e2e.test.js +16 -1
- package/dist/test/e2e/api/admin/user-admin.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/user.test.js +1 -1
- package/dist/test/e2e/api/auth/reset-password-controller.e2e.test.js +6 -2
- package/dist/test/e2e/api/auth/reset-password-controller.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/client/feature.env.disabled.e2e.test.js +8 -4
- package/dist/test/e2e/api/client/feature.env.disabled.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/client/feature.token.access.e2e.test.js +4 -4
- package/dist/test/e2e/api/client/feature.token.access.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/client/register.e2e.test.js +1 -1
- package/dist/test/e2e/api/client/register.e2e.test.js.map +1 -1
- package/dist/test/e2e/custom-auth.test.js +1 -1
- package/dist/test/e2e/custom-auth.test.js.map +1 -1
- package/dist/test/e2e/helpers/database-init.js +1 -1
- package/dist/test/e2e/services/addon-service.e2e.test.js +1 -1
- package/dist/test/e2e/services/addon-service.e2e.test.js.map +1 -1
- package/dist/test/e2e/services/api-token-service.e2e.test.js +5 -3
- package/dist/test/e2e/services/api-token-service.e2e.test.js.map +1 -1
- package/dist/test/e2e/services/client-metrics-service.e2e.test.js +5 -2
- package/dist/test/e2e/services/client-metrics-service.e2e.test.js.map +1 -1
- package/dist/test/e2e/services/environment-service.test.js +1 -1
- package/dist/test/e2e/services/environment-service.test.js.map +1 -1
- package/dist/test/e2e/services/feature-toggle-service-v2.e2e.test.js +14 -11
- package/dist/test/e2e/services/feature-toggle-service-v2.e2e.test.js.map +1 -1
- package/dist/test/e2e/services/project-health-service.e2e.test.js +2 -2
- package/dist/test/e2e/services/project-health-service.e2e.test.js.map +1 -1
- package/dist/test/e2e/services/project-service.e2e.test.js +2 -2
- package/dist/test/e2e/services/project-service.e2e.test.js.map +1 -1
- package/dist/test/e2e/services/reset-token-service.e2e.test.js +4 -0
- package/dist/test/e2e/services/reset-token-service.e2e.test.js.map +1 -1
- package/dist/test/e2e/services/session-service.e2e.test.js +5 -4
- package/dist/test/e2e/services/session-service.e2e.test.js.map +1 -1
- package/dist/test/e2e/services/user-service.e2e.test.js +18 -2
- package/dist/test/e2e/services/user-service.e2e.test.js.map +1 -1
- package/dist/test/e2e/stores/client-metrics-store-v2.e2e.test.js +6 -15
- package/dist/test/e2e/stores/client-metrics-store-v2.e2e.test.js.map +1 -1
- package/dist/test/e2e/stores/event-store.e2e.test.js +1 -1
- package/dist/test/e2e/stores/event-store.e2e.test.js.map +1 -1
- package/dist/test/e2e/stores/feature-toggle-store.e2e.test.js +1 -0
- package/dist/test/e2e/stores/feature-toggle-store.e2e.test.js.map +1 -1
- package/dist/test/fixtures/fake-setting-store.js +1 -5
- package/dist/test/fixtures/fake-setting-store.js.map +1 -1
- package/package.json +13 -10
- package/dist/lib/services/feature-toggle-service-v2.js.map +0 -1
|
@@ -22,25 +22,11 @@ const rbacMiddleware = (config, { featureToggleStore }, accessService) => {
|
|
|
22
22
|
// For /api/admin/projects/:projectId we will find it as part of params
|
|
23
23
|
let { projectId } = params;
|
|
24
24
|
// Temporary workaround to figure out projectId for feature toggle updates.
|
|
25
|
-
|
|
25
|
+
// will be removed in Unleash v5.0
|
|
26
|
+
if ([permissions_1.DELETE_FEATURE, permissions_1.UPDATE_FEATURE].includes(permission)) {
|
|
26
27
|
const { featureName } = params;
|
|
27
28
|
projectId = await featureToggleStore.getProjectId(featureName);
|
|
28
29
|
}
|
|
29
|
-
else if (permission === permissions_1.UPDATE_FEATURE) {
|
|
30
|
-
// if projectId of feature is different from project in body
|
|
31
|
-
// need to check that we have UPDATE_FEATURE access on both old and new project
|
|
32
|
-
// TODO: Look at this to make it smoother once we get around to looking at project
|
|
33
|
-
// Changing project of a toggle should most likely be a separate endpoint
|
|
34
|
-
const { featureName } = params;
|
|
35
|
-
projectId = await featureToggleStore.getProjectId(featureName);
|
|
36
|
-
const newProjectId = req.body
|
|
37
|
-
? req.body.project || projectId
|
|
38
|
-
: projectId;
|
|
39
|
-
if (newProjectId !== projectId) {
|
|
40
|
-
return (accessService.hasPermission(user, permission, projectId) &&
|
|
41
|
-
accessService.hasPermission(user, permission, newProjectId));
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
30
|
else if (permission === permissions_1.CREATE_FEATURE) {
|
|
45
31
|
projectId = req.body.project || 'default';
|
|
46
32
|
}
|
|
@@ -49,6 +35,5 @@ const rbacMiddleware = (config, { featureToggleStore }, accessService) => {
|
|
|
49
35
|
return next();
|
|
50
36
|
};
|
|
51
37
|
};
|
|
52
|
-
module.exports = rbacMiddleware;
|
|
53
38
|
exports.default = rbacMiddleware;
|
|
54
39
|
//# sourceMappingURL=rbac-middleware.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rbac-middleware.js","sourceRoot":"","sources":["../../../src/lib/middleware/rbac-middleware.ts"],"names":[],"mappings":";;AAAA,sEAAsE;AACtE,sDAK8B;AAa9B,MAAM,cAAc,GAAG,CACnB,MAAyC,EACzC,EAAE,kBAAkB,EAA8C,EAClE,aAAgC,EAC7B,EAAE;IACL,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,gCAAgC,CAAC,CAAC;IAClE,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAEzC,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QACtB,GAAG,CAAC,SAAS,GAAG,KAAK,EAAE,UAAkB,EAAE,EAAE;YACzC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC;YAE7B,IAAI,CAAC,IAAI,EAAE;gBACP,MAAM,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;gBAC9D,OAAO,KAAK,CAAC;aAChB;YAED,IAAI,IAAI,CAAC,KAAK,EAAE;gBACZ,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,mBAAK,CAAC,CAAC;aAC3C;YAED,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE;gBACV,MAAM,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;gBAC5D,OAAO,KAAK,CAAC;aAChB;YAED,uEAAuE;YACvE,IAAI,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;YAE3B,2EAA2E;YAC3E,IAAI,
|
|
1
|
+
{"version":3,"file":"rbac-middleware.js","sourceRoot":"","sources":["../../../src/lib/middleware/rbac-middleware.ts"],"names":[],"mappings":";;AAAA,sEAAsE;AACtE,sDAK8B;AAa9B,MAAM,cAAc,GAAG,CACnB,MAAyC,EACzC,EAAE,kBAAkB,EAA8C,EAClE,aAAgC,EAC7B,EAAE;IACL,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,gCAAgC,CAAC,CAAC;IAClE,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAEzC,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QACtB,GAAG,CAAC,SAAS,GAAG,KAAK,EAAE,UAAkB,EAAE,EAAE;YACzC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC;YAE7B,IAAI,CAAC,IAAI,EAAE;gBACP,MAAM,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;gBAC9D,OAAO,KAAK,CAAC;aAChB;YAED,IAAI,IAAI,CAAC,KAAK,EAAE;gBACZ,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,mBAAK,CAAC,CAAC;aAC3C;YAED,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE;gBACV,MAAM,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;gBAC5D,OAAO,KAAK,CAAC;aAChB;YAED,uEAAuE;YACvE,IAAI,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;YAE3B,2EAA2E;YAC3E,kCAAkC;YAClC,IAAI,CAAC,4BAAc,EAAE,4BAAc,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;gBACvD,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC;gBAC/B,SAAS,GAAG,MAAM,kBAAkB,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;aAClE;iBAAM,IAAI,UAAU,KAAK,4BAAc,EAAE;gBACtC,SAAS,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,SAAS,CAAC;aAC7C;YAED,OAAO,aAAa,CAAC,aAAa,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;QACpE,CAAC,CAAC;QACF,OAAO,IAAI,EAAE,CAAC;IAClB,CAAC,CAAC;AACN,CAAC,CAAC;AAEF,kBAAe,cAAc,CAAC"}
|
|
@@ -88,6 +88,7 @@ test('should not give api-user ADMIN permission', async () => {
|
|
|
88
88
|
expect(accessService.hasPermission).toHaveBeenCalledTimes(0);
|
|
89
89
|
});
|
|
90
90
|
test('should not allow user to miss userId', async () => {
|
|
91
|
+
jest.spyOn(global.console, 'error').mockImplementation(() => jest.fn());
|
|
91
92
|
const accessService = {
|
|
92
93
|
hasPermission: jest.fn(),
|
|
93
94
|
};
|
|
@@ -103,6 +104,7 @@ test('should not allow user to miss userId', async () => {
|
|
|
103
104
|
expect(hasAccess).toBe(false);
|
|
104
105
|
});
|
|
105
106
|
test('should return false for missing user', async () => {
|
|
107
|
+
jest.spyOn(global.console, 'error').mockImplementation(() => jest.fn());
|
|
106
108
|
const accessService = {
|
|
107
109
|
hasPermission: jest.fn(),
|
|
108
110
|
};
|
|
@@ -196,27 +198,6 @@ test('should lookup projectId from data', async () => {
|
|
|
196
198
|
await req.checkRbac(perms.CREATE_FEATURE);
|
|
197
199
|
expect(accessService.hasPermission).toHaveBeenCalledWith(req.user, perms.CREATE_FEATURE, projectId);
|
|
198
200
|
});
|
|
199
|
-
test('Need access to UPDATE_FEATURE on the project you change to', async () => {
|
|
200
|
-
const oldProjectId = 'some-project-34';
|
|
201
|
-
const newProjectId = 'some-project-35';
|
|
202
|
-
const featureName = 'some-feature-toggle';
|
|
203
|
-
const accessService = {
|
|
204
|
-
hasPermission: jest.fn().mockReturnValue(true),
|
|
205
|
-
};
|
|
206
|
-
featureToggleStore.getProjectId = jest.fn().mockReturnValue(oldProjectId);
|
|
207
|
-
const func = (0, rbac_middleware_1.default)(config, { featureToggleStore }, accessService);
|
|
208
|
-
const cb = jest.fn();
|
|
209
|
-
const req = {
|
|
210
|
-
user: new user_1.default({ username: 'user', id: 1 }),
|
|
211
|
-
params: { featureName },
|
|
212
|
-
body: { featureName, project: newProjectId },
|
|
213
|
-
};
|
|
214
|
-
func(req, undefined, cb);
|
|
215
|
-
await req.checkRbac(perms.UPDATE_FEATURE);
|
|
216
|
-
expect(accessService.hasPermission).toHaveBeenCalledTimes(2);
|
|
217
|
-
expect(accessService.hasPermission).toHaveBeenNthCalledWith(1, req.user, perms.UPDATE_FEATURE, oldProjectId);
|
|
218
|
-
expect(accessService.hasPermission).toHaveBeenNthCalledWith(2, req.user, perms.UPDATE_FEATURE, newProjectId);
|
|
219
|
-
});
|
|
220
201
|
test('Does not double check permission if not changing project when updating toggle', async () => {
|
|
221
202
|
const oldProjectId = 'some-project-34';
|
|
222
203
|
const featureName = 'some-feature-toggle';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rbac-middleware.test.js","sourceRoot":"","sources":["../../../src/lib/middleware/rbac-middleware.test.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"rbac-middleware.test.js","sourceRoot":"","sources":["../../../src/lib/middleware/rbac-middleware.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,11 +4,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const helmet_1 = __importDefault(require("helmet"));
|
|
7
|
+
const date_fns_1 = require("date-fns");
|
|
7
8
|
const secureHeaders = (config) => {
|
|
8
9
|
if (config.secureHeaders) {
|
|
9
10
|
return (0, helmet_1.default)({
|
|
10
11
|
hsts: {
|
|
11
|
-
maxAge:
|
|
12
|
+
maxAge: (0, date_fns_1.hoursToSeconds)(24 * 365 * 2),
|
|
12
13
|
includeSubDomains: true,
|
|
13
14
|
preload: true,
|
|
14
15
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"secure-headers.js","sourceRoot":"","sources":["../../../src/lib/middleware/secure-headers.ts"],"names":[],"mappings":";;;;;AAAA,oDAA4B;
|
|
1
|
+
{"version":3,"file":"secure-headers.js","sourceRoot":"","sources":["../../../src/lib/middleware/secure-headers.ts"],"names":[],"mappings":";;;;;AAAA,oDAA4B;AAG5B,uCAA0C;AAE1C,MAAM,aAAa,GAA+C,CAAC,MAAM,EAAE,EAAE;IACzE,IAAI,MAAM,CAAC,aAAa,EAAE;QACtB,OAAO,IAAA,gBAAM,EAAC;YACV,IAAI,EAAE;gBACF,MAAM,EAAE,IAAA,yBAAc,EAAC,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC;gBACpC,iBAAiB,EAAE,IAAI;gBACvB,OAAO,EAAE,IAAI;aAChB;YACD,qBAAqB,EAAE;gBACnB,UAAU,EAAE;oBACR,UAAU,EAAE,CAAC,QAAQ,CAAC;oBACtB,OAAO,EAAE;wBACL,QAAQ;wBACR,sBAAsB;wBACtB,mBAAmB;qBACtB;oBACD,QAAQ,EAAE;wBACN,QAAQ;wBACR,iBAAiB;wBACjB,sBAAsB;wBACtB,mBAAmB;wBACnB,OAAO;qBACV;oBACD,SAAS,EAAE,CAAC,QAAQ,CAAC;oBACrB,MAAM,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,cAAc,CAAC;iBAC9C;aACJ;SACJ,CAAC,CAAC;KACN;IACD,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QACtB,IAAI,EAAE,CAAC;IACX,CAAC,CAAC;AACN,CAAC,CAAC;AAEF,kBAAe,aAAa,CAAC"}
|
|
@@ -5,12 +5,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const express_session_1 = __importDefault(require("express-session"));
|
|
7
7
|
const connect_session_knex_1 = __importDefault(require("connect-session-knex"));
|
|
8
|
-
const
|
|
9
|
-
const HOUR = 60 * 60 * 1000;
|
|
8
|
+
const date_fns_1 = require("date-fns");
|
|
10
9
|
function sessionDb(config, knex) {
|
|
11
10
|
let store;
|
|
12
11
|
const { db } = config.session;
|
|
13
|
-
const age = config.session.ttlHours
|
|
12
|
+
const age = (0, date_fns_1.hoursToMilliseconds)(config.session.ttlHours) || (0, date_fns_1.hoursToMilliseconds)(48);
|
|
14
13
|
const KnexSessionStore = (0, connect_session_knex_1.default)(express_session_1.default);
|
|
15
14
|
if (db) {
|
|
16
15
|
store = new KnexSessionStore({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-db.js","sourceRoot":"","sources":["../../../src/lib/middleware/session-db.ts"],"names":[],"mappings":";;;;;AACA,sEAAsC;AACtC,gFAAoD;
|
|
1
|
+
{"version":3,"file":"session-db.js","sourceRoot":"","sources":["../../../src/lib/middleware/session-db.ts"],"names":[],"mappings":";;;;;AACA,sEAAsC;AACtC,gFAAoD;AAGpD,uCAA+C;AAE/C,SAAS,SAAS,CACd,MAAoE,EACpE,IAAU;IAEV,IAAI,KAAK,CAAC;IACV,MAAM,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC;IAC9B,MAAM,GAAG,GACL,IAAA,8BAAmB,EAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,IAAA,8BAAmB,EAAC,EAAE,CAAC,CAAC;IAC5E,MAAM,gBAAgB,GAAG,IAAA,8BAAgB,EAAC,yBAAO,CAAC,CAAC;IACnD,IAAI,EAAE,EAAE;QACJ,KAAK,GAAG,IAAI,gBAAgB,CAAC;YACzB,SAAS,EAAE,iBAAiB;YAC5B,WAAW,EAAE,KAAK;YAClB,aAAa;YACb,IAAI;SACP,CAAC,CAAC;KACN;SAAM;QACH,KAAK,GAAG,IAAI,yBAAO,CAAC,WAAW,EAAE,CAAC;KACrC;IACD,OAAO,IAAA,yBAAO,EAAC;QACX,IAAI,EAAE,iBAAiB;QACvB,OAAO,EAAE,KAAK;QACd,MAAM,EAAE,KAAK;QACb,iBAAiB,EAAE,KAAK;QACxB,KAAK;QACL,MAAM,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;QAC9B,MAAM,EAAE;YACJ,IAAI,EACA,MAAM,CAAC,MAAM,CAAC,WAAW,KAAK,EAAE;gBAC5B,CAAC,CAAC,GAAG;gBACL,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW;YACnC,MAAM,EAAE,MAAM,CAAC,aAAa;YAC5B,MAAM,EAAE,GAAG;SACd;KACJ,CAAC,CAAC;AACP,CAAC;AAED,kBAAe,SAAS,CAAC"}
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
import { Request, Response } from 'express';
|
|
2
2
|
import { IUnleashServices } from '../../types/services';
|
|
3
3
|
import { IUnleashConfig } from '../../types/option';
|
|
4
|
-
|
|
4
|
+
import Controller from '../controller';
|
|
5
5
|
declare class ConfigController extends Controller {
|
|
6
|
-
|
|
6
|
+
private versionService;
|
|
7
|
+
private settingService;
|
|
8
|
+
private uiConfig;
|
|
9
|
+
constructor(config: IUnleashConfig, { versionService, settingService, }: Pick<IUnleashServices, 'versionService' | 'settingService'>);
|
|
7
10
|
getUIConfig(req: Request, res: Response): Promise<void>;
|
|
8
11
|
}
|
|
9
12
|
export default ConfigController;
|
|
@@ -4,11 +4,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const version_1 = __importDefault(require("../../util/version"));
|
|
7
|
-
const
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
const controller_1 = __importDefault(require("../controller"));
|
|
8
|
+
const simple_auth_settings_1 = require("../../types/settings/simple-auth-settings");
|
|
9
|
+
class ConfigController extends controller_1.default {
|
|
10
|
+
constructor(config, { versionService, settingService, }) {
|
|
10
11
|
super(config);
|
|
11
12
|
this.versionService = versionService;
|
|
13
|
+
this.settingService = settingService;
|
|
12
14
|
const authenticationType = config.authentication && config.authentication.type;
|
|
13
15
|
this.uiConfig = {
|
|
14
16
|
...config.ui,
|
|
@@ -21,15 +23,11 @@ class ConfigController extends Controller {
|
|
|
21
23
|
}
|
|
22
24
|
async getUIConfig(req, res) {
|
|
23
25
|
const config = this.uiConfig;
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
}
|
|
28
|
-
else {
|
|
29
|
-
res.json(config);
|
|
30
|
-
}
|
|
26
|
+
const simpleAuthSettings = await this.settingService.get(simple_auth_settings_1.simpleAuthKey);
|
|
27
|
+
const versionInfo = this.versionService.getVersionInfo();
|
|
28
|
+
const disablePasswordAuth = simpleAuthSettings?.disabled;
|
|
29
|
+
res.json({ ...config, versionInfo, disablePasswordAuth });
|
|
31
30
|
}
|
|
32
31
|
}
|
|
33
32
|
exports.default = ConfigController;
|
|
34
|
-
module.exports = ConfigController;
|
|
35
33
|
//# sourceMappingURL=config.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../src/lib/routes/admin-api/config.ts"],"names":[],"mappings":";;;;;AAGA,iEAAyC;AAEzC,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../src/lib/routes/admin-api/config.ts"],"names":[],"mappings":";;;;;AAGA,iEAAyC;AAEzC,+DAAuC;AAGvC,oFAGmD;AAEnD,MAAM,gBAAiB,SAAQ,oBAAU;IAOrC,YACI,MAAsB,EACtB,EACI,cAAc,EACd,cAAc,GAC4C;QAE9D,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,MAAM,kBAAkB,GACpB,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC;QACxD,IAAI,CAAC,QAAQ,GAAG;YACZ,GAAG,MAAM,CAAC,EAAE;YACZ,kBAAkB;YAClB,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU;YACpC,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW;YACtC,OAAO,EAAP,iBAAO;SACV,CAAC;QACF,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,GAAY,EAAE,GAAa;QACzC,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC7B,MAAM,kBAAkB,GACpB,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAqB,oCAAa,CAAC,CAAC;QAErE,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,CAAC;QACzD,MAAM,mBAAmB,GAAG,kBAAkB,EAAE,QAAQ,CAAC;QACzD,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,MAAM,EAAE,WAAW,EAAE,mBAAmB,EAAE,CAAC,CAAC;IAC9D,CAAC;CACJ;AACD,kBAAe,gBAAgB,CAAC"}
|
|
@@ -5,9 +5,8 @@ import { IUnleashServices } from '../../types/services';
|
|
|
5
5
|
import { IFeatureToggleQuery } from '../../types/model';
|
|
6
6
|
import { IAuthRequest } from '../unleash-types';
|
|
7
7
|
declare class FeatureController extends Controller {
|
|
8
|
-
private
|
|
9
|
-
private
|
|
10
|
-
private featureService2;
|
|
8
|
+
private tagService;
|
|
9
|
+
private service;
|
|
11
10
|
constructor(config: IUnleashConfig, { featureTagService, featureToggleServiceV2, }: Pick<IUnleashServices, 'featureTagService' | 'featureToggleServiceV2'>);
|
|
12
11
|
paramToArray(param: any): any;
|
|
13
12
|
prepQuery({ tag, project, namePrefix, }: any): Promise<IFeatureToggleQuery>;
|
|
@@ -12,9 +12,8 @@ const version = 1;
|
|
|
12
12
|
class FeatureController extends controller_1.default {
|
|
13
13
|
constructor(config, { featureTagService, featureToggleServiceV2, }) {
|
|
14
14
|
super(config);
|
|
15
|
-
this.
|
|
16
|
-
this.
|
|
17
|
-
this.logger = config.getLogger('/admin-api/feature.ts');
|
|
15
|
+
this.tagService = featureTagService;
|
|
16
|
+
this.service = featureToggleServiceV2;
|
|
18
17
|
this.get('/', this.getAllToggles);
|
|
19
18
|
this.post('/', this.createToggle, permissions_1.CREATE_FEATURE);
|
|
20
19
|
this.get('/:featureName', this.getToggle);
|
|
@@ -55,34 +54,34 @@ class FeatureController extends controller_1.default {
|
|
|
55
54
|
}
|
|
56
55
|
async getAllToggles(req, res) {
|
|
57
56
|
const query = await this.prepQuery(req.query);
|
|
58
|
-
const features = await this.
|
|
57
|
+
const features = await this.service.getFeatureToggles(query);
|
|
59
58
|
res.json({ version, features });
|
|
60
59
|
}
|
|
61
60
|
async getToggle(req, res) {
|
|
62
61
|
const name = req.params.featureName;
|
|
63
|
-
const feature = await this.
|
|
62
|
+
const feature = await this.service.getFeatureToggleLegacy(name);
|
|
64
63
|
res.json(feature).end();
|
|
65
64
|
}
|
|
66
65
|
async listTags(req, res) {
|
|
67
|
-
const tags = await this.
|
|
66
|
+
const tags = await this.tagService.listTags(req.params.featureName);
|
|
68
67
|
res.json({ version, tags });
|
|
69
68
|
}
|
|
70
69
|
async addTag(req, res) {
|
|
71
70
|
const { featureName } = req.params;
|
|
72
71
|
const userName = (0, extract_user_1.extractUsername)(req);
|
|
73
|
-
const tag = await this.
|
|
72
|
+
const tag = await this.tagService.addTag(featureName, req.body, userName);
|
|
74
73
|
res.status(201).json(tag);
|
|
75
74
|
}
|
|
76
75
|
// TODO
|
|
77
76
|
async removeTag(req, res) {
|
|
78
77
|
const { featureName, type, value } = req.params;
|
|
79
78
|
const userName = (0, extract_user_1.extractUsername)(req);
|
|
80
|
-
await this.
|
|
79
|
+
await this.tagService.removeTag(featureName, { type, value }, userName);
|
|
81
80
|
res.status(200).end();
|
|
82
81
|
}
|
|
83
82
|
async validate(req, res) {
|
|
84
83
|
const { name } = req.body;
|
|
85
|
-
await this.
|
|
84
|
+
await this.service.validateName(name);
|
|
86
85
|
res.status(200).end();
|
|
87
86
|
}
|
|
88
87
|
async createToggle(req, res) {
|
|
@@ -90,9 +89,13 @@ class FeatureController extends controller_1.default {
|
|
|
90
89
|
const toggle = req.body;
|
|
91
90
|
const validatedToggle = await feature_schema_1.featureSchema.validateAsync(toggle);
|
|
92
91
|
const { enabled } = validatedToggle;
|
|
93
|
-
const createdFeature = await this.
|
|
94
|
-
const strategies = await Promise.all(toggle.strategies.map(async (s) => this.
|
|
95
|
-
|
|
92
|
+
const createdFeature = await this.service.createFeatureToggle(validatedToggle.project, validatedToggle, userName);
|
|
93
|
+
const strategies = await Promise.all(toggle.strategies.map(async (s) => this.service.createStrategy(s, {
|
|
94
|
+
projectId: createdFeature.project,
|
|
95
|
+
featureName: createdFeature.name,
|
|
96
|
+
environment: constants_1.DEFAULT_ENV,
|
|
97
|
+
}, userName)));
|
|
98
|
+
await this.service.updateEnabled(createdFeature.project, createdFeature.name, constants_1.DEFAULT_ENV, enabled, userName);
|
|
96
99
|
res.status(201).json({
|
|
97
100
|
...createdFeature,
|
|
98
101
|
enabled,
|
|
@@ -104,15 +107,15 @@ class FeatureController extends controller_1.default {
|
|
|
104
107
|
const userName = (0, extract_user_1.extractUsername)(req);
|
|
105
108
|
const updatedFeature = req.body;
|
|
106
109
|
updatedFeature.name = featureName;
|
|
107
|
-
const projectId = await this.
|
|
110
|
+
const projectId = await this.service.getProjectId(updatedFeature.name);
|
|
108
111
|
const value = await feature_schema_1.featureSchema.validateAsync(updatedFeature);
|
|
109
|
-
await this.
|
|
110
|
-
await this.
|
|
112
|
+
await this.service.updateFeatureToggle(projectId, value, userName);
|
|
113
|
+
await this.service.removeAllStrategiesForEnv(featureName);
|
|
111
114
|
if (updatedFeature.strategies) {
|
|
112
|
-
await Promise.all(updatedFeature.strategies.map(async (s) => this.
|
|
115
|
+
await Promise.all(updatedFeature.strategies.map(async (s) => this.service.createStrategy(s, { projectId, featureName, environment: constants_1.DEFAULT_ENV }, userName)));
|
|
113
116
|
}
|
|
114
|
-
await this.
|
|
115
|
-
const feature = await this.
|
|
117
|
+
await this.service.updateEnabled(projectId, updatedFeature.name, constants_1.DEFAULT_ENV, updatedFeature.enabled, userName);
|
|
118
|
+
const feature = await this.service.storeFeatureUpdatedEventLegacy(featureName, userName);
|
|
116
119
|
res.status(200).json(feature);
|
|
117
120
|
}
|
|
118
121
|
// TODO: remove?
|
|
@@ -120,45 +123,45 @@ class FeatureController extends controller_1.default {
|
|
|
120
123
|
async toggle(req, res) {
|
|
121
124
|
const userName = (0, extract_user_1.extractUsername)(req);
|
|
122
125
|
const { featureName } = req.params;
|
|
123
|
-
const projectId = await this.
|
|
124
|
-
const feature = await this.
|
|
125
|
-
await this.
|
|
126
|
+
const projectId = await this.service.getProjectId(featureName);
|
|
127
|
+
const feature = await this.service.toggle(projectId, featureName, constants_1.DEFAULT_ENV, userName);
|
|
128
|
+
await this.service.storeFeatureUpdatedEventLegacy(featureName, userName);
|
|
126
129
|
res.status(200).json(feature);
|
|
127
130
|
}
|
|
128
131
|
async toggleOn(req, res) {
|
|
129
132
|
const { featureName } = req.params;
|
|
130
133
|
const userName = (0, extract_user_1.extractUsername)(req);
|
|
131
|
-
const projectId = await this.
|
|
132
|
-
const feature = await this.
|
|
133
|
-
await this.
|
|
134
|
+
const projectId = await this.service.getProjectId(featureName);
|
|
135
|
+
const feature = await this.service.updateEnabled(projectId, featureName, constants_1.DEFAULT_ENV, true, userName);
|
|
136
|
+
await this.service.storeFeatureUpdatedEventLegacy(featureName, userName);
|
|
134
137
|
res.json(feature);
|
|
135
138
|
}
|
|
136
139
|
async toggleOff(req, res) {
|
|
137
140
|
const { featureName } = req.params;
|
|
138
141
|
const userName = (0, extract_user_1.extractUsername)(req);
|
|
139
|
-
const projectId = await this.
|
|
140
|
-
const feature = await this.
|
|
141
|
-
await this.
|
|
142
|
+
const projectId = await this.service.getProjectId(featureName);
|
|
143
|
+
const feature = await this.service.updateEnabled(projectId, featureName, constants_1.DEFAULT_ENV, false, userName);
|
|
144
|
+
await this.service.storeFeatureUpdatedEventLegacy(featureName, userName);
|
|
142
145
|
res.json(feature);
|
|
143
146
|
}
|
|
144
147
|
async staleOn(req, res) {
|
|
145
148
|
const { featureName } = req.params;
|
|
146
149
|
const userName = (0, extract_user_1.extractUsername)(req);
|
|
147
|
-
await this.
|
|
148
|
-
const feature = await this.
|
|
149
|
-
res.json(feature)
|
|
150
|
+
await this.service.updateStale(featureName, true, userName);
|
|
151
|
+
const feature = await this.service.getFeatureToggleLegacy(featureName);
|
|
152
|
+
res.json(feature);
|
|
150
153
|
}
|
|
151
154
|
async staleOff(req, res) {
|
|
152
155
|
const { featureName } = req.params;
|
|
153
156
|
const userName = (0, extract_user_1.extractUsername)(req);
|
|
154
|
-
await this.
|
|
155
|
-
const feature = await this.
|
|
156
|
-
res.json(feature)
|
|
157
|
+
await this.service.updateStale(featureName, false, userName);
|
|
158
|
+
const feature = await this.service.getFeatureToggleLegacy(featureName);
|
|
159
|
+
res.json(feature);
|
|
157
160
|
}
|
|
158
161
|
async archiveToggle(req, res) {
|
|
159
162
|
const { featureName } = req.params;
|
|
160
163
|
const userName = (0, extract_user_1.extractUsername)(req);
|
|
161
|
-
await this.
|
|
164
|
+
await this.service.archiveToggle(featureName, userName);
|
|
162
165
|
res.status(200).end();
|
|
163
166
|
}
|
|
164
167
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feature.js","sourceRoot":"","sources":["../../../../src/lib/routes/admin-api/feature.ts"],"names":[],"mappings":";;;;;AAGA,+DAAuC;AAEvC,0DAA0D;AAC1D,yDAIiC;
|
|
1
|
+
{"version":3,"file":"feature.js","sourceRoot":"","sources":["../../../../src/lib/routes/admin-api/feature.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,15 +18,18 @@ class ProjectFeaturesController extends controller_1.default {
|
|
|
18
18
|
super(config);
|
|
19
19
|
this.featureService = featureToggleServiceV2;
|
|
20
20
|
this.logger = config.getLogger('/admin-api/project/features.ts');
|
|
21
|
+
// Environments
|
|
21
22
|
this.get(`${PATH_ENV}`, this.getEnvironment);
|
|
22
23
|
this.post(`${PATH_ENV}/on`, this.toggleEnvironmentOn, permissions_1.UPDATE_FEATURE);
|
|
23
24
|
this.post(`${PATH_ENV}/off`, this.toggleEnvironmentOff, permissions_1.UPDATE_FEATURE);
|
|
25
|
+
// activation strategies
|
|
24
26
|
this.get(`${PATH_STRATEGIES}`, this.getStrategies);
|
|
25
27
|
this.post(`${PATH_STRATEGIES}`, this.addStrategy, permissions_1.UPDATE_FEATURE);
|
|
26
28
|
this.get(`${PATH_STRATEGY}`, this.getStrategy);
|
|
27
29
|
this.put(`${PATH_STRATEGY}`, this.updateStrategy, permissions_1.UPDATE_FEATURE);
|
|
28
30
|
this.patch(`${PATH_STRATEGY}`, this.patchStrategy, permissions_1.UPDATE_FEATURE);
|
|
29
|
-
this.delete(`${PATH_STRATEGY}`, this.deleteStrategy, permissions_1.
|
|
31
|
+
this.delete(`${PATH_STRATEGY}`, this.deleteStrategy, permissions_1.UPDATE_FEATURE);
|
|
32
|
+
// feature toggles
|
|
30
33
|
this.get(PATH, this.getFeatures);
|
|
31
34
|
this.post(PATH, this.createFeature, permissions_1.CREATE_FEATURE);
|
|
32
35
|
this.post(PATH_FEATURE_CLONE, this.cloneFeature, permissions_1.CREATE_FEATURE);
|
|
@@ -95,7 +98,7 @@ class ProjectFeaturesController extends controller_1.default {
|
|
|
95
98
|
async addStrategy(req, res) {
|
|
96
99
|
const { projectId, featureName, environment } = req.params;
|
|
97
100
|
const userName = (0, extract_user_1.extractUsername)(req);
|
|
98
|
-
const featureStrategy = await this.featureService.createStrategy(req.body, projectId, featureName, userName
|
|
101
|
+
const featureStrategy = await this.featureService.createStrategy(req.body, { environment, projectId, featureName }, userName);
|
|
99
102
|
res.status(200).json(featureStrategy);
|
|
100
103
|
}
|
|
101
104
|
async getStrategies(req, res) {
|
|
@@ -104,18 +107,18 @@ class ProjectFeaturesController extends controller_1.default {
|
|
|
104
107
|
res.status(200).json(featureStrategies);
|
|
105
108
|
}
|
|
106
109
|
async updateStrategy(req, res) {
|
|
107
|
-
const { strategyId, environment, projectId } = req.params;
|
|
110
|
+
const { strategyId, environment, projectId, featureName } = req.params;
|
|
108
111
|
const userName = (0, extract_user_1.extractUsername)(req);
|
|
109
|
-
const updatedStrategy = await this.featureService.updateStrategy(strategyId, environment, projectId,
|
|
112
|
+
const updatedStrategy = await this.featureService.updateStrategy(strategyId, req.body, { environment, projectId, featureName }, userName);
|
|
110
113
|
res.status(200).json(updatedStrategy);
|
|
111
114
|
}
|
|
112
115
|
async patchStrategy(req, res) {
|
|
113
|
-
const { strategyId, projectId, environment } = req.params;
|
|
116
|
+
const { strategyId, projectId, environment, featureName } = req.params;
|
|
114
117
|
const userName = (0, extract_user_1.extractUsername)(req);
|
|
115
118
|
const patch = req.body;
|
|
116
119
|
const strategy = await this.featureService.getStrategy(strategyId);
|
|
117
120
|
const { newDocument } = (0, fast_json_patch_1.applyPatch)(strategy, patch);
|
|
118
|
-
const updatedStrategy = await this.featureService.updateStrategy(strategyId, environment, projectId,
|
|
121
|
+
const updatedStrategy = await this.featureService.updateStrategy(strategyId, newDocument, { environment, projectId, featureName }, userName);
|
|
119
122
|
res.status(200).json(updatedStrategy);
|
|
120
123
|
}
|
|
121
124
|
async getStrategy(req, res) {
|
|
@@ -131,14 +134,14 @@ class ProjectFeaturesController extends controller_1.default {
|
|
|
131
134
|
const userName = (0, extract_user_1.extractUsername)(req);
|
|
132
135
|
const { strategyId } = req.params;
|
|
133
136
|
this.logger.info(strategyId);
|
|
134
|
-
const strategy = await this.featureService.deleteStrategy(strategyId,
|
|
137
|
+
const strategy = await this.featureService.deleteStrategy(strategyId, { environment, projectId, featureName }, userName);
|
|
135
138
|
res.status(200).json(strategy);
|
|
136
139
|
}
|
|
137
140
|
async updateStrategyParameter(req, res) {
|
|
138
|
-
const { strategyId, environment, projectId } = req.params;
|
|
141
|
+
const { strategyId, environment, projectId, featureName } = req.params;
|
|
139
142
|
const userName = (0, extract_user_1.extractUsername)(req);
|
|
140
143
|
const { name, value } = req.body;
|
|
141
|
-
const updatedStrategy = await this.featureService.updateStrategyParameter(strategyId, name, value,
|
|
144
|
+
const updatedStrategy = await this.featureService.updateStrategyParameter(strategyId, name, value, { environment, projectId, featureName }, userName);
|
|
142
145
|
res.status(200).json(updatedStrategy);
|
|
143
146
|
}
|
|
144
147
|
async getStrategyParameters(req, res) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"features.js","sourceRoot":"","sources":["../../../../../src/lib/routes/admin-api/project/features.ts"],"names":[],"mappings":";;;;;AACA,qDAAwD;AACxD,kEAA0C;AAK1C,
|
|
1
|
+
{"version":3,"file":"features.js","sourceRoot":"","sources":["../../../../../src/lib/routes/admin-api/project/features.ts"],"names":[],"mappings":";;;;;AACA,qDAAwD;AACxD,kEAA0C;AAK1C,4DAA4E;AAM5E,6DAA6D;AA4B7D,MAAM,IAAI,GAAG,sBAAsB,CAAC;AACpC,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,eAAe,GAAG,GAAG,QAAQ,aAAa,CAAC;AACjD,MAAM,aAAa,GAAG,GAAG,eAAe,cAAc,CAAC;AAOvD,MAAqB,yBAA0B,SAAQ,oBAAU;IAK7D,YACI,MAAsB,EACtB,EAAE,sBAAsB,EAA2B;QAEnD,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,IAAI,CAAC,cAAc,GAAG,sBAAsB,CAAC;QAC7C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,gCAAgC,CAAC,CAAC;QAEjE,eAAe;QACf,IAAI,CAAC,GAAG,CAAC,GAAG,QAAQ,EAAE,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QAC7C,IAAI,CAAC,IAAI,CAAC,GAAG,QAAQ,KAAK,EAAE,IAAI,CAAC,mBAAmB,EAAE,4BAAc,CAAC,CAAC;QACtE,IAAI,CAAC,IAAI,CAAC,GAAG,QAAQ,MAAM,EAAE,IAAI,CAAC,oBAAoB,EAAE,4BAAc,CAAC,CAAC;QAExE,wBAAwB;QACxB,IAAI,CAAC,GAAG,CAAC,GAAG,eAAe,EAAE,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QACnD,IAAI,CAAC,IAAI,CAAC,GAAG,eAAe,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE,4BAAc,CAAC,CAAC;QAClE,IAAI,CAAC,GAAG,CAAC,GAAG,aAAa,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAC/C,IAAI,CAAC,GAAG,CAAC,GAAG,aAAa,EAAE,EAAE,IAAI,CAAC,cAAc,EAAE,4BAAc,CAAC,CAAC;QAClE,IAAI,CAAC,KAAK,CAAC,GAAG,aAAa,EAAE,EAAE,IAAI,CAAC,aAAa,EAAE,4BAAc,CAAC,CAAC;QACnE,IAAI,CAAC,MAAM,CAAC,GAAG,aAAa,EAAE,EAAE,IAAI,CAAC,cAAc,EAAE,4BAAc,CAAC,CAAC;QAErE,kBAAkB;QAClB,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QACjC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,EAAE,4BAAc,CAAC,CAAC;QAEpD,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,YAAY,EAAE,4BAAc,CAAC,CAAC;QAEjE,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACxC,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAC3C,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAC5C,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,WAAW,CACb,GAAyC,EACzC,GAAa;QAEb,MAAM,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;QACjC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,kBAAkB,CACzD,SAAS,CACZ,CAAC;QACF,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,YAAY,CACd,GAKC,EACD,GAAa;QAEb,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,8BAAe,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;QACF,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,aAAa,CACf,GAA4D,EAC5D,GAAa;QAEb,MAAM,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;QACjC,MAAM,QAAQ,GAAG,IAAA,8BAAe,EAAC,GAAG,CAAC,CAAC;QACtC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,mBAAmB,CACzD,SAAS,EACT,GAAG,CAAC,IAAI,EACR,QAAQ,CACX,CAAC;QACF,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,UAAU,CACZ,GAA0C,EAC1C,GAAa;QAEb,MAAM,EAAE,WAAW,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;QACnC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QAClE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,aAAa,CACf,GAA2D,EAC3D,GAAa;QAEb,MAAM,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;QACjC,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;QACtB,MAAM,QAAQ,GAAG,IAAA,8BAAe,EAAC,GAAG,CAAC,CAAC;QACtC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,mBAAmB,CACzD,SAAS,EACT,IAAI,EACJ,QAAQ,CACX,CAAC;QACF,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,YAAY,CACd,GAKC,EACD,GAAa;QAEb,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,8BAAe,EAAC,GAAG,CAAC,EACpB,GAAG,CAAC,IAAI,CACX,CAAC;QACF,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;IAED,2BAA2B;IAC3B,KAAK,CAAC,cAAc,CAChB,GAKC,EACD,GAAa;QAEb,MAAM,EAAE,WAAW,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;QACnC,MAAM,QAAQ,GAAG,IAAA,8BAAe,EAAC,GAAG,CAAC,CAAC;QACtC,MAAM,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QAC/D,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,cAAc,CAChB,GAAkD,EAClD,GAAa;QAEb,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;QAC3D,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAChE,SAAS,EACT,WAAW,EACX,WAAW,CACd,CAAC;QACF,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,mBAAmB,CACrB,GAAuD,EACvD,GAAa;QAEb,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,IAAI,EACJ,IAAA,8BAAe,EAAC,GAAG,CAAC,CACvB,CAAC;QACF,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,oBAAoB,CACtB,GAAuD,EACvD,GAAa;QAEb,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,8BAAe,EAAC,GAAG,CAAC,CACvB,CAAC;QACF,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,WAAW,CACb,GAAmE,EACnE,GAAa;QAEb,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;QAC3D,MAAM,QAAQ,GAAG,IAAA,8BAAe,EAAC,GAAG,CAAC,CAAC;QACtC,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,cAAc,CAC5D,GAAG,CAAC,IAAI,EACR,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,EACvC,QAAQ,CACX,CAAC;QACF,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,aAAa,CACf,GAAkD,EAClD,GAAa;QAEb,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,cAAc,CAChB,GAAiE,EACjE,GAAa;QAEb,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;QACvE,MAAM,QAAQ,GAAG,IAAA,8BAAe,EAAC,GAAG,CAAC,CAAC;QACtC,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,cAAc,CAC5D,UAAU,EACV,GAAG,CAAC,IAAI,EACR,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,EACvC,QAAQ,CACX,CAAC;QACF,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,aAAa,CACf,GAA0D,EAC1D,GAAa;QAEb,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;QACvE,MAAM,QAAQ,GAAG,IAAA,8BAAe,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;QACnE,MAAM,EAAE,WAAW,EAAE,GAAG,IAAA,4BAAU,EAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACpD,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,cAAc,CAC5D,UAAU,EACV,WAAW,EACX,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,EACvC,QAAQ,CACX,CAAC;QACF,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,WAAW,CACb,GAAkD,EAClD,GAAa;QAEb,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,cAAc,CAChB,GAAkD,EAClD,GAAa;QAEb,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,8BAAe,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,CACX,CAAC;QACF,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,uBAAuB,CACzB,GAKC,EACD,GAAa;QAEb,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;QACvE,MAAM,QAAQ,GAAG,IAAA,8BAAe,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,GAAa;QAEb,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;AArTD,4CAqTC"}
|
|
@@ -24,8 +24,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
24
24
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
25
|
const mime = __importStar(require("mime"));
|
|
26
26
|
const js_yaml_1 = __importDefault(require("js-yaml"));
|
|
27
|
-
const moment_1 = __importDefault(require("moment"));
|
|
28
27
|
const multer_1 = __importDefault(require("multer"));
|
|
28
|
+
const date_fns_1 = require("date-fns");
|
|
29
29
|
const controller_1 = __importDefault(require("../controller"));
|
|
30
30
|
const permissions_1 = require("../../types/permissions");
|
|
31
31
|
const extract_user_1 = require("../../util/extract-user");
|
|
@@ -92,7 +92,7 @@ class StateController extends controller_1.default {
|
|
|
92
92
|
includeTags,
|
|
93
93
|
includeEnvironments,
|
|
94
94
|
});
|
|
95
|
-
const timestamp = (0,
|
|
95
|
+
const timestamp = (0, date_fns_1.format)(Date.now(), 'yyyy-MM-dd_HH-mm-ss');
|
|
96
96
|
if (format === 'yaml') {
|
|
97
97
|
if (downloadFile) {
|
|
98
98
|
res.attachment(`export-${timestamp}.yml`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../../../src/lib/routes/admin-api/state.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA6B;AAC7B,sDAA2B;AAC3B,oDAA4B;AAC5B,
|
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../../../src/lib/routes/admin-api/state.ts"],"names":[],"mappings":"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"}
|