@strapi/core 0.0.0-experimental.d362bf200f5f9359a4bbd4a549603de5ee1f04ca → 0.0.0-experimental.d4b8dd9e74eefeba4fc0574502c919ba4d091e1e

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (873) hide show
  1. package/LICENSE +18 -3
  2. package/dist/Strapi.d.ts +37 -46
  3. package/dist/Strapi.d.ts.map +1 -1
  4. package/dist/Strapi.js +437 -446
  5. package/dist/Strapi.js.map +1 -1
  6. package/dist/Strapi.mjs +428 -457
  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.d.ts.map +1 -1
  13. package/dist/configuration/config-loader.js +110 -93
  14. package/dist/configuration/config-loader.js.map +1 -1
  15. package/dist/configuration/config-loader.mjs +109 -92
  16. package/dist/configuration/config-loader.mjs.map +1 -1
  17. package/dist/configuration/get-dirs.d.ts +10 -0
  18. package/dist/configuration/get-dirs.d.ts.map +1 -0
  19. package/dist/configuration/get-dirs.js +33 -0
  20. package/dist/configuration/get-dirs.js.map +1 -0
  21. package/dist/configuration/get-dirs.mjs +31 -0
  22. package/dist/configuration/get-dirs.mjs.map +1 -0
  23. package/dist/configuration/index.d.ts +5 -7
  24. package/dist/configuration/index.d.ts.map +1 -1
  25. package/dist/configuration/index.js +86 -72
  26. package/dist/configuration/index.js.map +1 -1
  27. package/dist/configuration/index.mjs +84 -68
  28. package/dist/configuration/index.mjs.map +1 -1
  29. package/dist/configuration/urls.d.ts.map +1 -1
  30. package/dist/configuration/urls.js +74 -61
  31. package/dist/configuration/urls.js.map +1 -1
  32. package/dist/configuration/urls.mjs +73 -62
  33. package/dist/configuration/urls.mjs.map +1 -1
  34. package/dist/container.js +27 -23
  35. package/dist/container.js.map +1 -1
  36. package/dist/container.mjs +26 -24
  37. package/dist/container.mjs.map +1 -1
  38. package/dist/core-api/controller/collection-type.d.ts.map +1 -1
  39. package/dist/core-api/controller/collection-type.js +77 -73
  40. package/dist/core-api/controller/collection-type.js.map +1 -1
  41. package/dist/core-api/controller/collection-type.mjs +76 -74
  42. package/dist/core-api/controller/collection-type.mjs.map +1 -1
  43. package/dist/core-api/controller/index.js +63 -48
  44. package/dist/core-api/controller/index.js.map +1 -1
  45. package/dist/core-api/controller/index.mjs +62 -49
  46. package/dist/core-api/controller/index.mjs.map +1 -1
  47. package/dist/core-api/controller/single-type.d.ts.map +1 -1
  48. package/dist/core-api/controller/single-type.js +41 -39
  49. package/dist/core-api/controller/single-type.js.map +1 -1
  50. package/dist/core-api/controller/single-type.mjs +40 -40
  51. package/dist/core-api/controller/single-type.mjs.map +1 -1
  52. package/dist/core-api/controller/transform.js +72 -63
  53. package/dist/core-api/controller/transform.js.map +1 -1
  54. package/dist/core-api/controller/transform.mjs +71 -64
  55. package/dist/core-api/controller/transform.mjs.map +1 -1
  56. package/dist/core-api/routes/index.d.ts.map +1 -1
  57. package/dist/core-api/routes/index.js +64 -62
  58. package/dist/core-api/routes/index.js.map +1 -1
  59. package/dist/core-api/routes/index.mjs +62 -62
  60. package/dist/core-api/routes/index.mjs.map +1 -1
  61. package/dist/core-api/service/collection-type.d.ts +3 -9
  62. package/dist/core-api/service/collection-type.d.ts.map +1 -1
  63. package/dist/core-api/service/collection-type.js +73 -49
  64. package/dist/core-api/service/collection-type.js.map +1 -1
  65. package/dist/core-api/service/collection-type.mjs +72 -51
  66. package/dist/core-api/service/collection-type.mjs.map +1 -1
  67. package/dist/core-api/service/core-service.js +9 -8
  68. package/dist/core-api/service/core-service.js.map +1 -1
  69. package/dist/core-api/service/core-service.mjs +8 -9
  70. package/dist/core-api/service/core-service.mjs.map +1 -1
  71. package/dist/core-api/service/index.js +13 -13
  72. package/dist/core-api/service/index.js.map +1 -1
  73. package/dist/core-api/service/index.mjs +12 -14
  74. package/dist/core-api/service/index.mjs.map +1 -1
  75. package/dist/core-api/service/pagination.d.ts +4 -11
  76. package/dist/core-api/service/pagination.d.ts.map +1 -1
  77. package/dist/core-api/service/pagination.js +68 -68
  78. package/dist/core-api/service/pagination.js.map +1 -1
  79. package/dist/core-api/service/pagination.mjs +66 -71
  80. package/dist/core-api/service/pagination.mjs.map +1 -1
  81. package/dist/core-api/service/single-type.d.ts.map +1 -1
  82. package/dist/core-api/service/single-type.js +43 -32
  83. package/dist/core-api/service/single-type.js.map +1 -1
  84. package/dist/core-api/service/single-type.mjs +42 -34
  85. package/dist/core-api/service/single-type.mjs.map +1 -1
  86. package/dist/domain/content-type/index.js +95 -100
  87. package/dist/domain/content-type/index.js.map +1 -1
  88. package/dist/domain/content-type/index.mjs +94 -100
  89. package/dist/domain/content-type/index.mjs.map +1 -1
  90. package/dist/domain/content-type/validator.js +84 -69
  91. package/dist/domain/content-type/validator.js.map +1 -1
  92. package/dist/domain/content-type/validator.mjs +83 -68
  93. package/dist/domain/content-type/validator.mjs.map +1 -1
  94. package/dist/domain/module/index.js +109 -100
  95. package/dist/domain/module/index.js.map +1 -1
  96. package/dist/domain/module/index.mjs +108 -99
  97. package/dist/domain/module/index.mjs.map +1 -1
  98. package/dist/domain/module/validation.js +25 -20
  99. package/dist/domain/module/validation.js.map +1 -1
  100. package/dist/domain/module/validation.mjs +24 -21
  101. package/dist/domain/module/validation.mjs.map +1 -1
  102. package/dist/ee/index.d.ts +9 -0
  103. package/dist/ee/index.d.ts.map +1 -1
  104. package/dist/ee/index.js +197 -132
  105. package/dist/ee/index.js.map +1 -1
  106. package/dist/ee/index.mjs +196 -134
  107. package/dist/ee/index.mjs.map +1 -1
  108. package/dist/ee/license.d.ts +3 -1
  109. package/dist/ee/license.d.ts.map +1 -1
  110. package/dist/ee/license.js +105 -74
  111. package/dist/ee/license.js.map +1 -1
  112. package/dist/ee/license.mjs +103 -75
  113. package/dist/ee/license.mjs.map +1 -1
  114. package/dist/factories.d.ts +2 -2
  115. package/dist/factories.d.ts.map +1 -1
  116. package/dist/factories.js +72 -67
  117. package/dist/factories.js.map +1 -1
  118. package/dist/factories.mjs +71 -71
  119. package/dist/factories.mjs.map +1 -1
  120. package/dist/index.d.ts +18 -2
  121. package/dist/index.d.ts.map +1 -1
  122. package/dist/index.js +32 -5
  123. package/dist/index.js.map +1 -1
  124. package/dist/index.mjs +29 -5
  125. package/dist/index.mjs.map +1 -1
  126. package/dist/loaders/admin.d.ts.map +1 -1
  127. package/dist/loaders/admin.js +21 -21
  128. package/dist/loaders/admin.js.map +1 -1
  129. package/dist/loaders/admin.mjs +20 -21
  130. package/dist/loaders/admin.mjs.map +1 -1
  131. package/dist/loaders/apis.d.ts.map +1 -1
  132. package/dist/loaders/apis.js +143 -120
  133. package/dist/loaders/apis.js.map +1 -1
  134. package/dist/loaders/apis.mjs +142 -119
  135. package/dist/loaders/apis.mjs.map +1 -1
  136. package/dist/loaders/components.js +33 -34
  137. package/dist/loaders/components.js.map +1 -1
  138. package/dist/loaders/components.mjs +32 -34
  139. package/dist/loaders/components.mjs.map +1 -1
  140. package/dist/loaders/index.d.ts.map +1 -1
  141. package/dist/loaders/index.js +22 -22
  142. package/dist/loaders/index.js.map +1 -1
  143. package/dist/loaders/index.mjs +21 -23
  144. package/dist/loaders/index.mjs.map +1 -1
  145. package/dist/loaders/middlewares.js +29 -25
  146. package/dist/loaders/middlewares.js.map +1 -1
  147. package/dist/loaders/middlewares.mjs +28 -25
  148. package/dist/loaders/middlewares.mjs.map +1 -1
  149. package/dist/loaders/plugins/get-enabled-plugins.d.ts.map +1 -1
  150. package/dist/loaders/plugins/get-enabled-plugins.js +125 -101
  151. package/dist/loaders/plugins/get-enabled-plugins.js.map +1 -1
  152. package/dist/loaders/plugins/get-enabled-plugins.mjs +124 -100
  153. package/dist/loaders/plugins/get-enabled-plugins.mjs.map +1 -1
  154. package/dist/loaders/plugins/get-user-plugins-config.js +25 -24
  155. package/dist/loaders/plugins/get-user-plugins-config.js.map +1 -1
  156. package/dist/loaders/plugins/get-user-plugins-config.mjs +24 -23
  157. package/dist/loaders/plugins/get-user-plugins-config.mjs.map +1 -1
  158. package/dist/loaders/plugins/index.d.ts.map +1 -1
  159. package/dist/loaders/plugins/index.js +141 -104
  160. package/dist/loaders/plugins/index.js.map +1 -1
  161. package/dist/loaders/plugins/index.mjs +121 -104
  162. package/dist/loaders/plugins/index.mjs.map +1 -1
  163. package/dist/loaders/policies.js +24 -20
  164. package/dist/loaders/policies.js.map +1 -1
  165. package/dist/loaders/policies.mjs +23 -20
  166. package/dist/loaders/policies.mjs.map +1 -1
  167. package/dist/loaders/sanitizers.js +10 -4
  168. package/dist/loaders/sanitizers.js.map +1 -1
  169. package/dist/loaders/sanitizers.mjs +9 -6
  170. package/dist/loaders/sanitizers.mjs.map +1 -1
  171. package/dist/loaders/src-index.js +35 -27
  172. package/dist/loaders/src-index.js.map +1 -1
  173. package/dist/loaders/src-index.mjs +34 -29
  174. package/dist/loaders/src-index.mjs.map +1 -1
  175. package/dist/loaders/validators.js +9 -4
  176. package/dist/loaders/validators.js.map +1 -1
  177. package/dist/loaders/validators.mjs +8 -6
  178. package/dist/loaders/validators.mjs.map +1 -1
  179. package/dist/middlewares/body.d.ts +2 -2
  180. package/dist/middlewares/body.d.ts.map +1 -1
  181. package/dist/middlewares/body.js +58 -54
  182. package/dist/middlewares/body.js.map +1 -1
  183. package/dist/middlewares/body.mjs +57 -51
  184. package/dist/middlewares/body.mjs.map +1 -1
  185. package/dist/middlewares/compression.js +6 -6
  186. package/dist/middlewares/compression.js.map +1 -1
  187. package/dist/middlewares/compression.mjs +5 -5
  188. package/dist/middlewares/compression.mjs.map +1 -1
  189. package/dist/middlewares/cors.d.ts.map +1 -1
  190. package/dist/middlewares/cors.js +59 -46
  191. package/dist/middlewares/cors.js.map +1 -1
  192. package/dist/middlewares/cors.mjs +58 -45
  193. package/dist/middlewares/cors.mjs.map +1 -1
  194. package/dist/middlewares/errors.js +32 -30
  195. package/dist/middlewares/errors.js.map +1 -1
  196. package/dist/middlewares/errors.mjs +31 -31
  197. package/dist/middlewares/errors.mjs.map +1 -1
  198. package/dist/middlewares/favicon.js +27 -17
  199. package/dist/middlewares/favicon.js.map +1 -1
  200. package/dist/middlewares/favicon.mjs +26 -16
  201. package/dist/middlewares/favicon.mjs.map +1 -1
  202. package/dist/middlewares/index.js +32 -30
  203. package/dist/middlewares/index.js.map +1 -1
  204. package/dist/middlewares/index.mjs +31 -31
  205. package/dist/middlewares/index.mjs.map +1 -1
  206. package/dist/middlewares/ip.js +6 -6
  207. package/dist/middlewares/ip.js.map +1 -1
  208. package/dist/middlewares/ip.mjs +5 -5
  209. package/dist/middlewares/ip.mjs.map +1 -1
  210. package/dist/middlewares/logger.js +10 -9
  211. package/dist/middlewares/logger.js.map +1 -1
  212. package/dist/middlewares/logger.mjs +9 -10
  213. package/dist/middlewares/logger.mjs.map +1 -1
  214. package/dist/middlewares/powered-by.js +13 -9
  215. package/dist/middlewares/powered-by.js.map +1 -1
  216. package/dist/middlewares/powered-by.mjs +12 -10
  217. package/dist/middlewares/powered-by.mjs.map +1 -1
  218. package/dist/middlewares/public.js +33 -29
  219. package/dist/middlewares/public.js.map +1 -1
  220. package/dist/middlewares/public.mjs +32 -28
  221. package/dist/middlewares/public.mjs.map +1 -1
  222. package/dist/middlewares/query.d.ts.map +1 -1
  223. package/dist/middlewares/query.js +35 -32
  224. package/dist/middlewares/query.js.map +1 -1
  225. package/dist/middlewares/query.mjs +34 -31
  226. package/dist/middlewares/query.mjs.map +1 -1
  227. package/dist/middlewares/response-time.js +10 -9
  228. package/dist/middlewares/response-time.js.map +1 -1
  229. package/dist/middlewares/response-time.mjs +9 -10
  230. package/dist/middlewares/response-time.mjs.map +1 -1
  231. package/dist/middlewares/responses.js +14 -12
  232. package/dist/middlewares/responses.js.map +1 -1
  233. package/dist/middlewares/responses.mjs +13 -13
  234. package/dist/middlewares/responses.mjs.map +1 -1
  235. package/dist/middlewares/security.d.ts.map +1 -1
  236. package/dist/middlewares/security.js +110 -65
  237. package/dist/middlewares/security.js.map +1 -1
  238. package/dist/middlewares/security.mjs +108 -63
  239. package/dist/middlewares/security.mjs.map +1 -1
  240. package/dist/middlewares/session.js +26 -25
  241. package/dist/middlewares/session.js.map +1 -1
  242. package/dist/middlewares/session.mjs +25 -24
  243. package/dist/middlewares/session.mjs.map +1 -1
  244. package/dist/migrations/database/5.0.0-discard-drafts.d.ts +33 -0
  245. package/dist/migrations/database/5.0.0-discard-drafts.d.ts.map +1 -0
  246. package/dist/migrations/database/5.0.0-discard-drafts.js +168 -0
  247. package/dist/migrations/database/5.0.0-discard-drafts.js.map +1 -0
  248. package/dist/migrations/database/5.0.0-discard-drafts.mjs +165 -0
  249. package/dist/migrations/database/5.0.0-discard-drafts.mjs.map +1 -0
  250. package/dist/migrations/draft-publish.d.ts +2 -2
  251. package/dist/migrations/draft-publish.d.ts.map +1 -1
  252. package/dist/migrations/draft-publish.js +59 -49
  253. package/dist/migrations/draft-publish.js.map +1 -1
  254. package/dist/migrations/draft-publish.mjs +58 -51
  255. package/dist/migrations/draft-publish.mjs.map +1 -1
  256. package/dist/migrations/i18n.d.ts +5 -0
  257. package/dist/migrations/i18n.d.ts.map +1 -0
  258. package/dist/migrations/i18n.js +71 -0
  259. package/dist/migrations/i18n.js.map +1 -0
  260. package/dist/migrations/i18n.mjs +68 -0
  261. package/dist/migrations/i18n.mjs.map +1 -0
  262. package/dist/migrations/index.d.ts +5 -0
  263. package/dist/migrations/index.d.ts.map +1 -0
  264. package/dist/migrations/index.js +29 -0
  265. package/dist/migrations/index.js.map +1 -0
  266. package/dist/migrations/index.mjs +26 -0
  267. package/dist/migrations/index.mjs.map +1 -0
  268. package/dist/package.json.js +184 -0
  269. package/dist/package.json.js.map +1 -0
  270. package/dist/package.json.mjs +161 -0
  271. package/dist/package.json.mjs.map +1 -0
  272. package/dist/providers/admin.d.ts +3 -0
  273. package/dist/providers/admin.d.ts.map +1 -0
  274. package/dist/providers/admin.js +30 -0
  275. package/dist/providers/admin.js.map +1 -0
  276. package/dist/providers/admin.mjs +28 -0
  277. package/dist/providers/admin.mjs.map +1 -0
  278. package/dist/providers/coreStore.d.ts +3 -0
  279. package/dist/providers/coreStore.d.ts.map +1 -0
  280. package/dist/providers/coreStore.js +16 -0
  281. package/dist/providers/coreStore.js.map +1 -0
  282. package/dist/providers/coreStore.mjs +14 -0
  283. package/dist/providers/coreStore.mjs.map +1 -0
  284. package/dist/providers/cron.d.ts +3 -0
  285. package/dist/providers/cron.d.ts.map +1 -0
  286. package/dist/providers/cron.js +23 -0
  287. package/dist/providers/cron.js.map +1 -0
  288. package/dist/providers/cron.mjs +21 -0
  289. package/dist/providers/cron.mjs.map +1 -0
  290. package/dist/providers/index.d.ts +3 -0
  291. package/dist/providers/index.d.ts.map +1 -0
  292. package/dist/providers/index.js +20 -0
  293. package/dist/providers/index.js.map +1 -0
  294. package/dist/providers/index.mjs +18 -0
  295. package/dist/providers/index.mjs.map +1 -0
  296. package/dist/providers/provider.d.ts +9 -0
  297. package/dist/providers/provider.d.ts.map +1 -0
  298. package/dist/providers/provider.js +6 -0
  299. package/dist/providers/provider.js.map +1 -0
  300. package/dist/providers/provider.mjs +4 -0
  301. package/dist/providers/provider.mjs.map +1 -0
  302. package/dist/providers/registries.d.ts +3 -0
  303. package/dist/providers/registries.d.ts.map +1 -0
  304. package/dist/providers/registries.js +40 -0
  305. package/dist/providers/registries.js.map +1 -0
  306. package/dist/providers/registries.mjs +38 -0
  307. package/dist/providers/registries.mjs.map +1 -0
  308. package/dist/providers/telemetry.d.ts +3 -0
  309. package/dist/providers/telemetry.d.ts.map +1 -0
  310. package/dist/providers/telemetry.js +22 -0
  311. package/dist/providers/telemetry.js.map +1 -0
  312. package/dist/providers/telemetry.mjs +20 -0
  313. package/dist/providers/telemetry.mjs.map +1 -0
  314. package/dist/providers/webhooks.d.ts +3 -0
  315. package/dist/providers/webhooks.d.ts.map +1 -0
  316. package/dist/providers/webhooks.js +32 -0
  317. package/dist/providers/webhooks.js.map +1 -0
  318. package/dist/providers/webhooks.mjs +30 -0
  319. package/dist/providers/webhooks.mjs.map +1 -0
  320. package/dist/registries/apis.js +23 -20
  321. package/dist/registries/apis.js.map +1 -1
  322. package/dist/registries/apis.mjs +22 -22
  323. package/dist/registries/apis.mjs.map +1 -1
  324. package/dist/registries/components.js +35 -37
  325. package/dist/registries/components.js.map +1 -1
  326. package/dist/registries/components.mjs +34 -39
  327. package/dist/registries/components.mjs.map +1 -1
  328. package/dist/registries/content-types.js +54 -59
  329. package/dist/registries/content-types.js.map +1 -1
  330. package/dist/registries/content-types.mjs +53 -61
  331. package/dist/registries/content-types.mjs.map +1 -1
  332. package/dist/registries/controllers.js +70 -71
  333. package/dist/registries/controllers.js.map +1 -1
  334. package/dist/registries/controllers.mjs +69 -73
  335. package/dist/registries/controllers.mjs.map +1 -1
  336. package/dist/registries/custom-fields.js +75 -65
  337. package/dist/registries/custom-fields.js.map +1 -1
  338. package/dist/registries/custom-fields.mjs +74 -67
  339. package/dist/registries/custom-fields.mjs.map +1 -1
  340. package/dist/registries/hooks.js +46 -49
  341. package/dist/registries/hooks.js.map +1 -1
  342. package/dist/registries/hooks.mjs +45 -51
  343. package/dist/registries/hooks.mjs.map +1 -1
  344. package/dist/registries/index.d.ts +0 -1
  345. package/dist/registries/index.d.ts.map +1 -1
  346. package/dist/registries/middlewares.js +49 -51
  347. package/dist/registries/middlewares.js.map +1 -1
  348. package/dist/registries/middlewares.mjs +48 -53
  349. package/dist/registries/middlewares.mjs.map +1 -1
  350. package/dist/registries/models.js +14 -13
  351. package/dist/registries/models.js.map +1 -1
  352. package/dist/registries/models.mjs +13 -14
  353. package/dist/registries/models.mjs.map +1 -1
  354. package/dist/registries/modules.js +39 -36
  355. package/dist/registries/modules.js.map +1 -1
  356. package/dist/registries/modules.mjs +38 -38
  357. package/dist/registries/modules.mjs.map +1 -1
  358. package/dist/registries/namespace.js +21 -20
  359. package/dist/registries/namespace.js.map +1 -1
  360. package/dist/registries/namespace.mjs +20 -23
  361. package/dist/registries/namespace.mjs.map +1 -1
  362. package/dist/registries/plugins.js +23 -20
  363. package/dist/registries/plugins.js.map +1 -1
  364. package/dist/registries/plugins.mjs +22 -22
  365. package/dist/registries/plugins.mjs.map +1 -1
  366. package/dist/registries/policies.d.ts +1 -1
  367. package/dist/registries/policies.d.ts.map +1 -1
  368. package/dist/registries/policies.js +103 -96
  369. package/dist/registries/policies.js.map +1 -1
  370. package/dist/registries/policies.mjs +102 -98
  371. package/dist/registries/policies.mjs.map +1 -1
  372. package/dist/registries/sanitizers.js +23 -22
  373. package/dist/registries/sanitizers.js.map +1 -1
  374. package/dist/registries/sanitizers.mjs +22 -22
  375. package/dist/registries/sanitizers.mjs.map +1 -1
  376. package/dist/registries/services.js +71 -71
  377. package/dist/registries/services.js.map +1 -1
  378. package/dist/registries/services.mjs +70 -73
  379. package/dist/registries/services.mjs.map +1 -1
  380. package/dist/registries/validators.js +23 -22
  381. package/dist/registries/validators.js.map +1 -1
  382. package/dist/registries/validators.mjs +22 -22
  383. package/dist/registries/validators.mjs.map +1 -1
  384. package/dist/services/auth/index.js +74 -74
  385. package/dist/services/auth/index.js.map +1 -1
  386. package/dist/services/auth/index.mjs +73 -74
  387. package/dist/services/auth/index.mjs.map +1 -1
  388. package/dist/services/config.d.ts +3 -0
  389. package/dist/services/config.d.ts.map +1 -0
  390. package/dist/services/config.js +51 -0
  391. package/dist/services/config.js.map +1 -0
  392. package/dist/services/config.mjs +49 -0
  393. package/dist/services/config.mjs.map +1 -0
  394. package/dist/services/content-api/index.d.ts +10 -12
  395. package/dist/services/content-api/index.d.ts.map +1 -1
  396. package/dist/services/content-api/index.js +80 -79
  397. package/dist/services/content-api/index.js.map +1 -1
  398. package/dist/services/content-api/index.mjs +79 -79
  399. package/dist/services/content-api/index.mjs.map +1 -1
  400. package/dist/services/content-api/permissions/engine.js +8 -5
  401. package/dist/services/content-api/permissions/engine.js.map +1 -1
  402. package/dist/services/content-api/permissions/engine.mjs +7 -5
  403. package/dist/services/content-api/permissions/engine.mjs.map +1 -1
  404. package/dist/services/content-api/permissions/index.d.ts +10 -12
  405. package/dist/services/content-api/permissions/index.d.ts.map +1 -1
  406. package/dist/services/content-api/permissions/index.js +101 -81
  407. package/dist/services/content-api/permissions/index.js.map +1 -1
  408. package/dist/services/content-api/permissions/index.mjs +100 -81
  409. package/dist/services/content-api/permissions/index.mjs.map +1 -1
  410. package/dist/services/content-api/permissions/providers/action.d.ts +5 -6
  411. package/dist/services/content-api/permissions/providers/action.d.ts.map +1 -1
  412. package/dist/services/content-api/permissions/providers/action.js +17 -14
  413. package/dist/services/content-api/permissions/providers/action.js.map +1 -1
  414. package/dist/services/content-api/permissions/providers/action.mjs +16 -16
  415. package/dist/services/content-api/permissions/providers/action.mjs.map +1 -1
  416. package/dist/services/content-api/permissions/providers/condition.d.ts +5 -6
  417. package/dist/services/content-api/permissions/providers/condition.d.ts.map +1 -1
  418. package/dist/services/content-api/permissions/providers/condition.js +17 -14
  419. package/dist/services/content-api/permissions/providers/condition.js.map +1 -1
  420. package/dist/services/content-api/permissions/providers/condition.mjs +16 -16
  421. package/dist/services/content-api/permissions/providers/condition.mjs.map +1 -1
  422. package/dist/services/core-store.d.ts +2 -2
  423. package/dist/services/core-store.d.ts.map +1 -1
  424. package/dist/services/core-store.js +115 -95
  425. package/dist/services/core-store.js.map +1 -1
  426. package/dist/services/core-store.mjs +114 -97
  427. package/dist/services/core-store.mjs.map +1 -1
  428. package/dist/services/cron.d.ts +3 -3
  429. package/dist/services/cron.d.ts.map +1 -1
  430. package/dist/services/cron.js +74 -60
  431. package/dist/services/cron.js.map +1 -1
  432. package/dist/services/cron.mjs +73 -62
  433. package/dist/services/cron.mjs.map +1 -1
  434. package/dist/services/custom-fields.js +9 -7
  435. package/dist/services/custom-fields.js.map +1 -1
  436. package/dist/services/custom-fields.mjs +8 -9
  437. package/dist/services/custom-fields.mjs.map +1 -1
  438. package/dist/services/document-service/attributes/index.d.ts +6 -0
  439. package/dist/services/document-service/attributes/index.d.ts.map +1 -0
  440. package/dist/services/document-service/attributes/index.js +27 -0
  441. package/dist/services/document-service/attributes/index.js.map +1 -0
  442. package/dist/services/document-service/attributes/index.mjs +25 -0
  443. package/dist/services/document-service/attributes/index.mjs.map +1 -0
  444. package/dist/services/document-service/attributes/transforms.d.ts.map +1 -0
  445. package/dist/services/document-service/attributes/transforms.js +21 -0
  446. package/dist/services/document-service/attributes/transforms.js.map +1 -0
  447. package/dist/services/document-service/attributes/transforms.mjs +19 -0
  448. package/dist/services/document-service/attributes/transforms.mjs.map +1 -0
  449. package/dist/services/document-service/common.d.ts +1 -1
  450. package/dist/services/document-service/common.d.ts.map +1 -1
  451. package/dist/services/document-service/common.js +5 -4
  452. package/dist/services/document-service/common.js.map +1 -1
  453. package/dist/services/document-service/common.mjs +4 -5
  454. package/dist/services/document-service/common.mjs.map +1 -1
  455. package/dist/services/document-service/components.d.ts +25 -1
  456. package/dist/services/document-service/components.d.ts.map +1 -1
  457. package/dist/services/document-service/components.js +286 -0
  458. package/dist/services/document-service/components.js.map +1 -0
  459. package/dist/services/document-service/components.mjs +278 -0
  460. package/dist/services/document-service/components.mjs.map +1 -0
  461. package/dist/services/document-service/draft-and-publish.d.ts +1 -1
  462. package/dist/services/document-service/draft-and-publish.d.ts.map +1 -1
  463. package/dist/services/document-service/draft-and-publish.js +94 -54
  464. package/dist/services/document-service/draft-and-publish.js.map +1 -1
  465. package/dist/services/document-service/draft-and-publish.mjs +87 -54
  466. package/dist/services/document-service/draft-and-publish.mjs.map +1 -1
  467. package/dist/services/document-service/entries.d.ts +10 -0
  468. package/dist/services/document-service/entries.d.ts.map +1 -0
  469. package/dist/services/document-service/entries.js +155 -0
  470. package/dist/services/document-service/entries.js.map +1 -0
  471. package/dist/services/document-service/entries.mjs +153 -0
  472. package/dist/services/document-service/entries.mjs.map +1 -0
  473. package/dist/services/document-service/events.d.ts +25 -0
  474. package/dist/services/document-service/events.d.ts.map +1 -0
  475. package/dist/services/document-service/events.js +59 -0
  476. package/dist/services/document-service/events.js.map +1 -0
  477. package/dist/services/document-service/events.mjs +57 -0
  478. package/dist/services/document-service/events.mjs.map +1 -0
  479. package/dist/services/document-service/index.d.ts +2 -3
  480. package/dist/services/document-service/index.d.ts.map +1 -1
  481. package/dist/services/document-service/index.js +53 -21
  482. package/dist/services/document-service/index.js.map +1 -1
  483. package/dist/services/document-service/index.mjs +52 -22
  484. package/dist/services/document-service/index.mjs.map +1 -1
  485. package/dist/services/document-service/internationalization.d.ts +6 -1
  486. package/dist/services/document-service/internationalization.d.ts.map +1 -1
  487. package/dist/services/document-service/internationalization.js +98 -41
  488. package/dist/services/document-service/internationalization.js.map +1 -1
  489. package/dist/services/document-service/internationalization.mjs +92 -41
  490. package/dist/services/document-service/internationalization.mjs.map +1 -1
  491. package/dist/services/document-service/middlewares/errors.js +23 -19
  492. package/dist/services/document-service/middlewares/errors.js.map +1 -1
  493. package/dist/services/document-service/middlewares/errors.mjs +22 -20
  494. package/dist/services/document-service/middlewares/errors.mjs.map +1 -1
  495. package/dist/services/document-service/middlewares/middleware-manager.d.ts +5 -2
  496. package/dist/services/document-service/middlewares/middleware-manager.d.ts.map +1 -1
  497. package/dist/services/document-service/middlewares/middleware-manager.js +46 -41
  498. package/dist/services/document-service/middlewares/middleware-manager.js.map +1 -1
  499. package/dist/services/document-service/middlewares/middleware-manager.mjs +45 -42
  500. package/dist/services/document-service/middlewares/middleware-manager.mjs.map +1 -1
  501. package/dist/services/document-service/params.d.ts +3 -1
  502. package/dist/services/document-service/params.d.ts.map +1 -1
  503. package/dist/services/document-service/params.js +14 -0
  504. package/dist/services/document-service/params.js.map +1 -0
  505. package/dist/services/document-service/params.mjs +12 -0
  506. package/dist/services/document-service/params.mjs.map +1 -0
  507. package/dist/services/document-service/repository.d.ts.map +1 -1
  508. package/dist/services/document-service/repository.js +355 -287
  509. package/dist/services/document-service/repository.js.map +1 -1
  510. package/dist/services/document-service/repository.mjs +354 -288
  511. package/dist/services/document-service/repository.mjs.map +1 -1
  512. package/dist/services/document-service/transform/data.d.ts.map +1 -1
  513. package/dist/services/document-service/transform/data.js +22 -10
  514. package/dist/services/document-service/transform/data.js.map +1 -1
  515. package/dist/services/document-service/transform/data.mjs +21 -11
  516. package/dist/services/document-service/transform/data.mjs.map +1 -1
  517. package/dist/services/document-service/transform/fields.js +26 -17
  518. package/dist/services/document-service/transform/fields.js.map +1 -1
  519. package/dist/services/document-service/transform/fields.mjs +25 -18
  520. package/dist/services/document-service/transform/fields.mjs.map +1 -1
  521. package/dist/services/document-service/transform/id-map.d.ts +1 -1
  522. package/dist/services/document-service/transform/id-map.d.ts.map +1 -1
  523. package/dist/services/document-service/transform/id-map.js +116 -69
  524. package/dist/services/document-service/transform/id-map.js.map +1 -1
  525. package/dist/services/document-service/transform/id-map.mjs +115 -70
  526. package/dist/services/document-service/transform/id-map.mjs.map +1 -1
  527. package/dist/services/document-service/transform/id-transform.d.ts +1 -1
  528. package/dist/services/document-service/transform/id-transform.d.ts.map +1 -1
  529. package/dist/services/document-service/transform/id-transform.js +38 -30
  530. package/dist/services/document-service/transform/id-transform.js.map +1 -1
  531. package/dist/services/document-service/transform/id-transform.mjs +36 -30
  532. package/dist/services/document-service/transform/id-transform.mjs.map +1 -1
  533. package/dist/services/document-service/transform/populate.js +23 -18
  534. package/dist/services/document-service/transform/populate.js.map +1 -1
  535. package/dist/services/document-service/transform/populate.mjs +22 -19
  536. package/dist/services/document-service/transform/populate.mjs.map +1 -1
  537. package/dist/services/document-service/transform/query.d.ts +5 -0
  538. package/dist/services/document-service/transform/query.d.ts.map +1 -0
  539. package/dist/services/document-service/transform/query.js +14 -0
  540. package/dist/services/document-service/transform/query.js.map +1 -0
  541. package/dist/services/document-service/transform/query.mjs +12 -0
  542. package/dist/services/document-service/transform/query.mjs.map +1 -0
  543. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts +8 -7
  544. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts.map +1 -1
  545. package/dist/services/document-service/transform/relations/extract/data-ids.js +75 -85
  546. package/dist/services/document-service/transform/relations/extract/data-ids.js.map +1 -1
  547. package/dist/services/document-service/transform/relations/extract/data-ids.mjs +74 -86
  548. package/dist/services/document-service/transform/relations/extract/data-ids.mjs.map +1 -1
  549. package/dist/services/document-service/transform/relations/transform/data-ids.d.ts +7 -3
  550. package/dist/services/document-service/transform/relations/transform/data-ids.d.ts.map +1 -1
  551. package/dist/services/document-service/transform/relations/transform/data-ids.js +103 -134
  552. package/dist/services/document-service/transform/relations/transform/data-ids.js.map +1 -1
  553. package/dist/services/document-service/transform/relations/transform/data-ids.mjs +102 -135
  554. package/dist/services/document-service/transform/relations/transform/data-ids.mjs.map +1 -1
  555. package/dist/services/document-service/transform/relations/transform/default-locale.d.ts +9 -0
  556. package/dist/services/document-service/transform/relations/transform/default-locale.d.ts.map +1 -0
  557. package/dist/services/document-service/transform/relations/transform/default-locale.js +50 -0
  558. package/dist/services/document-service/transform/relations/transform/default-locale.js.map +1 -0
  559. package/dist/services/document-service/transform/relations/transform/default-locale.mjs +48 -0
  560. package/dist/services/document-service/transform/relations/transform/default-locale.mjs.map +1 -0
  561. package/dist/services/document-service/transform/relations/utils/dp.d.ts +1 -1
  562. package/dist/services/document-service/transform/relations/utils/dp.d.ts.map +1 -1
  563. package/dist/services/document-service/transform/relations/utils/dp.js +52 -26
  564. package/dist/services/document-service/transform/relations/utils/dp.js.map +1 -1
  565. package/dist/services/document-service/transform/relations/utils/dp.mjs +51 -27
  566. package/dist/services/document-service/transform/relations/utils/dp.mjs.map +1 -1
  567. package/dist/services/document-service/transform/relations/utils/i18n.d.ts +3 -3
  568. package/dist/services/document-service/transform/relations/utils/i18n.d.ts.map +1 -1
  569. package/dist/services/document-service/transform/relations/utils/i18n.js +19 -23
  570. package/dist/services/document-service/transform/relations/utils/i18n.js.map +1 -1
  571. package/dist/services/document-service/transform/relations/utils/i18n.mjs +18 -26
  572. package/dist/services/document-service/transform/relations/utils/i18n.mjs.map +1 -1
  573. package/dist/services/document-service/transform/relations/utils/map-relation.d.ts +6 -0
  574. package/dist/services/document-service/transform/relations/utils/map-relation.d.ts.map +1 -0
  575. package/dist/services/document-service/transform/relations/utils/map-relation.js +130 -0
  576. package/dist/services/document-service/transform/relations/utils/map-relation.js.map +1 -0
  577. package/dist/services/document-service/transform/relations/utils/map-relation.mjs +127 -0
  578. package/dist/services/document-service/transform/relations/utils/map-relation.mjs.map +1 -0
  579. package/dist/services/document-service/transform/relations/utils/types.d.ts +6 -0
  580. package/dist/services/document-service/transform/relations/utils/types.d.ts.map +1 -1
  581. package/dist/services/document-service/utils/bidirectional-relations.d.ts +95 -0
  582. package/dist/services/document-service/utils/bidirectional-relations.d.ts.map +1 -0
  583. package/dist/services/document-service/utils/bidirectional-relations.js +148 -0
  584. package/dist/services/document-service/utils/bidirectional-relations.js.map +1 -0
  585. package/dist/services/document-service/utils/bidirectional-relations.mjs +145 -0
  586. package/dist/services/document-service/utils/bidirectional-relations.mjs.map +1 -0
  587. package/dist/services/document-service/utils/populate.d.ts +1 -1
  588. package/dist/services/document-service/utils/populate.d.ts.map +1 -1
  589. package/dist/services/document-service/utils/populate.js +67 -37
  590. package/dist/services/document-service/utils/populate.js.map +1 -1
  591. package/dist/services/document-service/utils/populate.mjs +66 -38
  592. package/dist/services/document-service/utils/populate.mjs.map +1 -1
  593. package/dist/services/document-service/utils/unidirectional-relations.d.ts +36 -0
  594. package/dist/services/document-service/utils/unidirectional-relations.d.ts.map +1 -0
  595. package/dist/services/document-service/utils/unidirectional-relations.js +116 -0
  596. package/dist/services/document-service/utils/unidirectional-relations.js.map +1 -0
  597. package/dist/services/document-service/utils/unidirectional-relations.mjs +113 -0
  598. package/dist/services/document-service/utils/unidirectional-relations.mjs.map +1 -0
  599. package/dist/services/entity-service/index.d.ts.map +1 -1
  600. package/dist/services/entity-service/index.js +230 -154
  601. package/dist/services/entity-service/index.js.map +1 -1
  602. package/dist/services/entity-service/index.mjs +229 -153
  603. package/dist/services/entity-service/index.mjs.map +1 -1
  604. package/dist/services/entity-validator/blocks-validator.d.ts +1 -2
  605. package/dist/services/entity-validator/blocks-validator.d.ts.map +1 -1
  606. package/dist/services/entity-validator/blocks-validator.js +137 -104
  607. package/dist/services/entity-validator/blocks-validator.js.map +1 -1
  608. package/dist/services/entity-validator/blocks-validator.mjs +135 -105
  609. package/dist/services/entity-validator/blocks-validator.mjs.map +1 -1
  610. package/dist/services/entity-validator/index.d.ts +15 -1
  611. package/dist/services/entity-validator/index.d.ts.map +1 -1
  612. package/dist/services/entity-validator/index.js +371 -305
  613. package/dist/services/entity-validator/index.js.map +1 -1
  614. package/dist/services/entity-validator/index.mjs +367 -302
  615. package/dist/services/entity-validator/index.mjs.map +1 -1
  616. package/dist/services/entity-validator/validators.d.ts +37 -25
  617. package/dist/services/entity-validator/validators.d.ts.map +1 -1
  618. package/dist/services/entity-validator/validators.js +286 -110
  619. package/dist/services/entity-validator/validators.js.map +1 -1
  620. package/dist/services/entity-validator/validators.mjs +277 -108
  621. package/dist/services/entity-validator/validators.mjs.map +1 -1
  622. package/dist/services/errors.js +65 -65
  623. package/dist/services/errors.js.map +1 -1
  624. package/dist/services/errors.mjs +64 -66
  625. package/dist/services/errors.mjs.map +1 -1
  626. package/dist/services/event-hub.d.ts +1 -0
  627. package/dist/services/event-hub.d.ts.map +1 -1
  628. package/dist/services/event-hub.js +82 -64
  629. package/dist/services/event-hub.js.map +1 -1
  630. package/dist/services/event-hub.mjs +81 -66
  631. package/dist/services/event-hub.mjs.map +1 -1
  632. package/dist/services/features.js +19 -14
  633. package/dist/services/features.js.map +1 -1
  634. package/dist/services/features.mjs +18 -15
  635. package/dist/services/features.mjs.map +1 -1
  636. package/dist/services/fs.js +41 -40
  637. package/dist/services/fs.js.map +1 -1
  638. package/dist/services/fs.mjs +40 -39
  639. package/dist/services/fs.mjs.map +1 -1
  640. package/dist/services/metrics/admin-user-hash.d.ts.map +1 -1
  641. package/dist/services/metrics/admin-user-hash.js +13 -11
  642. package/dist/services/metrics/admin-user-hash.js.map +1 -1
  643. package/dist/services/metrics/admin-user-hash.mjs +12 -10
  644. package/dist/services/metrics/admin-user-hash.mjs.map +1 -1
  645. package/dist/services/metrics/index.js +46 -40
  646. package/dist/services/metrics/index.js.map +1 -1
  647. package/dist/services/metrics/index.mjs +45 -42
  648. package/dist/services/metrics/index.mjs.map +1 -1
  649. package/dist/services/metrics/is-truthy.js +13 -6
  650. package/dist/services/metrics/is-truthy.js.map +1 -1
  651. package/dist/services/metrics/is-truthy.mjs +12 -6
  652. package/dist/services/metrics/is-truthy.mjs.map +1 -1
  653. package/dist/services/metrics/middleware.d.ts.map +1 -1
  654. package/dist/services/metrics/middleware.js +37 -22
  655. package/dist/services/metrics/middleware.js.map +1 -1
  656. package/dist/services/metrics/middleware.mjs +36 -24
  657. package/dist/services/metrics/middleware.mjs.map +1 -1
  658. package/dist/services/metrics/rate-limiter.d.ts.map +1 -1
  659. package/dist/services/metrics/rate-limiter.js +24 -19
  660. package/dist/services/metrics/rate-limiter.js.map +1 -1
  661. package/dist/services/metrics/rate-limiter.mjs +23 -21
  662. package/dist/services/metrics/rate-limiter.mjs.map +1 -1
  663. package/dist/services/metrics/sender.d.ts.map +1 -1
  664. package/dist/services/metrics/sender.js +78 -69
  665. package/dist/services/metrics/sender.js.map +1 -1
  666. package/dist/services/metrics/sender.mjs +77 -64
  667. package/dist/services/metrics/sender.mjs.map +1 -1
  668. package/dist/services/query-params.js +13 -10
  669. package/dist/services/query-params.js.map +1 -1
  670. package/dist/services/query-params.mjs +12 -12
  671. package/dist/services/query-params.mjs.map +1 -1
  672. package/dist/services/reloader.d.ts +7 -0
  673. package/dist/services/reloader.d.ts.map +1 -0
  674. package/dist/services/reloader.js +39 -0
  675. package/dist/services/reloader.js.map +1 -0
  676. package/dist/services/reloader.mjs +37 -0
  677. package/dist/services/reloader.mjs.map +1 -0
  678. package/dist/services/request-context.js +11 -8
  679. package/dist/services/request-context.js.map +1 -1
  680. package/dist/services/request-context.mjs +10 -10
  681. package/dist/services/request-context.mjs.map +1 -1
  682. package/dist/services/server/admin-api.js +11 -10
  683. package/dist/services/server/admin-api.js.map +1 -1
  684. package/dist/services/server/admin-api.mjs +10 -11
  685. package/dist/services/server/admin-api.mjs.map +1 -1
  686. package/dist/services/server/api.js +33 -27
  687. package/dist/services/server/api.js.map +1 -1
  688. package/dist/services/server/api.mjs +32 -26
  689. package/dist/services/server/api.mjs.map +1 -1
  690. package/dist/services/server/compose-endpoint.d.ts.map +1 -1
  691. package/dist/services/server/compose-endpoint.js +116 -105
  692. package/dist/services/server/compose-endpoint.js.map +1 -1
  693. package/dist/services/server/compose-endpoint.mjs +115 -105
  694. package/dist/services/server/compose-endpoint.mjs.map +1 -1
  695. package/dist/services/server/content-api.js +11 -9
  696. package/dist/services/server/content-api.js.map +1 -1
  697. package/dist/services/server/content-api.mjs +10 -10
  698. package/dist/services/server/content-api.mjs.map +1 -1
  699. package/dist/services/server/http-server.js +48 -44
  700. package/dist/services/server/http-server.js.map +1 -1
  701. package/dist/services/server/http-server.mjs +47 -43
  702. package/dist/services/server/http-server.mjs.map +1 -1
  703. package/dist/services/server/index.js +85 -82
  704. package/dist/services/server/index.js.map +1 -1
  705. package/dist/services/server/index.mjs +84 -81
  706. package/dist/services/server/index.mjs.map +1 -1
  707. package/dist/services/server/koa.d.ts.map +1 -1
  708. package/dist/services/server/koa.js +49 -47
  709. package/dist/services/server/koa.js.map +1 -1
  710. package/dist/services/server/koa.mjs +48 -44
  711. package/dist/services/server/koa.mjs.map +1 -1
  712. package/dist/services/server/middleware.js +86 -82
  713. package/dist/services/server/middleware.js.map +1 -1
  714. package/dist/services/server/middleware.mjs +85 -82
  715. package/dist/services/server/middleware.mjs.map +1 -1
  716. package/dist/services/server/policy.js +24 -17
  717. package/dist/services/server/policy.js.map +1 -1
  718. package/dist/services/server/policy.mjs +23 -18
  719. package/dist/services/server/policy.mjs.map +1 -1
  720. package/dist/services/server/register-middlewares.js +68 -61
  721. package/dist/services/server/register-middlewares.js.map +1 -1
  722. package/dist/services/server/register-middlewares.mjs +67 -63
  723. package/dist/services/server/register-middlewares.mjs.map +1 -1
  724. package/dist/services/server/register-routes.js +90 -67
  725. package/dist/services/server/register-routes.js.map +1 -1
  726. package/dist/services/server/register-routes.mjs +89 -67
  727. package/dist/services/server/register-routes.mjs.map +1 -1
  728. package/dist/services/server/routing.d.ts +1 -1
  729. package/dist/services/server/routing.js +94 -81
  730. package/dist/services/server/routing.js.map +1 -1
  731. package/dist/services/server/routing.mjs +93 -81
  732. package/dist/services/server/routing.mjs.map +1 -1
  733. package/dist/services/utils/conditional-fields.d.ts +3 -0
  734. package/dist/services/utils/conditional-fields.d.ts.map +1 -0
  735. package/dist/services/utils/conditional-fields.js +22 -0
  736. package/dist/services/utils/conditional-fields.js.map +1 -0
  737. package/dist/services/utils/conditional-fields.mjs +20 -0
  738. package/dist/services/utils/conditional-fields.mjs.map +1 -0
  739. package/dist/services/utils/dynamic-zones.js +13 -14
  740. package/dist/services/utils/dynamic-zones.js.map +1 -1
  741. package/dist/services/utils/dynamic-zones.mjs +12 -16
  742. package/dist/services/utils/dynamic-zones.mjs.map +1 -1
  743. package/dist/services/webhook-runner.d.ts +2 -1
  744. package/dist/services/webhook-runner.d.ts.map +1 -1
  745. package/dist/services/webhook-runner.js +124 -122
  746. package/dist/services/webhook-runner.js.map +1 -1
  747. package/dist/services/webhook-runner.mjs +123 -121
  748. package/dist/services/webhook-runner.mjs.map +1 -1
  749. package/dist/services/webhook-store.d.ts +2 -8
  750. package/dist/services/webhook-store.d.ts.map +1 -1
  751. package/dist/services/webhook-store.js +132 -93
  752. package/dist/services/webhook-store.js.map +1 -1
  753. package/dist/services/webhook-store.mjs +131 -95
  754. package/dist/services/webhook-store.mjs.map +1 -1
  755. package/dist/services/worker-queue.js +44 -49
  756. package/dist/services/worker-queue.js.map +1 -1
  757. package/dist/services/worker-queue.mjs +43 -49
  758. package/dist/services/worker-queue.mjs.map +1 -1
  759. package/dist/utils/convert-custom-field-type.js +17 -20
  760. package/dist/utils/convert-custom-field-type.js.map +1 -1
  761. package/dist/utils/convert-custom-field-type.mjs +16 -21
  762. package/dist/utils/convert-custom-field-type.mjs.map +1 -1
  763. package/dist/utils/cron.js +64 -30
  764. package/dist/utils/cron.js.map +1 -1
  765. package/dist/utils/cron.mjs +63 -31
  766. package/dist/utils/cron.mjs.map +1 -1
  767. package/dist/utils/fetch.d.ts +5 -1
  768. package/dist/utils/fetch.d.ts.map +1 -1
  769. package/dist/utils/fetch.js +28 -17
  770. package/dist/utils/fetch.js.map +1 -1
  771. package/dist/utils/fetch.mjs +27 -18
  772. package/dist/utils/fetch.mjs.map +1 -1
  773. package/dist/utils/filepath-to-prop-path.d.ts +1 -1
  774. package/dist/utils/filepath-to-prop-path.d.ts.map +1 -1
  775. package/dist/utils/filepath-to-prop-path.js +22 -9
  776. package/dist/utils/filepath-to-prop-path.js.map +1 -1
  777. package/dist/utils/filepath-to-prop-path.mjs +20 -7
  778. package/dist/utils/filepath-to-prop-path.mjs.map +1 -1
  779. package/dist/utils/index.d.ts +2 -1
  780. package/dist/utils/index.d.ts.map +1 -1
  781. package/dist/utils/is-initialized.js +21 -12
  782. package/dist/utils/is-initialized.js.map +1 -1
  783. package/dist/utils/is-initialized.mjs +20 -13
  784. package/dist/utils/is-initialized.mjs.map +1 -1
  785. package/dist/utils/lifecycles.js +6 -5
  786. package/dist/utils/lifecycles.js.map +1 -1
  787. package/dist/utils/lifecycles.mjs +5 -6
  788. package/dist/utils/lifecycles.mjs.map +1 -1
  789. package/dist/utils/load-config-file.js +40 -38
  790. package/dist/utils/load-config-file.js.map +1 -1
  791. package/dist/utils/load-config-file.mjs +39 -36
  792. package/dist/utils/load-config-file.mjs.map +1 -1
  793. package/dist/utils/load-files.d.ts.map +1 -1
  794. package/dist/utils/load-files.js +40 -35
  795. package/dist/utils/load-files.js.map +1 -1
  796. package/dist/utils/load-files.mjs +39 -32
  797. package/dist/utils/load-files.mjs.map +1 -1
  798. package/dist/utils/open-browser.js +8 -8
  799. package/dist/utils/open-browser.js.map +1 -1
  800. package/dist/utils/open-browser.mjs +7 -7
  801. package/dist/utils/open-browser.mjs.map +1 -1
  802. package/dist/utils/resolve-working-dirs.d.ts +19 -0
  803. package/dist/utils/resolve-working-dirs.d.ts.map +1 -0
  804. package/dist/utils/resolve-working-dirs.js +26 -0
  805. package/dist/utils/resolve-working-dirs.js.map +1 -0
  806. package/dist/utils/resolve-working-dirs.mjs +24 -0
  807. package/dist/utils/resolve-working-dirs.mjs.map +1 -0
  808. package/dist/utils/signals.js +20 -14
  809. package/dist/utils/signals.js.map +1 -1
  810. package/dist/utils/signals.mjs +19 -15
  811. package/dist/utils/signals.mjs.map +1 -1
  812. package/dist/utils/startup-logger.d.ts.map +1 -1
  813. package/dist/utils/startup-logger.js +107 -78
  814. package/dist/utils/startup-logger.js.map +1 -1
  815. package/dist/utils/startup-logger.mjs +106 -75
  816. package/dist/utils/startup-logger.mjs.map +1 -1
  817. package/dist/utils/transform-content-types-to-models.d.ts +572 -38
  818. package/dist/utils/transform-content-types-to-models.d.ts.map +1 -1
  819. package/dist/utils/transform-content-types-to-models.js +357 -217
  820. package/dist/utils/transform-content-types-to-models.js.map +1 -1
  821. package/dist/utils/transform-content-types-to-models.mjs +351 -220
  822. package/dist/utils/transform-content-types-to-models.mjs.map +1 -1
  823. package/dist/utils/update-notifier/index.d.ts +1 -6
  824. package/dist/utils/update-notifier/index.d.ts.map +1 -1
  825. package/dist/utils/update-notifier/index.js +66 -74
  826. package/dist/utils/update-notifier/index.js.map +1 -1
  827. package/dist/utils/update-notifier/index.mjs +65 -68
  828. package/dist/utils/update-notifier/index.mjs.map +1 -1
  829. package/package.json +44 -39
  830. package/dist/registries/config.d.ts +0 -4
  831. package/dist/registries/config.d.ts.map +0 -1
  832. package/dist/registries/config.js +0 -43
  833. package/dist/registries/config.js.map +0 -1
  834. package/dist/registries/config.mjs +0 -44
  835. package/dist/registries/config.mjs.map +0 -1
  836. package/dist/services/document-service/document-engine.d.ts +0 -2
  837. package/dist/services/document-service/document-engine.d.ts.map +0 -1
  838. package/dist/services/document-service/transform/relations/transform/output-ids.d.ts +0 -2
  839. package/dist/services/document-service/transform/relations/transform/output-ids.d.ts.map +0 -1
  840. package/dist/services/document-service/transform/relations/utils/data.js +0 -12
  841. package/dist/services/document-service/transform/relations/utils/data.js.map +0 -1
  842. package/dist/services/document-service/transform/relations/utils/data.mjs +0 -12
  843. package/dist/services/document-service/transform/relations/utils/data.mjs.map +0 -1
  844. package/dist/services/entity-service/attributes/index.d.ts +0 -6
  845. package/dist/services/entity-service/attributes/index.d.ts.map +0 -1
  846. package/dist/services/entity-service/attributes/index.js +0 -22
  847. package/dist/services/entity-service/attributes/index.js.map +0 -1
  848. package/dist/services/entity-service/attributes/index.mjs +0 -22
  849. package/dist/services/entity-service/attributes/index.mjs.map +0 -1
  850. package/dist/services/entity-service/attributes/transforms.d.ts.map +0 -1
  851. package/dist/services/entity-service/attributes/transforms.js +0 -20
  852. package/dist/services/entity-service/attributes/transforms.js.map +0 -1
  853. package/dist/services/entity-service/attributes/transforms.mjs +0 -19
  854. package/dist/services/entity-service/attributes/transforms.mjs.map +0 -1
  855. package/dist/services/entity-service/components.d.ts +0 -95
  856. package/dist/services/entity-service/components.d.ts.map +0 -1
  857. package/dist/services/entity-service/components.js +0 -298
  858. package/dist/services/entity-service/components.js.map +0 -1
  859. package/dist/services/entity-service/components.mjs +0 -296
  860. package/dist/services/entity-service/components.mjs.map +0 -1
  861. package/dist/services/entity-service/params.d.ts +0 -8
  862. package/dist/services/entity-service/params.d.ts.map +0 -1
  863. package/dist/services/entity-service/params.js +0 -8
  864. package/dist/services/entity-service/params.js.map +0 -1
  865. package/dist/services/entity-service/params.mjs +0 -8
  866. package/dist/services/entity-service/params.mjs.map +0 -1
  867. package/dist/utils/get-dirs.d.ts +0 -9
  868. package/dist/utils/get-dirs.d.ts.map +0 -1
  869. package/dist/utils/get-dirs.js +0 -30
  870. package/dist/utils/get-dirs.js.map +0 -1
  871. package/dist/utils/get-dirs.mjs +0 -30
  872. package/dist/utils/get-dirs.mjs.map +0 -1
  873. /package/dist/services/{entity-service → document-service}/attributes/transforms.d.ts +0 -0
