@strapi/core 0.0.0-experimental.c3e9d4b26f9fd3d9eb530b5c11f9baa1d09b13ad → 0.0.0-experimental.c3f10a5b687b721249c6a6a6f6e12946d37594d3

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.

Potentially problematic release.


This version of @strapi/core might be problematic. Click here for more details.

Files changed (863) hide show
  1. package/LICENSE +18 -3
  2. package/dist/Strapi.d.ts +4 -2
  3. package/dist/Strapi.d.ts.map +1 -1
  4. package/dist/Strapi.js +446 -393
  5. package/dist/Strapi.js.map +1 -1
  6. package/dist/Strapi.mjs +445 -392
  7. package/dist/Strapi.mjs.map +1 -1
  8. package/dist/compile.js +23 -14
  9. package/dist/compile.js.map +1 -1
  10. package/dist/compile.mjs +22 -14
  11. package/dist/compile.mjs.map +1 -1
  12. package/dist/configuration/config-loader.js +110 -97
  13. package/dist/configuration/config-loader.js.map +1 -1
  14. package/dist/configuration/config-loader.mjs +109 -96
  15. package/dist/configuration/config-loader.mjs.map +1 -1
  16. package/dist/configuration/get-dirs.js +31 -29
  17. package/dist/configuration/get-dirs.js.map +1 -1
  18. package/dist/configuration/get-dirs.mjs +30 -30
  19. package/dist/configuration/get-dirs.mjs.map +1 -1
  20. package/dist/configuration/index.d.ts +1 -0
  21. package/dist/configuration/index.d.ts.map +1 -1
  22. package/dist/configuration/index.js +85 -73
  23. package/dist/configuration/index.js.map +1 -1
  24. package/dist/configuration/index.mjs +84 -69
  25. package/dist/configuration/index.mjs.map +1 -1
  26. package/dist/configuration/urls.d.ts.map +1 -1
  27. package/dist/configuration/urls.js +74 -61
  28. package/dist/configuration/urls.js.map +1 -1
  29. package/dist/configuration/urls.mjs +73 -62
  30. package/dist/configuration/urls.mjs.map +1 -1
  31. package/dist/constants.d.ts +3 -0
  32. package/dist/constants.d.ts.map +1 -0
  33. package/dist/constants.js +6 -0
  34. package/dist/constants.js.map +1 -0
  35. package/dist/constants.mjs +4 -0
  36. package/dist/constants.mjs.map +1 -0
  37. package/dist/container.js +27 -23
  38. package/dist/container.js.map +1 -1
  39. package/dist/container.mjs +26 -24
  40. package/dist/container.mjs.map +1 -1
  41. package/dist/core-api/controller/collection-type.js +77 -76
  42. package/dist/core-api/controller/collection-type.js.map +1 -1
  43. package/dist/core-api/controller/collection-type.mjs +76 -77
  44. package/dist/core-api/controller/collection-type.mjs.map +1 -1
  45. package/dist/core-api/controller/index.d.ts.map +1 -1
  46. package/dist/core-api/controller/index.js +64 -48
  47. package/dist/core-api/controller/index.js.map +1 -1
  48. package/dist/core-api/controller/index.mjs +63 -49
  49. package/dist/core-api/controller/index.mjs.map +1 -1
  50. package/dist/core-api/controller/single-type.js +41 -40
  51. package/dist/core-api/controller/single-type.js.map +1 -1
  52. package/dist/core-api/controller/single-type.mjs +40 -41
  53. package/dist/core-api/controller/single-type.mjs.map +1 -1
  54. package/dist/core-api/controller/transform.d.ts +3 -2
  55. package/dist/core-api/controller/transform.d.ts.map +1 -1
  56. package/dist/core-api/controller/transform.js +83 -64
  57. package/dist/core-api/controller/transform.js.map +1 -1
  58. package/dist/core-api/controller/transform.mjs +82 -65
  59. package/dist/core-api/controller/transform.mjs.map +1 -1
  60. package/dist/core-api/routes/index.d.ts +4 -22
  61. package/dist/core-api/routes/index.d.ts.map +1 -1
  62. package/dist/core-api/routes/index.js +205 -61
  63. package/dist/core-api/routes/index.js.map +1 -1
  64. package/dist/core-api/routes/index.mjs +185 -62
  65. package/dist/core-api/routes/index.mjs.map +1 -1
  66. package/dist/core-api/routes/validation/attributes.d.ts +244 -0
  67. package/dist/core-api/routes/validation/attributes.d.ts.map +1 -0
  68. package/dist/core-api/routes/validation/attributes.js +560 -0
  69. package/dist/core-api/routes/validation/attributes.js.map +1 -0
  70. package/dist/core-api/routes/validation/attributes.mjs +521 -0
  71. package/dist/core-api/routes/validation/attributes.mjs.map +1 -0
  72. package/dist/core-api/routes/validation/common.d.ts +105 -0
  73. package/dist/core-api/routes/validation/common.d.ts.map +1 -0
  74. package/dist/core-api/routes/validation/common.js +116 -0
  75. package/dist/core-api/routes/validation/common.js.map +1 -0
  76. package/dist/core-api/routes/validation/common.mjs +95 -0
  77. package/dist/core-api/routes/validation/common.mjs.map +1 -0
  78. package/dist/core-api/routes/validation/component.d.ts +34 -0
  79. package/dist/core-api/routes/validation/component.d.ts.map +1 -0
  80. package/dist/core-api/routes/validation/component.js +45 -0
  81. package/dist/core-api/routes/validation/component.js.map +1 -0
  82. package/dist/core-api/routes/validation/component.mjs +43 -0
  83. package/dist/core-api/routes/validation/component.mjs.map +1 -0
  84. package/dist/core-api/routes/validation/constants.d.ts +8 -0
  85. package/dist/core-api/routes/validation/constants.d.ts.map +1 -0
  86. package/dist/core-api/routes/validation/constants.js +18 -0
  87. package/dist/core-api/routes/validation/constants.js.map +1 -0
  88. package/dist/core-api/routes/validation/constants.mjs +16 -0
  89. package/dist/core-api/routes/validation/constants.mjs.map +1 -0
  90. package/dist/core-api/routes/validation/content-type.d.ts +128 -0
  91. package/dist/core-api/routes/validation/content-type.d.ts.map +1 -0
  92. package/dist/core-api/routes/validation/content-type.js +201 -0
  93. package/dist/core-api/routes/validation/content-type.js.map +1 -0
  94. package/dist/core-api/routes/validation/content-type.mjs +180 -0
  95. package/dist/core-api/routes/validation/content-type.mjs.map +1 -0
  96. package/dist/core-api/routes/validation/index.d.ts +5 -0
  97. package/dist/core-api/routes/validation/index.d.ts.map +1 -0
  98. package/dist/core-api/routes/validation/mappers.d.ts +105 -0
  99. package/dist/core-api/routes/validation/mappers.d.ts.map +1 -0
  100. package/dist/core-api/routes/validation/mappers.js +273 -0
  101. package/dist/core-api/routes/validation/mappers.js.map +1 -0
  102. package/dist/core-api/routes/validation/mappers.mjs +249 -0
  103. package/dist/core-api/routes/validation/mappers.mjs.map +1 -0
  104. package/dist/core-api/routes/validation/utils.d.ts +47 -0
  105. package/dist/core-api/routes/validation/utils.d.ts.map +1 -0
  106. package/dist/core-api/routes/validation/utils.js +128 -0
  107. package/dist/core-api/routes/validation/utils.js.map +1 -0
  108. package/dist/core-api/routes/validation/utils.mjs +106 -0
  109. package/dist/core-api/routes/validation/utils.mjs.map +1 -0
  110. package/dist/core-api/service/collection-type.d.ts +2 -2
  111. package/dist/core-api/service/collection-type.js +73 -60
  112. package/dist/core-api/service/collection-type.js.map +1 -1
  113. package/dist/core-api/service/collection-type.mjs +72 -62
  114. package/dist/core-api/service/collection-type.mjs.map +1 -1
  115. package/dist/core-api/service/core-service.js +9 -8
  116. package/dist/core-api/service/core-service.js.map +1 -1
  117. package/dist/core-api/service/core-service.mjs +8 -9
  118. package/dist/core-api/service/core-service.mjs.map +1 -1
  119. package/dist/core-api/service/index.js +13 -13
  120. package/dist/core-api/service/index.js.map +1 -1
  121. package/dist/core-api/service/index.mjs +12 -14
  122. package/dist/core-api/service/index.mjs.map +1 -1
  123. package/dist/core-api/service/pagination.js +69 -43
  124. package/dist/core-api/service/pagination.js.map +1 -1
  125. package/dist/core-api/service/pagination.mjs +68 -47
  126. package/dist/core-api/service/pagination.mjs.map +1 -1
  127. package/dist/core-api/service/single-type.js +43 -39
  128. package/dist/core-api/service/single-type.js.map +1 -1
  129. package/dist/core-api/service/single-type.mjs +42 -41
  130. package/dist/core-api/service/single-type.mjs.map +1 -1
  131. package/dist/domain/content-type/index.d.ts.map +1 -1
  132. package/dist/domain/content-type/index.js +110 -99
  133. package/dist/domain/content-type/index.js.map +1 -1
  134. package/dist/domain/content-type/index.mjs +109 -99
  135. package/dist/domain/content-type/index.mjs.map +1 -1
  136. package/dist/domain/content-type/validator.js +84 -69
  137. package/dist/domain/content-type/validator.js.map +1 -1
  138. package/dist/domain/content-type/validator.mjs +83 -68
  139. package/dist/domain/content-type/validator.mjs.map +1 -1
  140. package/dist/domain/module/index.d.ts.map +1 -1
  141. package/dist/domain/module/index.js +112 -100
  142. package/dist/domain/module/index.js.map +1 -1
  143. package/dist/domain/module/index.mjs +111 -99
  144. package/dist/domain/module/index.mjs.map +1 -1
  145. package/dist/domain/module/validation.js +25 -20
  146. package/dist/domain/module/validation.js.map +1 -1
  147. package/dist/domain/module/validation.mjs +24 -21
  148. package/dist/domain/module/validation.mjs.map +1 -1
  149. package/dist/ee/index.d.ts +7 -0
  150. package/dist/ee/index.d.ts.map +1 -1
  151. package/dist/ee/index.js +197 -132
  152. package/dist/ee/index.js.map +1 -1
  153. package/dist/ee/index.mjs +196 -134
  154. package/dist/ee/index.mjs.map +1 -1
  155. package/dist/ee/license.d.ts +3 -1
  156. package/dist/ee/license.d.ts.map +1 -1
  157. package/dist/ee/license.js +104 -75
  158. package/dist/ee/license.js.map +1 -1
  159. package/dist/ee/license.mjs +102 -76
  160. package/dist/ee/license.mjs.map +1 -1
  161. package/dist/factories.d.ts +3 -1
  162. package/dist/factories.d.ts.map +1 -1
  163. package/dist/factories.js +80 -67
  164. package/dist/factories.js.map +1 -1
  165. package/dist/factories.mjs +77 -70
  166. package/dist/factories.mjs.map +1 -1
  167. package/dist/index.d.ts +14 -0
  168. package/dist/index.d.ts.map +1 -1
  169. package/dist/index.js +29 -26
  170. package/dist/index.js.map +1 -1
  171. package/dist/index.mjs +29 -29
  172. package/dist/index.mjs.map +1 -1
  173. package/dist/loaders/admin.d.ts.map +1 -1
  174. package/dist/loaders/admin.js +21 -20
  175. package/dist/loaders/admin.js.map +1 -1
  176. package/dist/loaders/admin.mjs +20 -20
  177. package/dist/loaders/admin.mjs.map +1 -1
  178. package/dist/loaders/apis.js +143 -120
  179. package/dist/loaders/apis.js.map +1 -1
  180. package/dist/loaders/apis.mjs +142 -119
  181. package/dist/loaders/apis.mjs.map +1 -1
  182. package/dist/loaders/components.js +33 -34
  183. package/dist/loaders/components.js.map +1 -1
  184. package/dist/loaders/components.mjs +32 -34
  185. package/dist/loaders/components.mjs.map +1 -1
  186. package/dist/loaders/index.js +22 -20
  187. package/dist/loaders/index.js.map +1 -1
  188. package/dist/loaders/index.mjs +21 -21
  189. package/dist/loaders/index.mjs.map +1 -1
  190. package/dist/loaders/middlewares.js +29 -25
  191. package/dist/loaders/middlewares.js.map +1 -1
  192. package/dist/loaders/middlewares.mjs +28 -25
  193. package/dist/loaders/middlewares.mjs.map +1 -1
  194. package/dist/loaders/plugins/get-enabled-plugins.d.ts.map +1 -1
  195. package/dist/loaders/plugins/get-enabled-plugins.js +125 -102
  196. package/dist/loaders/plugins/get-enabled-plugins.js.map +1 -1
  197. package/dist/loaders/plugins/get-enabled-plugins.mjs +124 -101
  198. package/dist/loaders/plugins/get-enabled-plugins.mjs.map +1 -1
  199. package/dist/loaders/plugins/get-user-plugins-config.js +25 -24
  200. package/dist/loaders/plugins/get-user-plugins-config.js.map +1 -1
  201. package/dist/loaders/plugins/get-user-plugins-config.mjs +24 -23
  202. package/dist/loaders/plugins/get-user-plugins-config.mjs.map +1 -1
  203. package/dist/loaders/plugins/index.d.ts.map +1 -1
  204. package/dist/loaders/plugins/index.js +141 -104
  205. package/dist/loaders/plugins/index.js.map +1 -1
  206. package/dist/loaders/plugins/index.mjs +121 -104
  207. package/dist/loaders/plugins/index.mjs.map +1 -1
  208. package/dist/loaders/policies.js +24 -20
  209. package/dist/loaders/policies.js.map +1 -1
  210. package/dist/loaders/policies.mjs +23 -20
  211. package/dist/loaders/policies.mjs.map +1 -1
  212. package/dist/loaders/sanitizers.js +10 -4
  213. package/dist/loaders/sanitizers.js.map +1 -1
  214. package/dist/loaders/sanitizers.mjs +9 -6
  215. package/dist/loaders/sanitizers.mjs.map +1 -1
  216. package/dist/loaders/src-index.js +35 -27
  217. package/dist/loaders/src-index.js.map +1 -1
  218. package/dist/loaders/src-index.mjs +34 -29
  219. package/dist/loaders/src-index.mjs.map +1 -1
  220. package/dist/loaders/validators.js +9 -4
  221. package/dist/loaders/validators.js.map +1 -1
  222. package/dist/loaders/validators.mjs +8 -6
  223. package/dist/loaders/validators.mjs.map +1 -1
  224. package/dist/middlewares/body.d.ts.map +1 -1
  225. package/dist/middlewares/body.js +58 -54
  226. package/dist/middlewares/body.js.map +1 -1
  227. package/dist/middlewares/body.mjs +57 -51
  228. package/dist/middlewares/body.mjs.map +1 -1
  229. package/dist/middlewares/compression.js +6 -6
  230. package/dist/middlewares/compression.js.map +1 -1
  231. package/dist/middlewares/compression.mjs +5 -5
  232. package/dist/middlewares/compression.mjs.map +1 -1
  233. package/dist/middlewares/cors.d.ts +9 -1
  234. package/dist/middlewares/cors.d.ts.map +1 -1
  235. package/dist/middlewares/cors.js +81 -44
  236. package/dist/middlewares/cors.js.map +1 -1
  237. package/dist/middlewares/cors.mjs +78 -42
  238. package/dist/middlewares/cors.mjs.map +1 -1
  239. package/dist/middlewares/errors.js +32 -30
  240. package/dist/middlewares/errors.js.map +1 -1
  241. package/dist/middlewares/errors.mjs +31 -31
  242. package/dist/middlewares/errors.mjs.map +1 -1
  243. package/dist/middlewares/favicon.js +27 -17
  244. package/dist/middlewares/favicon.js.map +1 -1
  245. package/dist/middlewares/favicon.mjs +26 -16
  246. package/dist/middlewares/favicon.mjs.map +1 -1
  247. package/dist/middlewares/index.js +32 -30
  248. package/dist/middlewares/index.js.map +1 -1
  249. package/dist/middlewares/index.mjs +31 -31
  250. package/dist/middlewares/index.mjs.map +1 -1
  251. package/dist/middlewares/ip.js +6 -6
  252. package/dist/middlewares/ip.js.map +1 -1
  253. package/dist/middlewares/ip.mjs +5 -5
  254. package/dist/middlewares/ip.mjs.map +1 -1
  255. package/dist/middlewares/logger.js +10 -9
  256. package/dist/middlewares/logger.js.map +1 -1
  257. package/dist/middlewares/logger.mjs +9 -10
  258. package/dist/middlewares/logger.mjs.map +1 -1
  259. package/dist/middlewares/powered-by.js +13 -9
  260. package/dist/middlewares/powered-by.js.map +1 -1
  261. package/dist/middlewares/powered-by.mjs +12 -10
  262. package/dist/middlewares/powered-by.mjs.map +1 -1
  263. package/dist/middlewares/public.js +33 -29
  264. package/dist/middlewares/public.js.map +1 -1
  265. package/dist/middlewares/public.mjs +32 -28
  266. package/dist/middlewares/public.mjs.map +1 -1
  267. package/dist/middlewares/query.d.ts.map +1 -1
  268. package/dist/middlewares/query.js +35 -32
  269. package/dist/middlewares/query.js.map +1 -1
  270. package/dist/middlewares/query.mjs +34 -31
  271. package/dist/middlewares/query.mjs.map +1 -1
  272. package/dist/middlewares/response-time.js +10 -9
  273. package/dist/middlewares/response-time.js.map +1 -1
  274. package/dist/middlewares/response-time.mjs +9 -10
  275. package/dist/middlewares/response-time.mjs.map +1 -1
  276. package/dist/middlewares/responses.js +14 -12
  277. package/dist/middlewares/responses.js.map +1 -1
  278. package/dist/middlewares/responses.mjs +13 -13
  279. package/dist/middlewares/responses.mjs.map +1 -1
  280. package/dist/middlewares/security.d.ts.map +1 -1
  281. package/dist/middlewares/security.js +97 -65
  282. package/dist/middlewares/security.js.map +1 -1
  283. package/dist/middlewares/security.mjs +95 -63
  284. package/dist/middlewares/security.mjs.map +1 -1
  285. package/dist/middlewares/session.js +26 -25
  286. package/dist/middlewares/session.js.map +1 -1
  287. package/dist/middlewares/session.mjs +25 -24
  288. package/dist/middlewares/session.mjs.map +1 -1
  289. package/dist/migrations/database/5.0.0-discard-drafts.d.ts +14 -11
  290. package/dist/migrations/database/5.0.0-discard-drafts.d.ts.map +1 -1
  291. package/dist/migrations/database/5.0.0-discard-drafts.js +153 -35
  292. package/dist/migrations/database/5.0.0-discard-drafts.js.map +1 -1
  293. package/dist/migrations/database/5.0.0-discard-drafts.mjs +152 -37
  294. package/dist/migrations/database/5.0.0-discard-drafts.mjs.map +1 -1
  295. package/dist/migrations/draft-publish.d.ts +2 -2
  296. package/dist/migrations/draft-publish.d.ts.map +1 -1
  297. package/dist/migrations/draft-publish.js +61 -34
  298. package/dist/migrations/draft-publish.js.map +1 -1
  299. package/dist/migrations/draft-publish.mjs +60 -36
  300. package/dist/migrations/draft-publish.mjs.map +1 -1
  301. package/dist/migrations/first-published-at.d.ts +4 -0
  302. package/dist/migrations/first-published-at.d.ts.map +1 -0
  303. package/dist/migrations/first-published-at.js +51 -0
  304. package/dist/migrations/first-published-at.js.map +1 -0
  305. package/dist/migrations/first-published-at.mjs +49 -0
  306. package/dist/migrations/first-published-at.mjs.map +1 -0
  307. package/dist/migrations/i18n.d.ts +5 -0
  308. package/dist/migrations/i18n.d.ts.map +1 -0
  309. package/dist/migrations/i18n.js +71 -0
  310. package/dist/migrations/i18n.js.map +1 -0
  311. package/dist/migrations/i18n.mjs +68 -0
  312. package/dist/migrations/i18n.mjs.map +1 -0
  313. package/dist/migrations/index.d.ts +5 -0
  314. package/dist/migrations/index.d.ts.map +1 -0
  315. package/dist/migrations/index.js +34 -0
  316. package/dist/migrations/index.js.map +1 -0
  317. package/dist/migrations/index.mjs +31 -0
  318. package/dist/migrations/index.mjs.map +1 -0
  319. package/dist/package.json.js +187 -0
  320. package/dist/package.json.js.map +1 -0
  321. package/dist/package.json.mjs +164 -0
  322. package/dist/package.json.mjs.map +1 -0
  323. package/dist/providers/admin.d.ts.map +1 -1
  324. package/dist/providers/admin.js +27 -17
  325. package/dist/providers/admin.js.map +1 -1
  326. package/dist/providers/admin.mjs +26 -19
  327. package/dist/providers/admin.mjs.map +1 -1
  328. package/dist/providers/coreStore.js +13 -8
  329. package/dist/providers/coreStore.js.map +1 -1
  330. package/dist/providers/coreStore.mjs +12 -10
  331. package/dist/providers/coreStore.mjs.map +1 -1
  332. package/dist/providers/cron.js +19 -16
  333. package/dist/providers/cron.js.map +1 -1
  334. package/dist/providers/cron.mjs +18 -18
  335. package/dist/providers/cron.mjs.map +1 -1
  336. package/dist/providers/index.d.ts.map +1 -1
  337. package/dist/providers/index.js +20 -9
  338. package/dist/providers/index.js.map +1 -1
  339. package/dist/providers/index.mjs +19 -10
  340. package/dist/providers/index.mjs.map +1 -1
  341. package/dist/providers/provider.js +4 -3
  342. package/dist/providers/provider.js.map +1 -1
  343. package/dist/providers/provider.mjs +3 -4
  344. package/dist/providers/provider.mjs.map +1 -1
  345. package/dist/providers/registries.js +37 -32
  346. package/dist/providers/registries.js.map +1 -1
  347. package/dist/providers/registries.mjs +36 -34
  348. package/dist/providers/registries.mjs.map +1 -1
  349. package/dist/providers/session-manager.d.ts +3 -0
  350. package/dist/providers/session-manager.d.ts.map +1 -0
  351. package/dist/providers/session-manager.js +23 -0
  352. package/dist/providers/session-manager.js.map +1 -0
  353. package/dist/providers/session-manager.mjs +21 -0
  354. package/dist/providers/session-manager.mjs.map +1 -0
  355. package/dist/providers/telemetry.js +19 -16
  356. package/dist/providers/telemetry.js.map +1 -1
  357. package/dist/providers/telemetry.mjs +18 -18
  358. package/dist/providers/telemetry.mjs.map +1 -1
  359. package/dist/providers/webhooks.js +28 -26
  360. package/dist/providers/webhooks.js.map +1 -1
  361. package/dist/providers/webhooks.mjs +27 -28
  362. package/dist/providers/webhooks.mjs.map +1 -1
  363. package/dist/registries/apis.js +23 -20
  364. package/dist/registries/apis.js.map +1 -1
  365. package/dist/registries/apis.mjs +22 -22
  366. package/dist/registries/apis.mjs.map +1 -1
  367. package/dist/registries/components.js +35 -37
  368. package/dist/registries/components.js.map +1 -1
  369. package/dist/registries/components.mjs +34 -39
  370. package/dist/registries/components.mjs.map +1 -1
  371. package/dist/registries/content-types.js +54 -59
  372. package/dist/registries/content-types.js.map +1 -1
  373. package/dist/registries/content-types.mjs +53 -61
  374. package/dist/registries/content-types.mjs.map +1 -1
  375. package/dist/registries/controllers.js +70 -71
  376. package/dist/registries/controllers.js.map +1 -1
  377. package/dist/registries/controllers.mjs +69 -73
  378. package/dist/registries/controllers.mjs.map +1 -1
  379. package/dist/registries/custom-fields.js +75 -65
  380. package/dist/registries/custom-fields.js.map +1 -1
  381. package/dist/registries/custom-fields.mjs +74 -67
  382. package/dist/registries/custom-fields.mjs.map +1 -1
  383. package/dist/registries/hooks.js +46 -49
  384. package/dist/registries/hooks.js.map +1 -1
  385. package/dist/registries/hooks.mjs +45 -51
  386. package/dist/registries/hooks.mjs.map +1 -1
  387. package/dist/registries/middlewares.js +49 -51
  388. package/dist/registries/middlewares.js.map +1 -1
  389. package/dist/registries/middlewares.mjs +48 -53
  390. package/dist/registries/middlewares.mjs.map +1 -1
  391. package/dist/registries/models.js +14 -13
  392. package/dist/registries/models.js.map +1 -1
  393. package/dist/registries/models.mjs +13 -14
  394. package/dist/registries/models.mjs.map +1 -1
  395. package/dist/registries/modules.js +39 -36
  396. package/dist/registries/modules.js.map +1 -1
  397. package/dist/registries/modules.mjs +38 -38
  398. package/dist/registries/modules.mjs.map +1 -1
  399. package/dist/registries/namespace.js +21 -20
  400. package/dist/registries/namespace.js.map +1 -1
  401. package/dist/registries/namespace.mjs +20 -23
  402. package/dist/registries/namespace.mjs.map +1 -1
  403. package/dist/registries/plugins.js +23 -20
  404. package/dist/registries/plugins.js.map +1 -1
  405. package/dist/registries/plugins.mjs +22 -22
  406. package/dist/registries/plugins.mjs.map +1 -1
  407. package/dist/registries/policies.d.ts +1 -1
  408. package/dist/registries/policies.d.ts.map +1 -1
  409. package/dist/registries/policies.js +103 -96
  410. package/dist/registries/policies.js.map +1 -1
  411. package/dist/registries/policies.mjs +102 -98
  412. package/dist/registries/policies.mjs.map +1 -1
  413. package/dist/registries/sanitizers.js +23 -22
  414. package/dist/registries/sanitizers.js.map +1 -1
  415. package/dist/registries/sanitizers.mjs +22 -22
  416. package/dist/registries/sanitizers.mjs.map +1 -1
  417. package/dist/registries/services.js +71 -71
  418. package/dist/registries/services.js.map +1 -1
  419. package/dist/registries/services.mjs +70 -73
  420. package/dist/registries/services.mjs.map +1 -1
  421. package/dist/registries/validators.js +23 -22
  422. package/dist/registries/validators.js.map +1 -1
  423. package/dist/registries/validators.mjs +22 -22
  424. package/dist/registries/validators.mjs.map +1 -1
  425. package/dist/services/auth/index.js +74 -74
  426. package/dist/services/auth/index.js.map +1 -1
  427. package/dist/services/auth/index.mjs +73 -74
  428. package/dist/services/auth/index.mjs.map +1 -1
  429. package/dist/services/config.js +47 -43
  430. package/dist/services/config.js.map +1 -1
  431. package/dist/services/config.mjs +46 -44
  432. package/dist/services/config.mjs.map +1 -1
  433. package/dist/services/content-api/index.d.ts +11 -13
  434. package/dist/services/content-api/index.d.ts.map +1 -1
  435. package/dist/services/content-api/index.js +80 -79
  436. package/dist/services/content-api/index.js.map +1 -1
  437. package/dist/services/content-api/index.mjs +79 -79
  438. package/dist/services/content-api/index.mjs.map +1 -1
  439. package/dist/services/content-api/permissions/engine.js +8 -5
  440. package/dist/services/content-api/permissions/engine.js.map +1 -1
  441. package/dist/services/content-api/permissions/engine.mjs +7 -5
  442. package/dist/services/content-api/permissions/engine.mjs.map +1 -1
  443. package/dist/services/content-api/permissions/index.d.ts +10 -12
  444. package/dist/services/content-api/permissions/index.d.ts.map +1 -1
  445. package/dist/services/content-api/permissions/index.js +101 -81
  446. package/dist/services/content-api/permissions/index.js.map +1 -1
  447. package/dist/services/content-api/permissions/index.mjs +100 -81
  448. package/dist/services/content-api/permissions/index.mjs.map +1 -1
  449. package/dist/services/content-api/permissions/providers/action.d.ts +5 -6
  450. package/dist/services/content-api/permissions/providers/action.d.ts.map +1 -1
  451. package/dist/services/content-api/permissions/providers/action.js +17 -14
  452. package/dist/services/content-api/permissions/providers/action.js.map +1 -1
  453. package/dist/services/content-api/permissions/providers/action.mjs +16 -16
  454. package/dist/services/content-api/permissions/providers/action.mjs.map +1 -1
  455. package/dist/services/content-api/permissions/providers/condition.d.ts +5 -6
  456. package/dist/services/content-api/permissions/providers/condition.d.ts.map +1 -1
  457. package/dist/services/content-api/permissions/providers/condition.js +17 -14
  458. package/dist/services/content-api/permissions/providers/condition.js.map +1 -1
  459. package/dist/services/content-api/permissions/providers/condition.mjs +16 -16
  460. package/dist/services/content-api/permissions/providers/condition.mjs.map +1 -1
  461. package/dist/services/content-source-maps.d.ts +13 -0
  462. package/dist/services/content-source-maps.d.ts.map +1 -0
  463. package/dist/services/content-source-maps.js +108 -0
  464. package/dist/services/content-source-maps.js.map +1 -0
  465. package/dist/services/content-source-maps.mjs +106 -0
  466. package/dist/services/content-source-maps.mjs.map +1 -0
  467. package/dist/services/core-store.d.ts +2 -2
  468. package/dist/services/core-store.d.ts.map +1 -1
  469. package/dist/services/core-store.js +115 -95
  470. package/dist/services/core-store.js.map +1 -1
  471. package/dist/services/core-store.mjs +114 -97
  472. package/dist/services/core-store.mjs.map +1 -1
  473. package/dist/services/cron.d.ts +3 -3
  474. package/dist/services/cron.d.ts.map +1 -1
  475. package/dist/services/cron.js +74 -60
  476. package/dist/services/cron.js.map +1 -1
  477. package/dist/services/cron.mjs +73 -62
  478. package/dist/services/cron.mjs.map +1 -1
  479. package/dist/services/custom-fields.js +9 -7
  480. package/dist/services/custom-fields.js.map +1 -1
  481. package/dist/services/custom-fields.mjs +8 -9
  482. package/dist/services/custom-fields.mjs.map +1 -1
  483. package/dist/services/document-service/attributes/index.js +23 -18
  484. package/dist/services/document-service/attributes/index.js.map +1 -1
  485. package/dist/services/document-service/attributes/index.mjs +22 -19
  486. package/dist/services/document-service/attributes/index.mjs.map +1 -1
  487. package/dist/services/document-service/attributes/transforms.js +16 -15
  488. package/dist/services/document-service/attributes/transforms.js.map +1 -1
  489. package/dist/services/document-service/attributes/transforms.mjs +15 -15
  490. package/dist/services/document-service/attributes/transforms.mjs.map +1 -1
  491. package/dist/services/document-service/common.d.ts +1 -1
  492. package/dist/services/document-service/common.d.ts.map +1 -1
  493. package/dist/services/document-service/common.js +5 -4
  494. package/dist/services/document-service/common.js.map +1 -1
  495. package/dist/services/document-service/common.mjs +4 -5
  496. package/dist/services/document-service/common.mjs.map +1 -1
  497. package/dist/services/document-service/components.d.ts +31 -1
  498. package/dist/services/document-service/components.d.ts.map +1 -1
  499. package/dist/services/document-service/components.js +364 -257
  500. package/dist/services/document-service/components.js.map +1 -1
  501. package/dist/services/document-service/components.mjs +359 -261
  502. package/dist/services/document-service/components.mjs.map +1 -1
  503. package/dist/services/document-service/draft-and-publish.d.ts +1 -1
  504. package/dist/services/document-service/draft-and-publish.d.ts.map +1 -1
  505. package/dist/services/document-service/draft-and-publish.js +94 -54
  506. package/dist/services/document-service/draft-and-publish.js.map +1 -1
  507. package/dist/services/document-service/draft-and-publish.mjs +87 -54
  508. package/dist/services/document-service/draft-and-publish.mjs.map +1 -1
  509. package/dist/services/document-service/entries.d.ts +2 -2
  510. package/dist/services/document-service/entries.d.ts.map +1 -1
  511. package/dist/services/document-service/entries.js +151 -92
  512. package/dist/services/document-service/entries.js.map +1 -1
  513. package/dist/services/document-service/entries.mjs +150 -93
  514. package/dist/services/document-service/entries.mjs.map +1 -1
  515. package/dist/services/document-service/events.d.ts +1 -1
  516. package/dist/services/document-service/events.d.ts.map +1 -1
  517. package/dist/services/document-service/events.js +52 -40
  518. package/dist/services/document-service/events.js.map +1 -1
  519. package/dist/services/document-service/events.mjs +51 -41
  520. package/dist/services/document-service/events.mjs.map +1 -1
  521. package/dist/services/document-service/first-published-at.d.ts +7 -0
  522. package/dist/services/document-service/first-published-at.d.ts.map +1 -0
  523. package/dist/services/document-service/first-published-at.js +31 -0
  524. package/dist/services/document-service/first-published-at.js.map +1 -0
  525. package/dist/services/document-service/first-published-at.mjs +28 -0
  526. package/dist/services/document-service/first-published-at.mjs.map +1 -0
  527. package/dist/services/document-service/index.d.ts +2 -1
  528. package/dist/services/document-service/index.d.ts.map +1 -1
  529. package/dist/services/document-service/index.js +53 -32
  530. package/dist/services/document-service/index.js.map +1 -1
  531. package/dist/services/document-service/index.mjs +52 -33
  532. package/dist/services/document-service/index.mjs.map +1 -1
  533. package/dist/services/document-service/internationalization.d.ts +6 -1
  534. package/dist/services/document-service/internationalization.d.ts.map +1 -1
  535. package/dist/services/document-service/internationalization.js +98 -50
  536. package/dist/services/document-service/internationalization.js.map +1 -1
  537. package/dist/services/document-service/internationalization.mjs +92 -50
  538. package/dist/services/document-service/internationalization.mjs.map +1 -1
  539. package/dist/services/document-service/middlewares/errors.js +23 -19
  540. package/dist/services/document-service/middlewares/errors.js.map +1 -1
  541. package/dist/services/document-service/middlewares/errors.mjs +22 -20
  542. package/dist/services/document-service/middlewares/errors.mjs.map +1 -1
  543. package/dist/services/document-service/middlewares/middleware-manager.js +46 -44
  544. package/dist/services/document-service/middlewares/middleware-manager.js.map +1 -1
  545. package/dist/services/document-service/middlewares/middleware-manager.mjs +45 -45
  546. package/dist/services/document-service/middlewares/middleware-manager.mjs.map +1 -1
  547. package/dist/services/document-service/params.js +11 -5
  548. package/dist/services/document-service/params.js.map +1 -1
  549. package/dist/services/document-service/params.mjs +10 -6
  550. package/dist/services/document-service/params.mjs.map +1 -1
  551. package/dist/services/document-service/repository.d.ts.map +1 -1
  552. package/dist/services/document-service/repository.js +363 -269
  553. package/dist/services/document-service/repository.js.map +1 -1
  554. package/dist/services/document-service/repository.mjs +362 -270
  555. package/dist/services/document-service/repository.mjs.map +1 -1
  556. package/dist/services/document-service/transform/data.js +22 -12
  557. package/dist/services/document-service/transform/data.js.map +1 -1
  558. package/dist/services/document-service/transform/data.mjs +21 -13
  559. package/dist/services/document-service/transform/data.mjs.map +1 -1
  560. package/dist/services/document-service/transform/fields.js +26 -17
  561. package/dist/services/document-service/transform/fields.js.map +1 -1
  562. package/dist/services/document-service/transform/fields.mjs +25 -18
  563. package/dist/services/document-service/transform/fields.mjs.map +1 -1
  564. package/dist/services/document-service/transform/id-map.d.ts +1 -1
  565. package/dist/services/document-service/transform/id-map.d.ts.map +1 -1
  566. package/dist/services/document-service/transform/id-map.js +116 -69
  567. package/dist/services/document-service/transform/id-map.js.map +1 -1
  568. package/dist/services/document-service/transform/id-map.mjs +115 -70
  569. package/dist/services/document-service/transform/id-map.mjs.map +1 -1
  570. package/dist/services/document-service/transform/id-transform.d.ts +1 -1
  571. package/dist/services/document-service/transform/id-transform.d.ts.map +1 -1
  572. package/dist/services/document-service/transform/id-transform.js +38 -30
  573. package/dist/services/document-service/transform/id-transform.js.map +1 -1
  574. package/dist/services/document-service/transform/id-transform.mjs +36 -30
  575. package/dist/services/document-service/transform/id-transform.mjs.map +1 -1
  576. package/dist/services/document-service/transform/populate.js +23 -18
  577. package/dist/services/document-service/transform/populate.js.map +1 -1
  578. package/dist/services/document-service/transform/populate.mjs +22 -19
  579. package/dist/services/document-service/transform/populate.mjs.map +1 -1
  580. package/dist/services/document-service/transform/query.js +11 -6
  581. package/dist/services/document-service/transform/query.js.map +1 -1
  582. package/dist/services/document-service/transform/query.mjs +10 -7
  583. package/dist/services/document-service/transform/query.mjs.map +1 -1
  584. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts +1 -1
  585. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts.map +1 -1
  586. package/dist/services/document-service/transform/relations/extract/data-ids.js +71 -48
  587. package/dist/services/document-service/transform/relations/extract/data-ids.js.map +1 -1
  588. package/dist/services/document-service/transform/relations/extract/data-ids.mjs +70 -49
  589. package/dist/services/document-service/transform/relations/extract/data-ids.mjs.map +1 -1
  590. package/dist/services/document-service/transform/relations/transform/data-ids.d.ts.map +1 -1
  591. package/dist/services/document-service/transform/relations/transform/data-ids.js +97 -63
  592. package/dist/services/document-service/transform/relations/transform/data-ids.js.map +1 -1
  593. package/dist/services/document-service/transform/relations/transform/data-ids.mjs +96 -64
  594. package/dist/services/document-service/transform/relations/transform/data-ids.mjs.map +1 -1
  595. package/dist/services/document-service/transform/relations/transform/default-locale.js +47 -29
  596. package/dist/services/document-service/transform/relations/transform/default-locale.js.map +1 -1
  597. package/dist/services/document-service/transform/relations/transform/default-locale.mjs +46 -30
  598. package/dist/services/document-service/transform/relations/transform/default-locale.mjs.map +1 -1
  599. package/dist/services/document-service/transform/relations/utils/dp.d.ts +1 -1
  600. package/dist/services/document-service/transform/relations/utils/dp.d.ts.map +1 -1
  601. package/dist/services/document-service/transform/relations/utils/dp.js +52 -26
  602. package/dist/services/document-service/transform/relations/utils/dp.js.map +1 -1
  603. package/dist/services/document-service/transform/relations/utils/dp.mjs +51 -27
  604. package/dist/services/document-service/transform/relations/utils/dp.mjs.map +1 -1
  605. package/dist/services/document-service/transform/relations/utils/i18n.d.ts +1 -1
  606. package/dist/services/document-service/transform/relations/utils/i18n.d.ts.map +1 -1
  607. package/dist/services/document-service/transform/relations/utils/i18n.js +20 -18
  608. package/dist/services/document-service/transform/relations/utils/i18n.js.map +1 -1
  609. package/dist/services/document-service/transform/relations/utils/i18n.mjs +19 -21
  610. package/dist/services/document-service/transform/relations/utils/i18n.mjs.map +1 -1
  611. package/dist/services/document-service/transform/relations/utils/map-relation.d.ts.map +1 -1
  612. package/dist/services/document-service/transform/relations/utils/map-relation.js +118 -79
  613. package/dist/services/document-service/transform/relations/utils/map-relation.js.map +1 -1
  614. package/dist/services/document-service/transform/relations/utils/map-relation.mjs +115 -79
  615. package/dist/services/document-service/transform/relations/utils/map-relation.mjs.map +1 -1
  616. package/dist/services/document-service/utils/bidirectional-relations.d.ts +95 -0
  617. package/dist/services/document-service/utils/bidirectional-relations.d.ts.map +1 -0
  618. package/dist/services/document-service/utils/bidirectional-relations.js +148 -0
  619. package/dist/services/document-service/utils/bidirectional-relations.js.map +1 -0
  620. package/dist/services/document-service/utils/bidirectional-relations.mjs +145 -0
  621. package/dist/services/document-service/utils/bidirectional-relations.mjs.map +1 -0
  622. package/dist/services/document-service/utils/clean-component-join-table.d.ts +7 -0
  623. package/dist/services/document-service/utils/clean-component-join-table.d.ts.map +1 -0
  624. package/dist/services/document-service/utils/clean-component-join-table.js +145 -0
  625. package/dist/services/document-service/utils/clean-component-join-table.js.map +1 -0
  626. package/dist/services/document-service/utils/clean-component-join-table.mjs +143 -0
  627. package/dist/services/document-service/utils/clean-component-join-table.mjs.map +1 -0
  628. package/dist/services/document-service/utils/populate.d.ts +1 -1
  629. package/dist/services/document-service/utils/populate.d.ts.map +1 -1
  630. package/dist/services/document-service/utils/populate.js +67 -37
  631. package/dist/services/document-service/utils/populate.js.map +1 -1
  632. package/dist/services/document-service/utils/populate.mjs +66 -38
  633. package/dist/services/document-service/utils/populate.mjs.map +1 -1
  634. package/dist/services/document-service/utils/unidirectional-relations.d.ts +53 -0
  635. package/dist/services/document-service/utils/unidirectional-relations.d.ts.map +1 -0
  636. package/dist/services/document-service/utils/unidirectional-relations.js +131 -0
  637. package/dist/services/document-service/utils/unidirectional-relations.js.map +1 -0
  638. package/dist/services/document-service/utils/unidirectional-relations.mjs +128 -0
  639. package/dist/services/document-service/utils/unidirectional-relations.mjs.map +1 -0
  640. package/dist/services/entity-service/index.js +230 -161
  641. package/dist/services/entity-service/index.js.map +1 -1
  642. package/dist/services/entity-service/index.mjs +229 -160
  643. package/dist/services/entity-service/index.mjs.map +1 -1
  644. package/dist/services/entity-validator/blocks-validator.d.ts +1 -2
  645. package/dist/services/entity-validator/blocks-validator.d.ts.map +1 -1
  646. package/dist/services/entity-validator/blocks-validator.js +137 -104
  647. package/dist/services/entity-validator/blocks-validator.js.map +1 -1
  648. package/dist/services/entity-validator/blocks-validator.mjs +135 -105
  649. package/dist/services/entity-validator/blocks-validator.mjs.map +1 -1
  650. package/dist/services/entity-validator/index.d.ts +15 -1
  651. package/dist/services/entity-validator/index.d.ts.map +1 -1
  652. package/dist/services/entity-validator/index.js +370 -310
  653. package/dist/services/entity-validator/index.js.map +1 -1
  654. package/dist/services/entity-validator/index.mjs +366 -307
  655. package/dist/services/entity-validator/index.mjs.map +1 -1
  656. package/dist/services/entity-validator/validators.d.ts +37 -25
  657. package/dist/services/entity-validator/validators.d.ts.map +1 -1
  658. package/dist/services/entity-validator/validators.js +286 -110
  659. package/dist/services/entity-validator/validators.js.map +1 -1
  660. package/dist/services/entity-validator/validators.mjs +277 -108
  661. package/dist/services/entity-validator/validators.mjs.map +1 -1
  662. package/dist/services/errors.js +65 -65
  663. package/dist/services/errors.js.map +1 -1
  664. package/dist/services/errors.mjs +64 -66
  665. package/dist/services/errors.mjs.map +1 -1
  666. package/dist/services/event-hub.js +82 -69
  667. package/dist/services/event-hub.js.map +1 -1
  668. package/dist/services/event-hub.mjs +81 -71
  669. package/dist/services/event-hub.mjs.map +1 -1
  670. package/dist/services/features.js +19 -14
  671. package/dist/services/features.js.map +1 -1
  672. package/dist/services/features.mjs +18 -15
  673. package/dist/services/features.mjs.map +1 -1
  674. package/dist/services/fs.js +41 -40
  675. package/dist/services/fs.js.map +1 -1
  676. package/dist/services/fs.mjs +40 -39
  677. package/dist/services/fs.mjs.map +1 -1
  678. package/dist/services/metrics/admin-user-hash.d.ts.map +1 -1
  679. package/dist/services/metrics/admin-user-hash.js +13 -11
  680. package/dist/services/metrics/admin-user-hash.js.map +1 -1
  681. package/dist/services/metrics/admin-user-hash.mjs +12 -10
  682. package/dist/services/metrics/admin-user-hash.mjs.map +1 -1
  683. package/dist/services/metrics/index.d.ts +1 -1
  684. package/dist/services/metrics/index.d.ts.map +1 -1
  685. package/dist/services/metrics/index.js +48 -40
  686. package/dist/services/metrics/index.js.map +1 -1
  687. package/dist/services/metrics/index.mjs +47 -42
  688. package/dist/services/metrics/index.mjs.map +1 -1
  689. package/dist/services/metrics/is-truthy.js +13 -6
  690. package/dist/services/metrics/is-truthy.js.map +1 -1
  691. package/dist/services/metrics/is-truthy.mjs +12 -6
  692. package/dist/services/metrics/is-truthy.mjs.map +1 -1
  693. package/dist/services/metrics/middleware.d.ts +2 -1
  694. package/dist/services/metrics/middleware.d.ts.map +1 -1
  695. package/dist/services/metrics/middleware.js +37 -22
  696. package/dist/services/metrics/middleware.js.map +1 -1
  697. package/dist/services/metrics/middleware.mjs +36 -24
  698. package/dist/services/metrics/middleware.mjs.map +1 -1
  699. package/dist/services/metrics/rate-limiter.d.ts.map +1 -1
  700. package/dist/services/metrics/rate-limiter.js +24 -19
  701. package/dist/services/metrics/rate-limiter.js.map +1 -1
  702. package/dist/services/metrics/rate-limiter.mjs +23 -21
  703. package/dist/services/metrics/rate-limiter.mjs.map +1 -1
  704. package/dist/services/metrics/sender.d.ts.map +1 -1
  705. package/dist/services/metrics/sender.js +79 -69
  706. package/dist/services/metrics/sender.js.map +1 -1
  707. package/dist/services/metrics/sender.mjs +78 -64
  708. package/dist/services/metrics/sender.mjs.map +1 -1
  709. package/dist/services/query-params.js +13 -10
  710. package/dist/services/query-params.js.map +1 -1
  711. package/dist/services/query-params.mjs +12 -12
  712. package/dist/services/query-params.mjs.map +1 -1
  713. package/dist/services/reloader.js +35 -32
  714. package/dist/services/reloader.js.map +1 -1
  715. package/dist/services/reloader.mjs +34 -33
  716. package/dist/services/reloader.mjs.map +1 -1
  717. package/dist/services/request-context.js +11 -8
  718. package/dist/services/request-context.js.map +1 -1
  719. package/dist/services/request-context.mjs +10 -10
  720. package/dist/services/request-context.mjs.map +1 -1
  721. package/dist/services/server/admin-api.js +11 -10
  722. package/dist/services/server/admin-api.js.map +1 -1
  723. package/dist/services/server/admin-api.mjs +10 -11
  724. package/dist/services/server/admin-api.mjs.map +1 -1
  725. package/dist/services/server/api.js +33 -27
  726. package/dist/services/server/api.js.map +1 -1
  727. package/dist/services/server/api.mjs +32 -26
  728. package/dist/services/server/api.mjs.map +1 -1
  729. package/dist/services/server/compose-endpoint.js +116 -105
  730. package/dist/services/server/compose-endpoint.js.map +1 -1
  731. package/dist/services/server/compose-endpoint.mjs +115 -105
  732. package/dist/services/server/compose-endpoint.mjs.map +1 -1
  733. package/dist/services/server/content-api.js +11 -9
  734. package/dist/services/server/content-api.js.map +1 -1
  735. package/dist/services/server/content-api.mjs +10 -10
  736. package/dist/services/server/content-api.mjs.map +1 -1
  737. package/dist/services/server/http-server.js +48 -44
  738. package/dist/services/server/http-server.js.map +1 -1
  739. package/dist/services/server/http-server.mjs +47 -43
  740. package/dist/services/server/http-server.mjs.map +1 -1
  741. package/dist/services/server/index.js +85 -82
  742. package/dist/services/server/index.js.map +1 -1
  743. package/dist/services/server/index.mjs +84 -81
  744. package/dist/services/server/index.mjs.map +1 -1
  745. package/dist/services/server/koa.js +49 -47
  746. package/dist/services/server/koa.js.map +1 -1
  747. package/dist/services/server/koa.mjs +48 -44
  748. package/dist/services/server/koa.mjs.map +1 -1
  749. package/dist/services/server/middleware.js +86 -82
  750. package/dist/services/server/middleware.js.map +1 -1
  751. package/dist/services/server/middleware.mjs +85 -82
  752. package/dist/services/server/middleware.mjs.map +1 -1
  753. package/dist/services/server/policy.js +24 -17
  754. package/dist/services/server/policy.js.map +1 -1
  755. package/dist/services/server/policy.mjs +23 -18
  756. package/dist/services/server/policy.mjs.map +1 -1
  757. package/dist/services/server/register-middlewares.js +68 -61
  758. package/dist/services/server/register-middlewares.js.map +1 -1
  759. package/dist/services/server/register-middlewares.mjs +67 -63
  760. package/dist/services/server/register-middlewares.mjs.map +1 -1
  761. package/dist/services/server/register-routes.js +109 -66
  762. package/dist/services/server/register-routes.js.map +1 -1
  763. package/dist/services/server/register-routes.mjs +108 -66
  764. package/dist/services/server/register-routes.mjs.map +1 -1
  765. package/dist/services/server/routing.d.ts +10 -0
  766. package/dist/services/server/routing.d.ts.map +1 -1
  767. package/dist/services/server/routing.js +100 -81
  768. package/dist/services/server/routing.js.map +1 -1
  769. package/dist/services/server/routing.mjs +99 -81
  770. package/dist/services/server/routing.mjs.map +1 -1
  771. package/dist/services/session-manager.d.ts +167 -0
  772. package/dist/services/session-manager.d.ts.map +1 -0
  773. package/dist/services/session-manager.js +529 -0
  774. package/dist/services/session-manager.js.map +1 -0
  775. package/dist/services/session-manager.mjs +526 -0
  776. package/dist/services/session-manager.mjs.map +1 -0
  777. package/dist/services/utils/conditional-fields.d.ts +3 -0
  778. package/dist/services/utils/conditional-fields.d.ts.map +1 -0
  779. package/dist/services/utils/conditional-fields.js +22 -0
  780. package/dist/services/utils/conditional-fields.js.map +1 -0
  781. package/dist/services/utils/conditional-fields.mjs +20 -0
  782. package/dist/services/utils/conditional-fields.mjs.map +1 -0
  783. package/dist/services/utils/dynamic-zones.js +13 -14
  784. package/dist/services/utils/dynamic-zones.js.map +1 -1
  785. package/dist/services/utils/dynamic-zones.mjs +12 -16
  786. package/dist/services/utils/dynamic-zones.mjs.map +1 -1
  787. package/dist/services/webhook-runner.js +124 -122
  788. package/dist/services/webhook-runner.js.map +1 -1
  789. package/dist/services/webhook-runner.mjs +123 -121
  790. package/dist/services/webhook-runner.mjs.map +1 -1
  791. package/dist/services/webhook-store.js +132 -99
  792. package/dist/services/webhook-store.js.map +1 -1
  793. package/dist/services/webhook-store.mjs +131 -101
  794. package/dist/services/webhook-store.mjs.map +1 -1
  795. package/dist/services/worker-queue.js +44 -49
  796. package/dist/services/worker-queue.js.map +1 -1
  797. package/dist/services/worker-queue.mjs +43 -49
  798. package/dist/services/worker-queue.mjs.map +1 -1
  799. package/dist/utils/convert-custom-field-type.js +17 -20
  800. package/dist/utils/convert-custom-field-type.js.map +1 -1
  801. package/dist/utils/convert-custom-field-type.mjs +16 -21
  802. package/dist/utils/convert-custom-field-type.mjs.map +1 -1
  803. package/dist/utils/cron.js +64 -30
  804. package/dist/utils/cron.js.map +1 -1
  805. package/dist/utils/cron.mjs +63 -31
  806. package/dist/utils/cron.mjs.map +1 -1
  807. package/dist/utils/fetch.d.ts +5 -1
  808. package/dist/utils/fetch.d.ts.map +1 -1
  809. package/dist/utils/fetch.js +28 -17
  810. package/dist/utils/fetch.js.map +1 -1
  811. package/dist/utils/fetch.mjs +27 -18
  812. package/dist/utils/fetch.mjs.map +1 -1
  813. package/dist/utils/filepath-to-prop-path.d.ts +1 -1
  814. package/dist/utils/filepath-to-prop-path.d.ts.map +1 -1
  815. package/dist/utils/filepath-to-prop-path.js +22 -9
  816. package/dist/utils/filepath-to-prop-path.js.map +1 -1
  817. package/dist/utils/filepath-to-prop-path.mjs +20 -7
  818. package/dist/utils/filepath-to-prop-path.mjs.map +1 -1
  819. package/dist/utils/is-initialized.js +21 -12
  820. package/dist/utils/is-initialized.js.map +1 -1
  821. package/dist/utils/is-initialized.mjs +20 -13
  822. package/dist/utils/is-initialized.mjs.map +1 -1
  823. package/dist/utils/lifecycles.js +6 -5
  824. package/dist/utils/lifecycles.js.map +1 -1
  825. package/dist/utils/lifecycles.mjs +5 -6
  826. package/dist/utils/lifecycles.mjs.map +1 -1
  827. package/dist/utils/load-config-file.js +40 -38
  828. package/dist/utils/load-config-file.js.map +1 -1
  829. package/dist/utils/load-config-file.mjs +39 -36
  830. package/dist/utils/load-config-file.mjs.map +1 -1
  831. package/dist/utils/load-files.js +40 -35
  832. package/dist/utils/load-files.js.map +1 -1
  833. package/dist/utils/load-files.mjs +39 -32
  834. package/dist/utils/load-files.mjs.map +1 -1
  835. package/dist/utils/open-browser.js +8 -8
  836. package/dist/utils/open-browser.js.map +1 -1
  837. package/dist/utils/open-browser.mjs +7 -7
  838. package/dist/utils/open-browser.mjs.map +1 -1
  839. package/dist/utils/resolve-working-dirs.js +23 -10
  840. package/dist/utils/resolve-working-dirs.js.map +1 -1
  841. package/dist/utils/resolve-working-dirs.mjs +22 -9
  842. package/dist/utils/resolve-working-dirs.mjs.map +1 -1
  843. package/dist/utils/signals.js +20 -14
  844. package/dist/utils/signals.js.map +1 -1
  845. package/dist/utils/signals.mjs +19 -15
  846. package/dist/utils/signals.mjs.map +1 -1
  847. package/dist/utils/startup-logger.d.ts.map +1 -1
  848. package/dist/utils/startup-logger.js +107 -78
  849. package/dist/utils/startup-logger.js.map +1 -1
  850. package/dist/utils/startup-logger.mjs +106 -75
  851. package/dist/utils/startup-logger.mjs.map +1 -1
  852. package/dist/utils/transform-content-types-to-models.d.ts +552 -23
  853. package/dist/utils/transform-content-types-to-models.d.ts.map +1 -1
  854. package/dist/utils/transform-content-types-to-models.js +350 -248
  855. package/dist/utils/transform-content-types-to-models.js.map +1 -1
  856. package/dist/utils/transform-content-types-to-models.mjs +349 -256
  857. package/dist/utils/transform-content-types-to-models.mjs.map +1 -1
  858. package/dist/utils/update-notifier/index.d.ts.map +1 -1
  859. package/dist/utils/update-notifier/index.js +68 -73
  860. package/dist/utils/update-notifier/index.js.map +1 -1
  861. package/dist/utils/update-notifier/index.mjs +67 -67
  862. package/dist/utils/update-notifier/index.mjs.map +1 -1
  863. package/package.json +37 -33
