unleash-server 4.0.10 → 4.0.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/db/project-store.js.map +1 -1
- package/dist/lib/db/user-store.d.ts +1 -0
- package/dist/lib/db/user-store.js +6 -0
- package/dist/lib/db/user-store.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/health-report.d.ts +11 -0
- package/dist/lib/routes/admin-api/project/health-report.js +30 -0
- package/dist/lib/routes/admin-api/project/health-report.js.map +1 -0
- package/dist/lib/routes/admin-api/project/index.d.ts +6 -0
- package/dist/lib/routes/admin-api/project/index.js +15 -0
- package/dist/lib/routes/admin-api/project/index.js.map +1 -0
- package/dist/lib/services/index.js +3 -0
- package/dist/lib/services/index.js.map +1 -1
- package/dist/lib/services/project-health-service.d.ts +18 -0
- package/dist/lib/services/project-health-service.js +75 -0
- package/dist/lib/services/project-health-service.js.map +1 -0
- package/dist/lib/services/user-service.js +2 -2
- package/dist/lib/services/user-service.js.map +1 -1
- package/dist/lib/types/model.d.ts +110 -0
- package/dist/lib/types/model.js +3 -0
- package/dist/lib/types/model.js.map +1 -0
- package/dist/lib/types/services.d.ts +2 -0
- package/dist/lib/util/constants.d.ts +2 -0
- package/dist/lib/util/constants.js +6 -0
- package/dist/lib/util/constants.js.map +1 -0
- package/dist/migrations/20210428103922-patch-role-table.d.ts +2 -0
- package/dist/migrations/20210428103922-patch-role-table.js +19 -0
- package/dist/migrations/20210428103922-patch-role-table.js.map +1 -0
- package/dist/migrations/20210428103924-patch-admin-role-name.d.ts +2 -0
- package/dist/migrations/20210428103924-patch-admin-role-name.js +11 -0
- package/dist/migrations/20210428103924-patch-admin-role-name.js.map +1 -0
- package/dist/migrations/20210428103924-patch-admin_role.d.ts +2 -0
- package/dist/migrations/20210428103924-patch-admin_role.js +23 -0
- package/dist/migrations/20210428103924-patch-admin_role.js.map +1 -0
- package/dist/migrations/20210428103924-patch-role_permissions.d.ts +2 -0
- package/dist/migrations/20210428103924-patch-role_permissions.js +50 -0
- package/dist/migrations/20210428103924-patch-role_permissions.js.map +1 -0
- package/dist/test/e2e/services/user-service.e2e.test.js +12 -0
- package/dist/test/e2e/services/user-service.e2e.test.js.map +1 -1
- package/dist/test/fixtures/fake-user-store.d.ts +1 -0
- package/dist/test/fixtures/fake-user-store.js +3 -0
- package/dist/test/fixtures/fake-user-store.js.map +1 -1
- package/docs/api/oas/favicon-16x16.png +0 -0
- package/docs/api/oas/favicon-32x32.png +0 -0
- package/docs/api/oas/index.html +43 -0
- package/docs/api/oas/oauth2-redirect.html +74 -0
- package/docs/api/oas/openapi.yaml +1685 -0
- package/docs/api/oas/swagger-ui-bundle.js +3 -0
- package/docs/api/oas/swagger-ui-bundle.js.map +1 -0
- package/docs/api/oas/swagger-ui-es-bundle-core.js +3 -0
- package/docs/api/oas/swagger-ui-es-bundle-core.js.map +1 -0
- package/docs/api/oas/swagger-ui-es-bundle.js +3 -0
- package/docs/api/oas/swagger-ui-es-bundle.js.map +1 -0
- package/docs/api/oas/swagger-ui-standalone-preset.js +3 -0
- package/docs/api/oas/swagger-ui-standalone-preset.js.map +1 -0
- package/docs/api/oas/swagger-ui.css +8906 -0
- package/docs/api/oas/swagger-ui.css.map +1 -0
- package/docs/api/oas/swagger-ui.js +3 -0
- package/docs/api/oas/swagger-ui.js.map +1 -0
- package/docs/api/oas/swagger.json +1479 -0
- package/package.json +7 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project-store.js","sourceRoot":"","sources":["../../../src/lib/db/project-store.ts"],"names":[],"mappings":";;AAGA,MAAM,aAAa,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAC;AAEzD,MAAM,OAAO,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,YAAY,CAAC,CAAC;AAC5D,MAAM,KAAK,GAAG,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"project-store.js","sourceRoot":"","sources":["../../../src/lib/db/project-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,6 +25,7 @@ declare class UserStore {
|
|
|
25
25
|
private db;
|
|
26
26
|
private logger;
|
|
27
27
|
constructor(db: Knex, getLogger: LogProvider);
|
|
28
|
+
count(): Promise<number>;
|
|
28
29
|
update(id: number, fields: IUserUpdateFields): Promise<User>;
|
|
29
30
|
insert(user: ICreateUser): Promise<User>;
|
|
30
31
|
upsert(user: ICreateUser): Promise<User>;
|
|
@@ -51,6 +51,12 @@ class UserStore {
|
|
|
51
51
|
this.db = db;
|
|
52
52
|
this.logger = getLogger('user-store.js');
|
|
53
53
|
}
|
|
54
|
+
async count() {
|
|
55
|
+
return this.db
|
|
56
|
+
.count('*')
|
|
57
|
+
.from(TABLE)
|
|
58
|
+
.then((res) => Number(res[0].count));
|
|
59
|
+
}
|
|
54
60
|
async update(id, fields) {
|
|
55
61
|
await this.db(TABLE)
|
|
56
62
|
.where('id', id)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user-store.js","sourceRoot":"","sources":["../../../src/lib/db/user-store.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"user-store.js","sourceRoot":"","sources":["../../../src/lib/db/user-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,6 +23,7 @@ const api_token_controller_1 = __importDefault(require("./api-token-controller")
|
|
|
23
23
|
const user_admin_1 = __importDefault(require("./user-admin"));
|
|
24
24
|
const email_1 = __importDefault(require("./email"));
|
|
25
25
|
const user_feedback_controller_1 = __importDefault(require("./user-feedback-controller"));
|
|
26
|
+
const project_1 = __importDefault(require("./project"));
|
|
26
27
|
class AdminApi extends controller_1.default {
|
|
27
28
|
constructor(config, services) {
|
|
28
29
|
super(config);
|
|
@@ -45,6 +46,7 @@ class AdminApi extends controller_1.default {
|
|
|
45
46
|
this.app.use('/email', new email_1.default(config, services).router);
|
|
46
47
|
this.app.use('/user-admin', new user_admin_1.default(config, services).router);
|
|
47
48
|
this.app.use('/feedback', new user_feedback_controller_1.default(config, services).router);
|
|
49
|
+
this.app.use('/projects', new project_1.default(config, services).router);
|
|
48
50
|
}
|
|
49
51
|
index(req, res) {
|
|
50
52
|
res.json(api_def_json_1.default);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/routes/admin-api/index.ts"],"names":[],"mappings":";;;;;AAAA,kEAAoC;AACpC,+DAAuC;AAGvC,wDAA0C;AAC1C,kEAAmD;AACnD,wDAA0C;AAC1C,0DAA4C;AAC5C,oDAAsC;AACtC,wDAA0C;AAC1C,kDAAoC;AACpC,sDAAwC;AACxC,wDAA0C;AAC1C,kFAAyD;AACzD,oDAAsC;AACtC,gDAAkC;AAClC,0DAA2C;AAC3C,oDAAsC;AACtC,kFAAwD;AACxD,8DAA+C;AAC/C,oDAAsC;AACtC,0FAAgE;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/routes/admin-api/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Request, Response } from 'express';
|
|
2
|
+
import Controller from '../../controller';
|
|
3
|
+
import { IUnleashServices } from '../../../types/services';
|
|
4
|
+
import { IUnleashConfig } from '../../../types/option';
|
|
5
|
+
import { IProjectParam } from '../../../types/model';
|
|
6
|
+
export default class ProjectHealthReport extends Controller {
|
|
7
|
+
private projectHealthService;
|
|
8
|
+
private logger;
|
|
9
|
+
constructor(config: IUnleashConfig, { projectHealthService, }: Pick<IUnleashServices, 'projectHealthService'>);
|
|
10
|
+
getProjectHealthReport(req: Request<IProjectParam, any, any, any>, res: Response): Promise<void>;
|
|
11
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
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 util_1 = require("../util");
|
|
8
|
+
class ProjectHealthReport extends controller_1.default {
|
|
9
|
+
constructor(config, { projectHealthService, }) {
|
|
10
|
+
super(config);
|
|
11
|
+
this.logger = config.getLogger('/admin-api/project/health-report');
|
|
12
|
+
this.projectHealthService = projectHealthService;
|
|
13
|
+
this.get('/:projectId/health-report', this.getProjectHealthReport);
|
|
14
|
+
}
|
|
15
|
+
async getProjectHealthReport(req, res) {
|
|
16
|
+
const { projectId } = req.params;
|
|
17
|
+
try {
|
|
18
|
+
const overview = await this.projectHealthService.getProjectHealthReport(projectId);
|
|
19
|
+
res.json({
|
|
20
|
+
version: 2,
|
|
21
|
+
...overview,
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
catch (e) {
|
|
25
|
+
util_1.handleErrors(res, this.logger, e);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
exports.default = ProjectHealthReport;
|
|
30
|
+
//# sourceMappingURL=health-report.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"health-report.js","sourceRoot":"","sources":["../../../../../src/lib/routes/admin-api/project/health-report.ts"],"names":[],"mappings":";;;;;AACA,kEAA0C;AAM1C,kCAAuC;AAEvC,MAAqB,mBAAoB,SAAQ,oBAAU;IAKvD,YACI,MAAsB,EACtB,EACI,oBAAoB,GACyB;QAEjD,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,kCAAkC,CAAC,CAAC;QACnE,IAAI,CAAC,oBAAoB,GAAG,oBAAoB,CAAC;QACjD,IAAI,CAAC,GAAG,CAAC,2BAA2B,EAAE,IAAI,CAAC,sBAAsB,CAAC,CAAC;IACvE,CAAC;IAED,KAAK,CAAC,sBAAsB,CACxB,GAA0C,EAC1C,GAAa;QAEb,MAAM,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;QACjC,IAAI;YACA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,sBAAsB,CACnE,SAAS,CACZ,CAAC;YACF,GAAG,CAAC,IAAI,CAAC;gBACL,OAAO,EAAE,CAAC;gBACV,GAAG,QAAQ;aACd,CAAC,CAAC;SACN;QAAC,OAAO,CAAC,EAAE;YACR,mBAAY,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;SACrC;IACL,CAAC;CACJ;AAlCD,sCAkCC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import Controller from '../../controller';
|
|
2
|
+
import { IUnleashConfig } from '../../../types/option';
|
|
3
|
+
import { IUnleashServices } from '../../../types/services';
|
|
4
|
+
export default class ProjectApi extends Controller {
|
|
5
|
+
constructor(config: IUnleashConfig, services: IUnleashServices);
|
|
6
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
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 health_report_1 = __importDefault(require("./health-report"));
|
|
8
|
+
class ProjectApi extends controller_1.default {
|
|
9
|
+
constructor(config, services) {
|
|
10
|
+
super(config);
|
|
11
|
+
this.use('/', new health_report_1.default(config, services).router);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
exports.default = ProjectApi;
|
|
15
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/lib/routes/admin-api/project/index.ts"],"names":[],"mappings":";;;;;AAAA,kEAA0C;AAG1C,oEAAkD;AAElD,MAAqB,UAAW,SAAQ,oBAAU;IAC9C,YAAY,MAAsB,EAAE,QAA0B;QAC1D,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,uBAAmB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC;IACpE,CAAC;CACJ;AALD,6BAKC"}
|
|
@@ -25,6 +25,7 @@ const reset_token_service_1 = __importDefault(require("./reset-token-service"));
|
|
|
25
25
|
const setting_service_1 = __importDefault(require("./setting-service"));
|
|
26
26
|
const session_service_1 = __importDefault(require("./session-service"));
|
|
27
27
|
const user_feedback_service_1 = __importDefault(require("./user-feedback-service"));
|
|
28
|
+
const project_health_service_1 = __importDefault(require("./project-health-service"));
|
|
28
29
|
const createServices = (stores, config) => {
|
|
29
30
|
const accessService = new access_service_1.AccessService(stores, config);
|
|
30
31
|
const apiTokenService = new api_token_service_1.ApiTokenService(stores, config);
|
|
@@ -52,6 +53,7 @@ const createServices = (stores, config) => {
|
|
|
52
53
|
const healthService = new health_service_1.default(stores, config);
|
|
53
54
|
const settingService = new setting_service_1.default(stores, config);
|
|
54
55
|
const userFeedbackService = new user_feedback_service_1.default(stores, config);
|
|
56
|
+
const projectHealthService = new project_health_service_1.default(stores, config);
|
|
55
57
|
return {
|
|
56
58
|
accessService,
|
|
57
59
|
addonService,
|
|
@@ -74,6 +76,7 @@ const createServices = (stores, config) => {
|
|
|
74
76
|
settingService,
|
|
75
77
|
sessionService,
|
|
76
78
|
userFeedbackService,
|
|
79
|
+
projectHealthService,
|
|
77
80
|
};
|
|
78
81
|
};
|
|
79
82
|
exports.createServices = createServices;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/services/index.ts"],"names":[],"mappings":";;;;;;AAGA,kFAAwD;AACxD,oEAA2C;AAC3C,sEAA6C;AAE7C,sFAA4D;AAC5D,wEAA+C;AAC/C,oEAA2C;AAC3C,sEAAoD;AACpD,0EAAgD;AAChD,gEAAuC;AACvC,0EAAiD;AACjD,oEAA2C;AAC3C,wEAA+C;AAC/C,wEAA+C;AAC/C,mDAA+C;AAC/C,qDAAiD;AACjD,2DAAsD;AACtD,kEAAyC;AACzC,gFAAsD;AACtD,wEAA+C;AAC/C,wEAA+C;AAC/C,oFAA0D;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/services/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { IUnleashStores } from '../types/stores';
|
|
2
|
+
import { IUnleashConfig } from '../types/option';
|
|
3
|
+
import { IProject } from '../db/project-store';
|
|
4
|
+
import { IProjectHealthReport } from '../types/model';
|
|
5
|
+
export default class ProjectHealthService {
|
|
6
|
+
private logger;
|
|
7
|
+
private projectStore;
|
|
8
|
+
private featureTypeStore;
|
|
9
|
+
private featureToggleStore;
|
|
10
|
+
private featureTypes;
|
|
11
|
+
constructor({ projectStore, featureTypeStore, featureToggleStore, }: Pick<IUnleashStores, 'projectStore' | 'featureTypeStore' | 'featureToggleStore'>, { getLogger }: Pick<IUnleashConfig, 'getLogger'>);
|
|
12
|
+
getProjectHealthReport(projectId: string): Promise<IProjectHealthReport>;
|
|
13
|
+
private potentiallyStaleCount;
|
|
14
|
+
private activeCount;
|
|
15
|
+
private staleCount;
|
|
16
|
+
calculateHealthRating(project: IProject): Promise<number>;
|
|
17
|
+
private getHealthRating;
|
|
18
|
+
}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const constants_1 = require("../util/constants");
|
|
4
|
+
class ProjectHealthService {
|
|
5
|
+
constructor({ projectStore, featureTypeStore, featureToggleStore, }, { getLogger }) {
|
|
6
|
+
this.logger = getLogger('services/project-health-service.ts');
|
|
7
|
+
this.projectStore = projectStore;
|
|
8
|
+
this.featureTypeStore = featureTypeStore;
|
|
9
|
+
this.featureToggleStore = featureToggleStore;
|
|
10
|
+
this.featureTypes = new Map();
|
|
11
|
+
}
|
|
12
|
+
async getProjectHealthReport(projectId) {
|
|
13
|
+
//const overview = await this.getProjectOverview(projectId, false);
|
|
14
|
+
const features = await this.featureToggleStore.getFeaturesBy({
|
|
15
|
+
project: projectId,
|
|
16
|
+
});
|
|
17
|
+
const overview = {
|
|
18
|
+
name: 'test',
|
|
19
|
+
description: '',
|
|
20
|
+
features: features,
|
|
21
|
+
members: 1,
|
|
22
|
+
};
|
|
23
|
+
const staleCount = this.staleCount(overview.features);
|
|
24
|
+
const activeCount = this.activeCount(overview.features);
|
|
25
|
+
const potentiallyStaleCount = await this.potentiallyStaleCount(overview.features);
|
|
26
|
+
const health = this.getHealthRating(overview.features.length, staleCount, potentiallyStaleCount);
|
|
27
|
+
return {
|
|
28
|
+
...overview,
|
|
29
|
+
health,
|
|
30
|
+
version: 1,
|
|
31
|
+
potentiallyStaleCount,
|
|
32
|
+
activeCount,
|
|
33
|
+
staleCount,
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
async potentiallyStaleCount(features) {
|
|
37
|
+
const today = new Date().valueOf();
|
|
38
|
+
if (this.featureTypes.size === 0) {
|
|
39
|
+
const types = await this.featureTypeStore.getAll();
|
|
40
|
+
types.forEach(type => {
|
|
41
|
+
this.featureTypes.set(type.name.toLowerCase(), type.lifetimeDays);
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
return features.filter(feature => {
|
|
45
|
+
const diff = today - feature.createdAt.valueOf();
|
|
46
|
+
const featureTypeExpectedLifetime = this.featureTypes.get(feature.type);
|
|
47
|
+
return (!feature.stale &&
|
|
48
|
+
diff >= featureTypeExpectedLifetime * constants_1.MILLISECONDS_IN_DAY);
|
|
49
|
+
}).length;
|
|
50
|
+
}
|
|
51
|
+
activeCount(features) {
|
|
52
|
+
return features.filter(f => !f.stale).length;
|
|
53
|
+
}
|
|
54
|
+
staleCount(features) {
|
|
55
|
+
return features.filter(f => f.stale).length;
|
|
56
|
+
}
|
|
57
|
+
async calculateHealthRating(project) {
|
|
58
|
+
const toggles = await this.featureToggleStore.getFeaturesBy({
|
|
59
|
+
project: project.id,
|
|
60
|
+
});
|
|
61
|
+
const activeToggles = toggles.filter(feature => !feature.stale);
|
|
62
|
+
const staleToggles = toggles.length - activeToggles.length;
|
|
63
|
+
const potentiallyStaleToggles = await this.potentiallyStaleCount(activeToggles);
|
|
64
|
+
return this.getHealthRating(toggles.length, staleToggles, potentiallyStaleToggles);
|
|
65
|
+
}
|
|
66
|
+
getHealthRating(toggleCount, staleToggleCount, potentiallyStaleCount) {
|
|
67
|
+
const startPercentage = 100;
|
|
68
|
+
const stalePercentage = (staleToggleCount / toggleCount) * 100 || 0;
|
|
69
|
+
const potentiallyStalePercentage = (potentiallyStaleCount / toggleCount) * 100 || 0;
|
|
70
|
+
const rating = Math.round(startPercentage - stalePercentage - potentiallyStalePercentage);
|
|
71
|
+
return rating;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
exports.default = ProjectHealthService;
|
|
75
|
+
//# sourceMappingURL=project-health-service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project-health-service.js","sourceRoot":"","sources":["../../../src/lib/services/project-health-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -44,8 +44,8 @@ class UserService {
|
|
|
44
44
|
}
|
|
45
45
|
}
|
|
46
46
|
async initAdminUser() {
|
|
47
|
-
const
|
|
48
|
-
if (
|
|
47
|
+
const userCount = await this.store.count();
|
|
48
|
+
if (userCount === 0) {
|
|
49
49
|
// create default admin user
|
|
50
50
|
try {
|
|
51
51
|
const pwd = 'unleash4all';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user-service.js","sourceRoot":"","sources":["../../../src/lib/services/user-service.ts"],"names":[],"mappings":";;;;;AAAA,oDAA4B;AAC5B,oDAA4B;AAC5B,gGAAiD;AACjD,8CAAsB;AAKtB,yDAA4C;AAC5C,gEAAuC;AACvC,qDAA2D;AAE3D,uFAA6D;AAC7D,6EAAoD;AACpD,6FAAmE;AAMnE,qFAAiE;AAEjE,4CAA2E;AAG3E,MAAM,UAAU,GAAG,IAAI,cAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;AA+B5D,MAAM,UAAU,GAAG,EAAE,CAAC;AAEtB,MAAM,WAAW;IAeb,YACI,MAAwD,EACxD,EACI,SAAS,EACT,cAAc,GACqC,EACvD,EACI,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,cAAc,GAOjB;QAED,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,yBAAyB,CAAC,CAAC;QACnD,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC;QAC9B,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QACpC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QAC3C,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,cAAc,IAAI,cAAc,CAAC,eAAe,EAAE;YAClD,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;SAChD;IACL,CAAC;IAED,gBAAgB,CAAC,QAAgB;QAC7B,IAAI,QAAQ,EAAE;YACV,MAAM,MAAM,GAAG,sCAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACpC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;gBAChB,MAAM,IAAI,gCAAoB,CAAC,MAAM,CAAC,CAAC;aAC1C;;gBAAM,OAAO,IAAI,CAAC;SACtB;aAAM;YACH,MAAM,IAAI,4BAAsB,EAAE,CAAC;SACtC;IACL,CAAC;IAED,KAAK,CAAC,aAAa;QACf,MAAM,
|
|
1
|
+
{"version":3,"file":"user-service.js","sourceRoot":"","sources":["../../../src/lib/services/user-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
export interface IConstraint {
|
|
2
|
+
contextName: string;
|
|
3
|
+
operator: string;
|
|
4
|
+
values: string[];
|
|
5
|
+
}
|
|
6
|
+
export interface IStrategyConfig {
|
|
7
|
+
id?: string;
|
|
8
|
+
name: string;
|
|
9
|
+
constraints: IConstraint[];
|
|
10
|
+
parameters: Object;
|
|
11
|
+
}
|
|
12
|
+
export interface FeatureToggleDTO {
|
|
13
|
+
name: string;
|
|
14
|
+
description?: string;
|
|
15
|
+
type?: string;
|
|
16
|
+
stale?: boolean;
|
|
17
|
+
archived?: boolean;
|
|
18
|
+
variants?: IVariant[];
|
|
19
|
+
createdAt?: Date;
|
|
20
|
+
}
|
|
21
|
+
export interface FeatureToggle extends FeatureToggleDTO {
|
|
22
|
+
project: string;
|
|
23
|
+
lastSeenAt?: Date;
|
|
24
|
+
createdAt?: Date;
|
|
25
|
+
}
|
|
26
|
+
export interface IFeatureToggleClient {
|
|
27
|
+
name: string;
|
|
28
|
+
description: string;
|
|
29
|
+
type: string;
|
|
30
|
+
project: string;
|
|
31
|
+
stale: boolean;
|
|
32
|
+
variants: IVariant[];
|
|
33
|
+
enabled: boolean;
|
|
34
|
+
strategies: IStrategyConfig[];
|
|
35
|
+
}
|
|
36
|
+
export interface FeatureToggleWithEnvironment extends FeatureToggle {
|
|
37
|
+
environments: IEnvironmentDetail[];
|
|
38
|
+
}
|
|
39
|
+
export interface IEnvironmentDetail extends IEnvironmentOverview {
|
|
40
|
+
strategies: IStrategyConfig[];
|
|
41
|
+
}
|
|
42
|
+
export interface IFeatureEnvironment {
|
|
43
|
+
environment: string;
|
|
44
|
+
featureName: string;
|
|
45
|
+
enabled: boolean;
|
|
46
|
+
}
|
|
47
|
+
export interface IVariant {
|
|
48
|
+
name: string;
|
|
49
|
+
weight: number;
|
|
50
|
+
weightType: string;
|
|
51
|
+
payload: {
|
|
52
|
+
type: string;
|
|
53
|
+
value: string;
|
|
54
|
+
};
|
|
55
|
+
stickiness: string;
|
|
56
|
+
overrides: {
|
|
57
|
+
contextName: string;
|
|
58
|
+
values: string[];
|
|
59
|
+
}[];
|
|
60
|
+
}
|
|
61
|
+
export interface IEnvironment {
|
|
62
|
+
name: string;
|
|
63
|
+
displayName: string;
|
|
64
|
+
}
|
|
65
|
+
export interface IEnvironmentOverview {
|
|
66
|
+
name: string;
|
|
67
|
+
displayName: string;
|
|
68
|
+
enabled: boolean;
|
|
69
|
+
}
|
|
70
|
+
export interface IFeatureOverview {
|
|
71
|
+
name: string;
|
|
72
|
+
type: string;
|
|
73
|
+
stale: boolean;
|
|
74
|
+
createdAt: Date;
|
|
75
|
+
lastSeenAt: Date;
|
|
76
|
+
environments: IEnvironmentOverview[];
|
|
77
|
+
}
|
|
78
|
+
export interface IProjectOverview {
|
|
79
|
+
name: string;
|
|
80
|
+
description: string;
|
|
81
|
+
features: IFeatureOverview[];
|
|
82
|
+
members: number;
|
|
83
|
+
version: number;
|
|
84
|
+
health: number;
|
|
85
|
+
}
|
|
86
|
+
export interface IProjectHealthReport extends IProjectOverview {
|
|
87
|
+
staleCount: number;
|
|
88
|
+
potentiallyStaleCount: number;
|
|
89
|
+
activeCount: number;
|
|
90
|
+
}
|
|
91
|
+
export interface IProjectParam {
|
|
92
|
+
projectId: string;
|
|
93
|
+
}
|
|
94
|
+
export interface IArchivedQuery {
|
|
95
|
+
archived: boolean;
|
|
96
|
+
}
|
|
97
|
+
export interface ITagQuery {
|
|
98
|
+
tagType: string;
|
|
99
|
+
tagValue: string;
|
|
100
|
+
}
|
|
101
|
+
export interface IFeatureToggleQuery {
|
|
102
|
+
tag?: string[][];
|
|
103
|
+
project?: string[];
|
|
104
|
+
namePrefix?: string;
|
|
105
|
+
environment?: string;
|
|
106
|
+
}
|
|
107
|
+
export interface ITag {
|
|
108
|
+
value: string;
|
|
109
|
+
type: string;
|
|
110
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model.js","sourceRoot":"","sources":["../../../src/lib/types/model.ts"],"names":[],"mappings":""}
|
|
@@ -19,6 +19,7 @@ import HealthService from '../services/health-service';
|
|
|
19
19
|
import SettingService from '../services/setting-service';
|
|
20
20
|
import SessionService from '../services/session-service';
|
|
21
21
|
import UserFeedbackService from '../services/user-feedback-service';
|
|
22
|
+
import ProjectHealthService from '../services/project-health-service';
|
|
22
23
|
export interface IUnleashServices {
|
|
23
24
|
accessService: AccessService;
|
|
24
25
|
addonService: AddonService;
|
|
@@ -41,4 +42,5 @@ export interface IUnleashServices {
|
|
|
41
42
|
userService: UserService;
|
|
42
43
|
versionService: VersionService;
|
|
43
44
|
userFeedbackService: UserFeedbackService;
|
|
45
|
+
projectHealthService: ProjectHealthService;
|
|
44
46
|
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MILLISECONDS_IN_ONE_HOUR = exports.MILLISECONDS_IN_DAY = void 0;
|
|
4
|
+
exports.MILLISECONDS_IN_DAY = 86400000;
|
|
5
|
+
exports.MILLISECONDS_IN_ONE_HOUR = 3600000;
|
|
6
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/lib/util/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,mBAAmB,GAAG,QAAQ,CAAC;AAC/B,QAAA,wBAAwB,GAAG,OAAO,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
const async = require('async');
|
|
3
|
+
function resolveRoleName(permissions) {
|
|
4
|
+
if (!permissions || permissions.length === 0) {
|
|
5
|
+
return 'Viewer';
|
|
6
|
+
}
|
|
7
|
+
if (permissions.includes('ADMIN')) {
|
|
8
|
+
return 'Admin';
|
|
9
|
+
}
|
|
10
|
+
return 'Editor';
|
|
11
|
+
}
|
|
12
|
+
exports.up = function (db, cb) {
|
|
13
|
+
db.runSql('ALTER TABLE roles ADD COLUMN IF NOT EXISTS project text', cb);
|
|
14
|
+
};
|
|
15
|
+
exports.down = function (db, cb) {
|
|
16
|
+
// We can't just remove roles for users as we don't know if there has been any manual additions.
|
|
17
|
+
cb();
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=20210428103922-patch-role-table.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"20210428103922-patch-role-table.js","sourceRoot":"","sources":["../../src/migrations/20210428103922-patch-role-table.js"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAE/B,SAAS,eAAe,CAAC,WAAW;IAChC,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE;QAC1C,OAAO,QAAQ,CAAC;KACnB;IACD,IAAI,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;QAC/B,OAAO,OAAO,CAAC;KAClB;IACD,OAAO,QAAQ,CAAC;AACpB,CAAC;AAED,OAAO,CAAC,EAAE,GAAG,UAAU,EAAE,EAAE,EAAE;IACzB,EAAE,CAAC,MAAM,CACL,yDAAyD,EAAE,EAAE,CAChE,CAAC;AACN,CAAC,CAAC;AAEF,OAAO,CAAC,IAAI,GAAG,UAAU,EAAE,EAAE,EAAE;IAC3B,gGAAgG;IAChG,EAAE,EAAE,CAAC;AACT,CAAC,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
exports.up = function (db, cb) {
|
|
3
|
+
db.runSql(`
|
|
4
|
+
UPDATE roles set name='Admin' where name='Super User';
|
|
5
|
+
`, cb);
|
|
6
|
+
};
|
|
7
|
+
exports.down = function (db, cb) {
|
|
8
|
+
// We can't just remove roles for users as we don't know if there has been any manual additions.
|
|
9
|
+
cb();
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=20210428103924-patch-admin-role-name.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"20210428103924-patch-admin-role-name.js","sourceRoot":"","sources":["../../src/migrations/20210428103924-patch-admin-role-name.js"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,CAAC,EAAE,GAAG,UAAU,EAAE,EAAE,EAAE;IACzB,EAAE,CAAC,MAAM,CACL;;SAEC,EACD,EAAE,CACL,CAAC;AACN,CAAC,CAAC;AAEF,OAAO,CAAC,IAAI,GAAG,UAAU,EAAE,EAAE,EAAE;IAC3B,gGAAgG;IAChG,EAAE,EAAE,CAAC;AACT,CAAC,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
exports.up = function (db, cb) {
|
|
3
|
+
db.runSql(`
|
|
4
|
+
DO $$
|
|
5
|
+
declare
|
|
6
|
+
begin
|
|
7
|
+
WITH admin AS (
|
|
8
|
+
SELECT * FROM roles WHERE name in ('Admin', 'Super User') LIMIT 1
|
|
9
|
+
)
|
|
10
|
+
INSERT into role_user(role_id, user_id)
|
|
11
|
+
VALUES
|
|
12
|
+
((select id from admin), (select id FROM users where username='admin' LIMIT 1));
|
|
13
|
+
|
|
14
|
+
EXCEPTION WHEN OTHERS THEN
|
|
15
|
+
raise notice 'Ignored';
|
|
16
|
+
end;
|
|
17
|
+
$$;`, cb);
|
|
18
|
+
};
|
|
19
|
+
exports.down = function (db, cb) {
|
|
20
|
+
// We can't just remove roles for users as we don't know if there has been any manual additions.
|
|
21
|
+
cb();
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=20210428103924-patch-admin_role.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"20210428103924-patch-admin_role.js","sourceRoot":"","sources":["../../src/migrations/20210428103924-patch-admin_role.js"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,CAAC,EAAE,GAAG,UAAU,EAAE,EAAE,EAAE;IACzB,EAAE,CAAC,MAAM,CACL;;;;;;;;;;;;;;YAcI,EACJ,EAAE,CACL,CAAC;AACN,CAAC,CAAC;AAEF,OAAO,CAAC,IAAI,GAAG,UAAU,EAAE,EAAE,EAAE;IAC3B,gGAAgG;IAChG,EAAE,EAAE,CAAC;AACT,CAAC,CAAC"}
|