@strapi/core 0.0.0-experimental.da0467de7eccc163e893e9b332505a79a5d52ec7 → 0.0.0-experimental.da76e83c9180ce7e4ab187aece17ea6bf19c783c

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 (761) hide show
  1. package/dist/Strapi.d.ts.map +1 -1
  2. package/dist/Strapi.js +457 -0
  3. package/dist/Strapi.js.map +1 -0
  4. package/dist/Strapi.mjs +436 -0
  5. package/dist/Strapi.mjs.map +1 -0
  6. package/dist/compile.js +27 -0
  7. package/dist/compile.js.map +1 -0
  8. package/dist/compile.mjs +25 -0
  9. package/dist/compile.mjs.map +1 -0
  10. package/dist/configuration/config-loader.js +119 -0
  11. package/dist/configuration/config-loader.js.map +1 -0
  12. package/dist/configuration/config-loader.mjs +117 -0
  13. package/dist/configuration/config-loader.mjs.map +1 -0
  14. package/dist/configuration/get-dirs.js +33 -0
  15. package/dist/configuration/get-dirs.js.map +1 -0
  16. package/dist/configuration/get-dirs.mjs +31 -0
  17. package/dist/configuration/get-dirs.mjs.map +1 -0
  18. package/dist/configuration/index.d.ts +1 -0
  19. package/dist/configuration/index.d.ts.map +1 -1
  20. package/dist/configuration/index.js +92 -0
  21. package/dist/configuration/index.js.map +1 -0
  22. package/dist/configuration/index.mjs +90 -0
  23. package/dist/configuration/index.mjs.map +1 -0
  24. package/dist/configuration/urls.d.ts.map +1 -1
  25. package/dist/configuration/urls.js +81 -0
  26. package/dist/configuration/urls.js.map +1 -0
  27. package/dist/configuration/urls.mjs +77 -0
  28. package/dist/configuration/urls.mjs.map +1 -0
  29. package/dist/container.js +34 -0
  30. package/dist/container.js.map +1 -0
  31. package/dist/container.mjs +32 -0
  32. package/dist/container.mjs.map +1 -0
  33. package/dist/core-api/controller/collection-type.js +85 -0
  34. package/dist/core-api/controller/collection-type.js.map +1 -0
  35. package/dist/core-api/controller/collection-type.mjs +83 -0
  36. package/dist/core-api/controller/collection-type.mjs.map +1 -0
  37. package/dist/core-api/controller/index.js +67 -0
  38. package/dist/core-api/controller/index.js.map +1 -0
  39. package/dist/core-api/controller/index.mjs +65 -0
  40. package/dist/core-api/controller/index.mjs.map +1 -0
  41. package/dist/core-api/controller/single-type.js +47 -0
  42. package/dist/core-api/controller/single-type.js.map +1 -0
  43. package/dist/core-api/controller/single-type.mjs +45 -0
  44. package/dist/core-api/controller/single-type.mjs.map +1 -0
  45. package/dist/core-api/controller/transform.js +85 -0
  46. package/dist/core-api/controller/transform.js.map +1 -0
  47. package/dist/core-api/controller/transform.mjs +83 -0
  48. package/dist/core-api/controller/transform.mjs.map +1 -0
  49. package/dist/core-api/routes/index.d.ts +4 -22
  50. package/dist/core-api/routes/index.d.ts.map +1 -1
  51. package/dist/core-api/routes/index.js +211 -0
  52. package/dist/core-api/routes/index.js.map +1 -0
  53. package/dist/core-api/routes/index.mjs +190 -0
  54. package/dist/core-api/routes/index.mjs.map +1 -0
  55. package/dist/core-api/routes/validation/attributes.d.ts +244 -0
  56. package/dist/core-api/routes/validation/attributes.d.ts.map +1 -0
  57. package/dist/core-api/routes/validation/attributes.js +560 -0
  58. package/dist/core-api/routes/validation/attributes.js.map +1 -0
  59. package/dist/core-api/routes/validation/attributes.mjs +521 -0
  60. package/dist/core-api/routes/validation/attributes.mjs.map +1 -0
  61. package/dist/core-api/routes/validation/common.d.ts +105 -0
  62. package/dist/core-api/routes/validation/common.d.ts.map +1 -0
  63. package/dist/core-api/routes/validation/common.js +116 -0
  64. package/dist/core-api/routes/validation/common.js.map +1 -0
  65. package/dist/core-api/routes/validation/common.mjs +95 -0
  66. package/dist/core-api/routes/validation/common.mjs.map +1 -0
  67. package/dist/core-api/routes/validation/component.d.ts +34 -0
  68. package/dist/core-api/routes/validation/component.d.ts.map +1 -0
  69. package/dist/core-api/routes/validation/component.js +45 -0
  70. package/dist/core-api/routes/validation/component.js.map +1 -0
  71. package/dist/core-api/routes/validation/component.mjs +43 -0
  72. package/dist/core-api/routes/validation/component.mjs.map +1 -0
  73. package/dist/core-api/routes/validation/constants.d.ts +8 -0
  74. package/dist/core-api/routes/validation/constants.d.ts.map +1 -0
  75. package/dist/core-api/routes/validation/constants.js +18 -0
  76. package/dist/core-api/routes/validation/constants.js.map +1 -0
  77. package/dist/core-api/routes/validation/constants.mjs +16 -0
  78. package/dist/core-api/routes/validation/constants.mjs.map +1 -0
  79. package/dist/core-api/routes/validation/content-type.d.ts +128 -0
  80. package/dist/core-api/routes/validation/content-type.d.ts.map +1 -0
  81. package/dist/core-api/routes/validation/content-type.js +201 -0
  82. package/dist/core-api/routes/validation/content-type.js.map +1 -0
  83. package/dist/core-api/routes/validation/content-type.mjs +180 -0
  84. package/dist/core-api/routes/validation/content-type.mjs.map +1 -0
  85. package/dist/core-api/routes/validation/index.d.ts +5 -0
  86. package/dist/core-api/routes/validation/index.d.ts.map +1 -0
  87. package/dist/core-api/routes/validation/mappers.d.ts +105 -0
  88. package/dist/core-api/routes/validation/mappers.d.ts.map +1 -0
  89. package/dist/core-api/routes/validation/mappers.js +238 -0
  90. package/dist/core-api/routes/validation/mappers.js.map +1 -0
  91. package/dist/core-api/routes/validation/mappers.mjs +214 -0
  92. package/dist/core-api/routes/validation/mappers.mjs.map +1 -0
  93. package/dist/core-api/routes/validation/utils.d.ts +47 -0
  94. package/dist/core-api/routes/validation/utils.d.ts.map +1 -0
  95. package/dist/core-api/routes/validation/utils.js +112 -0
  96. package/dist/core-api/routes/validation/utils.js.map +1 -0
  97. package/dist/core-api/routes/validation/utils.mjs +90 -0
  98. package/dist/core-api/routes/validation/utils.mjs.map +1 -0
  99. package/dist/core-api/service/collection-type.js +80 -0
  100. package/dist/core-api/service/collection-type.js.map +1 -0
  101. package/dist/core-api/service/collection-type.mjs +77 -0
  102. package/dist/core-api/service/collection-type.mjs.map +1 -0
  103. package/dist/core-api/service/core-service.js +13 -0
  104. package/dist/core-api/service/core-service.js.map +1 -0
  105. package/dist/core-api/service/core-service.mjs +11 -0
  106. package/dist/core-api/service/core-service.mjs.map +1 -0
  107. package/dist/core-api/service/index.js +16 -0
  108. package/dist/core-api/service/index.js.map +1 -0
  109. package/dist/core-api/service/index.mjs +14 -0
  110. package/dist/core-api/service/index.mjs.map +1 -0
  111. package/dist/core-api/service/pagination.js +78 -0
  112. package/dist/core-api/service/pagination.js.map +1 -0
  113. package/dist/core-api/service/pagination.mjs +73 -0
  114. package/dist/core-api/service/pagination.mjs.map +1 -0
  115. package/dist/core-api/service/single-type.js +50 -0
  116. package/dist/core-api/service/single-type.js.map +1 -0
  117. package/dist/core-api/service/single-type.mjs +47 -0
  118. package/dist/core-api/service/single-type.mjs.map +1 -0
  119. package/dist/domain/content-type/index.d.ts.map +1 -1
  120. package/dist/domain/content-type/index.js +122 -0
  121. package/dist/domain/content-type/index.js.map +1 -0
  122. package/dist/domain/content-type/index.mjs +119 -0
  123. package/dist/domain/content-type/index.mjs.map +1 -0
  124. package/dist/domain/content-type/validator.js +92 -0
  125. package/dist/domain/content-type/validator.js.map +1 -0
  126. package/dist/domain/content-type/validator.mjs +90 -0
  127. package/dist/domain/content-type/validator.mjs.map +1 -0
  128. package/dist/domain/module/index.d.ts.map +1 -1
  129. package/dist/domain/module/index.js +119 -0
  130. package/dist/domain/module/index.js.map +1 -0
  131. package/dist/domain/module/index.mjs +117 -0
  132. package/dist/domain/module/index.mjs.map +1 -0
  133. package/dist/domain/module/validation.js +30 -0
  134. package/dist/domain/module/validation.js.map +1 -0
  135. package/dist/domain/module/validation.mjs +28 -0
  136. package/dist/domain/module/validation.mjs.map +1 -0
  137. package/dist/ee/index.d.ts +7 -0
  138. package/dist/ee/index.d.ts.map +1 -1
  139. package/dist/ee/index.js +218 -0
  140. package/dist/ee/index.js.map +1 -0
  141. package/dist/ee/index.mjs +216 -0
  142. package/dist/ee/index.mjs.map +1 -0
  143. package/dist/ee/license.d.ts +3 -1
  144. package/dist/ee/license.d.ts.map +1 -1
  145. package/dist/ee/license.js +121 -0
  146. package/dist/ee/license.js.map +1 -0
  147. package/dist/ee/license.mjs +115 -0
  148. package/dist/ee/license.mjs.map +1 -0
  149. package/dist/factories.d.ts +3 -1
  150. package/dist/factories.d.ts.map +1 -1
  151. package/dist/factories.js +93 -0
  152. package/dist/factories.js.map +1 -0
  153. package/dist/factories.mjs +87 -0
  154. package/dist/factories.mjs.map +1 -0
  155. package/dist/index.js +19 -10090
  156. package/dist/index.js.map +1 -1
  157. package/dist/index.mjs +17 -10067
  158. package/dist/index.mjs.map +1 -1
  159. package/dist/loaders/admin.d.ts.map +1 -1
  160. package/dist/loaders/admin.js +27 -0
  161. package/dist/loaders/admin.js.map +1 -0
  162. package/dist/loaders/admin.mjs +25 -0
  163. package/dist/loaders/admin.mjs.map +1 -0
  164. package/dist/loaders/apis.js +160 -0
  165. package/dist/loaders/apis.js.map +1 -0
  166. package/dist/loaders/apis.mjs +158 -0
  167. package/dist/loaders/apis.mjs.map +1 -0
  168. package/dist/loaders/components.js +37 -0
  169. package/dist/loaders/components.js.map +1 -0
  170. package/dist/loaders/components.mjs +35 -0
  171. package/dist/loaders/components.mjs.map +1 -0
  172. package/dist/loaders/index.js +26 -0
  173. package/dist/loaders/index.js.map +1 -0
  174. package/dist/loaders/index.mjs +24 -0
  175. package/dist/loaders/index.mjs.map +1 -0
  176. package/dist/loaders/middlewares.js +35 -0
  177. package/dist/loaders/middlewares.js.map +1 -0
  178. package/dist/loaders/middlewares.mjs +33 -0
  179. package/dist/loaders/middlewares.mjs.map +1 -0
  180. package/dist/loaders/plugins/get-enabled-plugins.js +136 -0
  181. package/dist/loaders/plugins/get-enabled-plugins.js.map +1 -0
  182. package/dist/loaders/plugins/get-enabled-plugins.mjs +134 -0
  183. package/dist/loaders/plugins/get-enabled-plugins.mjs.map +1 -0
  184. package/dist/loaders/plugins/get-user-plugins-config.js +28 -0
  185. package/dist/loaders/plugins/get-user-plugins-config.js.map +1 -0
  186. package/dist/loaders/plugins/get-user-plugins-config.mjs +26 -0
  187. package/dist/loaders/plugins/get-user-plugins-config.mjs.map +1 -0
  188. package/dist/loaders/plugins/index.js +155 -0
  189. package/dist/loaders/plugins/index.js.map +1 -0
  190. package/dist/loaders/plugins/index.mjs +134 -0
  191. package/dist/loaders/plugins/index.mjs.map +1 -0
  192. package/dist/loaders/policies.js +29 -0
  193. package/dist/loaders/policies.js.map +1 -0
  194. package/dist/loaders/policies.mjs +27 -0
  195. package/dist/loaders/policies.mjs.map +1 -0
  196. package/dist/loaders/sanitizers.js +12 -0
  197. package/dist/loaders/sanitizers.js.map +1 -0
  198. package/dist/loaders/sanitizers.mjs +10 -0
  199. package/dist/loaders/sanitizers.mjs.map +1 -0
  200. package/dist/loaders/src-index.js +41 -0
  201. package/dist/loaders/src-index.js.map +1 -0
  202. package/dist/loaders/src-index.mjs +39 -0
  203. package/dist/loaders/src-index.mjs.map +1 -0
  204. package/dist/loaders/validators.js +11 -0
  205. package/dist/loaders/validators.js.map +1 -0
  206. package/dist/loaders/validators.mjs +9 -0
  207. package/dist/loaders/validators.mjs.map +1 -0
  208. package/dist/middlewares/body.js +69 -0
  209. package/dist/middlewares/body.js.map +1 -0
  210. package/dist/middlewares/body.mjs +67 -0
  211. package/dist/middlewares/body.mjs.map +1 -0
  212. package/dist/middlewares/compression.js +8 -0
  213. package/dist/middlewares/compression.js.map +1 -0
  214. package/dist/middlewares/compression.mjs +6 -0
  215. package/dist/middlewares/compression.mjs.map +1 -0
  216. package/dist/middlewares/cors.d.ts +9 -1
  217. package/dist/middlewares/cors.d.ts.map +1 -1
  218. package/dist/middlewares/cors.js +86 -0
  219. package/dist/middlewares/cors.js.map +1 -0
  220. package/dist/middlewares/cors.mjs +83 -0
  221. package/dist/middlewares/cors.mjs.map +1 -0
  222. package/dist/middlewares/errors.js +35 -0
  223. package/dist/middlewares/errors.js.map +1 -0
  224. package/dist/middlewares/errors.mjs +33 -0
  225. package/dist/middlewares/errors.mjs.map +1 -0
  226. package/dist/middlewares/favicon.js +32 -0
  227. package/dist/middlewares/favicon.js.map +1 -0
  228. package/dist/middlewares/favicon.mjs +30 -0
  229. package/dist/middlewares/favicon.mjs.map +1 -0
  230. package/dist/middlewares/index.js +36 -0
  231. package/dist/middlewares/index.js.map +1 -0
  232. package/dist/middlewares/index.mjs +34 -0
  233. package/dist/middlewares/index.mjs.map +1 -0
  234. package/dist/middlewares/ip.js +8 -0
  235. package/dist/middlewares/ip.js.map +1 -0
  236. package/dist/middlewares/ip.mjs +6 -0
  237. package/dist/middlewares/ip.mjs.map +1 -0
  238. package/dist/middlewares/logger.js +13 -0
  239. package/dist/middlewares/logger.js.map +1 -0
  240. package/dist/middlewares/logger.mjs +11 -0
  241. package/dist/middlewares/logger.mjs.map +1 -0
  242. package/dist/middlewares/powered-by.js +18 -0
  243. package/dist/middlewares/powered-by.js.map +1 -0
  244. package/dist/middlewares/powered-by.mjs +16 -0
  245. package/dist/middlewares/powered-by.mjs.map +1 -0
  246. package/dist/middlewares/public.js +38 -0
  247. package/dist/middlewares/public.js.map +1 -0
  248. package/dist/middlewares/public.mjs +36 -0
  249. package/dist/middlewares/public.mjs.map +1 -0
  250. package/dist/middlewares/query.js +43 -0
  251. package/dist/middlewares/query.js.map +1 -0
  252. package/dist/middlewares/query.mjs +41 -0
  253. package/dist/middlewares/query.mjs.map +1 -0
  254. package/dist/middlewares/response-time.js +13 -0
  255. package/dist/middlewares/response-time.js.map +1 -0
  256. package/dist/middlewares/response-time.mjs +11 -0
  257. package/dist/middlewares/response-time.mjs.map +1 -0
  258. package/dist/middlewares/responses.js +17 -0
  259. package/dist/middlewares/responses.js.map +1 -0
  260. package/dist/middlewares/responses.mjs +15 -0
  261. package/dist/middlewares/responses.mjs.map +1 -0
  262. package/dist/middlewares/security.js +116 -0
  263. package/dist/middlewares/security.js.map +1 -0
  264. package/dist/middlewares/security.mjs +114 -0
  265. package/dist/middlewares/security.mjs.map +1 -0
  266. package/dist/middlewares/session.js +31 -0
  267. package/dist/middlewares/session.js.map +1 -0
  268. package/dist/middlewares/session.mjs +29 -0
  269. package/dist/middlewares/session.mjs.map +1 -0
  270. package/dist/migrations/database/5.0.0-discard-drafts.js +168 -0
  271. package/dist/migrations/database/5.0.0-discard-drafts.js.map +1 -0
  272. package/dist/migrations/database/5.0.0-discard-drafts.mjs +165 -0
  273. package/dist/migrations/database/5.0.0-discard-drafts.mjs.map +1 -0
  274. package/dist/migrations/draft-publish.js +69 -0
  275. package/dist/migrations/draft-publish.js.map +1 -0
  276. package/dist/migrations/draft-publish.mjs +66 -0
  277. package/dist/migrations/draft-publish.mjs.map +1 -0
  278. package/dist/migrations/first-published-at.d.ts +4 -0
  279. package/dist/migrations/first-published-at.d.ts.map +1 -0
  280. package/dist/migrations/first-published-at.js +51 -0
  281. package/dist/migrations/first-published-at.js.map +1 -0
  282. package/dist/migrations/first-published-at.mjs +49 -0
  283. package/dist/migrations/first-published-at.mjs.map +1 -0
  284. package/dist/migrations/i18n.js +71 -0
  285. package/dist/migrations/i18n.js.map +1 -0
  286. package/dist/migrations/i18n.mjs +68 -0
  287. package/dist/migrations/i18n.mjs.map +1 -0
  288. package/dist/migrations/index.d.ts.map +1 -1
  289. package/dist/migrations/index.js +34 -0
  290. package/dist/migrations/index.js.map +1 -0
  291. package/dist/migrations/index.mjs +31 -0
  292. package/dist/migrations/index.mjs.map +1 -0
  293. package/dist/package.json.js +185 -0
  294. package/dist/package.json.js.map +1 -0
  295. package/dist/package.json.mjs +162 -0
  296. package/dist/package.json.mjs.map +1 -0
  297. package/dist/providers/admin.js +30 -0
  298. package/dist/providers/admin.js.map +1 -0
  299. package/dist/providers/admin.mjs +28 -0
  300. package/dist/providers/admin.mjs.map +1 -0
  301. package/dist/providers/coreStore.js +16 -0
  302. package/dist/providers/coreStore.js.map +1 -0
  303. package/dist/providers/coreStore.mjs +14 -0
  304. package/dist/providers/coreStore.mjs.map +1 -0
  305. package/dist/providers/cron.js +23 -0
  306. package/dist/providers/cron.js.map +1 -0
  307. package/dist/providers/cron.mjs +21 -0
  308. package/dist/providers/cron.mjs.map +1 -0
  309. package/dist/providers/index.js +20 -0
  310. package/dist/providers/index.js.map +1 -0
  311. package/dist/providers/index.mjs +18 -0
  312. package/dist/providers/index.mjs.map +1 -0
  313. package/dist/providers/provider.js +6 -0
  314. package/dist/providers/provider.js.map +1 -0
  315. package/dist/providers/provider.mjs +4 -0
  316. package/dist/providers/provider.mjs.map +1 -0
  317. package/dist/providers/registries.js +40 -0
  318. package/dist/providers/registries.js.map +1 -0
  319. package/dist/providers/registries.mjs +38 -0
  320. package/dist/providers/registries.mjs.map +1 -0
  321. package/dist/providers/telemetry.js +22 -0
  322. package/dist/providers/telemetry.js.map +1 -0
  323. package/dist/providers/telemetry.mjs +20 -0
  324. package/dist/providers/telemetry.mjs.map +1 -0
  325. package/dist/providers/webhooks.js +32 -0
  326. package/dist/providers/webhooks.js.map +1 -0
  327. package/dist/providers/webhooks.mjs +30 -0
  328. package/dist/providers/webhooks.mjs.map +1 -0
  329. package/dist/registries/apis.js +26 -0
  330. package/dist/registries/apis.js.map +1 -0
  331. package/dist/registries/apis.mjs +24 -0
  332. package/dist/registries/apis.mjs.map +1 -0
  333. package/dist/registries/components.js +43 -0
  334. package/dist/registries/components.js.map +1 -0
  335. package/dist/registries/components.mjs +41 -0
  336. package/dist/registries/components.mjs.map +1 -0
  337. package/dist/registries/content-types.js +65 -0
  338. package/dist/registries/content-types.js.map +1 -0
  339. package/dist/registries/content-types.mjs +63 -0
  340. package/dist/registries/content-types.mjs.map +1 -0
  341. package/dist/registries/controllers.js +79 -0
  342. package/dist/registries/controllers.js.map +1 -0
  343. package/dist/registries/controllers.mjs +77 -0
  344. package/dist/registries/controllers.mjs.map +1 -0
  345. package/dist/registries/custom-fields.js +81 -0
  346. package/dist/registries/custom-fields.js.map +1 -0
  347. package/dist/registries/custom-fields.mjs +79 -0
  348. package/dist/registries/custom-fields.mjs.map +1 -0
  349. package/dist/registries/hooks.js +55 -0
  350. package/dist/registries/hooks.js.map +1 -0
  351. package/dist/registries/hooks.mjs +53 -0
  352. package/dist/registries/hooks.mjs.map +1 -0
  353. package/dist/registries/middlewares.js +58 -0
  354. package/dist/registries/middlewares.js.map +1 -0
  355. package/dist/registries/middlewares.mjs +56 -0
  356. package/dist/registries/middlewares.mjs.map +1 -0
  357. package/dist/registries/models.js +17 -0
  358. package/dist/registries/models.js.map +1 -0
  359. package/dist/registries/models.mjs +15 -0
  360. package/dist/registries/models.mjs.map +1 -0
  361. package/dist/registries/modules.js +42 -0
  362. package/dist/registries/modules.js.map +1 -0
  363. package/dist/registries/modules.mjs +40 -0
  364. package/dist/registries/modules.mjs.map +1 -0
  365. package/dist/registries/namespace.js +28 -0
  366. package/dist/registries/namespace.js.map +1 -0
  367. package/dist/registries/namespace.mjs +24 -0
  368. package/dist/registries/namespace.mjs.map +1 -0
  369. package/dist/registries/plugins.js +26 -0
  370. package/dist/registries/plugins.js.map +1 -0
  371. package/dist/registries/plugins.mjs +24 -0
  372. package/dist/registries/plugins.mjs.map +1 -0
  373. package/dist/registries/policies.js +115 -0
  374. package/dist/registries/policies.js.map +1 -0
  375. package/dist/registries/policies.mjs +113 -0
  376. package/dist/registries/policies.mjs.map +1 -0
  377. package/dist/registries/sanitizers.js +26 -0
  378. package/dist/registries/sanitizers.js.map +1 -0
  379. package/dist/registries/sanitizers.mjs +24 -0
  380. package/dist/registries/sanitizers.mjs.map +1 -0
  381. package/dist/registries/services.js +80 -0
  382. package/dist/registries/services.js.map +1 -0
  383. package/dist/registries/services.mjs +78 -0
  384. package/dist/registries/services.mjs.map +1 -0
  385. package/dist/registries/validators.js +26 -0
  386. package/dist/registries/validators.js.map +1 -0
  387. package/dist/registries/validators.mjs +24 -0
  388. package/dist/registries/validators.mjs.map +1 -0
  389. package/dist/services/auth/index.js +81 -0
  390. package/dist/services/auth/index.js.map +1 -0
  391. package/dist/services/auth/index.mjs +79 -0
  392. package/dist/services/auth/index.mjs.map +1 -0
  393. package/dist/services/config.js +51 -0
  394. package/dist/services/config.js.map +1 -0
  395. package/dist/services/config.mjs +49 -0
  396. package/dist/services/config.mjs.map +1 -0
  397. package/dist/services/content-api/index.js +86 -0
  398. package/dist/services/content-api/index.js.map +1 -0
  399. package/dist/services/content-api/index.mjs +84 -0
  400. package/dist/services/content-api/index.mjs.map +1 -0
  401. package/dist/services/content-api/permissions/engine.js +10 -0
  402. package/dist/services/content-api/permissions/engine.js.map +1 -0
  403. package/dist/services/content-api/permissions/engine.mjs +8 -0
  404. package/dist/services/content-api/permissions/engine.mjs.map +1 -0
  405. package/dist/services/content-api/permissions/index.js +107 -0
  406. package/dist/services/content-api/permissions/index.js.map +1 -0
  407. package/dist/services/content-api/permissions/index.mjs +105 -0
  408. package/dist/services/content-api/permissions/index.mjs.map +1 -0
  409. package/dist/services/content-api/permissions/providers/action.js +19 -0
  410. package/dist/services/content-api/permissions/providers/action.js.map +1 -0
  411. package/dist/services/content-api/permissions/providers/action.mjs +17 -0
  412. package/dist/services/content-api/permissions/providers/action.mjs.map +1 -0
  413. package/dist/services/content-api/permissions/providers/condition.js +19 -0
  414. package/dist/services/content-api/permissions/providers/condition.js.map +1 -0
  415. package/dist/services/content-api/permissions/providers/condition.mjs +17 -0
  416. package/dist/services/content-api/permissions/providers/condition.mjs.map +1 -0
  417. package/dist/services/core-store.d.ts +2 -2
  418. package/dist/services/core-store.d.ts.map +1 -1
  419. package/dist/services/core-store.js +127 -0
  420. package/dist/services/core-store.js.map +1 -0
  421. package/dist/services/core-store.mjs +124 -0
  422. package/dist/services/core-store.mjs.map +1 -0
  423. package/dist/services/cron.js +77 -0
  424. package/dist/services/cron.js.map +1 -0
  425. package/dist/services/cron.mjs +75 -0
  426. package/dist/services/cron.mjs.map +1 -0
  427. package/dist/services/custom-fields.js +12 -0
  428. package/dist/services/custom-fields.js.map +1 -0
  429. package/dist/services/custom-fields.mjs +10 -0
  430. package/dist/services/custom-fields.mjs.map +1 -0
  431. package/dist/services/document-service/attributes/index.js +27 -0
  432. package/dist/services/document-service/attributes/index.js.map +1 -0
  433. package/dist/services/document-service/attributes/index.mjs +25 -0
  434. package/dist/services/document-service/attributes/index.mjs.map +1 -0
  435. package/dist/services/document-service/attributes/transforms.js +21 -0
  436. package/dist/services/document-service/attributes/transforms.js.map +1 -0
  437. package/dist/services/document-service/attributes/transforms.mjs +19 -0
  438. package/dist/services/document-service/attributes/transforms.mjs.map +1 -0
  439. package/dist/services/document-service/common.js +8 -0
  440. package/dist/services/document-service/common.js.map +1 -0
  441. package/dist/services/document-service/common.mjs +6 -0
  442. package/dist/services/document-service/common.mjs.map +1 -0
  443. package/dist/services/document-service/components.js +286 -0
  444. package/dist/services/document-service/components.js.map +1 -0
  445. package/dist/services/document-service/components.mjs +278 -0
  446. package/dist/services/document-service/components.mjs.map +1 -0
  447. package/dist/services/document-service/draft-and-publish.js +109 -0
  448. package/dist/services/document-service/draft-and-publish.js.map +1 -0
  449. package/dist/services/document-service/draft-and-publish.mjs +102 -0
  450. package/dist/services/document-service/draft-and-publish.mjs.map +1 -0
  451. package/dist/services/document-service/entries.d.ts.map +1 -1
  452. package/dist/services/document-service/entries.js +155 -0
  453. package/dist/services/document-service/entries.js.map +1 -0
  454. package/dist/services/document-service/entries.mjs +153 -0
  455. package/dist/services/document-service/entries.mjs.map +1 -0
  456. package/dist/services/document-service/events.js +59 -0
  457. package/dist/services/document-service/events.js.map +1 -0
  458. package/dist/services/document-service/events.mjs +57 -0
  459. package/dist/services/document-service/events.mjs.map +1 -0
  460. package/dist/services/document-service/first-published-at.d.ts +7 -0
  461. package/dist/services/document-service/first-published-at.d.ts.map +1 -0
  462. package/dist/services/document-service/first-published-at.js +31 -0
  463. package/dist/services/document-service/first-published-at.js.map +1 -0
  464. package/dist/services/document-service/first-published-at.mjs +28 -0
  465. package/dist/services/document-service/first-published-at.mjs.map +1 -0
  466. package/dist/services/document-service/index.js +56 -0
  467. package/dist/services/document-service/index.js.map +1 -0
  468. package/dist/services/document-service/index.mjs +54 -0
  469. package/dist/services/document-service/index.mjs.map +1 -0
  470. package/dist/services/document-service/internationalization.d.ts +6 -1
  471. package/dist/services/document-service/internationalization.d.ts.map +1 -1
  472. package/dist/services/document-service/internationalization.js +111 -0
  473. package/dist/services/document-service/internationalization.js.map +1 -0
  474. package/dist/services/document-service/internationalization.mjs +105 -0
  475. package/dist/services/document-service/internationalization.mjs.map +1 -0
  476. package/dist/services/document-service/middlewares/errors.js +29 -0
  477. package/dist/services/document-service/middlewares/errors.js.map +1 -0
  478. package/dist/services/document-service/middlewares/errors.mjs +27 -0
  479. package/dist/services/document-service/middlewares/errors.mjs.map +1 -0
  480. package/dist/services/document-service/middlewares/middleware-manager.js +51 -0
  481. package/dist/services/document-service/middlewares/middleware-manager.js.map +1 -0
  482. package/dist/services/document-service/middlewares/middleware-manager.mjs +49 -0
  483. package/dist/services/document-service/middlewares/middleware-manager.mjs.map +1 -0
  484. package/dist/services/document-service/params.js +14 -0
  485. package/dist/services/document-service/params.js.map +1 -0
  486. package/dist/services/document-service/params.mjs +12 -0
  487. package/dist/services/document-service/params.mjs.map +1 -0
  488. package/dist/services/document-service/repository.d.ts.map +1 -1
  489. package/dist/services/document-service/repository.js +368 -0
  490. package/dist/services/document-service/repository.js.map +1 -0
  491. package/dist/services/document-service/repository.mjs +366 -0
  492. package/dist/services/document-service/repository.mjs.map +1 -0
  493. package/dist/services/document-service/transform/data.js +25 -0
  494. package/dist/services/document-service/transform/data.js.map +1 -0
  495. package/dist/services/document-service/transform/data.mjs +23 -0
  496. package/dist/services/document-service/transform/data.mjs.map +1 -0
  497. package/dist/services/document-service/transform/fields.js +33 -0
  498. package/dist/services/document-service/transform/fields.js.map +1 -0
  499. package/dist/services/document-service/transform/fields.mjs +31 -0
  500. package/dist/services/document-service/transform/fields.mjs.map +1 -0
  501. package/dist/services/document-service/transform/id-map.js +125 -0
  502. package/dist/services/document-service/transform/id-map.js.map +1 -0
  503. package/dist/services/document-service/transform/id-map.mjs +123 -0
  504. package/dist/services/document-service/transform/id-map.mjs.map +1 -0
  505. package/dist/services/document-service/transform/id-transform.js +41 -0
  506. package/dist/services/document-service/transform/id-transform.js.map +1 -0
  507. package/dist/services/document-service/transform/id-transform.mjs +39 -0
  508. package/dist/services/document-service/transform/id-transform.mjs.map +1 -0
  509. package/dist/services/document-service/transform/populate.js +26 -0
  510. package/dist/services/document-service/transform/populate.js.map +1 -0
  511. package/dist/services/document-service/transform/populate.mjs +24 -0
  512. package/dist/services/document-service/transform/populate.mjs.map +1 -0
  513. package/dist/services/document-service/transform/query.js +14 -0
  514. package/dist/services/document-service/transform/query.js.map +1 -0
  515. package/dist/services/document-service/transform/query.mjs +12 -0
  516. package/dist/services/document-service/transform/query.mjs.map +1 -0
  517. package/dist/services/document-service/transform/relations/extract/data-ids.js +80 -0
  518. package/dist/services/document-service/transform/relations/extract/data-ids.js.map +1 -0
  519. package/dist/services/document-service/transform/relations/extract/data-ids.mjs +78 -0
  520. package/dist/services/document-service/transform/relations/extract/data-ids.mjs.map +1 -0
  521. package/dist/services/document-service/transform/relations/transform/data-ids.js +110 -0
  522. package/dist/services/document-service/transform/relations/transform/data-ids.js.map +1 -0
  523. package/dist/services/document-service/transform/relations/transform/data-ids.mjs +108 -0
  524. package/dist/services/document-service/transform/relations/transform/data-ids.mjs.map +1 -0
  525. package/dist/services/document-service/transform/relations/transform/default-locale.js +50 -0
  526. package/dist/services/document-service/transform/relations/transform/default-locale.js.map +1 -0
  527. package/dist/services/document-service/transform/relations/transform/default-locale.mjs +48 -0
  528. package/dist/services/document-service/transform/relations/transform/default-locale.mjs.map +1 -0
  529. package/dist/services/document-service/transform/relations/utils/dp.js +56 -0
  530. package/dist/services/document-service/transform/relations/utils/dp.js.map +1 -0
  531. package/dist/services/document-service/transform/relations/utils/dp.mjs +54 -0
  532. package/dist/services/document-service/transform/relations/utils/dp.mjs.map +1 -0
  533. package/dist/services/document-service/transform/relations/utils/i18n.js +27 -0
  534. package/dist/services/document-service/transform/relations/utils/i18n.js.map +1 -0
  535. package/dist/services/document-service/transform/relations/utils/i18n.mjs +23 -0
  536. package/dist/services/document-service/transform/relations/utils/i18n.mjs.map +1 -0
  537. package/dist/services/document-service/transform/relations/utils/map-relation.js +130 -0
  538. package/dist/services/document-service/transform/relations/utils/map-relation.js.map +1 -0
  539. package/dist/services/document-service/transform/relations/utils/map-relation.mjs +127 -0
  540. package/dist/services/document-service/transform/relations/utils/map-relation.mjs.map +1 -0
  541. package/dist/services/document-service/utils/bidirectional-relations.d.ts.map +1 -1
  542. package/dist/services/document-service/utils/bidirectional-relations.js +148 -0
  543. package/dist/services/document-service/utils/bidirectional-relations.js.map +1 -0
  544. package/dist/services/document-service/utils/bidirectional-relations.mjs +145 -0
  545. package/dist/services/document-service/utils/bidirectional-relations.mjs.map +1 -0
  546. package/dist/services/document-service/utils/populate.js +71 -0
  547. package/dist/services/document-service/utils/populate.js.map +1 -0
  548. package/dist/services/document-service/utils/populate.mjs +69 -0
  549. package/dist/services/document-service/utils/populate.mjs.map +1 -0
  550. package/dist/services/document-service/utils/unidirectional-relations.js +116 -0
  551. package/dist/services/document-service/utils/unidirectional-relations.js.map +1 -0
  552. package/dist/services/document-service/utils/unidirectional-relations.mjs +113 -0
  553. package/dist/services/document-service/utils/unidirectional-relations.mjs.map +1 -0
  554. package/dist/services/entity-service/index.js +238 -0
  555. package/dist/services/entity-service/index.js.map +1 -0
  556. package/dist/services/entity-service/index.mjs +236 -0
  557. package/dist/services/entity-service/index.mjs.map +1 -0
  558. package/dist/services/entity-validator/blocks-validator.js +160 -0
  559. package/dist/services/entity-validator/blocks-validator.js.map +1 -0
  560. package/dist/services/entity-validator/blocks-validator.mjs +158 -0
  561. package/dist/services/entity-validator/blocks-validator.mjs.map +1 -0
  562. package/dist/services/entity-validator/index.d.ts.map +1 -1
  563. package/dist/services/entity-validator/index.js +393 -0
  564. package/dist/services/entity-validator/index.js.map +1 -0
  565. package/dist/services/entity-validator/index.mjs +391 -0
  566. package/dist/services/entity-validator/index.mjs.map +1 -0
  567. package/dist/services/entity-validator/validators.d.ts +1 -0
  568. package/dist/services/entity-validator/validators.d.ts.map +1 -1
  569. package/dist/services/entity-validator/validators.js +302 -0
  570. package/dist/services/entity-validator/validators.js.map +1 -0
  571. package/dist/services/entity-validator/validators.mjs +293 -0
  572. package/dist/services/entity-validator/validators.mjs.map +1 -0
  573. package/dist/services/errors.js +76 -0
  574. package/dist/services/errors.js.map +1 -0
  575. package/dist/services/errors.mjs +72 -0
  576. package/dist/services/errors.mjs.map +1 -0
  577. package/dist/services/event-hub.js +85 -0
  578. package/dist/services/event-hub.js.map +1 -0
  579. package/dist/services/event-hub.mjs +83 -0
  580. package/dist/services/event-hub.mjs.map +1 -0
  581. package/dist/services/features.js +22 -0
  582. package/dist/services/features.js.map +1 -0
  583. package/dist/services/features.mjs +20 -0
  584. package/dist/services/features.mjs.map +1 -0
  585. package/dist/services/fs.js +52 -0
  586. package/dist/services/fs.js.map +1 -0
  587. package/dist/services/fs.mjs +50 -0
  588. package/dist/services/fs.mjs.map +1 -0
  589. package/dist/services/metrics/admin-user-hash.d.ts.map +1 -1
  590. package/dist/services/metrics/admin-user-hash.js +16 -0
  591. package/dist/services/metrics/admin-user-hash.js.map +1 -0
  592. package/dist/services/metrics/admin-user-hash.mjs +14 -0
  593. package/dist/services/metrics/admin-user-hash.mjs.map +1 -0
  594. package/dist/services/metrics/index.d.ts +1 -1
  595. package/dist/services/metrics/index.d.ts.map +1 -1
  596. package/dist/services/metrics/index.js +52 -0
  597. package/dist/services/metrics/index.js.map +1 -0
  598. package/dist/services/metrics/index.mjs +50 -0
  599. package/dist/services/metrics/index.mjs.map +1 -0
  600. package/dist/services/metrics/is-truthy.js +16 -0
  601. package/dist/services/metrics/is-truthy.js.map +1 -0
  602. package/dist/services/metrics/is-truthy.mjs +14 -0
  603. package/dist/services/metrics/is-truthy.mjs.map +1 -0
  604. package/dist/services/metrics/middleware.js +40 -0
  605. package/dist/services/metrics/middleware.js.map +1 -0
  606. package/dist/services/metrics/middleware.mjs +38 -0
  607. package/dist/services/metrics/middleware.mjs.map +1 -0
  608. package/dist/services/metrics/rate-limiter.js +26 -0
  609. package/dist/services/metrics/rate-limiter.js.map +1 -0
  610. package/dist/services/metrics/rate-limiter.mjs +24 -0
  611. package/dist/services/metrics/rate-limiter.mjs.map +1 -0
  612. package/dist/services/metrics/sender.d.ts.map +1 -1
  613. package/dist/services/metrics/sender.js +85 -0
  614. package/dist/services/metrics/sender.js.map +1 -0
  615. package/dist/services/metrics/sender.mjs +83 -0
  616. package/dist/services/metrics/sender.mjs.map +1 -0
  617. package/dist/services/query-params.js +15 -0
  618. package/dist/services/query-params.js.map +1 -0
  619. package/dist/services/query-params.mjs +13 -0
  620. package/dist/services/query-params.mjs.map +1 -0
  621. package/dist/services/reloader.js +39 -0
  622. package/dist/services/reloader.js.map +1 -0
  623. package/dist/services/reloader.mjs +37 -0
  624. package/dist/services/reloader.mjs.map +1 -0
  625. package/dist/services/request-context.js +16 -0
  626. package/dist/services/request-context.js.map +1 -0
  627. package/dist/services/request-context.mjs +14 -0
  628. package/dist/services/request-context.mjs.map +1 -0
  629. package/dist/services/server/admin-api.js +14 -0
  630. package/dist/services/server/admin-api.js.map +1 -0
  631. package/dist/services/server/admin-api.mjs +12 -0
  632. package/dist/services/server/admin-api.mjs.map +1 -0
  633. package/dist/services/server/api.js +36 -0
  634. package/dist/services/server/api.js.map +1 -0
  635. package/dist/services/server/api.mjs +34 -0
  636. package/dist/services/server/api.mjs.map +1 -0
  637. package/dist/services/server/compose-endpoint.js +128 -0
  638. package/dist/services/server/compose-endpoint.js.map +1 -0
  639. package/dist/services/server/compose-endpoint.mjs +126 -0
  640. package/dist/services/server/compose-endpoint.mjs.map +1 -0
  641. package/dist/services/server/content-api.js +14 -0
  642. package/dist/services/server/content-api.js.map +1 -0
  643. package/dist/services/server/content-api.mjs +12 -0
  644. package/dist/services/server/content-api.mjs.map +1 -0
  645. package/dist/services/server/http-server.js +54 -0
  646. package/dist/services/server/http-server.js.map +1 -0
  647. package/dist/services/server/http-server.mjs +52 -0
  648. package/dist/services/server/http-server.mjs.map +1 -0
  649. package/dist/services/server/index.js +90 -0
  650. package/dist/services/server/index.js.map +1 -0
  651. package/dist/services/server/index.mjs +88 -0
  652. package/dist/services/server/index.mjs.map +1 -0
  653. package/dist/services/server/koa.js +54 -0
  654. package/dist/services/server/koa.js.map +1 -0
  655. package/dist/services/server/koa.mjs +52 -0
  656. package/dist/services/server/koa.mjs.map +1 -0
  657. package/dist/services/server/middleware.js +96 -0
  658. package/dist/services/server/middleware.js.map +1 -0
  659. package/dist/services/server/middleware.mjs +93 -0
  660. package/dist/services/server/middleware.mjs.map +1 -0
  661. package/dist/services/server/policy.js +27 -0
  662. package/dist/services/server/policy.js.map +1 -0
  663. package/dist/services/server/policy.mjs +25 -0
  664. package/dist/services/server/policy.mjs.map +1 -0
  665. package/dist/services/server/register-middlewares.js +79 -0
  666. package/dist/services/server/register-middlewares.js.map +1 -0
  667. package/dist/services/server/register-middlewares.mjs +77 -0
  668. package/dist/services/server/register-middlewares.mjs.map +1 -0
  669. package/dist/services/server/register-routes.js +119 -0
  670. package/dist/services/server/register-routes.js.map +1 -0
  671. package/dist/services/server/register-routes.mjs +117 -0
  672. package/dist/services/server/register-routes.mjs.map +1 -0
  673. package/dist/services/server/routing.d.ts +10 -0
  674. package/dist/services/server/routing.d.ts.map +1 -1
  675. package/dist/services/server/routing.js +110 -0
  676. package/dist/services/server/routing.js.map +1 -0
  677. package/dist/services/server/routing.mjs +107 -0
  678. package/dist/services/server/routing.mjs.map +1 -0
  679. package/dist/services/utils/conditional-fields.d.ts +3 -0
  680. package/dist/services/utils/conditional-fields.d.ts.map +1 -0
  681. package/dist/services/utils/conditional-fields.js +22 -0
  682. package/dist/services/utils/conditional-fields.js.map +1 -0
  683. package/dist/services/utils/conditional-fields.mjs +20 -0
  684. package/dist/services/utils/conditional-fields.mjs.map +1 -0
  685. package/dist/services/utils/dynamic-zones.js +16 -0
  686. package/dist/services/utils/dynamic-zones.js.map +1 -0
  687. package/dist/services/utils/dynamic-zones.mjs +14 -0
  688. package/dist/services/utils/dynamic-zones.mjs.map +1 -0
  689. package/dist/services/webhook-runner.js +135 -0
  690. package/dist/services/webhook-runner.js.map +1 -0
  691. package/dist/services/webhook-runner.mjs +133 -0
  692. package/dist/services/webhook-runner.mjs.map +1 -0
  693. package/dist/services/webhook-store.js +143 -0
  694. package/dist/services/webhook-store.js.map +1 -0
  695. package/dist/services/webhook-store.mjs +140 -0
  696. package/dist/services/webhook-store.mjs.map +1 -0
  697. package/dist/services/worker-queue.js +51 -0
  698. package/dist/services/worker-queue.js.map +1 -0
  699. package/dist/services/worker-queue.mjs +49 -0
  700. package/dist/services/worker-queue.mjs.map +1 -0
  701. package/dist/utils/convert-custom-field-type.js +21 -0
  702. package/dist/utils/convert-custom-field-type.js.map +1 -0
  703. package/dist/utils/convert-custom-field-type.mjs +19 -0
  704. package/dist/utils/convert-custom-field-type.mjs.map +1 -0
  705. package/dist/utils/cron.js +72 -0
  706. package/dist/utils/cron.js.map +1 -0
  707. package/dist/utils/cron.mjs +70 -0
  708. package/dist/utils/cron.mjs.map +1 -0
  709. package/dist/utils/fetch.d.ts +5 -1
  710. package/dist/utils/fetch.d.ts.map +1 -1
  711. package/dist/utils/fetch.js +31 -0
  712. package/dist/utils/fetch.js.map +1 -0
  713. package/dist/utils/fetch.mjs +29 -0
  714. package/dist/utils/fetch.mjs.map +1 -0
  715. package/dist/utils/filepath-to-prop-path.js +25 -0
  716. package/dist/utils/filepath-to-prop-path.js.map +1 -0
  717. package/dist/utils/filepath-to-prop-path.mjs +23 -0
  718. package/dist/utils/filepath-to-prop-path.mjs.map +1 -0
  719. package/dist/utils/is-initialized.js +25 -0
  720. package/dist/utils/is-initialized.js.map +1 -0
  721. package/dist/utils/is-initialized.mjs +23 -0
  722. package/dist/utils/is-initialized.mjs.map +1 -0
  723. package/dist/utils/lifecycles.js +10 -0
  724. package/dist/utils/lifecycles.js.map +1 -0
  725. package/dist/utils/lifecycles.mjs +8 -0
  726. package/dist/utils/lifecycles.mjs.map +1 -0
  727. package/dist/utils/load-config-file.js +47 -0
  728. package/dist/utils/load-config-file.js.map +1 -0
  729. package/dist/utils/load-config-file.mjs +45 -0
  730. package/dist/utils/load-config-file.mjs.map +1 -0
  731. package/dist/utils/load-files.js +44 -0
  732. package/dist/utils/load-files.js.map +1 -0
  733. package/dist/utils/load-files.mjs +42 -0
  734. package/dist/utils/load-files.mjs.map +1 -0
  735. package/dist/utils/open-browser.js +11 -0
  736. package/dist/utils/open-browser.js.map +1 -0
  737. package/dist/utils/open-browser.mjs +9 -0
  738. package/dist/utils/open-browser.mjs.map +1 -0
  739. package/dist/utils/resolve-working-dirs.js +26 -0
  740. package/dist/utils/resolve-working-dirs.js.map +1 -0
  741. package/dist/utils/resolve-working-dirs.mjs +24 -0
  742. package/dist/utils/resolve-working-dirs.mjs.map +1 -0
  743. package/dist/utils/signals.js +23 -0
  744. package/dist/utils/signals.js.map +1 -0
  745. package/dist/utils/signals.mjs +21 -0
  746. package/dist/utils/signals.mjs.map +1 -0
  747. package/dist/utils/startup-logger.js +110 -0
  748. package/dist/utils/startup-logger.js.map +1 -0
  749. package/dist/utils/startup-logger.mjs +108 -0
  750. package/dist/utils/startup-logger.mjs.map +1 -0
  751. package/dist/utils/transform-content-types-to-models.d.ts +197 -0
  752. package/dist/utils/transform-content-types-to-models.d.ts.map +1 -1
  753. package/dist/utils/transform-content-types-to-models.js +377 -0
  754. package/dist/utils/transform-content-types-to-models.js.map +1 -0
  755. package/dist/utils/transform-content-types-to-models.mjs +365 -0
  756. package/dist/utils/transform-content-types-to-models.mjs.map +1 -0
  757. package/dist/utils/update-notifier/index.js +80 -0
  758. package/dist/utils/update-notifier/index.js.map +1 -0
  759. package/dist/utils/update-notifier/index.mjs +78 -0
  760. package/dist/utils/update-notifier/index.mjs.map +1 -0
  761. package/package.json +17 -14
