unleash-server 4.15.4 → 4.16.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/dist/lib/app.js +3 -1
- package/dist/lib/app.js.map +1 -1
- package/dist/lib/create-config.js +4 -0
- package/dist/lib/create-config.js.map +1 -1
- package/dist/lib/db/access-store.d.ts +2 -2
- package/dist/lib/db/access-store.js.map +1 -1
- package/dist/lib/db/context-field-store.js +3 -2
- package/dist/lib/db/context-field-store.js.map +1 -1
- package/dist/lib/db/feature-strategy-store.js +1 -1
- package/dist/lib/db/feature-strategy-store.js.map +1 -1
- package/dist/lib/db/index.js +4 -0
- package/dist/lib/db/index.js.map +1 -1
- package/dist/lib/db/pat-store.d.ts +17 -0
- package/dist/lib/db/pat-store.js +74 -0
- package/dist/lib/db/pat-store.js.map +1 -0
- package/dist/lib/db/project-store.d.ts +2 -1
- package/dist/lib/db/project-store.js +21 -0
- package/dist/lib/db/project-store.js.map +1 -1
- package/dist/lib/db/public-signup-token-store.d.ts +29 -0
- package/dist/lib/db/public-signup-token-store.js +135 -0
- package/dist/lib/db/public-signup-token-store.js.map +1 -0
- package/dist/lib/db/segment-store.d.ts +1 -1
- package/dist/lib/db/user-store.d.ts +1 -0
- package/dist/lib/db/user-store.js +9 -0
- package/dist/lib/db/user-store.js.map +1 -1
- package/dist/lib/metrics.js +46 -20
- package/dist/lib/metrics.js.map +1 -1
- package/dist/lib/metrics.test.js +28 -11
- package/dist/lib/metrics.test.js.map +1 -1
- package/dist/lib/middleware/api-token-middleware.js +14 -10
- package/dist/lib/middleware/api-token-middleware.js.map +1 -1
- package/dist/lib/middleware/api-token-middleware.test.js +26 -1
- package/dist/lib/middleware/api-token-middleware.test.js.map +1 -1
- package/dist/lib/middleware/pat-middleware.d.ts +3 -0
- package/dist/lib/middleware/pat-middleware.js +25 -0
- package/dist/lib/middleware/pat-middleware.js.map +1 -0
- package/dist/lib/{routes/admin-api/user.test.d.ts → middleware/pat-middleware.test.d.ts} +0 -0
- package/dist/lib/middleware/pat-middleware.test.js +113 -0
- package/dist/lib/middleware/pat-middleware.test.js.map +1 -0
- package/dist/lib/middleware/response-time-metrics.d.ts +2 -1
- package/dist/lib/middleware/response-time-metrics.js +6 -1
- package/dist/lib/middleware/response-time-metrics.js.map +1 -1
- package/dist/lib/openapi/index.d.ts +2061 -1270
- package/dist/lib/openapi/index.js +43 -27
- package/dist/lib/openapi/index.js.map +1 -1
- package/dist/lib/openapi/spec/api-token-schema.d.ts +2 -1
- package/dist/lib/openapi/spec/api-token-schema.js +1 -1
- package/dist/lib/openapi/spec/api-token-schema.js.map +1 -1
- package/dist/lib/openapi/spec/api-tokens-schema.d.ts +1 -1
- package/dist/lib/openapi/spec/create-api-token-schema.d.ts +1 -1
- package/dist/lib/openapi/spec/create-api-token-schema.js +16 -1
- package/dist/lib/openapi/spec/create-api-token-schema.js.map +1 -1
- package/dist/lib/openapi/spec/create-invited-user-schema.d.ts +23 -0
- package/dist/lib/openapi/spec/create-invited-user-schema.js +25 -0
- package/dist/lib/openapi/spec/create-invited-user-schema.js.map +1 -0
- package/dist/lib/openapi/spec/pat-schema.d.ts +29 -0
- package/dist/lib/openapi/spec/pat-schema.js +31 -0
- package/dist/lib/openapi/spec/pat-schema.js.map +1 -0
- package/dist/lib/openapi/spec/pats-schema.d.ts +45 -0
- package/dist/lib/openapi/spec/pats-schema.js +22 -0
- package/dist/lib/openapi/spec/pats-schema.js.map +1 -0
- package/dist/lib/openapi/spec/profile-schema.d.ts +355 -0
- package/dist/lib/openapi/spec/profile-schema.js +35 -0
- package/dist/lib/openapi/spec/profile-schema.js.map +1 -0
- package/dist/{test/e2e/api/admin/user.test.d.ts → lib/openapi/spec/profile-schema.test.d.ts} +0 -0
- package/dist/lib/openapi/spec/profile-schema.test.js +19 -0
- package/dist/lib/openapi/spec/profile-schema.test.js.map +1 -0
- package/dist/lib/openapi/spec/public-signup-schema.test.d.ts +1 -0
- package/dist/lib/openapi/spec/public-signup-schema.test.js +19 -0
- package/dist/lib/openapi/spec/public-signup-schema.test.js.map +1 -0
- package/dist/lib/openapi/spec/public-signup-token-create-schema.d.ts +18 -0
- package/dist/lib/openapi/spec/public-signup-token-create-schema.js +20 -0
- package/dist/lib/openapi/spec/public-signup-token-create-schema.js.map +1 -0
- package/dist/lib/openapi/spec/public-signup-token-schema.d.ts +117 -0
- package/dist/lib/openapi/spec/public-signup-token-schema.js +63 -0
- package/dist/lib/openapi/spec/public-signup-token-schema.js.map +1 -0
- package/dist/lib/openapi/spec/public-signup-token-update-schema.d.ts +17 -0
- package/dist/lib/openapi/spec/public-signup-token-update-schema.js +19 -0
- package/dist/lib/openapi/spec/public-signup-token-update-schema.js.map +1 -0
- package/dist/lib/openapi/spec/public-signup-tokens-schema.d.ts +204 -0
- package/dist/lib/openapi/spec/public-signup-tokens-schema.js +28 -0
- package/dist/lib/openapi/spec/public-signup-tokens-schema.js.map +1 -0
- package/dist/lib/openapi/spec/set-ui-config-schema.d.ts +0 -1
- package/dist/lib/openapi/spec/set-ui-config-schema.js +0 -1
- package/dist/lib/openapi/spec/set-ui-config-schema.js.map +1 -1
- package/dist/lib/openapi/util/create-response-schema.d.ts +1 -0
- package/dist/lib/openapi/util/create-response-schema.js +23 -1
- package/dist/lib/openapi/util/create-response-schema.js.map +1 -1
- package/dist/lib/openapi/util/openapi-tags.d.ts +6 -0
- package/dist/lib/openapi/util/openapi-tags.js +4 -0
- package/dist/lib/openapi/util/openapi-tags.js.map +1 -1
- package/dist/lib/openapi/validate.js +7 -5
- package/dist/lib/openapi/validate.js.map +1 -1
- package/dist/lib/proxy/proxy-repository.d.ts +4 -1
- package/dist/lib/proxy/proxy-repository.js +15 -2
- package/dist/lib/proxy/proxy-repository.js.map +1 -1
- package/dist/lib/routes/admin-api/api-token.js +2 -2
- package/dist/lib/routes/admin-api/api-token.js.map +1 -1
- package/dist/lib/routes/admin-api/context.d.ts +1 -1
- package/dist/lib/routes/admin-api/context.js +6 -3
- package/dist/lib/routes/admin-api/context.js.map +1 -1
- package/dist/lib/routes/admin-api/feature.js +4 -2
- package/dist/lib/routes/admin-api/feature.js.map +1 -1
- package/dist/lib/routes/admin-api/index.js +6 -1
- package/dist/lib/routes/admin-api/index.js.map +1 -1
- package/dist/lib/routes/admin-api/public-signup.d.ts +24 -0
- package/dist/lib/routes/admin-api/public-signup.js +115 -0
- package/dist/lib/routes/admin-api/public-signup.js.map +1 -0
- package/dist/lib/routes/admin-api/public-signup.test.d.ts +1 -0
- package/dist/lib/routes/admin-api/public-signup.test.js +175 -0
- package/dist/lib/routes/admin-api/public-signup.test.js.map +1 -0
- package/dist/lib/routes/admin-api/strategy.d.ts +1 -1
- package/dist/lib/routes/admin-api/strategy.js +8 -3
- package/dist/lib/routes/admin-api/strategy.js.map +1 -1
- package/dist/lib/routes/admin-api/tag-type.js +6 -2
- package/dist/lib/routes/admin-api/tag-type.js.map +1 -1
- package/dist/lib/routes/admin-api/tag.d.ts +1 -1
- package/dist/lib/routes/admin-api/tag.js +6 -3
- package/dist/lib/routes/admin-api/tag.js.map +1 -1
- package/dist/lib/routes/admin-api/user/pat.d.ts +16 -0
- package/dist/lib/routes/admin-api/user/pat.js +80 -0
- package/dist/lib/routes/admin-api/user/pat.js.map +1 -0
- package/dist/lib/routes/admin-api/user/user.d.ts +21 -0
- package/dist/lib/routes/admin-api/{user.js → user/user.js} +36 -9
- package/dist/lib/routes/admin-api/user/user.js.map +1 -0
- package/dist/lib/routes/admin-api/user/user.test.d.ts +1 -0
- package/dist/lib/routes/admin-api/{user.test.js → user/user.test.js} +5 -5
- package/dist/lib/routes/admin-api/user/user.test.js.map +1 -0
- package/dist/lib/routes/client-api/index.d.ts +1 -2
- package/dist/lib/routes/client-api/index.js.map +1 -1
- package/dist/lib/routes/controller.d.ts +1 -0
- package/dist/lib/routes/controller.js +4 -0
- package/dist/lib/routes/controller.js.map +1 -1
- package/dist/lib/routes/index.d.ts +1 -2
- package/dist/lib/routes/index.js +10 -2
- package/dist/lib/routes/index.js.map +1 -1
- package/dist/lib/routes/logout.d.ts +3 -1
- package/dist/lib/routes/logout.js +8 -1
- package/dist/lib/routes/logout.js.map +1 -1
- package/dist/lib/routes/logout.test.js +76 -10
- package/dist/lib/routes/logout.test.js.map +1 -1
- package/dist/lib/routes/public-invite.d.ts +19 -0
- package/dist/lib/routes/public-invite.js +75 -0
- package/dist/lib/routes/public-invite.js.map +1 -0
- package/dist/lib/routes/public-invite.test.d.ts +1 -0
- package/dist/lib/routes/public-invite.test.js +176 -0
- package/dist/lib/routes/public-invite.test.js.map +1 -0
- package/dist/lib/server-impl.js +1 -1
- package/dist/lib/server-impl.js.map +1 -1
- package/dist/lib/server-impl.test.js +1 -0
- package/dist/lib/server-impl.test.js.map +1 -1
- package/dist/lib/services/access-service.d.ts +2 -2
- package/dist/lib/services/access-service.js.map +1 -1
- package/dist/lib/services/context-service.d.ts +1 -1
- package/dist/lib/services/context-service.js +2 -1
- package/dist/lib/services/context-service.js.map +1 -1
- package/dist/lib/services/index.d.ts +1 -3
- package/dist/lib/services/index.js +6 -0
- package/dist/lib/services/index.js.map +1 -1
- package/dist/lib/services/openapi-service.d.ts +3 -1
- package/dist/lib/services/openapi-service.js +2 -1
- package/dist/lib/services/openapi-service.js.map +1 -1
- package/dist/lib/services/pat-service.d.ts +14 -0
- package/dist/lib/services/pat-service.js +42 -0
- package/dist/lib/services/pat-service.js.map +1 -0
- package/dist/lib/services/project-service.d.ts +1 -0
- package/dist/lib/services/project-service.js +3 -0
- package/dist/lib/services/project-service.js.map +1 -1
- package/dist/lib/services/proxy-service.d.ts +2 -1
- package/dist/lib/services/proxy-service.js +3 -0
- package/dist/lib/services/proxy-service.js.map +1 -1
- package/dist/lib/services/public-signup-token-service.d.ts +29 -0
- package/dist/lib/services/public-signup-token-service.js +84 -0
- package/dist/lib/services/public-signup-token-service.js.map +1 -0
- package/dist/lib/services/strategy-service.d.ts +1 -1
- package/dist/lib/services/strategy-service.js +1 -0
- package/dist/lib/services/strategy-service.js.map +1 -1
- package/dist/lib/services/tag-service.d.ts +1 -1
- package/dist/lib/services/tag-service.js +1 -0
- package/dist/lib/services/tag-service.js.map +1 -1
- package/dist/lib/services/user-service.d.ts +2 -0
- package/dist/lib/services/user-service.js +13 -2
- package/dist/lib/services/user-service.js.map +1 -1
- package/dist/lib/services/user-service.test.js +81 -0
- package/dist/lib/services/user-service.test.js.map +1 -1
- package/dist/lib/types/events.d.ts +25 -0
- package/dist/lib/types/events.js +26 -1
- package/dist/lib/types/events.js.map +1 -1
- package/dist/lib/types/experimental.d.ts +4 -0
- package/dist/lib/types/experimental.js +3 -0
- package/dist/lib/types/experimental.js.map +1 -1
- package/dist/lib/types/models/pat.d.ts +17 -0
- package/dist/lib/types/models/pat.js +14 -0
- package/dist/lib/types/models/pat.js.map +1 -0
- package/dist/lib/types/models/public-signup-token.d.ts +12 -0
- package/dist/lib/types/models/public-signup-token.js +3 -0
- package/dist/lib/types/models/public-signup-token.js.map +1 -0
- package/dist/lib/types/option.d.ts +7 -0
- package/dist/lib/types/services.d.ts +7 -3
- package/dist/lib/types/stores/access-store.d.ts +4 -1
- package/dist/lib/types/stores/pat-store.d.ts +6 -0
- package/dist/lib/types/stores/pat-store.js +3 -0
- package/dist/lib/types/stores/pat-store.js.map +1 -0
- package/dist/lib/types/stores/project-store.d.ts +1 -0
- package/dist/lib/types/stores/public-signup-token-store.d.ts +15 -0
- package/dist/lib/types/stores/public-signup-token-store.js +3 -0
- package/dist/lib/types/stores/public-signup-token-store.js.map +1 -0
- package/dist/lib/types/stores/user-store.d.ts +1 -0
- package/dist/lib/types/stores.d.ts +4 -0
- package/dist/migrations/20220908093515-add-public-signup-tokens.d.ts +2 -0
- package/dist/migrations/20220908093515-add-public-signup-tokens.js +29 -0
- package/dist/migrations/20220908093515-add-public-signup-tokens.js.map +1 -0
- package/dist/migrations/20220912165344-pat-tokens.d.ts +2 -0
- package/dist/migrations/20220912165344-pat-tokens.js +16 -0
- package/dist/migrations/20220912165344-pat-tokens.js.map +1 -0
- package/dist/migrations/20220916093515-add-url-to-public-signup-tokens.d.ts +2 -0
- package/dist/migrations/20220916093515-add-url-to-public-signup-tokens.js +14 -0
- package/dist/migrations/20220916093515-add-url-to-public-signup-tokens.js.map +1 -0
- package/dist/migrations/20220927110212-add-enabled-to-public-signup-tokens.d.ts +2 -0
- package/dist/migrations/20220927110212-add-enabled-to-public-signup-tokens.js +14 -0
- package/dist/migrations/20220927110212-add-enabled-to-public-signup-tokens.js.map +1 -0
- package/dist/server-dev.js +2 -0
- package/dist/server-dev.js.map +1 -1
- package/dist/test/config/test-config.js +1 -0
- package/dist/test/config/test-config.js.map +1 -1
- package/dist/test/e2e/api/admin/public-signup-token.e2e.test.d.ts +1 -0
- package/dist/test/e2e/api/admin/public-signup-token.e2e.test.js +186 -0
- package/dist/test/e2e/api/admin/public-signup-token.e2e.test.js.map +1 -0
- package/dist/test/e2e/api/admin/user/pat.e2e.test.d.ts +1 -0
- package/dist/test/e2e/api/admin/user/pat.e2e.test.js +135 -0
- package/dist/test/e2e/api/admin/user/pat.e2e.test.js.map +1 -0
- package/dist/test/e2e/api/admin/user/user.test.d.ts +1 -0
- package/dist/test/e2e/api/admin/{user.test.js → user/user.test.js} +3 -3
- package/dist/test/e2e/api/admin/user/user.test.js.map +1 -0
- package/dist/test/e2e/api/admin/user-admin.e2e.test.js +5 -1
- package/dist/test/e2e/api/admin/user-admin.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/auth/simple-password-provider.e2e.test.d.ts +1 -0
- package/dist/test/e2e/api/auth/simple-password-provider.e2e.test.js +83 -0
- package/dist/test/e2e/api/auth/simple-password-provider.e2e.test.js.map +1 -0
- package/dist/test/e2e/api/openapi/openapi.e2e.test.js +43 -2
- package/dist/test/e2e/api/openapi/openapi.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/proxy/proxy.e2e.test.js +34 -0
- package/dist/test/e2e/api/proxy/proxy.e2e.test.js.map +1 -1
- package/dist/test/e2e/stores/context-field-store.e2e.test.d.ts +1 -0
- package/dist/test/e2e/stores/context-field-store.e2e.test.js +66 -0
- package/dist/test/e2e/stores/context-field-store.e2e.test.js.map +1 -0
- package/dist/test/fixtures/fake-access-store.d.ts +2 -2
- package/dist/test/fixtures/fake-access-store.js.map +1 -1
- package/dist/test/fixtures/fake-pat-store.d.ts +12 -0
- package/dist/test/fixtures/fake-pat-store.js +29 -0
- package/dist/test/fixtures/fake-pat-store.js.map +1 -0
- package/dist/test/fixtures/fake-project-store.d.ts +1 -0
- package/dist/test/fixtures/fake-project-store.js +4 -0
- package/dist/test/fixtures/fake-project-store.js.map +1 -1
- package/dist/test/fixtures/fake-public-signup-store.d.ts +22 -0
- package/dist/test/fixtures/fake-public-signup-store.js +76 -0
- package/dist/test/fixtures/fake-public-signup-store.js.map +1 -0
- package/dist/test/fixtures/fake-role-store.d.ts +1 -0
- package/dist/test/fixtures/fake-role-store.js +17 -8
- package/dist/test/fixtures/fake-role-store.js.map +1 -1
- package/dist/test/fixtures/fake-user-store.d.ts +1 -0
- package/dist/test/fixtures/fake-user-store.js +4 -0
- package/dist/test/fixtures/fake-user-store.js.map +1 -1
- package/dist/test/fixtures/store.js +4 -0
- package/dist/test/fixtures/store.js.map +1 -1
- package/frontend/build/index.html +2 -2
- package/frontend/build/static/{FeatureMetricsChart.77e4959a.js → FeatureMetricsChart.1c936764.js} +6 -6
- package/frontend/build/static/{Playground.ccde2d35.js → Playground.b0fca55a.js} +1 -1
- package/frontend/build/static/index.8ff70acc.css +1 -0
- package/frontend/build/static/index.b187adcd.js +422 -0
- package/frontend/package.json +5 -1
- package/package.json +7 -4
- package/dist/lib/routes/admin-api/user.d.ts +0 -18
- package/dist/lib/routes/admin-api/user.js.map +0 -1
- package/dist/lib/routes/admin-api/user.test.js.map +0 -1
- package/dist/test/e2e/api/admin/user.test.js.map +0 -1
- package/frontend/build/static/index.7cd6eb2a.js +0 -413
- package/frontend/build/static/index.9ba43249.css +0 -1
- package/frontend/build/static/unknownUser.fc3b9184.png +0 -0
|
@@ -0,0 +1,135 @@
|
|
|
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
|
+
exports.PublicSignupTokenStore = void 0;
|
|
7
|
+
const metrics_helper_1 = __importDefault(require("../util/metrics-helper"));
|
|
8
|
+
const metric_events_1 = require("../metric-events");
|
|
9
|
+
const notfound_error_1 = __importDefault(require("../error/notfound-error"));
|
|
10
|
+
const TABLE = 'public_signup_tokens';
|
|
11
|
+
const TOKEN_USERS_TABLE = 'public_signup_tokens_user';
|
|
12
|
+
const tokenRowReducer = (acc, tokenRow) => {
|
|
13
|
+
const { userId, userName, userUsername, roleId, roleName, roleType, ...token } = tokenRow;
|
|
14
|
+
if (!acc[tokenRow.secret]) {
|
|
15
|
+
acc[tokenRow.secret] = {
|
|
16
|
+
secret: token.secret,
|
|
17
|
+
name: token.name,
|
|
18
|
+
url: token.url,
|
|
19
|
+
expiresAt: token.expires_at,
|
|
20
|
+
enabled: token.enabled,
|
|
21
|
+
createdAt: token.created_at,
|
|
22
|
+
createdBy: token.created_by,
|
|
23
|
+
role: {
|
|
24
|
+
id: roleId,
|
|
25
|
+
name: roleName,
|
|
26
|
+
type: roleType,
|
|
27
|
+
},
|
|
28
|
+
users: [],
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
const currentToken = acc[tokenRow.secret];
|
|
32
|
+
if (userId) {
|
|
33
|
+
currentToken.users.push({
|
|
34
|
+
id: userId,
|
|
35
|
+
name: userName,
|
|
36
|
+
username: userUsername,
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
return acc;
|
|
40
|
+
};
|
|
41
|
+
const toRow = (newToken) => {
|
|
42
|
+
if (!newToken)
|
|
43
|
+
return;
|
|
44
|
+
return {
|
|
45
|
+
secret: newToken.secret,
|
|
46
|
+
name: newToken.name,
|
|
47
|
+
expires_at: newToken.expiresAt,
|
|
48
|
+
created_by: newToken.createdBy || null,
|
|
49
|
+
role_id: newToken.roleId,
|
|
50
|
+
url: newToken.url,
|
|
51
|
+
};
|
|
52
|
+
};
|
|
53
|
+
const toTokens = (rows) => {
|
|
54
|
+
const tokens = rows.reduce(tokenRowReducer, {});
|
|
55
|
+
return Object.values(tokens);
|
|
56
|
+
};
|
|
57
|
+
class PublicSignupTokenStore {
|
|
58
|
+
constructor(db, eventBus, getLogger) {
|
|
59
|
+
this.db = db;
|
|
60
|
+
this.logger = getLogger('public-signup-tokens.js');
|
|
61
|
+
this.timer = (action) => metrics_helper_1.default.wrapTimer(eventBus, metric_events_1.DB_TIME, {
|
|
62
|
+
store: 'public-signup-tokens',
|
|
63
|
+
action,
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
count() {
|
|
67
|
+
return this.db(TABLE)
|
|
68
|
+
.count('*')
|
|
69
|
+
.then((res) => Number(res[0].count));
|
|
70
|
+
}
|
|
71
|
+
makeTokenUsersQuery() {
|
|
72
|
+
return this.db(`${TABLE} as tokens`)
|
|
73
|
+
.leftJoin(`${TOKEN_USERS_TABLE} as token_project_users`, 'tokens.secret', 'token_project_users.secret')
|
|
74
|
+
.leftJoin(`users`, 'token_project_users.user_id', 'users.id')
|
|
75
|
+
.leftJoin(`roles`, 'tokens.role_id', 'roles.id')
|
|
76
|
+
.select('tokens.secret', 'tokens.name', 'tokens.expires_at', 'tokens.enabled', 'tokens.created_at', 'tokens.created_by', 'tokens.url', 'token_project_users.user_id as userId', 'users.name as userName', 'users.username as userUsername', 'roles.id as roleId', 'roles.name as roleName', 'roles.type as roleType');
|
|
77
|
+
}
|
|
78
|
+
async getAll() {
|
|
79
|
+
const stopTimer = this.timer('getAll');
|
|
80
|
+
const rows = await this.makeTokenUsersQuery();
|
|
81
|
+
stopTimer();
|
|
82
|
+
return toTokens(rows);
|
|
83
|
+
}
|
|
84
|
+
async getAllActive() {
|
|
85
|
+
const stopTimer = this.timer('getAllActive');
|
|
86
|
+
const rows = await this.makeTokenUsersQuery()
|
|
87
|
+
.where('expires_at', 'IS', null)
|
|
88
|
+
.orWhere('expires_at', '>', 'now()');
|
|
89
|
+
stopTimer();
|
|
90
|
+
return toTokens(rows);
|
|
91
|
+
}
|
|
92
|
+
async addTokenUser(secret, userId) {
|
|
93
|
+
await this.db(TOKEN_USERS_TABLE).insert({ user_id: userId, secret }, ['created_at']);
|
|
94
|
+
}
|
|
95
|
+
async insert(newToken) {
|
|
96
|
+
const response = await this.db(TABLE).insert(toRow(newToken), ['secret']);
|
|
97
|
+
return this.get(response[0].secret);
|
|
98
|
+
}
|
|
99
|
+
async isValid(secret) {
|
|
100
|
+
const result = await this.db.raw(`SELECT EXISTS (SELECT 1 FROM ${TABLE} WHERE secret = ? AND expires_at::date > ? AND enabled = true) AS valid`, [secret, new Date()]);
|
|
101
|
+
const { valid } = result.rows[0];
|
|
102
|
+
return valid;
|
|
103
|
+
}
|
|
104
|
+
destroy() { }
|
|
105
|
+
async exists(secret) {
|
|
106
|
+
const result = await this.db.raw(`SELECT EXISTS (SELECT 1 FROM ${TABLE} WHERE secret = ?) AS present`, [secret]);
|
|
107
|
+
const { present } = result.rows[0];
|
|
108
|
+
return present;
|
|
109
|
+
}
|
|
110
|
+
async get(key) {
|
|
111
|
+
const rows = await this.makeTokenUsersQuery().where('tokens.secret', key);
|
|
112
|
+
if (rows.length > 0) {
|
|
113
|
+
return toTokens(rows)[0];
|
|
114
|
+
}
|
|
115
|
+
throw new notfound_error_1.default('Could not find public signup token.');
|
|
116
|
+
}
|
|
117
|
+
async delete(secret) {
|
|
118
|
+
return this.db(TABLE).where({ secret }).del();
|
|
119
|
+
}
|
|
120
|
+
async deleteAll() {
|
|
121
|
+
return this.db(TABLE).del();
|
|
122
|
+
}
|
|
123
|
+
async update(secret, { expiresAt, enabled }) {
|
|
124
|
+
const rows = await this.makeTokenUsersQuery()
|
|
125
|
+
.update({ expires_at: expiresAt, enabled })
|
|
126
|
+
.where('secret', secret)
|
|
127
|
+
.returning('*');
|
|
128
|
+
if (rows.length > 0) {
|
|
129
|
+
return toTokens(rows)[0];
|
|
130
|
+
}
|
|
131
|
+
throw new notfound_error_1.default('Could not find public signup token.');
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
exports.PublicSignupTokenStore = PublicSignupTokenStore;
|
|
135
|
+
//# sourceMappingURL=public-signup-token-store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"public-signup-token-store.js","sourceRoot":"","sources":["../../../src/lib/db/public-signup-token-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,8 +4,8 @@ import { IConstraint, IFeatureStrategySegment, ISegment } from '../types/model';
|
|
|
4
4
|
import { LogProvider } from '../logger';
|
|
5
5
|
import { Knex } from 'knex';
|
|
6
6
|
import EventEmitter from 'events';
|
|
7
|
-
import User from '../types/user';
|
|
8
7
|
import { PartialSome } from '../types/partial';
|
|
8
|
+
import User from '../types/user';
|
|
9
9
|
interface ISegmentRow {
|
|
10
10
|
id: number;
|
|
11
11
|
name: string;
|
|
@@ -162,6 +162,15 @@ class UserStore {
|
|
|
162
162
|
const row = await this.db(TABLE).where({ id }).first();
|
|
163
163
|
return rowToUser(row);
|
|
164
164
|
}
|
|
165
|
+
async getUserByPersonalAccessToken(secret) {
|
|
166
|
+
const row = await this.db
|
|
167
|
+
.select(USER_COLUMNS.map((column) => `${TABLE}.${column}`))
|
|
168
|
+
.from(TABLE)
|
|
169
|
+
.leftJoin('personal_access_tokens', 'personal_access_tokens.user_id', `${TABLE}.id`)
|
|
170
|
+
.where('secret', secret)
|
|
171
|
+
.first();
|
|
172
|
+
return rowToUser(row);
|
|
173
|
+
}
|
|
165
174
|
}
|
|
166
175
|
module.exports = UserStore;
|
|
167
176
|
exports.default = UserStore;
|
|
@@ -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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"}
|
package/dist/lib/metrics.js
CHANGED
|
@@ -45,7 +45,7 @@ class MetricsMonitor {
|
|
|
45
45
|
const requestDuration = new prom_client_1.default.Summary({
|
|
46
46
|
name: 'http_request_duration_milliseconds',
|
|
47
47
|
help: 'App response time',
|
|
48
|
-
labelNames: ['path', 'method', 'status'],
|
|
48
|
+
labelNames: ['path', 'method', 'status', 'appName'],
|
|
49
49
|
percentiles: [0.1, 0.5, 0.9, 0.95, 0.99],
|
|
50
50
|
maxAgeSeconds: 600,
|
|
51
51
|
ageBuckets: 5,
|
|
@@ -60,8 +60,8 @@ class MetricsMonitor {
|
|
|
60
60
|
});
|
|
61
61
|
const featureToggleUpdateTotal = new prom_client_1.default.Counter({
|
|
62
62
|
name: 'feature_toggle_update_total',
|
|
63
|
-
help: 'Number of times a toggle has
|
|
64
|
-
labelNames: ['toggle'],
|
|
63
|
+
help: 'Number of times a toggle has been updated. Environment label would be "n/a" when it is not available, e.g. when a feature toggle is created.',
|
|
64
|
+
labelNames: ['toggle', 'project', 'environment'],
|
|
65
65
|
});
|
|
66
66
|
const featureToggleUsageTotal = new prom_client_1.default.Counter({
|
|
67
67
|
name: 'feature_toggle_usage_total',
|
|
@@ -122,32 +122,58 @@ class MetricsMonitor {
|
|
|
122
122
|
}
|
|
123
123
|
collectStaticCounters();
|
|
124
124
|
this.timer = setInterval(() => collectStaticCounters(), (0, date_fns_1.hoursToMilliseconds)(2)).unref();
|
|
125
|
-
eventBus.on(events.REQUEST_TIME, ({ path, method, time, statusCode }) => {
|
|
126
|
-
requestDuration
|
|
125
|
+
eventBus.on(events.REQUEST_TIME, ({ path, method, time, statusCode, appName }) => {
|
|
126
|
+
requestDuration
|
|
127
|
+
.labels(path, method, statusCode, appName)
|
|
128
|
+
.observe(time);
|
|
127
129
|
});
|
|
128
130
|
eventBus.on(events.DB_TIME, ({ store, action, time }) => {
|
|
129
131
|
dbDuration.labels(store, action).observe(time);
|
|
130
132
|
});
|
|
131
|
-
eventStore.on(events_1.FEATURE_CREATED, ({ featureName }) => {
|
|
132
|
-
featureToggleUpdateTotal.labels(featureName).inc();
|
|
133
|
+
eventStore.on(events_1.FEATURE_CREATED, ({ featureName, project }) => {
|
|
134
|
+
featureToggleUpdateTotal.labels(featureName, project, 'n/a').inc();
|
|
133
135
|
});
|
|
134
|
-
eventStore.on(events_1.
|
|
135
|
-
featureToggleUpdateTotal.labels(featureName).inc();
|
|
136
|
+
eventStore.on(events_1.FEATURE_VARIANTS_UPDATED, ({ featureName, project }) => {
|
|
137
|
+
featureToggleUpdateTotal.labels(featureName, project, 'n/a').inc();
|
|
136
138
|
});
|
|
137
|
-
eventStore.on(events_1.
|
|
138
|
-
featureToggleUpdateTotal.labels(featureName).inc();
|
|
139
|
+
eventStore.on(events_1.FEATURE_METADATA_UPDATED, ({ featureName, project }) => {
|
|
140
|
+
featureToggleUpdateTotal.labels(featureName, project, 'n/a').inc();
|
|
139
141
|
});
|
|
140
|
-
eventStore.on(events_1.
|
|
141
|
-
featureToggleUpdateTotal
|
|
142
|
+
eventStore.on(events_1.FEATURE_UPDATED, ({ featureName, project }) => {
|
|
143
|
+
featureToggleUpdateTotal
|
|
144
|
+
.labels(featureName, project, 'default')
|
|
145
|
+
.inc();
|
|
142
146
|
});
|
|
143
|
-
eventStore.on(events_1.
|
|
144
|
-
featureToggleUpdateTotal
|
|
147
|
+
eventStore.on(events_1.FEATURE_STRATEGY_ADD, ({ featureName, project, environment }) => {
|
|
148
|
+
featureToggleUpdateTotal
|
|
149
|
+
.labels(featureName, project, environment)
|
|
150
|
+
.inc();
|
|
145
151
|
});
|
|
146
|
-
eventStore.on(events_1.
|
|
147
|
-
featureToggleUpdateTotal
|
|
152
|
+
eventStore.on(events_1.FEATURE_STRATEGY_REMOVE, ({ featureName, project, environment }) => {
|
|
153
|
+
featureToggleUpdateTotal
|
|
154
|
+
.labels(featureName, project, environment)
|
|
155
|
+
.inc();
|
|
148
156
|
});
|
|
149
|
-
eventStore.on(events_1.
|
|
150
|
-
featureToggleUpdateTotal
|
|
157
|
+
eventStore.on(events_1.FEATURE_STRATEGY_UPDATE, ({ featureName, project, environment }) => {
|
|
158
|
+
featureToggleUpdateTotal
|
|
159
|
+
.labels(featureName, project, environment)
|
|
160
|
+
.inc();
|
|
161
|
+
});
|
|
162
|
+
eventStore.on(events_1.FEATURE_ENVIRONMENT_DISABLED, ({ featureName, project, environment }) => {
|
|
163
|
+
featureToggleUpdateTotal
|
|
164
|
+
.labels(featureName, project, environment)
|
|
165
|
+
.inc();
|
|
166
|
+
});
|
|
167
|
+
eventStore.on(events_1.FEATURE_ENVIRONMENT_ENABLED, ({ featureName, project, environment }) => {
|
|
168
|
+
featureToggleUpdateTotal
|
|
169
|
+
.labels(featureName, project, environment)
|
|
170
|
+
.inc();
|
|
171
|
+
});
|
|
172
|
+
eventStore.on(events_1.FEATURE_ARCHIVED, ({ featureName, project }) => {
|
|
173
|
+
featureToggleUpdateTotal.labels(featureName, project, 'n/a').inc();
|
|
174
|
+
});
|
|
175
|
+
eventStore.on(events_1.FEATURE_REVIVED, ({ featureName, project }) => {
|
|
176
|
+
featureToggleUpdateTotal.labels(featureName, project, 'n/a').inc();
|
|
151
177
|
});
|
|
152
178
|
eventBus.on(events_1.CLIENT_METRICS, (m) => {
|
|
153
179
|
// eslint-disable-next-line no-restricted-syntax
|
|
@@ -162,7 +188,7 @@ class MetricsMonitor {
|
|
|
162
188
|
.inc(entry[1].no);
|
|
163
189
|
}
|
|
164
190
|
});
|
|
165
|
-
|
|
191
|
+
eventStore.on(events_1.CLIENT_REGISTER, (m) => {
|
|
166
192
|
if (m.sdkVersion && m.sdkVersion.indexOf(':') > -1) {
|
|
167
193
|
const [sdkName, sdkVersion] = m.sdkVersion.split(':');
|
|
168
194
|
clientSdkVersionUsage.labels(sdkName, sdkVersion).inc();
|
package/dist/lib/metrics.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../src/lib/metrics.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8DAAiC;AAGjC,wDAA0C;AAC1C,
|
|
1
|
+
{"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../src/lib/metrics.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/metrics.test.js
CHANGED
|
@@ -13,6 +13,7 @@ const store_1 = __importDefault(require("../test/fixtures/store"));
|
|
|
13
13
|
const monitor = (0, metrics_1.createMetricsMonitor)();
|
|
14
14
|
const eventBus = new events_1.default();
|
|
15
15
|
const prometheusRegister = prom_client_1.register;
|
|
16
|
+
let eventStore;
|
|
16
17
|
let stores;
|
|
17
18
|
beforeAll(() => {
|
|
18
19
|
const config = (0, test_config_1.createTestConfig)({
|
|
@@ -21,6 +22,7 @@ beforeAll(() => {
|
|
|
21
22
|
},
|
|
22
23
|
});
|
|
23
24
|
stores = (0, store_1.default)();
|
|
25
|
+
eventStore = stores.eventStore;
|
|
24
26
|
const db = {
|
|
25
27
|
client: {
|
|
26
28
|
pool: {
|
|
@@ -47,15 +49,16 @@ test('should collect metrics for requests', async () => {
|
|
|
47
49
|
time: 1337,
|
|
48
50
|
});
|
|
49
51
|
const metrics = await prometheusRegister.metrics();
|
|
50
|
-
expect(metrics).toMatch(/http_request_duration_milliseconds{quantile="0\.99",path="somePath",method="GET",status="200"}.*1337/);
|
|
52
|
+
expect(metrics).toMatch(/http_request_duration_milliseconds{quantile="0\.99",path="somePath",method="GET",status="200",appName="undefined"}.*1337/);
|
|
51
53
|
});
|
|
52
54
|
test('should collect metrics for updated toggles', async () => {
|
|
53
55
|
stores.eventStore.emit(events_2.FEATURE_UPDATED, {
|
|
54
56
|
featureName: 'TestToggle',
|
|
57
|
+
project: 'default',
|
|
55
58
|
data: { name: 'TestToggle' },
|
|
56
59
|
});
|
|
57
60
|
const metrics = await prometheusRegister.metrics();
|
|
58
|
-
expect(metrics).toMatch(/feature_toggle_update_total{toggle="TestToggle"} 1/);
|
|
61
|
+
expect(metrics).toMatch(/feature_toggle_update_total{toggle="TestToggle",project="default",environment="default"} 1/);
|
|
59
62
|
});
|
|
60
63
|
test('should collect metrics for client metric reports', async () => {
|
|
61
64
|
eventBus.emit(events_2.CLIENT_METRICS, {
|
|
@@ -94,22 +97,36 @@ test('Should collect metrics for database', async () => {
|
|
|
94
97
|
expect(metrics).toMatch(/db_pool_pending_acquires/);
|
|
95
98
|
});
|
|
96
99
|
test('Should collect metrics for client sdk versions', async () => {
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
100
|
+
eventStore.emit(events_2.CLIENT_REGISTER, {
|
|
101
|
+
sdkVersion: 'unleash-client-node:3.2.5',
|
|
102
|
+
});
|
|
103
|
+
eventStore.emit(events_2.CLIENT_REGISTER, {
|
|
104
|
+
sdkVersion: 'unleash-client-node:3.2.5',
|
|
105
|
+
});
|
|
106
|
+
eventStore.emit(events_2.CLIENT_REGISTER, {
|
|
107
|
+
sdkVersion: 'unleash-client-node:3.2.5',
|
|
108
|
+
});
|
|
109
|
+
eventStore.emit(events_2.CLIENT_REGISTER, {
|
|
110
|
+
sdkVersion: 'unleash-client-java:5.0.0',
|
|
111
|
+
});
|
|
112
|
+
eventStore.emit(events_2.CLIENT_REGISTER, {
|
|
113
|
+
sdkVersion: 'unleash-client-java:5.0.0',
|
|
114
|
+
});
|
|
115
|
+
eventStore.emit(events_2.CLIENT_REGISTER, {
|
|
116
|
+
sdkVersion: 'unleash-client-java:5.0.0',
|
|
117
|
+
});
|
|
103
118
|
const metrics = await prometheusRegister.getSingleMetricAsString('client_sdk_versions');
|
|
104
119
|
expect(metrics).toMatch(/client_sdk_versions\{sdk_name="unleash-client-node",sdk_version="3\.2\.5"} 3/);
|
|
105
120
|
expect(metrics).toMatch(/client_sdk_versions\{sdk_name="unleash-client-java",sdk_version="5\.0\.0"} 3/);
|
|
106
|
-
|
|
121
|
+
eventStore.emit(events_2.CLIENT_REGISTER, {
|
|
122
|
+
sdkVersion: 'unleash-client-node:3.2.5',
|
|
123
|
+
});
|
|
107
124
|
const newmetrics = await prometheusRegister.getSingleMetricAsString('client_sdk_versions');
|
|
108
125
|
expect(newmetrics).toMatch(/client_sdk_versions\{sdk_name="unleash-client-node",sdk_version="3\.2\.5"} 4/);
|
|
109
126
|
});
|
|
110
127
|
test('Should not collect client sdk version if sdkVersion is of wrong format or non-existent', async () => {
|
|
111
|
-
|
|
112
|
-
|
|
128
|
+
eventStore.emit(events_2.CLIENT_REGISTER, { sdkVersion: 'unleash-client-rust' });
|
|
129
|
+
eventStore.emit(events_2.CLIENT_REGISTER, {});
|
|
113
130
|
const metrics = await prometheusRegister.getSingleMetricAsString('client_sdk_versions');
|
|
114
131
|
expect(metrics).not.toMatch(/unleash-client-rust/);
|
|
115
132
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metrics.test.js","sourceRoot":"","sources":["../../src/lib/metrics.test.ts"],"names":[],"mappings":";;;;;AAAA,6CAAuC;AACvC,oDAAkC;
|
|
1
|
+
{"version":3,"file":"metrics.test.js","sourceRoot":"","sources":["../../src/lib/metrics.test.ts"],"names":[],"mappings":";;;;;AAAA,6CAAuC;AACvC,oDAAkC;AAElC,4DAA8D;AAC9D,mDAAwD;AACxD,2CAIwB;AACxB,uCAAiD;AACjD,mEAAkD;AAElD,MAAM,OAAO,GAAG,IAAA,8BAAoB,GAAE,CAAC;AACvC,MAAM,QAAQ,GAAG,IAAI,gBAAY,EAAE,CAAC;AACpC,MAAM,kBAAkB,GAAG,sBAAQ,CAAC;AACpC,IAAI,UAAuB,CAAC;AAC5B,IAAI,MAAM,CAAC;AACX,SAAS,CAAC,GAAG,EAAE;IACX,MAAM,MAAM,GAAG,IAAA,8BAAgB,EAAC;QAC5B,MAAM,EAAE;YACJ,aAAa,EAAE,IAAI;SACtB;KACJ,CAAC,CAAC;IACH,MAAM,GAAG,IAAA,eAAY,GAAE,CAAC;IACxB,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;IAC/B,MAAM,EAAE,GAAG;QACP,MAAM,EAAE;YACJ,IAAI,EAAE;gBACF,GAAG,EAAE,CAAC;gBACN,GAAG,EAAE,CAAC;gBACN,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;gBAChB,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;gBAChB,kBAAkB,EAAE,GAAG,EAAE,CAAC,CAAC;gBAC3B,iBAAiB,EAAE,GAAG,EAAE,CAAC,CAAC;aAC7B;SACJ;KACJ,CAAC;IACF,gIAAgI;IAChI,OAAO,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;AACnE,CAAC,CAAC,CAAC;AACH,QAAQ,CAAC,GAAG,EAAE;IACV,OAAO,CAAC,cAAc,EAAE,CAAC;AAC7B,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;IACnD,QAAQ,CAAC,IAAI,CAAC,4BAAY,EAAE;QACxB,IAAI,EAAE,UAAU;QAChB,MAAM,EAAE,KAAK;QACb,UAAU,EAAE,GAAG;QACf,IAAI,EAAE,IAAI;KACb,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,OAAO,EAAE,CAAC;IACnD,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CACnB,0HAA0H,CAC7H,CAAC;AACN,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;IAC1D,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,wBAAe,EAAE;QACpC,WAAW,EAAE,YAAY;QACzB,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE;KAC/B,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,OAAO,EAAE,CAAC;IACnD,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CACnB,4FAA4F,CAC/F,CAAC;AACN,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;IAChE,QAAQ,CAAC,IAAI,CAAC,uBAAc,EAAE;QAC1B,MAAM,EAAE;YACJ,OAAO,EAAE;gBACL,UAAU,EAAE;oBACR,GAAG,EAAE,EAAE;oBACP,EAAE,EAAE,CAAC;iBACR;aACJ;SACJ;KACJ,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,OAAO,EAAE,CAAC;IACnD,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CACnB,4KAA4K,CAC/K,CAAC;AACN,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;IAC3D,QAAQ,CAAC,IAAI,CAAC,uBAAO,EAAE;QACnB,KAAK,EAAE,KAAK;QACZ,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,MAAM;KACf,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,OAAO,EAAE,CAAC;IACnD,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CACnB,6EAA6E,CAChF,CAAC;AACN,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;IAC9D,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,OAAO,EAAE,CAAC;IACnD,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,yCAAyC,CAAC,CAAC;AACvE,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;IACnD,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,OAAO,EAAE,CAAC;IACnD,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IACvC,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IACvC,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IACxC,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IACxC,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;IACnD,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC;AACxD,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;IAC9D,UAAU,CAAC,IAAI,CAAC,wBAAe,EAAE;QAC7B,UAAU,EAAE,2BAA2B;KAC1C,CAAC,CAAC;IACH,UAAU,CAAC,IAAI,CAAC,wBAAe,EAAE;QAC7B,UAAU,EAAE,2BAA2B;KAC1C,CAAC,CAAC;IACH,UAAU,CAAC,IAAI,CAAC,wBAAe,EAAE;QAC7B,UAAU,EAAE,2BAA2B;KAC1C,CAAC,CAAC;IACH,UAAU,CAAC,IAAI,CAAC,wBAAe,EAAE;QAC7B,UAAU,EAAE,2BAA2B;KAC1C,CAAC,CAAC;IACH,UAAU,CAAC,IAAI,CAAC,wBAAe,EAAE;QAC7B,UAAU,EAAE,2BAA2B;KAC1C,CAAC,CAAC;IACH,UAAU,CAAC,IAAI,CAAC,wBAAe,EAAE;QAC7B,UAAU,EAAE,2BAA2B;KAC1C,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,uBAAuB,CAC5D,qBAAqB,CACxB,CAAC;IACF,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CACnB,8EAA8E,CACjF,CAAC;IACF,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CACnB,8EAA8E,CACjF,CAAC;IACF,UAAU,CAAC,IAAI,CAAC,wBAAe,EAAE;QAC7B,UAAU,EAAE,2BAA2B;KAC1C,CAAC,CAAC;IACH,MAAM,UAAU,GAAG,MAAM,kBAAkB,CAAC,uBAAuB,CAC/D,qBAAqB,CACxB,CAAC;IACF,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CACtB,8EAA8E,CACjF,CAAC;AACN,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,wFAAwF,EAAE,KAAK,IAAI,EAAE;IACtG,UAAU,CAAC,IAAI,CAAC,wBAAe,EAAE,EAAE,UAAU,EAAE,qBAAqB,EAAE,CAAC,CAAC;IACxE,UAAU,CAAC,IAAI,CAAC,wBAAe,EAAE,EAAE,CAAC,CAAC;IACrC,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,uBAAuB,CAC5D,qBAAqB,CACxB,CAAC;IACF,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;AACvD,CAAC,CAAC,CAAC"}
|
|
@@ -30,17 +30,21 @@ const apiAccessMiddleware = ({ getLogger, authentication, flagResolver, }, { api
|
|
|
30
30
|
}
|
|
31
31
|
try {
|
|
32
32
|
const apiToken = req.header('authorization');
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
if (
|
|
37
|
-
(apiUser.type ===
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
33
|
+
if (!apiToken?.startsWith('user:')) {
|
|
34
|
+
const apiUser = apiTokenService.getUserForToken(apiToken);
|
|
35
|
+
const { CLIENT, FRONTEND } = api_token_1.ApiTokenType;
|
|
36
|
+
if (apiUser) {
|
|
37
|
+
if ((apiUser.type === CLIENT && !isClientApi(req)) ||
|
|
38
|
+
(apiUser.type === FRONTEND && !isProxyApi(req)) ||
|
|
39
|
+
(apiUser.type === FRONTEND &&
|
|
40
|
+
!flagResolver.isEnabled('embedProxy'))) {
|
|
41
|
+
res.status(403).send({
|
|
42
|
+
message: exports.TOKEN_TYPE_ERROR_MESSAGE,
|
|
43
|
+
});
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
req.user = apiUser;
|
|
42
47
|
}
|
|
43
|
-
req.user = apiUser;
|
|
44
48
|
}
|
|
45
49
|
}
|
|
46
50
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-token-middleware.js","sourceRoot":"","sources":["../../../src/lib/middleware/api-token-middleware.ts"],"names":[],"mappings":";;;AAAA,sEAAsE;AACtE,yDAAyD;
|
|
1
|
+
{"version":3,"file":"api-token-middleware.js","sourceRoot":"","sources":["../../../src/lib/middleware/api-token-middleware.ts"],"names":[],"mappings":";;;AAAA,sEAAsE;AACtE,yDAAyD;AAIzD,MAAM,WAAW,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;IAC7B,OAAO,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AAClD,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;IAC5B,IAAI,CAAC,IAAI,EAAE;QACP,OAAO;KACV;IAED,oEAAoE;IACpE,0BAA0B;IAC1B,OAAO,CACH,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC;QACrC,IAAI,CAAC,UAAU,CAAC,wBAAwB,CAAC;QACzC,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC;QACxC,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,CACnC,CAAC;AACN,CAAC,CAAC;AAEW,QAAA,wBAAwB,GACjC,kEAAkE,CAAC;AAEvE,MAAM,mBAAmB,GAAG,CACxB,EACI,SAAS,EACT,cAAc,EACd,YAAY,GACwD,EACxE,EAAE,eAAe,EAAO,EACrB,EAAE;IACL,MAAM,MAAM,GAAG,SAAS,CAAC,0BAA0B,CAAC,CAAC;IACrD,MAAM,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;IAE9C,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE;QAChC,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;KACrC;IAED,OAAO,CAAC,GAAiB,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QACpC,IAAI,GAAG,CAAC,IAAI,EAAE;YACV,OAAO,IAAI,EAAE,CAAC;SACjB;QAED,IAAI;YACA,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;YAC7C,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,OAAO,CAAC,EAAE;gBAChC,MAAM,OAAO,GAAG,eAAe,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;gBAC1D,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,wBAAY,CAAC;gBAE1C,IAAI,OAAO,EAAE;oBACT,IACI,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;wBAC9C,CAAC,OAAO,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;wBAC/C,CAAC,OAAO,CAAC,IAAI,KAAK,QAAQ;4BACtB,CAAC,YAAY,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,EAC5C;wBACE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;4BACjB,OAAO,EAAE,gCAAwB;yBACpC,CAAC,CAAC;wBACH,OAAO;qBACV;oBACD,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC;iBACtB;aACJ;SACJ;QAAC,OAAO,KAAK,EAAE;YACZ,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;SACvB;QAED,IAAI,EAAE,CAAC;IACX,CAAC,CAAC;AACN,CAAC,CAAC;AAEF,kBAAe,mBAAmB,CAAC"}
|
|
@@ -69,6 +69,22 @@ test('should not add user if unknown token', async () => {
|
|
|
69
69
|
expect(req.header).toHaveBeenCalled();
|
|
70
70
|
expect(req.user).toBeFalsy();
|
|
71
71
|
});
|
|
72
|
+
test('should not make database query when provided PAT format', async () => {
|
|
73
|
+
const apiTokenService = {
|
|
74
|
+
getUserForToken: jest.fn(),
|
|
75
|
+
};
|
|
76
|
+
const func = (0, api_token_middleware_1.default)(config, { apiTokenService });
|
|
77
|
+
const cb = jest.fn();
|
|
78
|
+
const req = {
|
|
79
|
+
header: jest.fn().mockReturnValue('user:asdkjsdhg3'),
|
|
80
|
+
user: undefined,
|
|
81
|
+
};
|
|
82
|
+
await func(req, undefined, cb);
|
|
83
|
+
expect(apiTokenService.getUserForToken).not.toHaveBeenCalled();
|
|
84
|
+
expect(req.header).toHaveBeenCalled();
|
|
85
|
+
expect(cb).toHaveBeenCalled();
|
|
86
|
+
expect(req.user).toBeFalsy();
|
|
87
|
+
});
|
|
72
88
|
test('should add user if known token', async () => {
|
|
73
89
|
const apiUser = new api_user_1.default({
|
|
74
90
|
username: 'default',
|
|
@@ -151,7 +167,16 @@ test('should not add user if disabled', async () => {
|
|
|
151
167
|
header: jest.fn().mockReturnValue('some-known-token'),
|
|
152
168
|
user: undefined,
|
|
153
169
|
};
|
|
154
|
-
|
|
170
|
+
const send = jest.fn();
|
|
171
|
+
const res = {
|
|
172
|
+
status: () => {
|
|
173
|
+
return {
|
|
174
|
+
send: send,
|
|
175
|
+
};
|
|
176
|
+
},
|
|
177
|
+
};
|
|
178
|
+
await func(req, res, cb);
|
|
179
|
+
expect(send).not.toHaveBeenCalled();
|
|
155
180
|
expect(cb).toHaveBeenCalled();
|
|
156
181
|
expect(req.user).toBeFalsy();
|
|
157
182
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-token-middleware.test.js","sourceRoot":"","sources":["../../../src/lib/middleware/api-token-middleware.test.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"api-token-middleware.test.js","sourceRoot":"","sources":["../../../src/lib/middleware/api-token-middleware.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
/* eslint-disable @typescript-eslint/explicit-module-boundary-types */
|
|
4
|
+
const patMiddleware = ({ getLogger, flagResolver, }, { userService }) => {
|
|
5
|
+
const logger = getLogger('/middleware/pat-middleware.ts');
|
|
6
|
+
logger.debug('Enabling PAT middleware');
|
|
7
|
+
if (!flagResolver.isEnabled('personalAccessTokens')) {
|
|
8
|
+
return (req, res, next) => next();
|
|
9
|
+
}
|
|
10
|
+
return async (req, res, next) => {
|
|
11
|
+
try {
|
|
12
|
+
const apiToken = req.header('authorization');
|
|
13
|
+
if (apiToken?.startsWith('user:')) {
|
|
14
|
+
const user = await userService.getUserByPersonalAccessToken(apiToken);
|
|
15
|
+
req.user = user;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
catch (error) {
|
|
19
|
+
logger.error(error);
|
|
20
|
+
}
|
|
21
|
+
next();
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
exports.default = patMiddleware;
|
|
25
|
+
//# sourceMappingURL=pat-middleware.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pat-middleware.js","sourceRoot":"","sources":["../../../src/lib/middleware/pat-middleware.ts"],"names":[],"mappings":";;AAGA,sEAAsE;AACtE,MAAM,aAAa,GAAG,CAClB,EACI,SAAS,EACT,YAAY,GACqC,EACrD,EAAE,WAAW,EAAO,EACjB,EAAE;IACL,MAAM,MAAM,GAAG,SAAS,CAAC,+BAA+B,CAAC,CAAC;IAC1D,MAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAExC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,sBAAsB,CAAC,EAAE;QACjD,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;KACrC;IAED,OAAO,KAAK,EAAE,GAAiB,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QAC1C,IAAI;YACA,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;YAC7C,IAAI,QAAQ,EAAE,UAAU,CAAC,OAAO,CAAC,EAAE;gBAC/B,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,4BAA4B,CACvD,QAAQ,CACX,CAAC;gBACF,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;aACnB;SACJ;QAAC,OAAO,KAAK,EAAE;YACZ,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;SACvB;QACD,IAAI,EAAE,CAAC;IACX,CAAC,CAAC;AACN,CAAC,CAAC;AAEF,kBAAe,aAAa,CAAC"}
|
|
File without changes
|