unleash-server 4.2.0-beta.7 → 4.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (189) hide show
  1. package/README.md +1 -1
  2. package/dist/lib/addons/datadog.d.ts +3 -17
  3. package/dist/lib/addons/datadog.js +3 -109
  4. package/dist/lib/addons/datadog.js.map +1 -1
  5. package/dist/lib/addons/feature-event-formatter-md.d.ts +25 -0
  6. package/dist/lib/addons/feature-event-formatter-md.js +117 -0
  7. package/dist/lib/addons/feature-event-formatter-md.js.map +1 -0
  8. package/dist/lib/addons/index.d.ts +1 -0
  9. package/dist/lib/addons/index.js.map +1 -1
  10. package/dist/lib/addons/slack.d.ts +1 -11
  11. package/dist/lib/addons/slack.js +5 -110
  12. package/dist/lib/addons/slack.js.map +1 -1
  13. package/dist/lib/addons/slack.test.js +2 -0
  14. package/dist/lib/addons/slack.test.js.map +1 -1
  15. package/dist/lib/addons/teams.d.ts +3 -17
  16. package/dist/lib/addons/teams.js +7 -109
  17. package/dist/lib/addons/teams.js.map +1 -1
  18. package/dist/lib/create-config.js +6 -5
  19. package/dist/lib/create-config.js.map +1 -1
  20. package/dist/lib/db/client-instance-store.js +2 -2
  21. package/dist/lib/db/client-instance-store.js.map +1 -1
  22. package/dist/lib/db/client-metrics-db.js +2 -2
  23. package/dist/lib/db/client-metrics-db.js.map +1 -1
  24. package/dist/lib/db/client-metrics-store-v2.d.ts +0 -1
  25. package/dist/lib/db/client-metrics-store-v2.js +5 -8
  26. package/dist/lib/db/client-metrics-store-v2.js.map +1 -1
  27. package/dist/lib/db/client-metrics-store.js +2 -2
  28. package/dist/lib/db/client-metrics-store.js.map +1 -1
  29. package/dist/lib/db/session-store.js +2 -1
  30. package/dist/lib/db/session-store.js.map +1 -1
  31. package/dist/lib/error/minimum-one-environment-error.d.ts +5 -0
  32. package/dist/lib/error/minimum-one-environment-error.js +24 -0
  33. package/dist/lib/error/minimum-one-environment-error.js.map +1 -0
  34. package/dist/lib/metrics.js +3 -4
  35. package/dist/lib/metrics.js.map +1 -1
  36. package/dist/lib/middleware/demo-authentication.js +5 -11
  37. package/dist/lib/middleware/demo-authentication.js.map +1 -1
  38. package/dist/lib/middleware/rbac-middleware.js +2 -17
  39. package/dist/lib/middleware/rbac-middleware.js.map +1 -1
  40. package/dist/lib/middleware/rbac-middleware.test.js +2 -21
  41. package/dist/lib/middleware/rbac-middleware.test.js.map +1 -1
  42. package/dist/lib/middleware/secure-headers.js +2 -1
  43. package/dist/lib/middleware/secure-headers.js.map +1 -1
  44. package/dist/lib/middleware/session-db.js +2 -3
  45. package/dist/lib/middleware/session-db.js.map +1 -1
  46. package/dist/lib/routes/admin-api/config.d.ts +5 -2
  47. package/dist/lib/routes/admin-api/config.js +9 -11
  48. package/dist/lib/routes/admin-api/config.js.map +1 -1
  49. package/dist/lib/routes/admin-api/feature.d.ts +2 -3
  50. package/dist/lib/routes/admin-api/feature.js +37 -34
  51. package/dist/lib/routes/admin-api/feature.js.map +1 -1
  52. package/dist/lib/routes/admin-api/project/features.js +12 -9
  53. package/dist/lib/routes/admin-api/project/features.js.map +1 -1
  54. package/dist/lib/routes/admin-api/state.js +2 -2
  55. package/dist/lib/routes/admin-api/state.js.map +1 -1
  56. package/dist/lib/routes/admin-api/strategy.test.js +25 -38
  57. package/dist/lib/routes/admin-api/strategy.test.js.map +1 -1
  58. package/dist/lib/routes/admin-api/user-admin.d.ts +1 -0
  59. package/dist/lib/routes/admin-api/user-admin.js +6 -0
  60. package/dist/lib/routes/admin-api/user-admin.js.map +1 -1
  61. package/dist/lib/routes/client-api/feature.test.js +3 -2
  62. package/dist/lib/routes/client-api/feature.test.js.map +1 -1
  63. package/dist/lib/routes/health-check.test.js +1 -0
  64. package/dist/lib/routes/health-check.test.js.map +1 -1
  65. package/dist/lib/routes/util.js +2 -0
  66. package/dist/lib/routes/util.js.map +1 -1
  67. package/dist/lib/server-impl.d.ts +2 -1
  68. package/dist/lib/server-impl.js.map +1 -1
  69. package/dist/lib/services/addon-service.js +2 -2
  70. package/dist/lib/services/addon-service.js.map +1 -1
  71. package/dist/lib/services/api-token-service.js +2 -2
  72. package/dist/lib/services/api-token-service.js.map +1 -1
  73. package/dist/lib/services/client-metrics/client-metrics-service-v2.js +3 -5
  74. package/dist/lib/services/client-metrics/client-metrics-service-v2.js.map +1 -1
  75. package/dist/lib/services/client-metrics/client-metrics.test.js +74 -41
  76. package/dist/lib/services/client-metrics/client-metrics.test.js.map +1 -1
  77. package/dist/lib/services/client-metrics/index.js +8 -8
  78. package/dist/lib/services/client-metrics/index.js.map +1 -1
  79. package/dist/lib/services/client-metrics/ttl-list.d.ts +1 -0
  80. package/dist/lib/services/client-metrics/ttl-list.js +15 -9
  81. package/dist/lib/services/client-metrics/ttl-list.js.map +1 -1
  82. package/dist/lib/services/client-metrics/ttl-list.test.js +25 -5
  83. package/dist/lib/services/client-metrics/ttl-list.test.js.map +1 -1
  84. package/dist/lib/services/environment-service.d.ts +2 -1
  85. package/dist/lib/services/environment-service.js +10 -3
  86. package/dist/lib/services/environment-service.js.map +1 -1
  87. package/dist/lib/services/{feature-toggle-service-v2.d.ts → feature-toggle-service.d.ts} +16 -7
  88. package/dist/lib/services/{feature-toggle-service-v2.js → feature-toggle-service.js} +40 -15
  89. package/dist/lib/services/feature-toggle-service.js.map +1 -0
  90. package/dist/lib/services/index.js +5 -3
  91. package/dist/lib/services/index.js.map +1 -1
  92. package/dist/lib/services/project-health-service.d.ts +1 -1
  93. package/dist/lib/services/project-health-service.js +3 -3
  94. package/dist/lib/services/project-health-service.js.map +1 -1
  95. package/dist/lib/services/project-service.d.ts +1 -1
  96. package/dist/lib/services/reset-token-service.js +2 -2
  97. package/dist/lib/services/reset-token-service.js.map +1 -1
  98. package/dist/lib/services/setting-service.d.ts +1 -1
  99. package/dist/lib/services/setting-service.js.map +1 -1
  100. package/dist/lib/services/state-util.js +1 -1
  101. package/dist/lib/services/state-util.js.map +1 -1
  102. package/dist/lib/services/user-service.d.ts +3 -0
  103. package/dist/lib/services/user-service.js +6 -0
  104. package/dist/lib/services/user-service.js.map +1 -1
  105. package/dist/lib/services/user-service.test.js +18 -0
  106. package/dist/lib/services/user-service.test.js.map +1 -1
  107. package/dist/lib/services/version-service.js +2 -2
  108. package/dist/lib/services/version-service.js.map +1 -1
  109. package/dist/lib/types/authentication-required.d.ts +3 -1
  110. package/dist/lib/types/authentication-required.js +2 -1
  111. package/dist/lib/types/authentication-required.js.map +1 -1
  112. package/dist/lib/types/services.d.ts +3 -2
  113. package/dist/lib/types/settings/simple-auth-settings.d.ts +4 -0
  114. package/dist/lib/types/settings/simple-auth-settings.js +5 -0
  115. package/dist/lib/types/settings/simple-auth-settings.js.map +1 -0
  116. package/dist/lib/types/stores/settings-store.d.ts +1 -1
  117. package/dist/lib/util/constants.d.ts +0 -2
  118. package/dist/lib/util/constants.js +1 -3
  119. package/dist/lib/util/constants.js.map +1 -1
  120. package/dist/migrations/20210928080601-add-development-and-production-environments.js +3 -3
  121. package/dist/migrations/20211029094324-set-sort-order-env.d.ts +2 -0
  122. package/dist/migrations/20211029094324-set-sort-order-env.js +11 -0
  123. package/dist/migrations/20211029094324-set-sort-order-env.js.map +1 -0
  124. package/dist/migrator.js +9 -2
  125. package/dist/migrator.js.map +1 -1
  126. package/dist/test/e2e/api/admin/bootstrap.test.js +1 -1
  127. package/dist/test/e2e/api/admin/client-metrics.e2e.test.js +8 -8
  128. package/dist/test/e2e/api/admin/client-metrics.e2e.test.js.map +1 -1
  129. package/dist/test/e2e/api/admin/config.e2e.test.d.ts +1 -0
  130. package/dist/test/e2e/api/admin/config.e2e.test.js +36 -0
  131. package/dist/test/e2e/api/admin/config.e2e.test.js.map +1 -0
  132. package/dist/test/e2e/api/admin/feature-archive.e2e.test.js +1 -2
  133. package/dist/test/e2e/api/admin/feature-archive.e2e.test.js.map +1 -1
  134. package/dist/test/e2e/api/admin/feature.auth.e2e.test.js +1 -1
  135. package/dist/test/e2e/api/admin/feature.custom-auth.e2e.test.js +1 -1
  136. package/dist/test/e2e/api/admin/feature.e2e.test.js +19 -2
  137. package/dist/test/e2e/api/admin/feature.e2e.test.js.map +1 -1
  138. package/dist/test/e2e/api/admin/metrics.e2e.test.js +5 -3
  139. package/dist/test/e2e/api/admin/metrics.e2e.test.js.map +1 -1
  140. package/dist/test/e2e/api/admin/project/environments.e2e.test.js +10 -0
  141. package/dist/test/e2e/api/admin/project/environments.e2e.test.js.map +1 -1
  142. package/dist/test/e2e/api/admin/project/features.e2e.test.js +115 -1
  143. package/dist/test/e2e/api/admin/project/features.e2e.test.js.map +1 -1
  144. package/dist/test/e2e/api/admin/state.e2e.test.js +17 -13
  145. package/dist/test/e2e/api/admin/state.e2e.test.js.map +1 -1
  146. package/dist/test/e2e/api/admin/user-admin.e2e.test.js +16 -1
  147. package/dist/test/e2e/api/admin/user-admin.e2e.test.js.map +1 -1
  148. package/dist/test/e2e/api/admin/user.test.js +1 -1
  149. package/dist/test/e2e/api/auth/reset-password-controller.e2e.test.js +6 -2
  150. package/dist/test/e2e/api/auth/reset-password-controller.e2e.test.js.map +1 -1
  151. package/dist/test/e2e/api/client/feature.env.disabled.e2e.test.js +8 -4
  152. package/dist/test/e2e/api/client/feature.env.disabled.e2e.test.js.map +1 -1
  153. package/dist/test/e2e/api/client/feature.token.access.e2e.test.js +4 -4
  154. package/dist/test/e2e/api/client/feature.token.access.e2e.test.js.map +1 -1
  155. package/dist/test/e2e/api/client/register.e2e.test.js +1 -1
  156. package/dist/test/e2e/api/client/register.e2e.test.js.map +1 -1
  157. package/dist/test/e2e/custom-auth.test.js +1 -1
  158. package/dist/test/e2e/custom-auth.test.js.map +1 -1
  159. package/dist/test/e2e/helpers/database-init.js +1 -1
  160. package/dist/test/e2e/services/addon-service.e2e.test.js +1 -1
  161. package/dist/test/e2e/services/addon-service.e2e.test.js.map +1 -1
  162. package/dist/test/e2e/services/api-token-service.e2e.test.js +5 -3
  163. package/dist/test/e2e/services/api-token-service.e2e.test.js.map +1 -1
  164. package/dist/test/e2e/services/client-metrics-service.e2e.test.js +5 -2
  165. package/dist/test/e2e/services/client-metrics-service.e2e.test.js.map +1 -1
  166. package/dist/test/e2e/services/environment-service.test.js +1 -1
  167. package/dist/test/e2e/services/environment-service.test.js.map +1 -1
  168. package/dist/test/e2e/services/feature-toggle-service-v2.e2e.test.js +14 -11
  169. package/dist/test/e2e/services/feature-toggle-service-v2.e2e.test.js.map +1 -1
  170. package/dist/test/e2e/services/project-health-service.e2e.test.js +2 -2
  171. package/dist/test/e2e/services/project-health-service.e2e.test.js.map +1 -1
  172. package/dist/test/e2e/services/project-service.e2e.test.js +2 -2
  173. package/dist/test/e2e/services/project-service.e2e.test.js.map +1 -1
  174. package/dist/test/e2e/services/reset-token-service.e2e.test.js +4 -0
  175. package/dist/test/e2e/services/reset-token-service.e2e.test.js.map +1 -1
  176. package/dist/test/e2e/services/session-service.e2e.test.js +5 -4
  177. package/dist/test/e2e/services/session-service.e2e.test.js.map +1 -1
  178. package/dist/test/e2e/services/user-service.e2e.test.js +18 -2
  179. package/dist/test/e2e/services/user-service.e2e.test.js.map +1 -1
  180. package/dist/test/e2e/stores/client-metrics-store-v2.e2e.test.js +6 -15
  181. package/dist/test/e2e/stores/client-metrics-store-v2.e2e.test.js.map +1 -1
  182. package/dist/test/e2e/stores/event-store.e2e.test.js +1 -1
  183. package/dist/test/e2e/stores/event-store.e2e.test.js.map +1 -1
  184. package/dist/test/e2e/stores/feature-toggle-store.e2e.test.js +1 -0
  185. package/dist/test/e2e/stores/feature-toggle-store.e2e.test.js.map +1 -1
  186. package/dist/test/fixtures/fake-setting-store.js +1 -5
  187. package/dist/test/fixtures/fake-setting-store.js.map +1 -1
  188. package/package.json +13 -10
  189. package/dist/lib/services/feature-toggle-service-v2.js.map +0 -1