@@ -1,28 +1,34 @@
1
- import Router from "@koa/router";
2
- import { createRouteManager } from "./routing.mjs";
3
- const createAPI = (strapi, opts = {}) => {
4
- const { prefix, type } = opts;
5
- const api = new Router({ prefix });
6
- const routeManager = createRouteManager(strapi, { type });
7
- return {
8
- listRoutes() {
9
- return [...api.stack];
10
- },
11
- use(fn) {
12
- api.use(fn);
13
- return this;
14
- },
15
- routes(routes) {
16
- routeManager.addRoutes(routes, api);
17
- return this;
18
- },
19
- mount(router) {
20
- router.use(api.routes(), api.allowedMethods());
21
- return this;
22
- }
23
- };
24
- };
25
- export {
26
- createAPI
1
+ import Router from '@koa/router';
2
+ import { createRouteManager } from './routing.mjs';
3
+
4
+ const createAPI = (strapi, opts = {})=>{
5
+ const { prefix, type } = opts;
6
+ const api = new Router({
7
+ prefix
8
+ });
9
+ const routeManager = createRouteManager(strapi, {
10
+ type
11
+ });
12
+ return {
13
+ listRoutes () {
14
+ return [
15
+ ...api.stack
16
+ ];
17
+ },
18
+ use (fn) {
19
+ api.use(fn);
20
+ return this;
21
+ },
22
+ routes (routes) {
23
+ routeManager.addRoutes(routes, api);
24
+ return this;
25
+ },
26
+ mount (router) {
27
+ router.use(api.routes(), api.allowedMethods());
28
+ return this;
29
+ }
30
+ };
27
31
  };
32
+
33
+ export { createAPI };
28
34
  //# sourceMappingURL=api.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"api.mjs","sources":["../../../src/services/server/api.ts"],"sourcesContent":["import Router from '@koa/router';\nimport type { Core } from '@strapi/types';\n\nimport { createRouteManager } from './routing';\n\ninterface Options {\n prefix?: string;\n type?: string;\n}\n\nconst createAPI = (strapi: Core.Strapi, opts: Options = {}) => {\n const { prefix, type } = opts;\n\n const api = new Router({ prefix });\n\n const routeManager = createRouteManager(strapi, { type });\n\n return {\n listRoutes() {\n return [...api.stack];\n },\n\n use(fn: Router.Middleware) {\n api.use(fn);\n return this;\n },\n\n routes(routes: Core.Router | Core.Route[]) {\n routeManager.addRoutes(routes, api);\n return this;\n },\n\n mount(router: Router) {\n router.use(api.routes(), api.allowedMethods());\n return this;\n },\n };\n};\n\nexport { createAPI };\n"],"names":[],"mappings":";;AAUA,MAAM,YAAY,CAAC,QAAqB,OAAgB,OAAO;AACvD,QAAA,EAAE,QAAQ,KAAS,IAAA;AAEzB,QAAM,MAAM,IAAI,OAAO,EAAE,OAAQ,CAAA;AAEjC,QAAM,eAAe,mBAAmB,QAAQ,EAAE,KAAM,CAAA;AAEjD,SAAA;AAAA,IACL,aAAa;AACJ,aAAA,CAAC,GAAG,IAAI,KAAK;AAAA,IACtB;AAAA,IAEA,IAAI,IAAuB;AACzB,UAAI,IAAI,EAAE;AACH,aAAA;AAAA,IACT;AAAA,IAEA,OAAO,QAAoC;AAC5B,mBAAA,UAAU,QAAQ,GAAG;AAC3B,aAAA;AAAA,IACT;AAAA,IAEA,MAAM,QAAgB;AACpB,aAAO,IAAI,IAAI,OAAU,GAAA,IAAI,gBAAgB;AACtC,aAAA;AAAA,IACT;AAAA,EAAA;AAEJ;"}
1
+ {"version":3,"file":"api.mjs","sources":["../../../src/services/server/api.ts"],"sourcesContent":["import Router from '@koa/router';\nimport type { Core } from '@strapi/types';\n\nimport { createRouteManager } from './routing';\n\ninterface Options {\n prefix?: string;\n type?: string;\n}\n\nconst createAPI = (strapi: Core.Strapi, opts: Options = {}) => {\n const { prefix, type } = opts;\n\n const api = new Router({ prefix });\n\n const routeManager = createRouteManager(strapi, { type });\n\n return {\n listRoutes() {\n return [...api.stack];\n },\n\n use(fn: Router.Middleware) {\n api.use(fn);\n return this;\n },\n\n routes(routes: Core.Router | Core.Route[]) {\n routeManager.addRoutes(routes, api);\n return this;\n },\n\n mount(router: Router) {\n router.use(api.routes(), api.allowedMethods());\n return this;\n },\n };\n};\n\nexport { createAPI };\n"],"names":["createAPI","strapi","opts","prefix","type","api","Router","routeManager","createRouteManager","listRoutes","stack","use","fn","routes","addRoutes","mount","router","allowedMethods"],"mappings":";;;AAUA,MAAMA,SAAY,GAAA,CAACC,MAAqBC,EAAAA,IAAAA,GAAgB,EAAE,GAAA;AACxD,IAAA,MAAM,EAAEC,MAAM,EAAEC,IAAI,EAAE,GAAGF,IAAAA;IAEzB,MAAMG,GAAAA,GAAM,IAAIC,MAAO,CAAA;AAAEH,QAAAA;AAAO,KAAA,CAAA;IAEhC,MAAMI,YAAAA,GAAeC,mBAAmBP,MAAQ,EAAA;AAAEG,QAAAA;AAAK,KAAA,CAAA;IAEvD,OAAO;AACLK,QAAAA,UAAAA,CAAAA,GAAAA;YACE,OAAO;AAAIJ,gBAAAA,GAAAA,GAAAA,CAAIK;AAAM,aAAA;AACvB,SAAA;AAEAC,QAAAA,GAAAA,CAAAA,CAAIC,EAAqB,EAAA;AACvBP,YAAAA,GAAAA,CAAIM,GAAG,CAACC,EAAAA,CAAAA;AACR,YAAA,OAAO,IAAI;AACb,SAAA;AAEAC,QAAAA,MAAAA,CAAAA,CAAOA,MAAkC,EAAA;YACvCN,YAAaO,CAAAA,SAAS,CAACD,MAAQR,EAAAA,GAAAA,CAAAA;AAC/B,YAAA,OAAO,IAAI;AACb,SAAA;AAEAU,QAAAA,KAAAA,CAAAA,CAAMC,MAAc,EAAA;AAClBA,YAAAA,MAAAA,CAAOL,GAAG,CAACN,GAAAA,CAAIQ,MAAM,EAAA,EAAIR,IAAIY,cAAc,EAAA,CAAA;AAC3C,YAAA,OAAO,IAAI;AACb;AACF,KAAA;AACF;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"compose-endpoint.d.ts","sourceRoot":"","sources":["../../../src/services/server/compose-endpoint.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAO,MAAM,eAAe,CAAC;AAE/C,OAAO,MAAM,MAAM,aAAa,CAAC;iCAoET,KAAK,MAAM,aAIlB,KAAK,KAAK;YAAwB,MAAM;;AAJzD,wBAgCE"}
1
+ {"version":3,"file":"compose-endpoint.d.ts","sourceRoot":"","sources":["../../../src/services/server/compose-endpoint.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAO,MAAM,eAAe,CAAC;AAE/C,OAAO,MAAM,MAAM,aAAa,CAAC;iCAoET,KAAK,MAAM,aAIlB,KAAK,KAAK,cAAc;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE;AAJ3D,wBAgCE"}
@@ -1,117 +1,128 @@
1
- "use strict";
2
- const _ = require("lodash/fp");
3
- const strapiUtils = require("@strapi/utils");
4
- const compose = require("koa-compose");
5
- const middleware = require("./middleware.js");
6
- const policy = require("./policy.js");
7
- const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
8
- const compose__default = /* @__PURE__ */ _interopDefault(compose);
9
- const getMethod = (route) => {
10
- return _.trim(_.toLower(route.method));
1
+ 'use strict';
2
+
3
+ var fp = require('lodash/fp');
4
+ var strapiUtils = require('@strapi/utils');
5
+ var compose = require('koa-compose');
6
+ var middleware = require('./middleware.js');
7
+ var policy = require('./policy.js');
8
+
9
+ const getMethod = (route)=>{
10
+ return fp.trim(fp.toLower(route.method));
11
11
  };
12
- const getPath = (route) => _.trim(route.path);
13
- const createRouteInfoMiddleware = (routeInfo) => (ctx, next) => {
14
- const route = {
15
- ...routeInfo,
16
- config: routeInfo.config || {}
17
- };
18
- ctx.state.route = route;
19
- return next();
12
+ const getPath = (route)=>fp.trim(route.path);
13
+ const createRouteInfoMiddleware = (routeInfo)=>(ctx, next)=>{
14
+ const route = {
15
+ ...routeInfo,
16
+ config: routeInfo.config || {}
17
+ };
18
+ ctx.state.route = route;
19
+ return next();
20
+ };
21
+ const getAuthConfig = fp.prop('config.auth');
22
+ const createAuthorizeMiddleware = (strapi)=>async (ctx, next)=>{
23
+ const { auth, route } = ctx.state;
24
+ const authService = strapi.get('auth');
25
+ try {
26
+ await authService.verify(auth, getAuthConfig(route));
27
+ return await next();
28
+ } catch (error) {
29
+ if (error instanceof strapiUtils.errors.UnauthorizedError) {
30
+ return ctx.unauthorized();
31
+ }
32
+ if (error instanceof strapiUtils.errors.ForbiddenError) {
33
+ // allow PolicyError as an exception to throw a publicly visible message in the API
34
+ if (error instanceof strapiUtils.errors.PolicyError) {
35
+ throw error;
36
+ }
37
+ return ctx.forbidden();
38
+ }
39
+ throw error;
40
+ }
41
+ };
42
+ const createAuthenticateMiddleware = (strapi)=>async (ctx, next)=>{
43
+ return strapi.get('auth').authenticate(ctx, next);
44
+ };
45
+ const returnBodyMiddleware = async (ctx, next)=>{
46
+ const values = await next();
47
+ if (fp.isNil(ctx.body) && !fp.isNil(values)) {
48
+ ctx.body = values;
49
+ }
20
50
  };
21
- const getAuthConfig = _.prop("config.auth");
22
- const createAuthorizeMiddleware = (strapi) => async (ctx, next) => {
23
- const { auth, route } = ctx.state;
24
- const authService = strapi.get("auth");
25
- try {
26
- await authService.verify(auth, getAuthConfig(route));
27
- return await next();
28
- } catch (error) {
29
- if (error instanceof strapiUtils.errors.UnauthorizedError) {
30
- return ctx.unauthorized();
51
+ var createEndpointComposer = ((strapi)=>{
52
+ const authenticate = createAuthenticateMiddleware(strapi);
53
+ const authorize = createAuthorizeMiddleware(strapi);
54
+ return (route, { router })=>{
55
+ try {
56
+ const method = getMethod(route);
57
+ const path = getPath(route);
58
+ const middlewares = middleware.resolveRouteMiddlewares(route, strapi);
59
+ const action = getAction(route, strapi);
60
+ const routeHandler = compose([
61
+ createRouteInfoMiddleware(route),
62
+ authenticate,
63
+ authorize,
64
+ policy.createPolicicesMiddleware(route, strapi),
65
+ ...middlewares,
66
+ returnBodyMiddleware,
67
+ ...fp.castArray(action)
68
+ ]);
69
+ router[method](path, routeHandler);
70
+ } catch (error) {
71
+ if (error instanceof Error) {
72
+ error.message = `Error creating endpoint ${route.method} ${route.path}: ${error.message}`;
73
+ }
74
+ throw error;
75
+ }
76
+ };
77
+ });
78
+ const getController = (name, { pluginName, apiName }, strapi)=>{
79
+ let ctrl;
80
+ if (pluginName) {
81
+ if (pluginName === 'admin') {
82
+ ctrl = strapi.controller(`admin::${name}`);
83
+ } else {
84
+ ctrl = strapi.plugin(pluginName).controller(name);
85
+ }
86
+ } else if (apiName) {
87
+ ctrl = strapi.controller(`api::${apiName}.${name}`);
31
88
  }
32
- if (error instanceof strapiUtils.errors.ForbiddenError) {
33
- if (error instanceof strapiUtils.errors.PolicyError) {
34
- throw error;
35
- }
36
- return ctx.forbidden();
89
+ if (!ctrl) {
90
+ return strapi.controller(name);
37
91
  }
38
- throw error;
39
- }
40
- };
41
- const createAuthenticateMiddleware = (strapi) => async (ctx, next) => {
42
- return strapi.get("auth").authenticate(ctx, next);
92
+ return ctrl;
43
93
  };
44
- const returnBodyMiddleware = async (ctx, next) => {
45
- const values = await next();
46
- if (_.isNil(ctx.body) && !_.isNil(values)) {
47
- ctx.body = values;
48
- }
94
+ const extractHandlerParts = (name)=>{
95
+ const controllerName = name.slice(0, name.lastIndexOf('.'));
96
+ const actionName = name.slice(name.lastIndexOf('.') + 1);
97
+ return {
98
+ controllerName,
99
+ actionName
100
+ };
49
101
  };
50
- const createEndpointComposer = (strapi) => {
51
- const authenticate = createAuthenticateMiddleware(strapi);
52
- const authorize = createAuthorizeMiddleware(strapi);
53
- return (route, { router }) => {
54
- try {
55
- const method = getMethod(route);
56
- const path = getPath(route);
57
- const middlewares = middleware.resolveRouteMiddlewares(route, strapi);
58
- const action = getAction(route, strapi);
59
- const routeHandler = compose__default.default([
60
- createRouteInfoMiddleware(route),
61
- authenticate,
62
- authorize,
63
- policy.createPolicicesMiddleware(route, strapi),
64
- ...middlewares,
65
- returnBodyMiddleware,
66
- ..._.castArray(action)
67
- ]);
68
- router[method](path, routeHandler);
69
- } catch (error) {
70
- if (error instanceof Error) {
71
- error.message = `Error creating endpoint ${route.method} ${route.path}: ${error.message}`;
72
- }
73
- throw error;
102
+ const getAction = (route, strapi)=>{
103
+ const { handler, info } = route;
104
+ const { pluginName, apiName, type } = info ?? {};
105
+ if (Array.isArray(handler) || typeof handler === 'function') {
106
+ return handler;
74
107
  }
75
- };
76
- };
77
- const getController = (name, { pluginName, apiName }, strapi) => {
78
- let ctrl;
79
- if (pluginName) {
80
- if (pluginName === "admin") {
81
- ctrl = strapi.controller(`admin::${name}`);
108
+ const { controllerName, actionName } = extractHandlerParts(fp.trim(handler));
109
+ const controller = getController(controllerName, {
110
+ pluginName,
111
+ apiName,
112
+ type
113
+ }, strapi);
114
+ if (typeof controller[actionName] !== 'function') {
115
+ throw new Error(`Handler not found "${handler}"`);
116
+ }
117
+ if (Symbol.for('__type__') in controller[actionName]) {
118
+ controller[actionName][Symbol.for('__type__')].push(type);
82
119
  } else {
83
- ctrl = strapi.plugin(pluginName).controller(name);
120
+ controller[actionName][Symbol.for('__type__')] = [
121
+ type
122
+ ];
84
123
  }
85
- } else if (apiName) {
86
- ctrl = strapi.controller(`api::${apiName}.${name}`);
87
- }
88
- if (!ctrl) {
89
- return strapi.controller(name);
90
- }
91
- return ctrl;
92
- };
93
- const extractHandlerParts = (name) => {
94
- const controllerName = name.slice(0, name.lastIndexOf("."));
95
- const actionName = name.slice(name.lastIndexOf(".") + 1);
96
- return { controllerName, actionName };
97
- };
98
- const getAction = (route, strapi) => {
99
- const { handler, info } = route;
100
- const { pluginName, apiName, type } = info ?? {};
101
- if (Array.isArray(handler) || typeof handler === "function") {
102
- return handler;
103
- }
104
- const { controllerName, actionName } = extractHandlerParts(_.trim(handler));
105
- const controller = getController(controllerName, { pluginName, apiName, type }, strapi);
106
- if (typeof controller[actionName] !== "function") {
107
- throw new Error(`Handler not found "${handler}"`);
108
- }
109
- if (Symbol.for("__type__") in controller[actionName]) {
110
- controller[actionName][Symbol.for("__type__")].push(type);
111
- } else {
112
- controller[actionName][Symbol.for("__type__")] = [type];
113
- }
114
- return controller[actionName].bind(controller);
124
+ return controller[actionName].bind(controller);
115
125
  };
126
+
116
127
  module.exports = createEndpointComposer;
117
128
  //# sourceMappingURL=compose-endpoint.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"compose-endpoint.js","sources":["../../../src/services/server/compose-endpoint.ts"],"sourcesContent":["import { toLower, castArray, trim, prop, isNil } from 'lodash/fp';\nimport type { Core, UID } from '@strapi/types';\nimport { errors } from '@strapi/utils';\nimport Router from '@koa/router';\n\nimport compose from 'koa-compose';\nimport { resolveRouteMiddlewares } from './middleware';\nimport { createPolicicesMiddleware } from './policy';\n\nconst getMethod = (route: Core.Route) => {\n return trim(toLower(route.method)) as Lowercase<Core.Route['method']>;\n};\n\nconst getPath = (route: Core.Route) => trim(route.path);\n\nconst createRouteInfoMiddleware =\n (routeInfo: Core.Route): Core.MiddlewareHandler =>\n (ctx, next) => {\n const route = {\n ...routeInfo,\n config: routeInfo.config || {},\n };\n\n ctx.state.route = route;\n return next();\n };\n\nconst getAuthConfig = prop('config.auth');\n\nconst createAuthorizeMiddleware =\n (strapi: Core.Strapi): Core.MiddlewareHandler =>\n async (ctx, next) => {\n const { auth, route } = ctx.state;\n\n const authService = strapi.get('auth');\n\n try {\n await authService.verify(auth, getAuthConfig(route));\n\n return await next();\n } catch (error) {\n if (error instanceof errors.UnauthorizedError) {\n return ctx.unauthorized();\n }\n\n if (error instanceof errors.ForbiddenError) {\n // allow PolicyError as an exception to throw a publicly visible message in the API\n if (error instanceof errors.PolicyError) {\n throw error;\n }\n return ctx.forbidden();\n }\n\n throw error;\n }\n };\n\nconst createAuthenticateMiddleware =\n (strapi: Core.Strapi): Core.MiddlewareHandler =>\n async (ctx, next) => {\n return strapi.get('auth').authenticate(ctx, next);\n };\n\nconst returnBodyMiddleware: Core.MiddlewareHandler = async (ctx, next) => {\n const values = await next();\n\n if (isNil(ctx.body) && !isNil(values)) {\n ctx.body = values;\n }\n};\n\nexport default (strapi: Core.Strapi) => {\n const authenticate = createAuthenticateMiddleware(strapi);\n const authorize = createAuthorizeMiddleware(strapi);\n\n return (route: Core.Route, { router }: { router: Router }) => {\n try {\n const method = getMethod(route);\n const path = getPath(route);\n\n const middlewares = resolveRouteMiddlewares(route, strapi);\n\n const action = getAction(route, strapi);\n\n const routeHandler = compose([\n createRouteInfoMiddleware(route),\n authenticate,\n authorize,\n createPolicicesMiddleware(route, strapi),\n ...middlewares,\n returnBodyMiddleware,\n ...castArray(action),\n ]);\n\n router[method](path, routeHandler);\n } catch (error) {\n if (error instanceof Error) {\n error.message = `Error creating endpoint ${route.method} ${route.path}: ${error.message}`;\n }\n\n throw error;\n }\n };\n};\n\nconst getController = (\n name: string,\n { pluginName, apiName }: Core.RouteInfo,\n strapi: Core.Strapi\n) => {\n let ctrl: Core.Controller | undefined;\n\n if (pluginName) {\n if (pluginName === 'admin') {\n ctrl = strapi.controller(`admin::${name}`);\n } else {\n ctrl = strapi.plugin(pluginName).controller(name);\n }\n } else if (apiName) {\n ctrl = strapi.controller(`api::${apiName}.${name}`);\n }\n\n if (!ctrl) {\n return strapi.controller(name as UID.Controller);\n }\n\n return ctrl;\n};\n\nconst extractHandlerParts = (name: string) => {\n const controllerName = name.slice(0, name.lastIndexOf('.'));\n const actionName = name.slice(name.lastIndexOf('.') + 1);\n\n return { controllerName, actionName };\n};\n\nconst getAction = (route: Core.Route, strapi: Core.Strapi) => {\n const { handler, info } = route;\n const { pluginName, apiName, type } = info ?? {};\n\n if (Array.isArray(handler) || typeof handler === 'function') {\n return handler;\n }\n\n const { controllerName, actionName } = extractHandlerParts(trim(handler));\n\n const controller = getController(controllerName, { pluginName, apiName, type }, strapi);\n\n if (typeof controller[actionName] !== 'function') {\n throw new Error(`Handler not found \"${handler}\"`);\n }\n\n if (Symbol.for('__type__') in controller[actionName]) {\n (controller[actionName] as any)[Symbol.for('__type__')].push(type);\n } else {\n (controller[actionName] as any)[Symbol.for('__type__')] = [type];\n }\n\n return controller[actionName].bind(controller);\n};\n"],"names":["trim","toLower","prop","errors","isNil","resolveRouteMiddlewares","compose","createPolicicesMiddleware","castArray"],"mappings":"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"}
1
+ {"version":3,"file":"compose-endpoint.js","sources":["../../../src/services/server/compose-endpoint.ts"],"sourcesContent":["import { toLower, castArray, trim, prop, isNil } from 'lodash/fp';\nimport type { Core, UID } from '@strapi/types';\nimport { errors } from '@strapi/utils';\nimport Router from '@koa/router';\n\nimport compose from 'koa-compose';\nimport { resolveRouteMiddlewares } from './middleware';\nimport { createPolicicesMiddleware } from './policy';\n\nconst getMethod = (route: Core.Route) => {\n return trim(toLower(route.method)) as Lowercase<Core.Route['method']>;\n};\n\nconst getPath = (route: Core.Route) => trim(route.path);\n\nconst createRouteInfoMiddleware =\n (routeInfo: Core.Route): Core.MiddlewareHandler =>\n (ctx, next) => {\n const route = {\n ...routeInfo,\n config: routeInfo.config || {},\n };\n\n ctx.state.route = route;\n return next();\n };\n\nconst getAuthConfig = prop('config.auth');\n\nconst createAuthorizeMiddleware =\n (strapi: Core.Strapi): Core.MiddlewareHandler =>\n async (ctx, next) => {\n const { auth, route } = ctx.state;\n\n const authService = strapi.get('auth');\n\n try {\n await authService.verify(auth, getAuthConfig(route));\n\n return await next();\n } catch (error) {\n if (error instanceof errors.UnauthorizedError) {\n return ctx.unauthorized();\n }\n\n if (error instanceof errors.ForbiddenError) {\n // allow PolicyError as an exception to throw a publicly visible message in the API\n if (error instanceof errors.PolicyError) {\n throw error;\n }\n return ctx.forbidden();\n }\n\n throw error;\n }\n };\n\nconst createAuthenticateMiddleware =\n (strapi: Core.Strapi): Core.MiddlewareHandler =>\n async (ctx, next) => {\n return strapi.get('auth').authenticate(ctx, next);\n };\n\nconst returnBodyMiddleware: Core.MiddlewareHandler = async (ctx, next) => {\n const values = await next();\n\n if (isNil(ctx.body) && !isNil(values)) {\n ctx.body = values;\n }\n};\n\nexport default (strapi: Core.Strapi) => {\n const authenticate = createAuthenticateMiddleware(strapi);\n const authorize = createAuthorizeMiddleware(strapi);\n\n return (route: Core.Route, { router }: { router: Router }) => {\n try {\n const method = getMethod(route);\n const path = getPath(route);\n\n const middlewares = resolveRouteMiddlewares(route, strapi);\n\n const action = getAction(route, strapi);\n\n const routeHandler = compose([\n createRouteInfoMiddleware(route),\n authenticate,\n authorize,\n createPolicicesMiddleware(route, strapi),\n ...middlewares,\n returnBodyMiddleware,\n ...castArray(action),\n ]);\n\n router[method](path, routeHandler);\n } catch (error) {\n if (error instanceof Error) {\n error.message = `Error creating endpoint ${route.method} ${route.path}: ${error.message}`;\n }\n\n throw error;\n }\n };\n};\n\nconst getController = (\n name: string,\n { pluginName, apiName }: Core.RouteInfo,\n strapi: Core.Strapi\n) => {\n let ctrl: Core.Controller | undefined;\n\n if (pluginName) {\n if (pluginName === 'admin') {\n ctrl = strapi.controller(`admin::${name}`);\n } else {\n ctrl = strapi.plugin(pluginName).controller(name);\n }\n } else if (apiName) {\n ctrl = strapi.controller(`api::${apiName}.${name}`);\n }\n\n if (!ctrl) {\n return strapi.controller(name as UID.Controller);\n }\n\n return ctrl;\n};\n\nconst extractHandlerParts = (name: string) => {\n const controllerName = name.slice(0, name.lastIndexOf('.'));\n const actionName = name.slice(name.lastIndexOf('.') + 1);\n\n return { controllerName, actionName };\n};\n\nconst getAction = (route: Core.Route, strapi: Core.Strapi) => {\n const { handler, info } = route;\n const { pluginName, apiName, type } = info ?? {};\n\n if (Array.isArray(handler) || typeof handler === 'function') {\n return handler;\n }\n\n const { controllerName, actionName } = extractHandlerParts(trim(handler));\n\n const controller = getController(controllerName, { pluginName, apiName, type }, strapi);\n\n if (typeof controller[actionName] !== 'function') {\n throw new Error(`Handler not found \"${handler}\"`);\n }\n\n if (Symbol.for('__type__') in controller[actionName]) {\n (controller[actionName] as any)[Symbol.for('__type__')].push(type);\n } else {\n (controller[actionName] as any)[Symbol.for('__type__')] = [type];\n }\n\n return controller[actionName].bind(controller);\n};\n"],"names":["getMethod","route","trim","toLower","method","getPath","path","createRouteInfoMiddleware","routeInfo","ctx","next","config","state","getAuthConfig","prop","createAuthorizeMiddleware","strapi","auth","authService","get","verify","error","errors","UnauthorizedError","unauthorized","ForbiddenError","PolicyError","forbidden","createAuthenticateMiddleware","authenticate","returnBodyMiddleware","values","isNil","body","authorize","router","middlewares","resolveRouteMiddlewares","action","getAction","routeHandler","compose","createPolicicesMiddleware","castArray","Error","message","getController","name","pluginName","apiName","ctrl","controller","plugin","extractHandlerParts","controllerName","slice","lastIndexOf","actionName","handler","info","type","Array","isArray","Symbol","for","push","bind"],"mappings":"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"}
@@ -1,116 +1,126 @@
1
- import { prop, castArray, trim, toLower, isNil } from "lodash/fp";
2
- import { errors } from "@strapi/utils";
3
- import compose from "koa-compose";
4
- import { resolveRouteMiddlewares } from "./middleware.mjs";
5
- import { createPolicicesMiddleware } from "./policy.mjs";
6
- const getMethod = (route) => {
7
- return trim(toLower(route.method));
1
+ import { prop, castArray, trim, toLower, isNil } from 'lodash/fp';
2
+ import { errors } from '@strapi/utils';
3
+ import compose from 'koa-compose';
4
+ import { resolveRouteMiddlewares } from './middleware.mjs';
5
+ import { createPolicicesMiddleware } from './policy.mjs';
6
+
7
+ const getMethod = (route)=>{
8
+ return trim(toLower(route.method));
8
9
  };
9
- const getPath = (route) => trim(route.path);
10
- const createRouteInfoMiddleware = (routeInfo) => (ctx, next) => {
11
- const route = {
12
- ...routeInfo,
13
- config: routeInfo.config || {}
14
- };
15
- ctx.state.route = route;
16
- return next();
10
+ const getPath = (route)=>trim(route.path);
11
+ const createRouteInfoMiddleware = (routeInfo)=>(ctx, next)=>{
12
+ const route = {
13
+ ...routeInfo,
14
+ config: routeInfo.config || {}
15
+ };
16
+ ctx.state.route = route;
17
+ return next();
18
+ };
19
+ const getAuthConfig = prop('config.auth');
20
+ const createAuthorizeMiddleware = (strapi)=>async (ctx, next)=>{
21
+ const { auth, route } = ctx.state;
22
+ const authService = strapi.get('auth');
23
+ try {
24
+ await authService.verify(auth, getAuthConfig(route));
25
+ return await next();
26
+ } catch (error) {
27
+ if (error instanceof errors.UnauthorizedError) {
28
+ return ctx.unauthorized();
29
+ }
30
+ if (error instanceof errors.ForbiddenError) {
31
+ // allow PolicyError as an exception to throw a publicly visible message in the API
32
+ if (error instanceof errors.PolicyError) {
33
+ throw error;
34
+ }
35
+ return ctx.forbidden();
36
+ }
37
+ throw error;
38
+ }
39
+ };
40
+ const createAuthenticateMiddleware = (strapi)=>async (ctx, next)=>{
41
+ return strapi.get('auth').authenticate(ctx, next);
42
+ };
43
+ const returnBodyMiddleware = async (ctx, next)=>{
44
+ const values = await next();
45
+ if (isNil(ctx.body) && !isNil(values)) {
46
+ ctx.body = values;
47
+ }
17
48
  };
18
- const getAuthConfig = prop("config.auth");
19
- const createAuthorizeMiddleware = (strapi) => async (ctx, next) => {
20
- const { auth, route } = ctx.state;
21
- const authService = strapi.get("auth");
22
- try {
23
- await authService.verify(auth, getAuthConfig(route));
24
- return await next();
25
- } catch (error) {
26
- if (error instanceof errors.UnauthorizedError) {
27
- return ctx.unauthorized();
49
+ var createEndpointComposer = ((strapi)=>{
50
+ const authenticate = createAuthenticateMiddleware(strapi);
51
+ const authorize = createAuthorizeMiddleware(strapi);
52
+ return (route, { router })=>{
53
+ try {
54
+ const method = getMethod(route);
55
+ const path = getPath(route);
56
+ const middlewares = resolveRouteMiddlewares(route, strapi);
57
+ const action = getAction(route, strapi);
58
+ const routeHandler = compose([
59
+ createRouteInfoMiddleware(route),
60
+ authenticate,
61
+ authorize,
62
+ createPolicicesMiddleware(route, strapi),
63
+ ...middlewares,
64
+ returnBodyMiddleware,
65
+ ...castArray(action)
66
+ ]);
67
+ router[method](path, routeHandler);
68
+ } catch (error) {
69
+ if (error instanceof Error) {
70
+ error.message = `Error creating endpoint ${route.method} ${route.path}: ${error.message}`;
71
+ }
72
+ throw error;
73
+ }
74
+ };
75
+ });
76
+ const getController = (name, { pluginName, apiName }, strapi)=>{
77
+ let ctrl;
78
+ if (pluginName) {
79
+ if (pluginName === 'admin') {
80
+ ctrl = strapi.controller(`admin::${name}`);
81
+ } else {
82
+ ctrl = strapi.plugin(pluginName).controller(name);
83
+ }
84
+ } else if (apiName) {
85
+ ctrl = strapi.controller(`api::${apiName}.${name}`);
28
86
  }
29
- if (error instanceof errors.ForbiddenError) {
30
- if (error instanceof errors.PolicyError) {
31
- throw error;
32
- }
33
- return ctx.forbidden();
87
+ if (!ctrl) {
88
+ return strapi.controller(name);
34
89
  }
35
- throw error;
36
- }
37
- };
38
- const createAuthenticateMiddleware = (strapi) => async (ctx, next) => {
39
- return strapi.get("auth").authenticate(ctx, next);
90
+ return ctrl;
40
91
  };
41
- const returnBodyMiddleware = async (ctx, next) => {
42
- const values = await next();
43
- if (isNil(ctx.body) && !isNil(values)) {
44
- ctx.body = values;
45
- }
92
+ const extractHandlerParts = (name)=>{
93
+ const controllerName = name.slice(0, name.lastIndexOf('.'));
94
+ const actionName = name.slice(name.lastIndexOf('.') + 1);
95
+ return {
96
+ controllerName,
97
+ actionName
98
+ };
46
99
  };
47
- const createEndpointComposer = (strapi) => {
48
- const authenticate = createAuthenticateMiddleware(strapi);
49
- const authorize = createAuthorizeMiddleware(strapi);
50
- return (route, { router }) => {
51
- try {
52
- const method = getMethod(route);
53
- const path = getPath(route);
54
- const middlewares = resolveRouteMiddlewares(route, strapi);
55
- const action = getAction(route, strapi);
56
- const routeHandler = compose([
57
- createRouteInfoMiddleware(route),
58
- authenticate,
59
- authorize,
60
- createPolicicesMiddleware(route, strapi),
61
- ...middlewares,
62
- returnBodyMiddleware,
63
- ...castArray(action)
64
- ]);
65
- router[method](path, routeHandler);
66
- } catch (error) {
67
- if (error instanceof Error) {
68
- error.message = `Error creating endpoint ${route.method} ${route.path}: ${error.message}`;
69
- }
70
- throw error;
100
+ const getAction = (route, strapi)=>{
101
+ const { handler, info } = route;
102
+ const { pluginName, apiName, type } = info ?? {};
103
+ if (Array.isArray(handler) || typeof handler === 'function') {
104
+ return handler;
71
105
  }
72
- };
73
- };
74
- const getController = (name, { pluginName, apiName }, strapi) => {
75
- let ctrl;
76
- if (pluginName) {
77
- if (pluginName === "admin") {
78
- ctrl = strapi.controller(`admin::${name}`);
106
+ const { controllerName, actionName } = extractHandlerParts(trim(handler));
107
+ const controller = getController(controllerName, {
108
+ pluginName,
109
+ apiName,
110
+ type
111
+ }, strapi);
112
+ if (typeof controller[actionName] !== 'function') {
113
+ throw new Error(`Handler not found "${handler}"`);
114
+ }
115
+ if (Symbol.for('__type__') in controller[actionName]) {
116
+ controller[actionName][Symbol.for('__type__')].push(type);
79
117
  } else {
80
- ctrl = strapi.plugin(pluginName).controller(name);
118
+ controller[actionName][Symbol.for('__type__')] = [
119
+ type
120
+ ];
81
121
  }
82
- } else if (apiName) {
83
- ctrl = strapi.controller(`api::${apiName}.${name}`);
84
- }
85
- if (!ctrl) {
86
- return strapi.controller(name);
87
- }
88
- return ctrl;
89
- };
90
- const extractHandlerParts = (name) => {
91
- const controllerName = name.slice(0, name.lastIndexOf("."));
92
- const actionName = name.slice(name.lastIndexOf(".") + 1);
93
- return { controllerName, actionName };
94
- };
95
- const getAction = (route, strapi) => {
96
- const { handler, info } = route;
97
- const { pluginName, apiName, type } = info ?? {};
98
- if (Array.isArray(handler) || typeof handler === "function") {
99
- return handler;
100
- }
101
- const { controllerName, actionName } = extractHandlerParts(trim(handler));
102
- const controller = getController(controllerName, { pluginName, apiName, type }, strapi);
103
- if (typeof controller[actionName] !== "function") {
104
- throw new Error(`Handler not found "${handler}"`);
105
- }
106
- if (Symbol.for("__type__") in controller[actionName]) {
107
- controller[actionName][Symbol.for("__type__")].push(type);
108
- } else {
109
- controller[actionName][Symbol.for("__type__")] = [type];
110
- }
111
- return controller[actionName].bind(controller);
112
- };
113
- export {
114
- createEndpointComposer as default
122
+ return controller[actionName].bind(controller);
115
123
  };
124
+
125
+ export { createEndpointComposer as default };
116
126
  //# sourceMappingURL=compose-endpoint.mjs.map