@@ -1,87 +1,107 @@
1
- "use strict";
2
- const _ = require("lodash");
3
- const action = require("./providers/action.js");
4
- const condition = require("./providers/condition.js");
5
- const engine = require("./engine.js");
6
- const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
7
- const ___default = /* @__PURE__ */ _interopDefault(_);
8
- const typeSymbol = Symbol.for("__type__");
9
- const createValidatePermissionHandler = (actionProvider) => ({ permission }) => {
10
- const action2 = actionProvider.get(permission.action);
11
- if (!action2) {
12
- strapi.log.debug(
13
- `Unknown action "${permission.action}" supplied when registering a new permission`
14
- );
15
- return false;
16
- }
17
- return true;
18
- };
19
- const instantiatePermissionsUtilities = (strapi2) => {
20
- const providers = {
21
- action: action(),
22
- condition: condition()
23
- };
24
- const getActionsMap = () => {
25
- const actionMap = {};
26
- const isContentApi = (action2) => {
27
- if (!___default.default.has(action2, typeSymbol)) {
28
- return false;
29
- }
30
- return action2[typeSymbol].includes("content-api");
1
+ 'use strict';
2
+
3
+ var _ = require('lodash');
4
+ var action = require('./providers/action.js');
5
+ var condition = require('./providers/condition.js');
6
+ var engine = require('./engine.js');
7
+
8
+ const typeSymbol = Symbol.for('__type__');
9
+ /**
10
+ * Creates a handler that checks if the permission's action exists in the action registry
11
+ */ const createValidatePermissionHandler = (actionProvider)=>({ permission })=>{
12
+ const action = actionProvider.get(permission.action);
13
+ // If the action isn't registered into the action provider, then ignore the permission and warn the user
14
+ if (!action) {
15
+ strapi.log.debug(`Unknown action "${permission.action}" supplied when registering a new permission`);
16
+ return false;
17
+ }
18
+ return true;
19
+ };
20
+ /**
21
+ * Create instances of providers and permission engine for the core content-API service.
22
+ * Also, expose utilities to get information about available actions and such.
23
+ */ var instantiatePermissionsUtilities = ((strapi1)=>{
24
+ // NOTE: Here we define both an action and condition provider,
25
+ // but at the moment, we're only using the action one.
26
+ const providers = {
27
+ action: action(),
28
+ condition: condition()
31
29
  };
32
- const registerAPIsActions = (apis, source) => {
33
- ___default.default.forEach(apis, (api, apiName) => {
34
- const controllers = ___default.default.reduce(
35
- api.controllers,
36
- (acc, controller, controllerName) => {
37
- const contentApiActions = ___default.default.pickBy(controller, isContentApi);
38
- if (___default.default.isEmpty(contentApiActions)) {
39
- return acc;
30
+ /**
31
+ * Get a tree representation of the available Content API actions
32
+ * based on the methods of the Content API controllers.
33
+ *
34
+ * @note Only actions bound to a content-API route are returned.
35
+ */ const getActionsMap = ()=>{
36
+ const actionMap = {};
37
+ /**
38
+ * Check if a controller's action is bound to the
39
+ * content-api by looking at a potential __type__ symbol
40
+ */ const isContentApi = (action)=>{
41
+ if (!_.has(action, typeSymbol)) {
42
+ return false;
43
+ }
44
+ return action[typeSymbol].includes('content-api');
45
+ };
46
+ /**
47
+ * Register actions from a specific API source into the result tree
48
+ */ const registerAPIsActions = (apis, source)=>{
49
+ _.forEach(apis, (api, apiName)=>{
50
+ const controllers = _.reduce(api.controllers, (acc, controller, controllerName)=>{
51
+ const contentApiActions = _.pickBy(controller, isContentApi);
52
+ if (_.isEmpty(contentApiActions)) {
53
+ return acc;
54
+ }
55
+ acc[controllerName] = Object.keys(contentApiActions);
56
+ return acc;
57
+ }, {});
58
+ if (!_.isEmpty(controllers)) {
59
+ actionMap[`${source}::${apiName}`] = {
60
+ controllers
61
+ };
62
+ }
63
+ });
64
+ };
65
+ registerAPIsActions(strapi1.apis, 'api');
66
+ registerAPIsActions(strapi1.plugins, 'plugin');
67
+ return actionMap;
68
+ };
69
+ /**
70
+ * Register all the content-API controllers actions into the action provider.
71
+ * This method make use of the {@link getActionsMap} to generate the list of actions to register.
72
+ */ const registerActions = async ()=>{
73
+ const actionsMap = getActionsMap();
74
+ // For each API
75
+ for (const [api, value] of Object.entries(actionsMap)){
76
+ const { controllers } = value;
77
+ // Register controllers methods as actions
78
+ for (const [controller, actions] of Object.entries(controllers)){
79
+ // Register each action individually
80
+ await Promise.all(actions.map((action)=>{
81
+ const actionUID = `${api}.${controller}.${action}`;
82
+ return providers.action.register(actionUID, {
83
+ api,
84
+ controller,
85
+ action,
86
+ uid: actionUID
87
+ });
88
+ }));
40
89
  }
41
- acc[controllerName] = Object.keys(contentApiActions);
42
- return acc;
43
- },
44
- {}
45
- );
46
- if (!___default.default.isEmpty(controllers)) {
47
- actionMap[`${source}::${apiName}`] = { controllers };
48
90
  }
49
- });
50
91
  };
51
- registerAPIsActions(strapi2.apis, "api");
52
- registerAPIsActions(strapi2.plugins, "plugin");
53
- return actionMap;
54
- };
55
- const registerActions = async () => {
56
- const actionsMap = getActionsMap();
57
- for (const [api, value] of Object.entries(actionsMap)) {
58
- const { controllers } = value;
59
- for (const [controller, actions] of Object.entries(controllers)) {
60
- await Promise.all(
61
- actions.map((action2) => {
62
- const actionUID = `${api}.${controller}.${action2}`;
63
- return providers.action.register(actionUID, {
64
- api,
65
- controller,
66
- action: action2,
67
- uid: actionUID
68
- });
69
- })
70
- );
71
- }
72
- }
73
- };
74
- const engine$1 = engine({ providers });
75
- engine$1.on(
76
- "before-format::validate.permission",
77
- createValidatePermissionHandler(providers.action)
78
- );
79
- return {
80
- engine: engine$1,
81
- providers,
82
- registerActions,
83
- getActionsMap
84
- };
85
- };
92
+ // Create an instance of a content-API permission engine
93
+ // and binds a custom validation handler to it
94
+ const engine$1 = engine({
95
+ providers
96
+ });
97
+ engine$1.on('before-format::validate.permission', createValidatePermissionHandler(providers.action));
98
+ return {
99
+ engine: engine$1,
100
+ providers,
101
+ registerActions,
102
+ getActionsMap
103
+ };
104
+ });
105
+
86
106
  module.exports = instantiatePermissionsUtilities;
87
107
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/services/content-api/permissions/index.ts"],"sourcesContent":["import _ from 'lodash';\nimport type { Core } from '@strapi/types';\nimport { createActionProvider, createConditionProvider } from './providers';\nimport createPermissionEngine from './engine';\n\nconst typeSymbol = Symbol.for('__type__');\n\ninterface ValidatePermissionHandler {\n (params: { permission: { action: string } }): boolean;\n}\n\n/**\n * Creates a handler that checks if the permission's action exists in the action registry\n */\nconst createValidatePermissionHandler =\n (actionProvider: ReturnType<typeof createActionProvider>): ValidatePermissionHandler =>\n ({ permission }) => {\n const action = actionProvider.get(permission.action);\n\n // If the action isn't registered into the action provider, then ignore the permission and warn the user\n if (!action) {\n strapi.log.debug(\n `Unknown action \"${permission.action}\" supplied when registering a new permission`\n );\n\n return false;\n }\n\n return true;\n };\n\n/**\n * Create instances of providers and permission engine for the core content-API service.\n * Also, expose utilities to get information about available actions and such.\n */\nexport default (strapi: Core.Strapi) => {\n // NOTE: Here we define both an action and condition provider,\n // but at the moment, we're only using the action one.\n const providers = {\n action: createActionProvider(),\n condition: createConditionProvider(),\n };\n\n /**\n * Get a tree representation of the available Content API actions\n * based on the methods of the Content API controllers.\n *\n * @note Only actions bound to a content-API route are returned.\n */\n const getActionsMap = () => {\n const actionMap: Record<\n string,\n {\n controllers: Record<string, string[]>;\n }\n > = {};\n\n /**\n * Check if a controller's action is bound to the\n * content-api by looking at a potential __type__ symbol\n */\n const isContentApi = (action: Core.ControllerHandler & { [s: symbol]: any }) => {\n if (!_.has(action, typeSymbol)) {\n return false;\n }\n\n return action[typeSymbol].includes('content-api');\n };\n\n /**\n * Register actions from a specific API source into the result tree\n */\n const registerAPIsActions = (\n apis: Record<string, Core.Plugin | Core.Module>,\n source: 'api' | 'plugin'\n ) => {\n _.forEach(apis, (api, apiName) => {\n const controllers = _.reduce(\n api.controllers,\n (acc, controller, controllerName) => {\n const contentApiActions = _.pickBy(controller, isContentApi);\n\n if (_.isEmpty(contentApiActions)) {\n return acc;\n }\n\n acc[controllerName] = Object.keys(contentApiActions);\n\n return acc;\n },\n {} as Record<string, string[]>\n );\n\n if (!_.isEmpty(controllers)) {\n actionMap[`${source}::${apiName}`] = { controllers };\n }\n });\n };\n\n registerAPIsActions(strapi.apis, 'api');\n registerAPIsActions(strapi.plugins, 'plugin');\n\n return actionMap;\n };\n\n /**\n * Register all the content-API controllers actions into the action provider.\n * This method make use of the {@link getActionsMap} to generate the list of actions to register.\n */\n const registerActions = async () => {\n const actionsMap = getActionsMap();\n\n // For each API\n for (const [api, value] of Object.entries(actionsMap)) {\n const { controllers } = value;\n\n // Register controllers methods as actions\n for (const [controller, actions] of Object.entries(controllers)) {\n // Register each action individually\n await Promise.all(\n actions.map((action) => {\n const actionUID = `${api}.${controller}.${action}`;\n\n return providers.action.register(actionUID, {\n api,\n controller,\n action,\n uid: actionUID,\n });\n })\n );\n }\n }\n };\n\n // Create an instance of a content-API permission engine\n // and binds a custom validation handler to it\n const engine = createPermissionEngine({ providers });\n\n engine.on(\n 'before-format::validate.permission',\n createValidatePermissionHandler(providers.action)\n );\n\n return {\n engine,\n providers,\n registerActions,\n getActionsMap,\n };\n};\n"],"names":["action","strapi","createActionProvider","createConditionProvider","_","engine","createPermissionEngine"],"mappings":";;;;;;;AAKA,MAAM,aAAa,OAAO,IAAI,UAAU;AASxC,MAAM,kCACJ,CAAC,mBACD,CAAC,EAAE,iBAAiB;AAClB,QAAMA,UAAS,eAAe,IAAI,WAAW,MAAM;AAGnD,MAAI,CAACA,SAAQ;AACX,WAAO,IAAI;AAAA,MACT,mBAAmB,WAAW,MAAM;AAAA,IAAA;AAG/B,WAAA;AAAA,EACT;AAEO,SAAA;AACT;AAMF,MAAe,kCAAA,CAACC,YAAwB;AAGtC,QAAM,YAAY;AAAA,IAChB,QAAQC,OAAqB;AAAA,IAC7B,WAAWC,UAAwB;AAAA,EAAA;AASrC,QAAM,gBAAgB,MAAM;AAC1B,UAAM,YAKF,CAAA;AAME,UAAA,eAAe,CAACH,YAA0D;AAC9E,UAAI,CAACI,WAAAA,QAAE,IAAIJ,SAAQ,UAAU,GAAG;AACvB,eAAA;AAAA,MACT;AAEA,aAAOA,QAAO,UAAU,EAAE,SAAS,aAAa;AAAA,IAAA;AAM5C,UAAA,sBAAsB,CAC1B,MACA,WACG;AACHI,iBAAAA,QAAE,QAAQ,MAAM,CAAC,KAAK,YAAY;AAChC,cAAM,cAAcA,WAAAA,QAAE;AAAA,UACpB,IAAI;AAAA,UACJ,CAAC,KAAK,YAAY,mBAAmB;AACnC,kBAAM,oBAAoBA,WAAA,QAAE,OAAO,YAAY,YAAY;AAEvD,gBAAAA,WAAA,QAAE,QAAQ,iBAAiB,GAAG;AACzB,qBAAA;AAAA,YACT;AAEA,gBAAI,cAAc,IAAI,OAAO,KAAK,iBAAiB;AAE5C,mBAAA;AAAA,UACT;AAAA,UACA,CAAC;AAAA,QAAA;AAGH,YAAI,CAACA,WAAA,QAAE,QAAQ,WAAW,GAAG;AAC3B,oBAAU,GAAG,MAAM,KAAK,OAAO,EAAE,IAAI,EAAE;QACzC;AAAA,MAAA,CACD;AAAA,IAAA;AAGiBH,wBAAAA,QAAO,MAAM,KAAK;AAClBA,wBAAAA,QAAO,SAAS,QAAQ;AAErC,WAAA;AAAA,EAAA;AAOT,QAAM,kBAAkB,YAAY;AAClC,UAAM,aAAa;AAGnB,eAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,UAAU,GAAG;AAC/C,YAAA,EAAE,YAAgB,IAAA;AAGxB,iBAAW,CAAC,YAAY,OAAO,KAAK,OAAO,QAAQ,WAAW,GAAG;AAE/D,cAAM,QAAQ;AAAA,UACZ,QAAQ,IAAI,CAACD,YAAW;AACtB,kBAAM,YAAY,GAAG,GAAG,IAAI,UAAU,IAAIA,OAAM;AAEzC,mBAAA,UAAU,OAAO,SAAS,WAAW;AAAA,cAC1C;AAAA,cACA;AAAA,cACA,QAAAA;AAAA,cACA,KAAK;AAAA,YAAA,CACN;AAAA,UAAA,CACF;AAAA,QAAA;AAAA,MAEL;AAAA,IACF;AAAA,EAAA;AAKF,QAAMK,WAASC,OAAuB,EAAE,UAAW,CAAA;AAE5CD,WAAA;AAAA,IACL;AAAA,IACA,gCAAgC,UAAU,MAAM;AAAA,EAAA;AAG3C,SAAA;AAAA,IAAA,QACLA;AAAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/services/content-api/permissions/index.ts"],"sourcesContent":["import _ from 'lodash';\nimport type { Core } from '@strapi/types';\nimport { createActionProvider, createConditionProvider } from './providers';\nimport createPermissionEngine from './engine';\n\nconst typeSymbol = Symbol.for('__type__');\n\ninterface ValidatePermissionHandler {\n (params: { permission: { action: string } }): boolean;\n}\n\n/**\n * Creates a handler that checks if the permission's action exists in the action registry\n */\nconst createValidatePermissionHandler =\n (actionProvider: ReturnType<typeof createActionProvider>): ValidatePermissionHandler =>\n ({ permission }) => {\n const action = actionProvider.get(permission.action);\n\n // If the action isn't registered into the action provider, then ignore the permission and warn the user\n if (!action) {\n strapi.log.debug(\n `Unknown action \"${permission.action}\" supplied when registering a new permission`\n );\n\n return false;\n }\n\n return true;\n };\n\n/**\n * Create instances of providers and permission engine for the core content-API service.\n * Also, expose utilities to get information about available actions and such.\n */\nexport default (strapi: Core.Strapi) => {\n // NOTE: Here we define both an action and condition provider,\n // but at the moment, we're only using the action one.\n const providers = {\n action: createActionProvider(),\n condition: createConditionProvider(),\n };\n\n /**\n * Get a tree representation of the available Content API actions\n * based on the methods of the Content API controllers.\n *\n * @note Only actions bound to a content-API route are returned.\n */\n const getActionsMap = () => {\n const actionMap: Record<\n string,\n {\n controllers: Record<string, string[]>;\n }\n > = {};\n\n /**\n * Check if a controller's action is bound to the\n * content-api by looking at a potential __type__ symbol\n */\n const isContentApi = (action: Core.ControllerHandler & { [s: symbol]: any }) => {\n if (!_.has(action, typeSymbol)) {\n return false;\n }\n\n return action[typeSymbol].includes('content-api');\n };\n\n /**\n * Register actions from a specific API source into the result tree\n */\n const registerAPIsActions = (\n apis: Record<string, Core.Plugin | Core.Module>,\n source: 'api' | 'plugin'\n ) => {\n _.forEach(apis, (api, apiName) => {\n const controllers = _.reduce(\n api.controllers,\n (acc, controller, controllerName) => {\n const contentApiActions = _.pickBy(controller, isContentApi);\n\n if (_.isEmpty(contentApiActions)) {\n return acc;\n }\n\n acc[controllerName] = Object.keys(contentApiActions);\n\n return acc;\n },\n {} as Record<string, string[]>\n );\n\n if (!_.isEmpty(controllers)) {\n actionMap[`${source}::${apiName}`] = { controllers };\n }\n });\n };\n\n registerAPIsActions(strapi.apis, 'api');\n registerAPIsActions(strapi.plugins, 'plugin');\n\n return actionMap;\n };\n\n /**\n * Register all the content-API controllers actions into the action provider.\n * This method make use of the {@link getActionsMap} to generate the list of actions to register.\n */\n const registerActions = async () => {\n const actionsMap = getActionsMap();\n\n // For each API\n for (const [api, value] of Object.entries(actionsMap)) {\n const { controllers } = value;\n\n // Register controllers methods as actions\n for (const [controller, actions] of Object.entries(controllers)) {\n // Register each action individually\n await Promise.all(\n actions.map((action) => {\n const actionUID = `${api}.${controller}.${action}`;\n\n return providers.action.register(actionUID, {\n api,\n controller,\n action,\n uid: actionUID,\n });\n })\n );\n }\n }\n };\n\n // Create an instance of a content-API permission engine\n // and binds a custom validation handler to it\n const engine = createPermissionEngine({ providers });\n\n engine.on(\n 'before-format::validate.permission',\n createValidatePermissionHandler(providers.action)\n );\n\n return {\n engine,\n providers,\n registerActions,\n getActionsMap,\n };\n};\n"],"names":["typeSymbol","Symbol","for","createValidatePermissionHandler","actionProvider","permission","action","get","strapi","log","debug","providers","createActionProvider","condition","createConditionProvider","getActionsMap","actionMap","isContentApi","_","has","includes","registerAPIsActions","apis","source","forEach","api","apiName","controllers","reduce","acc","controller","controllerName","contentApiActions","pickBy","isEmpty","Object","keys","plugins","registerActions","actionsMap","value","entries","actions","Promise","all","map","actionUID","register","uid","engine","createPermissionEngine","on"],"mappings":"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"}
@@ -1,86 +1,105 @@
1
- import _ from "lodash";
2
- import createActionProvider from "./providers/action.mjs";
3
- import createConditionProvider from "./providers/condition.mjs";
4
- import createPermissionEngine from "./engine.mjs";
5
- const typeSymbol = Symbol.for("__type__");
6
- const createValidatePermissionHandler = (actionProvider) => ({ permission }) => {
7
- const action = actionProvider.get(permission.action);
8
- if (!action) {
9
- strapi.log.debug(
10
- `Unknown action "${permission.action}" supplied when registering a new permission`
11
- );
12
- return false;
13
- }
14
- return true;
15
- };
16
- const instantiatePermissionsUtilities = (strapi2) => {
17
- const providers = {
18
- action: createActionProvider(),
19
- condition: createConditionProvider()
20
- };
21
- const getActionsMap = () => {
22
- const actionMap = {};
23
- const isContentApi = (action) => {
24
- if (!_.has(action, typeSymbol)) {
25
- return false;
26
- }
27
- return action[typeSymbol].includes("content-api");
1
+ import _ from 'lodash';
2
+ import createActionProvider from './providers/action.mjs';
3
+ import createConditionProvider from './providers/condition.mjs';
4
+ import createPermissionEngine from './engine.mjs';
5
+
6
+ const typeSymbol = Symbol.for('__type__');
7
+ /**
8
+ * Creates a handler that checks if the permission's action exists in the action registry
9
+ */ const createValidatePermissionHandler = (actionProvider)=>({ permission })=>{
10
+ const action = actionProvider.get(permission.action);
11
+ // If the action isn't registered into the action provider, then ignore the permission and warn the user
12
+ if (!action) {
13
+ strapi.log.debug(`Unknown action "${permission.action}" supplied when registering a new permission`);
14
+ return false;
15
+ }
16
+ return true;
17
+ };
18
+ /**
19
+ * Create instances of providers and permission engine for the core content-API service.
20
+ * Also, expose utilities to get information about available actions and such.
21
+ */ var instantiatePermissionsUtilities = ((strapi1)=>{
22
+ // NOTE: Here we define both an action and condition provider,
23
+ // but at the moment, we're only using the action one.
24
+ const providers = {
25
+ action: createActionProvider(),
26
+ condition: createConditionProvider()
28
27
  };
29
- const registerAPIsActions = (apis, source) => {
30
- _.forEach(apis, (api, apiName) => {
31
- const controllers = _.reduce(
32
- api.controllers,
33
- (acc, controller, controllerName) => {
34
- const contentApiActions = _.pickBy(controller, isContentApi);
35
- if (_.isEmpty(contentApiActions)) {
36
- return acc;
28
+ /**
29
+ * Get a tree representation of the available Content API actions
30
+ * based on the methods of the Content API controllers.
31
+ *
32
+ * @note Only actions bound to a content-API route are returned.
33
+ */ const getActionsMap = ()=>{
34
+ const actionMap = {};
35
+ /**
36
+ * Check if a controller's action is bound to the
37
+ * content-api by looking at a potential __type__ symbol
38
+ */ const isContentApi = (action)=>{
39
+ if (!_.has(action, typeSymbol)) {
40
+ return false;
41
+ }
42
+ return action[typeSymbol].includes('content-api');
43
+ };
44
+ /**
45
+ * Register actions from a specific API source into the result tree
46
+ */ const registerAPIsActions = (apis, source)=>{
47
+ _.forEach(apis, (api, apiName)=>{
48
+ const controllers = _.reduce(api.controllers, (acc, controller, controllerName)=>{
49
+ const contentApiActions = _.pickBy(controller, isContentApi);
50
+ if (_.isEmpty(contentApiActions)) {
51
+ return acc;
52
+ }
53
+ acc[controllerName] = Object.keys(contentApiActions);
54
+ return acc;
55
+ }, {});
56
+ if (!_.isEmpty(controllers)) {
57
+ actionMap[`${source}::${apiName}`] = {
58
+ controllers
59
+ };
60
+ }
61
+ });
62
+ };
63
+ registerAPIsActions(strapi1.apis, 'api');
64
+ registerAPIsActions(strapi1.plugins, 'plugin');
65
+ return actionMap;
66
+ };
67
+ /**
68
+ * Register all the content-API controllers actions into the action provider.
69
+ * This method make use of the {@link getActionsMap} to generate the list of actions to register.
70
+ */ const registerActions = async ()=>{
71
+ const actionsMap = getActionsMap();
72
+ // For each API
73
+ for (const [api, value] of Object.entries(actionsMap)){
74
+ const { controllers } = value;
75
+ // Register controllers methods as actions
76
+ for (const [controller, actions] of Object.entries(controllers)){
77
+ // Register each action individually
78
+ await Promise.all(actions.map((action)=>{
79
+ const actionUID = `${api}.${controller}.${action}`;
80
+ return providers.action.register(actionUID, {
81
+ api,
82
+ controller,
83
+ action,
84
+ uid: actionUID
85
+ });
86
+ }));
37
87
  }
38
- acc[controllerName] = Object.keys(contentApiActions);
39
- return acc;
40
- },
41
- {}
42
- );
43
- if (!_.isEmpty(controllers)) {
44
- actionMap[`${source}::${apiName}`] = { controllers };
45
88
  }
46
- });
47
89
  };
48
- registerAPIsActions(strapi2.apis, "api");
49
- registerAPIsActions(strapi2.plugins, "plugin");
50
- return actionMap;
51
- };
52
- const registerActions = async () => {
53
- const actionsMap = getActionsMap();
54
- for (const [api, value] of Object.entries(actionsMap)) {
55
- const { controllers } = value;
56
- for (const [controller, actions] of Object.entries(controllers)) {
57
- await Promise.all(
58
- actions.map((action) => {
59
- const actionUID = `${api}.${controller}.${action}`;
60
- return providers.action.register(actionUID, {
61
- api,
62
- controller,
63
- action,
64
- uid: actionUID
65
- });
66
- })
67
- );
68
- }
69
- }
70
- };
71
- const engine = createPermissionEngine({ providers });
72
- engine.on(
73
- "before-format::validate.permission",
74
- createValidatePermissionHandler(providers.action)
75
- );
76
- return {
77
- engine,
78
- providers,
79
- registerActions,
80
- getActionsMap
81
- };
82
- };
83
- export {
84
- instantiatePermissionsUtilities as default
85
- };
90
+ // Create an instance of a content-API permission engine
91
+ // and binds a custom validation handler to it
92
+ const engine = createPermissionEngine({
93
+ providers
94
+ });
95
+ engine.on('before-format::validate.permission', createValidatePermissionHandler(providers.action));
96
+ return {
97
+ engine,
98
+ providers,
99
+ registerActions,
100
+ getActionsMap
101
+ };
102
+ });
103
+
104
+ export { instantiatePermissionsUtilities as default };
86
105
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../../src/services/content-api/permissions/index.ts"],"sourcesContent":["import _ from 'lodash';\nimport type { Core } from '@strapi/types';\nimport { createActionProvider, createConditionProvider } from './providers';\nimport createPermissionEngine from './engine';\n\nconst typeSymbol = Symbol.for('__type__');\n\ninterface ValidatePermissionHandler {\n (params: { permission: { action: string } }): boolean;\n}\n\n/**\n * Creates a handler that checks if the permission's action exists in the action registry\n */\nconst createValidatePermissionHandler =\n (actionProvider: ReturnType<typeof createActionProvider>): ValidatePermissionHandler =>\n ({ permission }) => {\n const action = actionProvider.get(permission.action);\n\n // If the action isn't registered into the action provider, then ignore the permission and warn the user\n if (!action) {\n strapi.log.debug(\n `Unknown action \"${permission.action}\" supplied when registering a new permission`\n );\n\n return false;\n }\n\n return true;\n };\n\n/**\n * Create instances of providers and permission engine for the core content-API service.\n * Also, expose utilities to get information about available actions and such.\n */\nexport default (strapi: Core.Strapi) => {\n // NOTE: Here we define both an action and condition provider,\n // but at the moment, we're only using the action one.\n const providers = {\n action: createActionProvider(),\n condition: createConditionProvider(),\n };\n\n /**\n * Get a tree representation of the available Content API actions\n * based on the methods of the Content API controllers.\n *\n * @note Only actions bound to a content-API route are returned.\n */\n const getActionsMap = () => {\n const actionMap: Record<\n string,\n {\n controllers: Record<string, string[]>;\n }\n > = {};\n\n /**\n * Check if a controller's action is bound to the\n * content-api by looking at a potential __type__ symbol\n */\n const isContentApi = (action: Core.ControllerHandler & { [s: symbol]: any }) => {\n if (!_.has(action, typeSymbol)) {\n return false;\n }\n\n return action[typeSymbol].includes('content-api');\n };\n\n /**\n * Register actions from a specific API source into the result tree\n */\n const registerAPIsActions = (\n apis: Record<string, Core.Plugin | Core.Module>,\n source: 'api' | 'plugin'\n ) => {\n _.forEach(apis, (api, apiName) => {\n const controllers = _.reduce(\n api.controllers,\n (acc, controller, controllerName) => {\n const contentApiActions = _.pickBy(controller, isContentApi);\n\n if (_.isEmpty(contentApiActions)) {\n return acc;\n }\n\n acc[controllerName] = Object.keys(contentApiActions);\n\n return acc;\n },\n {} as Record<string, string[]>\n );\n\n if (!_.isEmpty(controllers)) {\n actionMap[`${source}::${apiName}`] = { controllers };\n }\n });\n };\n\n registerAPIsActions(strapi.apis, 'api');\n registerAPIsActions(strapi.plugins, 'plugin');\n\n return actionMap;\n };\n\n /**\n * Register all the content-API controllers actions into the action provider.\n * This method make use of the {@link getActionsMap} to generate the list of actions to register.\n */\n const registerActions = async () => {\n const actionsMap = getActionsMap();\n\n // For each API\n for (const [api, value] of Object.entries(actionsMap)) {\n const { controllers } = value;\n\n // Register controllers methods as actions\n for (const [controller, actions] of Object.entries(controllers)) {\n // Register each action individually\n await Promise.all(\n actions.map((action) => {\n const actionUID = `${api}.${controller}.${action}`;\n\n return providers.action.register(actionUID, {\n api,\n controller,\n action,\n uid: actionUID,\n });\n })\n );\n }\n }\n };\n\n // Create an instance of a content-API permission engine\n // and binds a custom validation handler to it\n const engine = createPermissionEngine({ providers });\n\n engine.on(\n 'before-format::validate.permission',\n createValidatePermissionHandler(providers.action)\n );\n\n return {\n engine,\n providers,\n registerActions,\n getActionsMap,\n };\n};\n"],"names":["strapi"],"mappings":";;;;AAKA,MAAM,aAAa,OAAO,IAAI,UAAU;AASxC,MAAM,kCACJ,CAAC,mBACD,CAAC,EAAE,iBAAiB;AAClB,QAAM,SAAS,eAAe,IAAI,WAAW,MAAM;AAGnD,MAAI,CAAC,QAAQ;AACX,WAAO,IAAI;AAAA,MACT,mBAAmB,WAAW,MAAM;AAAA,IAAA;AAG/B,WAAA;AAAA,EACT;AAEO,SAAA;AACT;AAMF,MAAe,kCAAA,CAACA,YAAwB;AAGtC,QAAM,YAAY;AAAA,IAChB,QAAQ,qBAAqB;AAAA,IAC7B,WAAW,wBAAwB;AAAA,EAAA;AASrC,QAAM,gBAAgB,MAAM;AAC1B,UAAM,YAKF,CAAA;AAME,UAAA,eAAe,CAAC,WAA0D;AAC9E,UAAI,CAAC,EAAE,IAAI,QAAQ,UAAU,GAAG;AACvB,eAAA;AAAA,MACT;AAEA,aAAO,OAAO,UAAU,EAAE,SAAS,aAAa;AAAA,IAAA;AAM5C,UAAA,sBAAsB,CAC1B,MACA,WACG;AACH,QAAE,QAAQ,MAAM,CAAC,KAAK,YAAY;AAChC,cAAM,cAAc,EAAE;AAAA,UACpB,IAAI;AAAA,UACJ,CAAC,KAAK,YAAY,mBAAmB;AACnC,kBAAM,oBAAoB,EAAE,OAAO,YAAY,YAAY;AAEvD,gBAAA,EAAE,QAAQ,iBAAiB,GAAG;AACzB,qBAAA;AAAA,YACT;AAEA,gBAAI,cAAc,IAAI,OAAO,KAAK,iBAAiB;AAE5C,mBAAA;AAAA,UACT;AAAA,UACA,CAAC;AAAA,QAAA;AAGH,YAAI,CAAC,EAAE,QAAQ,WAAW,GAAG;AAC3B,oBAAU,GAAG,MAAM,KAAK,OAAO,EAAE,IAAI,EAAE;QACzC;AAAA,MAAA,CACD;AAAA,IAAA;AAGiBA,wBAAAA,QAAO,MAAM,KAAK;AAClBA,wBAAAA,QAAO,SAAS,QAAQ;AAErC,WAAA;AAAA,EAAA;AAOT,QAAM,kBAAkB,YAAY;AAClC,UAAM,aAAa;AAGnB,eAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,UAAU,GAAG;AAC/C,YAAA,EAAE,YAAgB,IAAA;AAGxB,iBAAW,CAAC,YAAY,OAAO,KAAK,OAAO,QAAQ,WAAW,GAAG;AAE/D,cAAM,QAAQ;AAAA,UACZ,QAAQ,IAAI,CAAC,WAAW;AACtB,kBAAM,YAAY,GAAG,GAAG,IAAI,UAAU,IAAI,MAAM;AAEzC,mBAAA,UAAU,OAAO,SAAS,WAAW;AAAA,cAC1C;AAAA,cACA;AAAA,cACA;AAAA,cACA,KAAK;AAAA,YAAA,CACN;AAAA,UAAA,CACF;AAAA,QAAA;AAAA,MAEL;AAAA,IACF;AAAA,EAAA;AAKF,QAAM,SAAS,uBAAuB,EAAE,UAAW,CAAA;AAE5C,SAAA;AAAA,IACL;AAAA,IACA,gCAAgC,UAAU,MAAM;AAAA,EAAA;AAG3C,SAAA;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../../src/services/content-api/permissions/index.ts"],"sourcesContent":["import _ from 'lodash';\nimport type { Core } from '@strapi/types';\nimport { createActionProvider, createConditionProvider } from './providers';\nimport createPermissionEngine from './engine';\n\nconst typeSymbol = Symbol.for('__type__');\n\ninterface ValidatePermissionHandler {\n (params: { permission: { action: string } }): boolean;\n}\n\n/**\n * Creates a handler that checks if the permission's action exists in the action registry\n */\nconst createValidatePermissionHandler =\n (actionProvider: ReturnType<typeof createActionProvider>): ValidatePermissionHandler =>\n ({ permission }) => {\n const action = actionProvider.get(permission.action);\n\n // If the action isn't registered into the action provider, then ignore the permission and warn the user\n if (!action) {\n strapi.log.debug(\n `Unknown action \"${permission.action}\" supplied when registering a new permission`\n );\n\n return false;\n }\n\n return true;\n };\n\n/**\n * Create instances of providers and permission engine for the core content-API service.\n * Also, expose utilities to get information about available actions and such.\n */\nexport default (strapi: Core.Strapi) => {\n // NOTE: Here we define both an action and condition provider,\n // but at the moment, we're only using the action one.\n const providers = {\n action: createActionProvider(),\n condition: createConditionProvider(),\n };\n\n /**\n * Get a tree representation of the available Content API actions\n * based on the methods of the Content API controllers.\n *\n * @note Only actions bound to a content-API route are returned.\n */\n const getActionsMap = () => {\n const actionMap: Record<\n string,\n {\n controllers: Record<string, string[]>;\n }\n > = {};\n\n /**\n * Check if a controller's action is bound to the\n * content-api by looking at a potential __type__ symbol\n */\n const isContentApi = (action: Core.ControllerHandler & { [s: symbol]: any }) => {\n if (!_.has(action, typeSymbol)) {\n return false;\n }\n\n return action[typeSymbol].includes('content-api');\n };\n\n /**\n * Register actions from a specific API source into the result tree\n */\n const registerAPIsActions = (\n apis: Record<string, Core.Plugin | Core.Module>,\n source: 'api' | 'plugin'\n ) => {\n _.forEach(apis, (api, apiName) => {\n const controllers = _.reduce(\n api.controllers,\n (acc, controller, controllerName) => {\n const contentApiActions = _.pickBy(controller, isContentApi);\n\n if (_.isEmpty(contentApiActions)) {\n return acc;\n }\n\n acc[controllerName] = Object.keys(contentApiActions);\n\n return acc;\n },\n {} as Record<string, string[]>\n );\n\n if (!_.isEmpty(controllers)) {\n actionMap[`${source}::${apiName}`] = { controllers };\n }\n });\n };\n\n registerAPIsActions(strapi.apis, 'api');\n registerAPIsActions(strapi.plugins, 'plugin');\n\n return actionMap;\n };\n\n /**\n * Register all the content-API controllers actions into the action provider.\n * This method make use of the {@link getActionsMap} to generate the list of actions to register.\n */\n const registerActions = async () => {\n const actionsMap = getActionsMap();\n\n // For each API\n for (const [api, value] of Object.entries(actionsMap)) {\n const { controllers } = value;\n\n // Register controllers methods as actions\n for (const [controller, actions] of Object.entries(controllers)) {\n // Register each action individually\n await Promise.all(\n actions.map((action) => {\n const actionUID = `${api}.${controller}.${action}`;\n\n return providers.action.register(actionUID, {\n api,\n controller,\n action,\n uid: actionUID,\n });\n })\n );\n }\n }\n };\n\n // Create an instance of a content-API permission engine\n // and binds a custom validation handler to it\n const engine = createPermissionEngine({ providers });\n\n engine.on(\n 'before-format::validate.permission',\n createValidatePermissionHandler(providers.action)\n );\n\n return {\n engine,\n providers,\n registerActions,\n getActionsMap,\n };\n};\n"],"names":["typeSymbol","Symbol","for","createValidatePermissionHandler","actionProvider","permission","action","get","strapi","log","debug","providers","createActionProvider","condition","createConditionProvider","getActionsMap","actionMap","isContentApi","_","has","includes","registerAPIsActions","apis","source","forEach","api","apiName","controllers","reduce","acc","controller","controllerName","contentApiActions","pickBy","isEmpty","Object","keys","plugins","registerActions","actionsMap","value","entries","actions","Promise","all","map","actionUID","register","uid","engine","createPermissionEngine","on"],"mappings":"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"}
@@ -1,20 +1,19 @@
1
1
  declare const _default: (options?: {}) => {
2
- register(action: string, payload: Record<string, unknown>): Promise<import("@strapi/utils/dist/provider-factory").Provider>;
2
+ register(action: string, payload: Record<string, unknown>): Promise<import("@strapi/utils/dist/provider-factory").Provider<unknown>>;
3
3
  hooks: import("@strapi/utils/dist/provider-factory").ProviderHooksMap;
4
- delete(key: string): Promise<import("@strapi/utils/dist/provider-factory").Provider>;
4
+ delete(key: string): Promise<import("@strapi/utils/dist/provider-factory").Provider<unknown>>;
5
5
  get(key: string): {
6
6
  [x: string]: unknown;
7
7
  } | undefined;
8
- getWhere(filters?: Record<string, unknown> | undefined): {
9
- [x: string]: unknown;
10
- }[];
11
8
  values(): {
12
9
  [x: string]: unknown;
13
10
  }[];
14
11
  keys(): string[];
15
12
  has(key: string): boolean;
16
13
  size(): number;
17
- clear(): Promise<import("@strapi/utils/dist/provider-factory").Provider>;
14
+ clear(): Promise<import("@strapi/utils/dist/provider-factory").Provider<{
15
+ [x: string]: unknown;
16
+ }>>;
18
17
  };
19
18
  export default _default;
20
19
  //# sourceMappingURL=action.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"action.d.ts","sourceRoot":"","sources":["../../../../../src/services/content-api/permissions/providers/action.ts"],"names":[],"mappings":";qBAQ2B,MAAM,WAAW,OAAO,MAAM,EAAE,OAAO,CAAC;;;;;;;;;;;;;;;;;AANnE,wBAcE"}
1
+ {"version":3,"file":"action.d.ts","sourceRoot":"","sources":["../../../../../src/services/content-api/permissions/providers/action.ts"],"names":[],"mappings":";qBAQ2B,MAAM,WAAW,OAAO,MAAM,EAAE,OAAO,CAAC;;;;;;;;;;;;;;;;AANnE,wBAcE"}
@@ -1,16 +1,19 @@
1
- "use strict";
2
- const strapiUtils = require("@strapi/utils");
3
- const createActionProvider = (options = {}) => {
4
- const provider = strapiUtils.providerFactory(options);
5
- return {
6
- ...provider,
7
- async register(action, payload) {
8
- if (strapi.isLoaded) {
9
- throw new Error(`You can't register new actions outside the bootstrap function.`);
10
- }
11
- return provider.register(action, payload);
12
- }
13
- };
14
- };
1
+ 'use strict';
2
+
3
+ var strapiUtils = require('@strapi/utils');
4
+
5
+ var createActionProvider = ((options = {})=>{
6
+ const provider = strapiUtils.providerFactory(options);
7
+ return {
8
+ ...provider,
9
+ async register (action, payload) {
10
+ if (strapi.isLoaded) {
11
+ throw new Error(`You can't register new actions outside the bootstrap function.`);
12
+ }
13
+ return provider.register(action, payload);
14
+ }
15
+ };
16
+ });
17
+
15
18
  module.exports = createActionProvider;
16
19
  //# sourceMappingURL=action.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"action.js","sources":["../../../../../src/services/content-api/permissions/providers/action.ts"],"sourcesContent":["import { providerFactory } from '@strapi/utils';\n\nexport default (options = {}) => {\n const provider = providerFactory(options);\n\n return {\n ...provider,\n\n async register(action: string, payload: Record<string, unknown>) {\n if (strapi.isLoaded) {\n throw new Error(`You can't register new actions outside the bootstrap function.`);\n }\n\n return provider.register(action, payload);\n },\n };\n};\n"],"names":["providerFactory"],"mappings":";;AAEA,MAAA,uBAAe,CAAC,UAAU,CAAA,MAAO;AACzB,QAAA,WAAWA,4BAAgB,OAAO;AAEjC,SAAA;AAAA,IACL,GAAG;AAAA,IAEH,MAAM,SAAS,QAAgB,SAAkC;AAC/D,UAAI,OAAO,UAAU;AACb,cAAA,IAAI,MAAM,gEAAgE;AAAA,MAClF;AAEO,aAAA,SAAS,SAAS,QAAQ,OAAO;AAAA,IAC1C;AAAA,EAAA;AAEJ;;"}
1
+ {"version":3,"file":"action.js","sources":["../../../../../src/services/content-api/permissions/providers/action.ts"],"sourcesContent":["import { providerFactory } from '@strapi/utils';\n\nexport default (options = {}) => {\n const provider = providerFactory(options);\n\n return {\n ...provider,\n\n async register(action: string, payload: Record<string, unknown>) {\n if (strapi.isLoaded) {\n throw new Error(`You can't register new actions outside the bootstrap function.`);\n }\n\n return provider.register(action, payload);\n },\n };\n};\n"],"names":["options","provider","providerFactory","register","action","payload","strapi","isLoaded","Error"],"mappings":";;;;AAEA,2BAAe,CAAA,CAACA,OAAU,GAAA,EAAE,GAAA;AAC1B,IAAA,MAAMC,WAAWC,2BAAgBF,CAAAA,OAAAA,CAAAA;IAEjC,OAAO;AACL,QAAA,GAAGC,QAAQ;QAEX,MAAME,QAAAA,CAAAA,CAASC,MAAc,EAAEC,OAAgC,EAAA;YAC7D,IAAIC,MAAAA,CAAOC,QAAQ,EAAE;AACnB,gBAAA,MAAM,IAAIC,KAAAA,CAAM,CAAC,8DAA8D,CAAC,CAAA;AAClF;YAEA,OAAOP,QAAAA,CAASE,QAAQ,CAACC,MAAQC,EAAAA,OAAAA,CAAAA;AACnC;AACF,KAAA;AACF,CAAA;;;;"}
@@ -1,17 +1,17 @@
1
- import { providerFactory } from "@strapi/utils";
2
- const createActionProvider = (options = {}) => {
3
- const provider = providerFactory(options);
4
- return {
5
- ...provider,
6
- async register(action, payload) {
7
- if (strapi.isLoaded) {
8
- throw new Error(`You can't register new actions outside the bootstrap function.`);
9
- }
10
- return provider.register(action, payload);
11
- }
12
- };
13
- };
14
- export {
15
- createActionProvider as default
16
- };
1
+ import { providerFactory } from '@strapi/utils';
2
+
3
+ var createActionProvider = ((options = {})=>{
4
+ const provider = providerFactory(options);
5
+ return {
6
+ ...provider,
7
+ async register (action, payload) {
8
+ if (strapi.isLoaded) {
9
+ throw new Error(`You can't register new actions outside the bootstrap function.`);
10
+ }
11
+ return provider.register(action, payload);
12
+ }
13
+ };
14
+ });
15
+
16
+ export { createActionProvider as default };
17
17
  //# sourceMappingURL=action.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"action.mjs","sources":["../../../../../src/services/content-api/permissions/providers/action.ts"],"sourcesContent":["import { providerFactory } from '@strapi/utils';\n\nexport default (options = {}) => {\n const provider = providerFactory(options);\n\n return {\n ...provider,\n\n async register(action: string, payload: Record<string, unknown>) {\n if (strapi.isLoaded) {\n throw new Error(`You can't register new actions outside the bootstrap function.`);\n }\n\n return provider.register(action, payload);\n },\n };\n};\n"],"names":[],"mappings":";AAEA,MAAA,uBAAe,CAAC,UAAU,CAAA,MAAO;AACzB,QAAA,WAAW,gBAAgB,OAAO;AAEjC,SAAA;AAAA,IACL,GAAG;AAAA,IAEH,MAAM,SAAS,QAAgB,SAAkC;AAC/D,UAAI,OAAO,UAAU;AACb,cAAA,IAAI,MAAM,gEAAgE;AAAA,MAClF;AAEO,aAAA,SAAS,SAAS,QAAQ,OAAO;AAAA,IAC1C;AAAA,EAAA;AAEJ;"}
1
+ {"version":3,"file":"action.mjs","sources":["../../../../../src/services/content-api/permissions/providers/action.ts"],"sourcesContent":["import { providerFactory } from '@strapi/utils';\n\nexport default (options = {}) => {\n const provider = providerFactory(options);\n\n return {\n ...provider,\n\n async register(action: string, payload: Record<string, unknown>) {\n if (strapi.isLoaded) {\n throw new Error(`You can't register new actions outside the bootstrap function.`);\n }\n\n return provider.register(action, payload);\n },\n };\n};\n"],"names":["options","provider","providerFactory","register","action","payload","strapi","isLoaded","Error"],"mappings":";;AAEA,2BAAe,CAAA,CAACA,OAAU,GAAA,EAAE,GAAA;AAC1B,IAAA,MAAMC,WAAWC,eAAgBF,CAAAA,OAAAA,CAAAA;IAEjC,OAAO;AACL,QAAA,GAAGC,QAAQ;QAEX,MAAME,QAAAA,CAAAA,CAASC,MAAc,EAAEC,OAAgC,EAAA;YAC7D,IAAIC,MAAAA,CAAOC,QAAQ,EAAE;AACnB,gBAAA,MAAM,IAAIC,KAAAA,CAAM,CAAC,8DAA8D,CAAC,CAAA;AAClF;YAEA,OAAOP,QAAAA,CAASE,QAAQ,CAACC,MAAQC,EAAAA,OAAAA,CAAAA;AACnC;AACF,KAAA;AACF,CAAA;;;;"}
@@ -3,22 +3,21 @@ export interface Condition {
3
3
  [key: string]: unknown;
4
4
  }
5
5
  declare const _default: (options?: {}) => {
6
- register(condition: Condition): Promise<import("@strapi/utils/dist/provider-factory").Provider>;
6
+ register(condition: Condition): Promise<import("@strapi/utils/dist/provider-factory").Provider<unknown>>;
7
7
  hooks: import("@strapi/utils/dist/provider-factory").ProviderHooksMap;
8
- delete(key: string): Promise<import("@strapi/utils/dist/provider-factory").Provider>;
8
+ delete(key: string): Promise<import("@strapi/utils/dist/provider-factory").Provider<unknown>>;
9
9
  get(key: string): {
10
10
  [x: string]: unknown;
11
11
  } | undefined;
12
- getWhere(filters?: Record<string, unknown> | undefined): {
13
- [x: string]: unknown;
14
- }[];
15
12
  values(): {
16
13
  [x: string]: unknown;
17
14
  }[];
18
15
  keys(): string[];
19
16
  has(key: string): boolean;
20
17
  size(): number;
21
- clear(): Promise<import("@strapi/utils/dist/provider-factory").Provider>;
18
+ clear(): Promise<import("@strapi/utils/dist/provider-factory").Provider<{
19
+ [x: string]: unknown;
20
+ }>>;
22
21
  };
23
22
  export default _default;
24
23
  //# sourceMappingURL=condition.d.ts.map