@strapi/core 0.0.0-experimental.1a574eb92501bf5230c6126b73f8e992690d8da1 → 0.0.0-experimental.1e4c115f717b021ca11c139584d4519db28ba786

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 (709) hide show
  1. package/dist/Strapi.js +455 -0
  2. package/dist/Strapi.js.map +1 -0
  3. package/dist/Strapi.mjs +434 -0
  4. package/dist/Strapi.mjs.map +1 -0
  5. package/dist/compile.js +27 -0
  6. package/dist/compile.js.map +1 -0
  7. package/dist/compile.mjs +25 -0
  8. package/dist/compile.mjs.map +1 -0
  9. package/dist/configuration/config-loader.js +119 -0
  10. package/dist/configuration/config-loader.js.map +1 -0
  11. package/dist/configuration/config-loader.mjs +117 -0
  12. package/dist/configuration/config-loader.mjs.map +1 -0
  13. package/dist/configuration/get-dirs.js +33 -0
  14. package/dist/configuration/get-dirs.js.map +1 -0
  15. package/dist/configuration/get-dirs.mjs +31 -0
  16. package/dist/configuration/get-dirs.mjs.map +1 -0
  17. package/dist/configuration/index.d.ts +1 -0
  18. package/dist/configuration/index.d.ts.map +1 -1
  19. package/dist/configuration/index.js +92 -0
  20. package/dist/configuration/index.js.map +1 -0
  21. package/dist/configuration/index.mjs +90 -0
  22. package/dist/configuration/index.mjs.map +1 -0
  23. package/dist/configuration/urls.d.ts.map +1 -1
  24. package/dist/configuration/urls.js +81 -0
  25. package/dist/configuration/urls.js.map +1 -0
  26. package/dist/configuration/urls.mjs +77 -0
  27. package/dist/configuration/urls.mjs.map +1 -0
  28. package/dist/container.js +34 -0
  29. package/dist/container.js.map +1 -0
  30. package/dist/container.mjs +32 -0
  31. package/dist/container.mjs.map +1 -0
  32. package/dist/core-api/controller/collection-type.js +85 -0
  33. package/dist/core-api/controller/collection-type.js.map +1 -0
  34. package/dist/core-api/controller/collection-type.mjs +83 -0
  35. package/dist/core-api/controller/collection-type.mjs.map +1 -0
  36. package/dist/core-api/controller/index.js +67 -0
  37. package/dist/core-api/controller/index.js.map +1 -0
  38. package/dist/core-api/controller/index.mjs +65 -0
  39. package/dist/core-api/controller/index.mjs.map +1 -0
  40. package/dist/core-api/controller/single-type.js +47 -0
  41. package/dist/core-api/controller/single-type.js.map +1 -0
  42. package/dist/core-api/controller/single-type.mjs +45 -0
  43. package/dist/core-api/controller/single-type.mjs.map +1 -0
  44. package/dist/core-api/controller/transform.js +85 -0
  45. package/dist/core-api/controller/transform.js.map +1 -0
  46. package/dist/core-api/controller/transform.mjs +83 -0
  47. package/dist/core-api/controller/transform.mjs.map +1 -0
  48. package/dist/core-api/routes/index.d.ts +4 -22
  49. package/dist/core-api/routes/index.d.ts.map +1 -1
  50. package/dist/core-api/routes/index.js +192 -0
  51. package/dist/core-api/routes/index.js.map +1 -0
  52. package/dist/core-api/routes/index.mjs +190 -0
  53. package/dist/core-api/routes/index.mjs.map +1 -0
  54. package/dist/core-api/routes/validation/attributes.d.ts +91 -0
  55. package/dist/core-api/routes/validation/attributes.d.ts.map +1 -0
  56. package/dist/core-api/routes/validation/attributes.js +583 -0
  57. package/dist/core-api/routes/validation/attributes.js.map +1 -0
  58. package/dist/core-api/routes/validation/attributes.mjs +580 -0
  59. package/dist/core-api/routes/validation/attributes.mjs.map +1 -0
  60. package/dist/core-api/routes/validation/common.d.ts +103 -0
  61. package/dist/core-api/routes/validation/common.d.ts.map +1 -0
  62. package/dist/core-api/routes/validation/common.js +95 -0
  63. package/dist/core-api/routes/validation/common.js.map +1 -0
  64. package/dist/core-api/routes/validation/common.mjs +93 -0
  65. package/dist/core-api/routes/validation/common.mjs.map +1 -0
  66. package/dist/core-api/routes/validation/component.d.ts +42 -0
  67. package/dist/core-api/routes/validation/component.d.ts.map +1 -0
  68. package/dist/core-api/routes/validation/component.js +59 -0
  69. package/dist/core-api/routes/validation/component.js.map +1 -0
  70. package/dist/core-api/routes/validation/component.mjs +57 -0
  71. package/dist/core-api/routes/validation/component.mjs.map +1 -0
  72. package/dist/core-api/routes/validation/constants.d.ts +2 -0
  73. package/dist/core-api/routes/validation/constants.d.ts.map +1 -0
  74. package/dist/core-api/routes/validation/constants.js +13 -0
  75. package/dist/core-api/routes/validation/constants.js.map +1 -0
  76. package/dist/core-api/routes/validation/constants.mjs +11 -0
  77. package/dist/core-api/routes/validation/constants.mjs.map +1 -0
  78. package/dist/core-api/routes/validation/content-type.d.ts +171 -0
  79. package/dist/core-api/routes/validation/content-type.d.ts.map +1 -0
  80. package/dist/core-api/routes/validation/content-type.js +246 -0
  81. package/dist/core-api/routes/validation/content-type.js.map +1 -0
  82. package/dist/core-api/routes/validation/content-type.mjs +244 -0
  83. package/dist/core-api/routes/validation/content-type.mjs.map +1 -0
  84. package/dist/core-api/routes/validation/index.d.ts +5 -0
  85. package/dist/core-api/routes/validation/index.d.ts.map +1 -0
  86. package/dist/core-api/service/collection-type.js +80 -0
  87. package/dist/core-api/service/collection-type.js.map +1 -0
  88. package/dist/core-api/service/collection-type.mjs +77 -0
  89. package/dist/core-api/service/collection-type.mjs.map +1 -0
  90. package/dist/core-api/service/core-service.js +13 -0
  91. package/dist/core-api/service/core-service.js.map +1 -0
  92. package/dist/core-api/service/core-service.mjs +11 -0
  93. package/dist/core-api/service/core-service.mjs.map +1 -0
  94. package/dist/core-api/service/index.js +16 -0
  95. package/dist/core-api/service/index.js.map +1 -0
  96. package/dist/core-api/service/index.mjs +14 -0
  97. package/dist/core-api/service/index.mjs.map +1 -0
  98. package/dist/core-api/service/pagination.js +78 -0
  99. package/dist/core-api/service/pagination.js.map +1 -0
  100. package/dist/core-api/service/pagination.mjs +73 -0
  101. package/dist/core-api/service/pagination.mjs.map +1 -0
  102. package/dist/core-api/service/single-type.js +50 -0
  103. package/dist/core-api/service/single-type.js.map +1 -0
  104. package/dist/core-api/service/single-type.mjs +47 -0
  105. package/dist/core-api/service/single-type.mjs.map +1 -0
  106. package/dist/domain/content-type/index.js +106 -0
  107. package/dist/domain/content-type/index.js.map +1 -0
  108. package/dist/domain/content-type/index.mjs +103 -0
  109. package/dist/domain/content-type/index.mjs.map +1 -0
  110. package/dist/domain/content-type/validator.js +92 -0
  111. package/dist/domain/content-type/validator.js.map +1 -0
  112. package/dist/domain/content-type/validator.mjs +90 -0
  113. package/dist/domain/content-type/validator.mjs.map +1 -0
  114. package/dist/domain/module/index.d.ts.map +1 -1
  115. package/dist/domain/module/index.js +119 -0
  116. package/dist/domain/module/index.js.map +1 -0
  117. package/dist/domain/module/index.mjs +117 -0
  118. package/dist/domain/module/index.mjs.map +1 -0
  119. package/dist/domain/module/validation.js +30 -0
  120. package/dist/domain/module/validation.js.map +1 -0
  121. package/dist/domain/module/validation.mjs +28 -0
  122. package/dist/domain/module/validation.mjs.map +1 -0
  123. package/dist/ee/index.d.ts +1 -0
  124. package/dist/ee/index.d.ts.map +1 -1
  125. package/dist/ee/index.js +192 -0
  126. package/dist/ee/index.js.map +1 -0
  127. package/dist/ee/index.mjs +190 -0
  128. package/dist/ee/index.mjs.map +1 -0
  129. package/dist/ee/license.d.ts.map +1 -1
  130. package/dist/ee/license.js +116 -0
  131. package/dist/ee/license.js.map +1 -0
  132. package/dist/ee/license.mjs +111 -0
  133. package/dist/ee/license.mjs.map +1 -0
  134. package/dist/factories.d.ts +3 -1
  135. package/dist/factories.d.ts.map +1 -1
  136. package/dist/factories.js +93 -0
  137. package/dist/factories.js.map +1 -0
  138. package/dist/factories.mjs +87 -0
  139. package/dist/factories.mjs.map +1 -0
  140. package/dist/index.js +19 -10099
  141. package/dist/index.js.map +1 -1
  142. package/dist/index.mjs +17 -10076
  143. package/dist/index.mjs.map +1 -1
  144. package/dist/loaders/admin.d.ts.map +1 -1
  145. package/dist/loaders/admin.js +27 -0
  146. package/dist/loaders/admin.js.map +1 -0
  147. package/dist/loaders/admin.mjs +25 -0
  148. package/dist/loaders/admin.mjs.map +1 -0
  149. package/dist/loaders/apis.js +160 -0
  150. package/dist/loaders/apis.js.map +1 -0
  151. package/dist/loaders/apis.mjs +158 -0
  152. package/dist/loaders/apis.mjs.map +1 -0
  153. package/dist/loaders/components.js +37 -0
  154. package/dist/loaders/components.js.map +1 -0
  155. package/dist/loaders/components.mjs +35 -0
  156. package/dist/loaders/components.mjs.map +1 -0
  157. package/dist/loaders/index.js +26 -0
  158. package/dist/loaders/index.js.map +1 -0
  159. package/dist/loaders/index.mjs +24 -0
  160. package/dist/loaders/index.mjs.map +1 -0
  161. package/dist/loaders/middlewares.js +35 -0
  162. package/dist/loaders/middlewares.js.map +1 -0
  163. package/dist/loaders/middlewares.mjs +33 -0
  164. package/dist/loaders/middlewares.mjs.map +1 -0
  165. package/dist/loaders/plugins/get-enabled-plugins.js +136 -0
  166. package/dist/loaders/plugins/get-enabled-plugins.js.map +1 -0
  167. package/dist/loaders/plugins/get-enabled-plugins.mjs +134 -0
  168. package/dist/loaders/plugins/get-enabled-plugins.mjs.map +1 -0
  169. package/dist/loaders/plugins/get-user-plugins-config.js +28 -0
  170. package/dist/loaders/plugins/get-user-plugins-config.js.map +1 -0
  171. package/dist/loaders/plugins/get-user-plugins-config.mjs +26 -0
  172. package/dist/loaders/plugins/get-user-plugins-config.mjs.map +1 -0
  173. package/dist/loaders/plugins/index.js +155 -0
  174. package/dist/loaders/plugins/index.js.map +1 -0
  175. package/dist/loaders/plugins/index.mjs +134 -0
  176. package/dist/loaders/plugins/index.mjs.map +1 -0
  177. package/dist/loaders/policies.js +29 -0
  178. package/dist/loaders/policies.js.map +1 -0
  179. package/dist/loaders/policies.mjs +27 -0
  180. package/dist/loaders/policies.mjs.map +1 -0
  181. package/dist/loaders/sanitizers.js +12 -0
  182. package/dist/loaders/sanitizers.js.map +1 -0
  183. package/dist/loaders/sanitizers.mjs +10 -0
  184. package/dist/loaders/sanitizers.mjs.map +1 -0
  185. package/dist/loaders/src-index.js +41 -0
  186. package/dist/loaders/src-index.js.map +1 -0
  187. package/dist/loaders/src-index.mjs +39 -0
  188. package/dist/loaders/src-index.mjs.map +1 -0
  189. package/dist/loaders/validators.js +11 -0
  190. package/dist/loaders/validators.js.map +1 -0
  191. package/dist/loaders/validators.mjs +9 -0
  192. package/dist/loaders/validators.mjs.map +1 -0
  193. package/dist/middlewares/body.js +69 -0
  194. package/dist/middlewares/body.js.map +1 -0
  195. package/dist/middlewares/body.mjs +67 -0
  196. package/dist/middlewares/body.mjs.map +1 -0
  197. package/dist/middlewares/compression.js +8 -0
  198. package/dist/middlewares/compression.js.map +1 -0
  199. package/dist/middlewares/compression.mjs +6 -0
  200. package/dist/middlewares/compression.mjs.map +1 -0
  201. package/dist/middlewares/cors.js +64 -0
  202. package/dist/middlewares/cors.js.map +1 -0
  203. package/dist/middlewares/cors.mjs +62 -0
  204. package/dist/middlewares/cors.mjs.map +1 -0
  205. package/dist/middlewares/errors.js +35 -0
  206. package/dist/middlewares/errors.js.map +1 -0
  207. package/dist/middlewares/errors.mjs +33 -0
  208. package/dist/middlewares/errors.mjs.map +1 -0
  209. package/dist/middlewares/favicon.js +32 -0
  210. package/dist/middlewares/favicon.js.map +1 -0
  211. package/dist/middlewares/favicon.mjs +30 -0
  212. package/dist/middlewares/favicon.mjs.map +1 -0
  213. package/dist/middlewares/index.js +36 -0
  214. package/dist/middlewares/index.js.map +1 -0
  215. package/dist/middlewares/index.mjs +34 -0
  216. package/dist/middlewares/index.mjs.map +1 -0
  217. package/dist/middlewares/ip.js +8 -0
  218. package/dist/middlewares/ip.js.map +1 -0
  219. package/dist/middlewares/ip.mjs +6 -0
  220. package/dist/middlewares/ip.mjs.map +1 -0
  221. package/dist/middlewares/logger.js +13 -0
  222. package/dist/middlewares/logger.js.map +1 -0
  223. package/dist/middlewares/logger.mjs +11 -0
  224. package/dist/middlewares/logger.mjs.map +1 -0
  225. package/dist/middlewares/powered-by.js +18 -0
  226. package/dist/middlewares/powered-by.js.map +1 -0
  227. package/dist/middlewares/powered-by.mjs +16 -0
  228. package/dist/middlewares/powered-by.mjs.map +1 -0
  229. package/dist/middlewares/public.js +38 -0
  230. package/dist/middlewares/public.js.map +1 -0
  231. package/dist/middlewares/public.mjs +36 -0
  232. package/dist/middlewares/public.mjs.map +1 -0
  233. package/dist/middlewares/query.js +43 -0
  234. package/dist/middlewares/query.js.map +1 -0
  235. package/dist/middlewares/query.mjs +41 -0
  236. package/dist/middlewares/query.mjs.map +1 -0
  237. package/dist/middlewares/response-time.js +13 -0
  238. package/dist/middlewares/response-time.js.map +1 -0
  239. package/dist/middlewares/response-time.mjs +11 -0
  240. package/dist/middlewares/response-time.mjs.map +1 -0
  241. package/dist/middlewares/responses.js +17 -0
  242. package/dist/middlewares/responses.js.map +1 -0
  243. package/dist/middlewares/responses.mjs +15 -0
  244. package/dist/middlewares/responses.mjs.map +1 -0
  245. package/dist/middlewares/security.js +116 -0
  246. package/dist/middlewares/security.js.map +1 -0
  247. package/dist/middlewares/security.mjs +114 -0
  248. package/dist/middlewares/security.mjs.map +1 -0
  249. package/dist/middlewares/session.js +31 -0
  250. package/dist/middlewares/session.js.map +1 -0
  251. package/dist/middlewares/session.mjs +29 -0
  252. package/dist/middlewares/session.mjs.map +1 -0
  253. package/dist/migrations/database/5.0.0-discard-drafts.js +168 -0
  254. package/dist/migrations/database/5.0.0-discard-drafts.js.map +1 -0
  255. package/dist/migrations/database/5.0.0-discard-drafts.mjs +165 -0
  256. package/dist/migrations/database/5.0.0-discard-drafts.mjs.map +1 -0
  257. package/dist/migrations/draft-publish.js +69 -0
  258. package/dist/migrations/draft-publish.js.map +1 -0
  259. package/dist/migrations/draft-publish.mjs +66 -0
  260. package/dist/migrations/draft-publish.mjs.map +1 -0
  261. package/dist/migrations/i18n.js +71 -0
  262. package/dist/migrations/i18n.js.map +1 -0
  263. package/dist/migrations/i18n.mjs +68 -0
  264. package/dist/migrations/i18n.mjs.map +1 -0
  265. package/dist/migrations/index.js +29 -0
  266. package/dist/migrations/index.js.map +1 -0
  267. package/dist/migrations/index.mjs +26 -0
  268. package/dist/migrations/index.mjs.map +1 -0
  269. package/dist/package.json.js +183 -0
  270. package/dist/package.json.js.map +1 -0
  271. package/dist/package.json.mjs +160 -0
  272. package/dist/package.json.mjs.map +1 -0
  273. package/dist/providers/admin.js +30 -0
  274. package/dist/providers/admin.js.map +1 -0
  275. package/dist/providers/admin.mjs +28 -0
  276. package/dist/providers/admin.mjs.map +1 -0
  277. package/dist/providers/coreStore.js +16 -0
  278. package/dist/providers/coreStore.js.map +1 -0
  279. package/dist/providers/coreStore.mjs +14 -0
  280. package/dist/providers/coreStore.mjs.map +1 -0
  281. package/dist/providers/cron.js +23 -0
  282. package/dist/providers/cron.js.map +1 -0
  283. package/dist/providers/cron.mjs +21 -0
  284. package/dist/providers/cron.mjs.map +1 -0
  285. package/dist/providers/index.js +20 -0
  286. package/dist/providers/index.js.map +1 -0
  287. package/dist/providers/index.mjs +18 -0
  288. package/dist/providers/index.mjs.map +1 -0
  289. package/dist/providers/provider.js +6 -0
  290. package/dist/providers/provider.js.map +1 -0
  291. package/dist/providers/provider.mjs +4 -0
  292. package/dist/providers/provider.mjs.map +1 -0
  293. package/dist/providers/registries.js +40 -0
  294. package/dist/providers/registries.js.map +1 -0
  295. package/dist/providers/registries.mjs +38 -0
  296. package/dist/providers/registries.mjs.map +1 -0
  297. package/dist/providers/telemetry.js +22 -0
  298. package/dist/providers/telemetry.js.map +1 -0
  299. package/dist/providers/telemetry.mjs +20 -0
  300. package/dist/providers/telemetry.mjs.map +1 -0
  301. package/dist/providers/webhooks.js +32 -0
  302. package/dist/providers/webhooks.js.map +1 -0
  303. package/dist/providers/webhooks.mjs +30 -0
  304. package/dist/providers/webhooks.mjs.map +1 -0
  305. package/dist/registries/apis.js +26 -0
  306. package/dist/registries/apis.js.map +1 -0
  307. package/dist/registries/apis.mjs +24 -0
  308. package/dist/registries/apis.mjs.map +1 -0
  309. package/dist/registries/components.js +43 -0
  310. package/dist/registries/components.js.map +1 -0
  311. package/dist/registries/components.mjs +41 -0
  312. package/dist/registries/components.mjs.map +1 -0
  313. package/dist/registries/content-types.js +65 -0
  314. package/dist/registries/content-types.js.map +1 -0
  315. package/dist/registries/content-types.mjs +63 -0
  316. package/dist/registries/content-types.mjs.map +1 -0
  317. package/dist/registries/controllers.js +79 -0
  318. package/dist/registries/controllers.js.map +1 -0
  319. package/dist/registries/controllers.mjs +77 -0
  320. package/dist/registries/controllers.mjs.map +1 -0
  321. package/dist/registries/custom-fields.js +81 -0
  322. package/dist/registries/custom-fields.js.map +1 -0
  323. package/dist/registries/custom-fields.mjs +79 -0
  324. package/dist/registries/custom-fields.mjs.map +1 -0
  325. package/dist/registries/hooks.js +55 -0
  326. package/dist/registries/hooks.js.map +1 -0
  327. package/dist/registries/hooks.mjs +53 -0
  328. package/dist/registries/hooks.mjs.map +1 -0
  329. package/dist/registries/middlewares.js +58 -0
  330. package/dist/registries/middlewares.js.map +1 -0
  331. package/dist/registries/middlewares.mjs +56 -0
  332. package/dist/registries/middlewares.mjs.map +1 -0
  333. package/dist/registries/models.js +17 -0
  334. package/dist/registries/models.js.map +1 -0
  335. package/dist/registries/models.mjs +15 -0
  336. package/dist/registries/models.mjs.map +1 -0
  337. package/dist/registries/modules.js +42 -0
  338. package/dist/registries/modules.js.map +1 -0
  339. package/dist/registries/modules.mjs +40 -0
  340. package/dist/registries/modules.mjs.map +1 -0
  341. package/dist/registries/namespace.js +28 -0
  342. package/dist/registries/namespace.js.map +1 -0
  343. package/dist/registries/namespace.mjs +24 -0
  344. package/dist/registries/namespace.mjs.map +1 -0
  345. package/dist/registries/plugins.js +26 -0
  346. package/dist/registries/plugins.js.map +1 -0
  347. package/dist/registries/plugins.mjs +24 -0
  348. package/dist/registries/plugins.mjs.map +1 -0
  349. package/dist/registries/policies.js +115 -0
  350. package/dist/registries/policies.js.map +1 -0
  351. package/dist/registries/policies.mjs +113 -0
  352. package/dist/registries/policies.mjs.map +1 -0
  353. package/dist/registries/sanitizers.js +26 -0
  354. package/dist/registries/sanitizers.js.map +1 -0
  355. package/dist/registries/sanitizers.mjs +24 -0
  356. package/dist/registries/sanitizers.mjs.map +1 -0
  357. package/dist/registries/services.js +80 -0
  358. package/dist/registries/services.js.map +1 -0
  359. package/dist/registries/services.mjs +78 -0
  360. package/dist/registries/services.mjs.map +1 -0
  361. package/dist/registries/validators.js +26 -0
  362. package/dist/registries/validators.js.map +1 -0
  363. package/dist/registries/validators.mjs +24 -0
  364. package/dist/registries/validators.mjs.map +1 -0
  365. package/dist/services/auth/index.js +81 -0
  366. package/dist/services/auth/index.js.map +1 -0
  367. package/dist/services/auth/index.mjs +79 -0
  368. package/dist/services/auth/index.mjs.map +1 -0
  369. package/dist/services/config.js +51 -0
  370. package/dist/services/config.js.map +1 -0
  371. package/dist/services/config.mjs +49 -0
  372. package/dist/services/config.mjs.map +1 -0
  373. package/dist/services/content-api/index.js +86 -0
  374. package/dist/services/content-api/index.js.map +1 -0
  375. package/dist/services/content-api/index.mjs +84 -0
  376. package/dist/services/content-api/index.mjs.map +1 -0
  377. package/dist/services/content-api/permissions/engine.js +10 -0
  378. package/dist/services/content-api/permissions/engine.js.map +1 -0
  379. package/dist/services/content-api/permissions/engine.mjs +8 -0
  380. package/dist/services/content-api/permissions/engine.mjs.map +1 -0
  381. package/dist/services/content-api/permissions/index.js +107 -0
  382. package/dist/services/content-api/permissions/index.js.map +1 -0
  383. package/dist/services/content-api/permissions/index.mjs +105 -0
  384. package/dist/services/content-api/permissions/index.mjs.map +1 -0
  385. package/dist/services/content-api/permissions/providers/action.js +19 -0
  386. package/dist/services/content-api/permissions/providers/action.js.map +1 -0
  387. package/dist/services/content-api/permissions/providers/action.mjs +17 -0
  388. package/dist/services/content-api/permissions/providers/action.mjs.map +1 -0
  389. package/dist/services/content-api/permissions/providers/condition.js +19 -0
  390. package/dist/services/content-api/permissions/providers/condition.js.map +1 -0
  391. package/dist/services/content-api/permissions/providers/condition.mjs +17 -0
  392. package/dist/services/content-api/permissions/providers/condition.mjs.map +1 -0
  393. package/dist/services/core-store.js +127 -0
  394. package/dist/services/core-store.js.map +1 -0
  395. package/dist/services/core-store.mjs +124 -0
  396. package/dist/services/core-store.mjs.map +1 -0
  397. package/dist/services/cron.js +77 -0
  398. package/dist/services/cron.js.map +1 -0
  399. package/dist/services/cron.mjs +75 -0
  400. package/dist/services/cron.mjs.map +1 -0
  401. package/dist/services/custom-fields.js +12 -0
  402. package/dist/services/custom-fields.js.map +1 -0
  403. package/dist/services/custom-fields.mjs +10 -0
  404. package/dist/services/custom-fields.mjs.map +1 -0
  405. package/dist/services/document-service/attributes/index.js +27 -0
  406. package/dist/services/document-service/attributes/index.js.map +1 -0
  407. package/dist/services/document-service/attributes/index.mjs +25 -0
  408. package/dist/services/document-service/attributes/index.mjs.map +1 -0
  409. package/dist/services/document-service/attributes/transforms.js +21 -0
  410. package/dist/services/document-service/attributes/transforms.js.map +1 -0
  411. package/dist/services/document-service/attributes/transforms.mjs +19 -0
  412. package/dist/services/document-service/attributes/transforms.mjs.map +1 -0
  413. package/dist/services/document-service/common.js +8 -0
  414. package/dist/services/document-service/common.js.map +1 -0
  415. package/dist/services/document-service/common.mjs +6 -0
  416. package/dist/services/document-service/common.mjs.map +1 -0
  417. package/dist/services/document-service/components.js +286 -0
  418. package/dist/services/document-service/components.js.map +1 -0
  419. package/dist/services/document-service/components.mjs +278 -0
  420. package/dist/services/document-service/components.mjs.map +1 -0
  421. package/dist/services/document-service/draft-and-publish.js +109 -0
  422. package/dist/services/document-service/draft-and-publish.js.map +1 -0
  423. package/dist/services/document-service/draft-and-publish.mjs +102 -0
  424. package/dist/services/document-service/draft-and-publish.mjs.map +1 -0
  425. package/dist/services/document-service/entries.js +113 -0
  426. package/dist/services/document-service/entries.js.map +1 -0
  427. package/dist/services/document-service/entries.mjs +111 -0
  428. package/dist/services/document-service/entries.mjs.map +1 -0
  429. package/dist/services/document-service/events.js +59 -0
  430. package/dist/services/document-service/events.js.map +1 -0
  431. package/dist/services/document-service/events.mjs +57 -0
  432. package/dist/services/document-service/events.mjs.map +1 -0
  433. package/dist/services/document-service/index.js +56 -0
  434. package/dist/services/document-service/index.js.map +1 -0
  435. package/dist/services/document-service/index.mjs +54 -0
  436. package/dist/services/document-service/index.mjs.map +1 -0
  437. package/dist/services/document-service/internationalization.js +79 -0
  438. package/dist/services/document-service/internationalization.js.map +1 -0
  439. package/dist/services/document-service/internationalization.mjs +74 -0
  440. package/dist/services/document-service/internationalization.mjs.map +1 -0
  441. package/dist/services/document-service/middlewares/errors.js +29 -0
  442. package/dist/services/document-service/middlewares/errors.js.map +1 -0
  443. package/dist/services/document-service/middlewares/errors.mjs +27 -0
  444. package/dist/services/document-service/middlewares/errors.mjs.map +1 -0
  445. package/dist/services/document-service/middlewares/middleware-manager.js +51 -0
  446. package/dist/services/document-service/middlewares/middleware-manager.js.map +1 -0
  447. package/dist/services/document-service/middlewares/middleware-manager.mjs +49 -0
  448. package/dist/services/document-service/middlewares/middleware-manager.mjs.map +1 -0
  449. package/dist/services/document-service/params.js +14 -0
  450. package/dist/services/document-service/params.js.map +1 -0
  451. package/dist/services/document-service/params.mjs +12 -0
  452. package/dist/services/document-service/params.mjs.map +1 -0
  453. package/dist/services/document-service/repository.js +364 -0
  454. package/dist/services/document-service/repository.js.map +1 -0
  455. package/dist/services/document-service/repository.mjs +362 -0
  456. package/dist/services/document-service/repository.mjs.map +1 -0
  457. package/dist/services/document-service/transform/data.js +25 -0
  458. package/dist/services/document-service/transform/data.js.map +1 -0
  459. package/dist/services/document-service/transform/data.mjs +23 -0
  460. package/dist/services/document-service/transform/data.mjs.map +1 -0
  461. package/dist/services/document-service/transform/fields.js +33 -0
  462. package/dist/services/document-service/transform/fields.js.map +1 -0
  463. package/dist/services/document-service/transform/fields.mjs +31 -0
  464. package/dist/services/document-service/transform/fields.mjs.map +1 -0
  465. package/dist/services/document-service/transform/id-map.js +125 -0
  466. package/dist/services/document-service/transform/id-map.js.map +1 -0
  467. package/dist/services/document-service/transform/id-map.mjs +123 -0
  468. package/dist/services/document-service/transform/id-map.mjs.map +1 -0
  469. package/dist/services/document-service/transform/id-transform.js +41 -0
  470. package/dist/services/document-service/transform/id-transform.js.map +1 -0
  471. package/dist/services/document-service/transform/id-transform.mjs +39 -0
  472. package/dist/services/document-service/transform/id-transform.mjs.map +1 -0
  473. package/dist/services/document-service/transform/populate.js +26 -0
  474. package/dist/services/document-service/transform/populate.js.map +1 -0
  475. package/dist/services/document-service/transform/populate.mjs +24 -0
  476. package/dist/services/document-service/transform/populate.mjs.map +1 -0
  477. package/dist/services/document-service/transform/query.js +14 -0
  478. package/dist/services/document-service/transform/query.js.map +1 -0
  479. package/dist/services/document-service/transform/query.mjs +12 -0
  480. package/dist/services/document-service/transform/query.mjs.map +1 -0
  481. package/dist/services/document-service/transform/relations/extract/data-ids.js +80 -0
  482. package/dist/services/document-service/transform/relations/extract/data-ids.js.map +1 -0
  483. package/dist/services/document-service/transform/relations/extract/data-ids.mjs +78 -0
  484. package/dist/services/document-service/transform/relations/extract/data-ids.mjs.map +1 -0
  485. package/dist/services/document-service/transform/relations/transform/data-ids.js +110 -0
  486. package/dist/services/document-service/transform/relations/transform/data-ids.js.map +1 -0
  487. package/dist/services/document-service/transform/relations/transform/data-ids.mjs +108 -0
  488. package/dist/services/document-service/transform/relations/transform/data-ids.mjs.map +1 -0
  489. package/dist/services/document-service/transform/relations/transform/default-locale.js +50 -0
  490. package/dist/services/document-service/transform/relations/transform/default-locale.js.map +1 -0
  491. package/dist/services/document-service/transform/relations/transform/default-locale.mjs +48 -0
  492. package/dist/services/document-service/transform/relations/transform/default-locale.mjs.map +1 -0
  493. package/dist/services/document-service/transform/relations/utils/dp.js +56 -0
  494. package/dist/services/document-service/transform/relations/utils/dp.js.map +1 -0
  495. package/dist/services/document-service/transform/relations/utils/dp.mjs +54 -0
  496. package/dist/services/document-service/transform/relations/utils/dp.mjs.map +1 -0
  497. package/dist/services/document-service/transform/relations/utils/i18n.js +27 -0
  498. package/dist/services/document-service/transform/relations/utils/i18n.js.map +1 -0
  499. package/dist/services/document-service/transform/relations/utils/i18n.mjs +23 -0
  500. package/dist/services/document-service/transform/relations/utils/i18n.mjs.map +1 -0
  501. package/dist/services/document-service/transform/relations/utils/map-relation.js +130 -0
  502. package/dist/services/document-service/transform/relations/utils/map-relation.js.map +1 -0
  503. package/dist/services/document-service/transform/relations/utils/map-relation.mjs +127 -0
  504. package/dist/services/document-service/transform/relations/utils/map-relation.mjs.map +1 -0
  505. package/dist/services/document-service/utils/bidirectional-relations.js +148 -0
  506. package/dist/services/document-service/utils/bidirectional-relations.js.map +1 -0
  507. package/dist/services/document-service/utils/bidirectional-relations.mjs +145 -0
  508. package/dist/services/document-service/utils/bidirectional-relations.mjs.map +1 -0
  509. package/dist/services/document-service/utils/populate.js +71 -0
  510. package/dist/services/document-service/utils/populate.js.map +1 -0
  511. package/dist/services/document-service/utils/populate.mjs +69 -0
  512. package/dist/services/document-service/utils/populate.mjs.map +1 -0
  513. package/dist/services/document-service/utils/unidirectional-relations.js +116 -0
  514. package/dist/services/document-service/utils/unidirectional-relations.js.map +1 -0
  515. package/dist/services/document-service/utils/unidirectional-relations.mjs +113 -0
  516. package/dist/services/document-service/utils/unidirectional-relations.mjs.map +1 -0
  517. package/dist/services/entity-service/index.js +238 -0
  518. package/dist/services/entity-service/index.js.map +1 -0
  519. package/dist/services/entity-service/index.mjs +236 -0
  520. package/dist/services/entity-service/index.mjs.map +1 -0
  521. package/dist/services/entity-validator/blocks-validator.js +160 -0
  522. package/dist/services/entity-validator/blocks-validator.js.map +1 -0
  523. package/dist/services/entity-validator/blocks-validator.mjs +158 -0
  524. package/dist/services/entity-validator/blocks-validator.mjs.map +1 -0
  525. package/dist/services/entity-validator/index.js +384 -0
  526. package/dist/services/entity-validator/index.js.map +1 -0
  527. package/dist/services/entity-validator/index.mjs +382 -0
  528. package/dist/services/entity-validator/index.mjs.map +1 -0
  529. package/dist/services/entity-validator/validators.js +299 -0
  530. package/dist/services/entity-validator/validators.js.map +1 -0
  531. package/dist/services/entity-validator/validators.mjs +290 -0
  532. package/dist/services/entity-validator/validators.mjs.map +1 -0
  533. package/dist/services/errors.js +76 -0
  534. package/dist/services/errors.js.map +1 -0
  535. package/dist/services/errors.mjs +72 -0
  536. package/dist/services/errors.mjs.map +1 -0
  537. package/dist/services/event-hub.js +85 -0
  538. package/dist/services/event-hub.js.map +1 -0
  539. package/dist/services/event-hub.mjs +83 -0
  540. package/dist/services/event-hub.mjs.map +1 -0
  541. package/dist/services/features.js +22 -0
  542. package/dist/services/features.js.map +1 -0
  543. package/dist/services/features.mjs +20 -0
  544. package/dist/services/features.mjs.map +1 -0
  545. package/dist/services/fs.js +52 -0
  546. package/dist/services/fs.js.map +1 -0
  547. package/dist/services/fs.mjs +50 -0
  548. package/dist/services/fs.mjs.map +1 -0
  549. package/dist/services/metrics/admin-user-hash.d.ts.map +1 -1
  550. package/dist/services/metrics/admin-user-hash.js +16 -0
  551. package/dist/services/metrics/admin-user-hash.js.map +1 -0
  552. package/dist/services/metrics/admin-user-hash.mjs +14 -0
  553. package/dist/services/metrics/admin-user-hash.mjs.map +1 -0
  554. package/dist/services/metrics/index.js +51 -0
  555. package/dist/services/metrics/index.js.map +1 -0
  556. package/dist/services/metrics/index.mjs +49 -0
  557. package/dist/services/metrics/index.mjs.map +1 -0
  558. package/dist/services/metrics/is-truthy.js +16 -0
  559. package/dist/services/metrics/is-truthy.js.map +1 -0
  560. package/dist/services/metrics/is-truthy.mjs +14 -0
  561. package/dist/services/metrics/is-truthy.mjs.map +1 -0
  562. package/dist/services/metrics/middleware.js +40 -0
  563. package/dist/services/metrics/middleware.js.map +1 -0
  564. package/dist/services/metrics/middleware.mjs +38 -0
  565. package/dist/services/metrics/middleware.mjs.map +1 -0
  566. package/dist/services/metrics/rate-limiter.js +26 -0
  567. package/dist/services/metrics/rate-limiter.js.map +1 -0
  568. package/dist/services/metrics/rate-limiter.mjs +24 -0
  569. package/dist/services/metrics/rate-limiter.mjs.map +1 -0
  570. package/dist/services/metrics/sender.d.ts.map +1 -1
  571. package/dist/services/metrics/sender.js +85 -0
  572. package/dist/services/metrics/sender.js.map +1 -0
  573. package/dist/services/metrics/sender.mjs +83 -0
  574. package/dist/services/metrics/sender.mjs.map +1 -0
  575. package/dist/services/query-params.js +15 -0
  576. package/dist/services/query-params.js.map +1 -0
  577. package/dist/services/query-params.mjs +13 -0
  578. package/dist/services/query-params.mjs.map +1 -0
  579. package/dist/services/reloader.js +39 -0
  580. package/dist/services/reloader.js.map +1 -0
  581. package/dist/services/reloader.mjs +37 -0
  582. package/dist/services/reloader.mjs.map +1 -0
  583. package/dist/services/request-context.js +16 -0
  584. package/dist/services/request-context.js.map +1 -0
  585. package/dist/services/request-context.mjs +14 -0
  586. package/dist/services/request-context.mjs.map +1 -0
  587. package/dist/services/server/admin-api.js +14 -0
  588. package/dist/services/server/admin-api.js.map +1 -0
  589. package/dist/services/server/admin-api.mjs +12 -0
  590. package/dist/services/server/admin-api.mjs.map +1 -0
  591. package/dist/services/server/api.js +36 -0
  592. package/dist/services/server/api.js.map +1 -0
  593. package/dist/services/server/api.mjs +34 -0
  594. package/dist/services/server/api.mjs.map +1 -0
  595. package/dist/services/server/compose-endpoint.js +128 -0
  596. package/dist/services/server/compose-endpoint.js.map +1 -0
  597. package/dist/services/server/compose-endpoint.mjs +126 -0
  598. package/dist/services/server/compose-endpoint.mjs.map +1 -0
  599. package/dist/services/server/content-api.js +14 -0
  600. package/dist/services/server/content-api.js.map +1 -0
  601. package/dist/services/server/content-api.mjs +12 -0
  602. package/dist/services/server/content-api.mjs.map +1 -0
  603. package/dist/services/server/http-server.js +54 -0
  604. package/dist/services/server/http-server.js.map +1 -0
  605. package/dist/services/server/http-server.mjs +52 -0
  606. package/dist/services/server/http-server.mjs.map +1 -0
  607. package/dist/services/server/index.js +90 -0
  608. package/dist/services/server/index.js.map +1 -0
  609. package/dist/services/server/index.mjs +88 -0
  610. package/dist/services/server/index.mjs.map +1 -0
  611. package/dist/services/server/koa.js +54 -0
  612. package/dist/services/server/koa.js.map +1 -0
  613. package/dist/services/server/koa.mjs +52 -0
  614. package/dist/services/server/koa.mjs.map +1 -0
  615. package/dist/services/server/middleware.js +96 -0
  616. package/dist/services/server/middleware.js.map +1 -0
  617. package/dist/services/server/middleware.mjs +93 -0
  618. package/dist/services/server/middleware.mjs.map +1 -0
  619. package/dist/services/server/policy.js +27 -0
  620. package/dist/services/server/policy.js.map +1 -0
  621. package/dist/services/server/policy.mjs +25 -0
  622. package/dist/services/server/policy.mjs.map +1 -0
  623. package/dist/services/server/register-middlewares.js +79 -0
  624. package/dist/services/server/register-middlewares.js.map +1 -0
  625. package/dist/services/server/register-middlewares.mjs +77 -0
  626. package/dist/services/server/register-middlewares.mjs.map +1 -0
  627. package/dist/services/server/register-routes.js +119 -0
  628. package/dist/services/server/register-routes.js.map +1 -0
  629. package/dist/services/server/register-routes.mjs +117 -0
  630. package/dist/services/server/register-routes.mjs.map +1 -0
  631. package/dist/services/server/routing.d.ts +10 -0
  632. package/dist/services/server/routing.d.ts.map +1 -1
  633. package/dist/services/server/routing.js +110 -0
  634. package/dist/services/server/routing.js.map +1 -0
  635. package/dist/services/server/routing.mjs +107 -0
  636. package/dist/services/server/routing.mjs.map +1 -0
  637. package/dist/services/utils/dynamic-zones.js +16 -0
  638. package/dist/services/utils/dynamic-zones.js.map +1 -0
  639. package/dist/services/utils/dynamic-zones.mjs +14 -0
  640. package/dist/services/utils/dynamic-zones.mjs.map +1 -0
  641. package/dist/services/webhook-runner.js +135 -0
  642. package/dist/services/webhook-runner.js.map +1 -0
  643. package/dist/services/webhook-runner.mjs +133 -0
  644. package/dist/services/webhook-runner.mjs.map +1 -0
  645. package/dist/services/webhook-store.js +143 -0
  646. package/dist/services/webhook-store.js.map +1 -0
  647. package/dist/services/webhook-store.mjs +140 -0
  648. package/dist/services/webhook-store.mjs.map +1 -0
  649. package/dist/services/worker-queue.js +51 -0
  650. package/dist/services/worker-queue.js.map +1 -0
  651. package/dist/services/worker-queue.mjs +49 -0
  652. package/dist/services/worker-queue.mjs.map +1 -0
  653. package/dist/utils/convert-custom-field-type.js +21 -0
  654. package/dist/utils/convert-custom-field-type.js.map +1 -0
  655. package/dist/utils/convert-custom-field-type.mjs +19 -0
  656. package/dist/utils/convert-custom-field-type.mjs.map +1 -0
  657. package/dist/utils/cron.js +72 -0
  658. package/dist/utils/cron.js.map +1 -0
  659. package/dist/utils/cron.mjs +70 -0
  660. package/dist/utils/cron.mjs.map +1 -0
  661. package/dist/utils/fetch.js +27 -0
  662. package/dist/utils/fetch.js.map +1 -0
  663. package/dist/utils/fetch.mjs +25 -0
  664. package/dist/utils/fetch.mjs.map +1 -0
  665. package/dist/utils/filepath-to-prop-path.js +25 -0
  666. package/dist/utils/filepath-to-prop-path.js.map +1 -0
  667. package/dist/utils/filepath-to-prop-path.mjs +23 -0
  668. package/dist/utils/filepath-to-prop-path.mjs.map +1 -0
  669. package/dist/utils/is-initialized.js +25 -0
  670. package/dist/utils/is-initialized.js.map +1 -0
  671. package/dist/utils/is-initialized.mjs +23 -0
  672. package/dist/utils/is-initialized.mjs.map +1 -0
  673. package/dist/utils/lifecycles.js +10 -0
  674. package/dist/utils/lifecycles.js.map +1 -0
  675. package/dist/utils/lifecycles.mjs +8 -0
  676. package/dist/utils/lifecycles.mjs.map +1 -0
  677. package/dist/utils/load-config-file.js +47 -0
  678. package/dist/utils/load-config-file.js.map +1 -0
  679. package/dist/utils/load-config-file.mjs +45 -0
  680. package/dist/utils/load-config-file.mjs.map +1 -0
  681. package/dist/utils/load-files.js +44 -0
  682. package/dist/utils/load-files.js.map +1 -0
  683. package/dist/utils/load-files.mjs +42 -0
  684. package/dist/utils/load-files.mjs.map +1 -0
  685. package/dist/utils/open-browser.js +11 -0
  686. package/dist/utils/open-browser.js.map +1 -0
  687. package/dist/utils/open-browser.mjs +9 -0
  688. package/dist/utils/open-browser.mjs.map +1 -0
  689. package/dist/utils/resolve-working-dirs.js +26 -0
  690. package/dist/utils/resolve-working-dirs.js.map +1 -0
  691. package/dist/utils/resolve-working-dirs.mjs +24 -0
  692. package/dist/utils/resolve-working-dirs.mjs.map +1 -0
  693. package/dist/utils/signals.js +23 -0
  694. package/dist/utils/signals.js.map +1 -0
  695. package/dist/utils/signals.mjs +21 -0
  696. package/dist/utils/signals.mjs.map +1 -0
  697. package/dist/utils/startup-logger.js +110 -0
  698. package/dist/utils/startup-logger.js.map +1 -0
  699. package/dist/utils/startup-logger.mjs +108 -0
  700. package/dist/utils/startup-logger.mjs.map +1 -0
  701. package/dist/utils/transform-content-types-to-models.js +377 -0
  702. package/dist/utils/transform-content-types-to-models.js.map +1 -0
  703. package/dist/utils/transform-content-types-to-models.mjs +365 -0
  704. package/dist/utils/transform-content-types-to-models.mjs.map +1 -0
  705. package/dist/utils/update-notifier/index.js +80 -0
  706. package/dist/utils/update-notifier/index.js.map +1 -0
  707. package/dist/utils/update-notifier/index.mjs +78 -0
  708. package/dist/utils/update-notifier/index.mjs.map +1 -0
  709. package/package.json +14 -13
