unleash-server 5.7.2 → 5.8.1

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 (794) hide show
  1. package/dist/lib/addons/datadog-definition.js +1 -1
  2. package/dist/lib/addons/datadog-definition.js.map +1 -1
  3. package/dist/lib/addons/datadog.test.js +7 -0
  4. package/dist/lib/addons/datadog.test.js.map +1 -1
  5. package/dist/lib/addons/feature-event-formatter-md.test.js +16 -0
  6. package/dist/lib/addons/feature-event-formatter-md.test.js.map +1 -1
  7. package/dist/lib/addons/slack-app.test.js +2 -0
  8. package/dist/lib/addons/slack-app.test.js.map +1 -1
  9. package/dist/lib/addons/slack.test.js +9 -0
  10. package/dist/lib/addons/slack.test.js.map +1 -1
  11. package/dist/lib/addons/teams.test.js +6 -0
  12. package/dist/lib/addons/teams.test.js.map +1 -1
  13. package/dist/lib/addons/webhook.test.js +5 -0
  14. package/dist/lib/addons/webhook.test.js.map +1 -1
  15. package/dist/lib/app.js +4 -3
  16. package/dist/lib/app.js.map +1 -1
  17. package/dist/lib/app.test.js +38 -0
  18. package/dist/lib/app.test.js.map +1 -1
  19. package/dist/lib/create-config.d.ts.map +1 -1
  20. package/dist/lib/create-config.js +3 -0
  21. package/dist/lib/create-config.js.map +1 -1
  22. package/dist/lib/db/access-store.d.ts.map +1 -1
  23. package/dist/lib/db/access-store.js +26 -2
  24. package/dist/lib/db/access-store.js.map +1 -1
  25. package/dist/lib/db/access-store.test.js +13 -0
  26. package/dist/lib/db/access-store.test.js.map +1 -1
  27. package/dist/lib/db/account-store.d.ts.map +1 -1
  28. package/dist/lib/db/account-store.js +1 -0
  29. package/dist/lib/db/account-store.js.map +1 -1
  30. package/dist/lib/db/event-store.d.ts +1 -0
  31. package/dist/lib/db/event-store.d.ts.map +1 -1
  32. package/dist/lib/db/event-store.js +3 -0
  33. package/dist/lib/db/event-store.js.map +1 -1
  34. package/dist/lib/db/feature-strategy-store.test.js +3 -0
  35. package/dist/lib/db/feature-strategy-store.test.js.map +1 -1
  36. package/dist/lib/db/feature-tag-store.d.ts +6 -5
  37. package/dist/lib/db/feature-tag-store.d.ts.map +1 -1
  38. package/dist/lib/db/feature-tag-store.js +15 -5
  39. package/dist/lib/db/feature-tag-store.js.map +1 -1
  40. package/dist/lib/db/index.d.ts.map +1 -1
  41. package/dist/lib/db/index.js +3 -1
  42. package/dist/lib/db/index.js.map +1 -1
  43. package/dist/lib/db/user-store.d.ts.map +1 -1
  44. package/dist/lib/db/user-store.js +1 -0
  45. package/dist/lib/db/user-store.js.map +1 -1
  46. package/dist/lib/features/access/createAccessService.js +2 -2
  47. package/dist/lib/features/access/createAccessService.js.map +1 -1
  48. package/dist/lib/features/change-request-segment-usage-service/change-request-segment-usage-read-model.test.js +1 -0
  49. package/dist/lib/features/change-request-segment-usage-service/change-request-segment-usage-read-model.test.js.map +1 -1
  50. package/dist/lib/features/dependent-features/dependent-features-service.d.ts +4 -4
  51. package/dist/lib/features/dependent-features/dependent-features-service.d.ts.map +1 -1
  52. package/dist/lib/features/dependent-features/dependent-features-service.js +11 -8
  53. package/dist/lib/features/dependent-features/dependent-features-service.js.map +1 -1
  54. package/dist/lib/features/export-import-toggles/export-import-controller.d.ts.map +1 -1
  55. package/dist/lib/features/export-import-toggles/export-import-controller.js +1 -1
  56. package/dist/lib/features/export-import-toggles/export-import-controller.js.map +1 -1
  57. package/dist/lib/features/export-import-toggles/export-import-service.d.ts +2 -2
  58. package/dist/lib/features/export-import-toggles/export-import-service.d.ts.map +1 -1
  59. package/dist/lib/features/export-import-toggles/export-import-service.js +27 -17
  60. package/dist/lib/features/export-import-toggles/export-import-service.js.map +1 -1
  61. package/dist/lib/features/export-import-toggles/export-import.e2e.test.js +35 -5
  62. package/dist/lib/features/export-import-toggles/export-import.e2e.test.js.map +1 -1
  63. package/dist/lib/features/feature-search/createFeatureSearchService.d.ts.map +1 -1
  64. package/dist/lib/features/feature-search/createFeatureSearchService.js +6 -6
  65. package/dist/lib/features/feature-search/createFeatureSearchService.js.map +1 -1
  66. package/dist/lib/features/feature-search/fake-feature-search-store.d.ts +10 -0
  67. package/dist/lib/features/feature-search/fake-feature-search-store.d.ts.map +1 -0
  68. package/dist/lib/features/feature-search/fake-feature-search-store.js +9 -0
  69. package/dist/lib/features/feature-search/fake-feature-search-store.js.map +1 -0
  70. package/dist/lib/features/feature-search/feature-search-controller.d.ts.map +1 -1
  71. package/dist/lib/features/feature-search/feature-search-controller.js +4 -3
  72. package/dist/lib/features/feature-search/feature-search-controller.js.map +1 -1
  73. package/dist/lib/features/feature-search/feature-search-service.d.ts +2 -2
  74. package/dist/lib/features/feature-search/feature-search-service.d.ts.map +1 -1
  75. package/dist/lib/features/feature-search/feature-search-service.js +9 -4
  76. package/dist/lib/features/feature-search/feature-search-service.js.map +1 -1
  77. package/dist/lib/features/feature-search/feature-search-store-type.d.ts +9 -0
  78. package/dist/lib/features/feature-search/feature-search-store-type.d.ts.map +1 -0
  79. package/dist/lib/features/feature-search/feature-search-store-type.js +3 -0
  80. package/dist/lib/features/feature-search/feature-search-store-type.js.map +1 -0
  81. package/dist/lib/features/feature-search/feature-search-store.d.ts +24 -0
  82. package/dist/lib/features/feature-search/feature-search-store.d.ts.map +1 -0
  83. package/dist/lib/features/feature-search/feature-search-store.js +323 -0
  84. package/dist/lib/features/feature-search/feature-search-store.js.map +1 -0
  85. package/dist/lib/features/feature-search/feature.search.e2e.test.js +101 -6
  86. package/dist/lib/features/feature-search/feature.search.e2e.test.js.map +1 -1
  87. package/dist/lib/features/feature-toggle/archive-feature-toggle-controller.d.ts.map +1 -1
  88. package/dist/lib/features/feature-toggle/archive-feature-toggle-controller.js +2 -2
  89. package/dist/lib/features/feature-toggle/archive-feature-toggle-controller.js.map +1 -1
  90. package/dist/lib/features/feature-toggle/createFeatureToggleService.js +2 -2
  91. package/dist/lib/features/feature-toggle/createFeatureToggleService.js.map +1 -1
  92. package/dist/lib/features/feature-toggle/fakes/fake-feature-strategies-store.d.ts +1 -5
  93. package/dist/lib/features/feature-toggle/fakes/fake-feature-strategies-store.d.ts.map +1 -1
  94. package/dist/lib/features/feature-toggle/fakes/fake-feature-strategies-store.js +0 -3
  95. package/dist/lib/features/feature-toggle/fakes/fake-feature-strategies-store.js.map +1 -1
  96. package/dist/lib/features/feature-toggle/fakes/fake-feature-toggle-store.d.ts +5 -2
  97. package/dist/lib/features/feature-toggle/fakes/fake-feature-toggle-store.d.ts.map +1 -1
  98. package/dist/lib/features/feature-toggle/fakes/fake-feature-toggle-store.js +3 -0
  99. package/dist/lib/features/feature-toggle/fakes/fake-feature-toggle-store.js.map +1 -1
  100. package/dist/lib/features/feature-toggle/feature-toggle-controller.d.ts.map +1 -1
  101. package/dist/lib/features/feature-toggle/feature-toggle-controller.js +7 -7
  102. package/dist/lib/features/feature-toggle/feature-toggle-controller.js.map +1 -1
  103. package/dist/lib/features/feature-toggle/feature-toggle-service.d.ts +25 -23
  104. package/dist/lib/features/feature-toggle/feature-toggle-service.d.ts.map +1 -1
  105. package/dist/lib/features/feature-toggle/feature-toggle-service.js +79 -51
  106. package/dist/lib/features/feature-toggle/feature-toggle-service.js.map +1 -1
  107. package/dist/lib/features/feature-toggle/feature-toggle-store.d.ts +10 -3
  108. package/dist/lib/features/feature-toggle/feature-toggle-store.d.ts.map +1 -1
  109. package/dist/lib/features/feature-toggle/feature-toggle-store.js +44 -13
  110. package/dist/lib/features/feature-toggle/feature-toggle-store.js.map +1 -1
  111. package/dist/lib/features/feature-toggle/feature-toggle-strategies-store.d.ts +0 -5
  112. package/dist/lib/features/feature-toggle/feature-toggle-strategies-store.d.ts.map +1 -1
  113. package/dist/lib/features/feature-toggle/feature-toggle-strategies-store.js +2 -201
  114. package/dist/lib/features/feature-toggle/feature-toggle-strategies-store.js.map +1 -1
  115. package/dist/lib/features/feature-toggle/legacy/feature-toggle-legacy-controller.d.ts.map +1 -1
  116. package/dist/lib/features/feature-toggle/legacy/feature-toggle-legacy-controller.js +20 -16
  117. package/dist/lib/features/feature-toggle/legacy/feature-toggle-legacy-controller.js.map +1 -1
  118. package/dist/lib/features/feature-toggle/tests/archive-feature-toggles.e2e.test.js +4 -0
  119. package/dist/lib/features/feature-toggle/tests/archive-feature-toggles.e2e.test.js.map +1 -1
  120. package/dist/lib/features/feature-toggle/tests/feature-toggle-service.e2e.test.js +24 -23
  121. package/dist/lib/features/feature-toggle/tests/feature-toggle-service.e2e.test.js.map +1 -1
  122. package/dist/lib/features/feature-toggle/tests/feature-toggle-store.e2e.test.js +17 -3
  123. package/dist/lib/features/feature-toggle/tests/feature-toggle-store.e2e.test.js.map +1 -1
  124. package/dist/lib/features/feature-toggle/tests/feature-toggle-strategies-store.e2e.test.js +17 -3
  125. package/dist/lib/features/feature-toggle/tests/feature-toggle-strategies-store.e2e.test.js.map +1 -1
  126. package/dist/lib/features/feature-toggle/tests/feature-toggles.auth.e2e.test.js +9 -3
  127. package/dist/lib/features/feature-toggle/tests/feature-toggles.auth.e2e.test.js.map +1 -1
  128. package/dist/lib/features/feature-toggle/tests/feature-toggles.e2e.test.js +21 -7
  129. package/dist/lib/features/feature-toggle/tests/feature-toggles.e2e.test.js.map +1 -1
  130. package/dist/lib/features/feature-toggle/types/feature-toggle-store-type.d.ts +5 -2
  131. package/dist/lib/features/feature-toggle/types/feature-toggle-store-type.d.ts.map +1 -1
  132. package/dist/lib/features/feature-toggle/types/feature-toggle-strategies-store-type.d.ts +2 -5
  133. package/dist/lib/features/feature-toggle/types/feature-toggle-strategies-store-type.d.ts.map +1 -1
  134. package/dist/lib/features/index.d.ts +1 -0
  135. package/dist/lib/features/index.d.ts.map +1 -1
  136. package/dist/lib/features/index.js +1 -0
  137. package/dist/lib/features/index.js.map +1 -1
  138. package/dist/lib/features/maintenance/maintenance-controller.d.ts.map +1 -1
  139. package/dist/lib/features/maintenance/maintenance-controller.js +1 -1
  140. package/dist/lib/features/maintenance/maintenance-controller.js.map +1 -1
  141. package/dist/lib/features/maintenance/maintenance-service.d.ts +1 -1
  142. package/dist/lib/features/maintenance/maintenance-service.d.ts.map +1 -1
  143. package/dist/lib/features/maintenance/maintenance-service.js +2 -2
  144. package/dist/lib/features/maintenance/maintenance-service.js.map +1 -1
  145. package/dist/lib/features/maintenance/maintenance-service.test.js +1 -1
  146. package/dist/lib/features/maintenance/maintenance-service.test.js.map +1 -1
  147. package/dist/lib/features/playground/advanced-playground.test.js +0 -1
  148. package/dist/lib/features/playground/advanced-playground.test.js.map +1 -1
  149. package/dist/lib/features/playground/playground-service.d.ts.map +1 -1
  150. package/dist/lib/features/playground/playground-service.js +9 -11
  151. package/dist/lib/features/playground/playground-service.js.map +1 -1
  152. package/dist/lib/features/private-project/fakePrivateProjectChecker.d.ts.map +1 -1
  153. package/dist/lib/features/private-project/fakePrivateProjectChecker.js +2 -1
  154. package/dist/lib/features/private-project/fakePrivateProjectChecker.js.map +1 -1
  155. package/dist/lib/features/project/createProjectService.js +2 -2
  156. package/dist/lib/features/project/createProjectService.js.map +1 -1
  157. package/dist/lib/features/project-environments/createEnvironmentService.d.ts +6 -0
  158. package/dist/lib/features/project-environments/createEnvironmentService.d.ts.map +1 -0
  159. package/dist/lib/features/project-environments/createEnvironmentService.js +60 -0
  160. package/dist/lib/features/project-environments/createEnvironmentService.js.map +1 -0
  161. package/dist/lib/{services → features/project-environments}/environment-service.d.ts +6 -6
  162. package/dist/lib/features/project-environments/environment-service.d.ts.map +1 -0
  163. package/dist/lib/{services → features/project-environments}/environment-service.js +13 -10
  164. package/dist/lib/features/project-environments/environment-service.js.map +1 -0
  165. package/dist/lib/features/project-environments/environment-service.test.d.ts.map +1 -0
  166. package/dist/{test/e2e/services → lib/features/project-environments}/environment-service.test.js +24 -18
  167. package/dist/lib/features/project-environments/environment-service.test.js.map +1 -0
  168. package/dist/lib/{types/stores/environment-store.d.ts → features/project-environments/environment-store-type.d.ts} +3 -3
  169. package/dist/lib/features/project-environments/environment-store-type.d.ts.map +1 -0
  170. package/dist/lib/{types/stores/environment-store.js → features/project-environments/environment-store-type.js} +1 -1
  171. package/dist/lib/features/project-environments/environment-store-type.js.map +1 -0
  172. package/dist/lib/{db → features/project-environments}/environment-store.d.ts +4 -4
  173. package/dist/lib/features/project-environments/environment-store.d.ts.map +1 -0
  174. package/dist/lib/{db → features/project-environments}/environment-store.js +4 -4
  175. package/dist/lib/features/project-environments/environment-store.js.map +1 -0
  176. package/dist/lib/{routes/admin-api/project → features/project-environments}/environments.d.ts +5 -5
  177. package/dist/lib/features/project-environments/environments.d.ts.map +1 -0
  178. package/dist/lib/features/project-environments/environments.e2e.test.d.ts.map +1 -0
  179. package/dist/{test/e2e/api/admin/project → lib/features/project-environments}/environments.e2e.test.js +4 -4
  180. package/dist/lib/features/project-environments/environments.e2e.test.js.map +1 -0
  181. package/dist/lib/{routes/admin-api/project → features/project-environments}/environments.js +9 -9
  182. package/dist/lib/features/project-environments/environments.js.map +1 -0
  183. package/dist/{test/fixtures → lib/features/project-environments}/fake-environment-store.d.ts +2 -2
  184. package/dist/lib/features/project-environments/fake-environment-store.d.ts.map +1 -0
  185. package/dist/{test/fixtures → lib/features/project-environments}/fake-environment-store.js +1 -1
  186. package/dist/lib/features/project-environments/fake-environment-store.js.map +1 -0
  187. package/dist/lib/features/scheduler/scheduler-service.test.js +1 -1
  188. package/dist/lib/features/scheduler/scheduler-service.test.js.map +1 -1
  189. package/dist/lib/features/segment/segment-controller.d.ts +1 -1
  190. package/dist/lib/features/segment/segment-controller.d.ts.map +1 -1
  191. package/dist/lib/features/segment/segment-controller.js +1 -1
  192. package/dist/lib/features/segment/segment-controller.js.map +1 -1
  193. package/dist/lib/features/tag-type/tag-type-service.d.ts +3 -3
  194. package/dist/lib/features/tag-type/tag-type-service.d.ts.map +1 -1
  195. package/dist/lib/features/tag-type/tag-type-service.js +10 -6
  196. package/dist/lib/features/tag-type/tag-type-service.js.map +1 -1
  197. package/dist/lib/features/tag-type/tag-type.d.ts.map +1 -1
  198. package/dist/lib/features/tag-type/tag-type.js +3 -3
  199. package/dist/lib/features/tag-type/tag-type.js.map +1 -1
  200. package/dist/lib/metrics.d.ts +2 -0
  201. package/dist/lib/metrics.d.ts.map +1 -1
  202. package/dist/lib/metrics.js +42 -16
  203. package/dist/lib/metrics.js.map +1 -1
  204. package/dist/lib/metrics.test.js +25 -1
  205. package/dist/lib/metrics.test.js.map +1 -1
  206. package/dist/lib/middleware/api-token-middleware.d.ts.map +1 -1
  207. package/dist/lib/middleware/api-token-middleware.js +6 -1
  208. package/dist/lib/middleware/api-token-middleware.js.map +1 -1
  209. package/dist/lib/middleware/api-token-middleware.test.js +25 -0
  210. package/dist/lib/middleware/api-token-middleware.test.js.map +1 -1
  211. package/dist/lib/middleware/cors-origin-middleware.d.ts.map +1 -1
  212. package/dist/lib/middleware/cors-origin-middleware.js +5 -1
  213. package/dist/lib/middleware/cors-origin-middleware.js.map +1 -1
  214. package/dist/lib/middleware/cors-origin-middleware.test.js +7 -6
  215. package/dist/lib/middleware/cors-origin-middleware.test.js.map +1 -1
  216. package/dist/lib/middleware/secure-headers.d.ts.map +1 -1
  217. package/dist/lib/middleware/secure-headers.js +49 -1
  218. package/dist/lib/middleware/secure-headers.js.map +1 -1
  219. package/dist/lib/openapi/index.d.ts.map +1 -1
  220. package/dist/lib/openapi/index.js +6 -3
  221. package/dist/lib/openapi/index.js.map +1 -1
  222. package/dist/lib/openapi/spec/create-user-response-schema.d.ts +1 -0
  223. package/dist/lib/openapi/spec/create-user-response-schema.d.ts.map +1 -1
  224. package/dist/lib/openapi/spec/deprecated-project-overview-schema.d.ts +2563 -0
  225. package/dist/lib/openapi/spec/deprecated-project-overview-schema.d.ts.map +1 -0
  226. package/dist/lib/openapi/spec/deprecated-project-overview-schema.js +143 -0
  227. package/dist/lib/openapi/spec/deprecated-project-overview-schema.js.map +1 -0
  228. package/dist/lib/openapi/spec/deprecated-project-overview-schema.test.d.ts +2 -0
  229. package/dist/lib/openapi/spec/deprecated-project-overview-schema.test.d.ts.map +1 -0
  230. package/dist/lib/openapi/spec/deprecated-project-overview-schema.test.js +17 -0
  231. package/dist/lib/openapi/spec/deprecated-project-overview-schema.test.js.map +1 -0
  232. package/dist/lib/openapi/spec/event-schema.d.ts +7 -1
  233. package/dist/lib/openapi/spec/event-schema.d.ts.map +1 -1
  234. package/dist/lib/openapi/spec/event-schema.js +6 -0
  235. package/dist/lib/openapi/spec/event-schema.js.map +1 -1
  236. package/dist/lib/openapi/spec/events-schema.d.ts +7 -1
  237. package/dist/lib/openapi/spec/events-schema.d.ts.map +1 -1
  238. package/dist/lib/openapi/spec/export-query-schema.d.ts +22 -3
  239. package/dist/lib/openapi/spec/export-query-schema.d.ts.map +1 -1
  240. package/dist/lib/openapi/spec/export-query-schema.js +14 -3
  241. package/dist/lib/openapi/spec/export-query-schema.js.map +1 -1
  242. package/dist/lib/openapi/spec/export-result-schema.d.ts +6 -0
  243. package/dist/lib/openapi/spec/export-result-schema.d.ts.map +1 -1
  244. package/dist/lib/openapi/spec/feature-events-schema.d.ts +7 -1
  245. package/dist/lib/openapi/spec/feature-events-schema.d.ts.map +1 -1
  246. package/dist/lib/openapi/spec/feature-search-query-parameters.d.ts +15 -6
  247. package/dist/lib/openapi/spec/feature-search-query-parameters.d.ts.map +1 -1
  248. package/dist/lib/openapi/spec/feature-search-query-parameters.js +16 -6
  249. package/dist/lib/openapi/spec/feature-search-query-parameters.js.map +1 -1
  250. package/dist/lib/openapi/spec/feature-search-response-schema.d.ts +1016 -0
  251. package/dist/lib/openapi/spec/feature-search-response-schema.d.ts.map +1 -0
  252. package/dist/lib/openapi/spec/feature-search-response-schema.js +177 -0
  253. package/dist/lib/openapi/spec/feature-search-response-schema.js.map +1 -0
  254. package/dist/lib/openapi/spec/feature-tag-schema.d.ts +6 -0
  255. package/dist/lib/openapi/spec/feature-tag-schema.d.ts.map +1 -1
  256. package/dist/lib/openapi/spec/feature-tag-schema.js +6 -0
  257. package/dist/lib/openapi/spec/feature-tag-schema.js.map +1 -1
  258. package/dist/lib/openapi/spec/feature-type-count-schema.d.ts +25 -0
  259. package/dist/lib/openapi/spec/feature-type-count-schema.d.ts.map +1 -0
  260. package/dist/lib/openapi/spec/feature-type-count-schema.js +26 -0
  261. package/dist/lib/openapi/spec/feature-type-count-schema.js.map +1 -0
  262. package/dist/lib/openapi/spec/feature-type-count-schema.test.d.ts +2 -0
  263. package/dist/lib/openapi/spec/feature-type-count-schema.test.d.ts.map +1 -0
  264. package/dist/lib/openapi/spec/feature-type-count-schema.test.js +12 -0
  265. package/dist/lib/openapi/spec/feature-type-count-schema.test.js.map +1 -0
  266. package/dist/lib/openapi/spec/group-schema.d.ts +2 -0
  267. package/dist/lib/openapi/spec/group-schema.d.ts.map +1 -1
  268. package/dist/lib/openapi/spec/group-user-model-schema.d.ts +1 -0
  269. package/dist/lib/openapi/spec/group-user-model-schema.d.ts.map +1 -1
  270. package/dist/lib/openapi/spec/groups-schema.d.ts +4 -0
  271. package/dist/lib/openapi/spec/groups-schema.d.ts.map +1 -1
  272. package/dist/lib/openapi/spec/import-toggles-schema.d.ts +12 -0
  273. package/dist/lib/openapi/spec/import-toggles-schema.d.ts.map +1 -1
  274. package/dist/lib/openapi/spec/index.d.ts +3 -0
  275. package/dist/lib/openapi/spec/index.d.ts.map +1 -1
  276. package/dist/lib/openapi/spec/index.js +3 -0
  277. package/dist/lib/openapi/spec/index.js.map +1 -1
  278. package/dist/lib/openapi/spec/me-schema.d.ts +1 -0
  279. package/dist/lib/openapi/spec/me-schema.d.ts.map +1 -1
  280. package/dist/lib/openapi/spec/project-overview-schema.d.ts +26 -4
  281. package/dist/lib/openapi/spec/project-overview-schema.d.ts.map +1 -1
  282. package/dist/lib/openapi/spec/project-overview-schema.js +6 -4
  283. package/dist/lib/openapi/spec/project-overview-schema.js.map +1 -1
  284. package/dist/lib/openapi/spec/project-overview-schema.test.js +7 -1
  285. package/dist/lib/openapi/spec/project-overview-schema.test.js.map +1 -1
  286. package/dist/lib/openapi/spec/public-signup-token-schema.d.ts +1 -0
  287. package/dist/lib/openapi/spec/public-signup-token-schema.d.ts.map +1 -1
  288. package/dist/lib/openapi/spec/public-signup-tokens-schema.d.ts +2 -0
  289. package/dist/lib/openapi/spec/public-signup-tokens-schema.d.ts.map +1 -1
  290. package/dist/lib/openapi/spec/search-events-schema.d.ts +1 -1
  291. package/dist/lib/openapi/spec/search-features-schema.d.ts +12 -4
  292. package/dist/lib/openapi/spec/search-features-schema.d.ts.map +1 -1
  293. package/dist/lib/openapi/spec/search-features-schema.js +4 -4
  294. package/dist/lib/openapi/spec/search-features-schema.js.map +1 -1
  295. package/dist/lib/openapi/spec/{admin-strategies-schema.d.ts → segment-strategies-schema.d.ts} +37 -1
  296. package/dist/lib/openapi/spec/segment-strategies-schema.d.ts.map +1 -0
  297. package/dist/lib/openapi/spec/{admin-strategies-schema.js → segment-strategies-schema.js} +42 -1
  298. package/dist/lib/openapi/spec/segment-strategies-schema.js.map +1 -0
  299. package/dist/lib/openapi/spec/segment-strategies-schema.test.d.ts +2 -0
  300. package/dist/lib/openapi/spec/segment-strategies-schema.test.d.ts.map +1 -0
  301. package/dist/lib/openapi/spec/{admin-strategies-schema.test.js → segment-strategies-schema.test.js} +1 -1
  302. package/dist/lib/openapi/spec/segment-strategies-schema.test.js.map +1 -0
  303. package/dist/lib/openapi/spec/state-schema.d.ts +6 -0
  304. package/dist/lib/openapi/spec/state-schema.d.ts.map +1 -1
  305. package/dist/lib/openapi/spec/ui-config-schema.d.ts +5 -0
  306. package/dist/lib/openapi/spec/ui-config-schema.d.ts.map +1 -1
  307. package/dist/lib/openapi/spec/ui-config-schema.js +5 -0
  308. package/dist/lib/openapi/spec/ui-config-schema.js.map +1 -1
  309. package/dist/lib/openapi/spec/user-schema.d.ts +1 -0
  310. package/dist/lib/openapi/spec/user-schema.d.ts.map +1 -1
  311. package/dist/lib/openapi/spec/user-schema.js +1 -0
  312. package/dist/lib/openapi/spec/user-schema.js.map +1 -1
  313. package/dist/lib/openapi/spec/users-groups-base-schema.d.ts +4 -0
  314. package/dist/lib/openapi/spec/users-groups-base-schema.d.ts.map +1 -1
  315. package/dist/lib/openapi/spec/users-schema.d.ts +1 -0
  316. package/dist/lib/openapi/spec/users-schema.d.ts.map +1 -1
  317. package/dist/lib/openapi/spec/users-search-schema.d.ts +1 -0
  318. package/dist/lib/openapi/spec/users-search-schema.d.ts.map +1 -1
  319. package/dist/lib/openapi/util/create-request-schema.d.ts.map +1 -1
  320. package/dist/lib/openapi/util/create-request-schema.js +3 -1
  321. package/dist/lib/openapi/util/create-request-schema.js.map +1 -1
  322. package/dist/lib/openapi/util/create-response-schema.d.ts.map +1 -1
  323. package/dist/lib/openapi/util/create-response-schema.js +6 -2
  324. package/dist/lib/openapi/util/create-response-schema.js.map +1 -1
  325. package/dist/lib/routes/admin-api/addon.d.ts.map +1 -1
  326. package/dist/lib/routes/admin-api/addon.js +3 -3
  327. package/dist/lib/routes/admin-api/addon.js.map +1 -1
  328. package/dist/lib/routes/admin-api/api-token.d.ts.map +1 -1
  329. package/dist/lib/routes/admin-api/api-token.js +2 -2
  330. package/dist/lib/routes/admin-api/api-token.js.map +1 -1
  331. package/dist/lib/routes/admin-api/config.d.ts.map +1 -1
  332. package/dist/lib/routes/admin-api/config.js +2 -1
  333. package/dist/lib/routes/admin-api/config.js.map +1 -1
  334. package/dist/lib/routes/admin-api/context.d.ts.map +1 -1
  335. package/dist/lib/routes/admin-api/context.js +3 -3
  336. package/dist/lib/routes/admin-api/context.js.map +1 -1
  337. package/dist/lib/routes/admin-api/events.test.js +13 -5
  338. package/dist/lib/routes/admin-api/events.test.js.map +1 -1
  339. package/dist/lib/routes/admin-api/index.js +2 -2
  340. package/dist/lib/routes/admin-api/index.js.map +1 -1
  341. package/dist/lib/routes/admin-api/project/api-token.d.ts.map +1 -1
  342. package/dist/lib/routes/admin-api/project/api-token.js +1 -1
  343. package/dist/lib/routes/admin-api/project/api-token.js.map +1 -1
  344. package/dist/lib/routes/admin-api/project/{index.d.ts → project-api.d.ts} +4 -2
  345. package/dist/lib/routes/admin-api/project/project-api.d.ts.map +1 -0
  346. package/dist/lib/routes/admin-api/project/{index.js → project-api.js} +29 -3
  347. package/dist/lib/routes/admin-api/project/project-api.js.map +1 -0
  348. package/dist/lib/routes/admin-api/project/project-archive.d.ts.map +1 -1
  349. package/dist/lib/routes/admin-api/project/project-archive.js +2 -2
  350. package/dist/lib/routes/admin-api/project/project-archive.js.map +1 -1
  351. package/dist/lib/routes/admin-api/project/variants.d.ts.map +1 -1
  352. package/dist/lib/routes/admin-api/project/variants.js +1 -1
  353. package/dist/lib/routes/admin-api/project/variants.js.map +1 -1
  354. package/dist/lib/routes/admin-api/public-signup.d.ts.map +1 -1
  355. package/dist/lib/routes/admin-api/public-signup.js +2 -2
  356. package/dist/lib/routes/admin-api/public-signup.js.map +1 -1
  357. package/dist/lib/routes/admin-api/state.d.ts.map +1 -1
  358. package/dist/lib/routes/admin-api/state.js +1 -0
  359. package/dist/lib/routes/admin-api/state.js.map +1 -1
  360. package/dist/lib/routes/admin-api/strategy.d.ts.map +1 -1
  361. package/dist/lib/routes/admin-api/strategy.js +5 -5
  362. package/dist/lib/routes/admin-api/strategy.js.map +1 -1
  363. package/dist/lib/routes/admin-api/tag.d.ts.map +1 -1
  364. package/dist/lib/routes/admin-api/tag.js +2 -2
  365. package/dist/lib/routes/admin-api/tag.js.map +1 -1
  366. package/dist/lib/routes/client-api/metrics.test.js +2 -0
  367. package/dist/lib/routes/client-api/metrics.test.js.map +1 -1
  368. package/dist/lib/routes/edge-api/index.d.ts +1 -0
  369. package/dist/lib/routes/edge-api/index.d.ts.map +1 -1
  370. package/dist/lib/routes/edge-api/index.js +25 -13
  371. package/dist/lib/routes/edge-api/index.js.map +1 -1
  372. package/dist/lib/routes/proxy-api/index.js +1 -1
  373. package/dist/lib/routes/proxy-api/index.js.map +1 -1
  374. package/dist/lib/schema/feature-schema.d.ts.map +1 -1
  375. package/dist/lib/schema/feature-schema.js +2 -0
  376. package/dist/lib/schema/feature-schema.js.map +1 -1
  377. package/dist/lib/server-impl.d.ts.map +1 -1
  378. package/dist/lib/server-impl.js +1 -0
  379. package/dist/lib/server-impl.js.map +1 -1
  380. package/dist/lib/services/access-service.d.ts +3 -1
  381. package/dist/lib/services/access-service.d.ts.map +1 -1
  382. package/dist/lib/services/access-service.js +8 -2
  383. package/dist/lib/services/access-service.js.map +1 -1
  384. package/dist/lib/services/access-service.test.js +12 -2
  385. package/dist/lib/services/access-service.test.js.map +1 -1
  386. package/dist/lib/services/addon-service.d.ts +3 -3
  387. package/dist/lib/services/addon-service.d.ts.map +1 -1
  388. package/dist/lib/services/addon-service.js +8 -4
  389. package/dist/lib/services/addon-service.js.map +1 -1
  390. package/dist/lib/services/addon-service.test.js +64 -43
  391. package/dist/lib/services/addon-service.test.js.map +1 -1
  392. package/dist/lib/services/api-token-service.d.ts +4 -4
  393. package/dist/lib/services/api-token-service.d.ts.map +1 -1
  394. package/dist/lib/services/api-token-service.js +12 -9
  395. package/dist/lib/services/api-token-service.js.map +1 -1
  396. package/dist/lib/services/api-token-service.test.js +5 -6
  397. package/dist/lib/services/api-token-service.test.js.map +1 -1
  398. package/dist/lib/services/client-metrics/instance-service.d.ts +2 -1
  399. package/dist/lib/services/client-metrics/instance-service.d.ts.map +1 -1
  400. package/dist/lib/services/client-metrics/instance-service.js +15 -17
  401. package/dist/lib/services/client-metrics/instance-service.js.map +1 -1
  402. package/dist/lib/services/client-metrics/last-seen/last-seen-store.d.ts +0 -5
  403. package/dist/lib/services/client-metrics/last-seen/last-seen-store.d.ts.map +1 -1
  404. package/dist/lib/services/client-metrics/last-seen/last-seen-store.js.map +1 -1
  405. package/dist/lib/services/client-metrics/last-seen/tests/last-seen-service.e2e.test.js +2 -2
  406. package/dist/lib/services/client-metrics/last-seen/tests/last-seen-service.e2e.test.js.map +1 -1
  407. package/dist/lib/services/context-service.d.ts +3 -3
  408. package/dist/lib/services/context-service.d.ts.map +1 -1
  409. package/dist/lib/services/context-service.js +14 -13
  410. package/dist/lib/services/context-service.js.map +1 -1
  411. package/dist/lib/services/email-service.d.ts +10 -3
  412. package/dist/lib/services/email-service.d.ts.map +1 -1
  413. package/dist/lib/services/email-service.js +98 -2
  414. package/dist/lib/services/email-service.js.map +1 -1
  415. package/dist/lib/services/email-service.test.js +41 -29
  416. package/dist/lib/services/email-service.test.js.map +1 -1
  417. package/dist/lib/services/favorites-service.d.ts.map +1 -1
  418. package/dist/lib/services/favorites-service.js +4 -0
  419. package/dist/lib/services/favorites-service.js.map +1 -1
  420. package/dist/lib/services/feature-tag-service.d.ts +4 -4
  421. package/dist/lib/services/feature-tag-service.d.ts.map +1 -1
  422. package/dist/lib/services/feature-tag-service.js +13 -7
  423. package/dist/lib/services/feature-tag-service.js.map +1 -1
  424. package/dist/lib/services/feature-type-service.d.ts.map +1 -1
  425. package/dist/lib/services/feature-type-service.js +1 -0
  426. package/dist/lib/services/feature-type-service.js.map +1 -1
  427. package/dist/lib/services/group-service.d.ts +4 -4
  428. package/dist/lib/services/group-service.d.ts.map +1 -1
  429. package/dist/lib/services/group-service.js +23 -18
  430. package/dist/lib/services/group-service.js.map +1 -1
  431. package/dist/lib/services/index.d.ts +1 -1
  432. package/dist/lib/services/index.d.ts.map +1 -1
  433. package/dist/lib/services/index.js +7 -3
  434. package/dist/lib/services/index.js.map +1 -1
  435. package/dist/lib/services/pat-service.d.ts.map +1 -1
  436. package/dist/lib/services/pat-service.js +2 -0
  437. package/dist/lib/services/pat-service.js.map +1 -1
  438. package/dist/lib/services/project-health-service.js +1 -1
  439. package/dist/lib/services/project-health-service.js.map +1 -1
  440. package/dist/lib/services/project-service.d.ts +13 -12
  441. package/dist/lib/services/project-service.d.ts.map +1 -1
  442. package/dist/lib/services/project-service.js +81 -23
  443. package/dist/lib/services/project-service.js.map +1 -1
  444. package/dist/lib/services/proxy-service.d.ts +1 -1
  445. package/dist/lib/services/proxy-service.d.ts.map +1 -1
  446. package/dist/lib/services/proxy-service.js +2 -2
  447. package/dist/lib/services/proxy-service.js.map +1 -1
  448. package/dist/lib/services/public-signup-token-service.d.ts +2 -2
  449. package/dist/lib/services/public-signup-token-service.d.ts.map +1 -1
  450. package/dist/lib/services/public-signup-token-service.js +7 -3
  451. package/dist/lib/services/public-signup-token-service.js.map +1 -1
  452. package/dist/lib/services/segment-service.d.ts +1 -1
  453. package/dist/lib/services/segment-service.d.ts.map +1 -1
  454. package/dist/lib/services/segment-service.js +15 -14
  455. package/dist/lib/services/segment-service.js.map +1 -1
  456. package/dist/lib/services/setting-service.d.ts +2 -2
  457. package/dist/lib/services/setting-service.d.ts.map +1 -1
  458. package/dist/lib/services/setting-service.js +5 -2
  459. package/dist/lib/services/setting-service.js.map +1 -1
  460. package/dist/lib/services/state-service.d.ts +16 -11
  461. package/dist/lib/services/state-service.d.ts.map +1 -1
  462. package/dist/lib/services/state-service.js +46 -18
  463. package/dist/lib/services/state-service.js.map +1 -1
  464. package/dist/lib/services/state-service.test.js +75 -21
  465. package/dist/lib/services/state-service.test.js.map +1 -1
  466. package/dist/lib/services/strategy-service.d.ts +5 -5
  467. package/dist/lib/services/strategy-service.d.ts.map +1 -1
  468. package/dist/lib/services/strategy-service.js +11 -6
  469. package/dist/lib/services/strategy-service.js.map +1 -1
  470. package/dist/lib/services/tag-service.d.ts +2 -2
  471. package/dist/lib/services/tag-service.d.ts.map +1 -1
  472. package/dist/lib/services/tag-service.js +4 -2
  473. package/dist/lib/services/tag-service.js.map +1 -1
  474. package/dist/lib/services/user-service.d.ts.map +1 -1
  475. package/dist/lib/services/user-service.js +3 -0
  476. package/dist/lib/services/user-service.js.map +1 -1
  477. package/dist/lib/services/user-service.test.js +12 -12
  478. package/dist/lib/services/user-service.test.js.map +1 -1
  479. package/dist/lib/services/version-service.test.js +8 -2
  480. package/dist/lib/services/version-service.test.js.map +1 -1
  481. package/dist/lib/types/core.d.ts +3 -1
  482. package/dist/lib/types/core.d.ts.map +1 -1
  483. package/dist/lib/types/core.js +11 -0
  484. package/dist/lib/types/core.js.map +1 -1
  485. package/dist/lib/types/events.d.ts +51 -2
  486. package/dist/lib/types/events.d.ts.map +1 -1
  487. package/dist/lib/types/events.js +59 -42
  488. package/dist/lib/types/events.js.map +1 -1
  489. package/dist/lib/types/experimental.d.ts +1 -1
  490. package/dist/lib/types/experimental.d.ts.map +1 -1
  491. package/dist/lib/types/experimental.js +9 -1
  492. package/dist/lib/types/experimental.js.map +1 -1
  493. package/dist/lib/types/model.d.ts +30 -2
  494. package/dist/lib/types/model.d.ts.map +1 -1
  495. package/dist/lib/types/model.js.map +1 -1
  496. package/dist/lib/types/option.d.ts +2 -0
  497. package/dist/lib/types/option.d.ts.map +1 -1
  498. package/dist/lib/types/services.d.ts +2 -1
  499. package/dist/lib/types/services.d.ts.map +1 -1
  500. package/dist/lib/types/stores/client-applications-store.d.ts +1 -0
  501. package/dist/lib/types/stores/client-applications-store.d.ts.map +1 -1
  502. package/dist/lib/types/stores/feature-tag-store.d.ts +7 -3
  503. package/dist/lib/types/stores/feature-tag-store.d.ts.map +1 -1
  504. package/dist/lib/types/stores.d.ts +4 -2
  505. package/dist/lib/types/stores.d.ts.map +1 -1
  506. package/dist/lib/util/extract-user.d.ts +5 -0
  507. package/dist/lib/util/extract-user.d.ts.map +1 -1
  508. package/dist/lib/util/extract-user.js +8 -1
  509. package/dist/lib/util/extract-user.js.map +1 -1
  510. package/dist/mailtemplates/scheduled-change-conflict/scheduled-change-conflict.html.mustache +527 -0
  511. package/dist/mailtemplates/scheduled-change-conflict/scheduled-change-conflict.plain.mustache +9 -0
  512. package/dist/mailtemplates/scheduled-execution-failed/scheduled-execution-failed.html.mustache +522 -0
  513. package/dist/mailtemplates/scheduled-execution-failed/scheduled-execution-failed.plain.mustache +6 -0
  514. package/dist/migrations/20231211121444-features-created-by.d.ts +3 -0
  515. package/dist/migrations/20231211121444-features-created-by.d.ts.map +1 -0
  516. package/dist/migrations/20231211121444-features-created-by.js +12 -0
  517. package/dist/migrations/20231211121444-features-created-by.js.map +1 -0
  518. package/dist/migrations/20231211122322-feature-types-created-by.d.ts +3 -0
  519. package/dist/migrations/20231211122322-feature-types-created-by.d.ts.map +1 -0
  520. package/dist/migrations/20231211122322-feature-types-created-by.js +12 -0
  521. package/dist/migrations/20231211122322-feature-types-created-by.js.map +1 -0
  522. package/dist/migrations/20231211122351-feature-tag-created-by.d.ts +3 -0
  523. package/dist/migrations/20231211122351-feature-tag-created-by.d.ts.map +1 -0
  524. package/dist/migrations/20231211122351-feature-tag-created-by.js +12 -0
  525. package/dist/migrations/20231211122351-feature-tag-created-by.js.map +1 -0
  526. package/dist/migrations/20231211122426-feature-strategies-created-by.d.ts +3 -0
  527. package/dist/migrations/20231211122426-feature-strategies-created-by.d.ts.map +1 -0
  528. package/dist/migrations/20231211122426-feature-strategies-created-by.js +12 -0
  529. package/dist/migrations/20231211122426-feature-strategies-created-by.js.map +1 -0
  530. package/dist/migrations/20231211132341-add-created-by-to-role-permission.d.ts +3 -0
  531. package/dist/migrations/20231211132341-add-created-by-to-role-permission.d.ts.map +1 -0
  532. package/dist/migrations/20231211132341-add-created-by-to-role-permission.js +8 -0
  533. package/dist/migrations/20231211132341-add-created-by-to-role-permission.js.map +1 -0
  534. package/dist/migrations/20231211133008-add-created-by-to-role-user.d.ts +3 -0
  535. package/dist/migrations/20231211133008-add-created-by-to-role-user.d.ts.map +1 -0
  536. package/dist/migrations/20231211133008-add-created-by-to-role-user.js +8 -0
  537. package/dist/migrations/20231211133008-add-created-by-to-role-user.js.map +1 -0
  538. package/dist/migrations/20231211133920-add-created-by-to-roles.d.ts +3 -0
  539. package/dist/migrations/20231211133920-add-created-by-to-roles.d.ts.map +1 -0
  540. package/dist/migrations/20231211133920-add-created-by-to-roles.js +8 -0
  541. package/dist/migrations/20231211133920-add-created-by-to-roles.js.map +1 -0
  542. package/dist/migrations/20231211134130-add-created-by-to-users.d.ts +3 -0
  543. package/dist/migrations/20231211134130-add-created-by-to-users.d.ts.map +1 -0
  544. package/dist/migrations/20231211134130-add-created-by-to-users.js +8 -0
  545. package/dist/migrations/20231211134130-add-created-by-to-users.js.map +1 -0
  546. package/dist/migrations/20231211134633-add-created-by-to-apitokens.d.ts +3 -0
  547. package/dist/migrations/20231211134633-add-created-by-to-apitokens.d.ts.map +1 -0
  548. package/dist/migrations/20231211134633-add-created-by-to-apitokens.js +8 -0
  549. package/dist/migrations/20231211134633-add-created-by-to-apitokens.js.map +1 -0
  550. package/dist/migrations/20231212094044-event-created-by-user-id.d.ts +3 -0
  551. package/dist/migrations/20231212094044-event-created-by-user-id.d.ts.map +1 -0
  552. package/dist/migrations/20231212094044-event-created-by-user-id.js +14 -0
  553. package/dist/migrations/20231212094044-event-created-by-user-id.js.map +1 -0
  554. package/dist/migrations/20231213111906-add-reason-to-change-request-schedule.d.ts +3 -0
  555. package/dist/migrations/20231213111906-add-reason-to-change-request-schedule.d.ts.map +1 -0
  556. package/dist/migrations/20231213111906-add-reason-to-change-request-schedule.js +8 -0
  557. package/dist/migrations/20231213111906-add-reason-to-change-request-schedule.js.map +1 -0
  558. package/dist/migrations/20231215105713-incoming-webhooks.d.ts +3 -0
  559. package/dist/migrations/20231215105713-incoming-webhooks.d.ts.map +1 -0
  560. package/dist/migrations/20231215105713-incoming-webhooks.js +34 -0
  561. package/dist/migrations/20231215105713-incoming-webhooks.js.map +1 -0
  562. package/dist/migrations/20231218165612-inc-webhook-tokens-rename-secret-to-token.d.ts +3 -0
  563. package/dist/migrations/20231218165612-inc-webhook-tokens-rename-secret-to-token.d.ts.map +1 -0
  564. package/dist/migrations/20231218165612-inc-webhook-tokens-rename-secret-to-token.js +12 -0
  565. package/dist/migrations/20231218165612-inc-webhook-tokens-rename-secret-to-token.js.map +1 -0
  566. package/dist/migrations/20231219100343-rename-new-columns-to-created-by-user-id.d.ts +3 -0
  567. package/dist/migrations/20231219100343-rename-new-columns-to-created-by-user-id.d.ts.map +1 -0
  568. package/dist/migrations/20231219100343-rename-new-columns-to-created-by-user-id.js +28 -0
  569. package/dist/migrations/20231219100343-rename-new-columns-to-created-by-user-id.js.map +1 -0
  570. package/dist/migrations/20231221143955-feedback-table.d.ts +3 -0
  571. package/dist/migrations/20231221143955-feedback-table.d.ts.map +1 -0
  572. package/dist/migrations/20231221143955-feedback-table.js +21 -0
  573. package/dist/migrations/20231221143955-feedback-table.js.map +1 -0
  574. package/dist/migrations/20231222071533-unleash-system-user.d.ts +3 -0
  575. package/dist/migrations/20231222071533-unleash-system-user.d.ts.map +1 -0
  576. package/dist/migrations/20231222071533-unleash-system-user.js +17 -0
  577. package/dist/migrations/20231222071533-unleash-system-user.js.map +1 -0
  578. package/dist/migrations/20240102142100-incoming-webhooks-created-by.d.ts +3 -0
  579. package/dist/migrations/20240102142100-incoming-webhooks-created-by.d.ts.map +1 -0
  580. package/dist/migrations/20240102142100-incoming-webhooks-created-by.js +11 -0
  581. package/dist/migrations/20240102142100-incoming-webhooks-created-by.js.map +1 -0
  582. package/dist/migrations/20240102205517-observable-events.d.ts +3 -0
  583. package/dist/migrations/20240102205517-observable-events.d.ts.map +1 -0
  584. package/dist/migrations/20240102205517-observable-events.js +27 -0
  585. package/dist/migrations/20240102205517-observable-events.js.map +1 -0
  586. package/dist/server-dev.js +20 -13
  587. package/dist/server-dev.js.map +1 -1
  588. package/dist/test/e2e/api/admin/api-token.auth.e2e.test.js +1 -0
  589. package/dist/test/e2e/api/admin/api-token.auth.e2e.test.js.map +1 -1
  590. package/dist/test/e2e/api/admin/config.e2e.test.js +1 -1
  591. package/dist/test/e2e/api/admin/config.e2e.test.js.map +1 -1
  592. package/dist/test/e2e/api/admin/context.e2e.test.js +1 -1
  593. package/dist/test/e2e/api/admin/context.e2e.test.js.map +1 -1
  594. package/dist/test/e2e/api/admin/environment.test.js +1 -1
  595. package/dist/test/e2e/api/admin/environment.test.js.map +1 -1
  596. package/dist/test/e2e/api/admin/event.e2e.test.js +5 -0
  597. package/dist/test/e2e/api/admin/event.e2e.test.js.map +1 -1
  598. package/dist/test/e2e/api/admin/instance-admin.e2e.test.js +12 -3
  599. package/dist/test/e2e/api/admin/instance-admin.e2e.test.js.map +1 -1
  600. package/dist/test/e2e/api/admin/metrics.e2e.test.js +1 -1
  601. package/dist/test/e2e/api/admin/metrics.e2e.test.js.map +1 -1
  602. package/dist/test/e2e/api/admin/project/projects.e2e.test.js +17 -0
  603. package/dist/test/e2e/api/admin/project/projects.e2e.test.js.map +1 -1
  604. package/dist/test/e2e/api/admin/project/variants.e2e.test.js +22 -1
  605. package/dist/test/e2e/api/admin/project/variants.e2e.test.js.map +1 -1
  606. package/dist/test/e2e/api/admin/state.e2e.test.js +25 -13
  607. package/dist/test/e2e/api/admin/state.e2e.test.js.map +1 -1
  608. package/dist/test/e2e/api/auth/reset-password-controller.e2e.test.js +1 -1
  609. package/dist/test/e2e/api/auth/reset-password-controller.e2e.test.js.map +1 -1
  610. package/dist/test/e2e/api/auth/simple-password-provider.e2e.test.js +1 -1
  611. package/dist/test/e2e/api/auth/simple-password-provider.e2e.test.js.map +1 -1
  612. package/dist/test/e2e/api/client/feature.e2e.test.js +12 -11
  613. package/dist/test/e2e/api/client/feature.e2e.test.js.map +1 -1
  614. package/dist/test/e2e/api/client/feature.env.disabled.e2e.test.js +3 -2
  615. package/dist/test/e2e/api/client/feature.env.disabled.e2e.test.js.map +1 -1
  616. package/dist/test/e2e/api/client/feature.optimal304.e2e.test.js +10 -10
  617. package/dist/test/e2e/api/client/feature.optimal304.e2e.test.js.map +1 -1
  618. package/dist/test/e2e/api/client/feature.token.access.e2e.test.js +7 -5
  619. package/dist/test/e2e/api/client/feature.token.access.e2e.test.js.map +1 -1
  620. package/dist/test/e2e/api/client/metricsV2.e2e.test.js +3 -2
  621. package/dist/test/e2e/api/client/metricsV2.e2e.test.js.map +1 -1
  622. package/dist/test/e2e/api/openapi/openapi.e2e.test.js +2 -1
  623. package/dist/test/e2e/api/openapi/openapi.e2e.test.js.map +1 -1
  624. package/dist/test/e2e/api/proxy/proxy.e2e.test.d.ts.map +1 -1
  625. package/dist/test/e2e/api/proxy/proxy.e2e.test.js +4 -3
  626. package/dist/test/e2e/api/proxy/proxy.e2e.test.js.map +1 -1
  627. package/dist/test/e2e/dedupe-permissions.e2e.test.js +4 -3
  628. package/dist/test/e2e/dedupe-permissions.e2e.test.js.map +1 -1
  629. package/dist/test/e2e/favor-permission-name-over-id.e2e.test.js +4 -3
  630. package/dist/test/e2e/favor-permission-name-over-id.e2e.test.js.map +1 -1
  631. package/dist/test/e2e/services/access-service.e2e.test.js +9 -4
  632. package/dist/test/e2e/services/access-service.e2e.test.js.map +1 -1
  633. package/dist/test/e2e/services/addon-service.e2e.test.js +4 -3
  634. package/dist/test/e2e/services/addon-service.e2e.test.js.map +1 -1
  635. package/dist/test/e2e/services/api-token-service.e2e.test.js +1 -1
  636. package/dist/test/e2e/services/api-token-service.e2e.test.js.map +1 -1
  637. package/dist/test/e2e/services/group-service.e2e.test.js +3 -3
  638. package/dist/test/e2e/services/group-service.e2e.test.js.map +1 -1
  639. package/dist/test/e2e/services/playground-service.test.d.ts.map +1 -1
  640. package/dist/test/e2e/services/playground-service.test.js +1 -0
  641. package/dist/test/e2e/services/playground-service.test.js.map +1 -1
  642. package/dist/test/e2e/services/project-health-service.e2e.test.js +9 -0
  643. package/dist/test/e2e/services/project-health-service.e2e.test.js.map +1 -1
  644. package/dist/test/e2e/services/project-service.e2e.test.js +62 -44
  645. package/dist/test/e2e/services/project-service.e2e.test.js.map +1 -1
  646. package/dist/test/e2e/services/reset-token-service.e2e.test.js +1 -1
  647. package/dist/test/e2e/services/reset-token-service.e2e.test.js.map +1 -1
  648. package/dist/test/e2e/services/setting-service.test.js +9 -8
  649. package/dist/test/e2e/services/setting-service.test.js.map +1 -1
  650. package/dist/test/e2e/services/state-service.e2e.test.js +5 -0
  651. package/dist/test/e2e/services/state-service.e2e.test.js.map +1 -1
  652. package/dist/test/e2e/services/user-service.e2e.test.js +2 -2
  653. package/dist/test/e2e/services/user-service.e2e.test.js.map +1 -1
  654. package/dist/test/e2e/stores/event-store.e2e.test.js +11 -0
  655. package/dist/test/e2e/stores/event-store.e2e.test.js.map +1 -1
  656. package/dist/test/e2e/stores/feature-environment-store.e2e.test.js +8 -2
  657. package/dist/test/e2e/stores/feature-environment-store.e2e.test.js.map +1 -1
  658. package/dist/test/e2e/stores/feature-tag-store.e2e.test.js +24 -9
  659. package/dist/test/e2e/stores/feature-tag-store.e2e.test.js.map +1 -1
  660. package/dist/test/e2e/system-user-migration.test.d.ts +2 -0
  661. package/dist/test/e2e/system-user-migration.test.d.ts.map +1 -0
  662. package/dist/test/e2e/system-user-migration.test.js +65 -0
  663. package/dist/test/e2e/system-user-migration.test.js.map +1 -0
  664. package/dist/test/fixtures/fake-feature-tag-store.d.ts +1 -1
  665. package/dist/test/fixtures/fake-feature-tag-store.d.ts.map +1 -1
  666. package/dist/test/fixtures/fake-feature-tag-store.js +3 -2
  667. package/dist/test/fixtures/fake-feature-tag-store.js.map +1 -1
  668. package/dist/test/fixtures/store.d.ts.map +1 -1
  669. package/dist/test/fixtures/store.js +3 -1
  670. package/dist/test/fixtures/store.js.map +1 -1
  671. package/frontend/build/index.html +2 -3
  672. package/frontend/build/static/AdvancedPlayground-FxfPUa2V.js +13 -0
  673. package/frontend/build/static/CreateProject-aN-UGdcb.js +4 -0
  674. package/frontend/build/static/FeatureArchiveDialog-eHyhx7Yo.js +7 -0
  675. package/frontend/build/static/{FeatureMetricsChart-d6700d04.js → FeatureMetricsChart-ExGq1eXl.js} +2 -2
  676. package/frontend/build/static/FeatureViewLazyExport-S8mj8m0z.js +25 -0
  677. package/frontend/build/static/LazyAdminExport-fpVZFnP9.js +44 -0
  678. package/frontend/build/static/LazyProjectExport-_QSE5C5m.js +25 -0
  679. package/frontend/build/static/{NetworkOverview-f1b8bc51.js → NetworkOverview-ylTzmeDg.js} +53 -47
  680. package/frontend/build/static/NetworkTraffic-qj5h7JRk.js +1 -0
  681. package/frontend/build/static/{ReactJSONEditor-cee5845e.js → ReactJSONEditor-E59dRBYR.js} +66 -66
  682. package/frontend/build/static/RoleCell-TGTVkKHO.js +1 -0
  683. package/frontend/build/static/StrategyItemContainer-JoMPKX3L.js +1 -0
  684. package/frontend/build/static/chartjs-adapter-date-fns.esm-JSlDxtwH.js +23 -0
  685. package/frontend/build/static/{flowchart-elk-definition-170a3958-176ecefe.js → flowchart-elk-definition-170a3958-NkZoK_zv.js} +3 -3
  686. package/frontend/build/static/index-JVRlSBvr.js +501 -0
  687. package/frontend/build/static/{is_dark-bdf64838.js → is_dark-gjUQW15t.js} +1 -1
  688. package/frontend/build/static/{mindmap-definition-44684416-6e91e0f5.js → mindmap-definition-44684416-obuYUG0L.js} +2 -2
  689. package/frontend/build/static/not_operator_selected-Iyxw0Fyz.svg +5 -0
  690. package/frontend/build/static/not_operator_unselected-vtd9BSk1.svg +3 -0
  691. package/frontend/build/static/{timeline-definition-8e5a9bc6-d88c2258.js → timeline-definition-8e5a9bc6-33WsNwwr.js} +1 -1
  692. package/frontend/build/static/{unknownify-708e56b5.js → unknownify-YD2Teyht.js} +1 -1
  693. package/frontend/build/static/unleashHoliday-kBBu-_tQ.svg +33 -0
  694. package/frontend/build/static/unleashHolidayDark-fbGH80iu.svg +33 -0
  695. package/frontend/build/static/{useApiTokens-4c5c213b.js → useApiTokens-XTOY616x.js} +1 -1
  696. package/frontend/build/static/useProjectForm--jxh4Dtm.js +1 -0
  697. package/frontend/package.json +21 -15
  698. package/package.json +5 -5
  699. package/dist/lib/db/environment-store.d.ts.map +0 -1
  700. package/dist/lib/db/environment-store.js.map +0 -1
  701. package/dist/lib/openapi/spec/admin-strategies-schema.d.ts.map +0 -1
  702. package/dist/lib/openapi/spec/admin-strategies-schema.js.map +0 -1
  703. package/dist/lib/openapi/spec/admin-strategies-schema.test.d.ts +0 -2
  704. package/dist/lib/openapi/spec/admin-strategies-schema.test.d.ts.map +0 -1
  705. package/dist/lib/openapi/spec/admin-strategies-schema.test.js.map +0 -1
  706. package/dist/lib/routes/admin-api/project/environments.d.ts.map +0 -1
  707. package/dist/lib/routes/admin-api/project/environments.js.map +0 -1
  708. package/dist/lib/routes/admin-api/project/index.d.ts.map +0 -1
  709. package/dist/lib/routes/admin-api/project/index.js.map +0 -1
  710. package/dist/lib/services/environment-service.d.ts.map +0 -1
  711. package/dist/lib/services/environment-service.js.map +0 -1
  712. package/dist/lib/types/stores/environment-store.d.ts.map +0 -1
  713. package/dist/lib/types/stores/environment-store.js.map +0 -1
  714. package/dist/test/e2e/api/admin/project/environments.e2e.test.d.ts.map +0 -1
  715. package/dist/test/e2e/api/admin/project/environments.e2e.test.js.map +0 -1
  716. package/dist/test/e2e/services/environment-service.test.d.ts.map +0 -1
  717. package/dist/test/e2e/services/environment-service.test.js.map +0 -1
  718. package/dist/test/fixtures/fake-environment-store.d.ts.map +0 -1
  719. package/dist/test/fixtures/fake-environment-store.js.map +0 -1
  720. package/frontend/build/static/24_Negator off-764e9292.svg +0 -3
  721. package/frontend/build/static/24_Negator-3c95065e.svg +0 -3
  722. package/frontend/build/static/AdvancedPlayground-b2553abd.js +0 -13
  723. package/frontend/build/static/Box-bd72643d.js +0 -1
  724. package/frontend/build/static/CreateProject-b18786eb.js +0 -4
  725. package/frontend/build/static/Error-ef493ef3.js +0 -1
  726. package/frontend/build/static/FeatureArchiveDialog-ec518ad8.js +0 -7
  727. package/frontend/build/static/FeatureViewLazyExport-91172621.js +0 -10
  728. package/frontend/build/static/LazyAdminExport-4686a742.js +0 -38
  729. package/frontend/build/static/LazyProjectExport-e3e11f4e.js +0 -26
  730. package/frontend/build/static/NetworkTraffic-c8b752fe.js +0 -1
  731. package/frontend/build/static/RoleCell-91725c88.js +0 -1
  732. package/frontend/build/static/StrategyItemContainer-ad74b119.js +0 -1
  733. package/frontend/build/static/chartjs-adapter-date-fns.esm-054094c3.js +0 -24
  734. package/frontend/build/static/index-ae1bed58.js +0 -460
  735. package/frontend/build/static/useProjectForm-ff29595e.js +0 -1
  736. /package/dist/{test/e2e/services → lib/features/project-environments}/environment-service.test.d.ts +0 -0
  737. /package/dist/{test/e2e/api/admin/project → lib/features/project-environments}/environments.e2e.test.d.ts +0 -0
  738. /package/frontend/build/static/{24_Text format off-9a1401ab.svg → 24_Text format off-H08NRmYe.svg} +0 -0
  739. /package/frontend/build/static/{24_Text format-c0530280.svg → 24_Text format-rAPEECSE.svg} +0 -0
  740. /package/frontend/build/static/{Logo-android-218bddbb.svg → Logo-android-udpLXX1T.svg} +0 -0
  741. /package/frontend/build/static/{Logo-flutter-cc3c706f.svg → Logo-flutter-eDaat-tQ.svg} +0 -0
  742. /package/frontend/build/static/{Logo-go-02475b3d.svg → Logo-go-7IBXKeYU.svg} +0 -0
  743. /package/frontend/build/static/{Logo-java-6e556b26.svg → Logo-java-52SStktf.svg} +0 -0
  744. /package/frontend/build/static/{Logo-javascript-caebc06e.svg → Logo-javascript-FL9SH-qr.svg} +0 -0
  745. /package/frontend/build/static/{Logo-net-0a33abee.svg → Logo-net-bG0mn56S.svg} +0 -0
  746. /package/frontend/build/static/{Logo-node-318ed025.svg → Logo-node-h37os8v5.svg} +0 -0
  747. /package/frontend/build/static/{Logo-php-201f18c3.svg → Logo-php-Z_EVXL0a.svg} +0 -0
  748. /package/frontend/build/static/{Logo-python-4305760e.svg → Logo-python-_44ZKCSX.svg} +0 -0
  749. /package/frontend/build/static/{Logo-react-18e98687.svg → Logo-react-9krlaJef.svg} +0 -0
  750. /package/frontend/build/static/{Logo-ruby-58f46832.svg → Logo-ruby-ZZBHss3J.svg} +0 -0
  751. /package/frontend/build/static/{Logo-rust-c83a80f9.svg → Logo-rust-2dVdHYIX.svg} +0 -0
  752. /package/frontend/build/static/{Logo-svelte-97dcb624.svg → Logo-svelte-fn23y4Xh.svg} +0 -0
  753. /package/frontend/build/static/{Logo-swift-315f842b.svg → Logo-swift-dl73ozXW.svg} +0 -0
  754. /package/frontend/build/static/{Logo-vue-0de73099.svg → Logo-vue-XNczCeoD.svg} +0 -0
  755. /package/frontend/build/static/{arrowLeft-7271148c.svg → arrowLeft-iw13ytfI.svg} +0 -0
  756. /package/frontend/build/static/{arrowRight-0d07b41b.svg → arrowRight-jyAAywbz.svg} +0 -0
  757. /package/frontend/build/static/{changeRequestProcess-f2469ef4.svg → changeRequestProcess-m2Uj_v6I.svg} +0 -0
  758. /package/frontend/build/static/{cr-db7653ac.png → cr-24xlfR5T.png} +0 -0
  759. /package/frontend/build/static/{datadog-543762b6.svg → datadog--09MbZDg.svg} +0 -0
  760. /package/frontend/build/static/{demo-qr-c2ce85bd.png → demo-qr-kJaJsgg_.png} +0 -0
  761. /package/frontend/build/static/{demo-userid-69a28f5e.png → demo-userid-OFH-UWxt.png} +0 -0
  762. /package/frontend/build/static/{edge-daisy-chaining-012bfdef.svg → edge-daisy-chaining-gE7UbpD0.svg} +0 -0
  763. /package/frontend/build/static/{edge-mode-5d25949b.svg → edge-mode-sUiAy22Z.svg} +0 -0
  764. /package/frontend/build/static/{edge-offline-f6a0f761.svg → edge-offline-uschgqgm.svg} +0 -0
  765. /package/frontend/build/static/{email-1b13db1f.svg → email-9TVW6bxs.svg} +0 -0
  766. /package/frontend/build/static/{google-4c4465a1.svg → google-Rg4hsLIv.svg} +0 -0
  767. /package/frontend/build/static/{isenabled-false-85a17190.svg → isenabled-false-cfG0cxg8.svg} +0 -0
  768. /package/frontend/build/static/{isenabled-true-def895c4.svg → isenabled-true-QEbId32j.svg} +0 -0
  769. /package/frontend/build/static/{jira-1abe7cbf.svg → jira-JdG6Pbgg.svg} +0 -0
  770. /package/frontend/build/static/{jira-comment-d9eb9af9.svg → jira-comment-4uboD2FW.svg} +0 -0
  771. /package/frontend/build/static/{link-child-7239dd72.svg → link-child-b2rNaTp8.svg} +0 -0
  772. /package/frontend/build/static/{link-parent-29e03412.svg → link-parent-2mtl7FAF.svg} +0 -0
  773. /package/frontend/build/static/{logo-b574b8c7.svg → logo-aXkSdUlT.svg} +0 -0
  774. /package/frontend/build/static/{logoBg-3fc9c711.svg → logoBg-w1GxfZYY.svg} +0 -0
  775. /package/frontend/build/static/{logoDarkWithText-7b7859f1.svg → logoDarkWithText-9CJmQsUT.svg} +0 -0
  776. /package/frontend/build/static/{logoWhiteBg-dacde9ce.svg → logoWhiteBg-sKFgoO5r.svg} +0 -0
  777. /package/frontend/build/static/{logoWhiteTransparentHorizontal-32f9c398.svg → logoWhiteTransparentHorizontal-OccVQlof.svg} +0 -0
  778. /package/frontend/build/static/{logoWithWhiteText-954086cd.svg → logoWithWhiteText-8-1bzjd2.svg} +0 -0
  779. /package/frontend/build/static/{merge-afa8c386.svg → merge-uyE9K2XR.svg} +0 -0
  780. /package/frontend/build/static/{mobileGuidanceBg-0cc2cfdc.svg → mobileGuidanceBg-_XUYJ4bI.svg} +0 -0
  781. /package/frontend/build/static/{pro-enterprise-feature-badge-8ac467c3.svg → pro-enterprise-feature-badge-D2dwX2o5.svg} +0 -0
  782. /package/frontend/build/static/{pro-enterprise-feature-badge-light-81a18f9b.svg → pro-enterprise-feature-badge-light-JPGefdhP.svg} +0 -0
  783. /package/frontend/build/static/{projectIcon-0c6827a4.svg → projectIcon-patkU339.svg} +0 -0
  784. /package/frontend/build/static/{rollout-c922b6e9.svg → rollout-wL0vStZV.svg} +0 -0
  785. /package/frontend/build/static/{slack-36ce798a.svg → slack-LdHzcD3n.svg} +0 -0
  786. /package/frontend/build/static/{stars-5e0648cd.svg → stars-uZav8YWv.svg} +0 -0
  787. /package/frontend/build/static/{style-f10c9ed6.css → style-gSb9cHBe.css} +0 -0
  788. /package/frontend/build/static/{teams-4e30b51f.svg → teams-70Mfxcwa.svg} +0 -0
  789. /package/frontend/build/static/{texture-c29e66c0.png → texture-NpzjhzHk.png} +0 -0
  790. /package/frontend/build/static/{unleash-integration-949d8966.svg → unleash-integration-rcapuVXn.svg} +0 -0
  791. /package/frontend/build/static/{unleashLogoIconDarkAlpha-de056a82.gif → unleashLogoIconDarkAlpha-W77gtdw3.gif} +0 -0
  792. /package/frontend/build/static/{usage-line-00d00632.svg → usage-line-R4nA8fmB.svg} +0 -0
  793. /package/frontend/build/static/{usage-rate-cb18f02b.svg → usage-rate-510IagyJ.svg} +0 -0
  794. /package/frontend/build/static/{webhooks-b1b44207.svg → webhooks-p7bNIH7i.svg} +0 -0
