unleash-server 4.17.0-beta.9 → 4.17.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.
Files changed (94) hide show
  1. package/dist/lib/app.d.ts +2 -1
  2. package/dist/lib/app.js +3 -3
  3. package/dist/lib/app.js.map +1 -1
  4. package/dist/lib/db/index.js +0 -2
  5. package/dist/lib/db/index.js.map +1 -1
  6. package/dist/lib/db/pat-store.d.ts +1 -0
  7. package/dist/lib/db/pat-store.js +5 -0
  8. package/dist/lib/db/pat-store.js.map +1 -1
  9. package/dist/lib/middleware/pat-middleware.d.ts +1 -1
  10. package/dist/lib/middleware/pat-middleware.js +1 -4
  11. package/dist/lib/middleware/pat-middleware.js.map +1 -1
  12. package/dist/lib/middleware/pat-middleware.test.js +0 -27
  13. package/dist/lib/middleware/pat-middleware.test.js.map +1 -1
  14. package/dist/lib/server-impl.d.ts +2 -1
  15. package/dist/lib/server-impl.js +4 -2
  16. package/dist/lib/server-impl.js.map +1 -1
  17. package/dist/lib/services/client-metrics/metrics-service-v2.d.ts +2 -1
  18. package/dist/lib/services/client-metrics/metrics-service-v2.js +30 -2
  19. package/dist/lib/services/client-metrics/metrics-service-v2.js.map +1 -1
  20. package/dist/lib/services/email-service.d.ts +1 -0
  21. package/dist/lib/services/email-service.js +9 -1
  22. package/dist/lib/services/email-service.js.map +1 -1
  23. package/dist/lib/services/email-service.test.js +13 -0
  24. package/dist/lib/services/email-service.test.js.map +1 -1
  25. package/dist/lib/services/pat-service.js +5 -0
  26. package/dist/lib/services/pat-service.js.map +1 -1
  27. package/dist/lib/services/public-signup-token-service.d.ts +1 -0
  28. package/dist/lib/services/public-signup-token-service.js +6 -1
  29. package/dist/lib/services/public-signup-token-service.js.map +1 -1
  30. package/dist/lib/types/events.d.ts +0 -1
  31. package/dist/lib/types/events.js +1 -2
  32. package/dist/lib/types/events.js.map +1 -1
  33. package/dist/lib/types/experimental.d.ts +3 -4
  34. package/dist/lib/types/experimental.js +2 -2
  35. package/dist/lib/types/experimental.js.map +1 -1
  36. package/dist/lib/types/model.d.ts +1 -71
  37. package/dist/lib/types/model.js +1 -18
  38. package/dist/lib/types/model.js.map +1 -1
  39. package/dist/lib/types/permissions.d.ts +0 -1
  40. package/dist/lib/types/permissions.js +1 -2
  41. package/dist/lib/types/permissions.js.map +1 -1
  42. package/dist/lib/types/stores/pat-store.d.ts +1 -0
  43. package/dist/lib/types/stores.d.ts +0 -2
  44. package/dist/lib/util/constants.d.ts +1 -0
  45. package/dist/lib/util/constants.js +2 -1
  46. package/dist/lib/util/constants.js.map +1 -1
  47. package/dist/lib/util/time-utils.d.ts +4 -0
  48. package/dist/lib/util/time-utils.js +14 -0
  49. package/dist/lib/util/time-utils.js.map +1 -0
  50. package/dist/lib/util/time-utils.test.d.ts +1 -0
  51. package/dist/lib/util/time-utils.test.js +8 -0
  52. package/dist/lib/util/time-utils.test.js.map +1 -0
  53. package/dist/migrations/{20221810114644-add-suggest-changes-table.d.ts → 20221103111940-fix-migrations.d.ts} +0 -0
  54. package/dist/migrations/20221103111940-fix-migrations.js +10 -0
  55. package/dist/migrations/20221103111940-fix-migrations.js.map +1 -0
  56. package/dist/migrations/20221103112200-change-request.d.ts +2 -0
  57. package/dist/migrations/20221103112200-change-request.js +31 -0
  58. package/dist/migrations/20221103112200-change-request.js.map +1 -0
  59. package/dist/server-dev.js +2 -2
  60. package/dist/server-dev.js.map +1 -1
  61. package/dist/test/config/test-config.js +2 -2
  62. package/dist/test/config/test-config.js.map +1 -1
  63. package/dist/test/e2e/api/admin/client-metrics.e2e.test.js +15 -15
  64. package/dist/test/e2e/api/admin/client-metrics.e2e.test.js.map +1 -1
  65. package/dist/test/e2e/api/admin/conditional-middleware.e2e.test.js +8 -8
  66. package/dist/test/e2e/api/admin/conditional-middleware.e2e.test.js.map +1 -1
  67. package/dist/test/e2e/api/admin/public-signup-token.e2e.test.js +27 -0
  68. package/dist/test/e2e/api/admin/public-signup-token.e2e.test.js.map +1 -1
  69. package/dist/test/e2e/api/admin/user/pat.e2e.test.js +30 -3
  70. package/dist/test/e2e/api/admin/user/pat.e2e.test.js.map +1 -1
  71. package/dist/test/fixtures/fake-pat-store.d.ts +1 -0
  72. package/dist/test/fixtures/fake-pat-store.js +3 -0
  73. package/dist/test/fixtures/fake-pat-store.js.map +1 -1
  74. package/dist/test/fixtures/store.js +0 -2
  75. package/dist/test/fixtures/store.js.map +1 -1
  76. package/frontend/build/index.html +1 -1
  77. package/frontend/build/static/{FeatureMetricsChart.4bbe42e8.js → FeatureMetricsChart.9baa0397.js} +1 -1
  78. package/frontend/build/static/{Playground.07df2e6c.js → Playground.31fecf54.js} +10 -10
  79. package/frontend/build/static/index.f0436ea9.js +434 -0
  80. package/frontend/build/static/merge.afa8c386.svg +3 -0
  81. package/frontend/package.json +1 -1
  82. package/package.json +3 -2
  83. package/dist/lib/db/suggest-change-store.d.ts +0 -47
  84. package/dist/lib/db/suggest-change-store.js +0 -154
  85. package/dist/lib/db/suggest-change-store.js.map +0 -1
  86. package/dist/lib/types/stores/suggest-change-store.d.ts +0 -14
  87. package/dist/lib/types/stores/suggest-change-store.js +0 -3
  88. package/dist/lib/types/stores/suggest-change-store.js.map +0 -1
  89. package/dist/migrations/20221810114644-add-suggest-changes-table.js +0 -31
  90. package/dist/migrations/20221810114644-add-suggest-changes-table.js.map +0 -1
  91. package/dist/test/fixtures/fake-suggest-change-store.d.ts +0 -20
  92. package/dist/test/fixtures/fake-suggest-change-store.js +0 -70
  93. package/dist/test/fixtures/fake-suggest-change-store.js.map +0 -1
  94. package/frontend/build/static/index.b2cd4b99.js +0 -434
