unleash-server 4.1.2 → 4.2.0-1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (511) hide show
  1. package/CHANGELOG.md +920 -0
  2. package/README.md +3 -2
  3. package/dist/lib/addons/addon.js +1 -1
  4. package/dist/lib/addons/addon.js.map +1 -1
  5. package/dist/lib/addons/slack.js +9 -9
  6. package/dist/lib/addons/slack.js.map +1 -1
  7. package/dist/lib/addons/teams.js +1 -1
  8. package/dist/lib/addons/teams.js.map +1 -1
  9. package/dist/lib/app.js +20 -20
  10. package/dist/lib/app.js.map +1 -1
  11. package/dist/lib/app.test.js +11 -7
  12. package/dist/lib/app.test.js.map +1 -1
  13. package/dist/lib/create-config.js +9 -9
  14. package/dist/lib/create-config.js.map +1 -1
  15. package/dist/lib/db/api-token-store.d.ts +2 -1
  16. package/dist/lib/db/api-token-store.js +5 -0
  17. package/dist/lib/db/api-token-store.js.map +1 -1
  18. package/dist/lib/db/client-metrics-store.d.ts +6 -0
  19. package/dist/lib/db/client-metrics-store.js +6 -1
  20. package/dist/lib/db/client-metrics-store.js.map +1 -1
  21. package/dist/lib/db/db-pool.js +1 -1
  22. package/dist/lib/db/db-pool.js.map +1 -1
  23. package/dist/lib/db/environment-store.d.ts +7 -7
  24. package/dist/lib/db/environment-store.js +59 -54
  25. package/dist/lib/db/environment-store.js.map +1 -1
  26. package/dist/lib/db/event-store.d.ts +5 -2
  27. package/dist/lib/db/event-store.js +27 -4
  28. package/dist/lib/db/event-store.js.map +1 -1
  29. package/dist/lib/db/event-store.test.js +2 -2
  30. package/dist/lib/db/event-store.test.js.map +1 -1
  31. package/dist/lib/db/feature-environment-store.d.ts +8 -6
  32. package/dist/lib/db/feature-environment-store.js +53 -19
  33. package/dist/lib/db/feature-environment-store.js.map +1 -1
  34. package/dist/lib/db/feature-strategy-store.d.ts +7 -11
  35. package/dist/lib/db/feature-strategy-store.js +77 -147
  36. package/dist/lib/db/feature-strategy-store.js.map +1 -1
  37. package/dist/lib/db/feature-toggle-client-store.d.ts +26 -0
  38. package/dist/lib/db/feature-toggle-client-store.js +106 -0
  39. package/dist/lib/db/feature-toggle-client-store.js.map +1 -0
  40. package/dist/lib/db/feature-toggle-store.d.ts +10 -22
  41. package/dist/lib/db/feature-toggle-store.js +9 -42
  42. package/dist/lib/db/feature-toggle-store.js.map +1 -1
  43. package/dist/lib/db/index.js +2 -0
  44. package/dist/lib/db/index.js.map +1 -1
  45. package/dist/lib/db/project-store.d.ts +4 -6
  46. package/dist/lib/db/project-store.js +7 -43
  47. package/dist/lib/db/project-store.js.map +1 -1
  48. package/dist/lib/event-hook.test.js +8 -7
  49. package/dist/lib/event-hook.test.js.map +1 -1
  50. package/dist/lib/logger.js +1 -1
  51. package/dist/lib/logger.js.map +1 -1
  52. package/dist/lib/logger.test.js +26 -4
  53. package/dist/lib/logger.test.js.map +1 -1
  54. package/dist/lib/metrics.test.js +3 -3
  55. package/dist/lib/metrics.test.js.map +1 -1
  56. package/dist/lib/middleware/api-token-middleware.js +10 -2
  57. package/dist/lib/middleware/api-token-middleware.js.map +1 -1
  58. package/dist/lib/middleware/api-token-middleware.test.js +44 -8
  59. package/dist/lib/middleware/api-token-middleware.test.js.map +1 -1
  60. package/dist/lib/middleware/content_type_checker.test.js +4 -4
  61. package/dist/lib/middleware/content_type_checker.test.js.map +1 -1
  62. package/dist/lib/middleware/demo-authentication.js +1 -1
  63. package/dist/lib/middleware/demo-authentication.js.map +1 -1
  64. package/dist/lib/middleware/no-authentication.test.js +3 -3
  65. package/dist/lib/middleware/no-authentication.test.js.map +1 -1
  66. package/dist/lib/middleware/oss-authentication.js +0 -3
  67. package/dist/lib/middleware/oss-authentication.js.map +1 -1
  68. package/dist/lib/middleware/oss-authentication.test.js +7 -7
  69. package/dist/lib/middleware/oss-authentication.test.js.map +1 -1
  70. package/dist/lib/middleware/rbac-middleware.js +2 -2
  71. package/dist/lib/middleware/rbac-middleware.js.map +1 -1
  72. package/dist/lib/middleware/rbac-middleware.test.js +51 -12
  73. package/dist/lib/middleware/rbac-middleware.test.js.map +1 -1
  74. package/dist/lib/middleware/secure-headers.js +1 -1
  75. package/dist/lib/middleware/secure-headers.js.map +1 -1
  76. package/dist/lib/middleware/session-db.js +2 -2
  77. package/dist/lib/middleware/session-db.js.map +1 -1
  78. package/dist/lib/routes/admin-api/addon.d.ts +4 -3
  79. package/dist/lib/routes/admin-api/addon.js +4 -4
  80. package/dist/lib/routes/admin-api/addon.js.map +1 -1
  81. package/dist/lib/routes/admin-api/api-token-controller.js +10 -38
  82. package/dist/lib/routes/admin-api/api-token-controller.js.map +1 -1
  83. package/dist/lib/routes/admin-api/archive.d.ts +4 -3
  84. package/dist/lib/routes/admin-api/archive.js +3 -3
  85. package/dist/lib/routes/admin-api/archive.js.map +1 -1
  86. package/dist/lib/routes/admin-api/config.test.js +5 -5
  87. package/dist/lib/routes/admin-api/config.test.js.map +1 -1
  88. package/dist/lib/routes/admin-api/context.d.ts +4 -3
  89. package/dist/lib/routes/admin-api/context.js +4 -4
  90. package/dist/lib/routes/admin-api/context.js.map +1 -1
  91. package/dist/lib/routes/admin-api/context.test.js +6 -6
  92. package/dist/lib/routes/admin-api/context.test.js.map +1 -1
  93. package/dist/lib/routes/admin-api/email.test.js +6 -6
  94. package/dist/lib/routes/admin-api/email.test.js.map +1 -1
  95. package/dist/lib/routes/admin-api/environments-controller.d.ts +4 -4
  96. package/dist/lib/routes/admin-api/environments-controller.js +17 -43
  97. package/dist/lib/routes/admin-api/environments-controller.js.map +1 -1
  98. package/dist/lib/routes/admin-api/event.js +7 -1
  99. package/dist/lib/routes/admin-api/event.js.map +1 -1
  100. package/dist/lib/routes/admin-api/events.test.js +5 -5
  101. package/dist/lib/routes/admin-api/events.test.js.map +1 -1
  102. package/dist/lib/routes/admin-api/feature.d.ts +11 -10
  103. package/dist/lib/routes/admin-api/feature.js +26 -24
  104. package/dist/lib/routes/admin-api/feature.js.map +1 -1
  105. package/dist/lib/routes/admin-api/metrics.js +25 -66
  106. package/dist/lib/routes/admin-api/metrics.js.map +1 -1
  107. package/dist/lib/routes/admin-api/metrics.test.js +6 -6
  108. package/dist/lib/routes/admin-api/metrics.test.js.map +1 -1
  109. package/dist/lib/routes/admin-api/project/environments.js +6 -15
  110. package/dist/lib/routes/admin-api/project/environments.js.map +1 -1
  111. package/dist/lib/routes/admin-api/project/features.d.ts +29 -11
  112. package/dist/lib/routes/admin-api/project/features.js +97 -35
  113. package/dist/lib/routes/admin-api/project/features.js.map +1 -1
  114. package/dist/lib/routes/admin-api/project/health-report.js +7 -18
  115. package/dist/lib/routes/admin-api/project/health-report.js.map +1 -1
  116. package/dist/lib/routes/admin-api/project/index.d.ts +3 -0
  117. package/dist/lib/routes/admin-api/project/index.js +8 -0
  118. package/dist/lib/routes/admin-api/project/index.js.map +1 -1
  119. package/dist/lib/routes/admin-api/state.d.ts +2 -1
  120. package/dist/lib/routes/admin-api/state.js +7 -6
  121. package/dist/lib/routes/admin-api/state.js.map +1 -1
  122. package/dist/lib/routes/admin-api/strategy.d.ts +1 -1
  123. package/dist/lib/routes/admin-api/strategy.js +24 -22
  124. package/dist/lib/routes/admin-api/strategy.js.map +1 -1
  125. package/dist/lib/routes/admin-api/strategy.test.js +6 -6
  126. package/dist/lib/routes/admin-api/strategy.test.js.map +1 -1
  127. package/dist/lib/routes/admin-api/tag-type.d.ts +4 -3
  128. package/dist/lib/routes/admin-api/tag-type.js +19 -50
  129. package/dist/lib/routes/admin-api/tag-type.js.map +1 -1
  130. package/dist/lib/routes/admin-api/tag.d.ts +3 -2
  131. package/dist/lib/routes/admin-api/tag.js +3 -4
  132. package/dist/lib/routes/admin-api/tag.js.map +1 -1
  133. package/dist/lib/routes/admin-api/tag.test.js +6 -6
  134. package/dist/lib/routes/admin-api/tag.test.js.map +1 -1
  135. package/dist/lib/routes/admin-api/user-admin.js +11 -37
  136. package/dist/lib/routes/admin-api/user-admin.js.map +1 -1
  137. package/dist/lib/routes/admin-api/user.test.js +5 -5
  138. package/dist/lib/routes/admin-api/user.test.js.map +1 -1
  139. package/dist/lib/routes/api-def.d.ts +49 -52
  140. package/dist/lib/routes/api-def.js +13 -9
  141. package/dist/lib/routes/api-def.js.map +1 -1
  142. package/dist/lib/routes/backstage.test.js +5 -5
  143. package/dist/lib/routes/backstage.test.js.map +1 -1
  144. package/dist/lib/routes/client-api/feature.d.ts +7 -8
  145. package/dist/lib/routes/client-api/feature.js +40 -28
  146. package/dist/lib/routes/client-api/feature.js.map +1 -1
  147. package/dist/lib/routes/client-api/feature.test.js +15 -15
  148. package/dist/lib/routes/client-api/feature.test.js.map +1 -1
  149. package/dist/lib/routes/client-api/metrics.d.ts +3 -2
  150. package/dist/lib/routes/client-api/metrics.js +8 -13
  151. package/dist/lib/routes/client-api/metrics.js.map +1 -1
  152. package/dist/lib/routes/client-api/metrics.test.js +7 -12
  153. package/dist/lib/routes/client-api/metrics.test.js.map +1 -1
  154. package/dist/lib/routes/client-api/register.js +3 -14
  155. package/dist/lib/routes/client-api/register.js.map +1 -1
  156. package/dist/lib/routes/client-api/register.test.js +5 -5
  157. package/dist/lib/routes/client-api/register.test.js.map +1 -1
  158. package/dist/lib/routes/controller.d.ts +1 -0
  159. package/dist/lib/routes/controller.js +4 -1
  160. package/dist/lib/routes/controller.js.map +1 -1
  161. package/dist/lib/routes/health-check.test.js +9 -9
  162. package/dist/lib/routes/health-check.test.js.map +1 -1
  163. package/dist/lib/routes/index.js +5 -5
  164. package/dist/lib/routes/index.js.map +1 -1
  165. package/dist/lib/routes/index.test.js +5 -5
  166. package/dist/lib/routes/index.test.js.map +1 -1
  167. package/dist/lib/routes/logout.test.js +15 -15
  168. package/dist/lib/routes/logout.test.js.map +1 -1
  169. package/dist/lib/routes/unleash-types.d.ts +1 -2
  170. package/dist/lib/routes/util.js +1 -0
  171. package/dist/lib/routes/util.js.map +1 -1
  172. package/dist/lib/schema/api-token-schema.d.ts +2 -0
  173. package/dist/lib/schema/api-token-schema.js +28 -0
  174. package/dist/lib/schema/api-token-schema.js.map +1 -0
  175. package/dist/lib/schema/feature-schema.test.js +17 -16
  176. package/dist/lib/schema/feature-schema.test.js.map +1 -1
  177. package/dist/lib/schema/project-schema.d.ts +2 -0
  178. package/dist/lib/schema/project-schema.js +12 -0
  179. package/dist/lib/schema/project-schema.js.map +1 -0
  180. package/dist/lib/server-impl.d.ts +2 -2
  181. package/dist/lib/server-impl.js +20 -18
  182. package/dist/lib/server-impl.js.map +1 -1
  183. package/dist/lib/server-impl.test.js +28 -21
  184. package/dist/lib/server-impl.test.js.map +1 -1
  185. package/dist/lib/services/access-service.d.ts +1 -1
  186. package/dist/lib/services/access-service.js.map +1 -1
  187. package/dist/lib/services/addon-service.js +2 -2
  188. package/dist/lib/services/addon-service.js.map +1 -1
  189. package/dist/lib/services/addon-service.test.js +1 -1
  190. package/dist/lib/services/addon-service.test.js.map +1 -1
  191. package/dist/lib/services/api-token-service.d.ts +3 -8
  192. package/dist/lib/services/api-token-service.js +43 -8
  193. package/dist/lib/services/api-token-service.js.map +1 -1
  194. package/dist/lib/services/client-metrics/client-metrics-schema.js +1 -0
  195. package/dist/lib/services/client-metrics/client-metrics-schema.js.map +1 -1
  196. package/dist/lib/services/client-metrics/client-metrics.test.js +18 -18
  197. package/dist/lib/services/client-metrics/client-metrics.test.js.map +1 -1
  198. package/dist/lib/services/client-metrics/index.js +5 -3
  199. package/dist/lib/services/client-metrics/index.js.map +1 -1
  200. package/dist/lib/services/context-schema.d.ts +3 -3
  201. package/dist/lib/services/context-schema.js +15 -11
  202. package/dist/lib/services/context-schema.js.map +1 -1
  203. package/dist/lib/services/email-service.js +5 -5
  204. package/dist/lib/services/email-service.js.map +1 -1
  205. package/dist/lib/services/environment-service.d.ts +4 -5
  206. package/dist/lib/services/environment-service.js +14 -14
  207. package/dist/lib/services/environment-service.js.map +1 -1
  208. package/dist/lib/services/event-service.d.ts +1 -0
  209. package/dist/lib/services/event-service.js +4 -3
  210. package/dist/lib/services/event-service.js.map +1 -1
  211. package/dist/lib/services/feature-toggle-service-v2.d.ts +27 -12
  212. package/dist/lib/services/feature-toggle-service-v2.js +157 -55
  213. package/dist/lib/services/feature-toggle-service-v2.js.map +1 -1
  214. package/dist/lib/services/index.js +1 -1
  215. package/dist/lib/services/index.js.map +1 -1
  216. package/dist/lib/services/project-health-service.d.ts +3 -1
  217. package/dist/lib/services/project-health-service.js +7 -3
  218. package/dist/lib/services/project-health-service.js.map +1 -1
  219. package/dist/lib/services/project-schema.d.ts +2 -3
  220. package/dist/lib/services/project-schema.js +12 -7
  221. package/dist/lib/services/project-schema.js.map +1 -1
  222. package/dist/lib/services/project-service.d.ts +4 -2
  223. package/dist/lib/services/project-service.js +21 -11
  224. package/dist/lib/services/project-service.js.map +1 -1
  225. package/dist/lib/services/state-schema.d.ts +2 -0
  226. package/dist/lib/services/state-schema.js +16 -6
  227. package/dist/lib/services/state-schema.js.map +1 -1
  228. package/dist/lib/services/state-service.d.ts +7 -0
  229. package/dist/lib/services/state-service.js +75 -17
  230. package/dist/lib/services/state-service.js.map +1 -1
  231. package/dist/lib/services/state-service.test.js +73 -28
  232. package/dist/lib/services/state-service.test.js.map +1 -1
  233. package/dist/lib/services/state-util.js +1 -1
  234. package/dist/lib/services/state-util.js.map +1 -1
  235. package/dist/lib/services/user-service.js +1 -1
  236. package/dist/lib/services/user-service.js.map +1 -1
  237. package/dist/lib/services/user-service.test.js +1 -1
  238. package/dist/lib/services/user-service.test.js.map +1 -1
  239. package/dist/lib/services/version-service.js +1 -1
  240. package/dist/lib/services/version-service.js.map +1 -1
  241. package/dist/lib/services/version-service.test.js +3 -3
  242. package/dist/lib/services/version-service.test.js.map +1 -1
  243. package/dist/lib/types/api-user.d.ts +11 -4
  244. package/dist/lib/types/api-user.js +4 -1
  245. package/dist/lib/types/api-user.js.map +1 -1
  246. package/dist/lib/types/events.d.ts +7 -0
  247. package/dist/lib/types/events.js +9 -1
  248. package/dist/lib/types/events.js.map +1 -1
  249. package/dist/lib/types/model.d.ts +25 -7
  250. package/dist/lib/types/model.js.map +1 -1
  251. package/dist/lib/types/models/api-token.d.ts +19 -0
  252. package/dist/lib/types/models/api-token.js +10 -0
  253. package/dist/lib/types/models/api-token.js.map +1 -0
  254. package/dist/lib/types/permissions.d.ts +2 -0
  255. package/dist/lib/types/permissions.js +3 -1
  256. package/dist/lib/types/permissions.js.map +1 -1
  257. package/dist/lib/types/stores/api-token-store.d.ts +1 -14
  258. package/dist/lib/types/stores/api-token-store.js +0 -6
  259. package/dist/lib/types/stores/api-token-store.js.map +1 -1
  260. package/dist/lib/types/stores/environment-store.d.ts +6 -6
  261. package/dist/lib/types/stores/event-store.d.ts +1 -0
  262. package/dist/lib/types/stores/feature-environment-store.d.ts +8 -6
  263. package/dist/lib/types/stores/feature-strategies-store.d.ts +6 -12
  264. package/dist/lib/types/stores/feature-toggle-client-store.d.ts +5 -0
  265. package/dist/lib/types/stores/feature-toggle-client-store.js +3 -0
  266. package/dist/lib/types/stores/feature-toggle-client-store.js.map +1 -0
  267. package/dist/lib/types/stores/feature-toggle-store.d.ts +7 -14
  268. package/dist/lib/types/stores/project-store.d.ts +5 -2
  269. package/dist/lib/types/stores.d.ts +2 -0
  270. package/dist/lib/types/user.js +1 -1
  271. package/dist/lib/types/user.js.map +1 -1
  272. package/dist/lib/util/constants.d.ts +1 -0
  273. package/dist/lib/util/constants.js +2 -1
  274. package/dist/lib/util/constants.js.map +1 -1
  275. package/dist/lib/util/extract-user.d.ts +2 -0
  276. package/dist/lib/util/extract-user.js +8 -0
  277. package/dist/lib/util/extract-user.js.map +1 -0
  278. package/dist/lib/util/format-base-uri.test.js +6 -6
  279. package/dist/lib/util/format-base-uri.test.js.map +1 -1
  280. package/dist/lib/util/graceful-shutdown.js +1 -1
  281. package/dist/lib/util/graceful-shutdown.js.map +1 -1
  282. package/dist/lib/util/rewriteHTML.test.js +4 -4
  283. package/dist/lib/util/rewriteHTML.test.js.map +1 -1
  284. package/dist/lib/util/snakeCase.d.ts +6 -0
  285. package/dist/lib/util/snakeCase.js +28 -0
  286. package/dist/lib/util/snakeCase.js.map +1 -0
  287. package/dist/{test/e2e/api/admin/boostrap.test.d.ts → lib/util/snakeCase.test.d.ts} +0 -0
  288. package/dist/lib/util/snakeCase.test.js +23 -0
  289. package/dist/lib/util/snakeCase.test.js.map +1 -0
  290. package/dist/migrations/20210831072631-add-sort-order-and-type-to-env.d.ts +5 -0
  291. package/dist/migrations/20210831072631-add-sort-order-and-type-to-env.js +14 -0
  292. package/dist/migrations/20210831072631-add-sort-order-and-type-to-env.js.map +1 -0
  293. package/dist/migrations/20210907124058-add-dbcritic-indices.d.ts +5 -0
  294. package/dist/migrations/20210907124058-add-dbcritic-indices.js +30 -0
  295. package/dist/migrations/20210907124058-add-dbcritic-indices.js.map +1 -0
  296. package/dist/migrations/20210907124850-add-dbcritic-primary-keys.d.ts +5 -0
  297. package/dist/migrations/20210907124850-add-dbcritic-primary-keys.js +18 -0
  298. package/dist/migrations/20210907124850-add-dbcritic-primary-keys.js.map +1 -0
  299. package/dist/migrations/20210908100701-add-enabled-to-environments.d.ts +5 -0
  300. package/dist/migrations/20210908100701-add-enabled-to-environments.js +14 -0
  301. package/dist/migrations/20210908100701-add-enabled-to-environments.js.map +1 -0
  302. package/dist/migrations/20210909085651-add-protected-field-to-environments.d.ts +5 -0
  303. package/dist/migrations/20210909085651-add-protected-field-to-environments.js +15 -0
  304. package/dist/migrations/20210909085651-add-protected-field-to-environments.js.map +1 -0
  305. package/dist/migrations/20210913103159-api-keys-scoping.d.ts +2 -0
  306. package/dist/migrations/20210913103159-api-keys-scoping.js +13 -0
  307. package/dist/migrations/20210913103159-api-keys-scoping.js.map +1 -0
  308. package/dist/migrations/20210915122001-add-project-and-environment-columns-to-events.d.ts +2 -0
  309. package/dist/migrations/20210915122001-add-project-and-environment-columns-to-events.js +22 -0
  310. package/dist/migrations/20210915122001-add-project-and-environment-columns-to-events.js.map +1 -0
  311. package/dist/migrations/20210920104218-rename-global-env-to-default-env.d.ts +2 -0
  312. package/dist/migrations/20210920104218-rename-global-env-to-default-env.js +25 -0
  313. package/dist/migrations/20210920104218-rename-global-env-to-default-env.js.map +1 -0
  314. package/dist/migrations/20210921105032-client-api-tokens-default.d.ts +2 -0
  315. package/dist/migrations/20210921105032-client-api-tokens-default.js +13 -0
  316. package/dist/migrations/20210921105032-client-api-tokens-default.js.map +1 -0
  317. package/dist/migrations/20210922084509-add-non-null-constraint-to-environment-type.d.ts +2 -0
  318. package/dist/migrations/20210922084509-add-non-null-constraint-to-environment-type.js +10 -0
  319. package/dist/migrations/20210922084509-add-non-null-constraint-to-environment-type.js.map +1 -0
  320. package/dist/migrations/20210922120521-add-tag-type-permission.d.ts +2 -0
  321. package/dist/migrations/20210922120521-add-tag-type-permission.js +19 -0
  322. package/dist/migrations/20210922120521-add-tag-type-permission.js.map +1 -0
  323. package/dist/migrations/20210928065411-remove-displayname-from-environments.d.ts +2 -0
  324. package/dist/migrations/20210928065411-remove-displayname-from-environments.js +10 -0
  325. package/dist/migrations/20210928065411-remove-displayname-from-environments.js.map +1 -0
  326. package/dist/migrations/20210928080601-add-development-and-production-environments.d.ts +2 -0
  327. package/dist/migrations/20210928080601-add-development-and-production-environments.js +16 -0
  328. package/dist/migrations/20210928080601-add-development-and-production-environments.js.map +1 -0
  329. package/dist/migrations/20210928082228-connect-default-environment-to-all-existing-projects.d.ts +2 -0
  330. package/dist/migrations/20210928082228-connect-default-environment-to-all-existing-projects.js +16 -0
  331. package/dist/migrations/20210928082228-connect-default-environment-to-all-existing-projects.js.map +1 -0
  332. package/dist/migrator.d.ts +3 -4
  333. package/dist/migrator.js +19 -5
  334. package/dist/migrator.js.map +1 -1
  335. package/dist/server-dev.js +1 -1
  336. package/dist/server-dev.js.map +1 -1
  337. package/dist/test/config/create-config.test.js +20 -20
  338. package/dist/test/config/create-config.test.js.map +1 -1
  339. package/dist/test/config/test-config.js +1 -1
  340. package/dist/test/config/test-config.js.map +1 -1
  341. package/dist/test/e2e/api/admin/addon.e2e.test.js +2 -2
  342. package/dist/test/e2e/api/admin/addon.e2e.test.js.map +1 -1
  343. package/dist/test/e2e/api/admin/api-token.auth.e2e.test.js +8 -8
  344. package/dist/test/e2e/api/admin/api-token.auth.e2e.test.js.map +1 -1
  345. package/dist/test/e2e/api/admin/api-token.e2e.test.js +161 -12
  346. package/dist/test/e2e/api/admin/api-token.e2e.test.js.map +1 -1
  347. package/dist/test/e2e/api/admin/archive.test.js +2 -2
  348. package/dist/test/e2e/api/admin/archive.test.js.map +1 -1
  349. package/dist/test/e2e/api/admin/bootstrap.test.d.ts +1 -0
  350. package/dist/test/e2e/api/admin/{boostrap.test.js → bootstrap.test.js} +3 -3
  351. package/dist/test/e2e/api/admin/bootstrap.test.js.map +1 -0
  352. package/dist/test/e2e/api/admin/context.e2e.test.js +2 -2
  353. package/dist/test/e2e/api/admin/context.e2e.test.js.map +1 -1
  354. package/dist/test/e2e/api/admin/environment.test.js +82 -55
  355. package/dist/test/e2e/api/admin/environment.test.js.map +1 -1
  356. package/dist/test/e2e/api/admin/event.e2e.test.js +30 -2
  357. package/dist/test/e2e/api/admin/event.e2e.test.js.map +1 -1
  358. package/dist/test/e2e/api/admin/feature-archive.e2e.test.js +2 -2
  359. package/dist/test/e2e/api/admin/feature-archive.e2e.test.js.map +1 -1
  360. package/dist/test/e2e/api/admin/feature-type.test.js +2 -2
  361. package/dist/test/e2e/api/admin/feature-type.test.js.map +1 -1
  362. package/dist/test/e2e/api/admin/feature.auth.e2e.test.js +3 -3
  363. package/dist/test/e2e/api/admin/feature.auth.e2e.test.js.map +1 -1
  364. package/dist/test/e2e/api/admin/feature.custom-auth.e2e.test.js +3 -3
  365. package/dist/test/e2e/api/admin/feature.custom-auth.e2e.test.js.map +1 -1
  366. package/dist/test/e2e/api/admin/feature.e2e.test.js +71 -65
  367. package/dist/test/e2e/api/admin/feature.e2e.test.js.map +1 -1
  368. package/dist/test/e2e/api/admin/feedback.e2e.test.js +2 -2
  369. package/dist/test/e2e/api/admin/feedback.e2e.test.js.map +1 -1
  370. package/dist/test/e2e/api/admin/metrics.e2e.test.js +2 -2
  371. package/dist/test/e2e/api/admin/metrics.e2e.test.js.map +1 -1
  372. package/dist/test/e2e/api/admin/project/environments.e2e.test.d.ts +1 -0
  373. package/dist/test/e2e/api/admin/project/environments.e2e.test.js +65 -0
  374. package/dist/test/e2e/api/admin/project/environments.e2e.test.js.map +1 -0
  375. package/dist/test/e2e/api/admin/project/feature.strategy.e2e.test.js +503 -72
  376. package/dist/test/e2e/api/admin/project/feature.strategy.e2e.test.js.map +1 -1
  377. package/dist/test/e2e/api/admin/project/project.health.e2e.test.js +4 -2
  378. package/dist/test/e2e/api/admin/project/project.health.e2e.test.js.map +1 -1
  379. package/dist/test/e2e/api/admin/project/projects.e2e.test.d.ts +1 -0
  380. package/dist/test/e2e/api/admin/project/projects.e2e.test.js +30 -0
  381. package/dist/test/e2e/api/admin/project/projects.e2e.test.js.map +1 -0
  382. package/dist/test/e2e/api/admin/state.e2e.test.js +163 -2
  383. package/dist/test/e2e/api/admin/state.e2e.test.js.map +1 -1
  384. package/dist/test/e2e/api/admin/strategy.e2e.test.js +2 -2
  385. package/dist/test/e2e/api/admin/strategy.e2e.test.js.map +1 -1
  386. package/dist/test/e2e/api/admin/tag-types.e2e.test.js +2 -2
  387. package/dist/test/e2e/api/admin/tag-types.e2e.test.js.map +1 -1
  388. package/dist/test/e2e/api/admin/tags.e2e.test.js +2 -2
  389. package/dist/test/e2e/api/admin/tags.e2e.test.js.map +1 -1
  390. package/dist/test/e2e/api/admin/user-admin.e2e.test.js +3 -3
  391. package/dist/test/e2e/api/admin/user-admin.e2e.test.js.map +1 -1
  392. package/dist/test/e2e/api/admin/user.test.js +2 -2
  393. package/dist/test/e2e/api/admin/user.test.js.map +1 -1
  394. package/dist/test/e2e/api/auth/reset-password-controller.e2e.test.js +5 -5
  395. package/dist/test/e2e/api/auth/reset-password-controller.e2e.test.js.map +1 -1
  396. package/dist/test/e2e/api/client/feature.e2e.test.js +74 -19
  397. package/dist/test/e2e/api/client/feature.e2e.test.js.map +1 -1
  398. package/dist/test/e2e/api/client/feature.env.disabled.e2e.test.d.ts +1 -0
  399. package/dist/test/e2e/api/client/feature.env.disabled.e2e.test.js +49 -0
  400. package/dist/test/e2e/api/client/feature.env.disabled.e2e.test.js.map +1 -0
  401. package/dist/test/e2e/api/client/feature.token.access.e2e.test.d.ts +1 -0
  402. package/dist/test/e2e/api/client/feature.token.access.e2e.test.js +156 -0
  403. package/dist/test/e2e/api/client/feature.token.access.e2e.test.js.map +1 -0
  404. package/dist/test/e2e/api/client/metrics.e2e.access.e2e.test.d.ts +1 -0
  405. package/dist/test/e2e/api/client/metrics.e2e.access.e2e.test.js +42 -0
  406. package/dist/test/e2e/api/client/metrics.e2e.access.e2e.test.js.map +1 -0
  407. package/dist/test/e2e/api/client/metrics.e2e.test.js +12 -8
  408. package/dist/test/e2e/api/client/metrics.e2e.test.js.map +1 -1
  409. package/dist/test/e2e/api/client/register.e2e.test.js +18 -14
  410. package/dist/test/e2e/api/client/register.e2e.test.js.map +1 -1
  411. package/dist/test/e2e/custom-auth.test.js +3 -3
  412. package/dist/test/e2e/custom-auth.test.js.map +1 -1
  413. package/dist/test/e2e/health.e2e.test.js +2 -2
  414. package/dist/test/e2e/health.e2e.test.js.map +1 -1
  415. package/dist/test/e2e/helpers/database-config.d.ts +1 -1
  416. package/dist/test/e2e/helpers/database-config.js +12 -8
  417. package/dist/test/e2e/helpers/database-config.js.map +1 -1
  418. package/dist/test/e2e/helpers/database-init.d.ts +7 -1
  419. package/dist/test/e2e/helpers/database-init.js +12 -11
  420. package/dist/test/e2e/helpers/database-init.js.map +1 -1
  421. package/dist/test/e2e/helpers/database.json +5 -2
  422. package/dist/test/e2e/helpers/test-helper.js +4 -4
  423. package/dist/test/e2e/helpers/test-helper.js.map +1 -1
  424. package/dist/test/e2e/routes/routes.test.js +2 -2
  425. package/dist/test/e2e/routes/routes.test.js.map +1 -1
  426. package/dist/test/e2e/services/access-service.e2e.test.js +1 -1
  427. package/dist/test/e2e/services/access-service.e2e.test.js.map +1 -1
  428. package/dist/test/e2e/services/addon-service.e2e.test.js +2 -2
  429. package/dist/test/e2e/services/addon-service.e2e.test.js.map +1 -1
  430. package/dist/test/e2e/services/api-token-service.e2e.test.js +30 -17
  431. package/dist/test/e2e/services/api-token-service.e2e.test.js.map +1 -1
  432. package/dist/test/e2e/services/environment-service.test.js +38 -40
  433. package/dist/test/e2e/services/environment-service.test.js.map +1 -1
  434. package/dist/test/e2e/services/feature-toggle-service-v2.e2e.test.js +19 -13
  435. package/dist/test/e2e/services/feature-toggle-service-v2.e2e.test.js.map +1 -1
  436. package/dist/test/e2e/services/project-health-service.e2e.test.js +12 -12
  437. package/dist/test/e2e/services/project-health-service.e2e.test.js.map +1 -1
  438. package/dist/test/e2e/services/project-service.e2e.test.js +27 -4
  439. package/dist/test/e2e/services/project-service.e2e.test.js.map +1 -1
  440. package/dist/test/e2e/services/reset-token-service.e2e.test.js +3 -3
  441. package/dist/test/e2e/services/reset-token-service.e2e.test.js.map +1 -1
  442. package/dist/test/e2e/services/session-service.e2e.test.js +1 -1
  443. package/dist/test/e2e/services/session-service.e2e.test.js.map +1 -1
  444. package/dist/test/e2e/services/setting-service.test.js +2 -2
  445. package/dist/test/e2e/services/setting-service.test.js.map +1 -1
  446. package/dist/test/e2e/services/user-service.e2e.test.js +2 -2
  447. package/dist/test/e2e/services/user-service.e2e.test.js.map +1 -1
  448. package/dist/test/e2e/stores/client-application-store.e2e.test.js +1 -1
  449. package/dist/test/e2e/stores/client-application-store.e2e.test.js.map +1 -1
  450. package/dist/test/e2e/stores/event-store.e2e.test.js +1 -1
  451. package/dist/test/e2e/stores/event-store.e2e.test.js.map +1 -1
  452. package/dist/test/e2e/stores/feature-tag-store.e2e.test.js +4 -4
  453. package/dist/test/e2e/stores/feature-tag-store.e2e.test.js.map +1 -1
  454. package/dist/test/e2e/stores/feature-toggle-store.e2e.test.js +1 -1
  455. package/dist/test/e2e/stores/feature-toggle-store.e2e.test.js.map +1 -1
  456. package/dist/test/e2e/stores/feature-type-store.e2e.test.js +1 -1
  457. package/dist/test/e2e/stores/feature-type-store.e2e.test.js.map +1 -1
  458. package/dist/test/e2e/stores/project-store.e2e.test.js +5 -2
  459. package/dist/test/e2e/stores/project-store.e2e.test.js.map +1 -1
  460. package/dist/test/e2e/stores/setting-store.e2e.test.js +1 -1
  461. package/dist/test/e2e/stores/setting-store.e2e.test.js.map +1 -1
  462. package/dist/test/e2e/stores/user-feedback-store.e2e.test.js +1 -1
  463. package/dist/test/e2e/stores/user-feedback-store.e2e.test.js.map +1 -1
  464. package/dist/test/e2e/stores/user-store.e2e.test.js +1 -1
  465. package/dist/test/e2e/stores/user-store.e2e.test.js.map +1 -1
  466. package/dist/test/fixtures/fake-api-token-store.d.ts +2 -1
  467. package/dist/test/fixtures/fake-api-token-store.js.map +1 -1
  468. package/dist/test/fixtures/fake-environment-store.d.ts +5 -3
  469. package/dist/test/fixtures/fake-environment-store.js +22 -15
  470. package/dist/test/fixtures/fake-environment-store.js.map +1 -1
  471. package/dist/test/fixtures/fake-event-store.d.ts +1 -0
  472. package/dist/test/fixtures/fake-event-store.js +3 -0
  473. package/dist/test/fixtures/fake-event-store.js.map +1 -1
  474. package/dist/test/fixtures/fake-feature-environment-store.d.ts +7 -5
  475. package/dist/test/fixtures/fake-feature-environment-store.js +31 -10
  476. package/dist/test/fixtures/fake-feature-environment-store.js.map +1 -1
  477. package/dist/test/fixtures/fake-feature-strategies-store.d.ts +7 -13
  478. package/dist/test/fixtures/fake-feature-strategies-store.js +14 -51
  479. package/dist/test/fixtures/fake-feature-strategies-store.js.map +1 -1
  480. package/dist/test/fixtures/fake-feature-toggle-client-store.d.ts +9 -0
  481. package/dist/test/fixtures/fake-feature-toggle-client-store.js +50 -0
  482. package/dist/test/fixtures/fake-feature-toggle-client-store.js.map +1 -0
  483. package/dist/test/fixtures/fake-feature-toggle-store.d.ts +7 -9
  484. package/dist/test/fixtures/fake-feature-toggle-store.js +7 -14
  485. package/dist/test/fixtures/fake-feature-toggle-store.js.map +1 -1
  486. package/dist/test/fixtures/fake-project-store.d.ts +1 -2
  487. package/dist/test/fixtures/fake-project-store.js +0 -7
  488. package/dist/test/fixtures/fake-project-store.js.map +1 -1
  489. package/dist/test/fixtures/permissions.d.ts +3 -3
  490. package/dist/test/fixtures/permissions.js +5 -4
  491. package/dist/test/fixtures/permissions.js.map +1 -1
  492. package/dist/test/fixtures/store.js +2 -0
  493. package/dist/test/fixtures/store.js.map +1 -1
  494. package/package.json +51 -45
  495. package/dist/lib/extract-user.d.ts +0 -2
  496. package/dist/lib/extract-user.js +0 -6
  497. package/dist/lib/extract-user.js.map +0 -1
  498. package/dist/test/e2e/api/admin/boostrap.test.js.map +0 -1
  499. package/docs/api/oas/swagger-ui-bundle.js +0 -3
  500. package/docs/api/oas/swagger-ui-bundle.js.map +0 -1
  501. package/docs/api/oas/swagger-ui-es-bundle-core.js +0 -3
  502. package/docs/api/oas/swagger-ui-es-bundle-core.js.map +0 -1
  503. package/docs/api/oas/swagger-ui-es-bundle.js +0 -3
  504. package/docs/api/oas/swagger-ui-es-bundle.js.map +0 -1
  505. package/docs/api/oas/swagger-ui-standalone-preset.js +0 -3
  506. package/docs/api/oas/swagger-ui-standalone-preset.js.map +0 -1
  507. package/docs/api/oas/swagger-ui.css +0 -8906
  508. package/docs/api/oas/swagger-ui.css.map +0 -1
  509. package/docs/api/oas/swagger-ui.js +0 -3
  510. package/docs/api/oas/swagger-ui.js.map +0 -1
  511. package/docs/api/oas/swagger.json +0 -1479