@@ -0,0 +1,24 @@
1
+ /// <reference types="node" />
2
+ import EventEmitter from 'events';
3
+ import { LogProvider } from '../../logger';
4
+ import { IFeatureOverview, IFeatureSearchStore } from '../../types';
5
+ import { Db } from '../../db/db';
6
+ import { IFeatureSearchParams, IQueryParam } from '../feature-toggle/types/feature-toggle-strategies-store-type';
7
+ declare class FeatureSearchStore implements IFeatureSearchStore {
8
+ private db;
9
+ private logger;
10
+ private readonly timer;
11
+ constructor(db: Db, eventBus: EventEmitter, getLogger: LogProvider);
12
+ private static getEnvironment;
13
+ searchFeatures({ userId, searchParams, type, status, offset, limit, sortOrder, sortBy, favoritesFirst, }: IFeatureSearchParams, queryParams: IQueryParam[]): Promise<{
14
+ features: IFeatureOverview[];
15
+ total: number;
16
+ }>;
17
+ getAggregatedSearchData(rows: any): IFeatureOverview[];
18
+ private addTag;
19
+ private rowToTag;
20
+ private isTagRow;
21
+ private isNewTag;
22
+ }
23
+ export default FeatureSearchStore;
24
+ //# sourceMappingURL=feature-search-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feature-search-store.d.ts","sourceRoot":"","sources":["../../../../src/lib/features/feature-search/feature-search-store.ts"],"names":[],"mappings":";AACA,OAAO,YAAY,MAAM,QAAQ,CAAC;AAGlC,OAAO,EAAU,WAAW,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAEH,gBAAgB,EAChB,mBAAmB,EAGtB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AAEjC,OAAO,EACH,oBAAoB,EACpB,WAAW,EACd,MAAM,8DAA8D,CAAC;AAiBtE,cAAM,kBAAmB,YAAW,mBAAmB;IACnD,OAAO,CAAC,EAAE,CAAK;IAEf,OAAO,CAAC,MAAM,CAAS;IAEvB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAW;gBAErB,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW;IAUlE,OAAO,CAAC,MAAM,CAAC,cAAc;IAavB,cAAc,CAChB,EACI,MAAM,EACN,YAAY,EACZ,IAAI,EACJ,MAAM,EACN,MAAM,EACN,KAAK,EACL,SAAS,EACT,MAAM,EACN,cAAc,GACjB,EAAE,oBAAoB,EACvB,WAAW,EAAE,WAAW,EAAE,GAC3B,OAAO,CAAC;QACP,QAAQ,EAAE,gBAAgB,EAAE,CAAC;QAC7B,KAAK,EAAE,MAAM,CAAC;KACjB,CAAC;IA+NF,uBAAuB,CAAC,IAAI,KAAA,GAAG,gBAAgB,EAAE;IAwDjD,OAAO,CAAC,MAAM;IASd,OAAO,CAAC,QAAQ;IAOhB,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,QAAQ;CAYnB;AAwID,eAAe,kBAAkB,CAAC"}
@@ -0,0 +1,323 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const metrics_helper_1 = __importDefault(require("../../util/metrics-helper"));
7
+ const metric_events_1 = require("../../metric-events");
8
+ const feature_toggle_store_1 = __importDefault(require("../feature-toggle/feature-toggle-store"));
9
+ const sortEnvironments = (overview) => {
10
+ return overview.map((data) => ({
11
+ ...data,
12
+ environments: data.environments
13
+ .filter((f) => f.name)
14
+ .sort((a, b) => {
15
+ if (a.sortOrder === b.sortOrder) {
16
+ return a.name.localeCompare(b.name);
17
+ }
18
+ return a.sortOrder - b.sortOrder;
19
+ }),
20
+ }));
21
+ };
22
+ class FeatureSearchStore {
23
+ constructor(db, eventBus, getLogger) {
24
+ this.db = db;
25
+ this.logger = getLogger('feature-search-store.ts');
26
+ this.timer = (action) => metrics_helper_1.default.wrapTimer(eventBus, metric_events_1.DB_TIME, {
27
+ store: 'feature-search',
28
+ action,
29
+ });
30
+ }
31
+ static getEnvironment(r) {
32
+ return {
33
+ name: r.environment,
34
+ enabled: r.enabled,
35
+ type: r.environment_type,
36
+ sortOrder: r.environment_sort_order,
37
+ variantCount: r.variants?.length || 0,
38
+ lastSeenAt: r.env_last_seen_at,
39
+ hasStrategies: r.has_strategies,
40
+ hasEnabledStrategies: r.has_enabled_strategies,
41
+ };
42
+ }
43
+ async searchFeatures({ userId, searchParams, type, status, offset, limit, sortOrder, sortBy, favoritesFirst, }, queryParams) {
44
+ const stopTimer = this.timer('searchFeatures');
45
+ const validatedSortOrder = sortOrder === 'asc' || sortOrder === 'desc' ? sortOrder : 'asc';
46
+ const finalQuery = this.db
47
+ .with('ranked_features', (query) => {
48
+ query.from('features');
49
+ applyQueryParams(query, queryParams);
50
+ const hasSearchParams = searchParams?.length;
51
+ if (hasSearchParams) {
52
+ const sqlParameters = searchParams.map((item) => `%${item}%`);
53
+ const sqlQueryParameters = sqlParameters
54
+ .map(() => '?')
55
+ .join(',');
56
+ query.where((builder) => {
57
+ builder
58
+ .orWhereRaw(`(??) ILIKE ANY (ARRAY[${sqlQueryParameters}])`, ['features.name', ...sqlParameters])
59
+ .orWhereRaw(`(??) ILIKE ANY (ARRAY[${sqlQueryParameters}])`, ['features.description', ...sqlParameters]);
60
+ });
61
+ }
62
+ if (type) {
63
+ query.whereIn('features.type', type);
64
+ }
65
+ if (status && status.length > 0) {
66
+ query.where((builder) => {
67
+ for (const [envName, envStatus] of status) {
68
+ builder.orWhere(function () {
69
+ this.where('feature_environments.environment', envName).andWhere('feature_environments.enabled', envStatus === 'enabled' ? true : false);
70
+ });
71
+ }
72
+ });
73
+ }
74
+ query
75
+ .modify(feature_toggle_store_1.default.filterByArchived, false)
76
+ .leftJoin('feature_environments', 'feature_environments.feature_name', 'features.name')
77
+ .leftJoin('environments', 'feature_environments.environment', 'environments.name')
78
+ .leftJoin('feature_tag as ft', 'ft.feature_name', 'features.name')
79
+ .leftJoin('feature_strategies', 'feature_strategies.feature_name', 'features.name')
80
+ .leftJoin('feature_strategy_segment', 'feature_strategy_segment.feature_strategy_id', 'feature_strategies.id')
81
+ .leftJoin('segments', 'feature_strategy_segment.segment_id', 'segments.id');
82
+ query.leftJoin('last_seen_at_metrics', function () {
83
+ this.on('last_seen_at_metrics.environment', '=', 'environments.name').andOn('last_seen_at_metrics.feature_name', '=', 'features.name');
84
+ });
85
+ let selectColumns = [
86
+ 'features.name as feature_name',
87
+ 'features.description as description',
88
+ 'features.type as type',
89
+ 'features.project as project',
90
+ 'features.created_at as created_at',
91
+ 'features.stale as stale',
92
+ 'features.last_seen_at as last_seen_at',
93
+ 'features.impression_data as impression_data',
94
+ 'feature_environments.enabled as enabled',
95
+ 'feature_environments.environment as environment',
96
+ 'feature_environments.variants as variants',
97
+ 'environments.type as environment_type',
98
+ 'environments.sort_order as environment_sort_order',
99
+ 'ft.tag_value as tag_value',
100
+ 'ft.tag_type as tag_type',
101
+ 'segments.name as segment_name',
102
+ ];
103
+ const lastSeenQuery = 'last_seen_at_metrics.last_seen_at';
104
+ selectColumns.push(`${lastSeenQuery} as env_last_seen_at`);
105
+ if (userId) {
106
+ query.leftJoin(`favorite_features`, function () {
107
+ this.on('favorite_features.feature', 'features.name').andOnVal('favorite_features.user_id', '=', userId);
108
+ });
109
+ selectColumns = [
110
+ ...selectColumns,
111
+ this.db.raw('favorite_features.feature is not null as favorite'),
112
+ ];
113
+ }
114
+ selectColumns = [
115
+ ...selectColumns,
116
+ this.db.raw('EXISTS (SELECT 1 FROM feature_strategies WHERE feature_strategies.feature_name = features.name AND feature_strategies.environment = feature_environments.environment) as has_strategies'),
117
+ this.db.raw('EXISTS (SELECT 1 FROM feature_strategies WHERE feature_strategies.feature_name = features.name AND feature_strategies.environment = feature_environments.environment AND (feature_strategies.disabled IS NULL OR feature_strategies.disabled = false)) as has_enabled_strategies'),
118
+ ];
119
+ const sortByMapping = {
120
+ name: 'features.name',
121
+ type: 'features.type',
122
+ stale: 'features.stale',
123
+ project: 'features.project',
124
+ };
125
+ let rankingSql = 'order by ';
126
+ if (favoritesFirst) {
127
+ rankingSql +=
128
+ 'favorite_features.feature is not null desc, ';
129
+ }
130
+ if (sortBy.startsWith('environment:')) {
131
+ const [, envName] = sortBy.split(':');
132
+ rankingSql += this.db
133
+ .raw(`CASE WHEN feature_environments.environment = ? THEN feature_environments.enabled ELSE NULL END ${validatedSortOrder} NULLS LAST, features.created_at asc, features.name asc`, [envName])
134
+ .toString();
135
+ }
136
+ else if (sortBy === 'lastSeenAt') {
137
+ rankingSql += `${this.db
138
+ .raw(`coalesce(${lastSeenQuery}, features.last_seen_at) ${validatedSortOrder} nulls last`)
139
+ .toString()}, features.created_at asc, features.name asc`;
140
+ }
141
+ else if (sortByMapping[sortBy]) {
142
+ rankingSql += `${this.db
143
+ .raw(`?? ${validatedSortOrder}`, [
144
+ sortByMapping[sortBy],
145
+ ])
146
+ .toString()}, features.created_at asc, features.name asc`;
147
+ }
148
+ else {
149
+ rankingSql += `features.created_at ${validatedSortOrder}, features.name asc`;
150
+ }
151
+ query
152
+ .select(selectColumns)
153
+ .denseRank('rank', this.db.raw(rankingSql));
154
+ })
155
+ .with('final_ranks', this.db.raw('select feature_name, row_number() over (order by min(rank)) as final_rank from ranked_features group by feature_name'))
156
+ .with('total_features', this.db.raw('select count(*) as total from final_ranks'))
157
+ .select('*')
158
+ .from('ranked_features')
159
+ .innerJoin('final_ranks', 'ranked_features.feature_name', 'final_ranks.feature_name')
160
+ .joinRaw('CROSS JOIN total_features')
161
+ .whereBetween('final_rank', [offset + 1, offset + limit]);
162
+ const rows = await finalQuery;
163
+ stopTimer();
164
+ if (rows.length > 0) {
165
+ const overview = this.getAggregatedSearchData(rows);
166
+ const features = sortEnvironments(overview);
167
+ return {
168
+ features,
169
+ total: Number(rows[0].total) || 0,
170
+ };
171
+ }
172
+ return {
173
+ features: [],
174
+ total: 0,
175
+ };
176
+ }
177
+ getAggregatedSearchData(rows) {
178
+ const entriesMap = new Map();
179
+ const orderedEntries = [];
180
+ rows.forEach((row) => {
181
+ let entry = entriesMap.get(row.feature_name);
182
+ if (!entry) {
183
+ // Create a new entry
184
+ entry = {
185
+ type: row.type,
186
+ description: row.description,
187
+ project: row.project,
188
+ favorite: row.favorite,
189
+ name: row.feature_name,
190
+ createdAt: row.created_at,
191
+ stale: row.stale,
192
+ impressionData: row.impression_data,
193
+ lastSeenAt: row.last_seen_at,
194
+ environments: [],
195
+ segments: row.segment_name ? [row.segment_name] : [],
196
+ };
197
+ entriesMap.set(row.feature_name, entry);
198
+ orderedEntries.push(entry);
199
+ }
200
+ // Add environment if not already present
201
+ if (!entry.environments.some((e) => e.name === row.environment)) {
202
+ entry.environments.push(FeatureSearchStore.getEnvironment(row));
203
+ }
204
+ // Add segment if not already present
205
+ if (row.segment_name &&
206
+ !entry.segments.includes(row.segment_name)) {
207
+ entry.segments.push(row.segment_name);
208
+ }
209
+ // Add tag if new
210
+ if (this.isNewTag(entry, row)) {
211
+ this.addTag(entry, row);
212
+ }
213
+ // Update lastSeenAt if more recent
214
+ if (!entry.lastSeenAt ||
215
+ new Date(row.env_last_seen_at) > new Date(entry.lastSeenAt)) {
216
+ entry.lastSeenAt = row.env_last_seen_at;
217
+ }
218
+ });
219
+ return orderedEntries;
220
+ }
221
+ addTag(featureToggle, row) {
222
+ const tags = featureToggle.tags || [];
223
+ const newTag = this.rowToTag(row);
224
+ featureToggle.tags = [...tags, newTag];
225
+ }
226
+ rowToTag(r) {
227
+ return {
228
+ value: r.tag_value,
229
+ type: r.tag_type,
230
+ };
231
+ }
232
+ isTagRow(row) {
233
+ return row.tag_type && row.tag_value;
234
+ }
235
+ isNewTag(featureToggle, row) {
236
+ return (this.isTagRow(row) &&
237
+ !featureToggle.tags?.some((tag) => tag.type === row.tag_type && tag.value === row.tag_value));
238
+ }
239
+ }
240
+ const applyQueryParams = (query, queryParams) => {
241
+ const tagConditions = queryParams.filter((param) => param.field === 'tag');
242
+ const segmentConditions = queryParams.filter((param) => param.field === 'segment');
243
+ const genericConditions = queryParams.filter((param) => param.field !== 'tag');
244
+ applyGenericQueryParams(query, genericConditions);
245
+ applyMultiQueryParams(query, tagConditions, ['tag_type', 'tag_value'], createTagBaseQuery);
246
+ applyMultiQueryParams(query, segmentConditions, 'segments.name', createSegmentBaseQuery);
247
+ };
248
+ const applyGenericQueryParams = (query, queryParams) => {
249
+ queryParams.forEach((param) => {
250
+ switch (param.operator) {
251
+ case 'IS':
252
+ case 'IS_ANY_OF':
253
+ query.whereIn(param.field, param.values);
254
+ break;
255
+ case 'IS_NOT':
256
+ case 'IS_NONE_OF':
257
+ query.whereNotIn(param.field, param.values);
258
+ break;
259
+ case 'IS_BEFORE':
260
+ query.where(param.field, '<', param.values[0]);
261
+ break;
262
+ case 'IS_ON_OR_AFTER':
263
+ query.where(param.field, '>=', param.values[0]);
264
+ break;
265
+ }
266
+ });
267
+ };
268
+ const applyMultiQueryParams = (query, queryParams, fields, createBaseQuery) => {
269
+ queryParams.forEach((param) => {
270
+ const values = param.values.map((val) => (Array.isArray(fields) ? val.split(':') : [val]).map((s) => s.trim()));
271
+ const baseSubQuery = createBaseQuery(values);
272
+ switch (param.operator) {
273
+ case 'INCLUDE':
274
+ case 'INCLUDE_ANY_OF':
275
+ if (Array.isArray(fields)) {
276
+ query.whereIn(fields, values);
277
+ }
278
+ else {
279
+ query.whereIn(fields, values.map((v) => v[0]));
280
+ }
281
+ break;
282
+ case 'DO_NOT_INCLUDE':
283
+ case 'EXCLUDE_IF_ANY_OF':
284
+ query.whereNotIn('features.name', baseSubQuery);
285
+ break;
286
+ case 'INCLUDE_ALL_OF':
287
+ query.whereIn('features.name', (dbSubQuery) => {
288
+ baseSubQuery(dbSubQuery)
289
+ .groupBy('feature_name')
290
+ .havingRaw('COUNT(*) = ?', [values.length]);
291
+ });
292
+ break;
293
+ case 'EXCLUDE_ALL':
294
+ query.whereNotIn('features.name', (dbSubQuery) => {
295
+ baseSubQuery(dbSubQuery)
296
+ .groupBy('feature_name')
297
+ .havingRaw('COUNT(*) = ?', [values.length]);
298
+ });
299
+ break;
300
+ }
301
+ });
302
+ };
303
+ const createTagBaseQuery = (tags) => {
304
+ return (dbSubQuery) => {
305
+ return dbSubQuery
306
+ .from('feature_tag')
307
+ .select('feature_name')
308
+ .whereIn(['tag_type', 'tag_value'], tags);
309
+ };
310
+ };
311
+ const createSegmentBaseQuery = (segments) => {
312
+ return (dbSubQuery) => {
313
+ return dbSubQuery
314
+ .from('feature_strategies')
315
+ .leftJoin('feature_strategy_segment', 'feature_strategy_segment.feature_strategy_id', 'feature_strategies.id')
316
+ .leftJoin('segments', 'feature_strategy_segment.segment_id', 'segments.id')
317
+ .select('feature_name')
318
+ .whereIn('name', segments);
319
+ };
320
+ };
321
+ module.exports = FeatureSearchStore;
322
+ exports.default = FeatureSearchStore;
323
+ //# sourceMappingURL=feature-search-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feature-search-store.js","sourceRoot":"","sources":["../../../../src/lib/features/feature-search/feature-search-store.ts"],"names":[],"mappings":"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"}
@@ -83,6 +83,16 @@ const filterFeaturesByState = async (state, expectedCode = 200) => {
83
83
  .get(`/api/admin/search/features?state=${state}`)
84
84
  .expect(expectedCode);
85
85
  };
