unleash-server 4.2.3 → 4.3.0
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 -0
- package/dist/lib/create-config.js +5 -15
- package/dist/lib/create-config.js.map +1 -1
- package/dist/lib/create-config.test.js +0 -37
- package/dist/lib/create-config.test.js.map +1 -1
- package/dist/lib/db/feature-strategy-store.js +1 -0
- package/dist/lib/db/feature-strategy-store.js.map +1 -1
- package/dist/lib/db/feature-toggle-store.d.ts +4 -1
- package/dist/lib/db/feature-toggle-store.js +27 -2
- package/dist/lib/db/feature-toggle-store.js.map +1 -1
- package/dist/lib/db/index.js +2 -0
- package/dist/lib/db/index.js.map +1 -1
- package/dist/lib/db/user-splash-store.d.ts +19 -0
- package/dist/lib/db/user-splash-store.js +70 -0
- package/dist/lib/db/user-splash-store.js.map +1 -0
- package/dist/lib/error/operation-denied-error.d.ts +4 -0
- package/dist/lib/error/operation-denied-error.js +24 -0
- package/dist/lib/error/operation-denied-error.js.map +1 -0
- package/dist/lib/routes/admin-api/context.js +1 -1
- package/dist/lib/routes/admin-api/context.js.map +1 -1
- package/dist/lib/routes/admin-api/feature.js +2 -2
- package/dist/lib/routes/admin-api/feature.js.map +1 -1
- package/dist/lib/routes/admin-api/index.js +2 -0
- package/dist/lib/routes/admin-api/index.js.map +1 -1
- package/dist/lib/routes/admin-api/project/features.js +3 -3
- package/dist/lib/routes/admin-api/project/features.js.map +1 -1
- package/dist/lib/routes/admin-api/project/index.js +2 -0
- package/dist/lib/routes/admin-api/project/index.js.map +1 -1
- package/dist/lib/routes/admin-api/project/variants.d.ts +21 -0
- package/dist/lib/routes/admin-api/project/variants.js +41 -0
- package/dist/lib/routes/admin-api/project/variants.js.map +1 -0
- package/dist/lib/routes/admin-api/tag-type.js +1 -1
- package/dist/lib/routes/admin-api/tag-type.js.map +1 -1
- package/dist/lib/routes/admin-api/user-admin.js +2 -2
- package/dist/lib/routes/admin-api/user-admin.js.map +1 -1
- package/dist/lib/routes/admin-api/user-feedback-controller.js +3 -2
- package/dist/lib/routes/admin-api/user-feedback-controller.js.map +1 -1
- package/dist/lib/routes/admin-api/user-splash-controller.d.ts +10 -0
- package/dist/lib/routes/admin-api/user-splash-controller.js +29 -0
- package/dist/lib/routes/admin-api/user-splash-controller.js.map +1 -0
- package/dist/lib/routes/admin-api/user.d.ts +2 -1
- package/dist/lib/routes/admin-api/user.js +9 -5
- package/dist/lib/routes/admin-api/user.js.map +1 -1
- package/dist/lib/routes/auth/reset-password-controller.js +4 -3
- package/dist/lib/routes/auth/reset-password-controller.js.map +1 -1
- package/dist/lib/routes/client-api/metrics.d.ts +0 -1
- package/dist/lib/routes/client-api/metrics.js +4 -11
- package/dist/lib/routes/client-api/metrics.js.map +1 -1
- package/dist/lib/routes/client-api/register.js +3 -1
- package/dist/lib/routes/client-api/register.js.map +1 -1
- package/dist/lib/routes/controller.d.ts +5 -5
- package/dist/lib/routes/controller.js +13 -9
- package/dist/lib/routes/controller.js.map +1 -1
- package/dist/lib/routes/util.js +18 -16
- package/dist/lib/routes/util.js.map +1 -1
- package/dist/lib/schema/feature-schema.d.ts +1 -0
- package/dist/lib/schema/feature-schema.js +6 -7
- package/dist/lib/schema/feature-schema.js.map +1 -1
- package/dist/lib/services/access-service.d.ts +1 -1
- package/dist/lib/services/access-service.js +1 -1
- package/dist/lib/services/access-service.js.map +1 -1
- package/dist/lib/services/client-metrics/client-metrics-service-v2.js +3 -3
- package/dist/lib/services/client-metrics/client-metrics-service-v2.js.map +1 -1
- package/dist/lib/services/feature-toggle-service.d.ts +11 -2
- package/dist/lib/services/feature-toggle-service.js +57 -2
- package/dist/lib/services/feature-toggle-service.js.map +1 -1
- package/dist/lib/services/index.js +3 -0
- package/dist/lib/services/index.js.map +1 -1
- package/dist/lib/services/project-health-service.js +1 -0
- package/dist/lib/services/project-health-service.js.map +1 -1
- package/dist/lib/services/project-service.d.ts +0 -1
- package/dist/lib/services/project-service.js +7 -15
- package/dist/lib/services/project-service.js.map +1 -1
- package/dist/lib/services/user-splash-service.d.ts +12 -0
- package/dist/lib/services/user-splash-service.js +33 -0
- package/dist/lib/services/user-splash-service.js.map +1 -0
- package/dist/lib/types/model.d.ts +4 -0
- package/dist/lib/types/model.js +6 -1
- package/dist/lib/types/model.js.map +1 -1
- package/dist/lib/types/permissions.d.ts +1 -0
- package/dist/lib/types/permissions.js +3 -1
- package/dist/lib/types/permissions.js.map +1 -1
- package/dist/lib/types/services.d.ts +2 -0
- package/dist/lib/types/stores/feature-toggle-store.d.ts +3 -1
- package/dist/lib/types/stores/user-splash-store.d.ts +15 -0
- package/dist/lib/types/stores/user-splash-store.js +3 -0
- package/dist/lib/types/stores/user-splash-store.js.map +1 -0
- package/dist/lib/types/stores.d.ts +2 -0
- package/dist/migrations/20211108130333-create-user-splash-table.d.ts +2 -0
- package/dist/migrations/20211108130333-create-user-splash-table.js +18 -0
- package/dist/migrations/20211108130333-create-user-splash-table.js.map +1 -0
- package/dist/migrations/20211109103930-add-splash-entry-for-users.d.ts +2 -0
- package/dist/migrations/20211109103930-add-splash-entry-for-users.js +7 -0
- package/dist/migrations/20211109103930-add-splash-entry-for-users.js.map +1 -0
- package/dist/migrations/20211126112551-disable-default-environment.d.ts +2 -0
- package/dist/migrations/20211126112551-disable-default-environment.js +24 -0
- package/dist/migrations/20211126112551-disable-default-environment.js.map +1 -0
- package/dist/test/e2e/api/admin/client-metrics.e2e.test.js +2 -2
- package/dist/test/e2e/api/admin/client-metrics.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/feature.e2e.test.js +24 -18
- package/dist/test/e2e/api/admin/feature.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/project/features.auth.e2e.test.d.ts +1 -0
- package/dist/test/e2e/api/admin/project/features.auth.e2e.test.js +61 -0
- package/dist/test/e2e/api/admin/project/features.auth.e2e.test.js.map +1 -0
- package/dist/test/e2e/api/admin/project/features.e2e.test.js +25 -0
- package/dist/test/e2e/api/admin/project/features.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/project/project.health.e2e.test.js +60 -0
- package/dist/test/e2e/api/admin/project/project.health.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/project/variants.e2e.test.d.ts +1 -0
- package/dist/test/e2e/api/admin/project/variants.e2e.test.js +727 -0
- package/dist/test/e2e/api/admin/project/variants.e2e.test.js.map +1 -0
- package/dist/test/e2e/api/admin/splash.e2e.test.d.ts +1 -0
- package/dist/test/e2e/api/admin/splash.e2e.test.js +51 -0
- package/dist/test/e2e/api/admin/splash.e2e.test.js.map +1 -0
- package/dist/test/e2e/services/project-service.e2e.test.js +0 -30
- package/dist/test/e2e/services/project-service.e2e.test.js.map +1 -1
- package/dist/test/e2e/stores/user-splash-store.e2e.test.d.ts +1 -0
- package/dist/test/e2e/stores/user-splash-store.e2e.test.js +74 -0
- package/dist/test/e2e/stores/user-splash-store.e2e.test.js.map +1 -0
- package/dist/test/fixtures/fake-feature-toggle-store.d.ts +3 -1
- package/dist/test/fixtures/fake-feature-toggle-store.js +9 -0
- package/dist/test/fixtures/fake-feature-toggle-store.js.map +1 -1
- package/dist/test/fixtures/fake-user-splash-store.d.ts +12 -0
- package/dist/test/fixtures/fake-user-splash-store.js +40 -0
- package/dist/test/fixtures/fake-user-splash-store.js.map +1 -0
- package/dist/test/fixtures/store.js +2 -0
- package/dist/test/fixtures/store.js.map +1 -1
- package/package.json +17 -16
|
@@ -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":"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"}
|
|
@@ -7,6 +7,7 @@ const controller_1 = __importDefault(require("../../controller"));
|
|
|
7
7
|
const features_1 = __importDefault(require("./features"));
|
|
8
8
|
const environments_1 = __importDefault(require("./environments"));
|
|
9
9
|
const health_report_1 = __importDefault(require("./health-report"));
|
|
10
|
+
const variants_1 = __importDefault(require("./variants"));
|
|
10
11
|
class ProjectApi extends controller_1.default {
|
|
11
12
|
constructor(config, services) {
|
|
12
13
|
super(config);
|
|
@@ -15,6 +16,7 @@ class ProjectApi extends controller_1.default {
|
|
|
15
16
|
this.use('/', new features_1.default(config, services).router);
|
|
16
17
|
this.use('/', new environments_1.default(config, services).router);
|
|
17
18
|
this.use('/', new health_report_1.default(config, services).router);
|
|
19
|
+
this.use('/', new variants_1.default(config, services).router);
|
|
18
20
|
}
|
|
19
21
|
async getProjects(req, res) {
|
|
20
22
|
const projects = await this.projectService.getProjects({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/lib/routes/admin-api/project/index.ts"],"names":[],"mappings":";;;;;AACA,kEAA0C;AAG1C,0DAAmD;AACnD,kEAAoD;AACpD,oEAAkD;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/lib/routes/admin-api/project/index.ts"],"names":[],"mappings":";;;;;AACA,kEAA0C;AAG1C,0DAAmD;AACnD,kEAAoD;AACpD,oEAAkD;AAElD,0DAA4C;AAE5C,MAAqB,UAAW,SAAQ,oBAAU;IAG9C,YAAY,MAAsB,EAAE,QAA0B;QAC1D,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC,cAAc,CAAC;QAC9C,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAChC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,kBAAyB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC;QACtE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,sBAAsB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC;QACnE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,uBAAmB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC;QAChE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,kBAAkB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC;IACnE,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,GAAY,EAAE,GAAa;QACzC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC;YACnD,EAAE,EAAE,SAAS;SAChB,CAAC,CAAC;QACH,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC;IAC7C,CAAC;CACJ;AAnBD,6BAmBC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import Controller from '../../controller';
|
|
2
|
+
import { IUnleashConfig } from '../../../types/option';
|
|
3
|
+
import { IUnleashServices } from '../../../types';
|
|
4
|
+
import { Request, Response } from 'express';
|
|
5
|
+
import { Operation } from 'fast-json-patch';
|
|
6
|
+
import { IVariant } from '../../../types/model';
|
|
7
|
+
interface FeatureParams extends ProjectParam {
|
|
8
|
+
featureName: string;
|
|
9
|
+
}
|
|
10
|
+
interface ProjectParam {
|
|
11
|
+
projectId: string;
|
|
12
|
+
}
|
|
13
|
+
export default class VariantsController extends Controller {
|
|
14
|
+
private logger;
|
|
15
|
+
private featureService;
|
|
16
|
+
constructor(config: IUnleashConfig, { featureToggleService, }: Pick<IUnleashServices, 'featureToggleService'>);
|
|
17
|
+
getVariants(req: Request<FeatureParams, any, any, any>, res: Response): Promise<void>;
|
|
18
|
+
patchVariants(req: Request<FeatureParams, any, Operation[], any>, res: Response): Promise<void>;
|
|
19
|
+
overwriteVariants(req: Request<FeatureParams, any, IVariant[], any>, res: Response): Promise<void>;
|
|
20
|
+
}
|
|
21
|
+
export {};
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const controller_1 = __importDefault(require("../../controller"));
|
|
7
|
+
const permissions_1 = require("../../../types/permissions");
|
|
8
|
+
const PREFIX = '/:projectId/features/:featureName/variants';
|
|
9
|
+
class VariantsController extends controller_1.default {
|
|
10
|
+
constructor(config, { featureToggleService, }) {
|
|
11
|
+
super(config);
|
|
12
|
+
this.logger = config.getLogger('admin-api/project/variants.ts');
|
|
13
|
+
this.featureService = featureToggleService;
|
|
14
|
+
this.get(PREFIX, this.getVariants);
|
|
15
|
+
this.patch(PREFIX, this.patchVariants, permissions_1.UPDATE_FEATURE);
|
|
16
|
+
this.put(PREFIX, this.overwriteVariants, permissions_1.UPDATE_FEATURE);
|
|
17
|
+
}
|
|
18
|
+
async getVariants(req, res) {
|
|
19
|
+
const { featureName } = req.params;
|
|
20
|
+
const variants = await this.featureService.getVariants(featureName);
|
|
21
|
+
res.status(200).json({ version: '1', variants: variants || [] });
|
|
22
|
+
}
|
|
23
|
+
async patchVariants(req, res) {
|
|
24
|
+
const { featureName } = req.params;
|
|
25
|
+
const updatedFeature = await this.featureService.updateVariants(featureName, req.body);
|
|
26
|
+
res.status(200).json({
|
|
27
|
+
version: '1',
|
|
28
|
+
variants: updatedFeature.variants,
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
async overwriteVariants(req, res) {
|
|
32
|
+
const { featureName } = req.params;
|
|
33
|
+
const updatedFeature = await this.featureService.saveVariants(featureName, req.body);
|
|
34
|
+
res.status(200).json({
|
|
35
|
+
version: '1',
|
|
36
|
+
variants: updatedFeature.variants,
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
exports.default = VariantsController;
|
|
41
|
+
//# sourceMappingURL=variants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"variants.js","sourceRoot":"","sources":["../../../../../src/lib/routes/admin-api/project/variants.ts"],"names":[],"mappings":";;;;;AAEA,kEAA0C;AAK1C,4DAA4D;AAG5D,MAAM,MAAM,GAAG,4CAA4C,CAAC;AAU5D,MAAqB,kBAAmB,SAAQ,oBAAU;IAKtD,YACI,MAAsB,EACtB,EACI,oBAAoB,GACyB;QAEjD,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,+BAA+B,CAAC,CAAC;QAChE,IAAI,CAAC,cAAc,GAAG,oBAAoB,CAAC;QAC3C,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QACnC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,4BAAc,CAAC,CAAC;QACvD,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,iBAAiB,EAAE,4BAAc,CAAC,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,WAAW,CACb,GAA0C,EAC1C,GAAa;QAEb,MAAM,EAAE,WAAW,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;QACnC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QACpE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,IAAI,EAAE,EAAE,CAAC,CAAC;IACrE,CAAC;IAED,KAAK,CAAC,aAAa,CACf,GAAkD,EAClD,GAAa;QAEb,MAAM,EAAE,WAAW,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;QACnC,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,cAAc,CAC3D,WAAW,EACX,GAAG,CAAC,IAAI,CACX,CAAC;QACF,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;YACjB,OAAO,EAAE,GAAG;YACZ,QAAQ,EAAE,cAAc,CAAC,QAAQ;SACpC,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,iBAAiB,CACnB,GAAiD,EACjD,GAAa;QAEb,MAAM,EAAE,WAAW,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;QACnC,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,YAAY,CACzD,WAAW,EACX,GAAG,CAAC,IAAI,CACX,CAAC;QACF,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;YACjB,OAAO,EAAE,GAAG;YACZ,QAAQ,EAAE,cAAc,CAAC,QAAQ;SACpC,CAAC,CAAC;IACP,CAAC;CACJ;AAzDD,qCAyDC"}
|
|
@@ -14,7 +14,7 @@ class TagTypeController extends controller_1.default {
|
|
|
14
14
|
this.tagTypeService = tagTypeService;
|
|
15
15
|
this.get('/', this.getTagTypes);
|
|
16
16
|
this.post('/', this.createTagType, permissions_1.UPDATE_TAG_TYPE);
|
|
17
|
-
this.post('/validate', this.validate);
|
|
17
|
+
this.post('/validate', this.validate, permissions_1.UPDATE_TAG_TYPE);
|
|
18
18
|
this.get('/:name', this.getTagType);
|
|
19
19
|
this.put('/:name', this.updateTagType, permissions_1.UPDATE_TAG_TYPE);
|
|
20
20
|
this.delete('/:name', this.deleteTagType, permissions_1.DELETE_TAG_TYPE);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tag-type.js","sourceRoot":"","sources":["../../../../src/lib/routes/admin-api/tag-type.ts"],"names":[],"mappings":";;;;;AACA,+DAAuC;AAEvC,yDAA2E;AAC3E,0DAA0D;AAO1D,MAAM,OAAO,GAAG,CAAC,CAAC;AAElB,MAAM,iBAAkB,SAAQ,oBAAU;IAKtC,YACI,MAAsB,EACtB,EAAE,cAAc,EAA4C;QAE5D,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,wBAAwB,CAAC,CAAC;QACzD,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAChC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,aAAa,EAAE,6BAAe,CAAC,CAAC;QACpD,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"tag-type.js","sourceRoot":"","sources":["../../../../src/lib/routes/admin-api/tag-type.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,12 +17,12 @@ class UserAdminController extends controller_1.default {
|
|
|
17
17
|
this.get('/', this.getUsers, permissions_1.ADMIN);
|
|
18
18
|
this.get('/search', this.search);
|
|
19
19
|
this.post('/', this.createUser, permissions_1.ADMIN);
|
|
20
|
-
this.post('/validate-password', this.validatePassword);
|
|
20
|
+
this.post('/validate-password', this.validatePassword, permissions_1.NONE);
|
|
21
21
|
this.get('/:id', this.getUser, permissions_1.ADMIN);
|
|
22
22
|
this.put('/:id', this.updateUser, permissions_1.ADMIN);
|
|
23
23
|
this.post('/:id/change-password', this.changePassword, permissions_1.ADMIN);
|
|
24
24
|
this.delete('/:id', this.deleteUser, permissions_1.ADMIN);
|
|
25
|
-
this.post('/reset-password', this.resetPassword);
|
|
25
|
+
this.post('/reset-password', this.resetPassword, permissions_1.ADMIN);
|
|
26
26
|
this.get('/active-sessions', this.getActiveSessions, permissions_1.ADMIN);
|
|
27
27
|
}
|
|
28
28
|
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user-admin.js","sourceRoot":"","sources":["../../../../src/lib/routes/admin-api/user-admin.ts"],"names":[],"mappings":";;;;;AACA,+DAAuC;AACvC,
|
|
1
|
+
{"version":3,"file":"user-admin.js","sourceRoot":"","sources":["../../../../src/lib/routes/admin-api/user-admin.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,13 +4,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const controller_1 = __importDefault(require("../controller"));
|
|
7
|
+
const permissions_1 = require("../../types/permissions");
|
|
7
8
|
class UserFeedbackController extends controller_1.default {
|
|
8
9
|
constructor(config, { userFeedbackService }) {
|
|
9
10
|
super(config);
|
|
10
11
|
this.logger = config.getLogger('feedback-controller.ts');
|
|
11
12
|
this.userFeedbackService = userFeedbackService;
|
|
12
|
-
this.post('/', this.recordFeedback);
|
|
13
|
-
this.put('/:id', this.updateFeedbackSettings);
|
|
13
|
+
this.post('/', this.recordFeedback, permissions_1.NONE);
|
|
14
|
+
this.put('/:id', this.updateFeedbackSettings, permissions_1.NONE);
|
|
14
15
|
}
|
|
15
16
|
async recordFeedback(req, res) {
|
|
16
17
|
const BAD_REQUEST = 400;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user-feedback-controller.js","sourceRoot":"","sources":["../../../../src/lib/routes/admin-api/user-feedback-controller.ts"],"names":[],"mappings":";;;;;AAEA,+DAAuC;
|
|
1
|
+
{"version":3,"file":"user-feedback-controller.js","sourceRoot":"","sources":["../../../../src/lib/routes/admin-api/user-feedback-controller.ts"],"names":[],"mappings":";;;;;AAEA,+DAAuC;AAMvC,yDAA+C;AAQ/C,MAAM,sBAAuB,SAAQ,oBAAU;IAK3C,YACI,MAAsB,EACtB,EAAE,mBAAmB,EAAiD;QAEtE,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,wBAAwB,CAAC,CAAC;QACzD,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;QAE/C,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,cAAc,EAAE,kBAAI,CAAC,CAAC;QAC1C,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,sBAAsB,EAAE,kBAAI,CAAC,CAAC;IACxD,CAAC;IAEO,KAAK,CAAC,cAAc,CACxB,GAA+C,EAC/C,GAAa;QAEb,MAAM,WAAW,GAAG,GAAG,CAAC;QACxB,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC;QAErB,MAAM,EAAE,UAAU,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC;QAEhC,IAAI,CAAC,UAAU,EAAE;YACb,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC;gBACzB,KAAK,EAAE,6BAA6B;aACvC,CAAC,CAAC;YACH,OAAO;SACV;QAED,MAAM,QAAQ,GAAG;YACb,GAAG,GAAG,CAAC,IAAI;YACX,MAAM,EAAE,IAAI,CAAC,EAAE;YACf,KAAK,EAAE,IAAI,IAAI,EAAE;YACjB,SAAS,EAAE,GAAG,CAAC,IAAI,CAAC,SAAS,IAAI,KAAK;SACzC,CAAC;QAEF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QACxE,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtB,CAAC;IAEO,KAAK,CAAC,sBAAsB,CAChC,GAA+C,EAC/C,GAAa;QAEb,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC;QACrB,MAAM,EAAE,EAAE,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;QAE1B,MAAM,QAAQ,GAAG;YACb,GAAG,GAAG,CAAC,IAAI;YACX,UAAU,EAAE,EAAE;YACd,MAAM,EAAE,IAAI,CAAC,EAAE;YACf,SAAS,EAAE,GAAG,CAAC,IAAI,CAAC,SAAS,IAAI,KAAK;SACzC,CAAC;QAEF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QACxE,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtB,CAAC;CACJ;AAED,MAAM,CAAC,OAAO,GAAG,sBAAsB,CAAC;AACxC,kBAAe,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import Controller from '../controller';
|
|
2
|
+
import { IUnleashConfig } from '../../types/option';
|
|
3
|
+
import { IUnleashServices } from '../../types/services';
|
|
4
|
+
declare class UserSplashController extends Controller {
|
|
5
|
+
private logger;
|
|
6
|
+
private userSplashService;
|
|
7
|
+
constructor(config: IUnleashConfig, { userSplashService }: Pick<IUnleashServices, 'userSplashService'>);
|
|
8
|
+
private updateSplashSettings;
|
|
9
|
+
}
|
|
10
|
+
export default UserSplashController;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const controller_1 = __importDefault(require("../controller"));
|
|
7
|
+
const permissions_1 = require("../../types/permissions");
|
|
8
|
+
class UserSplashController extends controller_1.default {
|
|
9
|
+
constructor(config, { userSplashService }) {
|
|
10
|
+
super(config);
|
|
11
|
+
this.logger = config.getLogger('splash-controller.ts');
|
|
12
|
+
this.userSplashService = userSplashService;
|
|
13
|
+
this.post('/:id', this.updateSplashSettings, permissions_1.NONE);
|
|
14
|
+
}
|
|
15
|
+
async updateSplashSettings(req, res) {
|
|
16
|
+
const { user } = req;
|
|
17
|
+
const { id } = req.params;
|
|
18
|
+
const splash = {
|
|
19
|
+
splashId: id,
|
|
20
|
+
userId: user.id,
|
|
21
|
+
seen: true,
|
|
22
|
+
};
|
|
23
|
+
const updated = await this.userSplashService.updateSplash(splash);
|
|
24
|
+
res.json(updated);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
module.exports = UserSplashController;
|
|
28
|
+
exports.default = UserSplashController;
|
|
29
|
+
//# sourceMappingURL=user-splash-controller.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user-splash-controller.js","sourceRoot":"","sources":["../../../../src/lib/routes/admin-api/user-splash-controller.ts"],"names":[],"mappings":";;;;;AAEA,+DAAuC;AAMvC,yDAA+C;AAO/C,MAAM,oBAAqB,SAAQ,oBAAU;IAKzC,YACI,MAAsB,EACtB,EAAE,iBAAiB,EAA+C;QAElE,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC;QACvD,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QAE3C,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,oBAAoB,EAAE,kBAAI,CAAC,CAAC;IACvD,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAC9B,GAA6C,EAC7C,GAAa;QAEb,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC;QACrB,MAAM,EAAE,EAAE,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;QAE1B,MAAM,MAAM,GAAG;YACX,QAAQ,EAAE,EAAE;YACZ,MAAM,EAAE,IAAI,CAAC,EAAE;YACf,IAAI,EAAE,IAAI;SACb,CAAC;QACF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAClE,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtB,CAAC;CACJ;AAED,MAAM,CAAC,OAAO,GAAG,oBAAoB,CAAC;AACtC,kBAAe,oBAAoB,CAAC"}
|
|
@@ -12,7 +12,8 @@ declare class UserController extends Controller {
|
|
|
12
12
|
private userService;
|
|
13
13
|
private userFeedbackService;
|
|
14
14
|
private sessionService;
|
|
15
|
-
|
|
15
|
+
private userSplashService;
|
|
16
|
+
constructor(config: IUnleashConfig, { accessService, userService, sessionService, userFeedbackService, userSplashService, }: Pick<IUnleashServices, 'accessService' | 'userService' | 'sessionService' | 'userFeedbackService' | 'userSplashService'>);
|
|
16
17
|
getUser(req: IAuthRequest, res: Response): Promise<void>;
|
|
17
18
|
updateUserPass(req: IAuthRequest<any, any, IChangeUserRequest, any>, res: Response): Promise<void>;
|
|
18
19
|
mySessions(req: IAuthRequest, res: Response): Promise<void>;
|
|
@@ -4,15 +4,17 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const controller_1 = __importDefault(require("../controller"));
|
|
7
|
+
const permissions_1 = require("../../types/permissions");
|
|
7
8
|
class UserController extends controller_1.default {
|
|
8
|
-
constructor(config, { accessService, userService, sessionService, userFeedbackService, }) {
|
|
9
|
+
constructor(config, { accessService, userService, sessionService, userFeedbackService, userSplashService, }) {
|
|
9
10
|
super(config);
|
|
10
11
|
this.accessService = accessService;
|
|
11
12
|
this.userService = userService;
|
|
12
13
|
this.sessionService = sessionService;
|
|
13
14
|
this.userFeedbackService = userFeedbackService;
|
|
15
|
+
this.userSplashService = userSplashService;
|
|
14
16
|
this.get('/', this.getUser);
|
|
15
|
-
this.post('/change-password', this.updateUserPass);
|
|
17
|
+
this.post('/change-password', this.updateUserPass, permissions_1.NONE);
|
|
16
18
|
this.get('/my-sessions', this.mySessions);
|
|
17
19
|
}
|
|
18
20
|
async getUser(req, res) {
|
|
@@ -20,9 +22,11 @@ class UserController extends controller_1.default {
|
|
|
20
22
|
const { user } = req;
|
|
21
23
|
const permissions = await this.accessService.getPermissionsForUser(user);
|
|
22
24
|
const feedback = await this.userFeedbackService.getAllUserFeedback(user);
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
25
|
+
const splash = await this.userSplashService.getAllUserSplashs(user);
|
|
26
|
+
return res
|
|
27
|
+
.status(200)
|
|
28
|
+
.json({ user, permissions, feedback, splash })
|
|
29
|
+
.end();
|
|
26
30
|
}
|
|
27
31
|
async updateUserPass(req, res) {
|
|
28
32
|
const { user } = req;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user.js","sourceRoot":"","sources":["../../../../src/lib/routes/admin-api/user.ts"],"names":[],"mappings":";;;;;AAEA,+DAAuC;
|
|
1
|
+
{"version":3,"file":"user.js","sourceRoot":"","sources":["../../../../src/lib/routes/admin-api/user.ts"],"names":[],"mappings":";;;;;AAEA,+DAAuC;AAQvC,yDAA+C;AAO/C,MAAM,cAAe,SAAQ,oBAAU;IAWnC,YACI,MAAsB,EACtB,EACI,aAAa,EACb,WAAW,EACX,cAAc,EACd,mBAAmB,EACnB,iBAAiB,GAQpB;QAED,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;QAC/C,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QAE3C,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5B,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,cAAc,EAAE,kBAAI,CAAC,CAAC;QACzD,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,GAAiB,EAAE,GAAa;QAC1C,GAAG,CAAC,SAAS,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;QAC3C,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC;QACrB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAC9D,IAAI,CACP,CAAC;QACF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CAC9D,IAAI,CACP,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAEpE,OAAO,GAAG;aACL,MAAM,CAAC,GAAG,CAAC;aACX,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;aAC7C,GAAG,EAAE,CAAC;IACf,CAAC;IAED,KAAK,CAAC,cAAc,CAChB,GAAoD,EACpD,GAAa;QAEb,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC;QACrB,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC;QAC/C,IAAI,QAAQ,KAAK,eAAe,EAAE;YAC9B,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YAC5C,MAAM,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;YACzD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;SACzB;aAAM;YACH,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;SACzB;IACL,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,GAAiB,EAAE,GAAa;QAC7C,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC;QACrB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACvE,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACvB,CAAC;CACJ;AAED,MAAM,CAAC,OAAO,GAAG,cAAc,CAAC;AAChC,kBAAe,cAAc,CAAC"}
|
|
@@ -4,15 +4,16 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const controller_1 = __importDefault(require("../controller"));
|
|
7
|
+
const permissions_1 = require("../../types/permissions");
|
|
7
8
|
class ResetPasswordController extends controller_1.default {
|
|
8
9
|
constructor(config, { userService }) {
|
|
9
10
|
super(config);
|
|
10
11
|
this.logger = config.getLogger('lib/routes/auth/reset-password-controller.ts');
|
|
11
12
|
this.userService = userService;
|
|
12
13
|
this.get('/validate', this.validateToken);
|
|
13
|
-
this.post('/password', this.changePassword);
|
|
14
|
-
this.post('/validate-password', this.validatePassword);
|
|
15
|
-
this.post('/password-email', this.sendResetPasswordEmail);
|
|
14
|
+
this.post('/password', this.changePassword, permissions_1.NONE);
|
|
15
|
+
this.post('/validate-password', this.validatePassword, permissions_1.NONE);
|
|
16
|
+
this.post('/password-email', this.sendResetPasswordEmail, permissions_1.NONE);
|
|
16
17
|
}
|
|
17
18
|
async sendResetPasswordEmail(req, res) {
|
|
18
19
|
const { email } = req.body;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reset-password-controller.js","sourceRoot":"","sources":["../../../../src/lib/routes/auth/reset-password-controller.ts"],"names":[],"mappings":";;;;;AACA,+DAAuC;
|
|
1
|
+
{"version":3,"file":"reset-password-controller.js","sourceRoot":"","sources":["../../../../src/lib/routes/auth/reset-password-controller.ts"],"names":[],"mappings":";;;;;AACA,+DAAuC;AAKvC,yDAA+C;AAgB/C,MAAM,uBAAwB,SAAQ,oBAAU;IAK5C,YAAY,MAAsB,EAAE,EAAE,WAAW,EAAoB;QACjE,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,SAAS,CAC1B,8CAA8C,CACjD,CAAC;QACF,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAC1C,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,cAAc,EAAE,kBAAI,CAAC,CAAC;QAClD,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,IAAI,CAAC,gBAAgB,EAAE,kBAAI,CAAC,CAAC;QAC7D,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,sBAAsB,EAAE,kBAAI,CAAC,CAAC;IACpE,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,GAAY,EAAE,GAAa;QACpD,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC;QAE3B,MAAM,IAAI,CAAC,WAAW,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;QACvD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,GAAY,EAAE,GAAa;QAC9C,MAAM,EAAE,QAAQ,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC;QAE9B,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAC5C,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,aAAa,CACf,GAAuD,EACvD,GAAa;QAEb,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC;QAC5B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAC3D,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACvB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,cAAc,CAChB,GAA4D,EAC5D,GAAa;QAEb,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACvB,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC;QACrC,MAAM,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QACtD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;IAC1B,CAAC;IAEO,KAAK,CAAC,MAAM,CAAC,GAAuC;QACxD,IAAI,GAAG,CAAC,OAAO,EAAE;YACb,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;SACjC;IACL,CAAC;CACJ;AAED,kBAAe,uBAAuB,CAAC;AACvC,MAAM,CAAC,OAAO,GAAG,uBAAuB,CAAC"}
|
|
@@ -10,7 +10,6 @@ export default class ClientMetricsController extends Controller {
|
|
|
10
10
|
logger: Logger;
|
|
11
11
|
metrics: ClientMetricsService;
|
|
12
12
|
metricsV2: ClientMetricsServiceV2;
|
|
13
|
-
newServiceEnabled: boolean;
|
|
14
13
|
constructor({ clientMetricsService, clientMetricsServiceV2, }: Pick<IUnleashServices, 'clientMetricsService' | 'clientMetricsServiceV2'>, config: IUnleashConfig);
|
|
15
14
|
private resolveEnvironment;
|
|
16
15
|
registerMetrics(req: IAuthRequest, res: Response): Promise<void>;
|
|
@@ -6,19 +6,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
const controller_1 = __importDefault(require("../controller"));
|
|
7
7
|
const api_user_1 = __importDefault(require("../../types/api-user"));
|
|
8
8
|
const api_token_1 = require("../../types/models/api-token");
|
|
9
|
+
const permissions_1 = require("../../types/permissions");
|
|
9
10
|
class ClientMetricsController extends controller_1.default {
|
|
10
11
|
constructor({ clientMetricsService, clientMetricsServiceV2, }, config) {
|
|
11
12
|
super(config);
|
|
12
|
-
|
|
13
|
-
const { experimental, getLogger } = config;
|
|
14
|
-
if (experimental && experimental.metricsV2) {
|
|
15
|
-
//@ts-ignore
|
|
16
|
-
this.newServiceEnabled = experimental.metricsV2.enabled;
|
|
17
|
-
}
|
|
13
|
+
const { getLogger } = config;
|
|
18
14
|
this.logger = getLogger('/api/client/metrics');
|
|
19
15
|
this.metrics = clientMetricsService;
|
|
20
16
|
this.metricsV2 = clientMetricsServiceV2;
|
|
21
|
-
this.post('/', this.registerMetrics);
|
|
17
|
+
this.post('/', this.registerMetrics, permissions_1.NONE);
|
|
22
18
|
}
|
|
23
19
|
resolveEnvironment(user, data) {
|
|
24
20
|
if (user instanceof api_user_1.default) {
|
|
@@ -35,12 +31,9 @@ class ClientMetricsController extends controller_1.default {
|
|
|
35
31
|
const { body: data, ip: clientIp, user } = req;
|
|
36
32
|
data.environment = this.resolveEnvironment(user, data);
|
|
37
33
|
await this.metrics.registerClientMetrics(data, clientIp);
|
|
38
|
-
|
|
39
|
-
await this.metricsV2.registerClientMetrics(data, clientIp);
|
|
40
|
-
}
|
|
34
|
+
await this.metricsV2.registerClientMetrics(data, clientIp);
|
|
41
35
|
return res.status(202).end();
|
|
42
36
|
}
|
|
43
37
|
}
|
|
44
38
|
exports.default = ClientMetricsController;
|
|
45
|
-
module.exports = ClientMetricsController;
|
|
46
39
|
//# sourceMappingURL=metrics.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../../../src/lib/routes/client-api/metrics.ts"],"names":[],"mappings":";;;;;AACA,+DAAuC;AAMvC,oEAA2C;AAC3C,4DAAmD;
|
|
1
|
+
{"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../../../src/lib/routes/client-api/metrics.ts"],"names":[],"mappings":";;;;;AACA,+DAAuC;AAMvC,oEAA2C;AAC3C,4DAAmD;AAInD,yDAA+C;AAE/C,MAAqB,uBAAwB,SAAQ,oBAAU;IAO3D,YACI,EACI,oBAAoB,EACpB,sBAAsB,GAIzB,EACD,MAAsB;QAEtB,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;QAE7B,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,qBAAqB,CAAC,CAAC;QAC/C,IAAI,CAAC,OAAO,GAAG,oBAAoB,CAAC;QACpC,IAAI,CAAC,SAAS,GAAG,sBAAsB,CAAC;QAExC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,eAAe,EAAE,kBAAI,CAAC,CAAC;IAC/C,CAAC;IAEO,kBAAkB,CAAC,IAAU,EAAE,IAAgB;QACnD,IAAI,IAAI,YAAY,kBAAO,EAAE;YACzB,IAAI,IAAI,CAAC,WAAW,KAAK,eAAG,EAAE;gBAC1B,OAAO,IAAI,CAAC,WAAW,CAAC;aAC3B;iBAAM,IAAI,IAAI,CAAC,WAAW,KAAK,eAAG,IAAI,IAAI,CAAC,WAAW,EAAE;gBACrD,OAAO,IAAI,CAAC,WAAW,CAAC;aAC3B;SACJ;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,GAAiB,EAAE,GAAa;QAClD,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC;QAC/C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACvD,MAAM,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAEzD,MAAM,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAE3D,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;IACjC,CAAC;CACJ;AA/CD,0CA+CC"}
|
|
@@ -6,12 +6,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
const controller_1 = __importDefault(require("../controller"));
|
|
7
7
|
const api_user_1 = __importDefault(require("../../types/api-user"));
|
|
8
8
|
const api_token_1 = require("../../types/models/api-token");
|
|
9
|
+
const permissions_1 = require("../../types/permissions");
|
|
9
10
|
class RegisterController extends controller_1.default {
|
|
10
11
|
constructor({ clientMetricsService, }, config) {
|
|
11
12
|
super(config);
|
|
12
13
|
this.logger = config.getLogger('/api/client/register');
|
|
13
14
|
this.metrics = clientMetricsService;
|
|
14
|
-
|
|
15
|
+
// NONE permission is not optimal here in terms of readability.
|
|
16
|
+
this.post('/', this.handleRegister, permissions_1.NONE);
|
|
15
17
|
}
|
|
16
18
|
resolveEnvironment(user, data) {
|
|
17
19
|
if (user instanceof api_user_1.default) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register.js","sourceRoot":"","sources":["../../../../src/lib/routes/client-api/register.ts"],"names":[],"mappings":";;;;;AACA,+DAAuC;AAOvC,oEAA2C;AAC3C,4DAAmD;
|
|
1
|
+
{"version":3,"file":"register.js","sourceRoot":"","sources":["../../../../src/lib/routes/client-api/register.ts"],"names":[],"mappings":";;;;;AACA,+DAAuC;AAOvC,oEAA2C;AAC3C,4DAAmD;AACnD,yDAA+C;AAE/C,MAAqB,kBAAmB,SAAQ,oBAAU;IAKtD,YACI,EACI,oBAAoB,GACyB,EACjD,MAAsB;QAEtB,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC;QACvD,IAAI,CAAC,OAAO,GAAG,oBAAoB,CAAC;QAEpC,+DAA+D;QAC/D,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,cAAc,EAAE,kBAAI,CAAC,CAAC;IAC9C,CAAC;IAEO,kBAAkB,CAAC,IAAU,EAAE,IAAgB;QACnD,IAAI,IAAI,YAAY,kBAAO,EAAE;YACzB,IAAI,IAAI,CAAC,WAAW,KAAK,eAAG,EAAE;gBAC1B,OAAO,IAAI,CAAC,WAAW,CAAC;aAC3B;iBAAM,IAAI,IAAI,CAAC,WAAW,KAAK,eAAG,IAAI,IAAI,CAAC,WAAW,EAAE;gBACrD,OAAO,IAAI,CAAC,WAAW,CAAC;aAC3B;SACJ;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,GAAiB,EAAE,GAAa;QACjD,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC;QAC/C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACvD,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAClD,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;IACjC,CAAC;CACJ;AApCD,qCAoCC"}
|
|
@@ -18,11 +18,11 @@ export default class Controller {
|
|
|
18
18
|
constructor(config: IUnleashConfig);
|
|
19
19
|
wrap(handler: IRequestHandler): IRequestHandler;
|
|
20
20
|
get(path: string, handler: IRequestHandler, permission?: string): void;
|
|
21
|
-
post(path: string, handler: IRequestHandler, permission
|
|
22
|
-
put(path: string, handler: IRequestHandler, permission
|
|
23
|
-
patch(path: string, handler: IRequestHandler, permission
|
|
24
|
-
delete(path: string, handler: IRequestHandler, permission
|
|
25
|
-
fileupload(path: string, filehandler: IRequestHandler, handler: Function, permission
|
|
21
|
+
post(path: string, handler: IRequestHandler, permission: string, ...acceptedContentTypes: string[]): void;
|
|
22
|
+
put(path: string, handler: IRequestHandler, permission: string, ...acceptedContentTypes: string[]): void;
|
|
23
|
+
patch(path: string, handler: IRequestHandler, permission: string, ...acceptedContentTypes: string[]): void;
|
|
24
|
+
delete(path: string, handler: IRequestHandler, permission: string): void;
|
|
25
|
+
fileupload(path: string, filehandler: IRequestHandler, handler: Function, permission: string): void;
|
|
26
26
|
use(path: string, router: IRouter): void;
|
|
27
27
|
get router(): any;
|
|
28
28
|
}
|
|
@@ -1,17 +1,21 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const express_1 = require("express");
|
|
7
|
+
const permissions_1 = require("../types/permissions");
|
|
3
8
|
const util_1 = require("./util");
|
|
4
|
-
const
|
|
5
|
-
const
|
|
6
|
-
const requireContentType = require('../middleware/content_type_checker');
|
|
9
|
+
const no_access_error_1 = __importDefault(require("../error/no-access-error"));
|
|
10
|
+
const content_type_checker_1 = __importDefault(require("../middleware/content_type_checker"));
|
|
7
11
|
const checkPermission = (permission) => async (req, res, next) => {
|
|
8
|
-
if (!permission) {
|
|
12
|
+
if (!permission || permission === permissions_1.NONE) {
|
|
9
13
|
return next();
|
|
10
14
|
}
|
|
11
15
|
if (req.checkRbac && (await req.checkRbac(permission))) {
|
|
12
16
|
return next();
|
|
13
17
|
}
|
|
14
|
-
return res.status(403).json(new
|
|
18
|
+
return res.status(403).json(new no_access_error_1.default(permission)).end();
|
|
15
19
|
};
|
|
16
20
|
/**
|
|
17
21
|
* Base class for Controllers to standardize binding to express Router.
|
|
@@ -24,7 +28,7 @@ const checkPermission = (permission) => async (req, res, next) => {
|
|
|
24
28
|
class Controller {
|
|
25
29
|
constructor(config) {
|
|
26
30
|
this.ownLogger = config.getLogger(`controller/${this.constructor.name}`);
|
|
27
|
-
this.app = Router();
|
|
31
|
+
this.app = (0, express_1.Router)();
|
|
28
32
|
this.config = config;
|
|
29
33
|
}
|
|
30
34
|
wrap(handler) {
|
|
@@ -41,13 +45,13 @@ class Controller {
|
|
|
41
45
|
this.app.get(path, checkPermission(permission), this.wrap(handler.bind(this)));
|
|
42
46
|
}
|
|
43
47
|
post(path, handler, permission, ...acceptedContentTypes) {
|
|
44
|
-
this.app.post(path, checkPermission(permission),
|
|
48
|
+
this.app.post(path, checkPermission(permission), (0, content_type_checker_1.default)(...acceptedContentTypes), this.wrap(handler.bind(this)));
|
|
45
49
|
}
|
|
46
50
|
put(path, handler, permission, ...acceptedContentTypes) {
|
|
47
|
-
this.app.put(path, checkPermission(permission),
|
|
51
|
+
this.app.put(path, checkPermission(permission), (0, content_type_checker_1.default)(...acceptedContentTypes), this.wrap(handler.bind(this)));
|
|
48
52
|
}
|
|
49
53
|
patch(path, handler, permission, ...acceptedContentTypes) {
|
|
50
|
-
this.app.patch(path, checkPermission(permission),
|
|
54
|
+
this.app.patch(path, checkPermission(permission), (0, content_type_checker_1.default)(...acceptedContentTypes), this.wrap(handler.bind(this)));
|
|
51
55
|
}
|
|
52
56
|
delete(path, handler, permission) {
|
|
53
57
|
this.app.delete(path, checkPermission(permission), this.wrap(handler.bind(this)));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controller.js","sourceRoot":"","sources":["../../../src/lib/routes/controller.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"controller.js","sourceRoot":"","sources":["../../../src/lib/routes/controller.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/routes/util.js
CHANGED
|
@@ -27,32 +27,34 @@ const handleErrors = (res, logger, error) => {
|
|
|
27
27
|
// eslint-disable-next-line no-param-reassign
|
|
28
28
|
error.isJoi = true;
|
|
29
29
|
switch (error.name) {
|
|
30
|
-
case 'NoAccessError':
|
|
31
|
-
return res.status(403).json(error).end();
|
|
32
|
-
case 'NotFoundError':
|
|
33
|
-
return res.status(404).json(error).end();
|
|
34
|
-
case 'InvalidOperationError':
|
|
35
|
-
return res.status(403).json(error).end();
|
|
36
|
-
case 'NameExistsError':
|
|
37
|
-
return res.status(409).json(error).end();
|
|
38
30
|
case 'ValidationError':
|
|
39
31
|
return res.status(400).json(error).end();
|
|
40
32
|
case 'BadDataError':
|
|
41
33
|
return res.status(400).json(error).end();
|
|
42
|
-
case 'FeatureHasTagError':
|
|
43
|
-
return res.status(409).json(error).end();
|
|
44
|
-
case 'UsedTokenError':
|
|
45
|
-
return res.status(403).json(error).end();
|
|
46
|
-
case 'InvalidTokenError':
|
|
47
|
-
return res.status(401).json(error).end();
|
|
48
34
|
case 'OwaspValidationError':
|
|
49
35
|
return res.status(400).json(error).end();
|
|
50
36
|
case 'PasswordUndefinedError':
|
|
51
37
|
return res.status(400).json(error).end();
|
|
52
|
-
case 'IncompatibleProjectError':
|
|
53
|
-
return res.status(403).json(error).end();
|
|
54
38
|
case 'MinimumOneEnvironmentError':
|
|
55
39
|
return res.status(400).json(error).end();
|
|
40
|
+
case 'InvalidTokenError':
|
|
41
|
+
return res.status(401).json(error).end();
|
|
42
|
+
case 'NoAccessError':
|
|
43
|
+
return res.status(403).json(error).end();
|
|
44
|
+
case 'UsedTokenError':
|
|
45
|
+
return res.status(403).json(error).end();
|
|
46
|
+
case 'InvalidOperationError':
|
|
47
|
+
return res.status(403).json(error).end();
|
|
48
|
+
case 'IncompatibleProjectError':
|
|
49
|
+
return res.status(403).json(error).end();
|
|
50
|
+
case 'OperationDeniedError':
|
|
51
|
+
return res.status(403).json(error).end();
|
|
52
|
+
case 'NotFoundError':
|
|
53
|
+
return res.status(404).json(error).end();
|
|
54
|
+
case 'NameExistsError':
|
|
55
|
+
return res.status(409).json(error).end();
|
|
56
|
+
case 'FeatureHasTagError':
|
|
57
|
+
return res.status(409).json(error).end();
|
|
56
58
|
default:
|
|
57
59
|
logger.error('Server failed executing request', error);
|
|
58
60
|
return res.status(500).end();
|