@@ -0,0 +1,366 @@
1
+ import { curry, assoc, omit, merge } from 'lodash/fp';
2
+ import { contentTypes, async, errors, validate } from '@strapi/utils';
3
+ import { wrapInTransaction } from './common.mjs';
4
+ import { defaultToDraft as defaultToDraftCurry, statusToLookup as statusToLookupCurry, filterDataPublishedAt as filterDataPublishedAtCurry, setStatusToDraft as setStatusToDraftCurry, statusToData as statusToDataCurry, defaultStatus as defaultStatusCurry } from './draft-and-publish.mjs';
5
+ import { defaultLocale as defaultLocaleCurry, multiLocaleToLookup as multiLocaleToLookupCurry, localeToLookup as localeToLookupCurry, localeToData as localeToDataCurry, copyNonLocalizedFields } from './internationalization.mjs';
6
+ import { updateComponents, omitComponentData } from './components.mjs';
7
+ import { createEntriesService } from './entries.mjs';
8
+ import { pickSelectionParams } from './params.mjs';
9
+ import { createDocumentId } from '../../utils/transform-content-types-to-models.mjs';
10
+ import { getDeepPopulate } from './utils/populate.mjs';
11
+ import { transformParamsToQuery } from './transform/query.mjs';
12
+ import { transformParamsDocumentId as curriedTransformParamsDocumentId } from './transform/id-transform.mjs';
13
+ import { createEventManager } from './events.mjs';
14
+ import { load, sync } from './utils/unidirectional-relations.mjs';
15
+ import { load as load$1, sync as sync$1 } from './utils/bidirectional-relations.mjs';
16
+ import entityValidator from '../entity-validator/index.mjs';
17
+ import { filterDataFirstPublishedAt, addFirstPublishedAtToDraft } from './first-published-at.mjs';
18
+
19
+ const { validators } = validate;
20
+ // we have to typecast to reconcile the differences between validator and database getModel
21
+ const getModel = (schema)=>strapi.getModel(schema);
22
+ const createContentTypeRepository = (uid, validator = entityValidator)=>{
23
+ const contentType = strapi.contentType(uid);
24
+ const hasDraftAndPublish = contentTypes.hasDraftAndPublish(contentType);
25
+ // Define the validations that should be performed
26
+ const sortValidations = [
27
+ 'nonAttributesOperators',
28
+ 'dynamicZones',
29
+ 'morphRelations'
30
+ ];
31
+ const fieldValidations = [
32
+ 'scalarAttributes'
33
+ ];
34
+ const filtersValidations = [
35
+ 'nonAttributesOperators',
36
+ 'dynamicZones',
37
+ 'morphRelations'
38
+ ];
39
+ const populateValidations = {
40
+ sort: sortValidations,
41
+ field: fieldValidations,
42
+ filters: filtersValidations,
43
+ populate: [
44
+ 'nonAttributesOperators'
45
+ ]
46
+ };
47
+ const validateParams = async (params)=>{
48
+ const ctx = {
49
+ schema: contentType,
50
+ getModel
51
+ };
52
+ await validators.validateFilters(ctx, params.filters, filtersValidations);
53
+ await validators.validateSort(ctx, params.sort, sortValidations);
54
+ await validators.validateFields(ctx, params.fields, fieldValidations);
55
+ await validators.validatePopulate(ctx, params.populate, populateValidations);
56
+ // Strip lookup from params, it's only used internally
57
+ if (params.lookup) {
58
+ throw new errors.ValidationError("Invalid params: 'lookup'");
59
+ }
60
+ // TODO: add validate status, locale, pagination
61
+ return params;
62
+ };
63
+ const entries = createEntriesService(uid, validator);
64
+ const eventManager = createEventManager(strapi, uid);
65
+ const emitEvent = curry(eventManager.emitEvent);
66
+ async function findMany(params = {}) {
67
+ const query = await async.pipe(validateParams, defaultToDraftCurry, statusToLookupCurry(contentType), defaultLocaleCurry(contentType), multiLocaleToLookupCurry(contentType), curriedTransformParamsDocumentId(uid), transformParamsToQuery(uid))(params || {});
68
+ return strapi.db.query(uid).findMany(query);
69
+ }
70
+ async function findFirst(params = {}) {
71
+ const query = await async.pipe(validateParams, defaultToDraftCurry, statusToLookupCurry(contentType), defaultLocaleCurry(contentType), localeToLookupCurry(contentType), curriedTransformParamsDocumentId(uid), transformParamsToQuery(uid))(params);
72
+ return strapi.db.query(uid).findOne(query);
73
+ }
74
+ // TODO: do we really want to add filters on the findOne now that we have findFirst ?
75
+ async function findOne(opts = {}) {
76
+ const { documentId, ...params } = opts;
77
+ const query = await async.pipe(validateParams, defaultToDraftCurry, statusToLookupCurry(contentType), defaultLocaleCurry(contentType), localeToLookupCurry(contentType), curriedTransformParamsDocumentId(uid), transformParamsToQuery(uid), (query)=>assoc('where', {
78
+ ...query.where,
79
+ documentId
80
+ }, query))(params);
81
+ return strapi.db.query(uid).findOne(query);
82
+ }
83
+ async function deleteDocument(opts = {}) {
84
+ const { documentId, ...params } = opts;
85
+ const query = await async.pipe(validateParams, omit('status'), defaultLocaleCurry(contentType), multiLocaleToLookupCurry(contentType), transformParamsToQuery(uid), (query)=>assoc('where', {
86
+ ...query.where,
87
+ documentId
88
+ }, query))(params);
89
+ if (params.status === 'draft') {
90
+ throw new Error('Cannot delete a draft document');
91
+ }
92
+ const entriesToDelete = await strapi.db.query(uid).findMany(query);
93
+ // Delete all matched entries and its components
94
+ const deletedEntries = await async.map(entriesToDelete, (entryToDelete)=>entries.delete(entryToDelete.id));
95
+ entriesToDelete.forEach(emitEvent('entry.delete'));
96
+ return {
97
+ documentId,
98
+ entries: deletedEntries
99
+ };
100
+ }
101
+ async function create(opts = {}) {
102
+ const { documentId, ...params } = opts;
103
+ const queryParams = await async.pipe(validateParams, filterDataPublishedAtCurry, setStatusToDraftCurry(contentType), statusToDataCurry(contentType), defaultLocaleCurry(contentType), localeToDataCurry(contentType))(params);
104
+ const doc = await entries.create(queryParams);
105
+ emitEvent('entry.create', doc);
106
+ if (hasDraftAndPublish && params.status === 'published') {
107
+ return publish({
108
+ ...params,
109
+ documentId: doc.documentId
110
+ }).then((doc)=>doc.entries[0]);
111
+ }
112
+ return doc;
113
+ }
114
+ async function clone(opts = {}) {
115
+ const { documentId, ...params } = opts;
116
+ const queryParams = await async.pipe(validateParams, filterDataPublishedAtCurry, defaultLocaleCurry(contentType), multiLocaleToLookupCurry(contentType))(params);
117
+ // Get deep populate
118
+ const entriesToClone = await strapi.db.query(uid).findMany({
119
+ where: {
120
+ ...queryParams?.lookup,
121
+ documentId,
122
+ // DP Enabled: Clone drafts
123
+ // DP Disabled: Clone only the existing version (published)
124
+ publishedAt: {
125
+ $null: hasDraftAndPublish
126
+ }
127
+ },
128
+ populate: getDeepPopulate(uid, {
129
+ relationalFields: [
130
+ 'id'
131
+ ]
132
+ })
133
+ });
134
+ const clonedEntries = await async.map(entriesToClone, async.pipe(validateParams, omit([
135
+ 'id',
136
+ 'createdAt',
137
+ 'updatedAt'
138
+ ]), // assign new documentId
139
+ assoc('documentId', createDocumentId()), // Merge new data into it
140
+ (data)=>merge(data, queryParams.data), (data)=>entries.create({
141
+ ...queryParams,
142
+ data,
143
+ status: 'draft'
144
+ })));
145
+ clonedEntries.forEach(emitEvent('entry.create'));
146
+ return {
147
+ documentId: clonedEntries.at(0)?.documentId,
148
+ entries: clonedEntries
149
+ };
150
+ }
151
+ async function update(opts = {}) {
152
+ const { documentId, ...params } = opts;
153
+ const queryParams = await async.pipe(validateParams, filterDataPublishedAtCurry, filterDataFirstPublishedAt, setStatusToDraftCurry(contentType), statusToLookupCurry(contentType), statusToDataCurry(contentType), // Default locale will be set if not provided
154
+ defaultLocaleCurry(contentType), localeToLookupCurry(contentType), localeToDataCurry(contentType))(params);
155
+ const { data, ...restParams } = await curriedTransformParamsDocumentId(uid, queryParams || {});
156
+ const query = transformParamsToQuery(uid, pickSelectionParams(restParams || {}));
157
+ // Validation
158
+ // Find if document exists
159
+ const entryToUpdate = await strapi.db.query(uid).findOne({
160
+ ...query,
161
+ where: {
162
+ ...queryParams?.lookup,
163
+ ...query?.where,
164
+ documentId
165
+ }
166
+ });
167
+ let updatedDraft = null;
168
+ if (entryToUpdate) {
169
+ updatedDraft = await entries.update(entryToUpdate, queryParams);
170
+ emitEvent('entry.update', updatedDraft);
171
+ }
172
+ if (!updatedDraft) {
173
+ const documentExists = await strapi.db.query(contentType.uid).findOne({
174
+ where: {
175
+ documentId
176
+ }
177
+ });
178
+ if (documentExists) {
179
+ const mergedData = await copyNonLocalizedFields(contentType, documentId, {
180
+ ...queryParams.data,
181
+ documentId
182
+ });
183
+ updatedDraft = await entries.create({
184
+ ...queryParams,
185
+ data: mergedData
186
+ });
187
+ emitEvent('entry.create', updatedDraft);
188
+ }
189
+ }
190
+ if (hasDraftAndPublish && updatedDraft && params.status === 'published') {
191
+ return publish({
192
+ ...params,
193
+ documentId
194
+ }).then((doc)=>doc.entries[0]);
195
+ }
196
+ return updatedDraft;
197
+ }
198
+ async function count(params = {}) {
199
+ const query = await async.pipe(validateParams, defaultStatusCurry(contentType), statusToLookupCurry(contentType), defaultLocaleCurry(contentType), localeToLookupCurry(contentType), transformParamsToQuery(uid))(params);
200
+ return strapi.db.query(uid).count(query);
201
+ }
202
+ async function publish(opts = {}) {
203
+ const { documentId, ...params } = opts;
204
+ const queryParams = await async.pipe(validateParams, defaultLocaleCurry(contentType), multiLocaleToLookupCurry(contentType))(params);
205
+ const [draftsToPublish, oldPublishedVersions] = await Promise.all([
206
+ strapi.db.query(uid).findMany({
207
+ where: {
208
+ ...queryParams?.lookup,
209
+ documentId,
210
+ publishedAt: null
211
+ },
212
+ // Populate relations, media, compos and dz
213
+ populate: getDeepPopulate(uid, {
214
+ relationalFields: [
215
+ 'documentId',
216
+ 'locale'
217
+ ]
218
+ })
219
+ }),
220
+ strapi.db.query(uid).findMany({
221
+ where: {
222
+ ...queryParams?.lookup,
223
+ documentId,
224
+ publishedAt: {
225
+ $ne: null
226
+ }
227
+ },
228
+ select: [
229
+ 'id',
230
+ 'locale'
231
+ ]
232
+ })
233
+ ]);
234
+ // Load any unidirectional relation targetting the old published entries
235
+ const relationsToSync = await load(uid, {
236
+ newVersions: draftsToPublish,
237
+ oldVersions: oldPublishedVersions
238
+ });
239
+ const bidirectionalRelationsToSync = await load$1(uid, {
240
+ newVersions: draftsToPublish,
241
+ oldVersions: oldPublishedVersions
242
+ });
243
+ // Delete old published versions
244
+ await async.map(oldPublishedVersions, (entry)=>entries.delete(entry.id));
245
+ // Add firstPublishedAt to draft if it doesn't exist
246
+ const updatedDraft = await async.map(draftsToPublish, (draft)=>addFirstPublishedAtToDraft(draft, entries.update, contentType));
247
+ // Transform draft entry data and create published versions
248
+ const publishedEntries = await async.map(updatedDraft, (draft)=>entries.publish(draft, queryParams));
249
+ // Sync unidirectional relations with the new published entries
250
+ await sync([
251
+ ...oldPublishedVersions,
252
+ ...updatedDraft
253
+ ], publishedEntries, relationsToSync);
254
+ await sync$1([
255
+ ...oldPublishedVersions,
256
+ ...updatedDraft
257
+ ], publishedEntries, bidirectionalRelationsToSync);
258
+ publishedEntries.forEach(emitEvent('entry.publish'));
259
+ return {
260
+ documentId,
261
+ entries: publishedEntries
262
+ };
263
+ }
264
+ async function unpublish(opts = {}) {
265
+ const { documentId, ...params } = opts;
266
+ const query = await async.pipe(validateParams, defaultLocaleCurry(contentType), multiLocaleToLookupCurry(contentType), transformParamsToQuery(uid), (query)=>assoc('where', {
267
+ ...query.where,
268
+ documentId,
269
+ publishedAt: {
270
+ $ne: null
271
+ }
272
+ }, query))(params);
273
+ // Delete all published versions
274
+ const versionsToDelete = await strapi.db.query(uid).findMany(query);
275
+ await async.map(versionsToDelete, (entry)=>entries.delete(entry.id));
276
+ versionsToDelete.forEach(emitEvent('entry.unpublish'));
277
+ return {
278
+ documentId,
279
+ entries: versionsToDelete
280
+ };
281
+ }
282
+ async function discardDraft(opts = {}) {
283
+ const { documentId, ...params } = opts;
284
+ const queryParams = await async.pipe(validateParams, defaultLocaleCurry(contentType), multiLocaleToLookupCurry(contentType))(params);
285
+ const [versionsToDraft, oldDrafts] = await Promise.all([
286
+ strapi.db.query(uid).findMany({
287
+ where: {
288
+ ...queryParams?.lookup,
289
+ documentId,
290
+ publishedAt: {
291
+ $ne: null
292
+ }
293
+ },
294
+ // Populate relations, media, compos and dz
295
+ populate: getDeepPopulate(uid, {
296
+ relationalFields: [
297
+ 'documentId',
298
+ 'locale'
299
+ ]
300
+ })
301
+ }),
302
+ strapi.db.query(uid).findMany({
303
+ where: {
304
+ ...queryParams?.lookup,
305
+ documentId,
306
+ publishedAt: null
307
+ },
308
+ select: [
309
+ 'id',
310
+ 'locale'
311
+ ]
312
+ })
313
+ ]);
314
+ // Load any unidirectional relation targeting the old drafts
315
+ const relationsToSync = await load(uid, {
316
+ newVersions: versionsToDraft,
317
+ oldVersions: oldDrafts
318
+ });
319
+ const bidirectionalRelationsToSync = await load$1(uid, {
320
+ newVersions: versionsToDraft,
321
+ oldVersions: oldDrafts
322
+ });
323
+ // Delete old drafts
324
+ await async.map(oldDrafts, (entry)=>entries.delete(entry.id));
325
+ // Transform published entry data and create draft versions
326
+ const draftEntries = await async.map(versionsToDraft, (entry)=>entries.discardDraft(entry, queryParams));
327
+ // Sync unidirectional relations with the new draft entries
328
+ await sync([
329
+ ...oldDrafts,
330
+ ...versionsToDraft
331
+ ], draftEntries, relationsToSync);
332
+ await sync$1([
333
+ ...oldDrafts,
334
+ ...versionsToDraft
335
+ ], draftEntries, bidirectionalRelationsToSync);
336
+ draftEntries.forEach(emitEvent('entry.draft-discard'));
337
+ return {
338
+ documentId,
339
+ entries: draftEntries
340
+ };
341
+ }
342
+ async function updateComponents$1(entry, data) {
343
+ return updateComponents(uid, entry, data);
344
+ }
345
+ function omitComponentData$1(data) {
346
+ return omitComponentData(contentType, data);
347
+ }
348
+ return {
349
+ findMany: wrapInTransaction(findMany),
350
+ findFirst: wrapInTransaction(findFirst),
351
+ findOne: wrapInTransaction(findOne),
352
+ delete: wrapInTransaction(deleteDocument),
353
+ create: wrapInTransaction(create),
354
+ clone: wrapInTransaction(clone),
355
+ update: wrapInTransaction(update),
356
+ count: wrapInTransaction(count),
357
+ publish: hasDraftAndPublish ? wrapInTransaction(publish) : undefined,
358
+ unpublish: hasDraftAndPublish ? wrapInTransaction(unpublish) : undefined,
359
+ discardDraft: hasDraftAndPublish ? wrapInTransaction(discardDraft) : undefined,
360
+ updateComponents: updateComponents$1,
361
+ omitComponentData: omitComponentData$1
362
+ };
363
+ };
364
+
365
+ export { createContentTypeRepository };
366
+ //# sourceMappingURL=repository.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repository.mjs","sources":["../../../src/services/document-service/repository.ts"],"sourcesContent":["import { omit, assoc, merge, curry } from 'lodash/fp';\n\nimport { async, contentTypes as contentTypesUtils, validate, errors } from '@strapi/utils';\n\nimport type { UID } from '@strapi/types';\nimport { wrapInTransaction, type RepositoryFactoryMethod } from './common';\nimport * as DP from './draft-and-publish';\nimport * as i18n from './internationalization';\nimport { copyNonLocalizedFields } from './internationalization';\nimport * as components from './components';\n\nimport { createEntriesService } from './entries';\nimport { pickSelectionParams } from './params';\nimport { createDocumentId } from '../../utils/transform-content-types-to-models';\nimport { getDeepPopulate } from './utils/populate';\nimport { transformParamsToQuery } from './transform/query';\nimport { transformParamsDocumentId } from './transform/id-transform';\nimport { createEventManager } from './events';\nimport * as unidirectionalRelations from './utils/unidirectional-relations';\nimport * as bidirectionalRelations from './utils/bidirectional-relations';\nimport entityValidator from '../entity-validator';\nimport { addFirstPublishedAtToDraft, filterDataFirstPublishedAt } from './first-published-at';\n\nconst { validators } = validate;\n\n// we have to typecast to reconcile the differences between validator and database getModel\nconst getModel = ((schema: UID.Schema) => strapi.getModel(schema)) as (schema: string) => any;\n\nexport const createContentTypeRepository: RepositoryFactoryMethod = (\n uid,\n validator = entityValidator\n) => {\n const contentType = strapi.contentType(uid);\n const hasDraftAndPublish = contentTypesUtils.hasDraftAndPublish(contentType);\n\n // Define the validations that should be performed\n const sortValidations = ['nonAttributesOperators', 'dynamicZones', 'morphRelations'];\n const fieldValidations = ['scalarAttributes'];\n const filtersValidations = ['nonAttributesOperators', 'dynamicZones', 'morphRelations'];\n const populateValidations = {\n sort: sortValidations,\n field: fieldValidations,\n filters: filtersValidations,\n populate: ['nonAttributesOperators'],\n };\n\n const validateParams = async (params: any) => {\n const ctx = { schema: contentType, getModel };\n await validators.validateFilters(ctx, params.filters, filtersValidations);\n await validators.validateSort(ctx, params.sort, sortValidations);\n await validators.validateFields(ctx, params.fields, fieldValidations);\n await validators.validatePopulate(ctx, params.populate, populateValidations);\n\n // Strip lookup from params, it's only used internally\n if (params.lookup) {\n throw new errors.ValidationError(\"Invalid params: 'lookup'\");\n }\n\n // TODO: add validate status, locale, pagination\n\n return params;\n };\n\n const entries = createEntriesService(uid, validator);\n\n const eventManager = createEventManager(strapi, uid);\n const emitEvent = curry(eventManager.emitEvent);\n\n async function findMany(params = {} as any) {\n const query = await async.pipe(\n validateParams,\n DP.defaultToDraft,\n DP.statusToLookup(contentType),\n i18n.defaultLocale(contentType),\n i18n.multiLocaleToLookup(contentType),\n transformParamsDocumentId(uid),\n transformParamsToQuery(uid)\n )(params || {});\n\n return strapi.db.query(uid).findMany(query);\n }\n\n async function findFirst(params = {} as any) {\n const query = await async.pipe(\n validateParams,\n DP.defaultToDraft,\n DP.statusToLookup(contentType),\n i18n.defaultLocale(contentType),\n i18n.localeToLookup(contentType),\n transformParamsDocumentId(uid),\n transformParamsToQuery(uid)\n )(params);\n\n return strapi.db.query(uid).findOne(query);\n }\n\n // TODO: do we really want to add filters on the findOne now that we have findFirst ?\n async function findOne(opts = {} as any) {\n const { documentId, ...params } = opts;\n\n const query = await async.pipe(\n validateParams,\n DP.defaultToDraft,\n DP.statusToLookup(contentType),\n i18n.defaultLocale(contentType),\n i18n.localeToLookup(contentType),\n transformParamsDocumentId(uid),\n transformParamsToQuery(uid),\n (query) => assoc('where', { ...query.where, documentId }, query)\n )(params);\n\n return strapi.db.query(uid).findOne(query);\n }\n\n async function deleteDocument(opts = {} as any) {\n const { documentId, ...params } = opts;\n\n const query = await async.pipe(\n validateParams,\n omit('status'),\n i18n.defaultLocale(contentType),\n i18n.multiLocaleToLookup(contentType),\n transformParamsToQuery(uid),\n (query) => assoc('where', { ...query.where, documentId }, query)\n )(params);\n\n if (params.status === 'draft') {\n throw new Error('Cannot delete a draft document');\n }\n\n const entriesToDelete = await strapi.db.query(uid).findMany(query);\n\n // Delete all matched entries and its components\n const deletedEntries = await async.map(entriesToDelete, (entryToDelete: any) =>\n entries.delete(entryToDelete.id)\n );\n\n entriesToDelete.forEach(emitEvent('entry.delete'));\n\n return { documentId, entries: deletedEntries };\n }\n\n async function create(opts = {} as any) {\n const { documentId, ...params } = opts;\n\n const queryParams = await async.pipe(\n validateParams,\n DP.filterDataPublishedAt,\n DP.setStatusToDraft(contentType),\n DP.statusToData(contentType),\n i18n.defaultLocale(contentType),\n i18n.localeToData(contentType)\n )(params);\n\n const doc = await entries.create(queryParams);\n\n emitEvent('entry.create', doc);\n\n if (hasDraftAndPublish && params.status === 'published') {\n return publish({\n ...params,\n documentId: doc.documentId,\n }).then((doc) => doc.entries[0]);\n }\n\n return doc;\n }\n\n async function clone(opts = {} as any) {\n const { documentId, ...params } = opts;\n\n const queryParams = await async.pipe(\n validateParams,\n DP.filterDataPublishedAt,\n i18n.defaultLocale(contentType),\n i18n.multiLocaleToLookup(contentType)\n )(params);\n\n // Get deep populate\n const entriesToClone = await strapi.db.query(uid).findMany({\n where: {\n ...queryParams?.lookup,\n documentId,\n // DP Enabled: Clone drafts\n // DP Disabled: Clone only the existing version (published)\n publishedAt: { $null: hasDraftAndPublish },\n },\n populate: getDeepPopulate(uid, { relationalFields: ['id'] }),\n });\n\n const clonedEntries = await async.map(\n entriesToClone,\n async.pipe(\n validateParams,\n omit(['id', 'createdAt', 'updatedAt']),\n // assign new documentId\n assoc('documentId', createDocumentId()),\n // Merge new data into it\n (data) => merge(data, queryParams.data),\n (data) => entries.create({ ...queryParams, data, status: 'draft' })\n )\n );\n\n clonedEntries.forEach(emitEvent('entry.create'));\n\n return { documentId: clonedEntries.at(0)?.documentId, entries: clonedEntries };\n }\n\n async function update(opts = {} as any) {\n const { documentId, ...params } = opts;\n\n const queryParams = await async.pipe(\n validateParams,\n DP.filterDataPublishedAt,\n filterDataFirstPublishedAt,\n DP.setStatusToDraft(contentType),\n DP.statusToLookup(contentType),\n DP.statusToData(contentType),\n // Default locale will be set if not provided\n i18n.defaultLocale(contentType),\n i18n.localeToLookup(contentType),\n i18n.localeToData(contentType)\n )(params);\n\n const { data, ...restParams } = await transformParamsDocumentId(uid, queryParams || {});\n const query = transformParamsToQuery(uid, pickSelectionParams(restParams || {}) as any);\n\n // Validation\n // Find if document exists\n const entryToUpdate = await strapi.db\n .query(uid)\n .findOne({ ...query, where: { ...queryParams?.lookup, ...query?.where, documentId } });\n\n let updatedDraft = null;\n if (entryToUpdate) {\n updatedDraft = await entries.update(entryToUpdate, queryParams);\n emitEvent('entry.update', updatedDraft);\n }\n\n if (!updatedDraft) {\n const documentExists = await strapi.db\n .query(contentType.uid)\n .findOne({ where: { documentId } });\n\n if (documentExists) {\n const mergedData = await copyNonLocalizedFields(contentType, documentId, {\n ...queryParams.data,\n documentId,\n });\n\n updatedDraft = await entries.create({\n ...queryParams,\n data: mergedData,\n });\n emitEvent('entry.create', updatedDraft);\n }\n }\n\n if (hasDraftAndPublish && updatedDraft && params.status === 'published') {\n return publish({\n ...params,\n documentId,\n }).then((doc) => doc.entries[0]);\n }\n\n return updatedDraft;\n }\n\n async function count(params = {} as any) {\n const query = await async.pipe(\n validateParams,\n DP.defaultStatus(contentType),\n DP.statusToLookup(contentType),\n i18n.defaultLocale(contentType),\n i18n.localeToLookup(contentType),\n transformParamsToQuery(uid)\n )(params);\n\n return strapi.db.query(uid).count(query);\n }\n\n async function publish(opts = {} as any) {\n const { documentId, ...params } = opts;\n\n const queryParams = await async.pipe(\n validateParams,\n i18n.defaultLocale(contentType),\n i18n.multiLocaleToLookup(contentType)\n )(params);\n\n const [draftsToPublish, oldPublishedVersions] = await Promise.all([\n strapi.db.query(uid).findMany({\n where: {\n ...queryParams?.lookup,\n documentId,\n publishedAt: null, // Ignore lookup\n },\n // Populate relations, media, compos and dz\n populate: getDeepPopulate(uid, { relationalFields: ['documentId', 'locale'] }),\n }),\n strapi.db.query(uid).findMany({\n where: {\n ...queryParams?.lookup,\n documentId,\n publishedAt: { $ne: null },\n },\n select: ['id', 'locale'],\n }),\n ]);\n\n // Load any unidirectional relation targetting the old published entries\n const relationsToSync = await unidirectionalRelations.load(uid, {\n newVersions: draftsToPublish,\n oldVersions: oldPublishedVersions,\n });\n\n const bidirectionalRelationsToSync = await bidirectionalRelations.load(uid, {\n newVersions: draftsToPublish,\n oldVersions: oldPublishedVersions,\n });\n\n // Delete old published versions\n await async.map(oldPublishedVersions, (entry: any) => entries.delete(entry.id));\n\n // Add firstPublishedAt to draft if it doesn't exist\n const updatedDraft = await async.map(draftsToPublish, (draft: any) =>\n addFirstPublishedAtToDraft(draft, entries.update, contentType)\n );\n\n // Transform draft entry data and create published versions\n const publishedEntries = await async.map(updatedDraft, (draft: any) =>\n entries.publish(draft, queryParams)\n );\n\n // Sync unidirectional relations with the new published entries\n await unidirectionalRelations.sync(\n [...oldPublishedVersions, ...updatedDraft],\n publishedEntries,\n relationsToSync\n );\n\n await bidirectionalRelations.sync(\n [...oldPublishedVersions, ...updatedDraft],\n publishedEntries,\n bidirectionalRelationsToSync\n );\n\n publishedEntries.forEach(emitEvent('entry.publish'));\n\n return { documentId, entries: publishedEntries };\n }\n\n async function unpublish(opts = {} as any) {\n const { documentId, ...params } = opts;\n\n const query = await async.pipe(\n validateParams,\n i18n.defaultLocale(contentType),\n i18n.multiLocaleToLookup(contentType),\n transformParamsToQuery(uid),\n (query) => assoc('where', { ...query.where, documentId, publishedAt: { $ne: null } }, query)\n )(params);\n\n // Delete all published versions\n const versionsToDelete = await strapi.db.query(uid).findMany(query);\n await async.map(versionsToDelete, (entry: any) => entries.delete(entry.id));\n\n versionsToDelete.forEach(emitEvent('entry.unpublish'));\n return { documentId, entries: versionsToDelete };\n }\n\n async function discardDraft(opts = {} as any) {\n const { documentId, ...params } = opts;\n\n const queryParams = await async.pipe(\n validateParams,\n i18n.defaultLocale(contentType),\n i18n.multiLocaleToLookup(contentType)\n )(params);\n\n const [versionsToDraft, oldDrafts] = await Promise.all([\n strapi.db.query(uid).findMany({\n where: {\n ...queryParams?.lookup,\n documentId,\n publishedAt: { $ne: null },\n },\n // Populate relations, media, compos and dz\n populate: getDeepPopulate(uid, { relationalFields: ['documentId', 'locale'] }),\n }),\n strapi.db.query(uid).findMany({\n where: {\n ...queryParams?.lookup,\n documentId,\n publishedAt: null,\n },\n select: ['id', 'locale'],\n }),\n ]);\n\n // Load any unidirectional relation targeting the old drafts\n const relationsToSync = await unidirectionalRelations.load(uid, {\n newVersions: versionsToDraft,\n oldVersions: oldDrafts,\n });\n\n const bidirectionalRelationsToSync = await bidirectionalRelations.load(uid, {\n newVersions: versionsToDraft,\n oldVersions: oldDrafts,\n });\n\n // Delete old drafts\n await async.map(oldDrafts, (entry: any) => entries.delete(entry.id));\n\n // Transform published entry data and create draft versions\n const draftEntries = await async.map(versionsToDraft, (entry: any) =>\n entries.discardDraft(entry, queryParams)\n );\n\n // Sync unidirectional relations with the new draft entries\n await unidirectionalRelations.sync(\n [...oldDrafts, ...versionsToDraft],\n draftEntries,\n relationsToSync\n );\n\n await bidirectionalRelations.sync(\n [...oldDrafts, ...versionsToDraft],\n draftEntries,\n bidirectionalRelationsToSync\n );\n\n draftEntries.forEach(emitEvent('entry.draft-discard'));\n return { documentId, entries: draftEntries };\n }\n\n async function updateComponents(entry: any, data: any) {\n return components.updateComponents(uid, entry, data);\n }\n\n function omitComponentData(data: any) {\n return components.omitComponentData(contentType, data);\n }\n\n return {\n findMany: wrapInTransaction(findMany),\n findFirst: wrapInTransaction(findFirst),\n findOne: wrapInTransaction(findOne),\n delete: wrapInTransaction(deleteDocument),\n create: wrapInTransaction(create),\n clone: wrapInTransaction(clone),\n update: wrapInTransaction(update),\n count: wrapInTransaction(count),\n publish: hasDraftAndPublish ? wrapInTransaction(publish) : (undefined as any),\n unpublish: hasDraftAndPublish ? wrapInTransaction(unpublish) : (undefined as any),\n discardDraft: hasDraftAndPublish ? wrapInTransaction(discardDraft) : (undefined as any),\n\n updateComponents,\n omitComponentData,\n };\n};\n"],"names":["validators","validate","getModel","schema","strapi","createContentTypeRepository","uid","validator","entityValidator","contentType","hasDraftAndPublish","contentTypesUtils","sortValidations","fieldValidations","filtersValidations","populateValidations","sort","field","filters","populate","validateParams","params","ctx","validateFilters","validateSort","validateFields","fields","validatePopulate","lookup","errors","ValidationError","entries","createEntriesService","eventManager","createEventManager","emitEvent","curry","findMany","query","async","pipe","DP","i18n","transformParamsDocumentId","transformParamsToQuery","db","findFirst","findOne","opts","documentId","assoc","where","deleteDocument","omit","status","Error","entriesToDelete","deletedEntries","map","entryToDelete","delete","id","forEach","create","queryParams","doc","publish","then","clone","entriesToClone","publishedAt","$null","getDeepPopulate","relationalFields","clonedEntries","createDocumentId","data","merge","at","update","filterDataFirstPublishedAt","restParams","pickSelectionParams","entryToUpdate","updatedDraft","documentExists","mergedData","copyNonLocalizedFields","count","draftsToPublish","oldPublishedVersions","Promise","all","$ne","select","relationsToSync","unidirectionalRelations","newVersions","oldVersions","bidirectionalRelationsToSync","bidirectionalRelations","entry","draft","addFirstPublishedAtToDraft","publishedEntries","unpublish","versionsToDelete","discardDraft","versionsToDraft","oldDrafts","draftEntries","updateComponents","components","omitComponentData","wrapInTransaction","undefined"],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ 'use strict';
2
+
3
+ var idMap = require('./id-map.js');
4
+ var dataIds = require('./relations/extract/data-ids.js');
5
+ var dataIds$1 = require('./relations/transform/data-ids.js');
6
+ var defaultLocale = require('./relations/transform/default-locale.js');
7
+
8
+ /**
9
+ * Transforms input data, containing relation document ids, to entity ids.
10
+ */ const transformData = async (data, opts)=>{
11
+ const idMap$1 = idMap.createIdMap({
12
+ strapi
13
+ });
14
+ // Assign default locales
15
+ const transformedData = await defaultLocale.setDefaultLocaleToRelations(data, opts.uid);
16
+ // Extract any relation ids from the input
17
+ await dataIds.extractDataIds(idMap$1, transformedData, opts);
18
+ // Load any relation the extract methods found
19
+ await idMap$1.load();
20
+ // Transform any relation ids to entity ids
21
+ return dataIds$1.transformDataIdsVisitor(idMap$1, transformedData, opts);
22
+ };
23
+
24
+ exports.transformData = transformData;
25
+ //# sourceMappingURL=data.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data.js","sources":["../../../../src/services/document-service/transform/data.ts"],"sourcesContent":["import { createIdMap } from './id-map';\nimport { extractDataIds as extractDataRelationIds } from './relations/extract/data-ids';\nimport { transformDataIdsVisitor as transformRelationDataIds } from './relations/transform/data-ids';\nimport { setDefaultLocaleToRelations } from './relations/transform/default-locale';\n\n/**\n * Transforms input data, containing relation document ids, to entity ids.\n */\nexport const transformData = async (data: any, opts: any) => {\n const idMap = createIdMap({ strapi });\n\n // Assign default locales\n const transformedData = await setDefaultLocaleToRelations(data, opts.uid);\n\n // Extract any relation ids from the input\n await extractDataRelationIds(idMap, transformedData, opts);\n\n // Load any relation the extract methods found\n await idMap.load();\n\n // Transform any relation ids to entity ids\n return transformRelationDataIds(idMap, transformedData, opts);\n};\n"],"names":["transformData","data","opts","idMap","createIdMap","strapi","transformedData","setDefaultLocaleToRelations","uid","extractDataRelationIds","load","transformRelationDataIds"],"mappings":";;;;;;;AAKA;;AAEC,IACM,MAAMA,aAAgB,GAAA,OAAOC,IAAWC,EAAAA,IAAAA,GAAAA;AAC7C,IAAA,MAAMC,UAAQC,iBAAY,CAAA;AAAEC,QAAAA;AAAO,KAAA,CAAA;;AAGnC,IAAA,MAAMC,eAAkB,GAAA,MAAMC,yCAA4BN,CAAAA,IAAAA,EAAMC,KAAKM,GAAG,CAAA;;IAGxE,MAAMC,sBAAAA,CAAuBN,SAAOG,eAAiBJ,EAAAA,IAAAA,CAAAA;;AAGrD,IAAA,MAAMC,QAAMO,IAAI,EAAA;;IAGhB,OAAOC,iCAAAA,CAAyBR,SAAOG,eAAiBJ,EAAAA,IAAAA,CAAAA;AAC1D;;;;"}
@@ -0,0 +1,23 @@
1
+ import { createIdMap } from './id-map.mjs';
2
+ import { extractDataIds } from './relations/extract/data-ids.mjs';
3
+ import { transformDataIdsVisitor } from './relations/transform/data-ids.mjs';
4
+ import { setDefaultLocaleToRelations } from './relations/transform/default-locale.mjs';
5
+
6
+ /**
7
+ * Transforms input data, containing relation document ids, to entity ids.
8
+ */ const transformData = async (data, opts)=>{
9
+ const idMap = createIdMap({
10
+ strapi
11
+ });
12
+ // Assign default locales
13
+ const transformedData = await setDefaultLocaleToRelations(data, opts.uid);
14
+ // Extract any relation ids from the input
15
+ await extractDataIds(idMap, transformedData, opts);
16
+ // Load any relation the extract methods found
17
+ await idMap.load();
18
+ // Transform any relation ids to entity ids
19
+ return transformDataIdsVisitor(idMap, transformedData, opts);
20
+ };
21
+
22
+ export { transformData };
23
+ //# sourceMappingURL=data.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data.mjs","sources":["../../../../src/services/document-service/transform/data.ts"],"sourcesContent":["import { createIdMap } from './id-map';\nimport { extractDataIds as extractDataRelationIds } from './relations/extract/data-ids';\nimport { transformDataIdsVisitor as transformRelationDataIds } from './relations/transform/data-ids';\nimport { setDefaultLocaleToRelations } from './relations/transform/default-locale';\n\n/**\n * Transforms input data, containing relation document ids, to entity ids.\n */\nexport const transformData = async (data: any, opts: any) => {\n const idMap = createIdMap({ strapi });\n\n // Assign default locales\n const transformedData = await setDefaultLocaleToRelations(data, opts.uid);\n\n // Extract any relation ids from the input\n await extractDataRelationIds(idMap, transformedData, opts);\n\n // Load any relation the extract methods found\n await idMap.load();\n\n // Transform any relation ids to entity ids\n return transformRelationDataIds(idMap, transformedData, opts);\n};\n"],"names":["transformData","data","opts","idMap","createIdMap","strapi","transformedData","setDefaultLocaleToRelations","uid","extractDataRelationIds","load","transformRelationDataIds"],"mappings":";;;;;AAKA;;AAEC,IACM,MAAMA,aAAgB,GAAA,OAAOC,IAAWC,EAAAA,IAAAA,GAAAA;AAC7C,IAAA,MAAMC,QAAQC,WAAY,CAAA;AAAEC,QAAAA;AAAO,KAAA,CAAA;;AAGnC,IAAA,MAAMC,eAAkB,GAAA,MAAMC,2BAA4BN,CAAAA,IAAAA,EAAMC,KAAKM,GAAG,CAAA;;IAGxE,MAAMC,cAAAA,CAAuBN,OAAOG,eAAiBJ,EAAAA,IAAAA,CAAAA;;AAGrD,IAAA,MAAMC,MAAMO,IAAI,EAAA;;IAGhB,OAAOC,uBAAAA,CAAyBR,OAAOG,eAAiBJ,EAAAA,IAAAA,CAAAA;AAC1D;;;;"}
@@ -0,0 +1,33 @@
1
+ 'use strict';
2
+
3
+ const transformFields = (fields)=>{
4
+ // If it's a string, and it doesn't contain documentId, should be an array
5
+ if (typeof fields === 'string') {
6
+ // '*' => '*'
7
+ if (fields === '*') {
8
+ return fields;
9
+ }
10
+ // '' => 'documentId'
11
+ if (fields === '') {
12
+ return 'documentId';
13
+ }
14
+ // 'name,description' => 'name,description,documentId'
15
+ if (!fields.split(',').includes('documentId')) {
16
+ return `${fields},documentId`;
17
+ }
18
+ }
19
+ // It's not an array, ignore it
20
+ if (!fields || !Array.isArray(fields)) {
21
+ // If fields is empty, return it as is
22
+ return fields;
23
+ }
24
+ // Ensure we are always selecting the documentId
25
+ // ['name', 'description'] => ['name', 'description', 'documentId']
26
+ if (!fields.includes('documentId')) {
27
+ fields.push('documentId');
28
+ }
29
+ return fields;
30
+ };
31
+
32
+ exports.transformFields = transformFields;
33
+ //# sourceMappingURL=fields.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fields.js","sources":["../../../../src/services/document-service/transform/fields.ts"],"sourcesContent":["import type { Modules, UID } from '@strapi/types';\n\ntype Fields = Modules.Documents.Params.Pick<UID.Schema, 'fields'>['fields'];\n\nexport const transformFields = (fields: Fields): Fields => {\n // If it's a string, and it doesn't contain documentId, should be an array\n if (typeof fields === 'string') {\n // '*' => '*'\n if (fields === '*') {\n return fields;\n }\n\n // '' => 'documentId'\n if (fields === '') {\n return 'documentId';\n }\n\n // 'name,description' => 'name,description,documentId'\n if (!fields.split(',').includes('documentId')) {\n return `${fields},documentId`;\n }\n }\n\n // It's not an array, ignore it\n if (!fields || !Array.isArray(fields)) {\n // If fields is empty, return it as is\n return fields;\n }\n\n // Ensure we are always selecting the documentId\n // ['name', 'description'] => ['name', 'description', 'documentId']\n if (!fields.includes('documentId')) {\n fields.push('documentId');\n }\n\n return fields;\n};\n"],"names":["transformFields","fields","split","includes","Array","isArray","push"],"mappings":";;AAIO,MAAMA,kBAAkB,CAACC,MAAAA,GAAAA;;IAE9B,IAAI,OAAOA,WAAW,QAAU,EAAA;;AAE9B,QAAA,IAAIA,WAAW,GAAK,EAAA;YAClB,OAAOA,MAAAA;AACT;;AAGA,QAAA,IAAIA,WAAW,EAAI,EAAA;YACjB,OAAO,YAAA;AACT;;AAGA,QAAA,IAAI,CAACA,MAAOC,CAAAA,KAAK,CAAC,GAAKC,CAAAA,CAAAA,QAAQ,CAAC,YAAe,CAAA,EAAA;AAC7C,YAAA,OAAO,CAAC,EAAEF,MAAO,CAAA,WAAW,CAAC;AAC/B;AACF;;AAGA,IAAA,IAAI,CAACA,MAAU,IAAA,CAACG,KAAMC,CAAAA,OAAO,CAACJ,MAAS,CAAA,EAAA;;QAErC,OAAOA,MAAAA;AACT;;;AAIA,IAAA,IAAI,CAACA,MAAAA,CAAOE,QAAQ,CAAC,YAAe,CAAA,EAAA;AAClCF,QAAAA,MAAAA,CAAOK,IAAI,CAAC,YAAA,CAAA;AACd;IAEA,OAAOL,MAAAA;AACT;;;;"}
@@ -0,0 +1,31 @@
1
+ const transformFields = (fields)=>{
2
+ // If it's a string, and it doesn't contain documentId, should be an array
3
+ if (typeof fields === 'string') {
4
+ // '*' => '*'
5
+ if (fields === '*') {
6
+ return fields;
7
+ }
8
+ // '' => 'documentId'
9
+ if (fields === '') {
10
+ return 'documentId';
11
+ }
12
+ // 'name,description' => 'name,description,documentId'
13
+ if (!fields.split(',').includes('documentId')) {
14
+ return `${fields},documentId`;
15
+ }
16
+ }
17
+ // It's not an array, ignore it
18
+ if (!fields || !Array.isArray(fields)) {
19
+ // If fields is empty, return it as is
20
+ return fields;
21
+ }
22
+ // Ensure we are always selecting the documentId
23
+ // ['name', 'description'] => ['name', 'description', 'documentId']
24
+ if (!fields.includes('documentId')) {
25
+ fields.push('documentId');
26
+ }
27
+ return fields;
28
+ };
29
+
30
+ export { transformFields };
31
+ //# sourceMappingURL=fields.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fields.mjs","sources":["../../../../src/services/document-service/transform/fields.ts"],"sourcesContent":["import type { Modules, UID } from '@strapi/types';\n\ntype Fields = Modules.Documents.Params.Pick<UID.Schema, 'fields'>['fields'];\n\nexport const transformFields = (fields: Fields): Fields => {\n // If it's a string, and it doesn't contain documentId, should be an array\n if (typeof fields === 'string') {\n // '*' => '*'\n if (fields === '*') {\n return fields;\n }\n\n // '' => 'documentId'\n if (fields === '') {\n return 'documentId';\n }\n\n // 'name,description' => 'name,description,documentId'\n if (!fields.split(',').includes('documentId')) {\n return `${fields},documentId`;\n }\n }\n\n // It's not an array, ignore it\n if (!fields || !Array.isArray(fields)) {\n // If fields is empty, return it as is\n return fields;\n }\n\n // Ensure we are always selecting the documentId\n // ['name', 'description'] => ['name', 'description', 'documentId']\n if (!fields.includes('documentId')) {\n fields.push('documentId');\n }\n\n return fields;\n};\n"],"names":["transformFields","fields","split","includes","Array","isArray","push"],"mappings":"AAIO,MAAMA,kBAAkB,CAACC,MAAAA,GAAAA;;IAE9B,IAAI,OAAOA,WAAW,QAAU,EAAA;;AAE9B,QAAA,IAAIA,WAAW,GAAK,EAAA;YAClB,OAAOA,MAAAA;AACT;;AAGA,QAAA,IAAIA,WAAW,EAAI,EAAA;YACjB,OAAO,YAAA;AACT;;AAGA,QAAA,IAAI,CAACA,MAAOC,CAAAA,KAAK,CAAC,GAAKC,CAAAA,CAAAA,QAAQ,CAAC,YAAe,CAAA,EAAA;AAC7C,YAAA,OAAO,CAAC,EAAEF,MAAO,CAAA,WAAW,CAAC;AAC/B;AACF;;AAGA,IAAA,IAAI,CAACA,MAAU,IAAA,CAACG,KAAMC,CAAAA,OAAO,CAACJ,MAAS,CAAA,EAAA;;QAErC,OAAOA,MAAAA;AACT;;;AAIA,IAAA,IAAI,CAACA,MAAAA,CAAOE,QAAQ,CAAC,YAAe,CAAA,EAAA;AAClCF,QAAAA,MAAAA,CAAOK,IAAI,CAAC,YAAA,CAAA;AACd;IAEA,OAAOL,MAAAA;AACT;;;;"}