86
+ const filterFeaturesByOperators = async (state, tag, createdAt, expectedCode = 200) => {
87
+ return app.request
88
+ .get(`/api/admin/search/features?createdAt=${createdAt}&state=${state}&tag=${tag}`)
89
+ .expect(expectedCode);
90
+ };
91
+ const filterFeaturesByCreated = async (createdAt, expectedCode = 200) => {
92
+ return app.request
93
+ .get(`/api/admin/search/features?createdAt=${createdAt}`)
94
+ .expect(expectedCode);
95
+ };
86
96
  const filterFeaturesByEnvironmentStatus = async (environmentStatuses, expectedCode = 200) => {
87
97
  const statuses = environmentStatuses
88
98
  .map((status) => `status[]=${status}`)
@@ -198,6 +208,9 @@ test('should filter features by tag', async () => {
198
208
  { name: 'my_feature_c' },
199
209
  ],
200
210
  });
211
+ await filterFeaturesByTag('EXCLUDE_ALL:simple', 400);
212
+ await filterFeaturesByTag('EXCLUDE_ALL:simple,simple', 400);
213
+ await filterFeaturesByTag('EXCLUDE_ALL:simple,simple:jest', 400);
201
214
  });
202
215
  test('should filter features by environment status', async () => {
203
216
  await app.createFeature('my_feature_a');
@@ -268,6 +281,7 @@ test('should sort features', async () => {
268
281
  await app.createFeature('my_feature_b');
269
282
  await app.enableFeature('my_feature_c', 'default');
270
283
  await app.favoriteFeature('my_feature_b');
284
+ await (0, test_helper_1.insertLastSeenAt)('my_feature_c', db.rawDatabase, 'default');
271
285
  const { body: ascName } = await sortFeatures({
272
286
  sortBy: 'name',
273
287
  sortOrder: 'asc',
@@ -341,6 +355,39 @@ test('should sort features', async () => {
341
355
  ],
342
356
  total: 3,
343
357
  });
358
+ const { body: lastSeenAscSort } = await sortFeatures({
359
+ sortBy: 'lastSeenAt',
360
+ sortOrder: 'asc',
361
+ });
362
+ expect(lastSeenAscSort).toMatchObject({
363
+ features: [
364
+ { name: 'my_feature_c' },
365
+ { name: 'my_feature_a' },
366
+ { name: 'my_feature_b' },
367
+ ],
368
+ total: 3,
369
+ });
370
+ });
371
+ test('should sort features when feature names are numbers', async () => {
372
+ await app.createFeature('my_feature_a');
373
+ await app.createFeature('my_feature_c');
374
+ await app.createFeature('my_feature_b');
375
+ await app.createFeature('1234');
376
+ await app.favoriteFeature('my_feature_b');
377
+ const { body: favoriteSortByName } = await sortFeatures({
378
+ sortBy: 'name',
379
+ sortOrder: 'asc',
380
+ favoritesFirst: 'true',
381
+ });
382
+ expect(favoriteSortByName).toMatchObject({
383
+ features: [
384
+ { name: 'my_feature_b' },
385
+ { name: '1234' },
386
+ { name: 'my_feature_a' },
387
+ { name: 'my_feature_c' },
388
+ ],
389
+ total: 4,
390
+ });
344
391
  });
345
392
  test('should paginate correctly when using tags', async () => {
346
393
  await app.createFeature('my_feature_a');
@@ -377,7 +424,7 @@ test('should paginate correctly when using tags', async () => {
377
424
  total: 4,
378
425
  });
379
426
  });
380
- test('should not return duplicate entries when sorting by last seen', async () => {
427
+ test('should not return duplicate entries when sorting by environments', async () => {
381
428
  await app.createFeature('my_feature_a');
382
429
  await app.createFeature('my_feature_b');
383
430
  await app.createFeature('my_feature_c');
@@ -468,6 +515,7 @@ test('should search features by project with operators', async () => {
468
515
  });
469
516
  await db.stores.featureToggleStore.create('project_b', {
470
517
  name: 'my_feature_b',
518
+ createdByUserId: 9999,
471
519
  });
472
520
  await db.stores.projectStore.create({
473
521
  name: 'project_c',
@@ -476,6 +524,7 @@ test('should search features by project with operators', async () => {
476
524
  });
477
525
  await db.stores.featureToggleStore.create('project_c', {
478
526
  name: 'my_feature_c',
527
+ createdByUserId: 9999,
479
528
  });
480
529
  const { body } = await searchFeatures({
481
530
  project: 'IS:default',
@@ -496,7 +545,7 @@ test('should search features by project with operators', async () => {
496
545
  features: [{ name: 'my_feature_a' }, { name: 'my_feature_c' }],
497
546
  });
498
547
  const { body: isNotAnyBody } = await searchFeatures({
499
- project: 'IS_NOT_ANY_OF:default,project_c',
548
+ project: 'IS_NONE_OF:default,project_c',
500
549
  });
501
550
  expect(isNotAnyBody).toMatchObject({
502
551
  features: [{ name: 'my_feature_b' }],
@@ -586,9 +635,18 @@ test('should filter features by segment', async () => {
586
635
  });
587
636
  });
588
637
  test('should search features by state with operators', async () => {
589
- await app.createFeature({ name: 'my_feature_a', stale: false });
590
- await app.createFeature({ name: 'my_feature_b', stale: true });
591
- await app.createFeature({ name: 'my_feature_c', stale: true });
638
+ await app.createFeature({
639
+ name: 'my_feature_a',
640
+ stale: false,
641
+ });
642
+ await app.createFeature({
643
+ name: 'my_feature_b',
644
+ stale: true,
645
+ });
646
+ await app.createFeature({
647
+ name: 'my_feature_c',
648
+ stale: true,
649
+ });
592
650
  const { body } = await filterFeaturesByState('IS:active');
593
651
  expect(body).toMatchObject({
594
652
  features: [{ name: 'my_feature_a' }],
@@ -605,9 +663,46 @@ test('should search features by state with operators', async () => {
605
663
  { name: 'my_feature_c' },
606
664
  ],
607
665
  });
608
- const { body: isNotAnyBody } = await filterFeaturesByState('IS_NOT_ANY_OF:active, stale');
666
+ const { body: isNotAnyBody } = await filterFeaturesByState('IS_NONE_OF:active, stale');
609
667
  expect(isNotAnyBody).toMatchObject({
610
668
  features: [],
611
669
  });
612
670
  });
671
+ test('should search features by created date with operators', async () => {
672
+ await app.createFeature({
673
+ name: 'my_feature_a',
674
+ createdAt: '2023-01-27T15:21:39.975Z',
675
+ });
676
+ await app.createFeature({
677
+ name: 'my_feature_b',
678
+ createdAt: '2023-01-29T15:21:39.975Z',
679
+ });
680
+ const { body } = await filterFeaturesByCreated('IS_BEFORE:2023-01-28');
681
+ expect(body).toMatchObject({
682
+ features: [{ name: 'my_feature_a' }],
683
+ });
684
+ const { body: afterBody } = await filterFeaturesByCreated('IS_ON_OR_AFTER:2023-01-28');
685
+ expect(afterBody).toMatchObject({
686
+ features: [{ name: 'my_feature_b' }],
687
+ });
688
+ });
689
+ test('should filter features by combined operators', async () => {
690
+ await app.createFeature({
691
+ name: 'my_feature_a',
692
+ createdAt: '2023-01-27T15:21:39.975Z',
693
+ stale: true,
694
+ });
695
+ await app.createFeature({
696
+ name: 'my_feature_b',
697
+ createdAt: '2023-01-29T15:21:39.975Z',
698
+ });
699
+ await app.addTag('my_feature_b', {
700
+ type: 'simple',
701
+ value: 'my_tag',
702
+ });
703
+ const { body } = await filterFeaturesByOperators('IS_NOT:active', 'DO_NOT_INCLUDE:simple:my_tag', 'IS_BEFORE:2023-01-28');
704
+ expect(body).toMatchObject({
705
+ features: [{ name: 'my_feature_a' }],
706
+ });
707
+ });
613
708
  //# sourceMappingURL=feature.search.e2e.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"feature.search.e2e.test.js","sourceRoot":"","sources":["../../../../src/lib/features/feature-search/feature.search.e2e.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"feature.search.e2e.test.js","sourceRoot":"","sources":["../../../../src/lib/features/feature-search/feature.search.e2e.test.ts"],"names":[],"mappings":"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"}