@@ -4,9 +4,42 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const events_1 = __importDefault(require("events"));
7
- const moment_1 = __importDefault(require("moment"));
8
7
  const index_1 = __importDefault(require("./index"));
9
8
  const no_logger_1 = __importDefault(require("../../../test/fixtures/no-logger"));
9
+ const date_fns_1 = require("date-fns");
10
+ /**
11
+ * A utility to wait for any pending promises in the test subject code.
12
+ * For instance, if the test needs to wait for a timeout/interval handler,
13
+ * and that handler does something async, advancing the timers is not enough:
14
+ * We have to explicitly wait for the second promise.
15
+ * For more info, see https://stackoverflow.com/a/51045733/2868829
16
+ *
17
+ * Usage in test code after advancing timers, but before making assertions:
18
+ *
19
+ * test('hello', async () => {
20
+ * jest.useFakeTimers('modern');
21
+ *
22
+ * // Schedule a timeout with a callback that does something async
23
+ * // before calling our spy
24
+ * const spy = jest.fn();
25
+ * setTimeout(async () => {
26
+ * await Promise.resolve();
27
+ * spy();
28
+ * }, 1000);
29
+ *
30
+ * expect(spy).not.toHaveBeenCalled();
31
+ *
32
+ * jest.advanceTimersByTime(1500);
33
+ * await flushPromises(); // this is required to make it work!
34
+ *
35
+ * expect(spy).toHaveBeenCalledTimes(1);
36
+ *
37
+ * jest.useRealTimers();
38
+ * });
39
+ */
40
+ function flushPromises() {
41
+ return Promise.resolve(setImmediate);
42
+ }
10
43
  const appName = 'appName';
