unleash-server 5.1.9 → 5.2.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 (475) hide show
  1. package/dist/lib/create-config.js +5 -2
  2. package/dist/lib/create-config.js.map +1 -1
  3. package/dist/lib/db/access-store.d.ts +2 -1
  4. package/dist/lib/db/access-store.js +17 -3
  5. package/dist/lib/db/access-store.js.map +1 -1
  6. package/dist/lib/db/client-metrics-store-v2.js +19 -30
  7. package/dist/lib/db/client-metrics-store-v2.js.map +1 -1
  8. package/dist/lib/db/context-field-store.d.ts +4 -1
  9. package/dist/lib/db/context-field-store.js +44 -14
  10. package/dist/lib/db/context-field-store.js.map +1 -1
  11. package/dist/lib/db/environment-store.d.ts +1 -0
  12. package/dist/lib/db/environment-store.js +6 -0
  13. package/dist/lib/db/environment-store.js.map +1 -1
  14. package/dist/lib/db/event-store.js +2 -1
  15. package/dist/lib/db/event-store.js.map +1 -1
  16. package/dist/lib/db/feature-strategy-store.d.ts +2 -0
  17. package/dist/lib/db/feature-strategy-store.js +25 -0
  18. package/dist/lib/db/feature-strategy-store.js.map +1 -1
  19. package/dist/lib/db/feature-strategy-store.test.js +75 -0
  20. package/dist/lib/db/feature-strategy-store.test.js.map +1 -0
  21. package/dist/lib/db/group-store.d.ts +1 -1
  22. package/dist/lib/db/group-store.js +2 -2
  23. package/dist/lib/db/group-store.js.map +1 -1
  24. package/dist/lib/db/index.js +2 -2
  25. package/dist/lib/db/index.js.map +1 -1
  26. package/dist/lib/db/role-store.js +2 -2
  27. package/dist/lib/db/role-store.js.map +1 -1
  28. package/dist/lib/db/segment-store.d.ts +6 -2
  29. package/dist/lib/db/segment-store.js +27 -6
  30. package/dist/lib/db/segment-store.js.map +1 -1
  31. package/dist/lib/error/no-access-error.d.ts +3 -2
  32. package/dist/lib/error/no-access-error.js +10 -4
  33. package/dist/lib/error/no-access-error.js.map +1 -1
  34. package/dist/lib/error/unleash-error.test.js +8 -2
  35. package/dist/lib/error/unleash-error.test.js.map +1 -1
  36. package/dist/lib/features/access/createAccessService.js +5 -5
  37. package/dist/lib/features/access/createAccessService.js.map +1 -1
  38. package/dist/lib/features/export-import-toggles/createExportImportService.js +4 -2
  39. package/dist/lib/features/export-import-toggles/createExportImportService.js.map +1 -1
  40. package/dist/lib/features/export-import-toggles/export-import-api-usage.test.d.ts +1 -0
  41. package/dist/lib/features/export-import-toggles/export-import-api-usage.test.js +69 -0
  42. package/dist/lib/features/export-import-toggles/export-import-api-usage.test.js.map +1 -0
  43. package/dist/lib/features/export-import-toggles/export-import-controller.js +5 -1
  44. package/dist/lib/features/export-import-toggles/export-import-controller.js.map +1 -1
  45. package/dist/lib/features/export-import-toggles/export-import-service.js +7 -2
  46. package/dist/lib/features/export-import-toggles/export-import-service.js.map +1 -1
  47. package/dist/lib/features/feature-toggle/createFeatureToggleService.js +4 -4
  48. package/dist/lib/features/feature-toggle/createFeatureToggleService.js.map +1 -1
  49. package/dist/lib/features/playground/advanced-playground.test.d.ts +1 -0
  50. package/dist/lib/features/playground/advanced-playground.test.js +238 -0
  51. package/dist/lib/features/playground/advanced-playground.test.js.map +1 -0
  52. package/dist/lib/{util → features/playground}/feature-evaluator/client.d.ts +3 -2
  53. package/dist/lib/{util → features/playground}/feature-evaluator/client.js +1 -1
  54. package/dist/lib/features/playground/feature-evaluator/client.js.map +1 -0
  55. package/dist/lib/features/playground/feature-evaluator/constraint.js.map +1 -0
  56. package/dist/lib/features/playground/feature-evaluator/context.js.map +1 -0
  57. package/dist/lib/features/playground/feature-evaluator/feature-evaluator.js.map +1 -0
  58. package/dist/lib/features/playground/feature-evaluator/feature.js.map +1 -0
  59. package/dist/lib/{util → features/playground}/feature-evaluator/helpers.d.ts +1 -1
  60. package/dist/lib/features/playground/feature-evaluator/helpers.js.map +1 -0
  61. package/dist/lib/{util → features/playground}/feature-evaluator/index.d.ts +1 -1
  62. package/dist/lib/{util → features/playground}/feature-evaluator/index.js +2 -2
  63. package/dist/lib/features/playground/feature-evaluator/index.js.map +1 -0
  64. package/dist/lib/features/playground/feature-evaluator/repository/bootstrap-provider.js.map +1 -0
  65. package/dist/lib/features/playground/feature-evaluator/repository/index.js.map +1 -0
  66. package/dist/lib/features/playground/feature-evaluator/repository/storage-provider-in-mem.js.map +1 -0
  67. package/dist/lib/features/playground/feature-evaluator/repository/storage-provider.js.map +1 -0
  68. package/dist/lib/features/playground/feature-evaluator/strategy/application-hostname-strategy.js.map +1 -0
  69. package/dist/lib/features/playground/feature-evaluator/strategy/default-strategy.js.map +1 -0
  70. package/dist/lib/features/playground/feature-evaluator/strategy/flexible-rollout-strategy.js.map +1 -0
  71. package/dist/lib/features/playground/feature-evaluator/strategy/gradual-rollout-random.js.map +1 -0
  72. package/dist/lib/features/playground/feature-evaluator/strategy/gradual-rollout-session-id.js.map +1 -0
  73. package/dist/lib/features/playground/feature-evaluator/strategy/gradual-rollout-user-id.js.map +1 -0
  74. package/dist/lib/features/playground/feature-evaluator/strategy/index.js.map +1 -0
  75. package/dist/lib/features/playground/feature-evaluator/strategy/remote-address-strategy.js.map +1 -0
  76. package/dist/lib/features/playground/feature-evaluator/strategy/strategy.js.map +1 -0
  77. package/dist/lib/{util → features/playground}/feature-evaluator/strategy/unknown-strategy.js +1 -1
  78. package/dist/lib/features/playground/feature-evaluator/strategy/unknown-strategy.js.map +1 -0
  79. package/dist/lib/features/playground/feature-evaluator/strategy/user-with-id-strategy.js.map +1 -0
  80. package/dist/lib/features/playground/feature-evaluator/strategy/util.js.map +1 -0
  81. package/dist/lib/features/playground/feature-evaluator/variant.js.map +1 -0
  82. package/dist/lib/features/playground/generateObjectCombinations.d.ts +7 -0
  83. package/dist/lib/features/playground/generateObjectCombinations.js +16 -0
  84. package/dist/lib/features/playground/generateObjectCombinations.js.map +1 -0
  85. package/dist/lib/features/playground/generateObjectCombinations.test.d.ts +1 -0
  86. package/dist/lib/features/playground/generateObjectCombinations.test.js +33 -0
  87. package/dist/lib/features/playground/generateObjectCombinations.test.js.map +1 -0
  88. package/dist/lib/{util → features/playground}/offline-unleash-client.js +2 -2
  89. package/dist/lib/features/playground/offline-unleash-client.js.map +1 -0
  90. package/dist/lib/{util → features/playground}/offline-unleash-client.test.js +1 -1
  91. package/dist/lib/features/playground/offline-unleash-client.test.js.map +1 -0
  92. package/dist/lib/features/playground/playground-service.d.ts +34 -0
  93. package/dist/lib/features/playground/playground-service.js +114 -0
  94. package/dist/lib/features/playground/playground-service.js.map +1 -0
  95. package/dist/lib/features/playground/playground-view-model.d.ts +4 -0
  96. package/dist/lib/features/playground/playground-view-model.js +49 -0
  97. package/dist/lib/features/playground/playground-view-model.js.map +1 -0
  98. package/dist/lib/features/playground/playground-view-model.test.d.ts +1 -0
  99. package/dist/lib/features/playground/playground-view-model.test.js +122 -0
  100. package/dist/lib/features/playground/playground-view-model.test.js.map +1 -0
  101. package/dist/lib/features/playground/playground.d.ts +16 -0
  102. package/dist/lib/features/playground/playground.js +78 -0
  103. package/dist/lib/features/playground/playground.js.map +1 -0
  104. package/dist/lib/features/playground/playground.test.d.ts +1 -0
  105. package/dist/lib/{routes/admin-api → features/playground}/playground.test.js +3 -2
  106. package/dist/lib/features/playground/playground.test.js.map +1 -0
  107. package/dist/lib/features/playground/validateQueryComplexity.d.ts +1 -0
  108. package/dist/lib/features/playground/validateQueryComplexity.js +15 -0
  109. package/dist/lib/features/playground/validateQueryComplexity.js.map +1 -0
  110. package/dist/lib/features/playground/validateQueryComplexity.test.d.ts +1 -0
  111. package/dist/lib/features/playground/validateQueryComplexity.test.js +19 -0
  112. package/dist/lib/features/playground/validateQueryComplexity.test.js.map +1 -0
  113. package/dist/lib/middleware/rbac-middleware.d.ts +1 -1
  114. package/dist/lib/middleware/rbac-middleware.js +7 -4
  115. package/dist/lib/middleware/rbac-middleware.js.map +1 -1
  116. package/dist/lib/middleware/rbac-middleware.test.js +8 -8
  117. package/dist/lib/middleware/rbac-middleware.test.js.map +1 -1
  118. package/dist/lib/openapi/endpoint-descriptions.d.ts +4 -0
  119. package/dist/lib/openapi/endpoint-descriptions.js +4 -0
  120. package/dist/lib/openapi/endpoint-descriptions.js.map +1 -1
  121. package/dist/lib/openapi/index.js +7 -0
  122. package/dist/lib/openapi/index.js.map +1 -1
  123. package/dist/lib/openapi/meta-schema-rules.test.js +16 -25
  124. package/dist/lib/openapi/meta-schema-rules.test.js.map +1 -1
  125. package/dist/lib/openapi/spec/advanced-playground-environment-feature-schema.d.ts +652 -0
  126. package/dist/lib/openapi/spec/advanced-playground-environment-feature-schema.js +146 -0
  127. package/dist/lib/openapi/spec/advanced-playground-environment-feature-schema.js.map +1 -0
  128. package/dist/lib/openapi/spec/advanced-playground-feature-schema.d.ts +1217 -0
  129. package/dist/lib/openapi/spec/advanced-playground-feature-schema.js +51 -0
  130. package/dist/lib/openapi/spec/advanced-playground-feature-schema.js.map +1 -0
  131. package/dist/lib/openapi/spec/advanced-playground-request-schema.d.ts +95 -0
  132. package/dist/lib/openapi/spec/advanced-playground-request-schema.js +49 -0
  133. package/dist/lib/openapi/spec/advanced-playground-request-schema.js.map +1 -0
  134. package/dist/lib/openapi/spec/advanced-playground-response-schema.d.ts +2560 -0
  135. package/dist/lib/openapi/spec/advanced-playground-response-schema.js +50 -0
  136. package/dist/lib/openapi/spec/advanced-playground-response-schema.js.map +1 -0
  137. package/dist/lib/openapi/spec/client-application-schema.d.ts +17 -0
  138. package/dist/lib/openapi/spec/client-application-schema.js +17 -0
  139. package/dist/lib/openapi/spec/client-application-schema.js.map +1 -1
  140. package/dist/lib/openapi/spec/client-feature-schema.d.ts +44 -13
  141. package/dist/lib/openapi/spec/client-feature-schema.js +17 -12
  142. package/dist/lib/openapi/spec/client-feature-schema.js.map +1 -1
  143. package/dist/lib/openapi/spec/client-features-query-schema.d.ts +12 -0
  144. package/dist/lib/openapi/spec/client-features-query-schema.js +12 -0
  145. package/dist/lib/openapi/spec/client-features-query-schema.js.map +1 -1
  146. package/dist/lib/openapi/spec/client-features-schema.d.ts +90 -14
  147. package/dist/lib/openapi/spec/client-features-schema.js +7 -0
  148. package/dist/lib/openapi/spec/client-features-schema.js.map +1 -1
  149. package/dist/lib/openapi/spec/client-features-schema.test.js +5 -12
  150. package/dist/lib/openapi/spec/client-features-schema.test.js.map +1 -1
  151. package/dist/lib/openapi/spec/client-metrics-schema.d.ts +1 -1
  152. package/dist/lib/openapi/spec/client-metrics-schema.js +1 -1
  153. package/dist/lib/openapi/spec/client-metrics-schema.js.map +1 -1
  154. package/dist/lib/openapi/spec/context-field-schema.d.ts +13 -0
  155. package/dist/lib/openapi/spec/context-field-schema.js +13 -0
  156. package/dist/lib/openapi/spec/context-field-schema.js.map +1 -1
  157. package/dist/lib/openapi/spec/context-field-strategies-schema.d.ts +43 -0
  158. package/dist/lib/openapi/spec/context-field-strategies-schema.js +51 -0
  159. package/dist/lib/openapi/spec/context-field-strategies-schema.js.map +1 -0
  160. package/dist/lib/openapi/spec/context-fields-schema.d.ts +13 -0
  161. package/dist/lib/openapi/spec/create-application-schema.d.ts +0 -1
  162. package/dist/lib/openapi/spec/create-application-schema.js +0 -1
  163. package/dist/lib/openapi/spec/create-application-schema.js.map +1 -1
  164. package/dist/lib/openapi/spec/export-result-schema.d.ts +137 -4
  165. package/dist/lib/openapi/spec/feature-environment-schema.d.ts +22 -1
  166. package/dist/lib/openapi/spec/feature-schema.d.ts +49 -2
  167. package/dist/lib/openapi/spec/feature-schema.test.js +1 -1
  168. package/dist/lib/openapi/spec/feature-schema.test.js.map +1 -1
  169. package/dist/lib/openapi/spec/feature-strategy-schema.d.ts +1 -1
  170. package/dist/lib/openapi/spec/feature-strategy-schema.js +1 -1
  171. package/dist/lib/openapi/spec/feature-strategy-schema.js.map +1 -1
  172. package/dist/lib/openapi/spec/feature-variants-schema.d.ts +26 -0
  173. package/dist/lib/openapi/spec/features-schema.d.ts +98 -4
  174. package/dist/lib/openapi/spec/health-check-schema.d.ts +3 -0
  175. package/dist/lib/openapi/spec/health-check-schema.js +3 -0
  176. package/dist/lib/openapi/spec/health-check-schema.js.map +1 -1
  177. package/dist/lib/openapi/spec/health-overview-schema.d.ts +98 -4
  178. package/dist/lib/openapi/spec/health-report-schema.d.ts +98 -4
  179. package/dist/lib/openapi/spec/import-toggles-schema.d.ts +274 -8
  180. package/dist/lib/openapi/spec/index.d.ts +3 -0
  181. package/dist/lib/openapi/spec/index.js +3 -0
  182. package/dist/lib/openapi/spec/index.js.map +1 -1
  183. package/dist/lib/openapi/spec/instance-admin-stats-schema.d.ts +65 -2
  184. package/dist/lib/openapi/spec/instance-admin-stats-schema.js +65 -2
  185. package/dist/lib/openapi/spec/instance-admin-stats-schema.js.map +1 -1
  186. package/dist/lib/openapi/spec/override-schema.d.ts +5 -0
  187. package/dist/lib/openapi/spec/override-schema.js +5 -0
  188. package/dist/lib/openapi/spec/override-schema.js.map +1 -1
  189. package/dist/lib/openapi/spec/password-schema.d.ts +3 -0
  190. package/dist/lib/openapi/spec/password-schema.js +3 -0
  191. package/dist/lib/openapi/spec/password-schema.js.map +1 -1
  192. package/dist/lib/openapi/spec/playground-feature-schema.d.ts +41 -1
  193. package/dist/lib/openapi/spec/playground-feature-schema.js +6 -1
  194. package/dist/lib/openapi/spec/playground-feature-schema.js.map +1 -1
  195. package/dist/lib/openapi/spec/playground-feature-schema.test.js +3 -0
  196. package/dist/lib/openapi/spec/playground-feature-schema.test.js.map +1 -1
  197. package/dist/lib/openapi/spec/playground-request-schema.d.ts +7 -1
  198. package/dist/lib/openapi/spec/playground-request-schema.js +1 -1
  199. package/dist/lib/openapi/spec/playground-request-schema.js.map +1 -1
  200. package/dist/lib/openapi/spec/playground-response-schema.d.ts +93 -3
  201. package/dist/lib/openapi/spec/playground-strategy-schema.d.ts +13 -1
  202. package/dist/lib/openapi/spec/playground-strategy-schema.js +13 -0
  203. package/dist/lib/openapi/spec/playground-strategy-schema.js.map +1 -1
  204. package/dist/lib/openapi/spec/profile-schema.d.ts +49 -2
  205. package/dist/lib/openapi/spec/project-overview-schema.d.ts +98 -4
  206. package/dist/lib/openapi/spec/push-variants-schema.d.ts +26 -0
  207. package/dist/lib/openapi/spec/sdk-context-schema.d.ts +6 -0
  208. package/dist/lib/openapi/spec/sdk-context-schema.js +14 -2
  209. package/dist/lib/openapi/spec/sdk-context-schema.js.map +1 -1
  210. package/dist/lib/openapi/spec/state-schema.d.ts +72 -4
  211. package/dist/lib/openapi/spec/variant-schema.d.ts +21 -0
  212. package/dist/lib/openapi/spec/variant-schema.js +13 -0
  213. package/dist/lib/openapi/spec/variant-schema.js.map +1 -1
  214. package/dist/lib/openapi/spec/variants-schema.d.ts +26 -0
  215. package/dist/lib/openapi/util/create-response-schema.d.ts +1 -0
  216. package/dist/lib/openapi/util/create-response-schema.js +7 -1
  217. package/dist/lib/openapi/util/create-response-schema.js.map +1 -1
  218. package/dist/lib/proxy/proxy-repository.js +1 -1
  219. package/dist/lib/proxy/proxy-repository.js.map +1 -1
  220. package/dist/lib/routes/admin-api/api-token.d.ts +2 -0
  221. package/dist/lib/routes/admin-api/api-token.js +120 -11
  222. package/dist/lib/routes/admin-api/api-token.js.map +1 -1
  223. package/dist/lib/routes/admin-api/context.d.ts +3 -0
  224. package/dist/lib/routes/admin-api/context.js +21 -0
  225. package/dist/lib/routes/admin-api/context.js.map +1 -1
  226. package/dist/lib/routes/admin-api/index.js +1 -1
  227. package/dist/lib/routes/admin-api/index.js.map +1 -1
  228. package/dist/lib/routes/admin-api/instance-admin.d.ts +3 -1
  229. package/dist/lib/routes/admin-api/instance-admin.js +41 -0
  230. package/dist/lib/routes/admin-api/instance-admin.js.map +1 -1
  231. package/dist/lib/routes/admin-api/metrics.test.js +12 -0
  232. package/dist/lib/routes/admin-api/metrics.test.js.map +1 -1
  233. package/dist/lib/routes/admin-api/project/api-token.js +7 -0
  234. package/dist/lib/routes/admin-api/project/api-token.js.map +1 -1
  235. package/dist/lib/routes/admin-api/user/user.js +5 -4
  236. package/dist/lib/routes/admin-api/user/user.js.map +1 -1
  237. package/dist/lib/routes/admin-api/user/user.test.js +30 -5
  238. package/dist/lib/routes/admin-api/user/user.test.js.map +1 -1
  239. package/dist/lib/routes/admin-api/user-admin.js +0 -1
  240. package/dist/lib/routes/admin-api/user-admin.js.map +1 -1
  241. package/dist/lib/routes/client-api/feature.js +4 -0
  242. package/dist/lib/routes/client-api/feature.js.map +1 -1
  243. package/dist/lib/routes/client-api/metrics.js +2 -0
  244. package/dist/lib/routes/client-api/metrics.js.map +1 -1
  245. package/dist/lib/routes/client-api/register.js +2 -0
  246. package/dist/lib/routes/client-api/register.js.map +1 -1
  247. package/dist/lib/routes/controller.d.ts +8 -7
  248. package/dist/lib/routes/controller.js +11 -10
  249. package/dist/lib/routes/controller.js.map +1 -1
  250. package/dist/lib/routes/health-check.js +2 -0
  251. package/dist/lib/routes/health-check.js.map +1 -1
  252. package/dist/lib/server-impl.js +1 -1
  253. package/dist/lib/server-impl.js.map +1 -1
  254. package/dist/lib/services/access-service.d.ts +6 -4
  255. package/dist/lib/services/access-service.js +47 -11
  256. package/dist/lib/services/access-service.js.map +1 -1
  257. package/dist/lib/services/access-service.test.js +39 -22
  258. package/dist/lib/services/access-service.test.js.map +1 -1
  259. package/dist/lib/services/api-token-service.d.ts +1 -0
  260. package/dist/lib/services/api-token-service.js +3 -0
  261. package/dist/lib/services/api-token-service.js.map +1 -1
  262. package/dist/lib/services/context-service.d.ts +4 -1
  263. package/dist/lib/services/context-service.js +14 -1
  264. package/dist/lib/services/context-service.js.map +1 -1
  265. package/dist/lib/services/feature-toggle-service.d.ts +1 -1
  266. package/dist/lib/services/feature-toggle-service.js +6 -7
  267. package/dist/lib/services/feature-toggle-service.js.map +1 -1
  268. package/dist/lib/services/group-service.js +1 -3
  269. package/dist/lib/services/group-service.js.map +1 -1
  270. package/dist/lib/services/index.d.ts +1 -1
  271. package/dist/lib/services/index.js +1 -1
  272. package/dist/lib/services/index.js.map +1 -1
  273. package/dist/lib/services/instance-stats-service.d.ts +2 -3
  274. package/dist/lib/services/user-service.d.ts +1 -0
  275. package/dist/lib/services/user-service.js +8 -0
  276. package/dist/lib/services/user-service.js.map +1 -1
  277. package/dist/lib/services/version-service.d.ts +37 -1
  278. package/dist/lib/services/version-service.js +76 -5
  279. package/dist/lib/services/version-service.js.map +1 -1
  280. package/dist/lib/services/version-service.test.js +196 -9
  281. package/dist/lib/services/version-service.test.js.map +1 -1
  282. package/dist/lib/types/experimental.d.ts +1 -1
  283. package/dist/lib/types/experimental.js +6 -2
  284. package/dist/lib/types/experimental.js.map +1 -1
  285. package/dist/lib/types/model.d.ts +8 -4
  286. package/dist/lib/types/model.js +1 -0
  287. package/dist/lib/types/model.js.map +1 -1
  288. package/dist/lib/types/option.d.ts +2 -0
  289. package/dist/lib/types/permissions.d.ts +34 -27
  290. package/dist/lib/types/permissions.js +85 -29
  291. package/dist/lib/types/permissions.js.map +1 -1
  292. package/dist/lib/types/services.d.ts +1 -1
  293. package/dist/lib/types/stores/access-store.d.ts +1 -1
  294. package/dist/lib/types/stores/context-field-store.d.ts +2 -0
  295. package/dist/lib/types/stores/environment-store.d.ts +1 -0
  296. package/dist/lib/types/stores/feature-strategies-store.d.ts +2 -0
  297. package/dist/lib/types/stores/feature-toggle-store.d.ts +1 -1
  298. package/dist/lib/types/stores/group-store.d.ts +1 -1
  299. package/dist/lib/util/constants.d.ts +7 -1
  300. package/dist/lib/util/constants.js +8 -2
  301. package/dist/lib/util/constants.js.map +1 -1
  302. package/dist/lib/util/ensureArray.d.ts +1 -0
  303. package/dist/lib/util/ensureArray.js +8 -0
  304. package/dist/lib/util/ensureArray.js.map +1 -0
  305. package/dist/lib/util/index.d.ts +1 -1
  306. package/dist/lib/util/index.js +1 -1
  307. package/dist/lib/util/index.js.map +1 -1
  308. package/dist/migrations/20230615122909-fix-env-sort-order.d.ts +2 -0
  309. package/dist/migrations/20230615122909-fix-env-sort-order.js +28 -0
  310. package/dist/migrations/20230615122909-fix-env-sort-order.js.map +1 -0
  311. package/dist/migrations/20230619105029-new-fine-grained-api-token-permissions.d.ts +2 -0
  312. package/dist/migrations/20230619105029-new-fine-grained-api-token-permissions.js +26 -0
  313. package/dist/migrations/20230619105029-new-fine-grained-api-token-permissions.js.map +1 -0
  314. package/dist/migrations/20230619110243-assign-apitoken-permissions-to-rootroles.d.ts +2 -0
  315. package/dist/migrations/20230619110243-assign-apitoken-permissions-to-rootroles.js +23 -0
  316. package/dist/migrations/20230619110243-assign-apitoken-permissions-to-rootroles.js.map +1 -0
  317. package/dist/migrations/20230621141239-refactor-api-token-permissions.d.ts +2 -0
  318. package/dist/migrations/20230621141239-refactor-api-token-permissions.js +19 -0
  319. package/dist/migrations/20230621141239-refactor-api-token-permissions.js.map +1 -0
  320. package/dist/server-dev.js +3 -3
  321. package/dist/server-dev.js.map +1 -1
  322. package/dist/test/arbitraries.test.js +3 -1
  323. package/dist/test/arbitraries.test.js.map +1 -1
  324. package/dist/test/config/test-config.js +0 -1
  325. package/dist/test/config/test-config.js.map +1 -1
  326. package/dist/test/e2e/api/admin/api-token.auth.e2e.test.js +542 -3
  327. package/dist/test/e2e/api/admin/api-token.auth.e2e.test.js.map +1 -1
  328. package/dist/test/e2e/api/admin/api-token.e2e.test.js +14 -1
  329. package/dist/test/e2e/api/admin/api-token.e2e.test.js.map +1 -1
  330. package/dist/test/e2e/api/admin/client-metrics.e2e.test.js +1 -8
  331. package/dist/test/e2e/api/admin/client-metrics.e2e.test.js.map +1 -1
  332. package/dist/test/e2e/api/admin/context.e2e.test.js +47 -1
  333. package/dist/test/e2e/api/admin/context.e2e.test.js.map +1 -1
  334. package/dist/test/e2e/api/admin/project/features.e2e.test.js +14 -14
  335. package/dist/test/e2e/api/admin/project/features.e2e.test.js.map +1 -1
  336. package/dist/test/e2e/helpers/test-helper.d.ts +1 -1
  337. package/dist/test/e2e/helpers/test-helper.js +4 -2
  338. package/dist/test/e2e/helpers/test-helper.js.map +1 -1
  339. package/dist/test/e2e/services/access-service.e2e.test.js +1 -1
  340. package/dist/test/e2e/services/access-service.e2e.test.js.map +1 -1
  341. package/dist/test/e2e/services/playground-service.test.js +2 -2
  342. package/dist/test/e2e/services/playground-service.test.js.map +1 -1
  343. package/dist/test/fixtures/access-service-mock.js +1 -1
  344. package/dist/test/fixtures/access-service-mock.js.map +1 -1
  345. package/dist/test/fixtures/fake-access-store.d.ts +5 -3
  346. package/dist/test/fixtures/fake-access-store.js +24 -9
  347. package/dist/test/fixtures/fake-access-store.js.map +1 -1
  348. package/dist/test/fixtures/fake-environment-store.d.ts +1 -0
  349. package/dist/test/fixtures/fake-environment-store.js +3 -0
  350. package/dist/test/fixtures/fake-environment-store.js.map +1 -1
  351. package/dist/test/fixtures/fake-feature-strategies-store.d.ts +2 -0
  352. package/dist/test/fixtures/fake-feature-strategies-store.js +7 -0
  353. package/dist/test/fixtures/fake-feature-strategies-store.js.map +1 -1
  354. package/dist/test/fixtures/fake-group-store.d.ts +1 -1
  355. package/dist/test/fixtures/fake-group-store.js +1 -1
  356. package/dist/test/fixtures/fake-group-store.js.map +1 -1
  357. package/dist/test/fixtures/fake-role-store.d.ts +1 -1
  358. package/dist/test/fixtures/fake-role-store.js +9 -4
  359. package/dist/test/fixtures/fake-role-store.js.map +1 -1
  360. package/frontend/build/index.html +1 -1
  361. package/frontend/build/static/AdvancedPlayground-520a25e1.js +1 -0
  362. package/frontend/build/static/CreateProject-c430691b.js +4 -0
  363. package/frontend/build/static/{Error-fa3099b2.js → Error-492e8b38.js} +1 -1
  364. package/frontend/build/static/FeatureArchiveDialog-70daa567.js +10 -0
  365. package/frontend/build/static/{FeatureMetricsChart-caa58088.js → FeatureMetricsChart-bc99b364.js} +2 -2
  366. package/frontend/build/static/FeatureViewLazyExport-01d70575.js +7 -0
  367. package/frontend/build/static/LazyAdminExport-e2c90193.js +37 -0
  368. package/frontend/build/static/LazyProjectExport-fa62d2fe.js +13 -0
  369. package/frontend/build/static/NetworkOverview-3b72e4ea.js +1298 -0
  370. package/frontend/build/static/NetworkTraffic-365db744.js +1 -0
  371. package/frontend/build/static/Playground-b473b399.js +1 -0
  372. package/frontend/build/static/{Playground-3eeb2ce7.js → PlaygroundGuidancePopper-8e3e97db.js} +12 -12
  373. package/frontend/build/static/RoleCell-9bb513a8.js +1 -0
  374. package/frontend/build/static/StrategyItemContainer-1f7503c7.js +1 -0
  375. package/frontend/build/static/{chartjs-adapter-date-fns.esm-d0669d39.js → chartjs-adapter-date-fns.esm-db338d44.js} +1 -1
  376. package/frontend/build/static/flowchart-elk-definition-170a3958-a428dd25.js +134 -0
  377. package/frontend/build/static/index-0a56292a.js +450 -0
  378. package/frontend/build/static/{index-70a530dd.js → index-d362ae7a.js} +1 -1
  379. package/frontend/build/static/{index-5ae801ef.js → index-dc5debe9.js} +1 -1
  380. package/frontend/build/static/is_dark-884249e0.js +1 -0
  381. package/frontend/build/static/mindmap-definition-44684416-3c9425ff.js +101 -0
  382. package/frontend/build/static/stringify-ec884b6d.js +1 -0
  383. package/frontend/build/static/timeline-definition-8e5a9bc6-d289cd6d.js +62 -0
  384. package/frontend/build/static/{unknownify-d86d026c.js → unknownify-5b23bf29.js} +1 -1
  385. package/frontend/package.json +18 -17
  386. package/package.json +16 -13
  387. package/dist/lib/routes/admin-api/playground.d.ts +0 -12
  388. package/dist/lib/routes/admin-api/playground.js +0 -46
  389. package/dist/lib/routes/admin-api/playground.js.map +0 -1
  390. package/dist/lib/routes/admin-api/playground.test.js.map +0 -1
  391. package/dist/lib/services/playground-service.d.ts +0 -12
  392. package/dist/lib/services/playground-service.js +0 -65
  393. package/dist/lib/services/playground-service.js.map +0 -1
  394. package/dist/lib/util/feature-evaluator/client.js.map +0 -1
  395. package/dist/lib/util/feature-evaluator/constraint.js.map +0 -1
  396. package/dist/lib/util/feature-evaluator/context.js.map +0 -1
  397. package/dist/lib/util/feature-evaluator/feature-evaluator.js.map +0 -1
  398. package/dist/lib/util/feature-evaluator/feature.js.map +0 -1
  399. package/dist/lib/util/feature-evaluator/helpers.js.map +0 -1
  400. package/dist/lib/util/feature-evaluator/index.js.map +0 -1
  401. package/dist/lib/util/feature-evaluator/repository/bootstrap-provider.js.map +0 -1
  402. package/dist/lib/util/feature-evaluator/repository/index.js.map +0 -1
  403. package/dist/lib/util/feature-evaluator/repository/storage-provider-in-mem.js.map +0 -1
  404. package/dist/lib/util/feature-evaluator/repository/storage-provider.js.map +0 -1
  405. package/dist/lib/util/feature-evaluator/strategy/application-hostname-strategy.js.map +0 -1
  406. package/dist/lib/util/feature-evaluator/strategy/default-strategy.js.map +0 -1
  407. package/dist/lib/util/feature-evaluator/strategy/flexible-rollout-strategy.js.map +0 -1
  408. package/dist/lib/util/feature-evaluator/strategy/gradual-rollout-random.js.map +0 -1
  409. package/dist/lib/util/feature-evaluator/strategy/gradual-rollout-session-id.js.map +0 -1
  410. package/dist/lib/util/feature-evaluator/strategy/gradual-rollout-user-id.js.map +0 -1
  411. package/dist/lib/util/feature-evaluator/strategy/index.js.map +0 -1
  412. package/dist/lib/util/feature-evaluator/strategy/remote-address-strategy.js.map +0 -1
  413. package/dist/lib/util/feature-evaluator/strategy/strategy.js.map +0 -1
  414. package/dist/lib/util/feature-evaluator/strategy/unknown-strategy.js.map +0 -1
  415. package/dist/lib/util/feature-evaluator/strategy/user-with-id-strategy.js.map +0 -1
  416. package/dist/lib/util/feature-evaluator/strategy/util.js.map +0 -1
  417. package/dist/lib/util/feature-evaluator/variant.js.map +0 -1
  418. package/dist/lib/util/offline-unleash-client.js.map +0 -1
  419. package/dist/lib/util/offline-unleash-client.test.js.map +0 -1
  420. package/frontend/build/static/CreateProject-0e1caafd.js +0 -4
  421. package/frontend/build/static/FeatureArchiveDialog-ec9e5524.js +0 -4
  422. package/frontend/build/static/FeatureViewLazyExport-4da2d0f1.js +0 -7
  423. package/frontend/build/static/LazyAdminExport-b294bdfc.js +0 -43
  424. package/frontend/build/static/LazyProjectExport-fc25f20d.js +0 -19
  425. package/frontend/build/static/NetworkOverview-9038e532.js +0 -1296
  426. package/frontend/build/static/NetworkTraffic-de75c58b.js +0 -1
  427. package/frontend/build/static/StrategyItemContainer-4f8afe80.js +0 -1
  428. package/frontend/build/static/index-e59cfb08.js +0 -450
  429. package/frontend/build/static/useProjectRole-cddab9e6.js +0 -1
  430. package/frontend/build/static/v4-a960c1f4.js +0 -1
  431. /package/dist/lib/{routes/admin-api/playground.test.d.ts → db/feature-strategy-store.test.d.ts} +0 -0
  432. /package/dist/lib/{util → features/playground}/feature-evaluator/constraint.d.ts +0 -0
  433. /package/dist/lib/{util → features/playground}/feature-evaluator/constraint.js +0 -0
  434. /package/dist/lib/{util → features/playground}/feature-evaluator/context.d.ts +0 -0
  435. /package/dist/lib/{util → features/playground}/feature-evaluator/context.js +0 -0
  436. /package/dist/lib/{util → features/playground}/feature-evaluator/feature-evaluator.d.ts +0 -0
  437. /package/dist/lib/{util → features/playground}/feature-evaluator/feature-evaluator.js +0 -0
  438. /package/dist/lib/{util → features/playground}/feature-evaluator/feature.d.ts +0 -0
  439. /package/dist/lib/{util → features/playground}/feature-evaluator/feature.js +0 -0
  440. /package/dist/lib/{util → features/playground}/feature-evaluator/helpers.js +0 -0
  441. /package/dist/lib/{util → features/playground}/feature-evaluator/repository/bootstrap-provider.d.ts +0 -0
  442. /package/dist/lib/{util → features/playground}/feature-evaluator/repository/bootstrap-provider.js +0 -0
  443. /package/dist/lib/{util → features/playground}/feature-evaluator/repository/index.d.ts +0 -0
  444. /package/dist/lib/{util → features/playground}/feature-evaluator/repository/index.js +0 -0
  445. /package/dist/lib/{util → features/playground}/feature-evaluator/repository/storage-provider-in-mem.d.ts +0 -0
  446. /package/dist/lib/{util → features/playground}/feature-evaluator/repository/storage-provider-in-mem.js +0 -0
  447. /package/dist/lib/{util → features/playground}/feature-evaluator/repository/storage-provider.d.ts +0 -0
  448. /package/dist/lib/{util → features/playground}/feature-evaluator/repository/storage-provider.js +0 -0
  449. /package/dist/lib/{util → features/playground}/feature-evaluator/strategy/application-hostname-strategy.d.ts +0 -0
  450. /package/dist/lib/{util → features/playground}/feature-evaluator/strategy/application-hostname-strategy.js +0 -0
  451. /package/dist/lib/{util → features/playground}/feature-evaluator/strategy/default-strategy.d.ts +0 -0
  452. /package/dist/lib/{util → features/playground}/feature-evaluator/strategy/default-strategy.js +0 -0
  453. /package/dist/lib/{util → features/playground}/feature-evaluator/strategy/flexible-rollout-strategy.d.ts +0 -0
  454. /package/dist/lib/{util → features/playground}/feature-evaluator/strategy/flexible-rollout-strategy.js +0 -0
  455. /package/dist/lib/{util → features/playground}/feature-evaluator/strategy/gradual-rollout-random.d.ts +0 -0
  456. /package/dist/lib/{util → features/playground}/feature-evaluator/strategy/gradual-rollout-random.js +0 -0
  457. /package/dist/lib/{util → features/playground}/feature-evaluator/strategy/gradual-rollout-session-id.d.ts +0 -0
  458. /package/dist/lib/{util → features/playground}/feature-evaluator/strategy/gradual-rollout-session-id.js +0 -0
  459. /package/dist/lib/{util → features/playground}/feature-evaluator/strategy/gradual-rollout-user-id.d.ts +0 -0
  460. /package/dist/lib/{util → features/playground}/feature-evaluator/strategy/gradual-rollout-user-id.js +0 -0
  461. /package/dist/lib/{util → features/playground}/feature-evaluator/strategy/index.d.ts +0 -0
  462. /package/dist/lib/{util → features/playground}/feature-evaluator/strategy/index.js +0 -0
  463. /package/dist/lib/{util → features/playground}/feature-evaluator/strategy/remote-address-strategy.d.ts +0 -0
  464. /package/dist/lib/{util → features/playground}/feature-evaluator/strategy/remote-address-strategy.js +0 -0
  465. /package/dist/lib/{util → features/playground}/feature-evaluator/strategy/strategy.d.ts +0 -0
  466. /package/dist/lib/{util → features/playground}/feature-evaluator/strategy/strategy.js +0 -0
  467. /package/dist/lib/{util → features/playground}/feature-evaluator/strategy/unknown-strategy.d.ts +0 -0
  468. /package/dist/lib/{util → features/playground}/feature-evaluator/strategy/user-with-id-strategy.d.ts +0 -0
  469. /package/dist/lib/{util → features/playground}/feature-evaluator/strategy/user-with-id-strategy.js +0 -0
  470. /package/dist/lib/{util → features/playground}/feature-evaluator/strategy/util.d.ts +0 -0
  471. /package/dist/lib/{util → features/playground}/feature-evaluator/strategy/util.js +0 -0
  472. /package/dist/lib/{util → features/playground}/feature-evaluator/variant.d.ts +0 -0
  473. /package/dist/lib/{util → features/playground}/feature-evaluator/variant.js +0 -0
  474. /package/dist/lib/{util → features/playground}/offline-unleash-client.d.ts +0 -0
  475. /package/dist/lib/{util → features/playground}/offline-unleash-client.test.d.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"proxy-repository.js","sourceRoot":"","sources":["../../../src/lib/proxy/proxy-repository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"proxy-repository.js","sourceRoot":"","sources":["../../../src/lib/proxy/proxy-repository.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import { Response } from 'express';
2
2
  import Controller from '../controller';
3
3
  import { IAuthRequest } from '../unleash-types';
4
4
  import { IUnleashConfig } from '../../types/option';
5
+ import { ApiTokenType } from '../../types/models/api-token';
5
6
  import { IUnleashServices } from '../../types';
6
7
  import { ApiTokensSchema } from '../../openapi/spec/api-tokens-schema';
7
8
  import { ApiTokenSchema } from '../../openapi/spec/api-token-schema';
@@ -9,6 +10,7 @@ import { UpdateApiTokenSchema } from '../../openapi/spec/update-api-token-schema
9
10
  interface TokenParam {
10
11
  token: string;
11
12
  }
13
+ export declare const tokenTypeToCreatePermission: (tokenType: ApiTokenType) => string;
12
14
  export declare class ApiTokenController extends Controller {
13
15
  private apiTokenService;
14
16
  private accessService;
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.ApiTokenController = void 0;
6
+ exports.ApiTokenController = exports.tokenTypeToCreatePermission = void 0;
7
7
  const controller_1 = __importDefault(require("../controller"));
8
8
  const permissions_1 = require("../../types/permissions");
9
9
  const api_token_1 = require("../../types/models/api-token");
@@ -15,6 +15,62 @@ const serialize_dates_1 = require("../../types/serialize-dates");
15
15
  const api_token_schema_2 = require("../../openapi/spec/api-token-schema");
16
16
  const standard_responses_1 = require("../../openapi/util/standard-responses");
17
17
  const util_1 = require("../../util");
18
+ const error_1 = require("../../error");
19
+ const tokenTypeToCreatePermission = (tokenType) => {
20
+ switch (tokenType) {
21
+ case api_token_1.ApiTokenType.ADMIN:
22
+ return permissions_1.ADMIN;
23
+ case api_token_1.ApiTokenType.CLIENT:
24
+ return permissions_1.CREATE_CLIENT_API_TOKEN;
25
+ case api_token_1.ApiTokenType.FRONTEND:
26
+ return permissions_1.CREATE_FRONTEND_API_TOKEN;
27
+ }
28
+ };
29
+ exports.tokenTypeToCreatePermission = tokenTypeToCreatePermission;
30
+ const permissionToTokenType = (permission) => {
31
+ if ([
32
+ permissions_1.CREATE_FRONTEND_API_TOKEN,
33
+ permissions_1.READ_FRONTEND_API_TOKEN,
34
+ permissions_1.DELETE_FRONTEND_API_TOKEN,
35
+ permissions_1.UPDATE_FRONTEND_API_TOKEN,
36
+ ].includes(permission)) {
37
+ return api_token_1.ApiTokenType.FRONTEND;
38
+ }
39
+ else if ([
40
+ permissions_1.CREATE_CLIENT_API_TOKEN,
41
+ permissions_1.READ_CLIENT_API_TOKEN,
42
+ permissions_1.DELETE_CLIENT_API_TOKEN,
43
+ permissions_1.UPDATE_CLIENT_API_TOKEN,
44
+ ].includes(permission)) {
45
+ return api_token_1.ApiTokenType.CLIENT;
46
+ }
47
+ else if (permissions_1.ADMIN === permission) {
48
+ return api_token_1.ApiTokenType.ADMIN;
49
+ }
50
+ else {
51
+ return undefined;
52
+ }
53
+ };
54
+ const tokenTypeToUpdatePermission = (tokenType) => {
55
+ switch (tokenType) {
56
+ case api_token_1.ApiTokenType.ADMIN:
57
+ return permissions_1.ADMIN;
58
+ case api_token_1.ApiTokenType.CLIENT:
59
+ return permissions_1.UPDATE_CLIENT_API_TOKEN;
60
+ case api_token_1.ApiTokenType.FRONTEND:
61
+ return permissions_1.UPDATE_FRONTEND_API_TOKEN;
62
+ }
63
+ };
64
+ const tokenTypeToDeletePermission = (tokenType) => {
65
+ switch (tokenType) {
66
+ case api_token_1.ApiTokenType.ADMIN:
67
+ return permissions_1.ADMIN;
68
+ case api_token_1.ApiTokenType.CLIENT:
69
+ return permissions_1.DELETE_CLIENT_API_TOKEN;
70
+ case api_token_1.ApiTokenType.FRONTEND:
71
+ return permissions_1.DELETE_FRONTEND_API_TOKEN;
72
+ }
73
+ };
18
74
  class ApiTokenController extends controller_1.default {
19
75
  constructor(config, { apiTokenService, accessService, proxyService, openApiService, }) {
20
76
  super(config);
@@ -27,7 +83,7 @@ class ApiTokenController extends controller_1.default {
27
83
  method: 'get',
28
84
  path: '',
29
85
  handler: this.getAllApiTokens,
30
- permission: permissions_1.READ_API_TOKEN,
86
+ permission: [permissions_1.ADMIN, permissions_1.READ_CLIENT_API_TOKEN, permissions_1.READ_FRONTEND_API_TOKEN],
31
87
  middleware: [
32
88
  openApiService.validPath({
33
89
  tags: ['API tokens'],
@@ -42,7 +98,11 @@ class ApiTokenController extends controller_1.default {
42
98
  method: 'post',
43
99
  path: '',
44
100
  handler: this.createApiToken,
45
- permission: permissions_1.CREATE_API_TOKEN,
101
+ permission: [
102
+ permissions_1.ADMIN,
103
+ permissions_1.CREATE_CLIENT_API_TOKEN,
104
+ permissions_1.CREATE_FRONTEND_API_TOKEN,
105
+ ],
46
106
  middleware: [
47
107
  openApiService.validPath({
48
108
  tags: ['API tokens'],
@@ -58,7 +118,11 @@ class ApiTokenController extends controller_1.default {
58
118
  method: 'put',
59
119
  path: '/:token',
60
120
  handler: this.updateApiToken,
61
- permission: permissions_1.UPDATE_API_TOKEN,
121
+ permission: [
122
+ permissions_1.ADMIN,
123
+ permissions_1.UPDATE_CLIENT_API_TOKEN,
124
+ permissions_1.UPDATE_FRONTEND_API_TOKEN,
125
+ ],
62
126
  middleware: [
63
127
  openApiService.validPath({
64
128
  tags: ['API tokens'],
@@ -75,7 +139,11 @@ class ApiTokenController extends controller_1.default {
75
139
  path: '/:token',
76
140
  handler: this.deleteApiToken,
77
141
  acceptAnyContentType: true,
78
- permission: permissions_1.DELETE_API_TOKEN,
142
+ permission: [
143
+ permissions_1.ADMIN,
144
+ permissions_1.DELETE_CLIENT_API_TOKEN,
145
+ permissions_1.DELETE_FRONTEND_API_TOKEN,
146
+ ],
79
147
  middleware: [
80
148
  openApiService.validPath({
81
149
  tags: ['API tokens'],
@@ -94,8 +162,15 @@ class ApiTokenController extends controller_1.default {
94
162
  }
95
163
  async createApiToken(req, res) {
96
164
  const createToken = await api_token_schema_1.createApiToken.validateAsync(req.body);
97
- const token = await this.apiTokenService.createApiToken(createToken, (0, util_1.extractUsername)(req));
98
- this.openApiService.respondWithValidation(201, res, api_token_schema_2.apiTokenSchema.$id, (0, serialize_dates_1.serializeDates)(token), { location: `api-tokens` });
165
+ const permissionRequired = (0, exports.tokenTypeToCreatePermission)(createToken.type);
166
+ const hasPermission = await this.accessService.hasPermission(req.user, permissionRequired);
167
+ if (hasPermission) {
168
+ const token = await this.apiTokenService.createApiToken(createToken, (0, util_1.extractUsername)(req));
169
+ this.openApiService.respondWithValidation(201, res, api_token_schema_2.apiTokenSchema.$id, (0, serialize_dates_1.serializeDates)(token), { location: `api-tokens` });
170
+ }
171
+ else {
172
+ throw new error_1.OperationDeniedError(`You don't have the necessary access [${permissionRequired}] to perform this operation`);
173
+ }
99
174
  }
100
175
  async updateApiToken(req, res) {
101
176
  const { token } = req.params;
@@ -104,11 +179,39 @@ class ApiTokenController extends controller_1.default {
104
179
  this.logger.error(req.body);
105
180
  return res.status(400).send();
106
181
  }
182
+ let tokenToUpdate;
183
+ try {
184
+ tokenToUpdate = await this.apiTokenService.getToken(token);
185
+ }
186
+ catch (error) { }
187
+ if (!tokenToUpdate) {
188
+ res.status(200).end();
189
+ return;
190
+ }
191
+ const permissionRequired = tokenTypeToUpdatePermission(tokenToUpdate.type);
192
+ const hasPermission = await this.accessService.hasPermission(req.user, permissionRequired);
193
+ if (!hasPermission) {
194
+ throw new error_1.OperationDeniedError(`You do not have the required access [${permissionRequired}] to perform this operation`);
195
+ }
107
196
  await this.apiTokenService.updateExpiry(token, new Date(expiresAt), (0, util_1.extractUsername)(req));
108
197
  return res.status(200).end();
109
198
  }
110
199
  async deleteApiToken(req, res) {
111
200
  const { token } = req.params;
201
+ let tokenToUpdate;
202
+ try {
203
+ tokenToUpdate = await this.apiTokenService.getToken(token);
204
+ }
205
+ catch (error) { }
206
+ if (!tokenToUpdate) {
207
+ res.status(200).end();
208
+ return;
209
+ }
210
+ const permissionRequired = tokenTypeToDeletePermission(tokenToUpdate.type);
211
+ let hasPermission = await this.accessService.hasPermission(req.user, permissionRequired);
212
+ if (!hasPermission) {
213
+ throw new error_1.OperationDeniedError(`You do not have the required access [${permissionRequired}] to perform this operation`);
214
+ }
112
215
  await this.apiTokenService.delete(token, (0, util_1.extractUsername)(req));
113
216
  await this.proxyService.deleteClientForProxyToken(token);
114
217
  res.status(200).end();
@@ -118,10 +221,16 @@ class ApiTokenController extends controller_1.default {
118
221
  if (user.isAPI && user.permissions.includes(permissions_1.ADMIN)) {
119
222
  return allTokens;
120
223
  }
121
- if (await this.accessService.hasPermission(user, permissions_1.UPDATE_API_TOKEN)) {
122
- return allTokens;
123
- }
124
- return allTokens.filter((token) => token.type !== api_token_1.ApiTokenType.ADMIN);
224
+ const userPermissions = await this.accessService.getPermissionsForUser(user);
225
+ const allowedTokenTypes = [
226
+ permissions_1.ADMIN,
227
+ permissions_1.READ_CLIENT_API_TOKEN,
228
+ permissions_1.READ_FRONTEND_API_TOKEN,
229
+ ]
230
+ .filter((readPerm) => userPermissions.some((p) => p.permission === readPerm || p.permission === permissions_1.ADMIN))
231
+ .map(permissionToTokenType)
232
+ .filter((t) => t);
233
+ return allTokens.filter((token) => allowedTokenTypes.includes(token.type));
125
234
  }
126
235
  }
127
236
  exports.ApiTokenController = ApiTokenController;
@@ -1 +1 @@
1
- {"version":3,"file":"api-token.js","sourceRoot":"","sources":["../../../../src/lib/routes/admin-api/api-token.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api-token.js","sourceRoot":"","sources":["../../../../src/lib/routes/admin-api/api-token.ts"],"names":[],"mappings":"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"}
@@ -21,5 +21,8 @@ export declare class ContextController extends Controller {
21
21
  updateContextField(req: IAuthRequest<ContextParam, void, UpsertContextFieldSchema>, res: Response): Promise<void>;
22
22
  deleteContextField(req: IAuthRequest<ContextParam>, res: Response): Promise<void>;
23
23
  validate(req: Request<void, void, NameSchema>, res: Response): Promise<void>;
24
+ getStrategiesByContextField(req: IAuthRequest<{
25
+ contextField: string;
26
+ }>, res: Response): Promise<void>;
24
27
  }
25
28
  export {};
@@ -13,6 +13,7 @@ const create_response_schema_1 = require("../../openapi/util/create-response-sch
13
13
  const serialize_dates_1 = require("../../types/serialize-dates");
14
14
  const notfound_error_1 = __importDefault(require("../../error/notfound-error"));
15
15
  const standard_responses_1 = require("../../openapi/util/standard-responses");
16
+ const context_field_strategies_schema_1 = require("../../openapi/spec/context-field-strategies-schema");
16
17
  class ContextController extends controller_1.default {
17
18
  constructor(config, { contextService, openApiService, }) {
18
19
  super(config);
@@ -49,6 +50,21 @@ class ContextController extends controller_1.default {
49
50
  }),
50
51
  ],
51
52
  });
53
+ this.route({
54
+ method: 'get',
55
+ path: '/:contextField/strategies',
56
+ handler: this.getStrategiesByContextField,
57
+ permission: permissions_1.NONE,
58
+ middleware: [
59
+ openApiService.validPath({
60
+ tags: ['Strategies'],
61
+ operationId: 'getStrategiesByContextField',
62
+ responses: {
63
+ 200: (0, create_response_schema_1.createResponseSchema)('contextFieldStrategiesSchema'),
64
+ },
65
+ }),
66
+ ],
67
+ });
52
68
  this.route({
53
69
  method: 'post',
54
70
  path: '',
@@ -157,6 +173,11 @@ class ContextController extends controller_1.default {
157
173
  await this.contextService.validateName(name);
158
174
  res.status(200).end();
159
175
  }
176
+ async getStrategiesByContextField(req, res) {
177
+ const { contextField } = req.params;
178
+ const contextFields = await this.contextService.getStrategiesByContextField(contextField);
179
+ this.openApiService.respondWithValidation(200, res, context_field_strategies_schema_1.contextFieldStrategiesSchema.$id, (0, serialize_dates_1.serializeDates)(contextFields));
180
+ }
160
181
  }
161
182
  exports.ContextController = ContextController;
162
183
  //# sourceMappingURL=context.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../src/lib/routes/admin-api/context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../src/lib/routes/admin-api/context.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@ const feature_type_1 = require("./feature-type");
9
9
  const archive_1 = __importDefault(require("./archive"));
10
10
  const strategy_1 = __importDefault(require("./strategy"));
11
11
  const event_1 = __importDefault(require("./event"));
12
- const playground_1 = __importDefault(require("./playground"));
12
+ const playground_1 = __importDefault(require("../../features/playground/playground"));
13
13
  const metrics_1 = __importDefault(require("./metrics"));
14
14
  const user_1 = __importDefault(require("./user/user"));
15
15
  const config_1 = __importDefault(require("./config"));
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/routes/admin-api/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/routes/admin-api/index.ts"],"names":[],"mappings":"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"}
@@ -4,11 +4,13 @@ import { IUnleashServices } from '../../types/services';
4
4
  import { IUnleashConfig } from '../../types/option';
5
5
  import Controller from '../controller';
6
6
  import { UiConfigSchema } from '../../openapi/spec/ui-config-schema';
7
- import { InstanceStats } from '../../services/instance-stats-service';
7
+ import { InstanceStats, InstanceStatsSigned } from '../../services/instance-stats-service';
8
8
  declare class InstanceAdminController extends Controller {
9
9
  private instanceStatsService;
10
10
  private openApiService;
11
+ private jsonCsvParser;
11
12
  constructor(config: IUnleashConfig, { instanceStatsService, openApiService, }: Pick<IUnleashServices, 'instanceStatsService' | 'openApiService'>);
13
+ instanceStatsExample(): InstanceStatsSigned;
12
14
  getStatistics(req: AuthedRequest, res: Response<InstanceStats>): Promise<void>;
13
15
  getStatisticsCSV(req: AuthedRequest, res: Response<UiConfigSchema>): Promise<void>;
14
16
  }
@@ -10,6 +10,7 @@ const create_response_schema_1 = require("../../openapi/util/create-response-sch
10
10
  class InstanceAdminController extends controller_1.default {
11
11
  constructor(config, { instanceStatsService, openApiService, }) {
12
12
  super(config);
13
+ this.jsonCsvParser = new json2csv_1.Parser();
13
14
  this.openApiService = openApiService;
14
15
  this.instanceStatsService = instanceStatsService;
15
16
  this.route({
@@ -17,6 +18,17 @@ class InstanceAdminController extends controller_1.default {
17
18
  path: '/statistics/csv',
18
19
  handler: this.getStatisticsCSV,
19
20
  permission: permissions_1.NONE,
21
+ middleware: [
22
+ openApiService.validPath({
23
+ tags: ['Instance Admin'],
24
+ summary: 'Instance usage statistics',
25
+ description: 'Provides statistics about various features of Unleash to allow for reporting of usage for self-hosted customers. The response contains data such as the number of users, groups, features, strategies, versions, etc.',
26
+ operationId: 'getInstanceAdminStatsCsv',
27
+ responses: {
28
+ 200: (0, create_response_schema_1.createCsvResponseSchema)('instanceAdminStatsSchemaCsv', this.jsonCsvParser.parse(this.instanceStatsExample())),
29
+ },
30
+ }),
31
+ ],
20
32
  });
21
33
  this.route({
22
34
  method: 'get',
@@ -27,6 +39,8 @@ class InstanceAdminController extends controller_1.default {
27
39
  openApiService.validPath({
28
40
  tags: ['Instance Admin'],
29
41
  operationId: 'getInstanceAdminStats',
42
+ summary: 'Instance usage statistics',
43
+ description: 'Provides statistics about various features of Unleash to allow for reporting of usage for self-hosted customers. The response contains data such as the number of users, groups, features, strategies, versions, etc.',
30
44
  responses: {
31
45
  200: (0, create_response_schema_1.createResponseSchema)('instanceAdminStatsSchema'),
32
46
  },
@@ -35,6 +49,33 @@ class InstanceAdminController extends controller_1.default {
35
49
  ],
36
50
  });
37
51
  }
52
+ instanceStatsExample() {
53
+ return {
54
+ OIDCenabled: true,
55
+ SAMLenabled: false,
56
+ clientApps: [
57
+ { range: 'allTime', count: 15 },
58
+ { range: '30d', count: 9 },
59
+ { range: '7d', count: 5 },
60
+ ],
61
+ contextFields: 6,
62
+ environments: 2,
63
+ featureExports: 0,
64
+ featureImports: 0,
65
+ featureToggles: 29,
66
+ groups: 3,
67
+ instanceId: 'ed3861ae-78f9-4e8c-8e57-b57efc15f82b',
68
+ projects: 1,
69
+ roles: 5,
70
+ segments: 2,
71
+ strategies: 8,
72
+ sum: 'some-sha256-hash',
73
+ timestamp: new Date(2023, 6, 12, 10, 0, 0, 0),
74
+ users: 10,
75
+ versionEnterprise: '5.1.7',
76
+ versionOSS: '5.1.7',
77
+ };
78
+ }
38
79
  async getStatistics(req, res) {
39
80
  const instanceStats = await this.instanceStatsService.getSignedStats();
40
81
  res.json(instanceStats);
@@ -1 +1 @@
1
- {"version":3,"file":"instance-admin.js","sourceRoot":"","sources":["../../../../src/lib/routes/admin-api/instance-admin.ts"],"names":[],"mappings":";;;;;AAAA,uCAAkC;AAKlC,+DAAuC;AACvC,yDAA+C;AAO/C,sFAAiF;AAEjF,MAAM,uBAAwB,SAAQ,oBAAU;IAK5C,YACI,MAAsB,EACtB,EACI,oBAAoB,EACpB,cAAc,GACkD;QAEpE,KAAK,CAAC,MAAM,CAAC,CAAC;QAEd,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,oBAAoB,GAAG,oBAAoB,CAAC;QAEjD,IAAI,CAAC,KAAK,CAAC;YACP,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,iBAAiB;YACvB,OAAO,EAAE,IAAI,CAAC,gBAAgB;YAC9B,UAAU,EAAE,kBAAI;SACnB,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,CAAC;YACP,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,IAAI,CAAC,aAAa;YAC3B,UAAU,EAAE,kBAAI;YAChB,UAAU,EAAE;gBACR,cAAc,CAAC,SAAS,CAAC;oBACrB,IAAI,EAAE,CAAC,gBAAgB,CAAC;oBACxB,WAAW,EAAE,uBAAuB;oBACpC,SAAS,EAAE;wBACP,GAAG,EAAE,IAAA,6CAAoB,EAAC,0BAA0B,CAAC;qBACxD;oBACD,UAAU,EAAE,IAAI;iBACnB,CAAC;aACL;SACJ,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,aAAa,CACf,GAAkB,EAClB,GAA4B;QAE5B,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,cAAc,EAAE,CAAC;QACvE,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,gBAAgB,CAClB,GAAkB,EAClB,GAA6B;QAE7B,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,cAAc,EAAE,CAAC;QACvE,MAAM,QAAQ,GAAG,WACb,aAAa,CAAC,UAClB,IAAI,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC;QAErB,MAAM,cAAc,GAAG,IAAI,iBAAM,EAAE,CAAC;QACpC,MAAM,GAAG,GAAG,cAAc,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAEhD,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACvB,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QACzB,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAClB,CAAC;CACJ;AAED,kBAAe,uBAAuB,CAAC"}
1
+ {"version":3,"file":"instance-admin.js","sourceRoot":"","sources":["../../../../src/lib/routes/admin-api/instance-admin.ts"],"names":[],"mappings":"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"}
@@ -75,6 +75,18 @@ test('should store application', () => {
75
75
  .send({ appName, strategies: ['default'] })
76
76
  .expect(202);
77
77
  });
78
+ test('should store application coming from edit application form', () => {
79
+ expect.assertions(0);
80
+ const appName = '123!23';
81
+ return request
82
+ .post(`/api/admin/metrics/applications/${appName}`)
83
+ .send({
84
+ url: 'http://test.com',
85
+ description: 'This is an optional description',
86
+ icon: 'arrow-down',
87
+ })
88
+ .expect(202);
89
+ });
78
90
  test('should store application details without strategies', () => {
79
91
  expect.assertions(0);
80
92
  const appName = '123!23';
@@ -1 +1 @@
1
- {"version":3,"file":"metrics.test.js","sourceRoot":"","sources":["../../../../src/lib/routes/admin-api/metrics.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"metrics.test.js","sourceRoot":"","sources":["../../../../src/lib/routes/admin-api/metrics.test.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,8 @@ const util_1 = require("../../../util");
12
12
  const controller_1 = __importDefault(require("../../controller"));
13
13
  const crypto_1 = require("crypto");
14
14
  const api_token_schema_1 = require("../../../schema/api-token-schema");
15
+ const error_1 = require("../../../error");
16
+ const api_token_2 = require("../api-token");
15
17
  const PATH = '/:projectId/api-tokens';
16
18
  const PATH_TOKEN = `${PATH}/:token`;
17
19
  class ProjectApiTokenController extends controller_1.default {
@@ -88,6 +90,11 @@ class ProjectApiTokenController extends controller_1.default {
88
90
  async createProjectApiToken(req, res) {
89
91
  const createToken = await api_token_schema_1.createApiToken.validateAsync(req.body);
90
92
  const { projectId } = req.params;
93
+ const permissionRequired = (0, api_token_2.tokenTypeToCreatePermission)(createToken.type);
94
+ const hasPermission = await this.accessService.hasPermission(req.user, permissionRequired, projectId);
95
+ if (!hasPermission) {
96
+ throw new error_1.OperationDeniedError(`You don't have the necessary access [${permissionRequired}] to perform this operation]`);
97
+ }
91
98
  if (!createToken.project) {
92
99
  createToken.project = projectId;
93
100
  }
@@ -1 +1 @@
1
- {"version":3,"file":"api-token.js","sourceRoot":"","sources":["../../../../../src/lib/routes/admin-api/project/api-token.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api-token.js","sourceRoot":"","sources":["../../../../../src/lib/routes/admin-api/project/api-token.ts"],"names":[],"mappings":"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"}
@@ -59,7 +59,8 @@ class UserController extends controller_1.default {
59
59
  requestBody: (0, create_request_schema_1.createRequestSchema)('passwordSchema'),
60
60
  responses: {
61
61
  200: standard_responses_1.emptyResponse,
62
- 400: { description: 'passwordMismatch' },
62
+ 400: { description: 'password mismatch' },
63
+ 401: { description: 'incorrect old password' },
63
64
  },
64
65
  }),
65
66
  ],
@@ -99,10 +100,10 @@ class UserController extends controller_1.default {
99
100
  }
100
101
  async changeMyPassword(req, res) {
101
102
  const { user } = req;
102
- const { password, confirmPassword } = req.body;
103
- if (password === confirmPassword) {
103
+ const { password, confirmPassword, oldPassword } = req.body;
104
+ if (password === confirmPassword && oldPassword != null) {
104
105
  this.userService.validatePassword(password);
105
- await this.userService.changePassword(user.id, password);
106
+ await this.userService.changePasswordWithVerification(user.id, password, oldPassword);
106
107
  res.status(200).end();
107
108
  }
108
109
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"user.js","sourceRoot":"","sources":["../../../../../src/lib/routes/admin-api/user/user.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"user.js","sourceRoot":"","sources":["../../../../../src/lib/routes/admin-api/user/user.ts"],"names":[],"mappings":";;;;;AAEA,kEAA0C;AAE1C,kDAAkE;AAKlE,4DAAyD;AAEzD,uFAAkF;AAClF,yFAAoF;AACpF,+DAAqE;AACrE,oEAAgE;AAGhE,iFAAyE;AACzE,yEAG8C;AAG9C,MAAM,cAAe,SAAQ,oBAAU;IAanC,YACI,MAAsB,EACtB,EACI,aAAa,EACb,WAAW,EACX,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,EACd,cAAc,GASjB;QAED,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;QAC/C,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QAC3C,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QAErC,IAAI,CAAC,KAAK,CAAC;YACP,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,EAAE;YACR,OAAO,EAAE,IAAI,CAAC,KAAK;YACnB,UAAU,EAAE,kBAAI;YAChB,UAAU,EAAE;gBACR,cAAc,CAAC,SAAS,CAAC;oBACrB,IAAI,EAAE,CAAC,OAAO,CAAC;oBACf,WAAW,EAAE,OAAO;oBACpB,SAAS,EAAE,EAAE,GAAG,EAAE,IAAA,6CAAoB,EAAC,UAAU,CAAC,EAAE;iBACvD,CAAC;aACL;SACJ,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,CAAC;YACP,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,IAAI,CAAC,UAAU;YACxB,UAAU,EAAE,kBAAI;YAChB,UAAU,EAAE;gBACR,cAAc,CAAC,SAAS,CAAC;oBACrB,IAAI,EAAE,CAAC,OAAO,CAAC;oBACf,WAAW,EAAE,YAAY;oBACzB,SAAS,EAAE,EAAE,GAAG,EAAE,IAAA,6CAAoB,EAAC,eAAe,CAAC,EAAE;iBAC5D,CAAC;aACL;SACJ,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,CAAC;YACP,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,kBAAkB;YACxB,OAAO,EAAE,IAAI,CAAC,gBAAgB;YAC9B,UAAU,EAAE,kBAAI;YAChB,UAAU,EAAE;gBACR,cAAc,CAAC,SAAS,CAAC;oBACrB,IAAI,EAAE,CAAC,OAAO,CAAC;oBACf,WAAW,EAAE,kBAAkB;oBAC/B,WAAW,EAAE,IAAA,2CAAmB,EAAC,gBAAgB,CAAC;oBAClD,SAAS,EAAE;wBACP,GAAG,EAAE,kCAAa;wBAClB,GAAG,EAAE,EAAE,WAAW,EAAE,mBAAmB,EAAE;wBACzC,GAAG,EAAE,EAAE,WAAW,EAAE,wBAAwB,EAAE;qBACjD;iBACJ,CAAC;aACL;SACJ,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,GAAiB,EAAE,GAAuB;QAClD,GAAG,CAAC,SAAS,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;QAC3C,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC;QACrB,IAAI,WAA8B,CAAC;QACnC,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,KAAK,kBAAS,CAAC,IAAI,EAAE;YACpD,WAAW,GAAG,CAAC,EAAE,UAAU,EAAE,mBAAK,EAAE,CAAC,CAAC;SACzC;aAAM;YACH,WAAW,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;SACtE;QACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CAC9D,IAAI,CACP,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAErE,MAAM,YAAY,GAAa;YAC3B,IAAI,EAAE,IAAA,gCAAc,EAAC,IAAI,CAAC;YAC1B,WAAW;YACX,QAAQ,EAAE,IAAA,gCAAc,EAAC,QAAQ,CAAC;YAClC,MAAM;SACT,CAAC;QAEF,IAAI,CAAC,cAAc,CAAC,qBAAqB,CACrC,GAAG,EACH,GAAG,EACH,oBAAQ,CAAC,GAAG,EACZ,YAAY,CACf,CAAC;IACN,CAAC;IAED,KAAK,CAAC,UAAU,CACZ,GAAiB,EACjB,GAA4B;QAE5B,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC;QAErB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEtE,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjE,MAAM,EAAE,OAAO,EAAE,GAAG,QAAQ,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAC1C,MAAM,YAAY,GAAkB;YAChC,QAAQ;YACR,QAAQ;YACR,QAAQ,EAAE,EAAE;SACf,CAAC;QAEF,IAAI,CAAC,cAAc,CAAC,qBAAqB,CACrC,GAAG,EACH,GAAG,EACH,8BAAa,CAAC,GAAG,EACjB,YAAY,CACf,CAAC;IACN,CAAC;IAED,KAAK,CAAC,gBAAgB,CAClB,GAAmD,EACnD,GAAa;QAEb,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC;QACrB,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,WAAW,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC;QAC5D,IAAI,QAAQ,KAAK,eAAe,IAAI,WAAW,IAAI,IAAI,EAAE;YACrD,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YAC5C,MAAM,IAAI,CAAC,WAAW,CAAC,8BAA8B,CACjD,IAAI,CAAC,EAAE,EACP,QAAQ,EACR,WAAW,CACd,CAAC;YACF,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;SACzB;aAAM;YACH,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;SACzB;IACL,CAAC;CACJ;AAED,MAAM,CAAC,OAAO,GAAG,cAAc,CAAC;AAChC,kBAAe,cAAc,CAAC"}