unleash-server 5.4.3 → 5.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (586) hide show
  1. package/README.md +5 -3
  2. package/dist/lib/addons/addon-schema.js +2 -1
  3. package/dist/lib/addons/addon-schema.js.map +1 -1
  4. package/dist/lib/addons/datadog-definition.js +22 -7
  5. package/dist/lib/addons/datadog-definition.js.map +1 -1
  6. package/dist/lib/addons/datadog.d.ts +7 -1
  7. package/dist/lib/addons/datadog.js +16 -3
  8. package/dist/lib/addons/datadog.js.map +1 -1
  9. package/dist/lib/addons/datadog.test.js +62 -0
  10. package/dist/lib/addons/datadog.test.js.map +1 -1
  11. package/dist/lib/addons/index.js +3 -11
  12. package/dist/lib/addons/index.js.map +1 -1
  13. package/dist/lib/addons/slack-app-definition.js +5 -24
  14. package/dist/lib/addons/slack-app-definition.js.map +1 -1
  15. package/dist/lib/addons/slack-app.d.ts +0 -1
  16. package/dist/lib/addons/slack-app.js +5 -17
  17. package/dist/lib/addons/slack-app.js.map +1 -1
  18. package/dist/lib/addons/slack-app.test.js +39 -25
  19. package/dist/lib/addons/slack-app.test.js.map +1 -1
  20. package/dist/lib/addons/slack-definition.js +11 -4
  21. package/dist/lib/addons/slack-definition.js.map +1 -1
  22. package/dist/lib/addons/teams-definition.js +5 -4
  23. package/dist/lib/addons/teams-definition.js.map +1 -1
  24. package/dist/lib/addons/webhook-definition.js +10 -12
  25. package/dist/lib/addons/webhook-definition.js.map +1 -1
  26. package/dist/lib/create-config.js +13 -1
  27. package/dist/lib/create-config.js.map +1 -1
  28. package/dist/lib/create-config.test.js +14 -0
  29. package/dist/lib/create-config.test.js.map +1 -1
  30. package/dist/lib/db/access-store.d.ts +23 -5
  31. package/dist/lib/db/access-store.js +263 -17
  32. package/dist/lib/db/access-store.js.map +1 -1
  33. package/dist/lib/db/access-store.test.js +83 -0
  34. package/dist/lib/db/access-store.test.js.map +1 -0
  35. package/dist/lib/db/client-applications-store.d.ts +1 -3
  36. package/dist/lib/db/client-applications-store.js +13 -24
  37. package/dist/lib/db/client-applications-store.js.map +1 -1
  38. package/dist/lib/db/event-store.js +1 -0
  39. package/dist/lib/db/event-store.js.map +1 -1
  40. package/dist/lib/db/feature-toggle-client-store.js +17 -4
  41. package/dist/lib/db/feature-toggle-client-store.js.map +1 -1
  42. package/dist/lib/db/feature-toggle-store.js +1 -1
  43. package/dist/lib/db/feature-toggle-store.js.map +1 -1
  44. package/dist/lib/db/group-store.d.ts +4 -2
  45. package/dist/lib/db/group-store.js +24 -0
  46. package/dist/lib/db/group-store.js.map +1 -1
  47. package/dist/lib/db/index.d.ts +1 -2
  48. package/dist/lib/db/index.js +5 -1
  49. package/dist/lib/db/index.js.map +1 -1
  50. package/dist/lib/db/project-stats-store.d.ts +2 -0
  51. package/dist/lib/db/project-stats-store.js +27 -0
  52. package/dist/lib/db/project-stats-store.js.map +1 -1
  53. package/dist/lib/db/project-store.d.ts +7 -1
  54. package/dist/lib/db/project-store.js +34 -1
  55. package/dist/lib/db/project-store.js.map +1 -1
  56. package/dist/lib/error/bad-data-error.d.ts +1 -1
  57. package/dist/lib/error/index.d.ts +2 -1
  58. package/dist/lib/error/index.js +3 -1
  59. package/dist/lib/error/index.js.map +1 -1
  60. package/dist/lib/error/pattern-error.d.ts +10 -0
  61. package/dist/lib/error/pattern-error.js +20 -0
  62. package/dist/lib/error/pattern-error.js.map +1 -0
  63. package/dist/lib/features/dependent-features/createDependentFeaturesService.d.ts +3 -0
  64. package/dist/lib/features/dependent-features/createDependentFeaturesService.js +11 -0
  65. package/dist/lib/features/dependent-features/createDependentFeaturesService.js.map +1 -0
  66. package/dist/lib/features/dependent-features/dependent-features-controller.d.ts +28 -0
  67. package/dist/lib/features/dependent-features/dependent-features-controller.js +151 -0
  68. package/dist/lib/features/dependent-features/dependent-features-controller.js.map +1 -0
  69. package/dist/lib/features/dependent-features/dependent-features-service.d.ts +11 -0
  70. package/dist/lib/features/dependent-features/dependent-features-service.js +40 -0
  71. package/dist/lib/features/dependent-features/dependent-features-service.js.map +1 -0
  72. package/dist/lib/features/dependent-features/dependent-features-store-type.d.ts +8 -0
  73. package/dist/lib/features/dependent-features/dependent-features-store-type.js +3 -0
  74. package/dist/lib/features/dependent-features/dependent-features-store-type.js.map +1 -0
  75. package/dist/lib/features/dependent-features/dependent-features-store.d.ts +12 -0
  76. package/dist/lib/features/dependent-features/dependent-features-store.js +56 -0
  77. package/dist/lib/features/dependent-features/dependent-features-store.js.map +1 -0
  78. package/dist/lib/features/dependent-features/dependent-features.d.ts +14 -0
  79. package/dist/lib/features/dependent-features/dependent-features.js +3 -0
  80. package/dist/lib/features/dependent-features/dependent-features.js.map +1 -0
  81. package/dist/lib/features/dependent-features/dependent.features.e2e.test.d.ts +1 -0
  82. package/dist/lib/features/dependent-features/dependent.features.e2e.test.js +82 -0
  83. package/dist/lib/features/dependent-features/dependent.features.e2e.test.js.map +1 -0
  84. package/dist/lib/features/dependent-features/fake-dependent-features-store.d.ts +8 -0
  85. package/dist/lib/features/dependent-features/fake-dependent-features-store.js +22 -0
  86. package/dist/lib/features/dependent-features/fake-dependent-features-store.js.map +1 -0
  87. package/dist/lib/features/export-import-toggles/createExportImportService.js +6 -3
  88. package/dist/lib/features/export-import-toggles/createExportImportService.js.map +1 -1
  89. package/dist/lib/features/export-import-toggles/export-import-service.d.ts +9 -3
  90. package/dist/lib/features/export-import-toggles/export-import-service.js +51 -21
  91. package/dist/lib/features/export-import-toggles/export-import-service.js.map +1 -1
  92. package/dist/lib/features/export-import-toggles/export-import.e2e.test.js +120 -50
  93. package/dist/lib/features/export-import-toggles/export-import.e2e.test.js.map +1 -1
  94. package/dist/lib/features/export-import-toggles/import-permissions-service.d.ts +1 -2
  95. package/dist/lib/features/export-import-toggles/import-toggles-store-type.d.ts +6 -0
  96. package/dist/lib/features/export-import-toggles/import-toggles-store.d.ts +2 -1
  97. package/dist/lib/features/export-import-toggles/import-toggles-store.js +25 -0
  98. package/dist/lib/features/export-import-toggles/import-toggles-store.js.map +1 -1
  99. package/dist/lib/features/export-import-toggles/import-validation-messages.d.ts +18 -2
  100. package/dist/lib/features/export-import-toggles/import-validation-messages.js +27 -11
  101. package/dist/lib/features/export-import-toggles/import-validation-messages.js.map +1 -1
  102. package/dist/lib/features/feature-naming-pattern/feature-naming-validation.d.ts +14 -0
  103. package/dist/lib/features/feature-naming-pattern/feature-naming-validation.js +46 -0
  104. package/dist/lib/features/feature-naming-pattern/feature-naming-validation.js.map +1 -0
  105. package/dist/lib/features/feature-naming-pattern/feature-naming-validation.test.d.ts +1 -0
  106. package/dist/lib/features/feature-naming-pattern/feature-naming-validation.test.js +116 -0
  107. package/dist/lib/features/feature-naming-pattern/feature-naming-validation.test.js.map +1 -0
  108. package/dist/lib/features/feature-toggle/createFeatureToggleService.js +11 -2
  109. package/dist/lib/features/feature-toggle/createFeatureToggleService.js.map +1 -1
  110. package/dist/lib/features/instance-stats/getActiveUsers.d.ts +9 -0
  111. package/dist/lib/features/instance-stats/getActiveUsers.e2e.test.d.ts +1 -0
  112. package/dist/lib/features/instance-stats/getActiveUsers.e2e.test.js +141 -0
  113. package/dist/lib/features/instance-stats/getActiveUsers.e2e.test.js.map +1 -0
  114. package/dist/lib/features/instance-stats/getActiveUsers.js +33 -0
  115. package/dist/lib/features/instance-stats/getActiveUsers.js.map +1 -0
  116. package/dist/lib/{services → features/instance-stats}/instance-stats-service.d.ts +13 -7
  117. package/dist/lib/{services → features/instance-stats}/instance-stats-service.js +16 -7
  118. package/dist/lib/features/instance-stats/instance-stats-service.js.map +1 -0
  119. package/dist/lib/features/instance-stats/instance-stats-service.test.d.ts +1 -0
  120. package/dist/lib/{services → features/instance-stats}/instance-stats-service.test.js +6 -5
  121. package/dist/lib/features/instance-stats/instance-stats-service.test.js.map +1 -0
  122. package/dist/lib/features/playground/advanced-playground.test.js +2 -3
  123. package/dist/lib/features/playground/advanced-playground.test.js.map +1 -1
  124. package/dist/lib/features/playground/feature-evaluator/variant.d.ts +1 -1
  125. package/dist/lib/features/playground/generateObjectCombinations.d.ts +1 -1
  126. package/dist/lib/features/playground/generateObjectCombinations.js +14 -4
  127. package/dist/lib/features/playground/generateObjectCombinations.js.map +1 -1
  128. package/dist/lib/features/playground/generateObjectCombinations.test.js +21 -0
  129. package/dist/lib/features/playground/generateObjectCombinations.test.js.map +1 -1
  130. package/dist/lib/features/playground/playground-service.d.ts +5 -3
  131. package/dist/lib/features/playground/playground-service.js +18 -3
  132. package/dist/lib/features/playground/playground-service.js.map +1 -1
  133. package/dist/lib/features/playground/playground.d.ts +2 -1
  134. package/dist/lib/features/playground/playground.js +2 -1
  135. package/dist/lib/features/playground/playground.js.map +1 -1
  136. package/dist/lib/features/private-project/createPrivateProjectChecker.d.ts +5 -0
  137. package/dist/lib/features/private-project/createPrivateProjectChecker.js +22 -0
  138. package/dist/lib/features/private-project/createPrivateProjectChecker.js.map +1 -0
  139. package/dist/lib/features/private-project/fakePrivateProjectChecker.d.ts +7 -0
  140. package/dist/lib/features/private-project/fakePrivateProjectChecker.js +15 -0
  141. package/dist/lib/features/private-project/fakePrivateProjectChecker.js.map +1 -0
  142. package/dist/lib/features/private-project/privateProjectChecker.d.ts +10 -0
  143. package/dist/lib/features/private-project/privateProjectChecker.js +22 -0
  144. package/dist/lib/features/private-project/privateProjectChecker.js.map +1 -0
  145. package/dist/lib/features/private-project/privateProjectCheckerType.d.ts +5 -0
  146. package/dist/lib/features/private-project/privateProjectCheckerType.js +3 -0
  147. package/dist/lib/features/private-project/privateProjectCheckerType.js.map +1 -0
  148. package/dist/lib/features/private-project/privateProjectStore.d.ts +18 -0
  149. package/dist/lib/features/private-project/privateProjectStore.js +70 -0
  150. package/dist/lib/features/private-project/privateProjectStore.js.map +1 -0
  151. package/dist/lib/features/private-project/privateProjectStoreType.d.ts +4 -0
  152. package/dist/lib/features/private-project/privateProjectStoreType.js +3 -0
  153. package/dist/lib/features/private-project/privateProjectStoreType.js.map +1 -0
  154. package/dist/lib/features/project/createProjectService.js +5 -8
  155. package/dist/lib/features/project/createProjectService.js.map +1 -1
  156. package/dist/lib/features/segment/createSegmentService.js +5 -2
  157. package/dist/lib/features/segment/createSegmentService.js.map +1 -1
  158. package/dist/lib/features/segment/segment-controller.d.ts +39 -0
  159. package/dist/lib/features/segment/segment-controller.js +291 -0
  160. package/dist/lib/features/segment/segment-controller.js.map +1 -0
  161. package/dist/lib/metrics.d.ts +1 -1
  162. package/dist/lib/metrics.js +30 -1
  163. package/dist/lib/metrics.js.map +1 -1
  164. package/dist/lib/metrics.test.js +3 -2
  165. package/dist/lib/metrics.test.js.map +1 -1
  166. package/dist/lib/middleware/rbac-middleware.d.ts +2 -0
  167. package/dist/lib/middleware/rbac-middleware.js +2 -0
  168. package/dist/lib/middleware/rbac-middleware.js.map +1 -1
  169. package/dist/lib/middleware/secure-headers.js +18 -0
  170. package/dist/lib/middleware/secure-headers.js.map +1 -1
  171. package/dist/lib/openapi/index.js +13 -0
  172. package/dist/lib/openapi/index.js.map +1 -1
  173. package/dist/lib/openapi/meta-schema-rules.test.js +14 -4
  174. package/dist/lib/openapi/meta-schema-rules.test.js.map +1 -1
  175. package/dist/lib/openapi/spec/addon-type-schema.d.ts +6 -1
  176. package/dist/lib/openapi/spec/addon-type-schema.js +6 -1
  177. package/dist/lib/openapi/spec/addon-type-schema.js.map +1 -1
  178. package/dist/lib/openapi/spec/addons-schema.d.ts +8 -3
  179. package/dist/lib/openapi/spec/addons-schema.js +8 -3
  180. package/dist/lib/openapi/spec/addons-schema.js.map +1 -1
  181. package/dist/lib/openapi/spec/admin-segment-schema.d.ts +115 -0
  182. package/dist/lib/openapi/spec/admin-segment-schema.js +75 -0
  183. package/dist/lib/openapi/spec/admin-segment-schema.js.map +1 -0
  184. package/dist/lib/openapi/spec/admin-segment-schema.test.d.ts +1 -0
  185. package/dist/lib/openapi/spec/admin-segment-schema.test.js +39 -0
  186. package/dist/lib/openapi/spec/admin-segment-schema.test.js.map +1 -0
  187. package/dist/lib/openapi/spec/admin-strategies-schema.d.ts +46 -0
  188. package/dist/lib/openapi/spec/admin-strategies-schema.js +54 -0
  189. package/dist/lib/openapi/spec/admin-strategies-schema.js.map +1 -0
  190. package/dist/lib/openapi/spec/admin-strategies-schema.test.d.ts +1 -0
  191. package/dist/lib/openapi/spec/admin-strategies-schema.test.js +40 -0
  192. package/dist/lib/openapi/spec/admin-strategies-schema.test.js.map +1 -0
  193. package/dist/lib/openapi/spec/advanced-playground-environment-feature-schema.d.ts +51 -6
  194. package/dist/lib/openapi/spec/advanced-playground-environment-feature-schema.js +3 -1
  195. package/dist/lib/openapi/spec/advanced-playground-environment-feature-schema.js.map +1 -1
  196. package/dist/lib/openapi/spec/advanced-playground-feature-schema.d.ts +101 -11
  197. package/dist/lib/openapi/spec/advanced-playground-feature-schema.js +2 -0
  198. package/dist/lib/openapi/spec/advanced-playground-feature-schema.js.map +1 -1
  199. package/dist/lib/openapi/spec/advanced-playground-request-schema.d.ts +1 -0
  200. package/dist/lib/openapi/spec/advanced-playground-response-schema.d.ts +203 -22
  201. package/dist/lib/openapi/spec/advanced-playground-response-schema.js +2 -0
  202. package/dist/lib/openapi/spec/advanced-playground-response-schema.js.map +1 -1
  203. package/dist/lib/openapi/spec/client-feature-schema.d.ts +41 -6
  204. package/dist/lib/openapi/spec/client-feature-schema.js +9 -0
  205. package/dist/lib/openapi/spec/client-feature-schema.js.map +1 -1
  206. package/dist/lib/openapi/spec/client-features-schema.d.ts +75 -12
  207. package/dist/lib/openapi/spec/client-features-schema.js +2 -0
  208. package/dist/lib/openapi/spec/client-features-schema.js.map +1 -1
  209. package/dist/lib/openapi/spec/context-field-strategies-schema.d.ts +1 -1
  210. package/dist/lib/openapi/spec/context-field-strategies-schema.js +1 -1
  211. package/dist/lib/openapi/spec/context-field-strategies-schema.js.map +1 -1
  212. package/dist/lib/openapi/spec/create-api-token-schema.d.ts +1 -139
  213. package/dist/lib/openapi/spec/create-api-token-schema.js +16 -20
  214. package/dist/lib/openapi/spec/create-api-token-schema.js.map +1 -1
  215. package/dist/lib/openapi/spec/create-dependent-feature-schema.d.ts +29 -0
  216. package/dist/lib/openapi/spec/create-dependent-feature-schema.js +31 -0
  217. package/dist/lib/openapi/spec/create-dependent-feature-schema.js.map +1 -0
  218. package/dist/lib/openapi/spec/create-feature-naming-pattern-schema.d.ts +29 -0
  219. package/dist/lib/openapi/spec/create-feature-naming-pattern-schema.js +33 -0
  220. package/dist/lib/openapi/spec/create-feature-naming-pattern-schema.js.map +1 -0
  221. package/dist/lib/openapi/spec/create-feature-strategy-schema.d.ts +2 -2
  222. package/dist/lib/openapi/spec/create-strategy-schema.d.ts +15 -0
  223. package/dist/lib/openapi/spec/create-strategy-schema.js +15 -0
  224. package/dist/lib/openapi/spec/create-strategy-schema.js.map +1 -1
  225. package/dist/lib/openapi/spec/create-strategy-variant-schema.d.ts +2 -2
  226. package/dist/lib/openapi/spec/create-strategy-variant-schema.js +2 -2
  227. package/dist/lib/openapi/spec/create-strategy-variant-schema.js.map +1 -1
  228. package/dist/lib/openapi/spec/dependent-feature-schema.d.ts +30 -0
  229. package/dist/lib/openapi/spec/dependent-feature-schema.js +14 -0
  230. package/dist/lib/openapi/spec/dependent-feature-schema.js.map +1 -0
  231. package/dist/lib/openapi/spec/dora-features-schema.d.ts +20 -0
  232. package/dist/lib/openapi/spec/dora-features-schema.js +22 -0
  233. package/dist/lib/openapi/spec/dora-features-schema.js.map +1 -0
  234. package/dist/lib/openapi/spec/environment-project-schema.d.ts +4 -4
  235. package/dist/lib/openapi/spec/environments-project-schema.d.ts +4 -4
  236. package/dist/lib/openapi/spec/event-schema.d.ts +3 -3
  237. package/dist/lib/openapi/spec/events-schema.d.ts +3 -3
  238. package/dist/lib/openapi/spec/export-query-schema.d.ts +22 -15
  239. package/dist/lib/openapi/spec/export-query-schema.js +16 -15
  240. package/dist/lib/openapi/spec/export-query-schema.js.map +1 -1
  241. package/dist/lib/openapi/spec/export-result-schema.d.ts +26 -26
  242. package/dist/lib/openapi/spec/feature-environment-schema.d.ts +6 -6
  243. package/dist/lib/openapi/spec/feature-events-schema.d.ts +3 -3
  244. package/dist/lib/openapi/spec/feature-schema.d.ts +12 -12
  245. package/dist/lib/openapi/spec/feature-strategy-schema.d.ts +2 -2
  246. package/dist/lib/openapi/spec/feature-variants-schema.d.ts +2 -2
  247. package/dist/lib/openapi/spec/features-schema.d.ts +24 -24
  248. package/dist/lib/openapi/spec/health-overview-schema.d.ts +63 -33
  249. package/dist/lib/openapi/spec/health-overview-schema.js +6 -1
  250. package/dist/lib/openapi/spec/health-overview-schema.js.map +1 -1
  251. package/dist/lib/openapi/spec/health-report-schema.d.ts +63 -33
  252. package/dist/lib/openapi/spec/import-toggles-schema.d.ts +52 -52
  253. package/dist/lib/openapi/spec/index.d.ts +9 -0
  254. package/dist/lib/openapi/spec/index.js +9 -0
  255. package/dist/lib/openapi/spec/index.js.map +1 -1
  256. package/dist/lib/openapi/spec/instance-admin-stats-schema.d.ts +42 -0
  257. package/dist/lib/openapi/spec/instance-admin-stats-schema.js +42 -0
  258. package/dist/lib/openapi/spec/instance-admin-stats-schema.js.map +1 -1
  259. package/dist/lib/openapi/spec/parent-feature-options-schema.d.ts +11 -0
  260. package/dist/lib/openapi/spec/parent-feature-options-schema.js +13 -0
  261. package/dist/lib/openapi/spec/parent-feature-options-schema.js.map +1 -0
  262. package/dist/lib/openapi/spec/playground-feature-schema.d.ts +5 -5
  263. package/dist/lib/openapi/spec/playground-request-schema.d.ts +1 -0
  264. package/dist/lib/openapi/spec/playground-response-schema.d.ts +12 -10
  265. package/dist/lib/openapi/spec/playground-strategy-schema.d.ts +4 -4
  266. package/dist/lib/openapi/spec/playground-strategy-schema.js +1 -1
  267. package/dist/lib/openapi/spec/playground-strategy-schema.js.map +1 -1
  268. package/dist/lib/openapi/spec/profile-schema.d.ts +12 -12
  269. package/dist/lib/openapi/spec/project-dora-metrics-schema.d.ts +44 -0
  270. package/dist/lib/openapi/spec/project-dora-metrics-schema.js +28 -0
  271. package/dist/lib/openapi/spec/project-dora-metrics-schema.js.map +1 -0
  272. package/dist/lib/openapi/spec/project-environment-schema.d.ts +4 -4
  273. package/dist/lib/openapi/spec/project-overview-schema.d.ts +63 -33
  274. package/dist/lib/openapi/spec/project-overview-schema.js +6 -1
  275. package/dist/lib/openapi/spec/project-overview-schema.js.map +1 -1
  276. package/dist/lib/openapi/spec/project-schema.d.ts +1 -1
  277. package/dist/lib/openapi/spec/project-schema.js +1 -1
  278. package/dist/lib/openapi/spec/project-schema.js.map +1 -1
  279. package/dist/lib/openapi/spec/projects-schema.d.ts +1 -1
  280. package/dist/lib/openapi/spec/push-variants-schema.d.ts +2 -2
  281. package/dist/lib/openapi/spec/sdk-context-schema.d.ts +1 -0
  282. package/dist/lib/openapi/spec/sdk-context-schema.js +1 -0
  283. package/dist/lib/openapi/spec/sdk-context-schema.js.map +1 -1
  284. package/dist/lib/openapi/spec/sdk-flat-context-schema.d.ts +46 -0
  285. package/dist/lib/openapi/spec/sdk-flat-context-schema.js +15 -0
  286. package/dist/lib/openapi/spec/sdk-flat-context-schema.js.map +1 -0
  287. package/dist/lib/openapi/spec/search-events-schema.d.ts +1 -1
  288. package/dist/lib/openapi/spec/segments-schema.d.ts +177 -0
  289. package/dist/lib/openapi/spec/segments-schema.js +26 -0
  290. package/dist/lib/openapi/spec/segments-schema.js.map +1 -0
  291. package/dist/lib/openapi/spec/segments-schema.test.d.ts +1 -0
  292. package/dist/lib/openapi/spec/segments-schema.test.js +16 -0
  293. package/dist/lib/openapi/spec/segments-schema.test.js.map +1 -0
  294. package/dist/lib/openapi/spec/state-schema.d.ts +23 -23
  295. package/dist/lib/openapi/spec/strategy-variant-schema.d.ts +2 -2
  296. package/dist/lib/openapi/spec/update-feature-strategy-segments-schema.d.ts +35 -0
  297. package/dist/lib/openapi/spec/update-feature-strategy-segments-schema.js +37 -0
  298. package/dist/lib/openapi/spec/update-feature-strategy-segments-schema.js.map +1 -0
  299. package/dist/lib/openapi/spec/update-feature-strategy-segments-schema.test.d.ts +1 -0
  300. package/dist/lib/openapi/spec/update-feature-strategy-segments-schema.test.js +19 -0
  301. package/dist/lib/openapi/spec/update-feature-strategy-segments-schema.test.js.map +1 -0
  302. package/dist/lib/openapi/spec/upsert-segment-schema.d.ts +8 -15
  303. package/dist/lib/openapi/spec/upsert-segment-schema.js +8 -17
  304. package/dist/lib/openapi/spec/upsert-segment-schema.js.map +1 -1
  305. package/dist/lib/openapi/spec/upsert-segment-schema.test.d.ts +1 -0
  306. package/dist/lib/openapi/spec/upsert-segment-schema.test.js +35 -0
  307. package/dist/lib/openapi/spec/upsert-segment-schema.test.js.map +1 -0
  308. package/dist/lib/openapi/spec/validate-feature-schema.d.ts +6 -0
  309. package/dist/lib/openapi/spec/validate-feature-schema.js +6 -0
  310. package/dist/lib/openapi/spec/validate-feature-schema.js.map +1 -1
  311. package/dist/lib/openapi/spec/variant-schema.d.ts +2 -2
  312. package/dist/lib/openapi/spec/variant-schema.js +2 -2
  313. package/dist/lib/openapi/spec/variant-schema.js.map +1 -1
  314. package/dist/lib/openapi/spec/variants-schema.d.ts +2 -2
  315. package/dist/lib/openapi/util/all-of.d.ts +3 -0
  316. package/dist/lib/openapi/util/all-of.js +34 -0
  317. package/dist/lib/openapi/util/all-of.js.map +1 -0
  318. package/dist/lib/openapi/util/openapi-tags.d.ts +46 -58
  319. package/dist/lib/openapi/util/openapi-tags.js +27 -34
  320. package/dist/lib/openapi/util/openapi-tags.js.map +1 -1
  321. package/dist/lib/openapi/util/openapi-tags.test.d.ts +1 -0
  322. package/dist/lib/openapi/util/openapi-tags.test.js +15 -0
  323. package/dist/lib/openapi/util/openapi-tags.test.js.map +1 -0
  324. package/dist/lib/openapi/validate.js +0 -1
  325. package/dist/lib/openapi/validate.js.map +1 -1
  326. package/dist/lib/routes/admin-api/archive.d.ts +1 -1
  327. package/dist/lib/routes/admin-api/archive.js +3 -2
  328. package/dist/lib/routes/admin-api/archive.js.map +1 -1
  329. package/dist/lib/routes/admin-api/context.js +2 -1
  330. package/dist/lib/routes/admin-api/context.js.map +1 -1
  331. package/dist/lib/routes/admin-api/feature.js +2 -1
  332. package/dist/lib/routes/admin-api/feature.js.map +1 -1
  333. package/dist/lib/routes/admin-api/index.js +2 -0
  334. package/dist/lib/routes/admin-api/index.js.map +1 -1
  335. package/dist/lib/routes/admin-api/instance-admin.d.ts +2 -2
  336. package/dist/lib/routes/admin-api/instance-admin.js +7 -1
  337. package/dist/lib/routes/admin-api/instance-admin.js.map +1 -1
  338. package/dist/lib/routes/admin-api/metrics.d.ts +2 -1
  339. package/dist/lib/routes/admin-api/metrics.js +2 -1
  340. package/dist/lib/routes/admin-api/metrics.js.map +1 -1
  341. package/dist/lib/routes/admin-api/project/api-token.d.ts +2 -1
  342. package/dist/lib/routes/admin-api/project/api-token.js +12 -3
  343. package/dist/lib/routes/admin-api/project/api-token.js.map +1 -1
  344. package/dist/lib/routes/admin-api/project/environments.d.ts +2 -1
  345. package/dist/lib/routes/admin-api/project/environments.js +3 -1
  346. package/dist/lib/routes/admin-api/project/environments.js.map +1 -1
  347. package/dist/lib/routes/admin-api/project/index.d.ts +2 -1
  348. package/dist/lib/routes/admin-api/project/index.js +31 -0
  349. package/dist/lib/routes/admin-api/project/index.js.map +1 -1
  350. package/dist/lib/routes/admin-api/strategy.d.ts +1 -1
  351. package/dist/lib/routes/admin-api/strategy.js.map +1 -1
  352. package/dist/lib/routes/client-api/metrics.js +14 -8
  353. package/dist/lib/routes/client-api/metrics.js.map +1 -1
  354. package/dist/lib/routes/client-api/metrics.test.js +27 -0
  355. package/dist/lib/routes/client-api/metrics.test.js.map +1 -1
  356. package/dist/lib/routes/controller.d.ts +1 -1
  357. package/dist/lib/routes/controller.js +17 -10
  358. package/dist/lib/routes/controller.js.map +1 -1
  359. package/dist/lib/routes/proxy-api/index.js +5 -0
  360. package/dist/lib/routes/proxy-api/index.js.map +1 -1
  361. package/dist/lib/schema/role-schema.js +3 -1
  362. package/dist/lib/schema/role-schema.js.map +1 -1
  363. package/dist/lib/schema/role-schema.test.js +1 -1
  364. package/dist/lib/schema/role-schema.test.js.map +1 -1
  365. package/dist/lib/segments/segment-service-interface.d.ts +1 -1
  366. package/dist/lib/services/access-service.d.ts +29 -11
  367. package/dist/lib/services/access-service.js +53 -10
  368. package/dist/lib/services/access-service.js.map +1 -1
  369. package/dist/lib/services/access-service.test.js +2 -1
  370. package/dist/lib/services/access-service.test.js.map +1 -1
  371. package/dist/lib/services/addon-service.js +4 -2
  372. package/dist/lib/services/addon-service.js.map +1 -1
  373. package/dist/lib/services/addon-service.test.js +65 -0
  374. package/dist/lib/services/addon-service.test.js.map +1 -1
  375. package/dist/lib/services/client-metrics/instance-service.d.ts +5 -2
  376. package/dist/lib/services/client-metrics/instance-service.js +22 -3
  377. package/dist/lib/services/client-metrics/instance-service.js.map +1 -1
  378. package/dist/lib/services/client-metrics/instance-service.test.js +5 -4
  379. package/dist/lib/services/client-metrics/instance-service.test.js.map +1 -1
  380. package/dist/lib/services/context-service.d.ts +6 -2
  381. package/dist/lib/services/context-service.js +16 -2
  382. package/dist/lib/services/context-service.js.map +1 -1
  383. package/dist/lib/services/feature-service-potentially-stale.test.js +1 -1
  384. package/dist/lib/services/feature-service-potentially-stale.test.js.map +1 -1
  385. package/dist/lib/services/feature-toggle-service.d.ts +20 -7
  386. package/dist/lib/services/feature-toggle-service.js +109 -41
  387. package/dist/lib/services/feature-toggle-service.js.map +1 -1
  388. package/dist/lib/services/group-service.d.ts +4 -4
  389. package/dist/lib/services/group-service.js +17 -16
  390. package/dist/lib/services/group-service.js.map +1 -1
  391. package/dist/lib/services/index.d.ts +3 -2
  392. package/dist/lib/services/index.js +31 -17
  393. package/dist/lib/services/index.js.map +1 -1
  394. package/dist/lib/services/project-schema.js +9 -1
  395. package/dist/lib/services/project-schema.js.map +1 -1
  396. package/dist/lib/services/project-service.d.ts +16 -12
  397. package/dist/lib/services/project-service.js +127 -17
  398. package/dist/lib/services/project-service.js.map +1 -1
  399. package/dist/lib/services/scheduler-service.d.ts +1 -1
  400. package/dist/lib/services/scheduler-service.js +3 -3
  401. package/dist/lib/services/scheduler-service.js.map +1 -1
  402. package/dist/lib/services/scheduler-service.test.js +15 -15
  403. package/dist/lib/services/scheduler-service.test.js.map +1 -1
  404. package/dist/lib/services/segment-service.d.ts +4 -2
  405. package/dist/lib/services/segment-service.js +17 -10
  406. package/dist/lib/services/segment-service.js.map +1 -1
  407. package/dist/lib/services/state-service.test.js +13 -3
  408. package/dist/lib/services/state-service.test.js.map +1 -1
  409. package/dist/lib/services/version-service.test.js +3 -0
  410. package/dist/lib/services/version-service.test.js.map +1 -1
  411. package/dist/lib/types/events.d.ts +61 -1
  412. package/dist/lib/types/events.js +66 -4
  413. package/dist/lib/types/events.js.map +1 -1
  414. package/dist/lib/types/experimental.d.ts +1 -1
  415. package/dist/lib/types/experimental.js +9 -5
  416. package/dist/lib/types/experimental.js.map +1 -1
  417. package/dist/lib/types/group.d.ts +2 -2
  418. package/dist/lib/types/model.d.ts +31 -2
  419. package/dist/lib/types/model.js.map +1 -1
  420. package/dist/lib/types/no-auth-user.d.ts +1 -0
  421. package/dist/lib/types/no-auth-user.js +3 -1
  422. package/dist/lib/types/no-auth-user.js.map +1 -1
  423. package/dist/lib/types/option.d.ts +7 -0
  424. package/dist/lib/types/services.d.ts +6 -1
  425. package/dist/lib/types/stores/access-store.d.ts +23 -4
  426. package/dist/lib/types/stores/feature-strategies-store.d.ts +2 -1
  427. package/dist/lib/types/stores/group-store.d.ts +4 -2
  428. package/dist/lib/types/stores/project-stats-store-type.d.ts +2 -0
  429. package/dist/lib/types/stores/project-store.d.ts +7 -14
  430. package/dist/lib/types/stores/strategy-store.d.ts +3 -17
  431. package/dist/lib/types/stores.d.ts +5 -1
  432. package/dist/lib/util/findDuplicates.d.ts +1 -0
  433. package/dist/lib/util/findDuplicates.js +18 -0
  434. package/dist/lib/util/findDuplicates.js.map +1 -0
  435. package/dist/lib/util/findDuplicates.test.d.ts +1 -0
  436. package/dist/lib/util/findDuplicates.test.js +23 -0
  437. package/dist/lib/util/findDuplicates.test.js.map +1 -0
  438. package/dist/migrations/20230830121352-update-client-applications-usage-table.d.ts +2 -0
  439. package/dist/migrations/20230830121352-update-client-applications-usage-table.js +16 -0
  440. package/dist/migrations/20230830121352-update-client-applications-usage-table.js.map +1 -0
  441. package/dist/migrations/20230905122605-add-feature-naming-description.d.ts +2 -0
  442. package/dist/migrations/20230905122605-add-feature-naming-description.js +13 -0
  443. package/dist/migrations/20230905122605-add-feature-naming-description.js.map +1 -0
  444. package/dist/migrations/20230919104006-dependent-features.d.ts +2 -0
  445. package/dist/migrations/20230919104006-dependent-features.js +21 -0
  446. package/dist/migrations/20230919104006-dependent-features.js.map +1 -0
  447. package/dist/migrations/20230927071830-reset-pnps-feedback.d.ts +2 -0
  448. package/dist/migrations/20230927071830-reset-pnps-feedback.js +10 -0
  449. package/dist/migrations/20230927071830-reset-pnps-feedback.js.map +1 -0
  450. package/dist/server-dev.js +7 -4
  451. package/dist/server-dev.js.map +1 -1
  452. package/dist/test/e2e/api/admin/addon.e2e.test.js +0 -1
  453. package/dist/test/e2e/api/admin/addon.e2e.test.js.map +1 -1
  454. package/dist/test/e2e/api/admin/api-token.auth.e2e.test.js +8 -12
  455. package/dist/test/e2e/api/admin/api-token.auth.e2e.test.js.map +1 -1
  456. package/dist/test/e2e/api/admin/event.e2e.test.js +9 -2
  457. package/dist/test/e2e/api/admin/event.e2e.test.js.map +1 -1
  458. package/dist/test/e2e/api/admin/metrics.e2e.test.js +2 -10
  459. package/dist/test/e2e/api/admin/metrics.e2e.test.js.map +1 -1
  460. package/dist/test/e2e/api/admin/project/environments.e2e.test.js +8 -0
  461. package/dist/test/e2e/api/admin/project/environments.e2e.test.js.map +1 -1
  462. package/dist/test/e2e/api/admin/project/features.e2e.test.js +41 -15
  463. package/dist/test/e2e/api/admin/project/features.e2e.test.js.map +1 -1
  464. package/dist/test/e2e/api/admin/project/project.api.tokens.e2e.test.js +30 -3
  465. package/dist/test/e2e/api/admin/project/project.api.tokens.e2e.test.js.map +1 -1
  466. package/dist/test/e2e/api/admin/segment.e2e.test.d.ts +1 -0
  467. package/dist/test/e2e/api/admin/segment.e2e.test.js +272 -0
  468. package/dist/test/e2e/api/admin/segment.e2e.test.js.map +1 -0
  469. package/dist/test/e2e/api/admin/state.e2e.test.js +0 -11
  470. package/dist/test/e2e/api/admin/state.e2e.test.js.map +1 -1
  471. package/dist/test/e2e/api/admin/strategy.e2e.test.js +1 -1
  472. package/dist/test/e2e/api/client/feature.e2e.test.js +27 -3
  473. package/dist/test/e2e/api/client/feature.e2e.test.js.map +1 -1
  474. package/dist/test/e2e/api/client/feature.token.access.e2e.test.js +2 -2
  475. package/dist/test/e2e/api/client/feature.token.access.e2e.test.js.map +1 -1
  476. package/dist/test/e2e/api/client/segment.e2e.test.js +1 -1
  477. package/dist/test/e2e/api/client/segment.e2e.test.js.map +1 -1
  478. package/dist/test/e2e/api/proxy/proxy.e2e.test.js +34 -9
  479. package/dist/test/e2e/api/proxy/proxy.e2e.test.js.map +1 -1
  480. package/dist/test/e2e/helpers/app.utils.d.ts +6 -0
  481. package/dist/test/e2e/helpers/app.utils.js +16 -0
  482. package/dist/test/e2e/helpers/app.utils.js.map +1 -0
  483. package/dist/test/e2e/helpers/database.json +24 -0
  484. package/dist/test/e2e/services/access-service.e2e.test.js +549 -135
  485. package/dist/test/e2e/services/access-service.e2e.test.js.map +1 -1
  486. package/dist/test/e2e/services/api-token-service.e2e.test.js +4 -2
  487. package/dist/test/e2e/services/api-token-service.e2e.test.js.map +1 -1
  488. package/dist/test/e2e/services/client-metrics-service.e2e.test.js +2 -1
  489. package/dist/test/e2e/services/client-metrics-service.e2e.test.js.map +1 -1
  490. package/dist/test/e2e/services/feature-toggle-service-v2.e2e.test.js +38 -5
  491. package/dist/test/e2e/services/feature-toggle-service-v2.e2e.test.js.map +1 -1
  492. package/dist/test/e2e/services/group-service.e2e.test.js +16 -11
  493. package/dist/test/e2e/services/group-service.e2e.test.js.map +1 -1
  494. package/dist/test/e2e/services/playground-service.test.js +5 -2
  495. package/dist/test/e2e/services/playground-service.test.js.map +1 -1
  496. package/dist/test/e2e/services/project-health-service.e2e.test.js +4 -2
  497. package/dist/test/e2e/services/project-health-service.e2e.test.js.map +1 -1
  498. package/dist/test/e2e/services/project-service.e2e.test.js +242 -60
  499. package/dist/test/e2e/services/project-service.e2e.test.js.map +1 -1
  500. package/dist/test/fixtures/access-service-mock.d.ts +3 -4
  501. package/dist/test/fixtures/access-service-mock.js.map +1 -1
  502. package/dist/test/fixtures/fake-access-store.d.ts +15 -5
  503. package/dist/test/fixtures/fake-access-store.js +30 -3
  504. package/dist/test/fixtures/fake-access-store.js.map +1 -1
  505. package/dist/test/fixtures/fake-group-store.d.ts +4 -2
  506. package/dist/test/fixtures/fake-group-store.js +3 -0
  507. package/dist/test/fixtures/fake-group-store.js.map +1 -1
  508. package/dist/test/fixtures/fake-project-stats-store.d.ts +1 -0
  509. package/dist/test/fixtures/fake-project-stats-store.js +3 -0
  510. package/dist/test/fixtures/fake-project-stats-store.js.map +1 -1
  511. package/dist/test/fixtures/fake-project-store.d.ts +2 -1
  512. package/dist/test/fixtures/fake-project-store.js +3 -0
  513. package/dist/test/fixtures/fake-project-store.js.map +1 -1
  514. package/dist/test/fixtures/no-logger.d.ts +2 -1
  515. package/dist/test/fixtures/no-logger.js +8 -4
  516. package/dist/test/fixtures/no-logger.js.map +1 -1
  517. package/dist/test/fixtures/store.js +3 -0
  518. package/dist/test/fixtures/store.js.map +1 -1
  519. package/frontend/README.md +7 -1
  520. package/frontend/build/index.html +2 -2
  521. package/frontend/build/static/{AdvancedPlayground-1748fcdd.js → AdvancedPlayground-20059178.js} +11 -11
  522. package/frontend/build/static/CreateProject-6955728f.js +4 -0
  523. package/frontend/build/static/{Error-cbce6b64.js → Error-f56339ab.js} +1 -1
  524. package/frontend/build/static/FeatureArchiveDialog-33dc3a5b.js +10 -0
  525. package/frontend/build/static/{FeatureMetricsChart-8fd8a304.js → FeatureMetricsChart-5ad514bc.js} +2 -2
  526. package/frontend/build/static/FeatureViewLazyExport-85a68ed0.js +7 -0
  527. package/frontend/build/static/LazyAdminExport-e2677758.js +35 -0
  528. package/frontend/build/static/LazyProjectExport-969bb54e.js +24 -0
  529. package/frontend/build/static/Logo-android-218bddbb.svg +1 -0
  530. package/frontend/build/static/Logo-flutter-cc3c706f.svg +1 -0
  531. package/frontend/build/static/Logo-go-02475b3d.svg +1 -0
  532. package/frontend/build/static/Logo-java-6e556b26.svg +1 -0
  533. package/frontend/build/static/Logo-javascript-caebc06e.svg +1 -0
  534. package/frontend/build/static/Logo-net-0a33abee.svg +1 -0
  535. package/frontend/build/static/Logo-node-318ed025.svg +1 -0
  536. package/frontend/build/static/Logo-php-201f18c3.svg +1 -0
  537. package/frontend/build/static/Logo-python-4305760e.svg +1 -0
  538. package/frontend/build/static/Logo-react-18e98687.svg +1 -0
  539. package/frontend/build/static/Logo-ruby-58f46832.svg +1 -0
  540. package/frontend/build/static/Logo-rust-c83a80f9.svg +1 -0
  541. package/frontend/build/static/Logo-svelte-97dcb624.svg +1 -0
  542. package/frontend/build/static/Logo-swift-315f842b.svg +5 -0
  543. package/frontend/build/static/Logo-vue-0de73099.svg +1 -0
  544. package/frontend/build/static/{NetworkOverview-349a7bdd.js → NetworkOverview-894877e6.js} +2 -2
  545. package/frontend/build/static/{NetworkTraffic-60478e50.js → NetworkTraffic-81eff1ae.js} +1 -1
  546. package/frontend/build/static/ReactJSONEditor-59c8a094.js +129 -0
  547. package/frontend/build/static/RoleCell-35857d41.js +1 -0
  548. package/frontend/build/static/{StrategyItemContainer-a4caeace.js → StrategyItemContainer-b250f2d4.js} +1 -1
  549. package/frontend/build/static/{chartjs-adapter-date-fns.esm-03d2fbea.js → chartjs-adapter-date-fns.esm-c51fe022.js} +1 -1
  550. package/frontend/build/static/cr-db7653ac.png +0 -0
  551. package/frontend/build/static/datadog-543762b6.svg +5 -0
  552. package/frontend/build/static/edge-daisy-chaining-012bfdef.svg +48 -0
  553. package/frontend/build/static/edge-mode-5d25949b.svg +22 -0
  554. package/frontend/build/static/edge-offline-f6a0f761.svg +19 -0
  555. package/frontend/build/static/{flowchart-elk-definition-170a3958-fc100c77.js → flowchart-elk-definition-170a3958-a8c4a86a.js} +1 -1
  556. package/frontend/build/static/{index-866f9bf9.js → index-0515f416.js} +1 -1
  557. package/frontend/build/static/index-942e9eeb.js +463 -0
  558. package/frontend/build/static/{index-3c63138f.js → index-a59b2d65.js} +1 -1
  559. package/frontend/build/static/{is_dark-31c253e9.js → is_dark-464961a8.js} +1 -1
  560. package/frontend/build/static/jira-1abe7cbf.svg +17 -0
  561. package/frontend/build/static/{mindmap-definition-44684416-398682f9.js → mindmap-definition-44684416-3a71a9a5.js} +1 -1
  562. package/frontend/build/static/slack-36ce798a.svg +18 -0
  563. package/frontend/build/static/style-97d3ef98.css +1 -0
  564. package/frontend/build/static/teams-4e30b51f.svg +45 -0
  565. package/frontend/build/static/{timeline-definition-8e5a9bc6-04a0ae08.js → timeline-definition-8e5a9bc6-da4ebc88.js} +1 -1
  566. package/frontend/build/static/{unknownify-b8618d88.js → unknownify-3563456b.js} +1 -1
  567. package/frontend/build/static/unleash-integration-949d8966.svg +1 -0
  568. package/frontend/build/static/webhooks-b1b44207.svg +16 -0
  569. package/frontend/package.json +20 -18
  570. package/package.json +23 -23
  571. package/dist/lib/services/instance-stats-service.js.map +0 -1
  572. package/dist/lib/services/instance-stats-service.test.js.map +0 -1
  573. package/frontend/build/static/CreateProject-972fa820.js +0 -4
  574. package/frontend/build/static/FeatureArchiveDialog-8a281845.js +0 -10
  575. package/frontend/build/static/FeatureViewLazyExport-a215d53b.js +0 -7
  576. package/frontend/build/static/LazyAdminExport-ba7d55ca.js +0 -35
  577. package/frontend/build/static/LazyProjectExport-12bccd40.js +0 -17
  578. package/frontend/build/static/RoleCell-144e7eca.js +0 -1
  579. package/frontend/build/static/datadog-591b6a73.svg +0 -1
  580. package/frontend/build/static/index-17d74ac9.js +0 -454
  581. package/frontend/build/static/slack-c0af31c6.svg +0 -1
  582. package/frontend/build/static/style-770afaee.css +0 -1
  583. package/frontend/build/static/teams-62e72076.svg +0 -26
  584. package/frontend/build/static/webhooks-ffa904ac.svg +0 -1
  585. /package/dist/lib/{services/instance-stats-service.test.d.ts → db/access-store.test.d.ts} +0 -0
  586. /package/frontend/build/static/{jira-d9eb9af9.svg → jira-comment-d9eb9af9.svg} +0 -0