11
44
  const instanceId = 'instanceId';
12
45
  const createMetricsService = (cms) => new index_1.default({
@@ -32,8 +65,8 @@ test('data should expire', () => {
32
65
  appName,
33
66
  instanceId,
34
67
  bucket: {
35
- start: Date.now() - 2000,
36
- stop: Date.now() - 1000,
68
+ start: (0, date_fns_1.subSeconds)(Date.now(), 2),
69
+ stop: (0, date_fns_1.subSeconds)(Date.now(), 1),
37
70
  toggles: {
38
71
  toggleX: {
39
72
  yes: 123,
@@ -50,10 +83,10 @@ test('data should expire', () => {
50
83
  metrics.lastMinuteList.on('expire', () => {
51
84
  lastMinExpires++;
52
85
  });
53
- jest.advanceTimersByTime(60 * 1000);
86
+ jest.advanceTimersByTime((0, date_fns_1.minutesToMilliseconds)(1));
54
87
  expect(lastMinExpires).toBe(1);
55
88
  expect(lastHourExpires).toBe(0);
56
- jest.advanceTimersByTime(60 * 60 * 1000);
89
+ jest.advanceTimersByTime((0, date_fns_1.hoursToMilliseconds)(1));
57
90
  expect(lastMinExpires).toBe(1);
58
91
  expect(lastHourExpires).toBe(1);
59
92
  jest.useRealTimers();
@@ -170,36 +203,36 @@ test('should have correct values for lastMinute', () => {
170
203
  const now = new Date();
171
204
  const input = [
172
205
  {
173
- start: (0, moment_1.default)(now).subtract(1, 'hour'),
174
- stop: (0, moment_1.default)(now).subtract(59, 'minutes'),
206
+ start: (0, date_fns_1.subHours)(now, 1),
207
+ stop: (0, date_fns_1.subMinutes)(now, 59),
175
208
  toggles: {
176
209
  toggle: { yes: 10, no: 10 },
177
210
  },
178
211
  },
179
212
  {
180
- start: (0, moment_1.default)(now).subtract(30, 'minutes'),
181
- stop: (0, moment_1.default)(now).subtract(29, 'minutes'),
213
+ start: (0, date_fns_1.subMinutes)(now, 30),
214
+ stop: (0, date_fns_1.subMinutes)(now, 29),
182
215
  toggles: {
183
216
  toggle: { yes: 10, no: 10 },
184
217
  },
185
218
  },
186
219
  {
187
- start: (0, moment_1.default)(now).subtract(2, 'minutes'),
188
- stop: (0, moment_1.default)(now).subtract(1, 'minutes'),
220
+ start: (0, date_fns_1.subMinutes)(now, 2),
221
+ stop: (0, date_fns_1.subMinutes)(now, 1),
189
222
  toggles: {
190
223
  toggle: { yes: 10, no: 10 },
191
224
  },
192
225
  },
193
226
  {
194
- start: (0, moment_1.default)(now).subtract(2, 'minutes'),
195
- stop: (0, moment_1.default)(now).subtract(59, 'seconds'),
227
+ start: (0, date_fns_1.subMinutes)(now, 2),
228
+ stop: (0, date_fns_1.subSeconds)(now, 59),
196
229
  toggles: {
197
230
  toggle: { yes: 10, no: 10 },
198
231
  },
199
232
  },
200
233
  {
201
- start: (0, moment_1.default)(now),
202
- stop: (0, moment_1.default)(now).subtract(30, 'seconds'),
234
+ start: now,
235
+ stop: (0, date_fns_1.subSeconds)(now, 30),
203
236
  toggles: {
204
237
  toggle: { yes: 10, no: 10 },
205
238
  },
@@ -217,10 +250,10 @@ test('should have correct values for lastMinute', () => {
217
250
  // metrics.se
218
251
  let c = metrics.getTogglesMetrics();
219
252
  expect(c.lastMinute.toggle).toEqual({ yes: 20, no: 20 });
220
- jest.advanceTimersByTime(10 * 1000);
253
+ jest.advanceTimersByTime(10000);
221
254
  c = metrics.getTogglesMetrics();
222
255
  expect(c.lastMinute.toggle).toEqual({ yes: 10, no: 10 });
223
- jest.advanceTimersByTime(20 * 1000);
256
+ jest.advanceTimersByTime(20000);
224
257
  c = metrics.getTogglesMetrics();
225
258
  expect(c.lastMinute.toggle).toEqual({ yes: 0, no: 0 });
226
259
  metrics.destroy();
@@ -230,32 +263,32 @@ test('should have correct values for lastHour', () => {
230
263
  jest.useFakeTimers('modern');
231
264
  const clientMetricsStore = new events_1.default();
232
265
  const metrics = createMetricsService(clientMetricsStore);
233
- const now = new Date();
266
+ const now = Date.now();
234
267
  const input = [
235
268
  {
236
- start: (0, moment_1.default)(now).subtract(1, 'hour'),
237
- stop: (0, moment_1.default)(now).subtract(59, 'minutes'),
269
+ start: (0, date_fns_1.subHours)(now, 1),
270
+ stop: (0, date_fns_1.subMinutes)(now, 59),
238
271
  toggles: {
239
272
  toggle: { yes: 10, no: 10 },
240
273
  },
241
274
  },
242
275
  {
243
- start: (0, moment_1.default)(now).subtract(30, 'minutes'),
244
- stop: (0, moment_1.default)(now).subtract(29, 'minutes'),
276
+ start: (0, date_fns_1.subMinutes)(now, 30),
277
+ stop: (0, date_fns_1.subMinutes)(now, 29),
245
278
  toggles: {
246
279
  toggle: { yes: 10, no: 10 },
247
280
  },
248
281
  },
249
282
  {
250
- start: (0, moment_1.default)(now).subtract(15, 'minutes'),
251
- stop: (0, moment_1.default)(now).subtract(14, 'minutes'),
283
+ start: (0, date_fns_1.subMinutes)(now, 15),
284
+ stop: (0, date_fns_1.subMinutes)(now, 14),
252
285
  toggles: {
253
286
  toggle: { yes: 10, no: 10 },
254
287
  },
255
288
  },
256
289
  {
257
- start: (0, moment_1.default)(now).add(59, 'minutes'),
258
- stop: (0, moment_1.default)(now).add(1, 'hour'),
290
+ start: (0, date_fns_1.addMinutes)(now, 59),
291
+ stop: (0, date_fns_1.addHours)(now, 1),
259
292
  toggles: {
260
293
  toggle: { yes: 11, no: 11 },
261
294
  },
@@ -273,23 +306,23 @@ test('should have correct values for lastHour', () => {
273
306
  // metrics.se
274
307
  let c = metrics.getTogglesMetrics();
275
308
  expect(c.lastHour.toggle).toEqual({ yes: 41, no: 41 });
276
- jest.advanceTimersByTime(10 * 1000);
309
+ jest.advanceTimersByTime(10000);
277
310
  c = metrics.getTogglesMetrics();
278
311
  expect(c.lastHour.toggle).toEqual({ yes: 41, no: 41 });
279
312
  // at 30
280
- jest.advanceTimersByTime(30 * 60 * 1000);
313
+ jest.advanceTimersByTime((0, date_fns_1.minutesToMilliseconds)(30));
281
314
  c = metrics.getTogglesMetrics();
282
315
  expect(c.lastHour.toggle).toEqual({ yes: 31, no: 31 });
283
316
  // at 45
284
- jest.advanceTimersByTime(15 * 60 * 1000);
317
+ jest.advanceTimersByTime((0, date_fns_1.minutesToMilliseconds)(15));
285
318
  c = metrics.getTogglesMetrics();
286
319
  expect(c.lastHour.toggle).toEqual({ yes: 21, no: 21 });
287
320
  // at 1:15
288
- jest.advanceTimersByTime(30 * 60 * 1000);
321
+ jest.advanceTimersByTime((0, date_fns_1.minutesToMilliseconds)(30));
289
322
  c = metrics.getTogglesMetrics();
290
323
  expect(c.lastHour.toggle).toEqual({ yes: 11, no: 11 });
291
324
  // at 2:00
292
- jest.advanceTimersByTime(45 * 60 * 1000);
325
+ jest.advanceTimersByTime((0, date_fns_1.minutesToMilliseconds)(45));
293
326
  c = metrics.getTogglesMetrics();
294
327
  expect(c.lastHour.toggle).toEqual({ yes: 0, no: 0 });
295
328
  metrics.destroy();
@@ -363,7 +396,8 @@ test('Multiple registrations of same appname and instanceid within same time per
363
396
  await clientMetrics.registerClient(client1, '127.0.0.1');
364
397
  await clientMetrics.registerClient(client1, '127.0.0.1');
365
398
  await clientMetrics.registerClient(client1, '127.0.0.1');
366
- await jest.advanceTimersByTime(7 * 1000);
399
+ jest.advanceTimersByTime(7000);
400
+ await flushPromises();
367
401
  expect(appStoreSpy).toHaveBeenCalledTimes(1);
368
402
  expect(bulkSpy).toHaveBeenCalledTimes(1);
369
403
  const registrations = appStoreSpy.mock.calls[0][0];
@@ -413,9 +447,8 @@ test('Multiple unique clients causes multiple registrations', async () => {
413
447
  await clientMetrics.registerClient(client2, '127.0.0.1');
414
448
  await clientMetrics.registerClient(client2, '127.0.0.1');
415
449
  await clientMetrics.registerClient(client2, '127.0.0.1');
416
- await jest.advanceTimersByTime(7 * 1000);
417
- expect(appStoreSpy).toHaveBeenCalledTimes(1);
418
- expect(bulkSpy).toHaveBeenCalledTimes(1);
450
+ jest.advanceTimersByTime(7000);
451
+ await flushPromises();
419
452
  const registrations = appStoreSpy.mock.calls[0][0];
420
453
  expect(registrations.length).toBe(2);
421
454
  jest.useRealTimers();
@@ -431,7 +464,7 @@ test('Same client registered outside of dedup interval will be registered twice'
431
464
  const clientInstanceStore = {
432
465
  bulkUpsert: bulkSpy,
433
466
  };
434
- const bulkInterval = 2000;
467
+ const bulkInterval = (0, date_fns_1.secondsToMilliseconds)(2);
435
468
  const clientMetrics = new index_1.default({
436
469
  clientMetricsStore,
437
470
  strategyStore: null,
@@ -450,11 +483,12 @@ test('Same client registered outside of dedup interval will be registered twice'
450
483
  await clientMetrics.registerClient(client1, '127.0.0.1');
451
484
  await clientMetrics.registerClient(client1, '127.0.0.1');
452
485
  await clientMetrics.registerClient(client1, '127.0.0.1');
453
- await jest.advanceTimersByTime(3 * 1000);
486
+ jest.advanceTimersByTime(3000);
454
487
  await clientMetrics.registerClient(client1, '127.0.0.1');
455
488
  await clientMetrics.registerClient(client1, '127.0.0.1');
456
489
  await clientMetrics.registerClient(client1, '127.0.0.1');
457
- await jest.advanceTimersByTime(3 * 1000);
490
+ jest.advanceTimersByTime(3000);
491
+ await flushPromises();
458
492
  expect(appStoreSpy).toHaveBeenCalledTimes(2);
459
493
  expect(bulkSpy).toHaveBeenCalledTimes(2);
460
494
  const firstRegistrations = appStoreSpy.mock.calls[0][0][0];
@@ -474,8 +508,7 @@ test('No registrations during a time period will not call stores', async () => {
474
508
  const clientInstanceStore = {
475
509
  bulkUpsert: bulkSpy,
476
510
  };
477
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
478
- const clientMetrics = new index_1.default({
511
+ new index_1.default({
479
512
  clientMetricsStore,
480
513
  strategyStore: null,
481
514
  featureToggleStore: null,
@@ -483,7 +516,7 @@ test('No registrations during a time period will not call stores', async () => {
483
516
  clientInstanceStore,
484
517
  eventStore: null,
485
518
  }, { getLogger: no_logger_1.default });
486
- await jest.advanceTimersByTime(6 * 1000);
519
+ jest.advanceTimersByTime(6000);
487
520
  expect(appStoreSpy).toHaveBeenCalledTimes(0);
488
521
  expect(bulkSpy).toHaveBeenCalledTimes(0);
489
522
  jest.useRealTimers();
@@ -1 +1 @@
1
- {"version":3,"file":"client-metrics.test.js","sourceRoot":"","sources":["../../../../src/lib/services/client-metrics/client-metrics.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client-metrics.test.js","sourceRoot":"","sources":["../../../../src/lib/services/client-metrics/client-metrics.test.ts"],"names":[],"mappings":"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"}
@@ -4,22 +4,21 @@ const metrics_schema_1 = require("./metrics-schema");
4
4
  const projection_1 = require("./projection");
5
5
  const client_metrics_schema_1 = require("./client-metrics-schema");
6
6
  const events_1 = require("../../types/events");
7
- const TTLList = require("./ttl-list");
8
7
  const register_schema_1 = require("./register-schema");
9
- const FIVE_SECONDS = 5 * 1000;
10
- const FIVE_MINUTES = 5 * 60 * 1000;
8
+ const date_fns_1 = require("date-fns");
9
+ const TTLList = require("./ttl-list");
11
10
  class ClientMetricsService {
12
- constructor({ clientMetricsStore, strategyStore, featureToggleStore, clientInstanceStore, clientApplicationsStore, eventStore, }, { getLogger }, bulkInterval = FIVE_SECONDS, announcementInterval = FIVE_MINUTES) {
11
+ constructor({ clientMetricsStore, strategyStore, featureToggleStore, clientInstanceStore, clientApplicationsStore, eventStore, }, { getLogger }, bulkInterval = (0, date_fns_1.secondsToMilliseconds)(5), announcementInterval = (0, date_fns_1.minutesToMilliseconds)(5)) {
13
12
  this.globalCount = 0;
14
13
  this.apps = {};
15
14
  this.lastHourProjection = new projection_1.Projection();
16
15
  this.lastMinuteProjection = new projection_1.Projection();
17
16
  this.lastHourList = new TTLList({
18
- interval: 10000,
17
+ interval: (0, date_fns_1.secondsToMilliseconds)(10),
19
18
  });
20
19
  this.logger = null;
21
20
  this.lastMinuteList = new TTLList({
22
- interval: 10000,
21
+ interval: (0, date_fns_1.secondsToMilliseconds)(10),
23
22
  expireType: 'minutes',
24
23
  expireAmount: 1,
25
24
  });
@@ -233,8 +232,9 @@ class ClientMetricsService {
233
232
  this.lastMinuteProjection.add(n, countObj);
234
233
  count += countObj.yes + countObj.no;
235
234
  });
236
- this.lastHourList.add(toggles, stop);
237
- this.lastMinuteList.add(toggles, stop);
235
+ const timestamp = typeof stop === 'string' ? (0, date_fns_1.parseISO)(stop) : stop;
236
+ this.lastHourList.add(toggles, timestamp);
237
+ this.lastMinuteList.add(toggles, timestamp);
238
238
  this.globalCount += count;
239
239
  // eslint-disable-next-line no-param-reassign
240
240
  app.count += count;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/services/client-metrics/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/services/client-metrics/index.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@ declare class TTLList extends EventEmitter {
8
8
  interval: number;
9
9
  expireAmount: number;
10
10
  expireType: string;
11
+ getExpiryFrom: (timestamp: any) => Date;
11
12
  list: List;
12
13
  startTimer(): void;
13
14
  timer: NodeJS.Timeout;
@@ -1,14 +1,22 @@
1
1
  'use strict';
2
2
  const { EventEmitter } = require('events');
3
- const moment = require('moment');
4
3
  const List = require('./list');
4
+ const { add, isFuture, addMilliseconds, secondsToMilliseconds, } = require('date-fns');
5
5
  // this list must have entries with sorted ttl range
6
6
  module.exports = class TTLList extends EventEmitter {
7
- constructor({ interval = 1000, expireAmount = 1, expireType = 'hours', } = {}) {
7
+ constructor({ interval = secondsToMilliseconds(1), expireAmount = 1, expireType = 'hours', } = {}) {
8
8
  super();
9
9
  this.interval = interval;
10
10
  this.expireAmount = expireAmount;
11
11
  this.expireType = expireType;
12
+ this.getExpiryFrom = (timestamp) => {
13
+ if (this.expireType === 'milliseconds') {
14
+ return addMilliseconds(timestamp, expireAmount);
15
+ }
16
+ else {
17
+ return add(timestamp, { [expireType]: expireAmount });
18
+ }
19
+ };
12
20
  this.list = new List();
13
21
  this.list.on('evicted', ({ value, ttl }) => {
14
22
  this.emit('expire', value, ttl);
@@ -26,8 +34,8 @@ module.exports = class TTLList extends EventEmitter {
26
34
  }
27
35
  }
28
36
  add(value, timestamp = new Date()) {
29
- const ttl = moment(timestamp).add(this.expireAmount, this.expireType);
30
- if (moment().isBefore(ttl)) {
37
+ const ttl = this.getExpiryFrom(timestamp);
38
+ if (isFuture(ttl)) {
31
39
  this.list.add({ ttl, value });
32
40
  }
33
41
  else {
@@ -35,14 +43,12 @@ module.exports = class TTLList extends EventEmitter {
35
43
  }
36
44
  }
37
45
  timedCheck() {
38
- const now = moment();
39
- this.list.reverseRemoveUntilTrue(({ value }) => now.isBefore(value.ttl));
46
+ this.list.reverseRemoveUntilTrue(({ value }) => isFuture(value.ttl));
40
47
  this.startTimer();
41
48
  }
42
49
  destroy() {
43
- // https://github.com/nodejs/node/issues/9561
44
- // clearTimeout(this.timer);
45
- // this.timer = null;
50
+ clearTimeout(this.timer);
51
+ this.timer = null;
46
52
  this.list = null;
47
53
  }
48
54
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ttl-list.js","sourceRoot":"","sources":["../../../../src/lib/services/client-metrics/ttl-list.js"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AAC3C,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AACjC,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AAE/B,oDAAoD;AACpD,MAAM,CAAC,OAAO,GAAG,MAAM,OAAQ,SAAQ,YAAY;IAC/C,YAAY,EACR,QAAQ,GAAG,IAAI,EACf,YAAY,GAAG,CAAC,EAChB,UAAU,GAAG,OAAO,GACvB,GAAG,EAAE;QACF,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAE7B,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAEvB,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE;YACvC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,EAAE,CAAC;IACtB,CAAC;IAED,UAAU;QACN,IAAI,IAAI,CAAC,IAAI,EAAE;YACX,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBACzB,IAAI,IAAI,CAAC,IAAI,EAAE;oBACX,IAAI,CAAC,UAAU,EAAE,CAAC;iBACrB;YACL,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;YAClB,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;SACtB;IACL,CAAC;IAED,GAAG,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,IAAI,EAAE;QAC7B,MAAM,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACtE,IAAI,MAAM,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YACxB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;SACjC;aAAM;YACH,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;SACnC;IACL,CAAC;IAED,UAAU;QACN,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC;QACrB,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAC3C,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAC1B,CAAC;QACF,IAAI,CAAC,UAAU,EAAE,CAAC;IACtB,CAAC;IAED,OAAO;QACH,6CAA6C;QAC7C,4BAA4B;QAC5B,qBAAqB;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACrB,CAAC;CACJ,CAAC"}
1
+ {"version":3,"file":"ttl-list.js","sourceRoot":"","sources":["../../../../src/lib/services/client-metrics/ttl-list.js"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AAC3C,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AAC/B,MAAM,EACF,GAAG,EACH,QAAQ,EACR,eAAe,EACf,qBAAqB,GACxB,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAExB,oDAAoD;AACpD,MAAM,CAAC,OAAO,GAAG,MAAM,OAAQ,SAAQ,YAAY;IAC/C,YAAY,EACR,QAAQ,GAAG,qBAAqB,CAAC,CAAC,CAAC,EACnC,YAAY,GAAG,CAAC,EAChB,UAAU,GAAG,OAAO,GACvB,GAAG,EAAE;QACF,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAE7B,IAAI,CAAC,aAAa,GAAG,CAAC,SAAS,EAAE,EAAE;YAC/B,IAAI,IAAI,CAAC,UAAU,KAAK,cAAc,EAAE;gBACpC,OAAO,eAAe,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;aACnD;iBAAM;gBACH,OAAO,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC;aACzD;QACL,CAAC,CAAC;QAEF,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAEvB,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE;YACvC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,EAAE,CAAC;IACtB,CAAC;IAED,UAAU;QACN,IAAI,IAAI,CAAC,IAAI,EAAE;YACX,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBACzB,IAAI,IAAI,CAAC,IAAI,EAAE;oBACX,IAAI,CAAC,UAAU,EAAE,CAAC;iBACrB;YACL,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;YAClB,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;SACtB;IACL,CAAC;IAED,GAAG,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,IAAI,EAAE;QAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QAC1C,IAAI,QAAQ,CAAC,GAAG,CAAC,EAAE;YACf,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;SACjC;aAAM;YACH,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;SACnC;IACL,CAAC;IAED,UAAU;QACN,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QACrE,IAAI,CAAC,UAAU,EAAE,CAAC;IACtB,CAAC;IAED,OAAO;QACH,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACrB,CAAC;CACJ,CAAC"}
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
- const moment = require('moment');
3
2
  const TTLList = require('./ttl-list');
3
+ const { addMilliseconds } = require('date-fns');
4
4
  test('should emit expire', (done) => {
5
5
  jest.useFakeTimers('modern');
6
6
  const list = new TTLList({
@@ -24,24 +24,44 @@ test('should slice off list', () => {
24
24
  expireAmount: 10,
25
25
  expireType: 'milliseconds',
26
26
  });
27
- list.add({ n: '1' }, moment().add(1, 'milliseconds'));
28
- list.add({ n: '2' }, moment().add(50, 'milliseconds'));
29
- list.add({ n: '3' }, moment().add(200, 'milliseconds'));
30
- list.add({ n: '4' }, moment().add(300, 'milliseconds'));
27
+ list.add({ n: '1' }, addMilliseconds(Date.now(), 1));
28
+ list.add({ n: '2' }, addMilliseconds(Date.now(), 50));
29
+ list.add({ n: '3' }, addMilliseconds(Date.now(), 200));
30
+ list.add({ n: '4' }, addMilliseconds(Date.now(), 300));
31
31
  const expired = [];
32
32
  list.on('expire', (entry) => {
33
33
  // console.timeEnd(entry.n);
34
34
  expired.push(entry);
35
35
  });
36
+ expect(expired).toHaveLength(0);
37
+ expect(list.list.toArray()).toHaveLength(4);
36
38
  jest.advanceTimersByTime(21);
37
39
  expect(expired).toHaveLength(1);
40
+ expect(list.list.toArray()).toHaveLength(3);
38
41
  jest.advanceTimersByTime(51);
39
42
  expect(expired).toHaveLength(2);
43
+ expect(list.list.toArray()).toHaveLength(2);
40
44
  jest.advanceTimersByTime(201);
41
45
  expect(expired).toHaveLength(3);
46
+ expect(list.list.toArray()).toHaveLength(1);
42
47
  jest.advanceTimersByTime(301);
43
48
  expect(expired).toHaveLength(4);
49
+ expect(list.list.toArray()).toHaveLength(0);
44
50
  list.destroy();
45
51
  jest.useRealTimers();
46
52
  });
53
+ test('should add item created in the past but expiring in the future', () => {
54
+ jest.useFakeTimers('modern');
55
+ const list = new TTLList({
56
+ interval: 10,
57
+ expireAmount: 10,
58
+ expireType: 'milliseconds',
59
+ });
60
+ const expireCallback = jest.fn();
61
+ list.on('expire', expireCallback);
62
+ list.add({ n: '1' }, new Date());
63
+ expect(expireCallback).not.toHaveBeenCalled();
64
+ expect(list.list.toArray()).toHaveLength(1);
65
+ jest.useRealTimers();
66
+ });
47
67
  //# sourceMappingURL=ttl-list.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ttl-list.test.js","sourceRoot":"","sources":["../../../../src/lib/services/client-metrics/ttl-list.test.js"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AACjC,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;AAEtC,IAAI,CAAC,oBAAoB,EAAE,CAAC,IAAI,EAAE,EAAE;IAChC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAC7B,MAAM,IAAI,GAAG,IAAI,OAAO,CAAC;QACrB,QAAQ,EAAE,EAAE;QACZ,YAAY,EAAE,EAAE;QAChB,UAAU,EAAE,cAAc;KAC7B,CAAC,CAAC;IAEH,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;QACxB,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,EAAE,CAAC;IACX,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACnB,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;IAC7B,IAAI,CAAC,aAAa,EAAE,CAAC;AACzB,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,uBAAuB,EAAE,GAAG,EAAE;IAC/B,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAE7B,MAAM,IAAI,GAAG,IAAI,OAAO,CAAC;QACrB,QAAQ,EAAE,EAAE;QACZ,YAAY,EAAE,EAAE;QAChB,UAAU,EAAE,cAAc;KAC7B,CAAC,CAAC;IAEH,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC;IACtD,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC,CAAC;IACvD,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,CAAC;IACxD,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,CAAC;IAExD,MAAM,OAAO,GAAG,EAAE,CAAC;IAEnB,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;QACxB,4BAA4B;QAC5B,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;IAC7B,MAAM,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAEhC,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;IAC7B,MAAM,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAEhC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;IAC9B,MAAM,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAEhC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;IAC9B,MAAM,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAEhC,IAAI,CAAC,OAAO,EAAE,CAAC;IACf,IAAI,CAAC,aAAa,EAAE,CAAC;AACzB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"ttl-list.test.js","sourceRoot":"","sources":["../../../../src/lib/services/client-metrics/ttl-list.test.js"],"names":[],"mappings":"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"}
@@ -5,8 +5,9 @@ export default class EnvironmentService {
5
5
  private logger;
6
6
  private environmentStore;
7
7
  private featureStrategiesStore;
8
+ private projectStore;
8
9
  private featureEnvironmentStore;
9
- constructor({ environmentStore, featureStrategiesStore, featureEnvironmentStore, }: Pick<IUnleashStores, 'environmentStore' | 'featureStrategiesStore' | 'featureEnvironmentStore'>, { getLogger }: Pick<IUnleashConfig, 'getLogger'>);
10
+ constructor({ environmentStore, featureStrategiesStore, featureEnvironmentStore, projectStore, }: Pick<IUnleashStores, 'environmentStore' | 'featureStrategiesStore' | 'featureEnvironmentStore' | 'projectStore'>, { getLogger }: Pick<IUnleashConfig, 'getLogger'>);
10
11
  getAll(): Promise<IEnvironment[]>;
11
12
  get(name: string): Promise<IEnvironment>;
12
13
  updateSortOrder(sortOrder: ISortOrder): Promise<void>;
@@ -7,12 +7,14 @@ const db_error_1 = require("../error/db-error");
7
7
  const name_exists_error_1 = __importDefault(require("../error/name-exists-error"));
8
8
  const state_schema_1 = require("./state-schema");
9
9
  const notfound_error_1 = __importDefault(require("../error/notfound-error"));
10
+ const minimum_one_environment_error_1 = __importDefault(require("../error/minimum-one-environment-error"));
10
11
  class EnvironmentService {
11
- constructor({ environmentStore, featureStrategiesStore, featureEnvironmentStore, }, { getLogger }) {
12
+ constructor({ environmentStore, featureStrategiesStore, featureEnvironmentStore, projectStore, }, { getLogger }) {
12
13
  this.logger = getLogger('services/environment-service.ts');
13
14
  this.environmentStore = environmentStore;
14
15
  this.featureStrategiesStore = featureStrategiesStore;
15
16
  this.featureEnvironmentStore = featureEnvironmentStore;
17
+ this.projectStore = projectStore;
16
18
  }
17
19
  async getAll() {
18
20
  return this.environmentStore.getAll();
@@ -47,8 +49,13 @@ class EnvironmentService {
47
49
  }
48
50
  }
49
51
  async removeEnvironmentFromProject(environment, projectId) {
50
- await this.featureEnvironmentStore.disconnectFeatures(environment, projectId);
51
- await this.featureEnvironmentStore.disconnectProject(environment, projectId);
52
+ const projectEnvs = await this.projectStore.getEnvironmentsForProject(projectId);
53
+ if (projectEnvs.length > 1) {
54
+ await this.featureEnvironmentStore.disconnectFeatures(environment, projectId);
55
+ await this.featureEnvironmentStore.disconnectProject(environment, projectId);
56
+ return;
57
+ }
58
+ throw new minimum_one_environment_error_1.default('You must always have one active environment');
52
59
  }
53
60
  }
54
61
  exports.default = EnvironmentService;