@@ -0,0 +1,171 @@
1
+ import type { Core, UID } from '@strapi/types';
2
+ import { z } from 'zod';
3
+ import { AbstractCoreRouteValidator } from './common';
4
+ export type QueryParam = 'fields' | 'populate' | 'sort' | 'status' | 'locale' | 'pagination' | 'filters' | '_q';
5
+ /**
6
+ * A validator for core content-type routes.
7
+ *
8
+ * Provides validation schemas and utilities for handling content-type-specific route validation.
9
+ *
10
+ * @example
11
+ * ```ts
12
+ * const strapi = // ... strapi instance
13
+ * const uid = 'api::article.article'
14
+ * const validator = new CoreContentTypeRouteValidator(strapi, uid);
15
+ *
16
+ * // Get validation schema for document
17
+ * const documentSchema = validator.document;
18
+ *
19
+ * // Validate query parameters
20
+ * const querySchema = validator.query(['fields', 'populate', 'sort']);
21
+ * ```
22
+ */
23
+ export declare class CoreContentTypeRouteValidator extends AbstractCoreRouteValidator<UID.ContentType> {
24
+ /**
25
+ * Creates a new instance of CoreContentTypeRouteValidator
26
+ *
27
+ * @param strapi - The Strapi instance
28
+ * @param uid - The content-type's unique identifier
29
+ */
30
+ constructor(strapi: Core.Strapi, uid: UID.ContentType);
31
+ /**
32
+ * Generates a validation schema for document IDs
33
+ *
34
+ * @returns A schema that validates UUIDs
35
+ *
36
+ * @example
37
+ * ```ts
38
+ * const validator = new CoreContentTypeRouteValidator(strapi, uid);
39
+ * const idSchema = validator.documentID;
40
+ * ```
41
+ */
42
+ get documentID(): z.ZodUUID;
43
+ /**
44
+ * Generates a comprehensive validation schema for a single document.
45
+ *
46
+ * Combines scalar fields and populatable fields into a single schema.
47
+ *
48
+ * @returns A schema for validating complete documents
49
+ *
50
+ * @example
51
+ * ```ts
52
+ * const validator = new CoreContentTypeRouteValidator(strapi, uid);
53
+ * const docSchema = validator.document;
54
+ * ```
55
+ */
56
+ get document(): z.ZodObject<{
57
+ documentId: z.ZodUUID;
58
+ id: z.ZodNumber;
59
+ }, {}, {}>;
60
+ /**
61
+ * Generates a validation schema for an array of documents
62
+ *
63
+ * @returns A schema for validating arrays of documents
64
+ *
65
+ * @example
66
+ * ```ts
67
+ * const validator = new CoreContentTypeRouteValidator(strapi, uid);
68
+ * const docsSchema = validator.documents;
69
+ * ```
70
+ */
71
+ get documents(): z.ZodArray<z.ZodObject<{
72
+ documentId: z.ZodUUID;
73
+ id: z.ZodNumber;
74
+ }, {}, {}>>;
75
+ /**
76
+ * Generates a validation schema for field selection in queries
77
+ *
78
+ * @returns A schema for validating field selection
79
+ *
80
+ * @example
81
+ * ```ts
82
+ * const validator = new CoreContentTypeRouteValidator(strapi, uid);
83
+ * const fieldsSchema = validator.queryFields;
84
+ * ```
85
+ */
86
+ get queryFields(): z.ZodReadonly<z.ZodArray<z.ZodEnum<{
87
+ [x: string]: string;
88
+ }>>>;
89
+ /**
90
+ * Generates a validation schema for populate operations.
91
+ *
92
+ * Allows wildcard (*), single field, and multiple field population.
93
+ *
94
+ * @returns A schema for validating populate parameters
95
+ *
96
+ * @example
97
+ * ```ts
98
+ * const validator = new CoreContentTypeRouteValidator(strapi, uid);
99
+ * const populateSchema = validator.queryPopulate;
100
+ * ```
101
+ */
102
+ get queryPopulate(): z.ZodUnion<readonly [z.ZodReadonly<z.ZodLiteral<"*">>, z.ZodReadonly<z.ZodEnum<{
103
+ [x: string]: string;
104
+ }>>, z.ZodArray<z.ZodEnum<{
105
+ [x: string]: string;
106
+ }>>]>;
107
+ /**
108
+ * Generates a validation schema for sorting parameters.
109
+ *
110
+ * Allows various sorting formats including single field, multiple fields, and direction specifications
111
+ *
112
+ * @returns A schema for validating sort parameters
113
+ *
114
+ * @example
115
+ * ```ts
116
+ * const validator = new CoreContentTypeRouteValidator(strapi, uid);
117
+ * const sortSchema = validator.querySort;
118
+ * ```
119
+ *
120
+ * @remarks
121
+ * - Nested sorts are currently not supported
122
+ */
123
+ get querySort(): z.ZodUnion<readonly [z.ZodEnum<{
124
+ [x: string]: string;
125
+ }>, z.ZodArray<z.ZodEnum<{
126
+ [x: string]: string;
127
+ }>>, z.ZodRecord<z.ZodEnum<{
128
+ [x: string]: string;
129
+ }>, z.ZodType<unknown, unknown>>, z.ZodArray<z.ZodRecord<z.ZodEnum<{
130
+ [x: string]: string;
131
+ }>, z.ZodType<unknown, unknown>>>]>;
132
+ get locale(): z.ZodOptional<z.ZodString>;
133
+ get status(): z.ZodEnum<{
134
+ draft: "draft";
135
+ published: "published";
136
+ }>;
137
+ get pagination(): z.ZodIntersection<z.ZodObject<{
138
+ withCount: z.ZodOptional<z.ZodBoolean>;
139
+ }, {}, {}>, z.ZodUnion<readonly [z.ZodObject<{
140
+ page: z.ZodNumber;
141
+ pageSize: z.ZodNumber;
142
+ }, {}, {}>, z.ZodObject<{
143
+ start: z.ZodNumber;
144
+ limit: z.ZodNumber;
145
+ }, {}, {}>]>>;
146
+ get filters(): z.ZodRecord<z.ZodEnum<{
147
+ [x: string]: string;
148
+ }>, z.ZodAny>;
149
+ get data(): z.ZodObject<{}, {}, {}>;
150
+ get query(): z.ZodString;
151
+ get body(): z.ZodObject<{
152
+ data: z.ZodObject<{}, {}, {}>;
153
+ }, {}, {}>;
154
+ get partialBody(): z.ZodObject<{
155
+ data: z.ZodObject<{}, {}, {}>;
156
+ }, {}, {}>;
157
+ /**
158
+ * Creates validation schemas for query parameters
159
+ *
160
+ * @param params - Array of query parameters to validate ('fields', 'populate', 'sort', ...)
161
+ * @returns Object containing validation schemas for requested parameters
162
+ *
163
+ * @example
164
+ * ```ts
165
+ * const validator = new CoreContentTypeRouteValidator(strapi, uid);
166
+ * const querySchemas = validator.query(['fields', 'populate']);
167
+ * ```
168
+ */
169
+ queryParams(params: QueryParam[]): Partial<Record<QueryParam, z.Schema>>;
170
+ }
171
+ //# sourceMappingURL=content-type.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content-type.d.ts","sourceRoot":"","sources":["../../../../src/core-api/routes/validation/content-type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAU,GAAG,EAAE,MAAM,eAAe,CAAC;AAGvD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,0BAA0B,EAAE,MAAM,UAAU,CAAC;AAEtD,MAAM,MAAM,UAAU,GAClB,QAAQ,GACR,UAAU,GACV,MAAM,GACN,QAAQ,GACR,QAAQ,GACR,YAAY,GACZ,SAAS,GACT,IAAI,CAAC;AAET;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,6BAA8B,SAAQ,0BAA0B,CAAC,GAAG,CAAC,WAAW,CAAC;IAC5F;;;;;OAKG;gBACS,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,WAAW;IAIrD;;;;;;;;;;OAUG;IACH,IAAI,UAAU,cAEb;IAED;;;;;;;;;;;;OAYG;IACH,IAAI,QAAQ;;;eAsBX;IAED;;;;;;;;;;OAUG;IACH,IAAI,SAAS;;;gBAEZ;IAED;;;;;;;;;;OAUG;IACH,IAAI,WAAW;;SAMd;IAED;;;;;;;;;;;;OAYG;IACH,IAAI,aAAa;;;;UAiBhB;IAED;;;;;;;;;;;;;;;OAeG;IACH,IAAI,SAAS;;;;;;;;wCAYZ;IAED,IAAI,MAAM,+BAET;IAED,IAAI,MAAM;;;OAIT;IAED,IAAI,UAAU;;;;;;;;kBAcb;IAED,IAAI,OAAO;;kBAEV;IAED,IAAI,IAAI,4BAsBP;IAED,IAAI,KAAK,gBAER;IAED,IAAI,IAAI;;eAEP;IAED,IAAI,WAAW;;eAEd;IAED;;;;;;;;;;;OAWG;IACH,WAAW,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;CAiBzE"}
@@ -0,0 +1,246 @@
1
+ 'use strict';
2
+
3
+ var strapiUtils = require('@strapi/utils');
4
+ var zod = require('zod');
5
+ var attributes = require('./attributes.js');
6
+ var common = require('./common.js');
7
+
8
+ /**
9
+ * A validator for core content-type routes.
10
+ *
11
+ * Provides validation schemas and utilities for handling content-type-specific route validation.
12
+ *
13
+ * @example
14
+ * ```ts
15
+ * const strapi = // ... strapi instance
16
+ * const uid = 'api::article.article'
17
+ * const validator = new CoreContentTypeRouteValidator(strapi, uid);
18
+ *
19
+ * // Get validation schema for document
20
+ * const documentSchema = validator.document;
21
+ *
22
+ * // Validate query parameters
23
+ * const querySchema = validator.query(['fields', 'populate', 'sort']);
24
+ * ```
25
+ */ class CoreContentTypeRouteValidator extends common.AbstractCoreRouteValidator {
26
+ /**
27
+ * Generates a validation schema for document IDs
28
+ *
29
+ * @returns A schema that validates UUIDs
30
+ *
31
+ * @example
32
+ * ```ts
33
+ * const validator = new CoreContentTypeRouteValidator(strapi, uid);
34
+ * const idSchema = validator.documentID;
35
+ * ```
36
+ */ get documentID() {
37
+ return zod.z.uuid().describe('The document ID, represented by a UUID');
38
+ }
39
+ /**
40
+ * Generates a comprehensive validation schema for a single document.
41
+ *
42
+ * Combines scalar fields and populatable fields into a single schema.
43
+ *
44
+ * @returns A schema for validating complete documents
45
+ *
46
+ * @example
47
+ * ```ts
48
+ * const validator = new CoreContentTypeRouteValidator(strapi, uid);
49
+ * const docSchema = validator.document;
50
+ * ```
51
+ */ get document() {
52
+ const { _scalarFields, _populatableFields } = this;
53
+ const entries = Object.entries({
54
+ ..._scalarFields,
55
+ ..._populatableFields
56
+ });
57
+ const attributesSchema = entries// Remove passwords from the attribute list
58
+ // TODO: Make sure we're not leaking other fields like that
59
+ .filter(([, attribute])=>![
60
+ 'password'
61
+ ].includes(attribute.type))// Merge all attributes into a single schema
62
+ .reduce((acc, [attributeName, attribute])=>{
63
+ return acc.extend({
64
+ get [attributeName] () {
65
+ return attributes.mapAttributeToSchema(attribute);
66
+ }
67
+ });
68
+ }, zod.z.object({}));
69
+ return attributesSchema.extend({
70
+ documentId: this.documentID,
71
+ id: zod.z.number()
72
+ });
73
+ }
74
+ /**
75
+ * Generates a validation schema for an array of documents
76
+ *
77
+ * @returns A schema for validating arrays of documents
78
+ *
79
+ * @example
80
+ * ```ts
81
+ * const validator = new CoreContentTypeRouteValidator(strapi, uid);
82
+ * const docsSchema = validator.documents;
83
+ * ```
84
+ */ get documents() {
85
+ return zod.z.array(this.document);
86
+ }
87
+ /**
88
+ * Generates a validation schema for field selection in queries
89
+ *
90
+ * @returns A schema for validating field selection
91
+ *
92
+ * @example
93
+ * ```ts
94
+ * const validator = new CoreContentTypeRouteValidator(strapi, uid);
95
+ * const fieldsSchema = validator.queryFields;
96
+ * ```
97
+ */ get queryFields() {
98
+ return this.scalarFieldsArray.readonly().describe(`The fields to return, this doesn't include populatable fields like relations, components, files, or dynamic zones`);
99
+ }
100
+ /**
101
+ * Generates a validation schema for populate operations.
102
+ *
103
+ * Allows wildcard (*), single field, and multiple field population.
104
+ *
105
+ * @returns A schema for validating populate parameters
106
+ *
107
+ * @example
108
+ * ```ts
109
+ * const validator = new CoreContentTypeRouteValidator(strapi, uid);
110
+ * const populateSchema = validator.queryPopulate;
111
+ * ```
112
+ */ get queryPopulate() {
113
+ const wildcardPopulate = zod.z.literal('*').readonly().describe('Populate all the first level relations, components, files, and dynamic zones for the entry');
114
+ const singleFieldPopulate = this.populatableFieldsEnum.readonly().describe('Populate a single relation, component, file, or dynamic zone');
115
+ const multiPopulate = this.populatableFieldsArray.describe('Populate a selection of multiple relations, components, files, or dynamic zones');
116
+ return zod.z.union([
117
+ wildcardPopulate,
118
+ singleFieldPopulate,
119
+ multiPopulate
120
+ ]);
121
+ }
122
+ /**
123
+ * Generates a validation schema for sorting parameters.
124
+ *
125
+ * Allows various sorting formats including single field, multiple fields, and direction specifications
126
+ *
127
+ * @returns A schema for validating sort parameters
128
+ *
129
+ * @example
130
+ * ```ts
131
+ * const validator = new CoreContentTypeRouteValidator(strapi, uid);
132
+ * const sortSchema = validator.querySort;
133
+ * ```
134
+ *
135
+ * @remarks
136
+ * - Nested sorts are currently not supported
137
+ */ get querySort() {
138
+ const orderDirection = zod.z.enum([
139
+ 'asc',
140
+ 'desc'
141
+ ]);
142
+ // TODO: Handle nested sorts but very low priority, very little usage
143
+ return zod.z.union([
144
+ this.scalarFieldsEnum,
145
+ this.scalarFieldsArray,
146
+ this.fieldRecord(orderDirection),
147
+ zod.z.array(this.fieldRecord(orderDirection))
148
+ ]).describe('Sort the result');
149
+ }
150
+ get locale() {
151
+ return zod.z.string().optional().describe('Select a locale');
152
+ }
153
+ get status() {
154
+ return zod.z.enum([
155
+ 'draft',
156
+ 'published'
157
+ ]).describe('Fetch documents based on their status. Default to "published" if not specified.');
158
+ }
159
+ get pagination() {
160
+ return zod.z.intersection(zod.z.object({
161
+ withCount: zod.z.boolean().optional()
162
+ }), zod.z.union([
163
+ zod.z.object({
164
+ page: zod.z.number(),
165
+ pageSize: zod.z.number()
166
+ }).describe('Specify a page number and the number of entries per page'),
167
+ zod.z.object({
168
+ start: zod.z.number(),
169
+ limit: zod.z.number()
170
+ }).describe('Specify how many entries to skip and to return')
171
+ ])).describe('Pagination parameters');
172
+ }
173
+ get filters() {
174
+ return zod.z.record(this.scalarFieldsEnum, zod.z.any()).describe('Filters to apply to the query');
175
+ }
176
+ get data() {
177
+ const { _scalarFields, _populatableFields, _schema } = this;
178
+ const isWritableAttribute = ([attributeName])=>{
179
+ return strapiUtils.contentTypes.isWritableAttribute(_schema, attributeName);
180
+ };
181
+ const entries = Object.entries({
182
+ ..._scalarFields,
183
+ ..._populatableFields
184
+ });
185
+ return entries// Remove non-writable attributes
186
+ .filter(isWritableAttribute)// Combine schemas
187
+ .reduce((acc, [attributeName, attribute])=>{
188
+ return acc.extend({
189
+ get [attributeName] () {
190
+ return attributes.mapAttributeToInputSchema(attribute);
191
+ }
192
+ });
193
+ }, zod.z.object());
194
+ }
195
+ get query() {
196
+ return zod.z.string();
197
+ }
198
+ get body() {
199
+ return zod.z.object({
200
+ data: this.data
201
+ });
202
+ }
203
+ get partialBody() {
204
+ return zod.z.object({
205
+ data: this.data.partial()
206
+ });
207
+ }
208
+ /**
209
+ * Creates validation schemas for query parameters
210
+ *
211
+ * @param params - Array of query parameters to validate ('fields', 'populate', 'sort', ...)
212
+ * @returns Object containing validation schemas for requested parameters
213
+ *
214
+ * @example
215
+ * ```ts
216
+ * const validator = new CoreContentTypeRouteValidator(strapi, uid);
217
+ * const querySchemas = validator.query(['fields', 'populate']);
218
+ * ```
219
+ */ queryParams(params) {
220
+ const map = {
221
+ fields: ()=>this.queryFields.optional(),
222
+ populate: ()=>this.queryPopulate.optional(),
223
+ sort: ()=>this.querySort.optional(),
224
+ filters: ()=>this.filters.optional(),
225
+ locale: ()=>this.locale.optional(),
226
+ pagination: ()=>this.pagination.optional(),
227
+ status: ()=>this.status.optional(),
228
+ _q: ()=>this.query.optional()
229
+ };
230
+ return params.reduce((acc, param)=>({
231
+ ...acc,
232
+ [param]: map[param]()
233
+ }), {});
234
+ }
235
+ /**
236
+ * Creates a new instance of CoreContentTypeRouteValidator
237
+ *
238
+ * @param strapi - The Strapi instance
239
+ * @param uid - The content-type's unique identifier
240
+ */ constructor(strapi, uid){
241
+ super(strapi, uid);
242
+ }
243
+ }
244
+
245
+ exports.CoreContentTypeRouteValidator = CoreContentTypeRouteValidator;
246
+ //# sourceMappingURL=content-type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content-type.js","sources":["../../../../src/core-api/routes/validation/content-type.ts"],"sourcesContent":["import type { Core, Schema, UID } from '@strapi/types';\n\nimport { contentTypes } from '@strapi/utils';\nimport { z } from 'zod';\n\nimport { mapAttributeToInputSchema, mapAttributeToSchema } from './attributes';\nimport { AbstractCoreRouteValidator } from './common';\n\nexport type QueryParam =\n | 'fields'\n | 'populate'\n | 'sort'\n | 'status'\n | 'locale'\n | 'pagination'\n | 'filters'\n | '_q';\n\n/**\n * A validator for core content-type routes.\n *\n * Provides validation schemas and utilities for handling content-type-specific route validation.\n *\n * @example\n * ```ts\n * const strapi = // ... strapi instance\n * const uid = 'api::article.article'\n * const validator = new CoreContentTypeRouteValidator(strapi, uid);\n *\n * // Get validation schema for document\n * const documentSchema = validator.document;\n *\n * // Validate query parameters\n * const querySchema = validator.query(['fields', 'populate', 'sort']);\n * ```\n */\nexport class CoreContentTypeRouteValidator extends AbstractCoreRouteValidator<UID.ContentType> {\n /**\n * Creates a new instance of CoreContentTypeRouteValidator\n *\n * @param strapi - The Strapi instance\n * @param uid - The content-type's unique identifier\n */\n constructor(strapi: Core.Strapi, uid: UID.ContentType) {\n super(strapi, uid);\n }\n\n /**\n * Generates a validation schema for document IDs\n *\n * @returns A schema that validates UUIDs\n *\n * @example\n * ```ts\n * const validator = new CoreContentTypeRouteValidator(strapi, uid);\n * const idSchema = validator.documentID;\n * ```\n */\n get documentID() {\n return z.uuid().describe('The document ID, represented by a UUID');\n }\n\n /**\n * Generates a comprehensive validation schema for a single document.\n *\n * Combines scalar fields and populatable fields into a single schema.\n *\n * @returns A schema for validating complete documents\n *\n * @example\n * ```ts\n * const validator = new CoreContentTypeRouteValidator(strapi, uid);\n * const docSchema = validator.document;\n * ```\n */\n get document() {\n const { _scalarFields, _populatableFields } = this;\n\n const entries = Object.entries({ ..._scalarFields, ..._populatableFields });\n\n const attributesSchema = entries\n // Remove passwords from the attribute list\n // TODO: Make sure we're not leaking other fields like that\n .filter(([, attribute]) => !['password'].includes(attribute.type))\n // Merge all attributes into a single schema\n .reduce((acc, [attributeName, attribute]) => {\n return acc.extend({\n get [attributeName]() {\n return mapAttributeToSchema(attribute);\n },\n });\n }, z.object({}));\n\n return attributesSchema.extend({\n documentId: this.documentID,\n id: z.number(),\n });\n }\n\n /**\n * Generates a validation schema for an array of documents\n *\n * @returns A schema for validating arrays of documents\n *\n * @example\n * ```ts\n * const validator = new CoreContentTypeRouteValidator(strapi, uid);\n * const docsSchema = validator.documents;\n * ```\n */\n get documents() {\n return z.array(this.document);\n }\n\n /**\n * Generates a validation schema for field selection in queries\n *\n * @returns A schema for validating field selection\n *\n * @example\n * ```ts\n * const validator = new CoreContentTypeRouteValidator(strapi, uid);\n * const fieldsSchema = validator.queryFields;\n * ```\n */\n get queryFields() {\n return this.scalarFieldsArray\n .readonly()\n .describe(\n `The fields to return, this doesn't include populatable fields like relations, components, files, or dynamic zones`\n );\n }\n\n /**\n * Generates a validation schema for populate operations.\n *\n * Allows wildcard (*), single field, and multiple field population.\n *\n * @returns A schema for validating populate parameters\n *\n * @example\n * ```ts\n * const validator = new CoreContentTypeRouteValidator(strapi, uid);\n * const populateSchema = validator.queryPopulate;\n * ```\n */\n get queryPopulate() {\n const wildcardPopulate = z\n .literal('*')\n .readonly()\n .describe(\n 'Populate all the first level relations, components, files, and dynamic zones for the entry'\n );\n\n const singleFieldPopulate = this.populatableFieldsEnum\n .readonly()\n .describe('Populate a single relation, component, file, or dynamic zone');\n\n const multiPopulate = this.populatableFieldsArray.describe(\n 'Populate a selection of multiple relations, components, files, or dynamic zones'\n );\n\n return z.union([wildcardPopulate, singleFieldPopulate, multiPopulate]);\n }\n\n /**\n * Generates a validation schema for sorting parameters.\n *\n * Allows various sorting formats including single field, multiple fields, and direction specifications\n *\n * @returns A schema for validating sort parameters\n *\n * @example\n * ```ts\n * const validator = new CoreContentTypeRouteValidator(strapi, uid);\n * const sortSchema = validator.querySort;\n * ```\n *\n * @remarks\n * - Nested sorts are currently not supported\n */\n get querySort() {\n const orderDirection = z.enum(['asc', 'desc']);\n\n // TODO: Handle nested sorts but very low priority, very little usage\n return z\n .union([\n this.scalarFieldsEnum, // 'name' | 'title'\n this.scalarFieldsArray, // ['name', 'title']\n this.fieldRecord(orderDirection), // { name: 'desc' } | { title: 'asc' }\n z.array(this.fieldRecord(orderDirection)), // [{ name: 'desc'}, { title: 'asc' }]\n ])\n .describe('Sort the result');\n }\n\n get locale() {\n return z.string().optional().describe('Select a locale');\n }\n\n get status() {\n return z\n .enum(['draft', 'published'])\n .describe('Fetch documents based on their status. Default to \"published\" if not specified.');\n }\n\n get pagination() {\n return z\n .intersection(\n z.object({ withCount: z.boolean().optional() }),\n z.union([\n z\n .object({ page: z.number(), pageSize: z.number() })\n .describe('Specify a page number and the number of entries per page'),\n z\n .object({ start: z.number(), limit: z.number() })\n .describe('Specify how many entries to skip and to return'),\n ])\n )\n .describe('Pagination parameters');\n }\n\n get filters() {\n return z.record(this.scalarFieldsEnum, z.any()).describe('Filters to apply to the query');\n }\n\n get data() {\n const { _scalarFields, _populatableFields, _schema } = this;\n\n const isWritableAttribute = ([attributeName]: [string, Schema.Attribute.AnyAttribute]) => {\n return contentTypes.isWritableAttribute(_schema, attributeName);\n };\n\n const entries = Object.entries({ ..._scalarFields, ..._populatableFields });\n\n return (\n entries\n // Remove non-writable attributes\n .filter(isWritableAttribute)\n // Combine schemas\n .reduce((acc, [attributeName, attribute]) => {\n return acc.extend({\n get [attributeName]() {\n return mapAttributeToInputSchema(attribute);\n },\n });\n }, z.object())\n );\n }\n\n get query() {\n return z.string();\n }\n\n get body() {\n return z.object({ data: this.data });\n }\n\n get partialBody() {\n return z.object({ data: this.data.partial() });\n }\n\n /**\n * Creates validation schemas for query parameters\n *\n * @param params - Array of query parameters to validate ('fields', 'populate', 'sort', ...)\n * @returns Object containing validation schemas for requested parameters\n *\n * @example\n * ```ts\n * const validator = new CoreContentTypeRouteValidator(strapi, uid);\n * const querySchemas = validator.query(['fields', 'populate']);\n * ```\n */\n queryParams(params: QueryParam[]): Partial<Record<QueryParam, z.Schema>> {\n const map: Record<QueryParam, () => z.Schema> = {\n fields: () => this.queryFields.optional(),\n populate: () => this.queryPopulate.optional(),\n sort: () => this.querySort.optional(),\n filters: () => this.filters.optional(),\n locale: () => this.locale.optional(),\n pagination: () => this.pagination.optional(),\n status: () => this.status.optional(),\n _q: () => this.query.optional(),\n } as const;\n\n return params.reduce(\n (acc, param) => ({ ...acc, [param]: map[param]() }),\n {} as Partial<Record<QueryParam, z.Schema>>\n );\n }\n}\n"],"names":["CoreContentTypeRouteValidator","AbstractCoreRouteValidator","documentID","z","uuid","describe","document","_scalarFields","_populatableFields","entries","Object","attributesSchema","filter","attribute","includes","type","reduce","acc","attributeName","extend","mapAttributeToSchema","object","documentId","id","number","documents","array","queryFields","scalarFieldsArray","readonly","queryPopulate","wildcardPopulate","literal","singleFieldPopulate","populatableFieldsEnum","multiPopulate","populatableFieldsArray","union","querySort","orderDirection","enum","scalarFieldsEnum","fieldRecord","locale","string","optional","status","pagination","intersection","withCount","boolean","page","pageSize","start","limit","filters","record","any","data","_schema","isWritableAttribute","contentTypes","mapAttributeToInputSchema","query","body","partialBody","partial","queryParams","params","map","fields","populate","sort","_q","param","constructor","strapi","uid"],"mappings":"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"}