@@ -4,10 +4,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const types_1 = require("../types");
7
+ const error_1 = require("../error");
7
8
  const bad_data_error_1 = __importDefault(require("../error/bad-data-error"));
8
9
  const name_exists_error_1 = __importDefault(require("../error/name-exists-error"));
9
10
  const invalid_operation_error_1 = __importDefault(require("../error/invalid-operation-error"));
10
- const error_1 = require("../error");
11
11
  const feature_schema_1 = require("../schema/feature-schema");
12
12
  const notfound_error_1 = __importDefault(require("../error/notfound-error"));
13
13
  const util_1 = require("../util");
@@ -15,13 +15,15 @@ const fast_json_patch_1 = require("fast-json-patch");
15
15
  const constraint_types_1 = require("../util/validators/constraint-types");
16
16
  const helpers_1 = require("../features/playground/feature-evaluator/helpers");
17
17
  const unique_1 = require("../util/unique");
18
+ const feature_naming_validation_1 = require("../features/feature-naming-pattern/feature-naming-validation");
18
19
  const oneOf = (values, match) => {
19
20
  return values.some((value) => value === match);
20
21
  };
21
22
  class FeatureToggleService {
22
- constructor({ featureStrategiesStore, featureToggleStore, featureToggleClientStore, projectStore, eventStore, featureTagStore, featureEnvironmentStore, contextFieldStore, }, { getLogger, flagResolver, }, segmentService, accessService, changeRequestAccessReadModel) {
23
+ constructor({ featureStrategiesStore, featureToggleStore, featureToggleClientStore, projectStore, eventStore, featureTagStore, featureEnvironmentStore, contextFieldStore, strategyStore, }, { getLogger, flagResolver, }, segmentService, accessService, changeRequestAccessReadModel, privateProjectChecker) {
23
24
  this.logger = getLogger('services/feature-toggle-service.ts');
24
25
  this.featureStrategiesStore = featureStrategiesStore;
26
+ this.strategyStore = strategyStore;
25
27
  this.featureToggleStore = featureToggleStore;
26
28
  this.featureToggleClientStore = featureToggleClientStore;
27
29
  this.tagStore = featureTagStore;
@@ -33,6 +35,7 @@ class FeatureToggleService {
33
35
  this.accessService = accessService;
34
36
  this.flagResolver = flagResolver;
35
37
  this.changeRequestAccessReadModel = changeRequestAccessReadModel;
38
+ this.privateProjectChecker = privateProjectChecker;
36
39
  }
37
40
  async validateFeaturesContext(featureNames, projectId) {
38
41
  const features = await this.featureToggleStore.getAllByNames(featureNames);
@@ -51,16 +54,16 @@ class FeatureToggleService {
51
54
  : `, but there's a feature with that name in project "${id}"`}`);
52
55
  }
53
56
  }
54
- validateUpdatedProperties({ featureName, projectId }, strategy) {
55
- if (strategy.projectId !== projectId) {
57
+ validateUpdatedProperties({ featureName, projectId }, existingStrategy) {
58
+ if (existingStrategy.projectId !== projectId) {
56
59
  throw new invalid_operation_error_1.default('You can not change the projectId for an activation strategy.');
57
60
  }
58
- if (strategy.featureName !== featureName) {
61
+ if (existingStrategy.featureName !== featureName) {
59
62
  throw new invalid_operation_error_1.default('You can not change the featureName for an activation strategy.');
60
63
  }
61
- if (strategy.parameters &&
62
- 'stickiness' in strategy.parameters &&
63
- strategy.parameters.stickiness === '') {
64
+ if (existingStrategy.parameters &&
65
+ 'stickiness' in existingStrategy.parameters &&
66
+ existingStrategy.parameters.stickiness === '') {
64
67
  throw new invalid_operation_error_1.default('You can not have an empty string for stickiness.');
65
68
  }
66
69
  }
@@ -73,6 +76,14 @@ class FeatureToggleService {
73
76
  }));
74
77
  }
75
78
  }
79
+ async validateStrategyType(strategyName) {
80
+ if (strategyName !== undefined) {
81
+ const exists = await this.strategyStore.exists(strategyName);
82
+ if (!exists) {
83
+ throw new bad_data_error_1.default(`Could not find strategy type with name ${strategyName}`);
84
+ }
85
+ }
86
+ }
76
87
  async validateConstraints(constraints) {
77
88
  const validations = constraints.map((constraint) => {
78
89
  return this.validateConstraint(constraint);
@@ -134,11 +145,10 @@ class FeatureToggleService {
134
145
  disabled: featureStrategy.disabled,
135
146
  constraints: featureStrategy.constraints || [],
136
147
  parameters: featureStrategy.parameters,
148
+ variants: featureStrategy.variants || [],
149
+ sortOrder: featureStrategy.sortOrder,
137
150
  segments: segments.map((segment) => segment.id) ?? [],
138
151
  };
139
- if (this.flagResolver.isEnabled('strategyVariant')) {
140
- result.sortOrder = featureStrategy.sortOrder;
141
- }
142
152
  return result;
143
153
  }
144
154
  async updateStrategiesSortOrder(context, sortOrders, createdBy, user) {
@@ -160,29 +170,27 @@ class FeatureToggleService {
160
170
  await Promise.all(sortOrders.map(async ({ id, sortOrder }) => {
161
171
  await this.featureStrategiesStore.updateSortOrder(id, sortOrder);
162
172
  }));
163
- if (this.flagResolver.isEnabled('strategyVariant')) {
164
- const newOrder = (await this.getStrategiesForEnvironment(project, featureName, environment))
165
- .sort((strategy1, strategy2) => {
166
- if (typeof strategy1.sortOrder === 'number' &&
167
- typeof strategy2.sortOrder === 'number') {
168
- return strategy1.sortOrder - strategy2.sortOrder;
169
- }
170
- return 0;
171
- })
172
- .map((strategy) => strategy.id);
173
- const eventData = { strategyIds: newOrder };
174
- const tags = await this.tagStore.getAllTagsForFeature(featureName);
175
- const event = new types_1.StrategiesOrderChangedEvent({
176
- featureName,
177
- environment,
178
- project,
179
- createdBy,
180
- preData: eventPreData,
181
- data: eventData,
182
- tags: tags,
183
- });
184
- await this.eventStore.store(event);
185
- }
173
+ const newOrder = (await this.getStrategiesForEnvironment(project, featureName, environment))
174
+ .sort((strategy1, strategy2) => {
175
+ if (typeof strategy1.sortOrder === 'number' &&
176
+ typeof strategy2.sortOrder === 'number') {
177
+ return strategy1.sortOrder - strategy2.sortOrder;
178
+ }
179
+ return 0;
180
+ })
181
+ .map((strategy) => strategy.id);
182
+ const eventData = { strategyIds: newOrder };
183
+ const tags = await this.tagStore.getAllTagsForFeature(featureName);
184
+ const event = new types_1.StrategiesOrderChangedEvent({
185
+ featureName,
186
+ environment,
187
+ project,
188
+ createdBy,
189
+ preData: eventPreData,
190
+ data: eventData,
191
+ tags: tags,
192
+ });
193
+ await this.eventStore.store(event);
186
194
  }
187
195
  async createStrategy(strategyConfig, context, createdBy, user) {
188
196
  await this.stopWhenChangeRequestsEnabled(context.projectId, context.environment, user);
@@ -191,6 +199,7 @@ class FeatureToggleService {
191
199
  async unprotectedCreateStrategy(strategyConfig, context, createdBy) {
192
200
  const { featureName, projectId, environment } = context;
193
201
  await this.validateFeatureBelongsToProject(context);
202
+ await this.validateStrategyType(strategyConfig.name);
194
203
  await this.validateProjectCanAccessSegments(projectId, strategyConfig.segments);
195
204
  if (strategyConfig.constraints &&
196
205
  strategyConfig.constraints.length > 0) {
@@ -270,6 +279,7 @@ class FeatureToggleService {
270
279
  const { projectId, environment, featureName } = context;
271
280
  const existingStrategy = await this.featureStrategiesStore.get(id);
272
281
  this.validateUpdatedProperties(context, existingStrategy);
282
+ await this.validateStrategyType(updates.name);
273
283
  await this.validateProjectCanAccessSegments(projectId, updates.segments);
274
284
  if (existingStrategy.id === id) {
275
285
  if (updates.constraints && updates.constraints.length > 0) {
@@ -431,7 +441,7 @@ class FeatureToggleService {
431
441
  }
432
442
  async getClientFeatures(query) {
433
443
  const result = await this.featureToggleClientStore.getClient(query || {});
434
- return result.map(({ name, type, enabled, project, stale, strategies, variants, description, impressionData, }) => ({
444
+ return result.map(({ name, type, enabled, project, stale, strategies, variants, description, impressionData, dependencies, }) => ({
435
445
  name,
436
446
  type,
437
447
  enabled,
@@ -441,6 +451,7 @@ class FeatureToggleService {
441
451
  variants,
442
452
  description,
443
453
  impressionData,
454
+ dependencies,
444
455
  }));
445
456
  }
446
457
  async getPlaygroundFeatures(query) {
@@ -456,11 +467,18 @@ class FeatureToggleService {
456
467
  * @returns
457
468
  */
458
469
  async getFeatureToggles(query, userId, archived = false) {
459
- return this.featureToggleClientStore.getAdmin({
470
+ const features = await this.featureToggleClientStore.getAdmin({
460
471
  featureQuery: query,
461
472
  userId,
462
473
  archived,
463
474
  });
475
+ if (this.flagResolver.isEnabled('privateProjects') && userId) {
476
+ const projectAccess = await this.privateProjectChecker.getUserAccessibleProjects(userId);
477
+ return projectAccess.mode === 'all'
478
+ ? features
479
+ : features.filter((f) => projectAccess.projects.includes(f.project));
480
+ }
481
+ return features;
464
482
  }
465
483
  async getFeatureOverview(params) {
466
484
  return this.featureStrategiesStore.getFeatureOverview(params);
@@ -471,6 +489,7 @@ class FeatureToggleService {
471
489
  async createFeatureToggle(projectId, value, createdBy, isValidated = false) {
472
490
  this.logger.info(`${createdBy} creates feature toggle ${value.name}`);
473
491
  await this.validateName(value.name);
492
+ await this.validateFeatureFlagNameAgainstPattern(value.name, projectId);
474
493
  const exists = await this.projectStore.hasProject(projectId);
475
494
  if (await this.projectStore.isFeatureLimitReached(projectId)) {
476
495
  throw new invalid_operation_error_1.default('You have reached the maximum number of feature toggles for this project.');
@@ -502,6 +521,40 @@ class FeatureToggleService {
502
521
  }
503
522
  throw new notfound_error_1.default(`Project with id ${projectId} does not exist`);
504
523
  }
524
+ async checkFeatureFlagNamesAgainstProjectPattern(projectId, featureNames) {
525
+ if (this.flagResolver.isEnabled('featureNamingPattern')) {
526
+ const project = await this.projectStore.get(projectId);
527
+ const patternData = project.featureNaming;
528
+ const namingPattern = patternData?.pattern;
529
+ if (namingPattern) {
530
+ const result = (0, feature_naming_validation_1.checkFeatureFlagNamesAgainstPattern)(featureNames, namingPattern);
531
+ if (result.state === 'invalid') {
532
+ return { ...result, featureNaming: patternData };
533
+ }
534
+ }
535
+ }
536
+ return { state: 'valid' };
537
+ }
538
+ async validateFeatureFlagNameAgainstPattern(featureName, projectId) {
539
+ if (projectId) {
540
+ const result = await this.checkFeatureFlagNamesAgainstProjectPattern(projectId, [featureName]);
541
+ if (result.state === 'invalid') {
542
+ const namingPattern = result.featureNaming.pattern;
543
+ const namingExample = result.featureNaming.example;
544
+ const namingDescription = result.featureNaming.description;
545
+ const error = `The feature flag name "${featureName}" does not match the project's naming pattern: "${namingPattern}".`;
546
+ const example = namingExample
547
+ ? ` Here's an example of a name that does match the pattern: "${namingExample}"."`
548
+ : '';
549
+ const description = namingDescription
550
+ ? ` The pattern's description is: "${namingDescription}"`
551
+ : '';
552
+ throw new error_1.PatternError(`${error}${example}${description}`, [
553
+ `The flag name does not match the pattern.`,
554
+ ]);
555
+ }
556
+ }
557
+ }
505
558
  async cloneFeatureToggle(featureName, projectId, newFeatureName, replaceGroupId = true, // eslint-disable-line
506
559
  userName) {
507
560
  const changeRequestEnabled = await this.changeRequestAccessReadModel.isChangeRequestsEnabledForProject(projectId);
@@ -573,10 +626,11 @@ class FeatureToggleService {
573
626
  name: strategy.strategyName,
574
627
  constraints: strategy.constraints || [],
575
628
  parameters: strategy.parameters,
629
+ variants: strategy.variants || [],
576
630
  segments: [],
577
631
  title: strategy.title,
578
632
  disabled: strategy.disabled,
579
- // FIXME: Should we return sortOrder here, or adjust OpenAPI?
633
+ sortOrder: strategy.sortOrder,
580
634
  };
581
635
  if (segments && segments.length > 0) {
582
636
  result = {
@@ -855,7 +909,7 @@ class FeatureToggleService {
855
909
  })));
856
910
  }
