unleash-server 4.2.0-beta.8 → 4.2.3

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 (235) hide show
  1. package/dist/lib/addons/addon.d.ts +2 -1
  2. package/dist/lib/addons/addon.js.map +1 -1
  3. package/dist/lib/addons/datadog.d.ts +4 -17
  4. package/dist/lib/addons/datadog.js +3 -109
  5. package/dist/lib/addons/datadog.js.map +1 -1
  6. package/dist/lib/addons/datadog.test.js +3 -0
  7. package/dist/lib/addons/datadog.test.js.map +1 -1
  8. package/dist/lib/addons/feature-event-formatter-md.d.ts +25 -0
  9. package/dist/lib/addons/feature-event-formatter-md.js +116 -0
  10. package/dist/lib/addons/feature-event-formatter-md.js.map +1 -0
  11. package/dist/lib/addons/index.d.ts +1 -0
  12. package/dist/lib/addons/index.js.map +1 -1
  13. package/dist/lib/addons/slack.d.ts +3 -12
  14. package/dist/lib/addons/slack.js +5 -110
  15. package/dist/lib/addons/slack.js.map +1 -1
  16. package/dist/lib/addons/slack.test.js +8 -0
  17. package/dist/lib/addons/slack.test.js.map +1 -1
  18. package/dist/lib/addons/teams.d.ts +4 -17
  19. package/dist/lib/addons/teams.js +7 -109
  20. package/dist/lib/addons/teams.js.map +1 -1
  21. package/dist/lib/addons/teams.test.js +3 -0
  22. package/dist/lib/addons/teams.test.js.map +1 -1
  23. package/dist/lib/addons/webhook.d.ts +8 -2
  24. package/dist/lib/addons/webhook.js +0 -1
  25. package/dist/lib/addons/webhook.js.map +1 -1
  26. package/dist/lib/addons/webhook.test.js +2 -0
  27. package/dist/lib/addons/webhook.test.js.map +1 -1
  28. package/dist/lib/create-config.js +6 -5
  29. package/dist/lib/create-config.js.map +1 -1
  30. package/dist/lib/db/client-instance-store.js +2 -2
  31. package/dist/lib/db/client-instance-store.js.map +1 -1
  32. package/dist/lib/db/client-metrics-db.js +2 -2
  33. package/dist/lib/db/client-metrics-db.js.map +1 -1
  34. package/dist/lib/db/client-metrics-store-v2.js +5 -1
  35. package/dist/lib/db/client-metrics-store-v2.js.map +1 -1
  36. package/dist/lib/db/client-metrics-store.js +2 -2
  37. package/dist/lib/db/client-metrics-store.js.map +1 -1
  38. package/dist/lib/db/event-store.d.ts +10 -6
  39. package/dist/lib/db/event-store.js +21 -1
  40. package/dist/lib/db/event-store.js.map +1 -1
  41. package/dist/lib/db/session-store.js +2 -1
  42. package/dist/lib/db/session-store.js.map +1 -1
  43. package/dist/lib/error/minimum-one-environment-error.d.ts +5 -0
  44. package/dist/lib/error/minimum-one-environment-error.js +24 -0
  45. package/dist/lib/error/minimum-one-environment-error.js.map +1 -0
  46. package/dist/lib/metrics.js +20 -12
  47. package/dist/lib/metrics.js.map +1 -1
  48. package/dist/lib/metrics.test.js +1 -0
  49. package/dist/lib/metrics.test.js.map +1 -1
  50. package/dist/lib/middleware/rbac-middleware.js +2 -17
  51. package/dist/lib/middleware/rbac-middleware.js.map +1 -1
  52. package/dist/lib/middleware/rbac-middleware.test.js +2 -21
  53. package/dist/lib/middleware/rbac-middleware.test.js.map +1 -1
  54. package/dist/lib/middleware/secure-headers.js +2 -1
  55. package/dist/lib/middleware/secure-headers.js.map +1 -1
  56. package/dist/lib/middleware/session-db.js +2 -3
  57. package/dist/lib/middleware/session-db.js.map +1 -1
  58. package/dist/lib/routes/admin-api/config.d.ts +5 -2
  59. package/dist/lib/routes/admin-api/config.js +9 -11
  60. package/dist/lib/routes/admin-api/config.js.map +1 -1
  61. package/dist/lib/routes/admin-api/event.d.ts +8 -4
  62. package/dist/lib/routes/admin-api/event.js +8 -10
  63. package/dist/lib/routes/admin-api/event.js.map +1 -1
  64. package/dist/lib/routes/admin-api/feature.d.ts +2 -3
  65. package/dist/lib/routes/admin-api/feature.js +37 -34
  66. package/dist/lib/routes/admin-api/feature.js.map +1 -1
  67. package/dist/lib/routes/admin-api/project/features.js +11 -8
  68. package/dist/lib/routes/admin-api/project/features.js.map +1 -1
  69. package/dist/lib/routes/admin-api/state.js +2 -3
  70. package/dist/lib/routes/admin-api/state.js.map +1 -1
  71. package/dist/lib/routes/admin-api/strategy.test.js +25 -38
  72. package/dist/lib/routes/admin-api/strategy.test.js.map +1 -1
  73. package/dist/lib/routes/admin-api/user-admin.d.ts +1 -0
  74. package/dist/lib/routes/admin-api/user-admin.js +6 -0
  75. package/dist/lib/routes/admin-api/user-admin.js.map +1 -1
  76. package/dist/lib/routes/client-api/feature.test.js +3 -2
  77. package/dist/lib/routes/client-api/feature.test.js.map +1 -1
  78. package/dist/lib/routes/health-check.test.js +1 -0
  79. package/dist/lib/routes/health-check.test.js.map +1 -1
  80. package/dist/lib/routes/util.js +2 -0
  81. package/dist/lib/routes/util.js.map +1 -1
  82. package/dist/lib/server-impl.d.ts +2 -1
  83. package/dist/lib/server-impl.js.map +1 -1
  84. package/dist/lib/services/addon-service-test-simple-addon.d.ts +1 -1
  85. package/dist/lib/services/addon-service-test-simple-addon.js.map +1 -1
  86. package/dist/lib/services/addon-service.js +2 -2
  87. package/dist/lib/services/addon-service.js.map +1 -1
  88. package/dist/lib/services/api-token-service.js +2 -2
  89. package/dist/lib/services/api-token-service.js.map +1 -1
  90. package/dist/lib/services/client-metrics/client-metrics-service-v2.js +3 -5
  91. package/dist/lib/services/client-metrics/client-metrics-service-v2.js.map +1 -1
  92. package/dist/lib/services/client-metrics/client-metrics.test.js +74 -41
  93. package/dist/lib/services/client-metrics/client-metrics.test.js.map +1 -1
  94. package/dist/lib/services/client-metrics/index.d.ts +6 -5
  95. package/dist/lib/services/client-metrics/index.js +13 -10
  96. package/dist/lib/services/client-metrics/index.js.map +1 -1
  97. package/dist/lib/services/client-metrics/list.d.ts +19 -16
  98. package/dist/lib/services/client-metrics/list.js +6 -4
  99. package/dist/lib/services/client-metrics/list.js.map +1 -1
  100. package/dist/lib/services/client-metrics/list.test.js +9 -5
  101. package/dist/lib/services/client-metrics/list.test.js.map +1 -1
  102. package/dist/lib/services/client-metrics/ttl-list.d.ts +20 -13
  103. package/dist/lib/services/client-metrics/ttl-list.js +26 -15
  104. package/dist/lib/services/client-metrics/ttl-list.js.map +1 -1
  105. package/dist/lib/services/client-metrics/ttl-list.test.js +33 -9
  106. package/dist/lib/services/client-metrics/ttl-list.test.js.map +1 -1
  107. package/dist/lib/services/environment-service.d.ts +2 -1
  108. package/dist/lib/services/environment-service.js +10 -3
  109. package/dist/lib/services/environment-service.js.map +1 -1
  110. package/dist/lib/services/event-service.d.ts +1 -1
  111. package/dist/lib/services/event-service.js +1 -1
  112. package/dist/lib/services/event-service.js.map +1 -1
  113. package/dist/lib/services/feature-tag-service.js +7 -11
  114. package/dist/lib/services/feature-tag-service.js.map +1 -1
  115. package/dist/lib/services/{feature-toggle-service-v2.d.ts → feature-toggle-service.d.ts} +29 -19
  116. package/dist/lib/services/{feature-toggle-service-v2.js → feature-toggle-service.js} +177 -145
  117. package/dist/lib/services/feature-toggle-service.js.map +1 -0
  118. package/dist/lib/services/index.js +5 -3
  119. package/dist/lib/services/index.js.map +1 -1
  120. package/dist/lib/services/project-health-service.d.ts +2 -2
  121. package/dist/lib/services/project-health-service.js +3 -3
  122. package/dist/lib/services/project-health-service.js.map +1 -1
  123. package/dist/lib/services/project-service.d.ts +2 -2
  124. package/dist/lib/services/project-service.js +5 -3
  125. package/dist/lib/services/project-service.js.map +1 -1
  126. package/dist/lib/services/reset-token-service.js +2 -2
  127. package/dist/lib/services/reset-token-service.js.map +1 -1
  128. package/dist/lib/services/setting-service.d.ts +1 -1
  129. package/dist/lib/services/setting-service.js.map +1 -1
  130. package/dist/lib/services/state-util.js +1 -1
  131. package/dist/lib/services/state-util.js.map +1 -1
  132. package/dist/lib/services/user-service.d.ts +6 -2
  133. package/dist/lib/services/user-service.js +43 -21
  134. package/dist/lib/services/user-service.js.map +1 -1
  135. package/dist/lib/services/user-service.test.js +18 -0
  136. package/dist/lib/services/user-service.test.js.map +1 -1
  137. package/dist/lib/services/version-service.js +2 -2
  138. package/dist/lib/services/version-service.js.map +1 -1
  139. package/dist/lib/types/authentication-required.d.ts +3 -1
  140. package/dist/lib/types/authentication-required.js +2 -1
  141. package/dist/lib/types/authentication-required.js.map +1 -1
  142. package/dist/lib/types/events.d.ts +165 -2
  143. package/dist/lib/types/events.js +124 -4
  144. package/dist/lib/types/events.js.map +1 -1
  145. package/dist/lib/types/model.d.ts +0 -12
  146. package/dist/lib/types/model.js.map +1 -1
  147. package/dist/lib/types/services.d.ts +3 -2
  148. package/dist/lib/types/settings/simple-auth-settings.d.ts +4 -0
  149. package/dist/lib/types/settings/simple-auth-settings.js +5 -0
  150. package/dist/lib/types/settings/simple-auth-settings.js.map +1 -0
  151. package/dist/lib/types/stores/event-store.d.ts +4 -3
  152. package/dist/lib/types/stores/settings-store.d.ts +1 -1
  153. package/dist/lib/util/constants.d.ts +0 -2
  154. package/dist/lib/util/constants.js +1 -3
  155. package/dist/lib/util/constants.js.map +1 -1
  156. package/dist/migrations/20210928080601-add-development-and-production-environments.js +3 -3
  157. package/dist/migrations/20211029094324-set-sort-order-env.d.ts +2 -0
  158. package/dist/migrations/20211029094324-set-sort-order-env.js +11 -0
  159. package/dist/migrations/20211029094324-set-sort-order-env.js.map +1 -0
  160. package/dist/migrations/20211105104316-add-feature-name-column-to-events.d.ts +2 -0
  161. package/dist/migrations/20211105104316-add-feature-name-column-to-events.js +16 -0
  162. package/dist/migrations/20211105104316-add-feature-name-column-to-events.js.map +1 -0
  163. package/dist/migrations/20211105105509-add-predata-column-to-events.d.ts +2 -0
  164. package/dist/migrations/20211105105509-add-predata-column-to-events.js +8 -0
  165. package/dist/migrations/20211105105509-add-predata-column-to-events.js.map +1 -0
  166. package/dist/migrator.js +9 -2
  167. package/dist/migrator.js.map +1 -1
  168. package/dist/test/e2e/api/admin/client-metrics.e2e.test.js +16 -12
  169. package/dist/test/e2e/api/admin/client-metrics.e2e.test.js.map +1 -1
  170. package/dist/{lib/event-differ.test.d.ts → test/e2e/api/admin/config.e2e.test.d.ts} +0 -0
  171. package/dist/test/e2e/api/admin/config.e2e.test.js +36 -0
  172. package/dist/test/e2e/api/admin/config.e2e.test.js.map +1 -0
  173. package/dist/test/e2e/api/admin/feature-archive.e2e.test.js +1 -2
  174. package/dist/test/e2e/api/admin/feature-archive.e2e.test.js.map +1 -1
  175. package/dist/test/e2e/api/admin/feature.e2e.test.js +19 -2
  176. package/dist/test/e2e/api/admin/feature.e2e.test.js.map +1 -1
  177. package/dist/test/e2e/api/admin/metrics.e2e.test.js +5 -3
  178. package/dist/test/e2e/api/admin/metrics.e2e.test.js.map +1 -1
  179. package/dist/test/e2e/api/admin/project/environments.e2e.test.js +10 -0
  180. package/dist/test/e2e/api/admin/project/environments.e2e.test.js.map +1 -1
  181. package/dist/test/e2e/api/admin/project/features.e2e.test.js +120 -8
  182. package/dist/test/e2e/api/admin/project/features.e2e.test.js.map +1 -1
  183. package/dist/test/e2e/api/admin/state.e2e.test.js +17 -13
  184. package/dist/test/e2e/api/admin/state.e2e.test.js.map +1 -1
  185. package/dist/test/e2e/api/admin/user-admin.e2e.test.js +18 -17
  186. package/dist/test/e2e/api/admin/user-admin.e2e.test.js.map +1 -1
  187. package/dist/test/e2e/api/auth/reset-password-controller.e2e.test.js +4 -0
  188. package/dist/test/e2e/api/auth/reset-password-controller.e2e.test.js.map +1 -1
  189. package/dist/test/e2e/api/client/feature.env.disabled.e2e.test.js +8 -4
  190. package/dist/test/e2e/api/client/feature.env.disabled.e2e.test.js.map +1 -1
  191. package/dist/test/e2e/api/client/feature.token.access.e2e.test.js +4 -4
  192. package/dist/test/e2e/api/client/feature.token.access.e2e.test.js.map +1 -1
  193. package/dist/test/e2e/api/client/register.e2e.test.js +1 -1
  194. package/dist/test/e2e/api/client/register.e2e.test.js.map +1 -1
  195. package/dist/test/e2e/custom-auth.test.js +1 -1
  196. package/dist/test/e2e/custom-auth.test.js.map +1 -1
  197. package/dist/test/e2e/services/addon-service.e2e.test.js +1 -1
  198. package/dist/test/e2e/services/addon-service.e2e.test.js.map +1 -1
  199. package/dist/test/e2e/services/api-token-service.e2e.test.js +5 -3
  200. package/dist/test/e2e/services/api-token-service.e2e.test.js.map +1 -1
  201. package/dist/test/e2e/services/client-metrics-service.e2e.test.js +5 -2
  202. package/dist/test/e2e/services/client-metrics-service.e2e.test.js.map +1 -1
  203. package/dist/test/e2e/services/environment-service.test.js +1 -1
  204. package/dist/test/e2e/services/environment-service.test.js.map +1 -1
  205. package/dist/test/e2e/services/feature-toggle-service-v2.e2e.test.js +14 -11
  206. package/dist/test/e2e/services/feature-toggle-service-v2.e2e.test.js.map +1 -1
  207. package/dist/test/e2e/services/project-health-service.e2e.test.js +2 -2
  208. package/dist/test/e2e/services/project-health-service.e2e.test.js.map +1 -1
  209. package/dist/test/e2e/services/project-service.e2e.test.js +2 -2
  210. package/dist/test/e2e/services/project-service.e2e.test.js.map +1 -1
  211. package/dist/test/e2e/services/reset-token-service.e2e.test.js +4 -0
  212. package/dist/test/e2e/services/reset-token-service.e2e.test.js.map +1 -1
  213. package/dist/test/e2e/services/session-service.e2e.test.js +5 -4
  214. package/dist/test/e2e/services/session-service.e2e.test.js.map +1 -1
  215. package/dist/test/e2e/services/user-service.e2e.test.js +18 -2
  216. package/dist/test/e2e/services/user-service.e2e.test.js.map +1 -1
  217. package/dist/test/e2e/stores/client-metrics-store-v2.e2e.test.js +4 -6
  218. package/dist/test/e2e/stores/client-metrics-store-v2.e2e.test.js.map +1 -1
  219. package/dist/test/e2e/stores/event-store.e2e.test.js +1 -1
  220. package/dist/test/e2e/stores/event-store.e2e.test.js.map +1 -1
  221. package/dist/test/e2e/stores/feature-toggle-store.e2e.test.js +1 -0
  222. package/dist/test/e2e/stores/feature-toggle-store.e2e.test.js.map +1 -1
  223. package/dist/test/fixtures/fake-event-store.d.ts +2 -1
  224. package/dist/test/fixtures/fake-event-store.js +3 -0
  225. package/dist/test/fixtures/fake-event-store.js.map +1 -1
  226. package/dist/test/fixtures/fake-setting-store.js +1 -5
  227. package/dist/test/fixtures/fake-setting-store.js.map +1 -1
  228. package/docs/api/oas/openapi.yaml +35 -55
  229. package/package.json +11 -12
  230. package/dist/lib/event-differ.d.ts +0 -1
  231. package/dist/lib/event-differ.js +0 -117
  232. package/dist/lib/event-differ.js.map +0 -1
  233. package/dist/lib/event-differ.test.js +0 -142
  234. package/dist/lib/event-differ.test.js.map +0 -1
  235. package/dist/lib/services/feature-toggle-service-v2.js.map +0 -1