package/dist/lib/app.d.ts CHANGED
@@ -2,4 +2,5 @@ import { Application, RequestHandler } from 'express';
2
2
  import { IUnleashServices } from './types/services';
3
3
  import { IUnleashConfig } from './types/option';
4
4
  import { IUnleashStores } from './types/stores';
5
- export default function getApp(config: IUnleashConfig, stores: IUnleashStores, services: IUnleashServices, unleashSession?: RequestHandler): Promise<Application>;
5
+ import { Knex } from 'knex';
6
+ export default function getApp(config: IUnleashConfig, stores: IUnleashStores, services: IUnleashServices, unleashSession?: RequestHandler, db?: Knex): Promise<Application>;
package/dist/lib/app.js CHANGED
@@ -24,7 +24,7 @@ const load_index_html_1 = require("./util/load-index-html");
24
24
  const findPublicFolder_1 = require("./util/findPublicFolder");
25
25
  const conditional_middleware_1 = require("./middleware/conditional-middleware");
26
26
  const pat_middleware_1 = __importDefault(require("./middleware/pat-middleware"));
27
- async function getApp(config, stores, services, unleashSession) {
27
+ async function getApp(config, stores, services, unleashSession, db) {
28
28
  const app = (0, express_1.default)();
29
29
  const baseUriPath = config.server.baseUriPath || '';
30
30
  const publicFolder = (0, findPublicFolder_1.findPublicFolder)();
@@ -38,7 +38,7 @@ async function getApp(config, stores, services, unleashSession) {
38
38
  }
39
39
  app.use((0, request_logger_1.default)(config));
40
40
  if (typeof config.preHook === 'function') {
41
- config.preHook(app, config, services);
41
+ config.preHook(app, config, services, db);
42
42
  }
43
43
  app.use((0, compression_1.default)());
44
44
  app.use((0, cookie_parser_1.default)());
@@ -100,7 +100,7 @@ async function getApp(config, stores, services, unleashSession) {
100
100
  }
101
101
  app.use(baseUriPath, (0, rbac_middleware_1.default)(config, stores, services.accessService));
102
102
  if (typeof config.preRouterHook === 'function') {
103
- config.preRouterHook(app, config, services, stores);
103
+ config.preRouterHook(app, config, services, stores, db);
104
104
  }
105
105
  // Setup API routes
106
106
  app.use(`${baseUriPath}/`, new routes_1.default(config, services).router);
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/lib/app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/lib/app.ts"],"names":[],"mappings":"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"}
@@ -34,7 +34,6 @@ const segment_store_1 = __importDefault(require("./segment-store"));
34
34
  const group_store_1 = __importDefault(require("./group-store"));
35
35
  const pat_store_1 = __importDefault(require("./pat-store"));
36
36
  const public_signup_token_store_1 = require("./public-signup-token-store");
37
- const suggest_change_store_1 = require("./suggest-change-store");
38
37
  const createStores = (config, db) => {
39
38
  const { getLogger, eventBus } = config;
40
39
  const eventStore = new event_store_1.default(db, getLogger);
@@ -69,7 +68,6 @@ const createStores = (config, db) => {
69
68
  groupStore: new group_store_1.default(db),
70
69
  publicSignupTokenStore: new public_signup_token_store_1.PublicSignupTokenStore(db, eventBus, getLogger),
71
70
  patStore: new pat_store_1.default(db, getLogger),
72
- suggestChangeStore: new suggest_change_store_1.SuggestChangeStore(db, eventBus, getLogger),
73
71
  };
74
72
  };
75
73
  exports.createStores = createStores;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/db/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/db/index.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,7 @@ export default class PatStore implements IPatStore {
13
13
  destroy(): void;
14
14
  exists(id: number): Promise<boolean>;
15
15
  existsWithDescriptionByUser(description: string, userId: number): Promise<boolean>;
16
+ countByUser(userId: number): Promise<number>;
16
17
  get(id: number): Promise<Pat>;
17
18
  getAll(): Promise<Pat[]>;
18
19
  getAllByUser(userId: number): Promise<Pat[]>;
@@ -63,6 +63,11 @@ class PatStore {
63
63
  const { present } = result.rows[0];
64
64
  return present;
65
65
  }
66
+ async countByUser(userId) {
67
+ const result = await this.db.raw(`SELECT COUNT(*) AS count FROM ${TABLE} WHERE user_id = ?`, [userId]);
68
+ const { count } = result.rows[0];
69
+ return count;
70
+ }
66
71
  async get(id) {
67
72
  const row = await this.db(TABLE).where({ id }).first();
68
73
  return fromRow(row);
@@ -1 +1 @@
1
- {"version":3,"file":"pat-store.js","sourceRoot":"","sources":["../../../src/lib/db/pat-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pat-store.js","sourceRoot":"","sources":["../../../src/lib/db/pat-store.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  import { IUnleashConfig } from '../types';
2
- declare const patMiddleware: ({ getLogger, flagResolver, }: Pick<IUnleashConfig, 'getLogger' | 'flagResolver'>, { userService }: any) => any;
2
+ declare const patMiddleware: ({ getLogger }: Pick<IUnleashConfig, 'getLogger'>, { userService }: any) => any;
3
3
  export default patMiddleware;
@@ -1,12 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  /* eslint-disable @typescript-eslint/explicit-module-boundary-types */
4
- const patMiddleware = ({ getLogger, flagResolver, }, { userService }) => {
4
+ const patMiddleware = ({ getLogger }, { userService }) => {
5
5
  const logger = getLogger('/middleware/pat-middleware.ts');
6
6
  logger.debug('Enabling PAT middleware');
7
- if (!flagResolver.isEnabled('personalAccessTokens')) {
8
- return (req, res, next) => next();
9
- }
10
7
  return async (req, res, next) => {
11
8
  try {
12
9
  const apiToken = req.header('authorization');
@@ -1 +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"}
1
+ {"version":3,"file":"pat-middleware.js","sourceRoot":"","sources":["../../../src/lib/middleware/pat-middleware.ts"],"names":[],"mappings":";;AAGA,sEAAsE;AACtE,MAAM,aAAa,GAAG,CAClB,EAAE,SAAS,EAAqC,EAChD,EAAE,WAAW,EAAO,EACjB,EAAE;IACL,MAAM,MAAM,GAAG,SAAS,CAAC,+BAA+B,CAAC,CAAC;IAC1D,MAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAExC,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"}
@@ -4,7 +4,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const no_logger_1 = __importDefault(require("../../test/fixtures/no-logger"));
7
- const test_config_1 = require("../../test/config/test-config");
8
7
  const pat_middleware_1 = __importDefault(require("./pat-middleware"));
9
8
  const user_1 = __importDefault(require("../types/user"));
10
9
  let config;
@@ -67,32 +66,6 @@ test('should add user if known token', async () => {
67
66
  expect(req.header).toHaveBeenCalled();
68
67
  expect(req.user).toBe(apiUser);
69
68
  });
70
- test('should not add user if disabled', async () => {
71
- const apiUser = new user_1.default({
72
- id: 44,
73
- username: 'my-user',
74
- });
75
- const userService = {
76
- getUserByPersonalAccessToken: jest.fn().mockReturnValue(apiUser),
77
- };
78
- const disabledConfig = (0, test_config_1.createTestConfig)({
79
- getLogger: no_logger_1.default,
80
- experimental: {
81
- flags: {
82
- personalAccessTokens: false,
83
- },
84
- },
85
- });
86
- const func = (0, pat_middleware_1.default)(disabledConfig, { userService });
87
- const cb = jest.fn();
88
- const req = {
89
- header: jest.fn().mockReturnValue('user:some-known-token'),
90
- user: undefined,
91
- };
92
- await func(req, undefined, cb);
93
- expect(cb).toHaveBeenCalled();
94
- expect(req.user).toBeFalsy();
95
- });
96
69
  test('should call next if userService throws exception', async () => {
97
70
  no_logger_1.default.setMuteError(true);
98
71
  const userService = {
@@ -1 +1 @@
1
- {"version":3,"file":"pat-middleware.test.js","sourceRoot":"","sources":["../../../src/lib/middleware/pat-middleware.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pat-middleware.test.js","sourceRoot":"","sources":["../../../src/lib/middleware/pat-middleware.test.ts"],"names":[],"mappings":";;;;;AAAA,8EAAsD;AACtD,sEAA6C;AAC7C,yDAAiC;AAEjC,IAAI,MAAW,CAAC;AAEhB,UAAU,CAAC,GAAG,EAAE;IACZ,MAAM,GAAG;QACL,SAAS,EAAT,mBAAS;QACT,YAAY,EAAE;YACV,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC;SAC7C;KACJ,CAAC;AACN,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;IACpD,MAAM,WAAW,GAAG;QAChB,4BAA4B,EAAE,IAAI,CAAC,EAAE,EAAE;KAC1C,CAAC;IAEF,MAAM,IAAI,GAAG,IAAA,wBAAa,EAAC,MAAM,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;IAEpD,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IAErB,MAAM,GAAG,GAAG;QACR,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,iBAAiB,CAAC;QACpD,IAAI,EAAE,SAAS;KAClB,CAAC;IAEF,MAAM,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;IAE/B,MAAM,CAAC,EAAE,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAC9B,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,gBAAgB,EAAE,CAAC;IACtC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC;AACjC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;IACzD,MAAM,WAAW,GAAG;QAChB,4BAA4B,EAAE,IAAI,CAAC,EAAE,EAAE;KAC1C,CAAC;IAEF,MAAM,IAAI,GAAG,IAAA,wBAAa,EAAC,MAAM,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;IAEpD,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IAErB,MAAM,GAAG,GAAG;QACR,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,8BAA8B,CAAC;QACjE,IAAI,EAAE,SAAS;KAClB,CAAC;IAEF,MAAM,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;IAE/B,MAAM,CAAC,WAAW,CAAC,4BAA4B,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IACxE,MAAM,CAAC,EAAE,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAC9B,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,gBAAgB,EAAE,CAAC;IACtC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC;AACjC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,gCAAgC,EAAE,KAAK,IAAI,EAAE;IAC9C,MAAM,OAAO,GAAG,IAAI,cAAI,CAAC;QACrB,EAAE,EAAE,EAAE;QACN,QAAQ,EAAE,SAAS;KACtB,CAAC,CAAC;IACH,MAAM,WAAW,GAAG;QAChB,4BAA4B,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,OAAO,CAAC;KACnE,CAAC;IAEF,MAAM,IAAI,GAAG,IAAA,wBAAa,EAAC,MAAM,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;IAEpD,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IAErB,MAAM,GAAG,GAAG;QACR,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,uBAAuB,CAAC;QAC1D,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,aAAa;KACtB,CAAC;IAEF,MAAM,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;IAE/B,MAAM,CAAC,EAAE,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAC9B,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,gBAAgB,EAAE,CAAC;IACtC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACnC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;IAChE,mBAAS,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAC7B,MAAM,WAAW,GAAG;QAChB,4BAA4B,EAAE,GAAG,EAAE;YAC/B,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;QACtC,CAAC;KACJ,CAAC;IAEF,MAAM,IAAI,GAAG,IAAA,wBAAa,EAAC,MAAM,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;IAEpD,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IAErB,MAAM,GAAG,GAAG;QACR,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,iBAAiB,CAAC;QACpD,IAAI,EAAE,SAAS;KAClB,CAAC;IAEF,MAAM,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;IAE/B,MAAM,CAAC,EAAE,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAC9B,mBAAS,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC"}
@@ -11,9 +11,10 @@ import * as permissions from './types/permissions';
11
11
  import * as eventType from './types/events';
12
12
  import { RoleName } from './types/model';
13
13
  import { SimpleAuthSettings } from './types/settings/simple-auth-settings';
14
+ import { Knex } from 'knex';
14
15
  declare function start(opts?: IUnleashOptions): Promise<IUnleash>;
15
16
  declare function create(opts: IUnleashOptions): Promise<IUnleash>;
16
- export { start, create, permissions, eventType, Controller, AuthenticationRequired, User, ApiUser, LogLevel, RoleName, IAuthType, };
17
+ export { start, create, permissions, eventType, Controller, AuthenticationRequired, User, ApiUser, LogLevel, RoleName, IAuthType, Knex, };
17
18
  declare const _default: {
18
19
  start: typeof start;
19
20
  create: typeof create;
@@ -26,7 +26,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
26
26
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.IAuthType = exports.RoleName = exports.LogLevel = exports.ApiUser = exports.User = exports.AuthenticationRequired = exports.Controller = exports.eventType = exports.permissions = exports.create = exports.start = void 0;
29
+ exports.Knex = exports.IAuthType = exports.RoleName = exports.LogLevel = exports.ApiUser = exports.User = exports.AuthenticationRequired = exports.Controller = exports.eventType = exports.permissions = exports.create = exports.start = void 0;
30
30
  const stoppable_1 = __importDefault(require("stoppable"));
31
31
  const util_1 = require("util");
32
32
  const version_1 = __importDefault(require("./util/version"));
@@ -58,6 +58,8 @@ const eventType = __importStar(require("./types/events"));
58
58
  exports.eventType = eventType;
59
59
  const model_1 = require("./types/model");
60
60
  Object.defineProperty(exports, "RoleName", { enumerable: true, get: function () { return model_1.RoleName; } });
61
+ const knex_1 = require("knex");
62
+ Object.defineProperty(exports, "Knex", { enumerable: true, get: function () { return knex_1.Knex; } });
61
63
  async function createApp(config, startApp) {
62
64
  // Database dependencies (stateful)
63
65
  const logger = config.getLogger('server-impl.js');
@@ -83,7 +85,7 @@ async function createApp(config, startApp) {
83
85
  // eslint-disable-next-line no-param-reassign
84
86
  config.server.secret = secret;
85
87
  }
86
- const app = await (0, app_1.default)(config, stores, services, unleashSession);
88
+ const app = await (0, app_1.default)(config, stores, services, unleashSession, db);
87
89
  if (typeof config.eventHook === 'function') {
88
90
  (0, event_hook_1.addEventHook)(config.eventHook, stores.eventStore);
89
91
  }
@@ -1 +1 @@
1
- {"version":3,"file":"server-impl.js","sourceRoot":"","sources":["../../src/lib/server-impl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server-impl.js","sourceRoot":"","sources":["../../src/lib/server-impl.ts"],"names":[],"mappings":"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"}
@@ -13,12 +13,13 @@ export default class ClientMetricsServiceV2 {
13
13
  private clientMetricsStoreV2;
14
14
  private featureToggleStore;
15
15
  private lastSeenService;
16
+ private flagResolver;
16
17
  private logger;
17
18
  constructor({ featureToggleStore, clientMetricsStoreV2, }: Pick<IUnleashStores, 'featureToggleStore' | 'clientMetricsStoreV2'>, config: IUnleashConfig, lastSeenService: LastSeenService, bulkInterval?: number);
18
19
  registerClientMetrics(data: IClientApp, clientIp: string): Promise<void>;
19
20
  bulkAdd(): Promise<void>;
20
21
  getFeatureToggleMetricsSummary(featureName: string): Promise<ToggleMetricsSummary>;
21
- getClientMetricsForToggle(toggleName: string, hoursBack?: number): Promise<IClientMetricsEnv[]>;
22
+ getClientMetricsForToggle(featureName: string, hoursBack?: number): Promise<IClientMetricsEnv[]>;
22
23
  resolveMetricsEnvironment(user: User | ApiUser, data: IClientApp): string;
23
24
  destroy(): void;
24
25
  }
@@ -9,6 +9,7 @@ const events_1 = require("../../types/events");
9
9
  const api_user_1 = __importDefault(require("../../types/api-user"));
10
10
  const api_token_1 = require("../../types/models/api-token");
11
11
  const collapseHourlyMetrics_1 = require("../../util/collapseHourlyMetrics");
12
+ const time_utils_1 = require("../../util/time-utils");
12
13
  class ClientMetricsServiceV2 {
13
14
  constructor({ featureToggleStore, clientMetricsStoreV2, }, config, lastSeenService, bulkInterval = (0, date_fns_1.secondsToMilliseconds)(5)) {
14
15
  this.timers = [];
@@ -17,6 +18,7 @@ class ClientMetricsServiceV2 {
17
18
  this.clientMetricsStoreV2 = clientMetricsStoreV2;
18
19
  this.lastSeenService = lastSeenService;
19
20
  this.config = config;
21
+ this.flagResolver = config.flagResolver;
20
22
  this.logger = config.getLogger('/services/client-metrics/client-metrics-service-v2.ts');
21
23
  this.timers.push(setInterval(() => {
22
24
  this.bulkAdd().catch(console.error);
@@ -87,8 +89,34 @@ class ClientMetricsServiceV2 {
87
89
  seenApplications,
88
90
  };
89
91
  }
90
- async getClientMetricsForToggle(toggleName, hoursBack) {
91
- return this.clientMetricsStoreV2.getMetricsForFeatureToggle(toggleName, hoursBack);
92
+ async getClientMetricsForToggle(featureName, hoursBack = 24) {
93
+ const metrics = await this.clientMetricsStoreV2.getMetricsForFeatureToggle(featureName, hoursBack);
94
+ if (this.flagResolver.isEnabled('fixHourMetrics')) {
95
+ const hours = (0, time_utils_1.generateHourBuckets)(hoursBack);
96
+ const environments = [
97
+ ...new Set(metrics.map((x) => x.environment)),
98
+ ];
99
+ const applications = [
100
+ ...new Set(metrics.map((x) => x.appName)),
101
+ ].slice(0, 100);
102
+ const result = environments.flatMap((environment) => applications.flatMap((appName) => hours.flatMap((hourBucket) => {
103
+ const metric = metrics.find((item) => (0, date_fns_1.compareAsc)(hourBucket.timestamp, item.timestamp) === 0 &&
104
+ item.appName === appName &&
105
+ item.environment === environment);
106
+ return (metric || {
107
+ timestamp: hourBucket.timestamp,
108
+ no: 0,
109
+ yes: 0,
110
+ appName,
111
+ environment,
112
+ featureName,
113
+ });
114
+ })));
115
+ return result.sort((a, b) => (0, date_fns_1.compareAsc)(a.timestamp, b.timestamp));
116
+ }
117
+ else {
118
+ return metrics;
119
+ }
92
120
  }
93
121
  resolveMetricsEnvironment(user, data) {
94
122
  if (user instanceof api_user_1.default) {
@@ -1 +1 @@
1
- {"version":3,"file":"metrics-service-v2.js","sourceRoot":"","sources":["../../../../src/lib/services/client-metrics/metrics-service-v2.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"metrics-service-v2.js","sourceRoot":"","sources":["../../../../src/lib/services/client-metrics/metrics-service-v2.ts"],"names":[],"mappings":"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"}
@@ -31,4 +31,5 @@ export declare class EmailService {
31
31
  compileTemplate(templateName: string, format: TemplateFormat, context: unknown): Promise<string>;
32
32
  private resolveTemplate;
33
33
  configured(): boolean;
34
+ stripSpecialCharacters(str: string): string;
34
35
  }
@@ -89,7 +89,12 @@ class EmailService {
89
89
  async sendGettingStartedMail(name, recipient, unleashUrl, passwordLink) {
90
90
  if (this.configured()) {
91
91
  const year = new Date().getFullYear();
92
- const context = { passwordLink, name, year, unleashUrl };
92
+ const context = {
93
+ passwordLink,
94
+ name: this.stripSpecialCharacters(name),
95
+ year,
96
+ unleashUrl,
97
+ };
93
98
  const bodyHtml = await this.compileTemplate('getting-started', TemplateFormat.HTML, context);
94
99
  const bodyText = await this.compileTemplate('getting-started', TemplateFormat.PLAIN, context);
95
100
  const email = {
@@ -139,6 +144,9 @@ class EmailService {
139
144
  configured() {
140
145
  return this.sender !== 'not-configured' && this.mailer !== undefined;
141
146
  }
147
+ stripSpecialCharacters(str) {
148
+ return str?.replace(/[`~!@#$%^&*()_|+=?;:'",.<>\{\}\[\]\\\/]/gi, '');
149
+ }
142
150
  }
143
151
  exports.EmailService = EmailService;
144
152
  //# sourceMappingURL=email-service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"email-service.js","sourceRoot":"","sources":["../../../src/lib/services/email-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"email-service.js","sourceRoot":"","sources":["../../../src/lib/services/email-service.ts"],"names":[],"mappings":"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"}
@@ -61,4 +61,17 @@ test('Can supply additional SMTP transport options', async () => {
61
61
  },
62
62
  });
63
63
  });
64
+ test('should strip special characters from email subject', async () => {
65
+ const emailService = new email_service_1.EmailService({
66
+ host: 'test',
67
+ port: 9999,
68
+ secure: false,
69
+ sender: 'noreply@getunleash.ai',
70
+ smtpuser: '',
71
+ smtppass: '',
72
+ }, no_logger_1.default);
73
+ expect(emailService.stripSpecialCharacters('http://evil.com')).toBe('httpevilcom');
74
+ expect(emailService.stripSpecialCharacters('http://ööbik.com')).toBe('httpööbikcom');
75
+ expect(emailService.stripSpecialCharacters('tom-jones')).toBe('tom-jones');
76
+ });
64
77
  //# sourceMappingURL=email-service.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"email-service.test.js","sourceRoot":"","sources":["../../../src/lib/services/email-service.test.ts"],"names":[],"mappings":";;;;;AAAA,4DAAoC;AACpC,mDAA+C;AAC/C,8EAA6D;AAE7D,IAAI,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;IACpC,MAAM,YAAY,GAAG,IAAI,4BAAY,CACjC;QACI,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,GAAG;QACT,MAAM,EAAE,KAAK;QACb,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,uBAAuB;KAClC,EACD,mBAAgB,CACnB,CAAC;IACF,MAAM,YAAY,GACd,8GAA8G,CAAC;IAEnH,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,aAAa,CAC5C,eAAe,EACf,uBAAuB,EACvB,YAAY,CACf,CAAC;IACF,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IACnD,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;IAC9D,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvD,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC3D,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE;IACrC,MAAM,YAAY,GAAG,IAAI,4BAAY,CACjC;QACI,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,IAAI;QACV,MAAM,EAAE,KAAK;QACb,MAAM,EAAE,uBAAuB;QAC/B,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,EAAE;KACf,EACD,mBAAgB,CACnB,CAAC;IACF,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,sBAAsB,CACrD,eAAe,EACf,eAAe,EACf,WAAW,CACd,CAAC;IACF,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IACnD,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;AACvD,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;IAC5D,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,oBAAU,EAAE,iBAAiB,CAAC,CAAC;IAEtD,IAAI,4BAAY,CACZ;QACI,IAAI,EAAE,mBAAmB;QACzB,IAAI,EAAE,IAAI;QACV,MAAM,EAAE,KAAK;QACb,MAAM,EAAE,uBAAuB;QAC/B,gBAAgB,EAAE;YACd,GAAG,EAAE;gBACD,kBAAkB,EAAE,IAAI;aAC3B;SACJ;KACJ,EACD,mBAAgB,CACnB,CAAC;IAEF,MAAM,CAAC,GAAG,CAAC,CAAC,oBAAoB,CAAC;QAC7B,IAAI,EAAE;YACF,IAAI,EAAE,EAAE;YACR,IAAI,EAAE,EAAE;SACX;QACD,IAAI,EAAE,mBAAmB;QACzB,IAAI,EAAE,IAAI;QACV,MAAM,EAAE,KAAK;QACb,GAAG,EAAE;YACD,kBAAkB,EAAE,IAAI;SAC3B;KACJ,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"email-service.test.js","sourceRoot":"","sources":["../../../src/lib/services/email-service.test.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,8 @@ const events_1 = require("../types/events");
7
7
  const crypto_1 = __importDefault(require("crypto"));
8
8
  const bad_data_error_1 = __importDefault(require("../error/bad-data-error"));
9
9
  const name_exists_error_1 = __importDefault(require("../error/name-exists-error"));
10
+ const operation_denied_error_1 = require("../error/operation-denied-error");
11
+ const constants_1 = require("../util/constants");
10
12
  class PatService {
11
13
  constructor({ patStore, eventStore, }, config) {
12
14
  this.config = config;
@@ -40,6 +42,9 @@ class PatService {
40
42
  if (new Date(expiresAt) < new Date()) {
41
43
  throw new bad_data_error_1.default('The expiry date should be in future.');
42
44
  }
45
+ if ((await this.patStore.countByUser(userId)) >= constants_1.PAT_LIMIT) {
46
+ throw new operation_denied_error_1.OperationDeniedError(`Too many PATs (${constants_1.PAT_LIMIT}) already exist for this user.`);
47
+ }
43
48
  if (await this.patStore.existsWithDescriptionByUser(description, userId)) {
44
49
  throw new name_exists_error_1.default('PAT description already exists');
45
50
  }
@@ -1 +1 @@
1
- {"version":3,"file":"pat-service.js","sourceRoot":"","sources":["../../../src/lib/services/pat-service.ts"],"names":[],"mappings":";;;;;AAIA,4CAA8C;AAE9C,oDAA4B;AAE5B,6EAAmD;AACnD,mFAAyD;AAEzD,MAAqB,UAAU;IAS3B,YACI,EACI,QAAQ,EACR,UAAU,GACoC,EAClD,MAAsB;QAEtB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC;QAC1D,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,GAAS,EAAE,IAAU;QACjC,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;QACrC,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACtC,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;QACrB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAE/C,GAAG,CAAC,MAAM,GAAG,KAAK,CAAC;QACnB,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;YACxB,IAAI,EAAE,oBAAW;YACjB,SAAS,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,QAAQ;YACtC,IAAI,EAAE,GAAG;SACZ,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAU;QACnB,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,EAAU,EAAE,MAAc;QACtC,OAAO,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,WAAW,CACb,EAAE,WAAW,EAAE,SAAS,EAAQ,EAChC,MAAc;QAEd,IAAI,CAAC,WAAW,EAAE;YACd,MAAM,IAAI,wBAAY,CAAC,iCAAiC,CAAC,CAAC;SAC7D;QAED,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,IAAI,EAAE,EAAE;YAClC,MAAM,IAAI,wBAAY,CAAC,sCAAsC,CAAC,CAAC;SAClE;QAED,IACI,MAAM,IAAI,CAAC,QAAQ,CAAC,2BAA2B,CAAC,WAAW,EAAE,MAAM,CAAC,EACtE;YACE,MAAM,IAAI,2BAAe,CAAC,gCAAgC,CAAC,CAAC;SAC/D;IACL,CAAC;IAEO,iBAAiB;QACrB,MAAM,SAAS,GAAG,gBAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACzD,OAAO,QAAQ,SAAS,EAAE,CAAC;IAC/B,CAAC;CACJ;AArED,6BAqEC;AAED,MAAM,CAAC,OAAO,GAAG,UAAU,CAAC"}
1
+ {"version":3,"file":"pat-service.js","sourceRoot":"","sources":["../../../src/lib/services/pat-service.ts"],"names":[],"mappings":";;;;;AAIA,4CAA8C;AAE9C,oDAA4B;AAE5B,6EAAmD;AACnD,mFAAyD;AACzD,4EAAuE;AACvE,iDAA8C;AAE9C,MAAqB,UAAU;IAS3B,YACI,EACI,QAAQ,EACR,UAAU,GACoC,EAClD,MAAsB;QAEtB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC;QAC1D,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,GAAS,EAAE,IAAU;QACjC,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;QACrC,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACtC,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;QACrB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAE/C,GAAG,CAAC,MAAM,GAAG,KAAK,CAAC;QACnB,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;YACxB,IAAI,EAAE,oBAAW;YACjB,SAAS,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,QAAQ;YACtC,IAAI,EAAE,GAAG;SACZ,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAU;QACnB,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,EAAU,EAAE,MAAc;QACtC,OAAO,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,WAAW,CACb,EAAE,WAAW,EAAE,SAAS,EAAQ,EAChC,MAAc;QAEd,IAAI,CAAC,WAAW,EAAE;YACd,MAAM,IAAI,wBAAY,CAAC,iCAAiC,CAAC,CAAC;SAC7D;QAED,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,IAAI,EAAE,EAAE;YAClC,MAAM,IAAI,wBAAY,CAAC,sCAAsC,CAAC,CAAC;SAClE;QAED,IAAI,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,IAAI,qBAAS,EAAE;YACxD,MAAM,IAAI,6CAAoB,CAC1B,kBAAkB,qBAAS,gCAAgC,CAC9D,CAAC;SACL;QAED,IACI,MAAM,IAAI,CAAC,QAAQ,CAAC,2BAA2B,CAAC,WAAW,EAAE,MAAM,CAAC,EACtE;YACE,MAAM,IAAI,2BAAe,CAAC,gCAAgC,CAAC,CAAC;SAC/D;IACL,CAAC;IAEO,iBAAiB;QACrB,MAAM,SAAS,GAAG,gBAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACzD,OAAO,QAAQ,SAAS,EAAE,CAAC;IAC/B,CAAC;CACJ;AA3ED,6BA2EC;AAED,MAAM,CAAC,OAAO,GAAG,UAAU,CAAC"}
@@ -25,5 +25,6 @@ export declare class PublicSignupTokenService {
25
25
  addTokenUser(secret: string, createUser: CreateInvitedUserSchema): Promise<IUser>;
26
26
  createNewPublicSignupToken(tokenCreate: PublicSignupTokenCreateSchema, createdBy: string): Promise<PublicSignupTokenSchema>;
27
27
  private generateSecretKey;
28
+ private getMinimumDate;
28
29
  destroy(): void;
29
30
  }
@@ -8,6 +8,7 @@ const crypto_1 = __importDefault(require("crypto"));
8
8
  const model_1 = require("../types/model");
9
9
  const events_1 = require("../types/events");
10
10
  const url_1 = require("url");
11
+ const date_fns_1 = require("date-fns");
11
12
  class PublicSignupTokenService {
12
13
  constructor({ publicSignupTokenStore, roleStore, eventStore, }, config, userService) {
13
14
  this.store = publicSignupTokenStore;
@@ -57,9 +58,10 @@ class PublicSignupTokenService {
57
58
  const viewerRole = await this.roleStore.getRoleByName(model_1.RoleName.VIEWER);
58
59
  const secret = this.generateSecretKey();
59
60
  const url = this.getUrl(secret);
61
+ const cappedDate = this.getMinimumDate(new Date(tokenCreate.expiresAt), (0, date_fns_1.add)(new Date(), { months: 1 }));
60
62
  const newToken = {
61
63
  name: tokenCreate.name,
62
- expiresAt: new Date(tokenCreate.expiresAt),
64
+ expiresAt: cappedDate,
63
65
  secret: secret,
64
66
  roleId: viewerRole ? viewerRole.id : -1,
65
67
  createdBy: createdBy,
@@ -75,6 +77,9 @@ class PublicSignupTokenService {
75
77
  generateSecretKey() {
76
78
  return crypto_1.default.randomBytes(16).toString('hex');
77
79
  }
80
+ getMinimumDate(date1, date2) {
81
+ return date1 < date2 ? date1 : date2;
82
+ }
78
83
  destroy() {
79
84
  clearInterval(this.timer);
80
85
  this.timer = null;
@@ -1 +1 @@
1
- {"version":3,"file":"public-signup-token-service.js","sourceRoot":"","sources":["../../../src/lib/services/public-signup-token-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"public-signup-token-service.js","sourceRoot":"","sources":["../../../src/lib/services/public-signup-token-service.ts"],"names":[],"mappings":"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"}
@@ -74,7 +74,6 @@ export declare const PAT_CREATED = "pat-created";
74
74
  export declare const PUBLIC_SIGNUP_TOKEN_CREATED = "public-signup-token-created";
75
75
  export declare const PUBLIC_SIGNUP_TOKEN_USER_ADDED = "public-signup-token-user-added";
76
76
  export declare const PUBLIC_SIGNUP_TOKEN_TOKEN_UPDATED = "public-signup-token-updated";
77
- export declare const SUGGEST_CHANGE_CREATED = "suggest-change-created";
78
77
  export interface IBaseEvent {
79
78
  type: string;
80
79
  createdBy: string;
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TAG_TYPE_UPDATED = exports.TAG_TYPE_DELETED = exports.TAG_TYPE_CREATED = exports.DROP_TAGS = exports.TAG_IMPORT = exports.TAG_DELETED = exports.TAG_CREATED = exports.DROP_PROJECTS = exports.PROJECT_GROUP_ROLE_CHANGED = exports.PROJECT_GROUP_REMOVED = exports.PROJECT_GROUP_ADDED = exports.PROJECT_USER_ROLE_CHANGED = exports.PROJECT_USER_REMOVED = exports.PROJECT_USER_ADDED = exports.PROJECT_IMPORT = exports.PROJECT_DELETED = exports.PROJECT_UPDATED = exports.PROJECT_CREATED = exports.CONTEXT_FIELD_DELETED = exports.CONTEXT_FIELD_UPDATED = exports.CONTEXT_FIELD_CREATED = exports.DROP_STRATEGIES = exports.STRATEGY_IMPORT = exports.STRATEGY_UPDATED = exports.STRATEGY_REACTIVATED = exports.STRATEGY_DEPRECATED = exports.STRATEGY_DELETED = exports.STRATEGY_CREATED = exports.FEATURE_ENVIRONMENT_DISABLED = exports.FEATURE_ENVIRONMENT_ENABLED = exports.DROP_FEATURES = exports.FEATURE_STALE_OFF = exports.FEATURE_STALE_ON = exports.FEATURE_UNTAGGED = exports.DROP_FEATURE_TAGS = exports.FEATURE_STRATEGY_REMOVE = exports.FEATURE_STRATEGY_ADD = exports.FEATURE_STRATEGY_UPDATE = exports.FEATURE_TAG_IMPORT = exports.FEATURE_TAGGED = exports.FEATURE_IMPORT = exports.FEATURE_REVIVED = exports.FEATURE_ARCHIVED = exports.FEATURE_PROJECT_CHANGE = exports.FEATURE_VARIANTS_UPDATED = exports.FEATURE_METADATA_UPDATED = exports.FEATURE_UPDATED = exports.FEATURE_DELETED = exports.FEATURE_CREATED = exports.APPLICATION_CREATED = void 0;
4
- exports.PublicSignupTokenUserAddedEvent = exports.PublicSignupTokenUpdatedEvent = exports.PublicSignupTokenCreatedEvent = exports.SettingUpdatedEvent = exports.SettingDeletedEvent = exports.SettingCreatedEvent = exports.ProjectGroupUpdateRoleEvent = exports.ProjectGroupRemovedEvent = exports.ProjectGroupAddedEvent = exports.ProjectUserUpdateRoleEvent = exports.ProjectUserRemovedEvent = exports.ProjectUserAddedEvent = exports.FeatureStrategyRemoveEvent = exports.FeatureStrategyUpdateEvent = exports.FeatureStrategyAddEvent = exports.FeatureMetadataUpdateEvent = exports.FeatureDeletedEvent = exports.FeatureRevivedEvent = exports.FeatureArchivedEvent = exports.FeatureCreatedEvent = exports.FeatureChangeProjectEvent = exports.FeatureVariantEvent = exports.FeatureEnvironmentEvent = exports.FeatureStaleEvent = exports.SUGGEST_CHANGE_CREATED = exports.PUBLIC_SIGNUP_TOKEN_TOKEN_UPDATED = exports.PUBLIC_SIGNUP_TOKEN_USER_ADDED = exports.PUBLIC_SIGNUP_TOKEN_CREATED = exports.PAT_CREATED = exports.CLIENT_REGISTER = exports.CLIENT_METRICS = exports.SETTING_DELETED = exports.SETTING_UPDATED = exports.SETTING_CREATED = exports.GROUP_UPDATED = exports.GROUP_CREATED = exports.SEGMENT_DELETED = exports.SEGMENT_UPDATED = exports.SEGMENT_CREATED = exports.ENVIRONMENT_IMPORT = exports.DROP_ENVIRONMENTS = exports.USER_DELETED = exports.USER_UPDATED = exports.USER_CREATED = exports.DB_POOL_UPDATE = exports.ADDON_CONFIG_DELETED = exports.ADDON_CONFIG_UPDATED = exports.ADDON_CONFIG_CREATED = exports.DROP_TAG_TYPES = exports.TAG_TYPE_IMPORT = void 0;
4
+ exports.PublicSignupTokenUserAddedEvent = exports.PublicSignupTokenUpdatedEvent = exports.PublicSignupTokenCreatedEvent = exports.SettingUpdatedEvent = exports.SettingDeletedEvent = exports.SettingCreatedEvent = exports.ProjectGroupUpdateRoleEvent = exports.ProjectGroupRemovedEvent = exports.ProjectGroupAddedEvent = exports.ProjectUserUpdateRoleEvent = exports.ProjectUserRemovedEvent = exports.ProjectUserAddedEvent = exports.FeatureStrategyRemoveEvent = exports.FeatureStrategyUpdateEvent = exports.FeatureStrategyAddEvent = exports.FeatureMetadataUpdateEvent = exports.FeatureDeletedEvent = exports.FeatureRevivedEvent = exports.FeatureArchivedEvent = exports.FeatureCreatedEvent = exports.FeatureChangeProjectEvent = exports.FeatureVariantEvent = exports.FeatureEnvironmentEvent = exports.FeatureStaleEvent = exports.PUBLIC_SIGNUP_TOKEN_TOKEN_UPDATED = exports.PUBLIC_SIGNUP_TOKEN_USER_ADDED = exports.PUBLIC_SIGNUP_TOKEN_CREATED = exports.PAT_CREATED = exports.CLIENT_REGISTER = exports.CLIENT_METRICS = exports.SETTING_DELETED = exports.SETTING_UPDATED = exports.SETTING_CREATED = exports.GROUP_UPDATED = exports.GROUP_CREATED = exports.SEGMENT_DELETED = exports.SEGMENT_UPDATED = exports.SEGMENT_CREATED = exports.ENVIRONMENT_IMPORT = exports.DROP_ENVIRONMENTS = exports.USER_DELETED = exports.USER_UPDATED = exports.USER_CREATED = exports.DB_POOL_UPDATE = exports.ADDON_CONFIG_DELETED = exports.ADDON_CONFIG_UPDATED = exports.ADDON_CONFIG_CREATED = exports.DROP_TAG_TYPES = exports.TAG_TYPE_IMPORT = void 0;
5
5
  exports.APPLICATION_CREATED = 'application-created';
6
6
  // feature event types
7
7
  exports.FEATURE_CREATED = 'feature-created';
@@ -78,7 +78,6 @@ exports.PAT_CREATED = 'pat-created';
78
78
  exports.PUBLIC_SIGNUP_TOKEN_CREATED = 'public-signup-token-created';
79
79
  exports.PUBLIC_SIGNUP_TOKEN_USER_ADDED = 'public-signup-token-user-added';
80
80
  exports.PUBLIC_SIGNUP_TOKEN_TOKEN_UPDATED = 'public-signup-token-updated';
81
- exports.SUGGEST_CHANGE_CREATED = 'suggest-change-created';
82
81
  class BaseEvent {
83
82
  constructor(type, createdBy, tags = []) {
84
83
  this.type = type;