857
911
  // TODO: add project id.
858
- async reviveToggle(featureName, createdBy) {
912
+ async reviveFeature(featureName, createdBy) {
859
913
  const toggle = await this.featureToggleStore.revive(featureName);
860
914
  const tags = await this.tagStore.getAllTagsForFeature(featureName);
861
915
  await this.eventStore.store(new types_1.FeatureRevivedEvent({
@@ -865,8 +919,18 @@ class FeatureToggleService {
865
919
  tags,
866
920
  }));
867
921
  }
868
- async getMetadataForAllFeatures(archived) {
869
- return this.featureToggleStore.getAll({ archived });
922
+ async getMetadataForAllFeatures(archived, userId) {
923
+ const features = await this.featureToggleStore.getAll({ archived });
924
+ if (this.flagResolver.isEnabled('privateProjects')) {
925
+ const projectAccess = await this.privateProjectChecker.getUserAccessibleProjects(userId);
926
+ if (projectAccess.mode === 'all') {
927
+ return features;
928
+ }
929
+ else {
930
+ return features.filter((f) => projectAccess.projects.includes(f.project));
931
+ }
932
+ }
933
+ return features;
870
934
  }
871
935
  async getMetadataForAllFeaturesByProjectId(archived, project) {
872
936
  return this.featureToggleStore.getAll({ archived, project });
@@ -886,7 +950,7 @@ class FeatureToggleService {
886
950
  }
887
951
  async updateVariantsOnEnv(featureName, project, environment, newVariants, user) {
888
952
  const oldVariants = await this.getVariantsForEnv(featureName, environment);
889
- const { newDocument } = await (0, fast_json_patch_1.applyPatch)(oldVariants, newVariants);
953
+ const { newDocument } = await (0, fast_json_patch_1.applyPatch)((0, fast_json_patch_1.deepClone)(oldVariants), newVariants);
890
954
  return this.crProtectedSaveVariantsOnEnv(project, featureName, environment, newDocument, user, oldVariants);
891
955
  }
892
956
  async saveVariants(featureName, project, newVariants, createdBy) {
@@ -914,6 +978,7 @@ class FeatureToggleService {
914
978
  environment,
915
979
  })).variants ||
916
980
  [];
981
+ const tags = await this.tagStore.getAllTagsForFeature(featureName);
917
982
  await this.eventStore.store(new types_1.EnvironmentVariantEvent({
918
983
  featureName,
919
984
  environment,
@@ -921,6 +986,7 @@ class FeatureToggleService {
921
986
  createdBy: user,
922
987
  oldVariants: theOldVariants,
923
988
  newVariants: fixedVariants,
989
+ tags,
924
990
  }));
925
991
  await this.featureEnvironmentStore.setVariantsToFeatureEnvironments(featureName, [environment], fixedVariants);
926
992
  return fixedVariants;
@@ -946,6 +1012,7 @@ class FeatureToggleService {
946
1012
  });
947
1013
  oldVariants[env] = featureEnv.variants || [];
948
1014
  }
1015
+ const tags = await this.tagStore.getAllTagsForFeature(featureName);
949
1016
  await this.eventStore.batchStore(environments.map((environment) => new types_1.EnvironmentVariantEvent({
950
1017
  featureName,
951
1018
  environment,
@@ -953,6 +1020,7 @@ class FeatureToggleService {
953
1020
  createdBy: user,
954
1021
  oldVariants: oldVariants[environment],
955
1022
  newVariants: fixedVariants,
1023
+ tags,
956
1024
  })));
957
1025
  await this.featureEnvironmentStore.setVariantsToFeatureEnvironments(featureName, environments, fixedVariants);
958
1026
  return fixedVariants;
@@ -1 +1 @@
1
- {"version":3,"file":"feature-toggle-service.js","sourceRoot":"","sources":["../../../src/lib/services/feature-toggle-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"feature-toggle-service.js","sourceRoot":"","sources":["../../../src/lib/services/feature-toggle-service.ts"],"names":[],"mappings":"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"}
@@ -10,10 +10,10 @@ export declare class GroupService {
10
10
  mapGroupWithProjects(groupProjects: IGroupProject[], group: IGroupModel): IGroupModel;
11
11
  getGroup(id: number): Promise<IGroupModel>;
12
12
  createGroup(group: ICreateGroupModel, userName: string): Promise<IGroup>;
13
- updateGroup(group: ICreateGroupModel, userName: string): Promise<IGroup>;
14
- getProjectGroups(projectId?: string): Promise<IGroupModelWithProjectRole[]>;
15
- deleteGroup(id: number): Promise<void>;
16
- validateGroup(group: ICreateGroupModel, existingGroup?: IGroup): Promise<void>;
13
+ updateGroup(group: IGroupModel, userName: string): Promise<IGroup>;
14
+ getProjectGroups(projectId: string): Promise<IGroupModelWithProjectRole[]>;
15
+ deleteGroup(id: number, userName: string): Promise<void>;
16
+ validateGroup(group: IGroupModel | ICreateGroupModel, existingGroup?: IGroup): Promise<void>;
17
17
  getRolesForProject(projectId: string): Promise<IGroupRole[]>;
18
18
  private mapGroupWithUsers;
19
19
  syncExternalGroups(userId: number, externalGroups: string[], createdBy?: string): Promise<void>;
@@ -68,24 +68,30 @@ class GroupService {
68
68
  return newGroup;
69
69
  }
70
70
  async getProjectGroups(projectId) {
71
- const groupRoles = await this.groupStore.getProjectGroupRoles(projectId);
72
- if (groupRoles.length > 0) {
73
- const groups = await this.groupStore.getAllWithId(groupRoles.map((a) => a.groupId));
71
+ const projectGroups = await this.groupStore.getProjectGroups(projectId);
72
+ if (projectGroups.length > 0) {
73
+ const groups = await this.groupStore.getAllWithId(projectGroups.map((g) => g.id));
74
74
  const groupUsers = await this.groupStore.getAllUsersByGroups(groups.map((g) => g.id));
75
75
  const users = await this.accountStore.getAllWithId(groupUsers.map((u) => u.userId));
76
- return groups.map((group) => {
77
- const groupRole = groupRoles.find((g) => g.groupId == group.id);
78
- return {
76
+ return groups.flatMap((group) => {
77
+ return projectGroups
78
+ .filter((gr) => gr.id === group.id)
79
+ .map((groupRole) => ({
79
80
  ...this.mapGroupWithUsers(group, groupUsers, users),
80
- roleId: groupRole.roleId,
81
- addedAt: groupRole.createdAt,
82
- };
81
+ ...groupRole,
82
+ }));
83
83
  });
84
84
  }
85
85
  return [];
86
86
  }
87
- async deleteGroup(id) {
88
- return this.groupStore.delete(id);
87
+ async deleteGroup(id, userName) {
88
+ const group = await this.groupStore.get(id);
89
+ await this.groupStore.delete(id);
90
+ await this.eventStore.store({
91
+ type: events_1.GROUP_DELETED,
92
+ createdBy: userName,
93
+ data: group,
94
+ });
89
95
  }
90
96
  async validateGroup(group, existingGroup) {
91
97
  if (!group.name) {
@@ -96,11 +102,6 @@ class GroupService {
96
102
  throw new name_exists_error_1.default('Group name already exists');
97
103
  }
98
104
  }
99
- if (group.id &&
100
- group.rootRole &&
101
- (await this.groupStore.hasProjectRole(group.id))) {
102
- throw new bad_data_error_1.default('This group already has a project role and cannot also be given a root role');
103
- }
104
105
  }
105
106
  async getRolesForProject(projectId) {
106
107
  return this.groupStore.getProjectGroupRoles(projectId);
@@ -1 +1 @@
1
- {"version":3,"file":"group-service.js","sourceRoot":"","sources":["../../../src/lib/services/group-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"group-service.js","sourceRoot":"","sources":["../../../src/lib/services/group-service.ts"],"names":[],"mappings":"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"}
@@ -35,10 +35,11 @@ import EdgeService from './edge-service';
35
35
  import PatService from './pat-service';
36
36
  import { PublicSignupTokenService } from './public-signup-token-service';
37
37
  import { LastSeenService } from './client-metrics/last-seen-service';
38
- import { InstanceStatsService } from './instance-stats-service';
38
+ import { InstanceStatsService } from '../features/instance-stats/instance-stats-service';
39
39
  import { FavoritesService } from './favorites-service';
40
40
  import { SchedulerService } from './scheduler-service';
41
41
  import { Db } from '../db/db';
42
+ import { DependentFeaturesService } from '../features/dependent-features/dependent-features-service';
42
43
  export declare const scheduleServices: (services: IUnleashServices) => Promise<void>;
43
44
  export declare const createServices: (stores: IUnleashStores, config: IUnleashConfig, db?: Db) => IUnleashServices;
44
- export { FeatureTypeService, EventService, HealthService, ProjectService, StateService, ClientInstanceService, ClientMetricsServiceV2, TagTypeService, TagService, StrategyService, AddonService, ContextService, VersionService, EmailService, AccessService, ApiTokenService, UserService, ResetTokenService, SettingService, SessionService, UserFeedbackService, FeatureToggleService, EnvironmentService, FeatureTagService, ProjectHealthService, UserSplashService, SegmentService, OpenApiService, ClientSpecService, PlaygroundService, GroupService, ProxyService, EdgeService, PatService, PublicSignupTokenService, LastSeenService, InstanceStatsService, FavoritesService, SchedulerService, };
45
+ export { FeatureTypeService, EventService, HealthService, ProjectService, StateService, ClientInstanceService, ClientMetricsServiceV2, TagTypeService, TagService, StrategyService, AddonService, ContextService, VersionService, EmailService, AccessService, ApiTokenService, UserService, ResetTokenService, SettingService, SessionService, UserFeedbackService, FeatureToggleService, EnvironmentService, FeatureTagService, ProjectHealthService, UserSplashService, SegmentService, OpenApiService, ClientSpecService, PlaygroundService, GroupService, ProxyService, EdgeService, PatService, PublicSignupTokenService, LastSeenService, InstanceStatsService, FavoritesService, SchedulerService, DependentFeaturesService, };