@@ -12,15 +12,15 @@ const services_1 = require("../services");
12
12
  const eventBus = new events_1.EventEmitter();
13
13
  function getSetup() {
14
14
  const base = `/random${Math.round(Math.random() * 1000)}`;
15
- const stores = store_1.default();
16
- const config = test_config_1.createTestConfig({
15
+ const stores = (0, store_1.default)();
16
+ const config = (0, test_config_1.createTestConfig)({
17
17
  server: { baseUriPath: base },
18
18
  });
19
- const services = services_1.createServices(stores, config);
20
- const app = app_1.default(config, stores, services, eventBus);
19
+ const services = (0, services_1.createServices)(stores, config);
20
+ const app = (0, app_1.default)(config, stores, services, eventBus);
21
21
  return {
22
22
  base,
23
- request: supertest_1.default(app),
23
+ request: (0, supertest_1.default)(app),
24
24
  destroy: () => {
25
25
  services.versionService.destroy();
26
26
  services.clientMetricsService.destroy();
@@ -1 +1 @@
1
- {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../../src/lib/routes/index.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../../src/lib/routes/index.test.ts"],"names":[],"mappings":"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"}
@@ -9,10 +9,10 @@ const test_config_1 = require("../../test/config/test-config");
9
9
  const logout_1 = __importDefault(require("./logout"));
10
10
  test('should redirect to "/" after logout', async () => {
11
11
  const baseUriPath = '';
12
- const app = express_1.default();
13
- const config = test_config_1.createTestConfig({ server: { baseUriPath } });
12
+ const app = (0, express_1.default)();
13
+ const config = (0, test_config_1.createTestConfig)({ server: { baseUriPath } });
14
14
  app.use('/logout', new logout_1.default(config).router);
15
- const request = supertest_1.default(app);
15
+ const request = (0, supertest_1.default)(app);
16
16
  expect.assertions(0);
17
17
  await request
18
18
  .get(`${baseUriPath}/logout`)
@@ -21,10 +21,10 @@ test('should redirect to "/" after logout', async () => {
21
21
  });
22
22
  test('should redirect to "/basePath" after logout when baseUriPath is set', async () => {
23
23
  const baseUriPath = '/basePath';
24
- const app = express_1.default();
25
- const config = test_config_1.createTestConfig({ server: { baseUriPath } });
24
+ const app = (0, express_1.default)();
25
+ const config = (0, test_config_1.createTestConfig)({ server: { baseUriPath } });
26
26
  app.use('/logout', new logout_1.default(config).router);
27
- const request = supertest_1.default(app);
27
+ const request = (0, supertest_1.default)(app);
28
28
  expect.assertions(0);
29
29
  await request
30
30
  .get('/logout')
@@ -33,10 +33,10 @@ test('should redirect to "/basePath" after logout when baseUriPath is set', asyn
33
33
  });
34
34
  test('should set "Clear-Site-Data" header', async () => {
35
35
  const baseUriPath = '';
36
- const app = express_1.default();
37
- const config = test_config_1.createTestConfig({ server: { baseUriPath } });
36
+ const app = (0, express_1.default)();
37
+ const config = (0, test_config_1.createTestConfig)({ server: { baseUriPath } });
38
38
  app.use('/logout', new logout_1.default(config).router);
39
- const request = supertest_1.default(app);
39
+ const request = (0, supertest_1.default)(app);
40
40
  expect.assertions(0);
41
41
  await request
42
42
  .get(`${baseUriPath}/logout`)
@@ -48,14 +48,14 @@ test('should call destroy on session', async () => {
48
48
  const fakeSession = {
49
49
  destroy: jest.fn(),
50
50
  };
51
- const app = express_1.default();
52
- const config = test_config_1.createTestConfig({ server: { baseUriPath } });
51
+ const app = (0, express_1.default)();
52
+ const config = (0, test_config_1.createTestConfig)({ server: { baseUriPath } });
53
53
  app.use((req, res, next) => {
54
54
  req.session = fakeSession;
55
55
  next();
56
56
  });
57
57
  app.use('/logout', new logout_1.default(config).router);
58
- const request = supertest_1.default(app);
58
+ const request = (0, supertest_1.default)(app);
59
59
  await request.get(`${baseUriPath}/logout`);
60
60
  expect(fakeSession.destroy.mock.calls.length).toBe(1);
61
61
  });
@@ -64,14 +64,14 @@ test('should redirect to alternative logoutUrl', async () => {
64
64
  destroy: jest.fn(),
65
65
  logoutUrl: '/some-other-path',
66
66
  };
67
- const app = express_1.default();
68
- const config = test_config_1.createTestConfig();
67
+ const app = (0, express_1.default)();
68
+ const config = (0, test_config_1.createTestConfig)();
69
69
  app.use((req, res, next) => {
70
70
  req.session = fakeSession;
71
71
  next();
72
72
  });
73
73
  app.use('/logout', new logout_1.default(config).router);
74
- const request = supertest_1.default(app);
74
+ const request = (0, supertest_1.default)(app);
75
75
  await request
76
76
  .get('/logout')
77
77
  .expect(302)
@@ -1 +1 @@
1
- {"version":3,"file":"logout.test.js","sourceRoot":"","sources":["../../../src/lib/routes/logout.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logout.test.js","sourceRoot":"","sources":["../../../src/lib/routes/logout.test.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,6 @@
1
1
  import { Request } from 'express';
2
- import * as core from 'express-serve-static-core';
3
2
  import User from '../types/user';
4
- export interface IAuthRequest<PARAM = core.ParamsDictionary, ResBody = any, ReqBody = any, ReqQuery = core.Query> extends Request<PARAM, ResBody, ReqBody, ReqQuery> {
3
+ export interface IAuthRequest<PARAM = any, ResBody = any, ReqBody = any, ReqQuery = any> extends Request<PARAM, ResBody, ReqBody, ReqQuery> {
5
4
  user: User;
6
5
  logout: () => void;
7
6
  session: any;
@@ -32,6 +32,7 @@ const handleErrors = (res, logger, error) => {
32
32
  case 'NotFoundError':
33
33
  return res.status(404).json(error).end();
34
34
  case 'InvalidOperationError':
35
+ return res.status(403).json(error).end();
35
36
  case 'NameExistsError':
36
37
  return res.status(409).json(error).end();
37
38
  case 'ValidationError':
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../../../src/lib/routes/util.ts"],"names":[],"mappings":";;;;;;AAAA,8CAAsB;AAIT,QAAA,SAAS,GAAG,aAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACxC,IAAI,EAAE,eAAe;IACrB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,QAAQ,EAAE;QACN,oBAAoB,EAAE,iCAAiC;KAC1D;IACD,QAAQ,CAAC,KAAK,EAAE,OAAO;QACnB,kDAAkD;QAClD,IAAI,kBAAkB,CAAC,KAAK,CAAC,KAAK,KAAK,EAAE;YACrC,yDAAyD;YACzD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,EAAE,CAAC;SACjE;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;CACJ,CAAC,CAAC,CAAC;AAES,QAAA,QAAQ,GAAG,iBAAS,CAAC,aAAa,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;AAEtE,MAAM,YAAY,GAIb,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE;IAC/B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC3B,aAAa;IACb,6CAA6C;IAC7C,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;IACnB,QAAQ,KAAK,CAAC,IAAI,EAAE;QAChB,KAAK,eAAe;YAChB,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC;QAC7C,KAAK,eAAe;YAChB,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC;QAC7C,KAAK,uBAAuB,CAAC;QAC7B,KAAK,iBAAiB;YAClB,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC;QAC7C,KAAK,iBAAiB;YAClB,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC;QAC7C,KAAK,cAAc;YACf,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC;QAC7C,KAAK,oBAAoB;YACrB,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC;QAC7C,KAAK,gBAAgB;YACjB,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC;QAC7C,KAAK,mBAAmB;YACpB,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC;QAC7C,KAAK,sBAAsB;YACvB,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC;QAC7C,KAAK,wBAAwB;YACzB,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC;QAC7C;YACI,MAAM,CAAC,KAAK,CAAC,iCAAiC,EAAE,KAAK,CAAC,CAAC;YACvD,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;KACpC;AACL,CAAC,CAAC;AAnCW,QAAA,YAAY,gBAmCvB"}
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../../../src/lib/routes/util.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import joi from 'joi';
2
+ export declare const createApiToken: joi.ObjectSchema<any>;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.createApiToken = void 0;
7
+ const joi_1 = __importDefault(require("joi"));
8
+ const api_token_1 = require("../types/models/api-token");
9
+ const constants_1 = require("../util/constants");
10
+ exports.createApiToken = joi_1.default
11
+ .object()
12
+ .keys({
13
+ username: joi_1.default.string().required(),
14
+ type: joi_1.default
15
+ .string()
16
+ .lowercase()
17
+ .required()
18
+ .valid(api_token_1.ApiTokenType.ADMIN, api_token_1.ApiTokenType.CLIENT),
19
+ expiresAt: joi_1.default.date().optional(),
20
+ project: joi_1.default.string().optional().default(api_token_1.ALL),
21
+ environment: joi_1.default.when('type', {
22
+ is: joi_1.default.string().valid(api_token_1.ApiTokenType.CLIENT),
23
+ then: joi_1.default.string().optional().default(constants_1.DEFAULT_ENV),
24
+ otherwise: joi_1.default.string().optional().default(api_token_1.ALL),
25
+ }),
26
+ })
27
+ .options({ stripUnknown: true, allowUnknown: false, abortEarly: false });
28
+ //# sourceMappingURL=api-token-schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-token-schema.js","sourceRoot":"","sources":["../../../src/lib/schema/api-token-schema.ts"],"names":[],"mappings":";;;;;;AAAA,8CAAsB;AACtB,yDAA8D;AAC9D,iDAAgD;AAEnC,QAAA,cAAc,GAAG,aAAG;KAC5B,MAAM,EAAE;KACR,IAAI,CAAC;IACF,QAAQ,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,IAAI,EAAE,aAAG;SACJ,MAAM,EAAE;SACR,SAAS,EAAE;SACX,QAAQ,EAAE;SACV,KAAK,CAAC,wBAAY,CAAC,KAAK,EAAE,wBAAY,CAAC,MAAM,CAAC;IACnD,SAAS,EAAE,aAAG,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;IAChC,OAAO,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,eAAG,CAAC;IAC7C,WAAW,EAAE,aAAG,CAAC,IAAI,CAAC,MAAM,EAAE;QAC1B,EAAE,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,wBAAY,CAAC,MAAM,CAAC;QAC3C,IAAI,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,uBAAW,CAAC;QAClD,SAAS,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,eAAG,CAAC;KAClD,CAAC;CACL,CAAC;KACD,OAAO,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC"}
@@ -1,12 +1,13 @@
1
- 'use strict';
2
- const { featureSchema, querySchema } = require('./feature-schema');
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const feature_schema_1 = require("./feature-schema");
3
4
  test('should require URL firendly name', () => {
4
5
  const toggle = {
5
6
  name: 'io`dasd',
6
7
  enabled: false,
7
8
  strategies: [{ name: 'default' }],
8
9
  };
9
- const { error } = featureSchema.validate(toggle);
10
+ const { error } = feature_schema_1.featureSchema.validate(toggle);
10
11
  expect(error.details[0].message).toEqual('"name" must be URL friendly');
11
12
  });
12
13
  test('should be valid toggle name', () => {
@@ -15,7 +16,7 @@ test('should be valid toggle name', () => {
15
16
  enabled: false,
16
17
  strategies: [{ name: 'default' }],
17
18
  };
18
- const { value } = featureSchema.validate(toggle);
19
+ const { value } = feature_schema_1.featureSchema.validate(toggle);
19
20
  expect(value.name).toBe(toggle.name);
20
21
  });
21
22
  test('should strip extra variant fields', () => {
@@ -33,7 +34,7 @@ test('should strip extra variant fields', () => {
33
34
  },
34
35
  ],
35
36
  };
36
- const { value } = featureSchema.validate(toggle);
37
+ const { value } = feature_schema_1.featureSchema.validate(toggle);
37
38
  expect(value).not.toEqual(toggle);
38
39
  expect(value.variants[0].unkown).toBeFalsy();
39
40
  });
@@ -55,7 +56,7 @@ test('should allow weightType=fix', () => {
55
56
  },
56
57
  ],
57
58
  };
58
- const { value } = featureSchema.validate(toggle);
59
+ const { value } = feature_schema_1.featureSchema.validate(toggle);
59
60
  expect(value).toEqual(toggle);
60
61
  });
61
62
  test('should disallow weightType=unknown', () => {
@@ -74,7 +75,7 @@ test('should disallow weightType=unknown', () => {
74
75
  },
75
76
  ],
76
77
  };
77
- const { error } = featureSchema.validate(toggle);
78
+ const { error } = feature_schema_1.featureSchema.validate(toggle);
78
79
  expect(error.details[0].message).toEqual('"variants[0].weightType" must be one of [variable, fix]');
79
80
  });
80
81
  test('should be possible to define variant overrides', () => {
@@ -101,7 +102,7 @@ test('should be possible to define variant overrides', () => {
101
102
  },
102
103
  ],
103
104
  };
104
- const { value, error } = featureSchema.validate(toggle);
105
+ const { value, error } = feature_schema_1.featureSchema.validate(toggle);
105
106
  expect(value).toEqual(toggle);
106
107
  expect(error).toBeFalsy();
107
108
  });
@@ -125,7 +126,7 @@ test('variant overrides must have corect shape', async () => {
125
126
  ],
126
127
  };
127
128
  try {
128
- await featureSchema.validateAsync(toggle);
129
+ await feature_schema_1.featureSchema.validateAsync(toggle);
129
130
  }
130
131
  catch (error) {
131
132
  expect(error.details[0].message).toBe('"variants[0].overrides" must be an array');
@@ -152,7 +153,7 @@ test('should keep constraints', () => {
152
153
  },
153
154
  ],
154
155
  };
155
- const { value, error } = featureSchema.validate(toggle);
156
+ const { value, error } = feature_schema_1.featureSchema.validate(toggle);
156
157
  expect(value).toEqual(toggle);
157
158
  expect(error).toBeFalsy();
158
159
  });
@@ -175,7 +176,7 @@ test('should not accept empty constraint values', () => {
175
176
  },
176
177
  ],
177
178
  };
178
- const { error } = featureSchema.validate(toggle);
179
+ const { error } = feature_schema_1.featureSchema.validate(toggle);
179
180
  expect(error.details[0].message).toEqual('"strategies[0].constraints[0].values[0]" is not allowed to be empty');
180
181
  });
181
182
  test('should not accept empty list of constraint values', () => {
@@ -197,35 +198,35 @@ test('should not accept empty list of constraint values', () => {
197
198
  },
198
199
  ],
199
200
  };
200
- const { error } = featureSchema.validate(toggle);
201
+ const { error } = feature_schema_1.featureSchema.validate(toggle);
201
202
  expect(error.details[0].message).toEqual('"strategies[0].constraints[0].values" must contain at least 1 items');
202
203
  });
203
204
  test('Filter queries should accept a list of tag values', () => {
204
205
  const query = {
205
206
  tag: ['simple:valuea', 'simple:valueb'],
206
207
  };
207
- const { value } = querySchema.validate(query);
208
+ const { value } = feature_schema_1.querySchema.validate(query);
208
209
  expect(value).toEqual({ tag: ['simple:valuea', 'simple:valueb'] });
209
210
  });
210
211
  test('Filter queries should reject tag values with missing type prefix', () => {
211
212
  const query = {
212
213
  tag: ['simple', 'simple'],
213
214
  };
214
- const { error } = querySchema.validate(query);
215
+ const { error } = feature_schema_1.querySchema.validate(query);
215
216
  expect(error.details[0].message).toEqual('"tag[0]" with value "simple" fails to match the tag pattern');
216
217
  });
217
218
  test('Filter queries should allow project names', () => {
218
219
  const query = {
219
220
  project: ['projecta'],
220
221
  };
221
- const { value } = querySchema.validate(query);
222
+ const { value } = feature_schema_1.querySchema.validate(query);
222
223
  expect(value).toEqual({ project: ['projecta'] });
223
224
  });
224
225
  test('Filter queries should reject project names that are not alphanum', () => {
225
226
  const query = {
226
227
  project: ['project name with space'],
227
228
  };
228
- const { error } = querySchema.validate(query);
229
+ const { error } = feature_schema_1.querySchema.validate(query);
229
230
  expect(error.details[0].message).toEqual('"project[0]" must be URL friendly');
230
231
  });
231
232
  //# sourceMappingURL=feature-schema.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"feature-schema.test.js","sourceRoot":"","sources":["../../../src/lib/schema/feature-schema.test.js"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;AAEnE,IAAI,CAAC,kCAAkC,EAAE,GAAG,EAAE;IAC1C,MAAM,MAAM,GAAG;QACX,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,KAAK;QACd,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;KACpC,CAAC;IAEF,MAAM,EAAE,KAAK,EAAE,GAAG,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACjD,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAC;AAC5E,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,6BAA6B,EAAE,GAAG,EAAE;IACrC,MAAM,MAAM,GAAG;QACX,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,KAAK;QACd,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;KACpC,CAAC;IAEF,MAAM,EAAE,KAAK,EAAE,GAAG,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACjD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACzC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,mCAAmC,EAAE,GAAG,EAAE;IAC3C,MAAM,MAAM,GAAG;QACX,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,KAAK;QACd,KAAK,EAAE,KAAK;QACZ,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACjC,QAAQ,EAAE;YACN;gBACI,IAAI,EAAE,WAAW;gBACjB,MAAM,EAAE,CAAC;gBACT,MAAM,EAAE,aAAa;aACxB;SACJ;KACJ,CAAC;IAEF,MAAM,EAAE,KAAK,EAAE,GAAG,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACjD,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAClC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,CAAC;AACjD,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,6BAA6B,EAAE,GAAG,EAAE;IACrC,MAAM,MAAM,GAAG;QACX,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,SAAS;QAClB,OAAO,EAAE,KAAK;QACd,KAAK,EAAE,KAAK;QACZ,QAAQ,EAAE,KAAK;QACf,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACjC,QAAQ,EAAE;YACN;gBACI,IAAI,EAAE,WAAW;gBACjB,MAAM,EAAE,CAAC;gBACT,UAAU,EAAE,KAAK;gBACjB,UAAU,EAAE,SAAS;aACxB;SACJ;KACJ,CAAC;IAEF,MAAM,EAAE,KAAK,EAAE,GAAG,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACjD,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,oCAAoC,EAAE,GAAG,EAAE;IAC5C,MAAM,MAAM,GAAG;QACX,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,KAAK;QACd,KAAK,EAAE,KAAK;QACZ,QAAQ,EAAE,KAAK;QACf,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACjC,QAAQ,EAAE;YACN;gBACI,IAAI,EAAE,WAAW;gBACjB,MAAM,EAAE,CAAC;gBACT,UAAU,EAAE,SAAS;aACxB;SACJ;KACJ,CAAC;IAEF,MAAM,EAAE,KAAK,EAAE,GAAG,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACjD,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CACpC,yDAAyD,CAC5D,CAAC;AACN,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,gDAAgD,EAAE,GAAG,EAAE;IACxD,MAAM,MAAM,GAAG;QACX,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,MAAM;QACf,OAAO,EAAE,KAAK;QACd,KAAK,EAAE,KAAK;QACZ,QAAQ,EAAE,KAAK;QACf,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACjC,QAAQ,EAAE;YACN;gBACI,IAAI,EAAE,WAAW;gBACjB,MAAM,EAAE,CAAC;gBACT,UAAU,EAAE,UAAU;gBACtB,UAAU,EAAE,SAAS;gBACrB,SAAS,EAAE;oBACP;wBACI,WAAW,EAAE,QAAQ;wBACrB,MAAM,EAAE,CAAC,KAAK,CAAC;qBAClB;iBACJ;aACJ;SACJ;KACJ,CAAC;IAEF,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACxD,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9B,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,EAAE,CAAC;AAC9B,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;IACxD,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IACrB,MAAM,MAAM,GAAG;QACX,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,KAAK;QACd,KAAK,EAAE,KAAK;QACZ,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACjC,QAAQ,EAAE;YACN;gBACI,IAAI,EAAE,WAAW;gBACjB,MAAM,EAAE,CAAC;gBACT,SAAS,EAAE;oBACP,MAAM,EAAE,CAAC,YAAY,CAAC;oBACtB,SAAS,EAAE,CAAC,YAAY,CAAC;iBAC5B;aACJ;SACJ;KACJ,CAAC;IAEF,IAAI;QACA,MAAM,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;KAC7C;IAAC,OAAO,KAAK,EAAE;QACZ,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CACjC,0CAA0C,CAC7C,CAAC;KACL;AACL,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,yBAAyB,EAAE,GAAG,EAAE;IACjC,MAAM,MAAM,GAAG;QACX,IAAI,EAAE,iBAAiB;QACvB,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,SAAS;QAClB,OAAO,EAAE,KAAK;QACd,KAAK,EAAE,KAAK;QACZ,QAAQ,EAAE,KAAK;QACf,UAAU,EAAE;YACR;gBACI,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE;oBACT;wBACI,WAAW,EAAE,aAAa;wBAC1B,QAAQ,EAAE,IAAI;wBACd,MAAM,EAAE,CAAC,KAAK,CAAC;qBAClB;iBACJ;aACJ;SACJ;KACJ,CAAC;IAEF,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACxD,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9B,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,EAAE,CAAC;AAC9B,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,2CAA2C,EAAE,GAAG,EAAE;IACnD,MAAM,MAAM,GAAG;QACX,IAAI,EAAE,6BAA6B;QACnC,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,KAAK;QACd,KAAK,EAAE,KAAK;QACZ,UAAU,EAAE;YACR;gBACI,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE;oBACT;wBACI,WAAW,EAAE,aAAa;wBAC1B,QAAQ,EAAE,IAAI;wBACd,MAAM,EAAE,CAAC,EAAE,CAAC;qBACf;iBACJ;aACJ;SACJ;KACJ,CAAC;IAEF,MAAM,EAAE,KAAK,EAAE,GAAG,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACjD,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CACpC,qEAAqE,CACxE,CAAC;AACN,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,mDAAmD,EAAE,GAAG,EAAE;IAC3D,MAAM,MAAM,GAAG;QACX,IAAI,EAAE,kCAAkC;QACxC,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,KAAK;QACd,KAAK,EAAE,KAAK;QACZ,UAAU,EAAE;YACR;gBACI,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE;oBACT;wBACI,WAAW,EAAE,aAAa;wBAC1B,QAAQ,EAAE,IAAI;wBACd,MAAM,EAAE,EAAE;qBACb;iBACJ;aACJ;SACJ;KACJ,CAAC;IAEF,MAAM,EAAE,KAAK,EAAE,GAAG,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACjD,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CACpC,qEAAqE,CACxE,CAAC;AACN,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,mDAAmD,EAAE,GAAG,EAAE;IAC3D,MAAM,KAAK,GAAG;QACV,GAAG,EAAE,CAAC,eAAe,EAAE,eAAe,CAAC;KAC1C,CAAC;IACF,MAAM,EAAE,KAAK,EAAE,GAAG,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC,eAAe,EAAE,eAAe,CAAC,EAAE,CAAC,CAAC;AACvE,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,kEAAkE,EAAE,GAAG,EAAE;IAC1E,MAAM,KAAK,GAAG;QACV,GAAG,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;KAC5B,CAAC;IACF,MAAM,EAAE,KAAK,EAAE,GAAG,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CACpC,6DAA6D,CAChE,CAAC;AACN,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,2CAA2C,EAAE,GAAG,EAAE;IACnD,MAAM,KAAK,GAAG;QACV,OAAO,EAAE,CAAC,UAAU,CAAC;KACxB,CAAC;IACF,MAAM,EAAE,KAAK,EAAE,GAAG,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;AACrD,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,kEAAkE,EAAE,GAAG,EAAE;IAC1E,MAAM,KAAK,GAAG;QACV,OAAO,EAAE,CAAC,yBAAyB,CAAC;KACvC,CAAC;IACF,MAAM,EAAE,KAAK,EAAE,GAAG,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CACpC,mCAAmC,CACtC,CAAC;AACN,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"feature-schema.test.js","sourceRoot":"","sources":["../../../src/lib/schema/feature-schema.test.ts"],"names":[],"mappings":";;AAAA,qDAA8D;AAE9D,IAAI,CAAC,kCAAkC,EAAE,GAAG,EAAE;IAC1C,MAAM,MAAM,GAAG;QACX,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,KAAK;QACd,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;KACpC,CAAC;IAEF,MAAM,EAAE,KAAK,EAAE,GAAG,8BAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACjD,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAC;AAC5E,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,6BAA6B,EAAE,GAAG,EAAE;IACrC,MAAM,MAAM,GAAG;QACX,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,KAAK;QACd,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;KACpC,CAAC;IAEF,MAAM,EAAE,KAAK,EAAE,GAAG,8BAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACjD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACzC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,mCAAmC,EAAE,GAAG,EAAE;IAC3C,MAAM,MAAM,GAAG;QACX,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,KAAK;QACd,KAAK,EAAE,KAAK;QACZ,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACjC,QAAQ,EAAE;YACN;gBACI,IAAI,EAAE,WAAW;gBACjB,MAAM,EAAE,CAAC;gBACT,MAAM,EAAE,aAAa;aACxB;SACJ;KACJ,CAAC;IAEF,MAAM,EAAE,KAAK,EAAE,GAAG,8BAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACjD,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAClC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,CAAC;AACjD,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,6BAA6B,EAAE,GAAG,EAAE;IACrC,MAAM,MAAM,GAAG;QACX,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,SAAS;QAClB,OAAO,EAAE,KAAK;QACd,KAAK,EAAE,KAAK;QACZ,QAAQ,EAAE,KAAK;QACf,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACjC,QAAQ,EAAE;YACN;gBACI,IAAI,EAAE,WAAW;gBACjB,MAAM,EAAE,CAAC;gBACT,UAAU,EAAE,KAAK;gBACjB,UAAU,EAAE,SAAS;aACxB;SACJ;KACJ,CAAC;IAEF,MAAM,EAAE,KAAK,EAAE,GAAG,8BAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACjD,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,oCAAoC,EAAE,GAAG,EAAE;IAC5C,MAAM,MAAM,GAAG;QACX,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,KAAK;QACd,KAAK,EAAE,KAAK;QACZ,QAAQ,EAAE,KAAK;QACf,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACjC,QAAQ,EAAE;YACN;gBACI,IAAI,EAAE,WAAW;gBACjB,MAAM,EAAE,CAAC;gBACT,UAAU,EAAE,SAAS;aACxB;SACJ;KACJ,CAAC;IAEF,MAAM,EAAE,KAAK,EAAE,GAAG,8BAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACjD,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CACpC,yDAAyD,CAC5D,CAAC;AACN,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,gDAAgD,EAAE,GAAG,EAAE;IACxD,MAAM,MAAM,GAAG;QACX,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,MAAM;QACf,OAAO,EAAE,KAAK;QACd,KAAK,EAAE,KAAK;QACZ,QAAQ,EAAE,KAAK;QACf,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACjC,QAAQ,EAAE;YACN;gBACI,IAAI,EAAE,WAAW;gBACjB,MAAM,EAAE,CAAC;gBACT,UAAU,EAAE,UAAU;gBACtB,UAAU,EAAE,SAAS;gBACrB,SAAS,EAAE;oBACP;wBACI,WAAW,EAAE,QAAQ;wBACrB,MAAM,EAAE,CAAC,KAAK,CAAC;qBAClB;iBACJ;aACJ;SACJ;KACJ,CAAC;IAEF,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,8BAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACxD,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9B,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,EAAE,CAAC;AAC9B,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;IACxD,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IACrB,MAAM,MAAM,GAAG;QACX,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,KAAK;QACd,KAAK,EAAE,KAAK;QACZ,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACjC,QAAQ,EAAE;YACN;gBACI,IAAI,EAAE,WAAW;gBACjB,MAAM,EAAE,CAAC;gBACT,SAAS,EAAE;oBACP,MAAM,EAAE,CAAC,YAAY,CAAC;oBACtB,SAAS,EAAE,CAAC,YAAY,CAAC;iBAC5B;aACJ;SACJ;KACJ,CAAC;IAEF,IAAI;QACA,MAAM,8BAAa,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;KAC7C;IAAC,OAAO,KAAK,EAAE;QACZ,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CACjC,0CAA0C,CAC7C,CAAC;KACL;AACL,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,yBAAyB,EAAE,GAAG,EAAE;IACjC,MAAM,MAAM,GAAG;QACX,IAAI,EAAE,iBAAiB;QACvB,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,SAAS;QAClB,OAAO,EAAE,KAAK;QACd,KAAK,EAAE,KAAK;QACZ,QAAQ,EAAE,KAAK;QACf,UAAU,EAAE;YACR;gBACI,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE;oBACT;wBACI,WAAW,EAAE,aAAa;wBAC1B,QAAQ,EAAE,IAAI;wBACd,MAAM,EAAE,CAAC,KAAK,CAAC;qBAClB;iBACJ;aACJ;SACJ;KACJ,CAAC;IAEF,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,8BAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACxD,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9B,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,EAAE,CAAC;AAC9B,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,2CAA2C,EAAE,GAAG,EAAE;IACnD,MAAM,MAAM,GAAG;QACX,IAAI,EAAE,6BAA6B;QACnC,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,KAAK;QACd,KAAK,EAAE,KAAK;QACZ,UAAU,EAAE;YACR;gBACI,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE;oBACT;wBACI,WAAW,EAAE,aAAa;wBAC1B,QAAQ,EAAE,IAAI;wBACd,MAAM,EAAE,CAAC,EAAE,CAAC;qBACf;iBACJ;aACJ;SACJ;KACJ,CAAC;IAEF,MAAM,EAAE,KAAK,EAAE,GAAG,8BAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACjD,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CACpC,qEAAqE,CACxE,CAAC;AACN,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,mDAAmD,EAAE,GAAG,EAAE;IAC3D,MAAM,MAAM,GAAG;QACX,IAAI,EAAE,kCAAkC;QACxC,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,KAAK;QACd,KAAK,EAAE,KAAK;QACZ,UAAU,EAAE;YACR;gBACI,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE;oBACT;wBACI,WAAW,EAAE,aAAa;wBAC1B,QAAQ,EAAE,IAAI;wBACd,MAAM,EAAE,EAAE;qBACb;iBACJ;aACJ;SACJ;KACJ,CAAC;IAEF,MAAM,EAAE,KAAK,EAAE,GAAG,8BAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACjD,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CACpC,qEAAqE,CACxE,CAAC;AACN,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,mDAAmD,EAAE,GAAG,EAAE;IAC3D,MAAM,KAAK,GAAG;QACV,GAAG,EAAE,CAAC,eAAe,EAAE,eAAe,CAAC;KAC1C,CAAC;IACF,MAAM,EAAE,KAAK,EAAE,GAAG,4BAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC,eAAe,EAAE,eAAe,CAAC,EAAE,CAAC,CAAC;AACvE,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,kEAAkE,EAAE,GAAG,EAAE;IAC1E,MAAM,KAAK,GAAG;QACV,GAAG,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;KAC5B,CAAC;IACF,MAAM,EAAE,KAAK,EAAE,GAAG,4BAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CACpC,6DAA6D,CAChE,CAAC;AACN,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,2CAA2C,EAAE,GAAG,EAAE;IACnD,MAAM,KAAK,GAAG;QACV,OAAO,EAAE,CAAC,UAAU,CAAC;KACxB,CAAC;IACF,MAAM,EAAE,KAAK,EAAE,GAAG,4BAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;AACrD,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,kEAAkE,EAAE,GAAG,EAAE;IAC1E,MAAM,KAAK,GAAG;QACV,OAAO,EAAE,CAAC,yBAAyB,CAAC;KACvC,CAAC;IACF,MAAM,EAAE,KAAK,EAAE,GAAG,4BAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CACpC,mCAAmC,CACtC,CAAC;AACN,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ import joi from 'joi';
2
+ export declare const addEnvironment: joi.ObjectSchema<any>;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.addEnvironment = void 0;
7
+ const joi_1 = __importDefault(require("joi"));
8
+ exports.addEnvironment = joi_1.default
9
+ .object()
10
+ .keys({ environment: joi_1.default.string().required() })
11
+ .options({ stripUnknown: true, allowUnknown: false, abortEarly: false });
12
+ //# sourceMappingURL=project-schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-schema.js","sourceRoot":"","sources":["../../../src/lib/schema/project-schema.ts"],"names":[],"mappings":";;;;;;AAAA,8CAAsB;AAET,QAAA,cAAc,GAAG,aAAG;KAC5B,MAAM,EAAE;KACR,IAAI,CAAC,EAAE,WAAW,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC;KAC9C,OAAO,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { IUnleash } from './types/core';
2
- import { IUnleashConfig, IUnleashOptions } from './types/option';
2
+ import { IUnleashConfig, IUnleashOptions, IAuthType } from './types/option';
3
3
  import { IUnleashServices } from './types/services';
4
4
  import User, { IUser } from './types/user';
5
5
  import { Logger, LogLevel } from './logger';
@@ -11,7 +11,7 @@ import * as eventType from './types/events';
11
11
  import { RoleName } from './types/model';
12
12
  declare function start(opts?: IUnleashOptions): Promise<IUnleash>;
13
13
  declare function create(opts: IUnleashOptions): Promise<IUnleash>;
14
- export { start, create, permissions, eventType, Controller, AuthenticationRequired, User, LogLevel, RoleName, };
14
+ export { start, create, permissions, eventType, Controller, AuthenticationRequired, User, LogLevel, RoleName, IAuthType, };
15
15
  declare const _default: {
16
16
  start: typeof start;
17
17
  create: typeof create;
@@ -22,12 +22,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
22
22
  return (mod && mod.__esModule) ? mod : { "default": mod };
23
23
  };
24
24
  Object.defineProperty(exports, "__esModule", { value: true });
25
- exports.RoleName = exports.LogLevel = exports.User = exports.AuthenticationRequired = exports.Controller = exports.eventType = exports.permissions = exports.create = exports.start = void 0;
25
+ exports.IAuthType = exports.RoleName = exports.LogLevel = exports.User = exports.AuthenticationRequired = exports.Controller = exports.eventType = exports.permissions = exports.create = exports.start = void 0;
26
26
  const events_1 = __importDefault(require("events"));
27
27
  const stoppable_1 = __importDefault(require("stoppable"));
28
28
  const util_1 = require("util");
29
29
  const version_1 = __importDefault(require("./util/version"));
30
- const migrator_1 = __importDefault(require("../migrator"));
30
+ const migrator_1 = require("../migrator");
31
31
  const app_1 = __importDefault(require("./app"));
32
32
  const metrics_1 = require("./metrics");
33
33
  const db_1 = require("./db");
@@ -37,6 +37,8 @@ const event_hook_1 = require("./event-hook");
37
37
  const graceful_shutdown_1 = __importDefault(require("./util/graceful-shutdown"));
38
38
  const db_pool_1 = require("./db/db-pool");
39
39
  const session_db_1 = __importDefault(require("./middleware/session-db"));
40
+ const option_1 = require("./types/option");
41
+ Object.defineProperty(exports, "IAuthType", { enumerable: true, get: function () { return option_1.IAuthType; } });
40
42
  const user_1 = __importDefault(require("./types/user"));
41
43
  exports.User = user_1.default;
42
44
  const logger_1 = require("./logger");
@@ -56,15 +58,15 @@ async function createApp(config, startApp) {
56
58
  const logger = config.getLogger('server-impl.js');
57
59
  const serverVersion = version_1.default;
58
60
  const eventBus = new events_1.default();
59
- const db = db_pool_1.createDb(config);
60
- const stores = db_1.createStores(config, eventBus, db);
61
- const services = services_1.createServices(stores, config);
62
- const metricsMonitor = metrics_1.createMetricsMonitor();
63
- const unleashSession = session_db_1.default(config, db);
61
+ const db = (0, db_pool_1.createDb)(config);
62
+ const stores = (0, db_1.createStores)(config, eventBus, db);
63
+ const services = (0, services_1.createServices)(stores, config);
64
+ const metricsMonitor = (0, metrics_1.createMetricsMonitor)();
65
+ const unleashSession = (0, session_db_1.default)(config, db);
64
66
  const stopUnleash = async (server) => {
65
67
  logger.info('Shutting down Unleash...');
66
68
  if (server) {
67
- const stopServer = util_1.promisify(server.stop);
69
+ const stopServer = (0, util_1.promisify)(server.stop);
68
70
  await stopServer();
69
71
  }
70
72
  metricsMonitor.stopMonitoring();
@@ -77,9 +79,9 @@ async function createApp(config, startApp) {
77
79
  // eslint-disable-next-line no-param-reassign
78
80
  config.server.secret = secret;
79
81
  }
80
- const app = app_1.default(config, stores, services, eventBus, unleashSession);
82
+ const app = (0, app_1.default)(config, stores, services, eventBus, unleashSession);
81
83
  if (typeof config.eventHook === 'function') {
82
- event_hook_1.addEventHook(config.eventHook, stores.eventStore);
84
+ (0, event_hook_1.addEventHook)(config.eventHook, stores.eventStore);
83
85
  }
84
86
  metricsMonitor.startMonitoring(config, stores, serverVersion, eventBus, db);
85
87
  const unleash = {
@@ -100,7 +102,7 @@ async function createApp(config, startApp) {
100
102
  }
101
103
  return new Promise((resolve, reject) => {
102
104
  if (startApp) {
103
- const server = stoppable_1.default(app.listen(config.listen, () => logger.info('Unleash has started.', server.address())), config.server.gracefulShutdownTimeout);
105
+ const server = (0, stoppable_1.default)(app.listen(config.listen, () => logger.info('Unleash has started.', server.address())), config.server.gracefulShutdownTimeout);
104
106
  server.keepAliveTimeout = config.server.keepAliveTimeout;
105
107
  server.headersTimeout = config.server.headersTimeout;
106
108
  server.on('listening', () => {
@@ -119,16 +121,16 @@ async function createApp(config, startApp) {
119
121
  }
120
122
  // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
121
123
  async function start(opts = {}) {
122
- const config = create_config_1.createConfig(opts);
124
+ const config = (0, create_config_1.createConfig)(opts);
123
125
  const logger = config.getLogger('server-impl.js');
124
126
  try {
125
127
  if (config.db.disableMigration) {
126
128
  logger.info('DB migration: disabled');
127
129
  }
128
130
  else {
129
- logger.info('DB migration: start');
130
- await migrator_1.default(config);
131
- logger.info('DB migration: end');
131
+ logger.debug('DB migration: start');
132
+ await (0, migrator_1.migrateDb)(config);
133
+ logger.debug('DB migration: end');
132
134
  }
133
135
  }
134
136
  catch (err) {
@@ -137,21 +139,21 @@ async function start(opts = {}) {
137
139
  }
138
140
  const unleash = await createApp(config, true);
139
141
  if (config.server.gracefulShutdownEnable) {
140
- graceful_shutdown_1.default(unleash, logger);
142
+ (0, graceful_shutdown_1.default)(unleash, logger);
141
143
  }
142
144
  return unleash;
143
145
  }
144
146
  exports.start = start;
145
147
  // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
146
148
  async function create(opts) {
147
- const config = create_config_1.createConfig(opts);
149
+ const config = (0, create_config_1.createConfig)(opts);
148
150
  const logger = config.getLogger('server-impl.js');
149
151
  try {
150
152
  if (config.db.disableMigration) {
151
153
  logger.info('DB migrations disabled');
152
154
  }
153
155
  else {
154
- await migrator_1.default(config);
156
+ await (0, migrator_1.migrateDb)(config);
155
157
  }
156
158
  }
157
159
  catch (err) {
@@ -1 +1 @@
1
- {"version":3,"file":"server-impl.js","sourceRoot":"","sources":["../../src/lib/server-impl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server-impl.js","sourceRoot":"","sources":["../../src/lib/server-impl.ts"],"names":[],"mappings":"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"}