@@ -1,34 +1,33 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  const permissions_1 = require("../../types/permissions");
4
- const Controller = require('../controller');
5
- const eventDiffer = require('../../event-differ');
7
+ const controller_1 = __importDefault(require("../controller"));
6
8
  const version = 1;
7
- class EventController extends Controller {
9
+ class EventController extends controller_1.default {
8
10
  constructor(config, { eventService }) {
9
11
  super(config);
10
12
  this.eventService = eventService;
11
13
  this.get('/', this.getEvents, permissions_1.ADMIN);
12
14
  this.get('/:name', this.getEventsForToggle);
13
15
  }
14
- // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
15
16
  async getEvents(req, res) {
17
+ const { project } = req.query;
16
18
  let events;
17
- if (req.query?.project) {
18
- events = await this.eventService.getEventsForProject(req.query.project);
19
+ if (project) {
20
+ events = await this.eventService.getEventsForProject(project);
19
21
  }
20
22
  else {
21
23
  events = await this.eventService.getEvents();
22
24
  }
23
- eventDiffer.addDiffs(events);
24
25
  res.json({ version, events });
25
26
  }
26
- // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
27
27
  async getEventsForToggle(req, res) {
28
28
  const toggleName = req.params.name;
29
29
  const events = await this.eventService.getEventsForToggle(toggleName);
30
30
  if (events) {
31
- eventDiffer.addDiffs(events);
32
31
  res.json({ toggleName, events });
33
32
  }
34
33
  else {
@@ -37,5 +36,4 @@ class EventController extends Controller {
37
36
  }
38
37
  }
39
38
  exports.default = EventController;
40
- module.exports = EventController;
41
39
  //# sourceMappingURL=event.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"event.js","sourceRoot":"","sources":["../../../../src/lib/routes/admin-api/event.ts"],"names":[],"mappings":";;AAGA,yDAAgD;AAEhD,MAAM,UAAU,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;AAE5C,MAAM,WAAW,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;AAElD,MAAM,OAAO,GAAG,CAAC,CAAC;AAElB,MAAqB,eAAgB,SAAQ,UAAU;IAGnD,YACI,MAAsB,EACtB,EAAE,YAAY,EAA0C;QAExD,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,EAAE,mBAAK,CAAC,CAAC;QACrC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAChD,CAAC;IAED,6EAA6E;IAC7E,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG;QACpB,IAAI,MAAM,CAAC;QACX,IAAI,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE;YACpB,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAChD,GAAG,CAAC,KAAK,CAAC,OAAO,CACpB,CAAC;SACL;aAAM;YACH,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC;SAChD;QACD,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC7B,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IAClC,CAAC;IAED,6EAA6E;IAC7E,KAAK,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAG;QAC7B,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;QACnC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;QAEtE,IAAI,MAAM,EAAE;YACR,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC7B,GAAG,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;SACpC;aAAM;YACH,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAAC,CAAC;SAC5D;IACL,CAAC;CACJ;AAvCD,kCAuCC;AAED,MAAM,CAAC,OAAO,GAAG,eAAe,CAAC"}
1
+ {"version":3,"file":"event.js","sourceRoot":"","sources":["../../../../src/lib/routes/admin-api/event.ts"],"names":[],"mappings":";;;;;AAIA,yDAAgD;AAEhD,+DAAuC;AAEvC,MAAM,OAAO,GAAG,CAAC,CAAC;AAElB,MAAqB,eAAgB,SAAQ,oBAAU;IAGnD,YACI,MAAsB,EACtB,EAAE,YAAY,EAA0C;QAExD,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,EAAE,mBAAK,CAAC,CAAC;QACrC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,SAAS,CACX,GAAiD,EACjD,GAAa;QAEb,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC;QAC9B,IAAI,MAAgB,CAAC;QACrB,IAAI,OAAO,EAAE;YACT,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;SACjE;aAAM;YACH,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC;SAChD;QACD,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,kBAAkB,CACpB,GAA8B,EAC9B,GAAa;QAEb,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;QACnC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;QAEtE,IAAI,MAAM,EAAE;YACR,GAAG,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;SACpC;aAAM;YACH,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAAC,CAAC;SAC5D;IACL,CAAC;CACJ;AAxCD,kCAwCC"}
@@ -5,9 +5,8 @@ import { IUnleashServices } from '../../types/services';
5
5
  import { IFeatureToggleQuery } from '../../types/model';
6
6
  import { IAuthRequest } from '../unleash-types';
7
7
  declare class FeatureController extends Controller {
8
- private logger;
9
- private featureTagService;
10
- private featureService2;
8
+ private tagService;
9
+ private service;
11
10
  constructor(config: IUnleashConfig, { featureTagService, featureToggleServiceV2, }: Pick<IUnleashServices, 'featureTagService' | 'featureToggleServiceV2'>);
12
11
  paramToArray(param: any): any;
13
12
  prepQuery({ tag, project, namePrefix, }: any): Promise<IFeatureToggleQuery>;
@@ -12,9 +12,8 @@ const version = 1;
12
12
  class FeatureController extends controller_1.default {
13
13
  constructor(config, { featureTagService, featureToggleServiceV2, }) {
14
14
  super(config);
15
- this.featureTagService = featureTagService;
16
- this.featureService2 = featureToggleServiceV2;
17
- this.logger = config.getLogger('/admin-api/feature.ts');
15
+ this.tagService = featureTagService;
16
+ this.service = featureToggleServiceV2;
18
17
  this.get('/', this.getAllToggles);
19
18
  this.post('/', this.createToggle, permissions_1.CREATE_FEATURE);
20
19
  this.get('/:featureName', this.getToggle);
@@ -55,34 +54,34 @@ class FeatureController extends controller_1.default {
55
54
  }
56
55
  async getAllToggles(req, res) {
57
56
  const query = await this.prepQuery(req.query);
58
- const features = await this.featureService2.getFeatureToggles(query);
57
+ const features = await this.service.getFeatureToggles(query);
59
58
  res.json({ version, features });
60
59
  }
61
60
  async getToggle(req, res) {
62
61
  const name = req.params.featureName;
63
- const feature = await this.featureService2.getFeatureToggleLegacy(name);
62
+ const feature = await this.service.getFeatureToggleLegacy(name);
64
63
  res.json(feature).end();
65
64
  }
66
65
  async listTags(req, res) {
67
- const tags = await this.featureTagService.listTags(req.params.featureName);
66
+ const tags = await this.tagService.listTags(req.params.featureName);
68
67
  res.json({ version, tags });
69
68
  }
70
69
  async addTag(req, res) {
71
70
  const { featureName } = req.params;
72
71
  const userName = (0, extract_user_1.extractUsername)(req);
73
- const tag = await this.featureTagService.addTag(featureName, req.body, userName);
72
+ const tag = await this.tagService.addTag(featureName, req.body, userName);
74
73
  res.status(201).json(tag);
75
74
  }
76
75
  // TODO
77
76
  async removeTag(req, res) {
78
77
  const { featureName, type, value } = req.params;
79
78
  const userName = (0, extract_user_1.extractUsername)(req);
80
- await this.featureTagService.removeTag(featureName, { type, value }, userName);
79
+ await this.tagService.removeTag(featureName, { type, value }, userName);
81
80
  res.status(200).end();
82
81
  }
83
82
  async validate(req, res) {
84
83
  const { name } = req.body;
85
- await this.featureService2.validateName(name);
84
+ await this.service.validateName(name);
86
85
  res.status(200).end();
87
86
  }
88
87
  async createToggle(req, res) {
@@ -90,9 +89,13 @@ class FeatureController extends controller_1.default {
90
89
  const toggle = req.body;
91
90
  const validatedToggle = await feature_schema_1.featureSchema.validateAsync(toggle);
92
91
  const { enabled } = validatedToggle;
93
- const createdFeature = await this.featureService2.createFeatureToggle(validatedToggle.project, validatedToggle, userName);
94
- const strategies = await Promise.all(toggle.strategies.map(async (s) => this.featureService2.createStrategy(s, createdFeature.project, createdFeature.name, userName)));
95
- await this.featureService2.updateEnabled(createdFeature.project, createdFeature.name, constants_1.DEFAULT_ENV, enabled, userName);
92
+ const createdFeature = await this.service.createFeatureToggle(validatedToggle.project, validatedToggle, userName);
93
+ const strategies = await Promise.all(toggle.strategies.map(async (s) => this.service.createStrategy(s, {
94
+ projectId: createdFeature.project,
95
+ featureName: createdFeature.name,
96
+ environment: constants_1.DEFAULT_ENV,
97
+ }, userName)));
98
+ await this.service.updateEnabled(createdFeature.project, createdFeature.name, constants_1.DEFAULT_ENV, enabled, userName);
96
99
  res.status(201).json({
97
100
  ...createdFeature,
98
101
  enabled,
@@ -104,15 +107,15 @@ class FeatureController extends controller_1.default {
104
107
  const userName = (0, extract_user_1.extractUsername)(req);
105
108
  const updatedFeature = req.body;
106
109
  updatedFeature.name = featureName;
107
- const projectId = await this.featureService2.getProjectId(updatedFeature.name);
110
+ const projectId = await this.service.getProjectId(updatedFeature.name);
108
111
  const value = await feature_schema_1.featureSchema.validateAsync(updatedFeature);
109
- await this.featureService2.updateFeatureToggle(projectId, value, userName);
110
- await this.featureService2.removeAllStrategiesForEnv(featureName);
112
+ await this.service.updateFeatureToggle(projectId, value, userName);
113
+ await this.service.removeAllStrategiesForEnv(featureName);
111
114
  if (updatedFeature.strategies) {
112
- await Promise.all(updatedFeature.strategies.map(async (s) => this.featureService2.createStrategy(s, projectId, featureName, userName)));
115
+ await Promise.all(updatedFeature.strategies.map(async (s) => this.service.createStrategy(s, { projectId, featureName, environment: constants_1.DEFAULT_ENV }, userName)));
113
116
  }
114
- await this.featureService2.updateEnabled(projectId, updatedFeature.name, constants_1.DEFAULT_ENV, updatedFeature.enabled, userName);
115
- const feature = await this.featureService2.storeFeatureUpdatedEventLegacy(featureName, userName);
117
+ await this.service.updateEnabled(projectId, updatedFeature.name, constants_1.DEFAULT_ENV, updatedFeature.enabled, userName);
118
+ const feature = await this.service.storeFeatureUpdatedEventLegacy(featureName, userName);
116
119
  res.status(200).json(feature);
117
120
  }
118
121
  // TODO: remove?
@@ -120,45 +123,45 @@ class FeatureController extends controller_1.default {
120
123
  async toggle(req, res) {
121
124
  const userName = (0, extract_user_1.extractUsername)(req);
122
125
  const { featureName } = req.params;
123
- const projectId = await this.featureService2.getProjectId(featureName);
124
- const feature = await this.featureService2.toggle(projectId, featureName, constants_1.DEFAULT_ENV, userName);
125
- await this.featureService2.storeFeatureUpdatedEventLegacy(featureName, userName);
126
+ const projectId = await this.service.getProjectId(featureName);
127
+ const feature = await this.service.toggle(projectId, featureName, constants_1.DEFAULT_ENV, userName);
128
+ await this.service.storeFeatureUpdatedEventLegacy(featureName, userName);
126
129
  res.status(200).json(feature);
127
130
  }
128
131
  async toggleOn(req, res) {
129
132
  const { featureName } = req.params;
130
133
  const userName = (0, extract_user_1.extractUsername)(req);
131
- const projectId = await this.featureService2.getProjectId(featureName);
132
- const feature = await this.featureService2.updateEnabled(projectId, featureName, constants_1.DEFAULT_ENV, true, userName);
133
- await this.featureService2.storeFeatureUpdatedEventLegacy(featureName, userName);
134
+ const projectId = await this.service.getProjectId(featureName);
135
+ const feature = await this.service.updateEnabled(projectId, featureName, constants_1.DEFAULT_ENV, true, userName);
136
+ await this.service.storeFeatureUpdatedEventLegacy(featureName, userName);
134
137
  res.json(feature);
135
138
  }
136
139
  async toggleOff(req, res) {
137
140
  const { featureName } = req.params;
138
141
  const userName = (0, extract_user_1.extractUsername)(req);
139
- const projectId = await this.featureService2.getProjectId(featureName);
140
- const feature = await this.featureService2.updateEnabled(projectId, featureName, constants_1.DEFAULT_ENV, false, userName);
141
- await this.featureService2.storeFeatureUpdatedEventLegacy(featureName, userName);
142
+ const projectId = await this.service.getProjectId(featureName);
143
+ const feature = await this.service.updateEnabled(projectId, featureName, constants_1.DEFAULT_ENV, false, userName);
144
+ await this.service.storeFeatureUpdatedEventLegacy(featureName, userName);
142
145
  res.json(feature);
143
146
  }
144
147
  async staleOn(req, res) {
145
148
  const { featureName } = req.params;
146
149
  const userName = (0, extract_user_1.extractUsername)(req);
147
- await this.featureService2.updateStale(featureName, true, userName);
148
- const feature = await this.featureService2.storeFeatureUpdatedEventLegacy(featureName, userName);
149
- res.json(feature).end();
150
+ await this.service.updateStale(featureName, true, userName);
151
+ const feature = await this.service.getFeatureToggleLegacy(featureName);
152
+ res.json(feature);
150
153
  }
151
154
  async staleOff(req, res) {
152
155
  const { featureName } = req.params;
153
156
  const userName = (0, extract_user_1.extractUsername)(req);
154
- await this.featureService2.updateStale(featureName, false, userName);
155
- const feature = await this.featureService2.storeFeatureUpdatedEventLegacy(featureName, userName);
156
- res.json(feature).end();
157
+ await this.service.updateStale(featureName, false, userName);
158
+ const feature = await this.service.getFeatureToggleLegacy(featureName);
159
+ res.json(feature);
157
160
  }
158
161
  async archiveToggle(req, res) {
159
162
  const { featureName } = req.params;
160
163
  const userName = (0, extract_user_1.extractUsername)(req);
161
- await this.featureService2.archiveToggle(featureName, userName);
164
+ await this.service.archiveToggle(featureName, userName);
162
165
  res.status(200).end();
163
166
  }
164
167
  }
@@ -1 +1 @@
1
- {"version":3,"file":"feature.js","sourceRoot":"","sources":["../../../../src/lib/routes/admin-api/feature.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"feature.js","sourceRoot":"","sources":["../../../../src/lib/routes/admin-api/feature.ts"],"names":[],"mappings":";;;;;AAGA,+DAAuC;AAEvC,0DAA0D;AAC1D,yDAIiC;AAIjC,gEAAyE;AAIzE,oDAAmD;AAEnD,MAAM,OAAO,GAAG,CAAC,CAAC;AAElB,MAAM,iBAAkB,SAAQ,oBAAU;IAKtC,YACI,MAAsB,EACtB,EACI,iBAAiB,EACjB,sBAAsB,GAIzB;QAED,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,IAAI,CAAC,UAAU,GAAG,iBAAiB,CAAC;QACpC,IAAI,CAAC,OAAO,GAAG,sBAAsB,CAAC;QAEtC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAClC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,YAAY,EAAE,4BAAc,CAAC,CAAC;QAClD,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1C,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,CAAC,YAAY,EAAE,4BAAc,CAAC,CAAC;QAC7D,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,IAAI,CAAC,aAAa,EAAE,4BAAc,CAAC,CAAC;QACjE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtC,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,MAAM,EAAE,4BAAc,CAAC,CAAC;QAC/D,IAAI,CAAC,IAAI,CAAC,yBAAyB,EAAE,IAAI,CAAC,QAAQ,EAAE,4BAAc,CAAC,CAAC;QACpE,IAAI,CAAC,IAAI,CAAC,0BAA0B,EAAE,IAAI,CAAC,SAAS,EAAE,4BAAc,CAAC,CAAC;QACtE,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE,IAAI,CAAC,OAAO,EAAE,4BAAc,CAAC,CAAC;QAClE,IAAI,CAAC,IAAI,CAAC,yBAAyB,EAAE,IAAI,CAAC,QAAQ,EAAE,4BAAc,CAAC,CAAC;QACpE,IAAI,CAAC,GAAG,CAAC,oBAAoB,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9C,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,IAAI,CAAC,MAAM,EAAE,4BAAc,CAAC,CAAC;QAC7D,IAAI,CAAC,MAAM,CACP,iCAAiC,EACjC,IAAI,CAAC,SAAS,EACd,4BAAc,CACjB,CAAC;IACN,CAAC;IAED,6EAA6E;IAC7E,YAAY,CAAC,KAAU;QACnB,IAAI,CAAC,KAAK,EAAE;YACR,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,EACZ,GAAG,EACH,OAAO,EACP,UAAU,GACR;QACF,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,IAAI,CAAC,UAAU,EAAE;YACjC,OAAO,IAAI,CAAC;SACf;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QACxC,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAChD,MAAM,KAAK,GAAG,MAAM,4BAAW,CAAC,aAAa,CAAC;YAC1C,GAAG,EAAE,QAAQ;YACb,OAAO,EAAE,YAAY;YACrB,UAAU;SACb,CAAC,CAAC;QACH,IAAI,KAAK,CAAC,GAAG,EAAE;YACX,KAAK,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;SAClD;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,GAAY,EAAE,GAAa;QAC3C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC9C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAE7D,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,SAAS,CACX,GAAoD,EACpD,GAAa;QAEb,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC;QACpC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;QAChE,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,GAAY,EAAE,GAAa;QACtC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACpE,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,GAAiB,EAAE,GAAa;QACzC,MAAM,EAAE,WAAW,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;QACnC,MAAM,QAAQ,GAAG,IAAA,8BAAe,EAAC,GAAG,CAAC,CAAC;QACtC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CACpC,WAAW,EACX,GAAG,CAAC,IAAI,EACR,QAAQ,CACX,CAAC;QACF,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IAED,OAAO;IACP,KAAK,CAAC,SAAS,CAAC,GAAiB,EAAE,GAAa;QAC5C,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;QAChD,MAAM,QAAQ,GAAG,IAAA,8BAAe,EAAC,GAAG,CAAC,CAAC;QACtC,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,QAAQ,CAAC,CAAC;QACxE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,GAAY,EAAE,GAAa;QACtC,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC;QAE1B,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACtC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,GAAiB,EAAE,GAAa;QAC/C,MAAM,QAAQ,GAAG,IAAA,8BAAe,EAAC,GAAG,CAAC,CAAC;QACtC,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC;QAExB,MAAM,eAAe,GAAG,MAAM,8BAAa,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAClE,MAAM,EAAE,OAAO,EAAE,GAAG,eAAe,CAAC;QACpC,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,mBAAmB,CACzD,eAAe,CAAC,OAAO,EACvB,eAAe,EACf,QAAQ,CACX,CAAC;QACF,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,GAAG,CAChC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAC9B,IAAI,CAAC,OAAO,CAAC,cAAc,CACvB,CAAC,EACD;YACI,SAAS,EAAE,cAAc,CAAC,OAAO;YACjC,WAAW,EAAE,cAAc,CAAC,IAAI;YAChC,WAAW,EAAE,uBAAW;SAC3B,EACD,QAAQ,CACX,CACJ,CACJ,CAAC;QACF,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAC5B,cAAc,CAAC,OAAO,EACtB,cAAc,CAAC,IAAI,EACnB,uBAAW,EACX,OAAO,EACP,QAAQ,CACX,CAAC;QAEF,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;YACjB,GAAG,cAAc;YACjB,OAAO;YACP,UAAU;SACb,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,GAAiB,EAAE,GAAa;QAC/C,MAAM,EAAE,WAAW,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;QACnC,MAAM,QAAQ,GAAG,IAAA,8BAAe,EAAC,GAAG,CAAC,CAAC;QACtC,MAAM,cAAc,GAAG,GAAG,CAAC,IAAI,CAAC;QAEhC,cAAc,CAAC,IAAI,GAAG,WAAW,CAAC;QAElC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QACvE,MAAM,KAAK,GAAG,MAAM,8BAAa,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;QAEhE,MAAM,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,SAAS,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QAEnE,MAAM,IAAI,CAAC,OAAO,CAAC,yBAAyB,CAAC,WAAW,CAAC,CAAC;QAE1D,IAAI,cAAc,CAAC,UAAU,EAAE;YAC3B,MAAM,OAAO,CAAC,GAAG,CACb,cAAc,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CACtC,IAAI,CAAC,OAAO,CAAC,cAAc,CACvB,CAAC,EACD,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,uBAAW,EAAE,EACpD,QAAQ,CACX,CACJ,CACJ,CAAC;SACL;QACD,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAC5B,SAAS,EACT,cAAc,CAAC,IAAI,EACnB,uBAAW,EACX,cAAc,CAAC,OAAO,EACtB,QAAQ,CACX,CAAC;QAEF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,8BAA8B,CAC7D,WAAW,EACX,QAAQ,CACX,CAAC;QAEF,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;IAED,gBAAgB;IAChB,sCAAsC;IACtC,KAAK,CAAC,MAAM,CAAC,GAAiB,EAAE,GAAa;QACzC,MAAM,QAAQ,GAAG,IAAA,8BAAe,EAAC,GAAG,CAAC,CAAC;QACtC,MAAM,EAAE,WAAW,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;QACnC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QAC/D,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CACrC,SAAS,EACT,WAAW,EACX,uBAAW,EACX,QAAQ,CACX,CAAC;QACF,MAAM,IAAI,CAAC,OAAO,CAAC,8BAA8B,CAC7C,WAAW,EACX,QAAQ,CACX,CAAC;QACF,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,GAAiB,EAAE,GAAa;QAC3C,MAAM,EAAE,WAAW,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;QACnC,MAAM,QAAQ,GAAG,IAAA,8BAAe,EAAC,GAAG,CAAC,CAAC;QACtC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QAC/D,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAC5C,SAAS,EACT,WAAW,EACX,uBAAW,EACX,IAAI,EACJ,QAAQ,CACX,CAAC;QACF,MAAM,IAAI,CAAC,OAAO,CAAC,8BAA8B,CAC7C,WAAW,EACX,QAAQ,CACX,CAAC;QACF,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,GAAiB,EAAE,GAAa;QAC5C,MAAM,EAAE,WAAW,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;QACnC,MAAM,QAAQ,GAAG,IAAA,8BAAe,EAAC,GAAG,CAAC,CAAC;QACtC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QAC/D,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAC5C,SAAS,EACT,WAAW,EACX,uBAAW,EACX,KAAK,EACL,QAAQ,CACX,CAAC;QACF,MAAM,IAAI,CAAC,OAAO,CAAC,8BAA8B,CAC7C,WAAW,EACX,QAAQ,CACX,CAAC;QACF,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,GAAiB,EAAE,GAAa;QAC1C,MAAM,EAAE,WAAW,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;QACnC,MAAM,QAAQ,GAAG,IAAA,8BAAe,EAAC,GAAG,CAAC,CAAC;QACtC,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,WAAW,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC5D,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,WAAW,CAAC,CAAC;QACvE,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,GAAiB,EAAE,GAAa;QAC3C,MAAM,EAAE,WAAW,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;QACnC,MAAM,QAAQ,GAAG,IAAA,8BAAe,EAAC,GAAG,CAAC,CAAC;QACtC,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,WAAW,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC7D,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,WAAW,CAAC,CAAC;QACvE,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,GAAiB,EAAE,GAAa;QAChD,MAAM,EAAE,WAAW,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;QACnC,MAAM,QAAQ,GAAG,IAAA,8BAAe,EAAC,GAAG,CAAC,CAAC;QAEtC,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QACxD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;IAC1B,CAAC;CACJ;AACD,kBAAe,iBAAiB,CAAC"}
@@ -18,15 +18,18 @@ class ProjectFeaturesController extends controller_1.default {
18
18
  super(config);
19
19
  this.featureService = featureToggleServiceV2;
20
20
  this.logger = config.getLogger('/admin-api/project/features.ts');
21
+ // Environments
21
22
  this.get(`${PATH_ENV}`, this.getEnvironment);
22
23
  this.post(`${PATH_ENV}/on`, this.toggleEnvironmentOn, permissions_1.UPDATE_FEATURE);
23
24
  this.post(`${PATH_ENV}/off`, this.toggleEnvironmentOff, permissions_1.UPDATE_FEATURE);
25
+ // activation strategies
24
26
  this.get(`${PATH_STRATEGIES}`, this.getStrategies);
25
27
  this.post(`${PATH_STRATEGIES}`, this.addStrategy, permissions_1.UPDATE_FEATURE);
26
28
  this.get(`${PATH_STRATEGY}`, this.getStrategy);
27
29
  this.put(`${PATH_STRATEGY}`, this.updateStrategy, permissions_1.UPDATE_FEATURE);
28
30
  this.patch(`${PATH_STRATEGY}`, this.patchStrategy, permissions_1.UPDATE_FEATURE);
29
31
  this.delete(`${PATH_STRATEGY}`, this.deleteStrategy, permissions_1.UPDATE_FEATURE);
32
+ // feature toggles
30
33
  this.get(PATH, this.getFeatures);
31
34
  this.post(PATH, this.createFeature, permissions_1.CREATE_FEATURE);
32
35
  this.post(PATH_FEATURE_CLONE, this.cloneFeature, permissions_1.CREATE_FEATURE);
@@ -95,7 +98,7 @@ class ProjectFeaturesController extends controller_1.default {
95
98
  async addStrategy(req, res) {
96
99
  const { projectId, featureName, environment } = req.params;
97
100
  const userName = (0, extract_user_1.extractUsername)(req);
98
- const featureStrategy = await this.featureService.createStrategy(req.body, projectId, featureName, userName, environment);
101
+ const featureStrategy = await this.featureService.createStrategy(req.body, { environment, projectId, featureName }, userName);
99
102
  res.status(200).json(featureStrategy);
100
103
  }
101
104
  async getStrategies(req, res) {
@@ -104,18 +107,18 @@ class ProjectFeaturesController extends controller_1.default {
104
107
  res.status(200).json(featureStrategies);
105
108
  }
106
109
  async updateStrategy(req, res) {
107
- const { strategyId, environment, projectId } = req.params;
110
+ const { strategyId, environment, projectId, featureName } = req.params;
108
111
  const userName = (0, extract_user_1.extractUsername)(req);
109
- const updatedStrategy = await this.featureService.updateStrategy(strategyId, environment, projectId, userName, req.body);
112
+ const updatedStrategy = await this.featureService.updateStrategy(strategyId, req.body, { environment, projectId, featureName }, userName);
110
113
  res.status(200).json(updatedStrategy);
111
114
  }
112
115
  async patchStrategy(req, res) {
113
- const { strategyId, projectId, environment } = req.params;
116
+ const { strategyId, projectId, environment, featureName } = req.params;
114
117
  const userName = (0, extract_user_1.extractUsername)(req);
115
118
  const patch = req.body;
116
119
  const strategy = await this.featureService.getStrategy(strategyId);
117
120
  const { newDocument } = (0, fast_json_patch_1.applyPatch)(strategy, patch);
118
- const updatedStrategy = await this.featureService.updateStrategy(strategyId, environment, projectId, userName, newDocument);
121
+ const updatedStrategy = await this.featureService.updateStrategy(strategyId, newDocument, { environment, projectId, featureName }, userName);
119
122
  res.status(200).json(updatedStrategy);
120
123
  }
121
124
  async getStrategy(req, res) {
@@ -131,14 +134,14 @@ class ProjectFeaturesController extends controller_1.default {
131
134
  const userName = (0, extract_user_1.extractUsername)(req);
132
135
  const { strategyId } = req.params;
133
136
  this.logger.info(strategyId);
134
- const strategy = await this.featureService.deleteStrategy(strategyId, featureName, userName, projectId, environment);
137
+ const strategy = await this.featureService.deleteStrategy(strategyId, { environment, projectId, featureName }, userName);
135
138
  res.status(200).json(strategy);
136
139
  }
137
140
  async updateStrategyParameter(req, res) {
138
- const { strategyId, environment, projectId } = req.params;
141
+ const { strategyId, environment, projectId, featureName } = req.params;
139
142
  const userName = (0, extract_user_1.extractUsername)(req);
140
143
  const { name, value } = req.body;
141
- const updatedStrategy = await this.featureService.updateStrategyParameter(strategyId, name, value, userName, projectId, environment);
144
+ const updatedStrategy = await this.featureService.updateStrategyParameter(strategyId, name, value, { environment, projectId, featureName }, userName);
142
145
  res.status(200).json(updatedStrategy);
143
146
  }
144
147
  async getStrategyParameters(req, res) {
@@ -1 +1 @@
1
- {"version":3,"file":"features.js","sourceRoot":"","sources":["../../../../../src/lib/routes/admin-api/project/features.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"features.js","sourceRoot":"","sources":["../../../../../src/lib/routes/admin-api/project/features.ts"],"names":[],"mappings":"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"}
@@ -24,8 +24,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
24
24
  Object.defineProperty(exports, "__esModule", { value: true });
25
25
  const mime = __importStar(require("mime"));
26
26
  const js_yaml_1 = __importDefault(require("js-yaml"));
27
- const moment_1 = __importDefault(require("moment"));
28
27
  const multer_1 = __importDefault(require("multer"));
28
+ const date_fns_1 = require("date-fns");
29
29
  const controller_1 = __importDefault(require("../controller"));
30
30
  const permissions_1 = require("../../types/permissions");
31
31
  const extract_user_1 = require("../../util/extract-user");
@@ -92,7 +92,7 @@ class StateController extends controller_1.default {
92
92
  includeTags,
93
93
  includeEnvironments,
94
94
  });
95
- const timestamp = (0, moment_1.default)().format('YYYY-MM-DD_HH-mm-ss');
95
+ const timestamp = (0, date_fns_1.format)(Date.now(), 'yyyy-MM-dd_HH-mm-ss');
96
96
  if (format === 'yaml') {
97
97
  if (downloadFile) {
98
98
  res.attachment(`export-${timestamp}.yml`);
@@ -108,5 +108,4 @@ class StateController extends controller_1.default {
108
108
  }
109
109
  }
110
110
  exports.default = StateController;
111
- module.exports = StateController;
112
111
  //# sourceMappingURL=state.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"state.js","sourceRoot":"","sources":["../../../../src/lib/routes/admin-api/state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../../../src/lib/routes/admin-api/state.ts"],"names":[],"mappings":"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"}
@@ -8,14 +8,10 @@ const events_1 = require("events");
8
8
  const test_config_1 = require("../../../test/config/test-config");
9
9
  const store_1 = __importDefault(require("../../../test/fixtures/store"));
10
10
  const permissions_1 = __importDefault(require("../../../test/fixtures/permissions"));
11
- const no_logger_1 = __importDefault(require("../../../test/fixtures/no-logger"));
12
11
  const app_1 = __importDefault(require("../../app"));
13
12
  const services_1 = require("../../services");
14
13
  const eventBus = new events_1.EventEmitter();
15
- let request;
16
14
  let destroy;
17
- let strategyStore;
18
- let base;
19
15
  function getSetup() {
20
16
  const randomBase = `/random${Math.round(Math.random() * 1000)}`;
21
17
  const perms = (0, permissions_1.default)();
@@ -26,33 +22,23 @@ function getSetup() {
26
22
  });
27
23
  const services = (0, services_1.createServices)(stores, config);
28
24
  const app = (0, app_1.default)(config, stores, services, eventBus);
25
+ destroy = () => {
26
+ services.versionService.destroy();
27
+ services.clientMetricsService.destroy();
28
+ services.apiTokenService.destroy();
29
+ };
29
30
  return {
30
31
  base: randomBase,
31
32
  strategyStore: stores.strategyStore,
32
33
  request: (0, supertest_1.default)(app),
33
34
  perms,
34
- destroy: () => {
35
- services.versionService.destroy();
36
- services.clientMetricsService.destroy();
37
- services.apiTokenService.destroy();
38
- },
39
35
  };
40
36
  }
41
- beforeEach(() => {
42
- const setup = getSetup();
43
- request = setup.request;
44
- base = setup.base;
45
- strategyStore = setup.strategyStore;
46
- destroy = setup.destroy;
47
- });
48
37
  afterEach(() => {
49
38
  destroy();
50
39
  });
51
- afterEach(() => {
52
- no_logger_1.default.setMuteError(false);
53
- });
54
40
  test('add version numbers for /strategies', () => {
55
- expect.assertions(1);
41
+ const { request, base } = getSetup();
56
42
  return request
57
43
  .get(`${base}/api/admin/strategies`)
58
44
  .expect('Content-Type', /json/)
@@ -62,7 +48,7 @@ test('add version numbers for /strategies', () => {
62
48
  });
63
49
  });
64
50
  test('require a name when creating a new strategy', () => {
65
- expect.assertions(1);
51
+ const { request, base } = getSetup();
66
52
  return request
67
53
  .post(`${base}/api/admin/strategies`)
68
54
  .send({})
@@ -72,7 +58,7 @@ test('require a name when creating a new strategy', () => {
72
58
  });
73
59
  });
74
60
  test('require parameters array when creating a new stratey', () => {
75
- expect.assertions(1);
61
+ const { request, base } = getSetup();
76
62
  return request
77
63
  .post(`${base}/api/admin/strategies`)
78
64
  .send({ name: 'TestStrat' })
@@ -82,14 +68,14 @@ test('require parameters array when creating a new stratey', () => {
82
68
  });
83
69
  });
84
70
  test('create a new strategy with empty parameters', async () => {
85
- expect.assertions(0);
71
+ const { request, base } = getSetup();
86
72
  return request
87
73
  .post(`${base}/api/admin/strategies`)
88
74
  .send({ name: 'TestStrat', parameters: [] })
89
75
  .expect(201);
90
76
  });
91
77
  test('not be possible to override name', () => {
92
- expect.assertions(0);
78
+ const { request, base, strategyStore } = getSetup();
93
79
  strategyStore.createStrategy({ name: 'Testing', parameters: [] });
94
80
  return request
95
81
  .post(`${base}/api/admin/strategies`)
@@ -97,7 +83,7 @@ test('not be possible to override name', () => {
97
83
  .expect(409);
98
84
  });
99
85
  test('update strategy', () => {
100
- expect.assertions(0);
86
+ const { request, base, strategyStore } = getSetup();
101
87
  const name = 'AnotherStrat';
102
88
  strategyStore.createStrategy({ name, parameters: [] });
103
89
  return request
@@ -106,7 +92,7 @@ test('update strategy', () => {
106
92
  .expect(200);
107
93
  });
108
94
  test('not update unknown strategy', () => {
109
- expect.assertions(0);
95
+ const { request, base } = getSetup();
110
96
  const name = 'UnknownStrat';
111
97
  return request
112
98
  .put(`${base}/api/admin/strategies/${name}`)
@@ -114,7 +100,7 @@ test('not update unknown strategy', () => {
114
100
  .expect(404);
115
101
  });
116
102
  test('validate format when updating strategy', () => {
117
- expect.assertions(0);
103
+ const { request, base, strategyStore } = getSetup();
118
104
  const name = 'AnotherStrat';
119
105
  strategyStore.createStrategy({ name, parameters: [] });
120
106
  return request
@@ -123,14 +109,14 @@ test('validate format when updating strategy', () => {
123
109
  .expect(400);
124
110
  });
125
111
  test('editable=false will stop delete request', () => {
126
- no_logger_1.default.setMuteError(true);
127
- expect.assertions(0);
112
+ jest.spyOn(global.console, 'error').mockImplementation(() => jest.fn());
113
+ const { request, base } = getSetup();
128
114
  const name = 'default';
129
115
  return request.delete(`${base}/api/admin/strategies/${name}`).expect(500);
130
116
  });
131
117
  test('editable=false will stop edit request', () => {
132
- no_logger_1.default.setMuteError(true);
133
- expect.assertions(0);
118
+ jest.spyOn(global.console, 'error').mockImplementation(() => jest.fn());
119
+ const { request, base } = getSetup();
134
120
  const name = 'default';
135
121
  return request
136
122
  .put(`${base}/api/admin/strategies/${name}`)
@@ -138,7 +124,7 @@ test('editable=false will stop edit request', () => {
138
124
  .expect(500);
139
125
  });
140
126
  test('editable=true will allow delete request', () => {
141
- expect.assertions(0);
127
+ const { request, base, strategyStore } = getSetup();
142
128
  const name = 'deleteStrat';
143
129
  strategyStore.createStrategy({ name, parameters: [] });
144
130
  return request
@@ -147,7 +133,7 @@ test('editable=true will allow delete request', () => {
147
133
  .expect(200);
148
134
  });
149
135
  test('editable=true will allow edit request', () => {
150
- expect.assertions(0);
136
+ const { request, base, strategyStore } = getSetup();
151
137
  const name = 'editStrat';
152
138
  strategyStore.createStrategy({ name, parameters: [] });
153
139
  return request
@@ -156,7 +142,7 @@ test('editable=true will allow edit request', () => {
156
142
  .expect(200);
157
143
  });
158
144
  test('deprecating a strategy works', async () => {
159
- expect.assertions(1);
145
+ const { request, base, strategyStore } = getSetup();
160
146
  const name = 'editStrat';
161
147
  strategyStore.createStrategy({ name, parameters: [] });
162
148
  await request
@@ -170,14 +156,14 @@ test('deprecating a strategy works', async () => {
170
156
  .expect((res) => expect(res.body.deprecated).toBe(true));
171
157
  });
172
158
  test('deprecating a non-existent strategy yields 404', () => {
173
- expect.assertions(0);
159
+ const { request, base } = getSetup();
174
160
  return request
175
161
  .post(`${base}/api/admin/strategies/non-existent-strategy/deprecate`)
176
162
  .set('Content-Type', 'application/json')
177
163
  .expect(404);
178
164
  });
179
165
  test('reactivating a strategy works', async () => {
180
- expect.assertions(1);
166
+ const { request, base, strategyStore } = getSetup();
181
167
  const name = 'editStrat';
182
168
  strategyStore.createStrategy({ name, parameters: [] });
183
169
  await request
@@ -191,14 +177,15 @@ test('reactivating a strategy works', async () => {
191
177
  .expect((res) => expect(res.body.deprecated).toBe(false));
192
178
  });
193
179
  test('reactivating a non-existent strategy yields 404', () => {
194
- expect.assertions(0);
180
+ const { request, base } = getSetup();
195
181
  return request
196
182
  .post(`${base}/api/admin/strategies/non-existent-strategy/reactivate`)
197
183
  .set('Content-Type', 'application/json')
198
184
  .expect(404);
199
185
  });
200
186
  test("deprecating 'default' strategy will yield 403", () => {
201
- expect.assertions(0);
187
+ jest.spyOn(global.console, 'error').mockImplementation(() => jest.fn());
188
+ const { request, base } = getSetup();
202
189
  return request
203
190
  .post(`${base}/api/admin/strategies/default/deprecate`)
204
191
  .set('Content-Type', 'application/json')