@strapi/core 0.0.0-experimental.90ca9123352ed07e0a9cedaf4bcad1475e74137f → 0.0.0-experimental.931410e9ec44301eb4579640bf42aa347fb4a3b7

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 (1059) hide show
  1. package/LICENSE +18 -3
  2. package/dist/Strapi.d.ts +52 -59
  3. package/dist/Strapi.d.ts.map +1 -1
  4. package/dist/Strapi.js +436 -428
  5. package/dist/Strapi.js.map +1 -1
  6. package/dist/Strapi.mjs +427 -439
  7. package/dist/Strapi.mjs.map +1 -1
  8. package/dist/compile.js +23 -14
  9. package/dist/compile.js.map +1 -1
  10. package/dist/compile.mjs +22 -14
  11. package/dist/compile.mjs.map +1 -1
  12. package/dist/configuration/config-loader.d.ts.map +1 -1
  13. package/dist/configuration/config-loader.js +110 -93
  14. package/dist/configuration/config-loader.js.map +1 -1
  15. package/dist/configuration/config-loader.mjs +109 -92
  16. package/dist/configuration/config-loader.mjs.map +1 -1
  17. package/dist/configuration/get-dirs.d.ts +10 -0
  18. package/dist/configuration/get-dirs.d.ts.map +1 -0
  19. package/dist/configuration/get-dirs.js +33 -0
  20. package/dist/configuration/get-dirs.js.map +1 -0
  21. package/dist/configuration/get-dirs.mjs +31 -0
  22. package/dist/configuration/get-dirs.mjs.map +1 -0
  23. package/dist/configuration/index.d.ts +4 -7
  24. package/dist/configuration/index.d.ts.map +1 -1
  25. package/dist/configuration/index.js +85 -72
  26. package/dist/configuration/index.js.map +1 -1
  27. package/dist/configuration/index.mjs +83 -68
  28. package/dist/configuration/index.mjs.map +1 -1
  29. package/dist/configuration/urls.d.ts +8 -0
  30. package/dist/configuration/urls.d.ts.map +1 -0
  31. package/dist/configuration/urls.js +72 -0
  32. package/dist/configuration/urls.js.map +1 -0
  33. package/dist/configuration/urls.mjs +68 -0
  34. package/dist/configuration/urls.mjs.map +1 -0
  35. package/dist/container.d.ts +2 -2
  36. package/dist/container.d.ts.map +1 -1
  37. package/dist/container.js +27 -23
  38. package/dist/container.js.map +1 -1
  39. package/dist/container.mjs +26 -24
  40. package/dist/container.mjs.map +1 -1
  41. package/dist/core-api/controller/collection-type.d.ts +3 -3
  42. package/dist/core-api/controller/collection-type.d.ts.map +1 -1
  43. package/dist/core-api/controller/collection-type.js +77 -73
  44. package/dist/core-api/controller/collection-type.js.map +1 -1
  45. package/dist/core-api/controller/collection-type.mjs +76 -74
  46. package/dist/core-api/controller/collection-type.mjs.map +1 -1
  47. package/dist/core-api/controller/index.d.ts +3 -3
  48. package/dist/core-api/controller/index.d.ts.map +1 -1
  49. package/dist/core-api/controller/index.js +63 -43
  50. package/dist/core-api/controller/index.js.map +1 -1
  51. package/dist/core-api/controller/index.mjs +62 -44
  52. package/dist/core-api/controller/index.mjs.map +1 -1
  53. package/dist/core-api/controller/single-type.d.ts +3 -3
  54. package/dist/core-api/controller/single-type.d.ts.map +1 -1
  55. package/dist/core-api/controller/single-type.js +41 -39
  56. package/dist/core-api/controller/single-type.js.map +1 -1
  57. package/dist/core-api/controller/single-type.mjs +40 -40
  58. package/dist/core-api/controller/single-type.mjs.map +1 -1
  59. package/dist/core-api/controller/transform.d.ts +10 -9
  60. package/dist/core-api/controller/transform.d.ts.map +1 -1
  61. package/dist/core-api/controller/transform.js +73 -58
  62. package/dist/core-api/controller/transform.js.map +1 -1
  63. package/dist/core-api/controller/transform.mjs +72 -59
  64. package/dist/core-api/controller/transform.mjs.map +1 -1
  65. package/dist/core-api/routes/index.d.ts.map +1 -1
  66. package/dist/core-api/routes/index.js +64 -62
  67. package/dist/core-api/routes/index.js.map +1 -1
  68. package/dist/core-api/routes/index.mjs +62 -62
  69. package/dist/core-api/routes/index.mjs.map +1 -1
  70. package/dist/core-api/service/collection-type.d.ts +11 -17
  71. package/dist/core-api/service/collection-type.d.ts.map +1 -1
  72. package/dist/core-api/service/collection-type.js +73 -49
  73. package/dist/core-api/service/collection-type.js.map +1 -1
  74. package/dist/core-api/service/collection-type.mjs +72 -51
  75. package/dist/core-api/service/collection-type.mjs.map +1 -1
  76. package/dist/core-api/service/core-service.js +9 -8
  77. package/dist/core-api/service/core-service.js.map +1 -1
  78. package/dist/core-api/service/core-service.mjs +8 -9
  79. package/dist/core-api/service/core-service.mjs.map +1 -1
  80. package/dist/core-api/service/index.d.ts +3 -3
  81. package/dist/core-api/service/index.d.ts.map +1 -1
  82. package/dist/core-api/service/index.js +13 -13
  83. package/dist/core-api/service/index.js.map +1 -1
  84. package/dist/core-api/service/index.mjs +12 -14
  85. package/dist/core-api/service/index.mjs.map +1 -1
  86. package/dist/core-api/service/pagination.d.ts +4 -11
  87. package/dist/core-api/service/pagination.d.ts.map +1 -1
  88. package/dist/core-api/service/pagination.js +68 -68
  89. package/dist/core-api/service/pagination.js.map +1 -1
  90. package/dist/core-api/service/pagination.mjs +66 -71
  91. package/dist/core-api/service/pagination.mjs.map +1 -1
  92. package/dist/core-api/service/single-type.d.ts +7 -6
  93. package/dist/core-api/service/single-type.d.ts.map +1 -1
  94. package/dist/core-api/service/single-type.js +44 -22
  95. package/dist/core-api/service/single-type.js.map +1 -1
  96. package/dist/core-api/service/single-type.mjs +43 -24
  97. package/dist/core-api/service/single-type.mjs.map +1 -1
  98. package/dist/domain/content-type/index.d.ts +1 -1
  99. package/dist/domain/content-type/index.d.ts.map +1 -1
  100. package/dist/domain/content-type/index.js +95 -97
  101. package/dist/domain/content-type/index.js.map +1 -1
  102. package/dist/domain/content-type/index.mjs +94 -97
  103. package/dist/domain/content-type/index.mjs.map +1 -1
  104. package/dist/domain/content-type/validator.d.ts.map +1 -1
  105. package/dist/domain/content-type/validator.js +84 -69
  106. package/dist/domain/content-type/validator.js.map +1 -1
  107. package/dist/domain/content-type/validator.mjs +83 -68
  108. package/dist/domain/content-type/validator.mjs.map +1 -1
  109. package/dist/domain/module/index.d.ts +24 -23
  110. package/dist/domain/module/index.d.ts.map +1 -1
  111. package/dist/domain/module/index.js +109 -100
  112. package/dist/domain/module/index.js.map +1 -1
  113. package/dist/domain/module/index.mjs +108 -99
  114. package/dist/domain/module/index.mjs.map +1 -1
  115. package/dist/domain/module/validation.js +25 -20
  116. package/dist/domain/module/validation.js.map +1 -1
  117. package/dist/domain/module/validation.mjs +24 -21
  118. package/dist/domain/module/validation.mjs.map +1 -1
  119. package/dist/ee/index.d.ts +5 -2
  120. package/dist/ee/index.d.ts.map +1 -1
  121. package/dist/ee/index.js +171 -132
  122. package/dist/ee/index.js.map +1 -1
  123. package/dist/ee/index.mjs +170 -134
  124. package/dist/ee/index.mjs.map +1 -1
  125. package/dist/ee/license.d.ts +2 -2
  126. package/dist/ee/license.d.ts.map +1 -1
  127. package/dist/ee/license.js +99 -74
  128. package/dist/ee/license.js.map +1 -1
  129. package/dist/ee/license.mjs +98 -75
  130. package/dist/ee/license.mjs.map +1 -1
  131. package/dist/factories.d.ts +10 -10
  132. package/dist/factories.d.ts.map +1 -1
  133. package/dist/factories.js +72 -63
  134. package/dist/factories.js.map +1 -1
  135. package/dist/factories.mjs +71 -67
  136. package/dist/factories.mjs.map +1 -1
  137. package/dist/index.d.ts +18 -2
  138. package/dist/index.d.ts.map +1 -1
  139. package/dist/index.js +32 -5
  140. package/dist/index.js.map +1 -1
  141. package/dist/index.mjs +29 -5
  142. package/dist/index.mjs.map +1 -1
  143. package/dist/loaders/admin.d.ts +2 -2
  144. package/dist/loaders/admin.d.ts.map +1 -1
  145. package/dist/loaders/admin.js +21 -21
  146. package/dist/loaders/admin.js.map +1 -1
  147. package/dist/loaders/admin.mjs +20 -21
  148. package/dist/loaders/admin.mjs.map +1 -1
  149. package/dist/loaders/apis.d.ts +2 -2
  150. package/dist/loaders/apis.d.ts.map +1 -1
  151. package/dist/loaders/apis.js +143 -120
  152. package/dist/loaders/apis.js.map +1 -1
  153. package/dist/loaders/apis.mjs +142 -119
  154. package/dist/loaders/apis.mjs.map +1 -1
  155. package/dist/loaders/components.d.ts +2 -2
  156. package/dist/loaders/components.d.ts.map +1 -1
  157. package/dist/loaders/components.js +33 -34
  158. package/dist/loaders/components.js.map +1 -1
  159. package/dist/loaders/components.mjs +32 -34
  160. package/dist/loaders/components.mjs.map +1 -1
  161. package/dist/loaders/index.d.ts +2 -2
  162. package/dist/loaders/index.d.ts.map +1 -1
  163. package/dist/loaders/index.js +22 -22
  164. package/dist/loaders/index.js.map +1 -1
  165. package/dist/loaders/index.mjs +21 -23
  166. package/dist/loaders/index.mjs.map +1 -1
  167. package/dist/loaders/middlewares.d.ts +2 -2
  168. package/dist/loaders/middlewares.d.ts.map +1 -1
  169. package/dist/loaders/middlewares.js +29 -25
  170. package/dist/loaders/middlewares.js.map +1 -1
  171. package/dist/loaders/middlewares.mjs +28 -25
  172. package/dist/loaders/middlewares.mjs.map +1 -1
  173. package/dist/loaders/plugins/get-enabled-plugins.d.ts +2 -2
  174. package/dist/loaders/plugins/get-enabled-plugins.d.ts.map +1 -1
  175. package/dist/loaders/plugins/get-enabled-plugins.js +125 -100
  176. package/dist/loaders/plugins/get-enabled-plugins.js.map +1 -1
  177. package/dist/loaders/plugins/get-enabled-plugins.mjs +124 -99
  178. package/dist/loaders/plugins/get-enabled-plugins.mjs.map +1 -1
  179. package/dist/loaders/plugins/get-user-plugins-config.js +25 -24
  180. package/dist/loaders/plugins/get-user-plugins-config.js.map +1 -1
  181. package/dist/loaders/plugins/get-user-plugins-config.mjs +24 -23
  182. package/dist/loaders/plugins/get-user-plugins-config.mjs.map +1 -1
  183. package/dist/loaders/plugins/index.d.ts +2 -2
  184. package/dist/loaders/plugins/index.d.ts.map +1 -1
  185. package/dist/loaders/plugins/index.js +141 -104
  186. package/dist/loaders/plugins/index.js.map +1 -1
  187. package/dist/loaders/plugins/index.mjs +121 -104
  188. package/dist/loaders/plugins/index.mjs.map +1 -1
  189. package/dist/loaders/policies.d.ts +2 -2
  190. package/dist/loaders/policies.d.ts.map +1 -1
  191. package/dist/loaders/policies.js +24 -20
  192. package/dist/loaders/policies.js.map +1 -1
  193. package/dist/loaders/policies.mjs +23 -20
  194. package/dist/loaders/policies.mjs.map +1 -1
  195. package/dist/loaders/sanitizers.d.ts +2 -2
  196. package/dist/loaders/sanitizers.d.ts.map +1 -1
  197. package/dist/loaders/sanitizers.js +10 -4
  198. package/dist/loaders/sanitizers.js.map +1 -1
  199. package/dist/loaders/sanitizers.mjs +9 -6
  200. package/dist/loaders/sanitizers.mjs.map +1 -1
  201. package/dist/loaders/src-index.d.ts +2 -2
  202. package/dist/loaders/src-index.d.ts.map +1 -1
  203. package/dist/loaders/src-index.js +35 -27
  204. package/dist/loaders/src-index.js.map +1 -1
  205. package/dist/loaders/src-index.mjs +34 -29
  206. package/dist/loaders/src-index.mjs.map +1 -1
  207. package/dist/loaders/validators.d.ts +2 -2
  208. package/dist/loaders/validators.d.ts.map +1 -1
  209. package/dist/loaders/validators.js +9 -4
  210. package/dist/loaders/validators.js.map +1 -1
  211. package/dist/loaders/validators.mjs +8 -6
  212. package/dist/loaders/validators.mjs.map +1 -1
  213. package/dist/middlewares/body.d.ts +4 -4
  214. package/dist/middlewares/body.d.ts.map +1 -1
  215. package/dist/middlewares/body.js +58 -54
  216. package/dist/middlewares/body.js.map +1 -1
  217. package/dist/middlewares/body.mjs +57 -51
  218. package/dist/middlewares/body.mjs.map +1 -1
  219. package/dist/middlewares/compression.d.ts +2 -2
  220. package/dist/middlewares/compression.d.ts.map +1 -1
  221. package/dist/middlewares/compression.js +6 -6
  222. package/dist/middlewares/compression.js.map +1 -1
  223. package/dist/middlewares/compression.mjs +5 -5
  224. package/dist/middlewares/compression.mjs.map +1 -1
  225. package/dist/middlewares/cors.d.ts +2 -2
  226. package/dist/middlewares/cors.d.ts.map +1 -1
  227. package/dist/middlewares/cors.js +59 -46
  228. package/dist/middlewares/cors.js.map +1 -1
  229. package/dist/middlewares/cors.mjs +58 -45
  230. package/dist/middlewares/cors.mjs.map +1 -1
  231. package/dist/middlewares/errors.d.ts +2 -2
  232. package/dist/middlewares/errors.d.ts.map +1 -1
  233. package/dist/middlewares/errors.js +32 -30
  234. package/dist/middlewares/errors.js.map +1 -1
  235. package/dist/middlewares/errors.mjs +31 -31
  236. package/dist/middlewares/errors.mjs.map +1 -1
  237. package/dist/middlewares/favicon.d.ts +2 -2
  238. package/dist/middlewares/favicon.d.ts.map +1 -1
  239. package/dist/middlewares/favicon.js +27 -17
  240. package/dist/middlewares/favicon.js.map +1 -1
  241. package/dist/middlewares/favicon.mjs +26 -16
  242. package/dist/middlewares/favicon.mjs.map +1 -1
  243. package/dist/middlewares/index.d.ts +2 -2
  244. package/dist/middlewares/index.d.ts.map +1 -1
  245. package/dist/middlewares/index.js +32 -30
  246. package/dist/middlewares/index.js.map +1 -1
  247. package/dist/middlewares/index.mjs +31 -31
  248. package/dist/middlewares/index.mjs.map +1 -1
  249. package/dist/middlewares/ip.d.ts +2 -2
  250. package/dist/middlewares/ip.d.ts.map +1 -1
  251. package/dist/middlewares/ip.js +6 -6
  252. package/dist/middlewares/ip.js.map +1 -1
  253. package/dist/middlewares/ip.mjs +5 -5
  254. package/dist/middlewares/ip.mjs.map +1 -1
  255. package/dist/middlewares/logger.d.ts +2 -2
  256. package/dist/middlewares/logger.d.ts.map +1 -1
  257. package/dist/middlewares/logger.js +10 -9
  258. package/dist/middlewares/logger.js.map +1 -1
  259. package/dist/middlewares/logger.mjs +9 -10
  260. package/dist/middlewares/logger.mjs.map +1 -1
  261. package/dist/middlewares/powered-by.d.ts +2 -2
  262. package/dist/middlewares/powered-by.d.ts.map +1 -1
  263. package/dist/middlewares/powered-by.js +13 -9
  264. package/dist/middlewares/powered-by.js.map +1 -1
  265. package/dist/middlewares/powered-by.mjs +12 -10
  266. package/dist/middlewares/powered-by.mjs.map +1 -1
  267. package/dist/middlewares/public.d.ts +2 -2
  268. package/dist/middlewares/public.d.ts.map +1 -1
  269. package/dist/middlewares/public.js +33 -29
  270. package/dist/middlewares/public.js.map +1 -1
  271. package/dist/middlewares/public.mjs +32 -28
  272. package/dist/middlewares/public.mjs.map +1 -1
  273. package/dist/middlewares/query.d.ts +2 -2
  274. package/dist/middlewares/query.d.ts.map +1 -1
  275. package/dist/middlewares/query.js +35 -32
  276. package/dist/middlewares/query.js.map +1 -1
  277. package/dist/middlewares/query.mjs +34 -31
  278. package/dist/middlewares/query.mjs.map +1 -1
  279. package/dist/middlewares/response-time.d.ts +2 -2
  280. package/dist/middlewares/response-time.d.ts.map +1 -1
  281. package/dist/middlewares/response-time.js +10 -9
  282. package/dist/middlewares/response-time.js.map +1 -1
  283. package/dist/middlewares/response-time.mjs +9 -10
  284. package/dist/middlewares/response-time.mjs.map +1 -1
  285. package/dist/middlewares/responses.d.ts +3 -3
  286. package/dist/middlewares/responses.d.ts.map +1 -1
  287. package/dist/middlewares/responses.js +14 -12
  288. package/dist/middlewares/responses.js.map +1 -1
  289. package/dist/middlewares/responses.mjs +13 -13
  290. package/dist/middlewares/responses.mjs.map +1 -1
  291. package/dist/middlewares/security.d.ts +2 -2
  292. package/dist/middlewares/security.d.ts.map +1 -1
  293. package/dist/middlewares/security.js +110 -65
  294. package/dist/middlewares/security.js.map +1 -1
  295. package/dist/middlewares/security.mjs +108 -63
  296. package/dist/middlewares/security.mjs.map +1 -1
  297. package/dist/middlewares/session.d.ts +2 -2
  298. package/dist/middlewares/session.d.ts.map +1 -1
  299. package/dist/middlewares/session.js +26 -25
  300. package/dist/middlewares/session.js.map +1 -1
  301. package/dist/middlewares/session.mjs +25 -24
  302. package/dist/middlewares/session.mjs.map +1 -1
  303. package/dist/migrations/database/5.0.0-discard-drafts.d.ts +33 -0
  304. package/dist/migrations/database/5.0.0-discard-drafts.d.ts.map +1 -0
  305. package/dist/migrations/database/5.0.0-discard-drafts.js +168 -0
  306. package/dist/migrations/database/5.0.0-discard-drafts.js.map +1 -0
  307. package/dist/migrations/database/5.0.0-discard-drafts.mjs +165 -0
  308. package/dist/migrations/database/5.0.0-discard-drafts.mjs.map +1 -0
  309. package/dist/migrations/draft-publish.d.ts +17 -0
  310. package/dist/migrations/draft-publish.d.ts.map +1 -0
  311. package/dist/migrations/draft-publish.js +69 -0
  312. package/dist/migrations/draft-publish.js.map +1 -0
  313. package/dist/migrations/draft-publish.mjs +66 -0
  314. package/dist/migrations/draft-publish.mjs.map +1 -0
  315. package/dist/migrations/i18n.d.ts +5 -0
  316. package/dist/migrations/i18n.d.ts.map +1 -0
  317. package/dist/migrations/i18n.js +71 -0
  318. package/dist/migrations/i18n.js.map +1 -0
  319. package/dist/migrations/i18n.mjs +68 -0
  320. package/dist/migrations/i18n.mjs.map +1 -0
  321. package/dist/migrations/index.d.ts +5 -0
  322. package/dist/migrations/index.d.ts.map +1 -0
  323. package/dist/migrations/index.js +29 -0
  324. package/dist/migrations/index.js.map +1 -0
  325. package/dist/migrations/index.mjs +26 -0
  326. package/dist/migrations/index.mjs.map +1 -0
  327. package/dist/package.json.js +182 -0
  328. package/dist/package.json.js.map +1 -0
  329. package/dist/package.json.mjs +159 -0
  330. package/dist/package.json.mjs.map +1 -0
  331. package/dist/providers/admin.d.ts +3 -0
  332. package/dist/providers/admin.d.ts.map +1 -0
  333. package/dist/providers/admin.js +30 -0
  334. package/dist/providers/admin.js.map +1 -0
  335. package/dist/providers/admin.mjs +28 -0
  336. package/dist/providers/admin.mjs.map +1 -0
  337. package/dist/providers/coreStore.d.ts +3 -0
  338. package/dist/providers/coreStore.d.ts.map +1 -0
  339. package/dist/providers/coreStore.js +16 -0
  340. package/dist/providers/coreStore.js.map +1 -0
  341. package/dist/providers/coreStore.mjs +14 -0
  342. package/dist/providers/coreStore.mjs.map +1 -0
  343. package/dist/providers/cron.d.ts +3 -0
  344. package/dist/providers/cron.d.ts.map +1 -0
  345. package/dist/providers/cron.js +23 -0
  346. package/dist/providers/cron.js.map +1 -0
  347. package/dist/providers/cron.mjs +21 -0
  348. package/dist/providers/cron.mjs.map +1 -0
  349. package/dist/providers/index.d.ts +3 -0
  350. package/dist/providers/index.d.ts.map +1 -0
  351. package/dist/providers/index.js +20 -0
  352. package/dist/providers/index.js.map +1 -0
  353. package/dist/providers/index.mjs +18 -0
  354. package/dist/providers/index.mjs.map +1 -0
  355. package/dist/providers/provider.d.ts +9 -0
  356. package/dist/providers/provider.d.ts.map +1 -0
  357. package/dist/providers/provider.js +6 -0
  358. package/dist/providers/provider.js.map +1 -0
  359. package/dist/providers/provider.mjs +4 -0
  360. package/dist/providers/provider.mjs.map +1 -0
  361. package/dist/providers/registries.d.ts +3 -0
  362. package/dist/providers/registries.d.ts.map +1 -0
  363. package/dist/providers/registries.js +40 -0
  364. package/dist/providers/registries.js.map +1 -0
  365. package/dist/providers/registries.mjs +38 -0
  366. package/dist/providers/registries.mjs.map +1 -0
  367. package/dist/providers/telemetry.d.ts +3 -0
  368. package/dist/providers/telemetry.d.ts.map +1 -0
  369. package/dist/providers/telemetry.js +22 -0
  370. package/dist/providers/telemetry.js.map +1 -0
  371. package/dist/providers/telemetry.mjs +20 -0
  372. package/dist/providers/telemetry.mjs.map +1 -0
  373. package/dist/providers/webhooks.d.ts +3 -0
  374. package/dist/providers/webhooks.d.ts.map +1 -0
  375. package/dist/providers/webhooks.js +32 -0
  376. package/dist/providers/webhooks.js.map +1 -0
  377. package/dist/providers/webhooks.mjs +30 -0
  378. package/dist/providers/webhooks.mjs.map +1 -0
  379. package/dist/registries/apis.d.ts +2 -2
  380. package/dist/registries/apis.d.ts.map +1 -1
  381. package/dist/registries/apis.js +23 -20
  382. package/dist/registries/apis.js.map +1 -1
  383. package/dist/registries/apis.mjs +22 -22
  384. package/dist/registries/apis.mjs.map +1 -1
  385. package/dist/registries/components.d.ts +6 -6
  386. package/dist/registries/components.d.ts.map +1 -1
  387. package/dist/registries/components.js +35 -37
  388. package/dist/registries/components.js.map +1 -1
  389. package/dist/registries/components.mjs +34 -39
  390. package/dist/registries/components.mjs.map +1 -1
  391. package/dist/registries/content-types.d.ts +5 -5
  392. package/dist/registries/content-types.d.ts.map +1 -1
  393. package/dist/registries/content-types.js +54 -59
  394. package/dist/registries/content-types.js.map +1 -1
  395. package/dist/registries/content-types.mjs +53 -61
  396. package/dist/registries/content-types.mjs.map +1 -1
  397. package/dist/registries/controllers.d.ts +10 -10
  398. package/dist/registries/controllers.d.ts.map +1 -1
  399. package/dist/registries/controllers.js +70 -71
  400. package/dist/registries/controllers.js.map +1 -1
  401. package/dist/registries/controllers.mjs +69 -73
  402. package/dist/registries/controllers.mjs.map +1 -1
  403. package/dist/registries/custom-fields.d.ts +3 -3
  404. package/dist/registries/custom-fields.d.ts.map +1 -1
  405. package/dist/registries/custom-fields.js +75 -65
  406. package/dist/registries/custom-fields.js.map +1 -1
  407. package/dist/registries/custom-fields.mjs +74 -67
  408. package/dist/registries/custom-fields.mjs.map +1 -1
  409. package/dist/registries/hooks.js +46 -49
  410. package/dist/registries/hooks.js.map +1 -1
  411. package/dist/registries/hooks.mjs +45 -51
  412. package/dist/registries/hooks.mjs.map +1 -1
  413. package/dist/registries/index.d.ts +0 -1
  414. package/dist/registries/index.d.ts.map +1 -1
  415. package/dist/registries/middlewares.d.ts +6 -6
  416. package/dist/registries/middlewares.d.ts.map +1 -1
  417. package/dist/registries/middlewares.js +49 -51
  418. package/dist/registries/middlewares.js.map +1 -1
  419. package/dist/registries/middlewares.mjs +48 -53
  420. package/dist/registries/middlewares.mjs.map +1 -1
  421. package/dist/registries/models.js +14 -13
  422. package/dist/registries/models.js.map +1 -1
  423. package/dist/registries/models.mjs +13 -14
  424. package/dist/registries/models.mjs.map +1 -1
  425. package/dist/registries/modules.d.ts +2 -2
  426. package/dist/registries/modules.d.ts.map +1 -1
  427. package/dist/registries/modules.js +39 -36
  428. package/dist/registries/modules.js.map +1 -1
  429. package/dist/registries/modules.mjs +38 -38
  430. package/dist/registries/modules.mjs.map +1 -1
  431. package/dist/registries/namespace.js +21 -20
  432. package/dist/registries/namespace.js.map +1 -1
  433. package/dist/registries/namespace.mjs +20 -23
  434. package/dist/registries/namespace.mjs.map +1 -1
  435. package/dist/registries/plugins.d.ts +5 -5
  436. package/dist/registries/plugins.d.ts.map +1 -1
  437. package/dist/registries/plugins.js +23 -20
  438. package/dist/registries/plugins.js.map +1 -1
  439. package/dist/registries/plugins.mjs +22 -22
  440. package/dist/registries/plugins.mjs.map +1 -1
  441. package/dist/registries/policies.d.ts +22 -10
  442. package/dist/registries/policies.d.ts.map +1 -1
  443. package/dist/registries/policies.js +107 -54
  444. package/dist/registries/policies.js.map +1 -1
  445. package/dist/registries/policies.mjs +106 -56
  446. package/dist/registries/policies.mjs.map +1 -1
  447. package/dist/registries/sanitizers.js +23 -22
  448. package/dist/registries/sanitizers.js.map +1 -1
  449. package/dist/registries/sanitizers.mjs +22 -22
  450. package/dist/registries/sanitizers.mjs.map +1 -1
  451. package/dist/registries/services.d.ts +8 -8
  452. package/dist/registries/services.d.ts.map +1 -1
  453. package/dist/registries/services.js +71 -71
  454. package/dist/registries/services.js.map +1 -1
  455. package/dist/registries/services.mjs +70 -73
  456. package/dist/registries/services.mjs.map +1 -1
  457. package/dist/registries/validators.js +23 -22
  458. package/dist/registries/validators.js.map +1 -1
  459. package/dist/registries/validators.mjs +22 -22
  460. package/dist/registries/validators.mjs.map +1 -1
  461. package/dist/services/auth/index.d.ts +4 -4
  462. package/dist/services/auth/index.d.ts.map +1 -1
  463. package/dist/services/auth/index.js +74 -74
  464. package/dist/services/auth/index.js.map +1 -1
  465. package/dist/services/auth/index.mjs +73 -74
  466. package/dist/services/auth/index.mjs.map +1 -1
  467. package/dist/services/config.d.ts +3 -0
  468. package/dist/services/config.d.ts.map +1 -0
  469. package/dist/services/config.js +51 -0
  470. package/dist/services/config.js.map +1 -0
  471. package/dist/services/config.mjs +49 -0
  472. package/dist/services/config.mjs.map +1 -0
  473. package/dist/services/content-api/index.d.ts +31 -15
  474. package/dist/services/content-api/index.d.ts.map +1 -1
  475. package/dist/services/content-api/index.js +80 -53
  476. package/dist/services/content-api/index.js.map +1 -1
  477. package/dist/services/content-api/index.mjs +79 -53
  478. package/dist/services/content-api/index.mjs.map +1 -1
  479. package/dist/services/content-api/permissions/engine.js +8 -5
  480. package/dist/services/content-api/permissions/engine.js.map +1 -1
  481. package/dist/services/content-api/permissions/engine.mjs +7 -5
  482. package/dist/services/content-api/permissions/engine.mjs.map +1 -1
  483. package/dist/services/content-api/permissions/index.d.ts +13 -15
  484. package/dist/services/content-api/permissions/index.d.ts.map +1 -1
  485. package/dist/services/content-api/permissions/index.js +101 -81
  486. package/dist/services/content-api/permissions/index.js.map +1 -1
  487. package/dist/services/content-api/permissions/index.mjs +100 -81
  488. package/dist/services/content-api/permissions/index.mjs.map +1 -1
  489. package/dist/services/content-api/permissions/providers/action.d.ts +5 -6
  490. package/dist/services/content-api/permissions/providers/action.d.ts.map +1 -1
  491. package/dist/services/content-api/permissions/providers/action.js +17 -14
  492. package/dist/services/content-api/permissions/providers/action.js.map +1 -1
  493. package/dist/services/content-api/permissions/providers/action.mjs +16 -16
  494. package/dist/services/content-api/permissions/providers/action.mjs.map +1 -1
  495. package/dist/services/content-api/permissions/providers/condition.d.ts +5 -6
  496. package/dist/services/content-api/permissions/providers/condition.d.ts.map +1 -1
  497. package/dist/services/content-api/permissions/providers/condition.js +17 -14
  498. package/dist/services/content-api/permissions/providers/condition.js.map +1 -1
  499. package/dist/services/content-api/permissions/providers/condition.mjs +16 -16
  500. package/dist/services/content-api/permissions/providers/condition.mjs.map +1 -1
  501. package/dist/services/core-store.d.ts.map +1 -1
  502. package/dist/services/core-store.js +115 -95
  503. package/dist/services/core-store.js.map +1 -1
  504. package/dist/services/core-store.mjs +114 -97
  505. package/dist/services/core-store.mjs.map +1 -1
  506. package/dist/services/cron.d.ts +5 -5
  507. package/dist/services/cron.d.ts.map +1 -1
  508. package/dist/services/cron.js +74 -60
  509. package/dist/services/cron.js.map +1 -1
  510. package/dist/services/cron.mjs +73 -62
  511. package/dist/services/cron.mjs.map +1 -1
  512. package/dist/services/custom-fields.d.ts +2 -2
  513. package/dist/services/custom-fields.d.ts.map +1 -1
  514. package/dist/services/custom-fields.js +9 -7
  515. package/dist/services/custom-fields.js.map +1 -1
  516. package/dist/services/custom-fields.mjs +8 -9
  517. package/dist/services/custom-fields.mjs.map +1 -1
  518. package/dist/services/document-service/attributes/index.d.ts +6 -0
  519. package/dist/services/document-service/attributes/index.d.ts.map +1 -0
  520. package/dist/services/document-service/attributes/index.js +27 -0
  521. package/dist/services/document-service/attributes/index.js.map +1 -0
  522. package/dist/services/document-service/attributes/index.mjs +25 -0
  523. package/dist/services/document-service/attributes/index.mjs.map +1 -0
  524. package/dist/services/document-service/attributes/transforms.d.ts +10 -0
  525. package/dist/services/document-service/attributes/transforms.d.ts.map +1 -0
  526. package/dist/services/document-service/attributes/transforms.js +21 -0
  527. package/dist/services/document-service/attributes/transforms.js.map +1 -0
  528. package/dist/services/document-service/attributes/transforms.mjs +19 -0
  529. package/dist/services/document-service/attributes/transforms.mjs.map +1 -0
  530. package/dist/services/document-service/common.d.ts +2 -2
  531. package/dist/services/document-service/common.d.ts.map +1 -1
  532. package/dist/services/document-service/common.js +5 -4
  533. package/dist/services/document-service/common.js.map +1 -1
  534. package/dist/services/document-service/common.mjs +4 -5
  535. package/dist/services/document-service/common.mjs.map +1 -1
  536. package/dist/services/document-service/components.d.ts +25 -1
  537. package/dist/services/document-service/components.d.ts.map +1 -1
  538. package/dist/services/document-service/components.js +286 -0
  539. package/dist/services/document-service/components.js.map +1 -0
  540. package/dist/services/document-service/components.mjs +278 -0
  541. package/dist/services/document-service/components.mjs.map +1 -0
  542. package/dist/services/document-service/draft-and-publish.d.ts +9 -23
  543. package/dist/services/document-service/draft-and-publish.d.ts.map +1 -1
  544. package/dist/services/document-service/draft-and-publish.js +104 -36
  545. package/dist/services/document-service/draft-and-publish.js.map +1 -1
  546. package/dist/services/document-service/draft-and-publish.mjs +96 -35
  547. package/dist/services/document-service/draft-and-publish.mjs.map +1 -1
  548. package/dist/services/document-service/entries.d.ts +10 -0
  549. package/dist/services/document-service/entries.d.ts.map +1 -0
  550. package/dist/services/document-service/entries.js +113 -0
  551. package/dist/services/document-service/entries.js.map +1 -0
  552. package/dist/services/document-service/entries.mjs +111 -0
  553. package/dist/services/document-service/entries.mjs.map +1 -0
  554. package/dist/services/document-service/events.d.ts +25 -0
  555. package/dist/services/document-service/events.d.ts.map +1 -0
  556. package/dist/services/document-service/events.js +59 -0
  557. package/dist/services/document-service/events.js.map +1 -0
  558. package/dist/services/document-service/events.mjs +57 -0
  559. package/dist/services/document-service/events.mjs.map +1 -0
  560. package/dist/services/document-service/index.d.ts +3 -4
  561. package/dist/services/document-service/index.d.ts.map +1 -1
  562. package/dist/services/document-service/index.js +53 -19
  563. package/dist/services/document-service/index.js.map +1 -1
  564. package/dist/services/document-service/index.mjs +52 -20
  565. package/dist/services/document-service/index.mjs.map +1 -1
  566. package/dist/services/document-service/internationalization.d.ts +6 -5
  567. package/dist/services/document-service/internationalization.d.ts.map +1 -1
  568. package/dist/services/document-service/internationalization.js +68 -29
  569. package/dist/services/document-service/internationalization.js.map +1 -1
  570. package/dist/services/document-service/internationalization.mjs +63 -29
  571. package/dist/services/document-service/internationalization.mjs.map +1 -1
  572. package/dist/services/document-service/middlewares/errors.d.ts +6 -0
  573. package/dist/services/document-service/middlewares/errors.d.ts.map +1 -0
  574. package/dist/services/document-service/middlewares/errors.js +29 -0
  575. package/dist/services/document-service/middlewares/errors.js.map +1 -0
  576. package/dist/services/document-service/middlewares/errors.mjs +27 -0
  577. package/dist/services/document-service/middlewares/errors.mjs.map +1 -0
  578. package/dist/services/document-service/middlewares/index.d.ts +3 -0
  579. package/dist/services/document-service/middlewares/index.d.ts.map +1 -0
  580. package/dist/services/document-service/middlewares/middleware-manager.d.ts +10 -0
  581. package/dist/services/document-service/middlewares/middleware-manager.d.ts.map +1 -0
  582. package/dist/services/document-service/middlewares/middleware-manager.js +51 -0
  583. package/dist/services/document-service/middlewares/middleware-manager.js.map +1 -0
  584. package/dist/services/document-service/middlewares/middleware-manager.mjs +49 -0
  585. package/dist/services/document-service/middlewares/middleware-manager.mjs.map +1 -0
  586. package/dist/services/document-service/params.d.ts +3 -1
  587. package/dist/services/document-service/params.d.ts.map +1 -1
  588. package/dist/services/document-service/params.js +14 -0
  589. package/dist/services/document-service/params.js.map +1 -0
  590. package/dist/services/document-service/params.mjs +12 -0
  591. package/dist/services/document-service/params.mjs.map +1 -0
  592. package/dist/services/document-service/repository.d.ts +3 -0
  593. package/dist/services/document-service/repository.d.ts.map +1 -0
  594. package/dist/services/document-service/repository.js +364 -0
  595. package/dist/services/document-service/repository.js.map +1 -0
  596. package/dist/services/document-service/repository.mjs +362 -0
  597. package/dist/services/document-service/repository.mjs.map +1 -0
  598. package/dist/services/document-service/transform/data.d.ts.map +1 -1
  599. package/dist/services/document-service/transform/data.js +22 -10
  600. package/dist/services/document-service/transform/data.js.map +1 -1
  601. package/dist/services/document-service/transform/data.mjs +21 -11
  602. package/dist/services/document-service/transform/data.mjs.map +1 -1
  603. package/dist/services/document-service/transform/fields.d.ts +2 -2
  604. package/dist/services/document-service/transform/fields.d.ts.map +1 -1
  605. package/dist/services/document-service/transform/fields.js +29 -19
  606. package/dist/services/document-service/transform/fields.js.map +1 -1
  607. package/dist/services/document-service/transform/fields.mjs +28 -20
  608. package/dist/services/document-service/transform/fields.mjs.map +1 -1
  609. package/dist/services/document-service/transform/id-map.d.ts +4 -4
  610. package/dist/services/document-service/transform/id-map.d.ts.map +1 -1
  611. package/dist/services/document-service/transform/id-map.js +117 -64
  612. package/dist/services/document-service/transform/id-map.js.map +1 -1
  613. package/dist/services/document-service/transform/id-map.mjs +116 -65
  614. package/dist/services/document-service/transform/id-map.mjs.map +1 -1
  615. package/dist/services/document-service/transform/id-transform.d.ts +4 -25
  616. package/dist/services/document-service/transform/id-transform.d.ts.map +1 -1
  617. package/dist/services/document-service/transform/id-transform.js +39 -55
  618. package/dist/services/document-service/transform/id-transform.js.map +1 -1
  619. package/dist/services/document-service/transform/id-transform.mjs +37 -55
  620. package/dist/services/document-service/transform/id-transform.mjs.map +1 -1
  621. package/dist/services/document-service/transform/populate.d.ts +5 -2
  622. package/dist/services/document-service/transform/populate.d.ts.map +1 -1
  623. package/dist/services/document-service/transform/populate.js +23 -28
  624. package/dist/services/document-service/transform/populate.js.map +1 -1
  625. package/dist/services/document-service/transform/populate.mjs +22 -29
  626. package/dist/services/document-service/transform/populate.mjs.map +1 -1
  627. package/dist/services/document-service/transform/query.d.ts +5 -0
  628. package/dist/services/document-service/transform/query.d.ts.map +1 -0
  629. package/dist/services/document-service/transform/query.js +14 -0
  630. package/dist/services/document-service/transform/query.js.map +1 -0
  631. package/dist/services/document-service/transform/query.mjs +12 -0
  632. package/dist/services/document-service/transform/query.mjs.map +1 -0
  633. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts +8 -7
  634. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts.map +1 -1
  635. package/dist/services/document-service/transform/relations/extract/data-ids.js +75 -71
  636. package/dist/services/document-service/transform/relations/extract/data-ids.js.map +1 -1
  637. package/dist/services/document-service/transform/relations/extract/data-ids.mjs +74 -72
  638. package/dist/services/document-service/transform/relations/extract/data-ids.mjs.map +1 -1
  639. package/dist/services/document-service/transform/relations/transform/data-ids.d.ts +9 -5
  640. package/dist/services/document-service/transform/relations/transform/data-ids.d.ts.map +1 -1
  641. package/dist/services/document-service/transform/relations/transform/data-ids.js +105 -110
  642. package/dist/services/document-service/transform/relations/transform/data-ids.js.map +1 -1
  643. package/dist/services/document-service/transform/relations/transform/data-ids.mjs +104 -111
  644. package/dist/services/document-service/transform/relations/transform/data-ids.mjs.map +1 -1
  645. package/dist/services/document-service/transform/relations/transform/default-locale.d.ts +9 -0
  646. package/dist/services/document-service/transform/relations/transform/default-locale.d.ts.map +1 -0
  647. package/dist/services/document-service/transform/relations/transform/default-locale.js +50 -0
  648. package/dist/services/document-service/transform/relations/transform/default-locale.js.map +1 -0
  649. package/dist/services/document-service/transform/relations/transform/default-locale.mjs +48 -0
  650. package/dist/services/document-service/transform/relations/transform/default-locale.mjs.map +1 -0
  651. package/dist/services/document-service/transform/relations/utils/data.d.ts +2 -4
  652. package/dist/services/document-service/transform/relations/utils/data.d.ts.map +1 -1
  653. package/dist/services/document-service/transform/relations/utils/dp.d.ts +10 -0
  654. package/dist/services/document-service/transform/relations/utils/dp.d.ts.map +1 -0
  655. package/dist/services/document-service/transform/relations/utils/dp.js +56 -0
  656. package/dist/services/document-service/transform/relations/utils/dp.js.map +1 -0
  657. package/dist/services/document-service/transform/relations/utils/dp.mjs +54 -0
  658. package/dist/services/document-service/transform/relations/utils/dp.mjs.map +1 -0
  659. package/dist/services/document-service/transform/relations/utils/i18n.d.ts +8 -8
  660. package/dist/services/document-service/transform/relations/utils/i18n.d.ts.map +1 -1
  661. package/dist/services/document-service/transform/relations/utils/i18n.js +19 -23
  662. package/dist/services/document-service/transform/relations/utils/i18n.js.map +1 -1
  663. package/dist/services/document-service/transform/relations/utils/i18n.mjs +18 -26
  664. package/dist/services/document-service/transform/relations/utils/i18n.mjs.map +1 -1
  665. package/dist/services/document-service/transform/relations/utils/map-relation.d.ts +6 -0
  666. package/dist/services/document-service/transform/relations/utils/map-relation.d.ts.map +1 -0
  667. package/dist/services/document-service/transform/relations/utils/map-relation.js +130 -0
  668. package/dist/services/document-service/transform/relations/utils/map-relation.js.map +1 -0
  669. package/dist/services/document-service/transform/relations/utils/map-relation.mjs +127 -0
  670. package/dist/services/document-service/transform/relations/utils/map-relation.mjs.map +1 -0
  671. package/dist/services/document-service/transform/relations/utils/types.d.ts +15 -2
  672. package/dist/services/document-service/transform/relations/utils/types.d.ts.map +1 -1
  673. package/dist/services/document-service/transform/types.d.ts +4 -4
  674. package/dist/services/document-service/transform/types.d.ts.map +1 -1
  675. package/dist/services/document-service/utils/bidirectional-relations.d.ts +95 -0
  676. package/dist/services/document-service/utils/bidirectional-relations.d.ts.map +1 -0
  677. package/dist/services/document-service/utils/bidirectional-relations.js +148 -0
  678. package/dist/services/document-service/utils/bidirectional-relations.js.map +1 -0
  679. package/dist/services/document-service/utils/bidirectional-relations.mjs +145 -0
  680. package/dist/services/document-service/utils/bidirectional-relations.mjs.map +1 -0
  681. package/dist/services/document-service/utils/populate.d.ts +9 -2
  682. package/dist/services/document-service/utils/populate.d.ts.map +1 -1
  683. package/dist/services/document-service/utils/populate.js +67 -37
  684. package/dist/services/document-service/utils/populate.js.map +1 -1
  685. package/dist/services/document-service/utils/populate.mjs +66 -38
  686. package/dist/services/document-service/utils/populate.mjs.map +1 -1
  687. package/dist/services/document-service/utils/unidirectional-relations.d.ts +36 -0
  688. package/dist/services/document-service/utils/unidirectional-relations.d.ts.map +1 -0
  689. package/dist/services/document-service/utils/unidirectional-relations.js +116 -0
  690. package/dist/services/document-service/utils/unidirectional-relations.js.map +1 -0
  691. package/dist/services/document-service/utils/unidirectional-relations.mjs +113 -0
  692. package/dist/services/document-service/utils/unidirectional-relations.mjs.map +1 -0
  693. package/dist/services/entity-service/index.d.ts +4 -6
  694. package/dist/services/entity-service/index.d.ts.map +1 -1
  695. package/dist/services/entity-service/index.js +229 -319
  696. package/dist/services/entity-service/index.js.map +1 -1
  697. package/dist/services/entity-service/index.mjs +228 -318
  698. package/dist/services/entity-service/index.mjs.map +1 -1
  699. package/dist/services/entity-validator/blocks-validator.d.ts +1 -2
  700. package/dist/services/entity-validator/blocks-validator.d.ts.map +1 -1
  701. package/dist/services/entity-validator/blocks-validator.js +137 -104
  702. package/dist/services/entity-validator/blocks-validator.js.map +1 -1
  703. package/dist/services/entity-validator/blocks-validator.mjs +135 -105
  704. package/dist/services/entity-validator/blocks-validator.mjs.map +1 -1
  705. package/dist/services/entity-validator/index.d.ts +16 -2
  706. package/dist/services/entity-validator/index.d.ts.map +1 -1
  707. package/dist/services/entity-validator/index.js +362 -300
  708. package/dist/services/entity-validator/index.js.map +1 -1
  709. package/dist/services/entity-validator/index.mjs +358 -297
  710. package/dist/services/entity-validator/index.mjs.map +1 -1
  711. package/dist/services/entity-validator/validators.d.ts +36 -25
  712. package/dist/services/entity-validator/validators.d.ts.map +1 -1
  713. package/dist/services/entity-validator/validators.js +283 -105
  714. package/dist/services/entity-validator/validators.js.map +1 -1
  715. package/dist/services/entity-validator/validators.mjs +274 -103
  716. package/dist/services/entity-validator/validators.mjs.map +1 -1
  717. package/dist/services/errors.js +65 -65
  718. package/dist/services/errors.js.map +1 -1
  719. package/dist/services/errors.mjs +64 -66
  720. package/dist/services/errors.mjs.map +1 -1
  721. package/dist/services/event-hub.d.ts +1 -0
  722. package/dist/services/event-hub.d.ts.map +1 -1
  723. package/dist/services/event-hub.js +82 -64
  724. package/dist/services/event-hub.js.map +1 -1
  725. package/dist/services/event-hub.mjs +81 -66
  726. package/dist/services/event-hub.mjs.map +1 -1
  727. package/dist/services/features.d.ts +3 -3
  728. package/dist/services/features.d.ts.map +1 -1
  729. package/dist/services/features.js +19 -14
  730. package/dist/services/features.js.map +1 -1
  731. package/dist/services/features.mjs +18 -15
  732. package/dist/services/features.mjs.map +1 -1
  733. package/dist/services/fs.d.ts +2 -2
  734. package/dist/services/fs.d.ts.map +1 -1
  735. package/dist/services/fs.js +41 -40
  736. package/dist/services/fs.js.map +1 -1
  737. package/dist/services/fs.mjs +40 -39
  738. package/dist/services/fs.mjs.map +1 -1
  739. package/dist/services/metrics/admin-user-hash.d.ts +2 -2
  740. package/dist/services/metrics/admin-user-hash.d.ts.map +1 -1
  741. package/dist/services/metrics/admin-user-hash.js +13 -11
  742. package/dist/services/metrics/admin-user-hash.js.map +1 -1
  743. package/dist/services/metrics/admin-user-hash.mjs +12 -10
  744. package/dist/services/metrics/admin-user-hash.mjs.map +1 -1
  745. package/dist/services/metrics/index.d.ts +2 -2
  746. package/dist/services/metrics/index.d.ts.map +1 -1
  747. package/dist/services/metrics/index.js +46 -40
  748. package/dist/services/metrics/index.js.map +1 -1
  749. package/dist/services/metrics/index.mjs +45 -42
  750. package/dist/services/metrics/index.mjs.map +1 -1
  751. package/dist/services/metrics/is-truthy.js +13 -6
  752. package/dist/services/metrics/is-truthy.js.map +1 -1
  753. package/dist/services/metrics/is-truthy.mjs +12 -6
  754. package/dist/services/metrics/is-truthy.mjs.map +1 -1
  755. package/dist/services/metrics/middleware.d.ts +2 -2
  756. package/dist/services/metrics/middleware.d.ts.map +1 -1
  757. package/dist/services/metrics/middleware.js +37 -22
  758. package/dist/services/metrics/middleware.js.map +1 -1
  759. package/dist/services/metrics/middleware.mjs +36 -24
  760. package/dist/services/metrics/middleware.mjs.map +1 -1
  761. package/dist/services/metrics/rate-limiter.d.ts.map +1 -1
  762. package/dist/services/metrics/rate-limiter.js +24 -19
  763. package/dist/services/metrics/rate-limiter.js.map +1 -1
  764. package/dist/services/metrics/rate-limiter.mjs +23 -21
  765. package/dist/services/metrics/rate-limiter.mjs.map +1 -1
  766. package/dist/services/metrics/sender.d.ts +3 -3
  767. package/dist/services/metrics/sender.d.ts.map +1 -1
  768. package/dist/services/metrics/sender.js +78 -69
  769. package/dist/services/metrics/sender.js.map +1 -1
  770. package/dist/services/metrics/sender.mjs +77 -64
  771. package/dist/services/metrics/sender.mjs.map +1 -1
  772. package/dist/services/query-params.d.ts +7 -0
  773. package/dist/services/query-params.d.ts.map +1 -0
  774. package/dist/services/query-params.js +15 -0
  775. package/dist/services/query-params.js.map +1 -0
  776. package/dist/services/query-params.mjs +13 -0
  777. package/dist/services/query-params.mjs.map +1 -0
  778. package/dist/services/reloader.d.ts +7 -0
  779. package/dist/services/reloader.d.ts.map +1 -0
  780. package/dist/services/reloader.js +39 -0
  781. package/dist/services/reloader.js.map +1 -0
  782. package/dist/services/reloader.mjs +37 -0
  783. package/dist/services/reloader.mjs.map +1 -0
  784. package/dist/services/request-context.js +11 -8
  785. package/dist/services/request-context.js.map +1 -1
  786. package/dist/services/request-context.mjs +10 -10
  787. package/dist/services/request-context.mjs.map +1 -1
  788. package/dist/services/server/admin-api.d.ts +3 -3
  789. package/dist/services/server/admin-api.d.ts.map +1 -1
  790. package/dist/services/server/admin-api.js +11 -10
  791. package/dist/services/server/admin-api.js.map +1 -1
  792. package/dist/services/server/admin-api.mjs +10 -11
  793. package/dist/services/server/admin-api.mjs.map +1 -1
  794. package/dist/services/server/api.d.ts +3 -3
  795. package/dist/services/server/api.d.ts.map +1 -1
  796. package/dist/services/server/api.js +33 -27
  797. package/dist/services/server/api.js.map +1 -1
  798. package/dist/services/server/api.mjs +32 -26
  799. package/dist/services/server/api.mjs.map +1 -1
  800. package/dist/services/server/compose-endpoint.d.ts +2 -2
  801. package/dist/services/server/compose-endpoint.d.ts.map +1 -1
  802. package/dist/services/server/compose-endpoint.js +116 -106
  803. package/dist/services/server/compose-endpoint.js.map +1 -1
  804. package/dist/services/server/compose-endpoint.mjs +115 -106
  805. package/dist/services/server/compose-endpoint.mjs.map +1 -1
  806. package/dist/services/server/content-api.d.ts +3 -3
  807. package/dist/services/server/content-api.d.ts.map +1 -1
  808. package/dist/services/server/content-api.js +11 -9
  809. package/dist/services/server/content-api.js.map +1 -1
  810. package/dist/services/server/content-api.mjs +10 -10
  811. package/dist/services/server/content-api.mjs.map +1 -1
  812. package/dist/services/server/http-server.d.ts +2 -2
  813. package/dist/services/server/http-server.d.ts.map +1 -1
  814. package/dist/services/server/http-server.js +48 -44
  815. package/dist/services/server/http-server.js.map +1 -1
  816. package/dist/services/server/http-server.mjs +47 -43
  817. package/dist/services/server/http-server.mjs.map +1 -1
  818. package/dist/services/server/index.d.ts +2 -2
  819. package/dist/services/server/index.d.ts.map +1 -1
  820. package/dist/services/server/index.js +85 -83
  821. package/dist/services/server/index.js.map +1 -1
  822. package/dist/services/server/index.mjs +84 -82
  823. package/dist/services/server/index.mjs.map +1 -1
  824. package/dist/services/server/koa.d.ts.map +1 -1
  825. package/dist/services/server/koa.js +49 -47
  826. package/dist/services/server/koa.js.map +1 -1
  827. package/dist/services/server/koa.mjs +48 -44
  828. package/dist/services/server/koa.mjs.map +1 -1
  829. package/dist/services/server/middleware.d.ts +4 -4
  830. package/dist/services/server/middleware.d.ts.map +1 -1
  831. package/dist/services/server/middleware.js +86 -82
  832. package/dist/services/server/middleware.js.map +1 -1
  833. package/dist/services/server/middleware.mjs +85 -82
  834. package/dist/services/server/middleware.mjs.map +1 -1
  835. package/dist/services/server/policy.d.ts +3 -3
  836. package/dist/services/server/policy.d.ts.map +1 -1
  837. package/dist/services/server/policy.js +25 -18
  838. package/dist/services/server/policy.js.map +1 -1
  839. package/dist/services/server/policy.mjs +23 -18
  840. package/dist/services/server/policy.mjs.map +1 -1
  841. package/dist/services/server/register-middlewares.d.ts +2 -2
  842. package/dist/services/server/register-middlewares.d.ts.map +1 -1
  843. package/dist/services/server/register-middlewares.js +68 -61
  844. package/dist/services/server/register-middlewares.js.map +1 -1
  845. package/dist/services/server/register-middlewares.mjs +67 -63
  846. package/dist/services/server/register-middlewares.mjs.map +1 -1
  847. package/dist/services/server/register-routes.d.ts +2 -2
  848. package/dist/services/server/register-routes.d.ts.map +1 -1
  849. package/dist/services/server/register-routes.js +90 -67
  850. package/dist/services/server/register-routes.js.map +1 -1
  851. package/dist/services/server/register-routes.mjs +89 -67
  852. package/dist/services/server/register-routes.mjs.map +1 -1
  853. package/dist/services/server/routing.d.ts +5 -5
  854. package/dist/services/server/routing.d.ts.map +1 -1
  855. package/dist/services/server/routing.js +94 -81
  856. package/dist/services/server/routing.js.map +1 -1
  857. package/dist/services/server/routing.mjs +93 -81
  858. package/dist/services/server/routing.mjs.map +1 -1
  859. package/dist/services/utils/dynamic-zones.d.ts.map +1 -1
  860. package/dist/services/utils/dynamic-zones.js +13 -13
  861. package/dist/services/utils/dynamic-zones.js.map +1 -1
  862. package/dist/services/utils/dynamic-zones.mjs +12 -15
  863. package/dist/services/utils/dynamic-zones.mjs.map +1 -1
  864. package/dist/services/webhook-runner.d.ts +2 -1
  865. package/dist/services/webhook-runner.d.ts.map +1 -1
  866. package/dist/services/webhook-runner.js +124 -122
  867. package/dist/services/webhook-runner.js.map +1 -1
  868. package/dist/services/webhook-runner.mjs +123 -121
  869. package/dist/services/webhook-runner.mjs.map +1 -1
  870. package/dist/services/webhook-store.d.ts +2 -8
  871. package/dist/services/webhook-store.d.ts.map +1 -1
  872. package/dist/services/webhook-store.js +132 -93
  873. package/dist/services/webhook-store.js.map +1 -1
  874. package/dist/services/webhook-store.mjs +131 -95
  875. package/dist/services/webhook-store.mjs.map +1 -1
  876. package/dist/services/worker-queue.js +44 -49
  877. package/dist/services/worker-queue.js.map +1 -1
  878. package/dist/services/worker-queue.mjs +43 -49
  879. package/dist/services/worker-queue.mjs.map +1 -1
  880. package/dist/utils/convert-custom-field-type.d.ts +2 -2
  881. package/dist/utils/convert-custom-field-type.d.ts.map +1 -1
  882. package/dist/utils/convert-custom-field-type.js +17 -20
  883. package/dist/utils/convert-custom-field-type.js.map +1 -1
  884. package/dist/utils/convert-custom-field-type.mjs +16 -21
  885. package/dist/utils/convert-custom-field-type.mjs.map +1 -1
  886. package/dist/utils/cron.js +64 -30
  887. package/dist/utils/cron.js.map +1 -1
  888. package/dist/utils/cron.mjs +63 -31
  889. package/dist/utils/cron.mjs.map +1 -1
  890. package/dist/utils/fetch.d.ts +3 -3
  891. package/dist/utils/fetch.d.ts.map +1 -1
  892. package/dist/utils/fetch.js +24 -17
  893. package/dist/utils/fetch.js.map +1 -1
  894. package/dist/utils/fetch.mjs +23 -18
  895. package/dist/utils/fetch.mjs.map +1 -1
  896. package/dist/utils/filepath-to-prop-path.d.ts +1 -1
  897. package/dist/utils/filepath-to-prop-path.d.ts.map +1 -1
  898. package/dist/utils/filepath-to-prop-path.js +22 -9
  899. package/dist/utils/filepath-to-prop-path.js.map +1 -1
  900. package/dist/utils/filepath-to-prop-path.mjs +20 -7
  901. package/dist/utils/filepath-to-prop-path.mjs.map +1 -1
  902. package/dist/utils/index.d.ts +2 -1
  903. package/dist/utils/index.d.ts.map +1 -1
  904. package/dist/utils/is-initialized.d.ts +2 -2
  905. package/dist/utils/is-initialized.d.ts.map +1 -1
  906. package/dist/utils/is-initialized.js +21 -12
  907. package/dist/utils/is-initialized.js.map +1 -1
  908. package/dist/utils/is-initialized.mjs +20 -13
  909. package/dist/utils/is-initialized.mjs.map +1 -1
  910. package/dist/utils/lifecycles.js +6 -5
  911. package/dist/utils/lifecycles.js.map +1 -1
  912. package/dist/utils/lifecycles.mjs +5 -6
  913. package/dist/utils/lifecycles.mjs.map +1 -1
  914. package/dist/utils/load-config-file.js +40 -38
  915. package/dist/utils/load-config-file.js.map +1 -1
  916. package/dist/utils/load-config-file.mjs +39 -36
  917. package/dist/utils/load-config-file.mjs.map +1 -1
  918. package/dist/utils/load-files.d.ts.map +1 -1
  919. package/dist/utils/load-files.js +40 -35
  920. package/dist/utils/load-files.js.map +1 -1
  921. package/dist/utils/load-files.mjs +39 -32
  922. package/dist/utils/load-files.mjs.map +1 -1
  923. package/dist/utils/open-browser.d.ts +2 -2
  924. package/dist/utils/open-browser.d.ts.map +1 -1
  925. package/dist/utils/open-browser.js +8 -8
  926. package/dist/utils/open-browser.js.map +1 -1
  927. package/dist/utils/open-browser.mjs +7 -7
  928. package/dist/utils/open-browser.mjs.map +1 -1
  929. package/dist/utils/resolve-working-dirs.d.ts +19 -0
  930. package/dist/utils/resolve-working-dirs.d.ts.map +1 -0
  931. package/dist/utils/resolve-working-dirs.js +26 -0
  932. package/dist/utils/resolve-working-dirs.js.map +1 -0
  933. package/dist/utils/resolve-working-dirs.mjs +24 -0
  934. package/dist/utils/resolve-working-dirs.mjs.map +1 -0
  935. package/dist/utils/signals.d.ts +2 -2
  936. package/dist/utils/signals.d.ts.map +1 -1
  937. package/dist/utils/signals.js +20 -14
  938. package/dist/utils/signals.js.map +1 -1
  939. package/dist/utils/signals.mjs +19 -15
  940. package/dist/utils/signals.mjs.map +1 -1
  941. package/dist/utils/startup-logger.d.ts +2 -2
  942. package/dist/utils/startup-logger.d.ts.map +1 -1
  943. package/dist/utils/startup-logger.js +107 -78
  944. package/dist/utils/startup-logger.js.map +1 -1
  945. package/dist/utils/startup-logger.mjs +106 -75
  946. package/dist/utils/startup-logger.mjs.map +1 -1
  947. package/dist/utils/transform-content-types-to-models.d.ts +461 -3
  948. package/dist/utils/transform-content-types-to-models.d.ts.map +1 -1
  949. package/dist/utils/transform-content-types-to-models.js +362 -183
  950. package/dist/utils/transform-content-types-to-models.js.map +1 -1
  951. package/dist/utils/transform-content-types-to-models.mjs +351 -182
  952. package/dist/utils/transform-content-types-to-models.mjs.map +1 -1
  953. package/dist/utils/update-notifier/index.d.ts +2 -7
  954. package/dist/utils/update-notifier/index.d.ts.map +1 -1
  955. package/dist/utils/update-notifier/index.js +66 -74
  956. package/dist/utils/update-notifier/index.js.map +1 -1
  957. package/dist/utils/update-notifier/index.mjs +65 -68
  958. package/dist/utils/update-notifier/index.mjs.map +1 -1
  959. package/package.json +43 -40
  960. package/dist/registries/config.d.ts +0 -4
  961. package/dist/registries/config.d.ts.map +0 -1
  962. package/dist/registries/config.js +0 -23
  963. package/dist/registries/config.js.map +0 -1
  964. package/dist/registries/config.mjs +0 -22
  965. package/dist/registries/config.mjs.map +0 -1
  966. package/dist/services/document-service/collection-type.d.ts +0 -4
  967. package/dist/services/document-service/collection-type.d.ts.map +0 -1
  968. package/dist/services/document-service/collection-type.js +0 -145
  969. package/dist/services/document-service/collection-type.js.map +0 -1
  970. package/dist/services/document-service/collection-type.mjs +0 -145
  971. package/dist/services/document-service/collection-type.mjs.map +0 -1
  972. package/dist/services/document-service/document-engine.d.ts +0 -8
  973. package/dist/services/document-service/document-engine.d.ts.map +0 -1
  974. package/dist/services/document-service/document-engine.js +0 -249
  975. package/dist/services/document-service/document-engine.js.map +0 -1
  976. package/dist/services/document-service/document-engine.mjs +0 -250
  977. package/dist/services/document-service/document-engine.mjs.map +0 -1
  978. package/dist/services/document-service/middlewares.d.ts +0 -8
  979. package/dist/services/document-service/middlewares.d.ts.map +0 -1
  980. package/dist/services/document-service/middlewares.js +0 -46
  981. package/dist/services/document-service/middlewares.js.map +0 -1
  982. package/dist/services/document-service/middlewares.mjs +0 -46
  983. package/dist/services/document-service/middlewares.mjs.map +0 -1
  984. package/dist/services/document-service/repository-factory.d.ts +0 -3
  985. package/dist/services/document-service/repository-factory.d.ts.map +0 -1
  986. package/dist/services/document-service/repository-factory.js +0 -12
  987. package/dist/services/document-service/repository-factory.js.map +0 -1
  988. package/dist/services/document-service/repository-factory.mjs +0 -12
  989. package/dist/services/document-service/repository-factory.mjs.map +0 -1
  990. package/dist/services/document-service/single-type.d.ts +0 -4
  991. package/dist/services/document-service/single-type.d.ts.map +0 -1
  992. package/dist/services/document-service/single-type.js +0 -92
  993. package/dist/services/document-service/single-type.js.map +0 -1
  994. package/dist/services/document-service/single-type.mjs +0 -92
  995. package/dist/services/document-service/single-type.mjs.map +0 -1
  996. package/dist/services/document-service/transform/filters.d.ts +0 -3
  997. package/dist/services/document-service/transform/filters.d.ts.map +0 -1
  998. package/dist/services/document-service/transform/filters.js +0 -49
  999. package/dist/services/document-service/transform/filters.js.map +0 -1
  1000. package/dist/services/document-service/transform/filters.mjs +0 -49
  1001. package/dist/services/document-service/transform/filters.mjs.map +0 -1
  1002. package/dist/services/document-service/transform/relations/transform/output-ids.d.ts +0 -4
  1003. package/dist/services/document-service/transform/relations/transform/output-ids.d.ts.map +0 -1
  1004. package/dist/services/document-service/transform/relations/transform/output-ids.js +0 -26
  1005. package/dist/services/document-service/transform/relations/transform/output-ids.js.map +0 -1
  1006. package/dist/services/document-service/transform/relations/transform/output-ids.mjs +0 -26
  1007. package/dist/services/document-service/transform/relations/transform/output-ids.mjs.map +0 -1
  1008. package/dist/services/document-service/transform/relations/utils/data.js +0 -12
  1009. package/dist/services/document-service/transform/relations/utils/data.js.map +0 -1
  1010. package/dist/services/document-service/transform/relations/utils/data.mjs +0 -12
  1011. package/dist/services/document-service/transform/relations/utils/data.mjs.map +0 -1
  1012. package/dist/services/document-service/transform/sort.d.ts +0 -5
  1013. package/dist/services/document-service/transform/sort.d.ts.map +0 -1
  1014. package/dist/services/document-service/transform/sort.js +0 -44
  1015. package/dist/services/document-service/transform/sort.js.map +0 -1
  1016. package/dist/services/document-service/transform/sort.mjs +0 -44
  1017. package/dist/services/document-service/transform/sort.mjs.map +0 -1
  1018. package/dist/services/document-service/transform/utils.d.ts +0 -9
  1019. package/dist/services/document-service/transform/utils.d.ts.map +0 -1
  1020. package/dist/services/document-service/transform/utils.js +0 -23
  1021. package/dist/services/document-service/transform/utils.js.map +0 -1
  1022. package/dist/services/document-service/transform/utils.mjs +0 -23
  1023. package/dist/services/document-service/transform/utils.mjs.map +0 -1
  1024. package/dist/services/entity-service/attributes/index.d.ts +0 -6
  1025. package/dist/services/entity-service/attributes/index.d.ts.map +0 -1
  1026. package/dist/services/entity-service/attributes/index.js +0 -22
  1027. package/dist/services/entity-service/attributes/index.js.map +0 -1
  1028. package/dist/services/entity-service/attributes/index.mjs +0 -22
  1029. package/dist/services/entity-service/attributes/index.mjs.map +0 -1
  1030. package/dist/services/entity-service/attributes/transforms.d.ts +0 -10
  1031. package/dist/services/entity-service/attributes/transforms.d.ts.map +0 -1
  1032. package/dist/services/entity-service/attributes/transforms.js +0 -20
  1033. package/dist/services/entity-service/attributes/transforms.js.map +0 -1
  1034. package/dist/services/entity-service/attributes/transforms.mjs +0 -19
  1035. package/dist/services/entity-service/attributes/transforms.mjs.map +0 -1
  1036. package/dist/services/entity-service/components.d.ts +0 -23
  1037. package/dist/services/entity-service/components.d.ts.map +0 -1
  1038. package/dist/services/entity-service/components.js +0 -384
  1039. package/dist/services/entity-service/components.js.map +0 -1
  1040. package/dist/services/entity-service/components.mjs +0 -382
  1041. package/dist/services/entity-service/components.mjs.map +0 -1
  1042. package/dist/services/entity-service/params.d.ts +0 -8
  1043. package/dist/services/entity-service/params.d.ts.map +0 -1
  1044. package/dist/services/entity-service/params.js +0 -8
  1045. package/dist/services/entity-service/params.js.map +0 -1
  1046. package/dist/services/entity-service/params.mjs +0 -8
  1047. package/dist/services/entity-service/params.mjs.map +0 -1
  1048. package/dist/services/utils/upload-files.d.ts +0 -8
  1049. package/dist/services/utils/upload-files.d.ts.map +0 -1
  1050. package/dist/services/utils/upload-files.js +0 -64
  1051. package/dist/services/utils/upload-files.js.map +0 -1
  1052. package/dist/services/utils/upload-files.mjs +0 -63
  1053. package/dist/services/utils/upload-files.mjs.map +0 -1
  1054. package/dist/utils/get-dirs.d.ts +0 -9
  1055. package/dist/utils/get-dirs.d.ts.map +0 -1
  1056. package/dist/utils/get-dirs.js +0 -30
  1057. package/dist/utils/get-dirs.js.map +0 -1
  1058. package/dist/utils/get-dirs.mjs +0 -30
  1059. package/dist/utils/get-dirs.mjs.map +0 -1
@@ -1,41 +1,102 @@
1
- import { assoc } from "lodash/fp";
2
- const setStatusToDraft = assoc("status", "draft");
3
- const defaultToDraft = (params) => {
4
- if (!params.status || params.status !== "published") {
5
- return setStatusToDraft(params);
6
- }
7
- return params;
1
+ import { curry, assoc } from 'lodash/fp';
2
+ import { contentTypes } from '@strapi/utils';
3
+
4
+ /**
5
+ * DP enabled -> set status to draft
6
+ * DP disabled -> Used mostly for parsing relations, so there is not a need for a default.
7
+ */ const setStatusToDraft = (contentType, params)=>{
8
+ if (!contentTypes.hasDraftAndPublish(contentType) && params.status) {
9
+ return params;
10
+ }
11
+ return assoc('status', 'draft', params);
8
12
  };
9
- const filterDataPublishedAt = (params) => {
10
- if (params?.data?.publishedAt) {
11
- return assoc(["data", "publishedAt"], null, params);
12
- }
13
- return params;
13
+ /**
14
+ * Adds a default status of `draft` to the params
15
+ */ const defaultToDraft = (params)=>{
16
+ // Default to draft if no status is provided or it's invalid
17
+ if (!params.status || params.status !== 'published') {
18
+ return assoc('status', 'draft', params);
19
+ }
20
+ return params;
14
21
  };
15
- const statusToLookup = (params) => {
16
- const lookup = params.lookup || {};
17
- switch (params?.status) {
18
- case "published":
19
- return assoc(["lookup", "publishedAt"], { $notNull: true }, params);
20
- case "draft":
21
- return assoc(["lookup", "publishedAt"], { $null: true }, params);
22
- }
23
- return assoc("lookup", lookup, params);
22
+ /**
23
+ * DP disabled -> ignore status
24
+ * DP enabled -> set status to draft if no status is provided or it's invalid
25
+ */ const defaultStatus = (contentType, params)=>{
26
+ if (!contentTypes.hasDraftAndPublish(contentType)) {
27
+ return params;
28
+ }
29
+ // Default to draft if no status is provided or it's invalid
30
+ if (!params.status || params.status !== 'published') {
31
+ return defaultToDraft(params);
32
+ }
33
+ return params;
24
34
  };
25
- const statusToData = (params) => {
26
- switch (params?.status) {
27
- case "published":
28
- return assoc(["data", "publishedAt"], /* @__PURE__ */ new Date(), params);
29
- case "draft":
30
- return assoc(["data", "publishedAt"], null, params);
31
- }
32
- return params;
35
+ /**
36
+ * In mutating actions we don't want user to set the publishedAt attribute.
37
+ */ const filterDataPublishedAt = (params)=>{
38
+ if (params?.data?.publishedAt) {
39
+ return assoc([
40
+ 'data',
41
+ 'publishedAt'
42
+ ], null, params);
43
+ }
44
+ return params;
33
45
  };
34
- export {
35
- defaultToDraft,
36
- filterDataPublishedAt,
37
- setStatusToDraft,
38
- statusToData,
39
- statusToLookup
46
+ /**
47
+ * Add status lookup query to the params
48
+ */ const statusToLookup = (contentType, params)=>{
49
+ if (!contentTypes.hasDraftAndPublish(contentType)) {
50
+ return params;
51
+ }
52
+ const lookup = params.lookup || {};
53
+ switch(params?.status){
54
+ case 'published':
55
+ return assoc([
56
+ 'lookup',
57
+ 'publishedAt'
58
+ ], {
59
+ $notNull: true
60
+ }, params);
61
+ case 'draft':
62
+ return assoc([
63
+ 'lookup',
64
+ 'publishedAt'
65
+ ], {
66
+ $null: true
67
+ }, params);
68
+ }
69
+ return assoc('lookup', lookup, params);
40
70
  };
71
+ /**
72
+ * Translate publication status parameter into the data that will be saved
73
+ */ const statusToData = (contentType, params)=>{
74
+ if (!contentTypes.hasDraftAndPublish(contentType)) {
75
+ return assoc([
76
+ 'data',
77
+ 'publishedAt'
78
+ ], new Date(), params);
79
+ }
80
+ switch(params?.status){
81
+ case 'published':
82
+ return assoc([
83
+ 'data',
84
+ 'publishedAt'
85
+ ], new Date(), params);
86
+ case 'draft':
87
+ return assoc([
88
+ 'data',
89
+ 'publishedAt'
90
+ ], null, params);
91
+ }
92
+ return params;
93
+ };
94
+ const setStatusToDraftCurry = curry(setStatusToDraft);
95
+ const defaultToDraftCurry = curry(defaultToDraft);
96
+ const defaultStatusCurry = curry(defaultStatus);
97
+ const filterDataPublishedAtCurry = curry(filterDataPublishedAt);
98
+ const statusToLookupCurry = curry(statusToLookup);
99
+ const statusToDataCurry = curry(statusToData);
100
+
101
+ export { defaultStatusCurry as defaultStatus, defaultToDraftCurry as defaultToDraft, filterDataPublishedAtCurry as filterDataPublishedAt, setStatusToDraftCurry as setStatusToDraft, statusToDataCurry as statusToData, statusToLookupCurry as statusToLookup };
41
102
  //# sourceMappingURL=draft-and-publish.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"draft-and-publish.mjs","sources":["../../../src/services/document-service/draft-and-publish.ts"],"sourcesContent":["import { Documents } from '@strapi/types';\nimport { assoc } from 'lodash/fp';\n\ntype ParamsTransform = (params: Documents.Params.All) => Documents.Params.All;\n\n/**\n * Sets status to draft only\n */\nexport const setStatusToDraft: ParamsTransform = assoc('status', 'draft');\n\n/**\n * Adds a default status of `draft` to the params\n */\nexport const defaultToDraft: ParamsTransform = (params) => {\n // Default to draft if no status is provided or it's invalid\n if (!params.status || params.status !== 'published') {\n return setStatusToDraft(params);\n }\n\n return params;\n};\n\n/**\n * In mutating actions we don't want user to set the publishedAt attribute.\n */\nexport const filterDataPublishedAt: ParamsTransform = (params) => {\n if (params?.data?.publishedAt) {\n return assoc(['data', 'publishedAt'], null, params);\n }\n\n return params;\n};\n\n/**\n * Add status lookup query to the params\n */\nexport const statusToLookup: ParamsTransform = (params) => {\n const lookup = params.lookup || {};\n\n switch (params?.status) {\n case 'published':\n return assoc(['lookup', 'publishedAt'], { $notNull: true }, params);\n case 'draft':\n return assoc(['lookup', 'publishedAt'], { $null: true }, params);\n default:\n break;\n }\n\n return assoc('lookup', lookup, params);\n};\n\n/**\n * Translate publication status parameter into the data that will be saved\n */\nexport const statusToData: ParamsTransform = (params) => {\n switch (params?.status) {\n case 'published':\n return assoc(['data', 'publishedAt'], new Date(), params);\n case 'draft':\n return assoc(['data', 'publishedAt'], null, params);\n default:\n break;\n }\n\n return params;\n};\n"],"names":[],"mappings":";AAQa,MAAA,mBAAoC,MAAM,UAAU,OAAO;AAK3D,MAAA,iBAAkC,CAAC,WAAW;AAEzD,MAAI,CAAC,OAAO,UAAU,OAAO,WAAW,aAAa;AACnD,WAAO,iBAAiB,MAAM;AAAA,EAChC;AAEO,SAAA;AACT;AAKa,MAAA,wBAAyC,CAAC,WAAW;AAC5D,MAAA,QAAQ,MAAM,aAAa;AAC7B,WAAO,MAAM,CAAC,QAAQ,aAAa,GAAG,MAAM,MAAM;AAAA,EACpD;AAEO,SAAA;AACT;AAKa,MAAA,iBAAkC,CAAC,WAAW;AACnD,QAAA,SAAS,OAAO,UAAU;AAEhC,UAAQ,QAAQ,QAAQ;AAAA,IACtB,KAAK;AACI,aAAA,MAAM,CAAC,UAAU,aAAa,GAAG,EAAE,UAAU,QAAQ,MAAM;AAAA,IACpE,KAAK;AACI,aAAA,MAAM,CAAC,UAAU,aAAa,GAAG,EAAE,OAAO,QAAQ,MAAM;AAAA,EAGnE;AAEO,SAAA,MAAM,UAAU,QAAQ,MAAM;AACvC;AAKa,MAAA,eAAgC,CAAC,WAAW;AACvD,UAAQ,QAAQ,QAAQ;AAAA,IACtB,KAAK;AACI,aAAA,MAAM,CAAC,QAAQ,aAAa,GAAO,oBAAA,KAAA,GAAQ,MAAM;AAAA,IAC1D,KAAK;AACH,aAAO,MAAM,CAAC,QAAQ,aAAa,GAAG,MAAM,MAAM;AAAA,EAGtD;AAEO,SAAA;AACT;"}
1
+ {"version":3,"file":"draft-and-publish.mjs","sources":["../../../src/services/document-service/draft-and-publish.ts"],"sourcesContent":["import { assoc, curry } from 'lodash/fp';\n\nimport type { Modules, Struct } from '@strapi/types';\nimport { contentTypes } from '@strapi/utils';\n\ntype ParamsTransform = (params: Modules.Documents.Params.All) => Modules.Documents.Params.All;\n\ntype TransformWithContentType = (\n contentType: Struct.SingleTypeSchema | Struct.CollectionTypeSchema,\n params: Modules.Documents.Params.All\n) => Modules.Documents.Params.All;\n\n/**\n * DP enabled -> set status to draft\n * DP disabled -> Used mostly for parsing relations, so there is not a need for a default.\n */\nconst setStatusToDraft: TransformWithContentType = (contentType, params) => {\n if (!contentTypes.hasDraftAndPublish(contentType) && params.status) {\n return params;\n }\n\n return assoc('status', 'draft', params);\n};\n\n/**\n * Adds a default status of `draft` to the params\n */\nconst defaultToDraft: ParamsTransform = (params) => {\n // Default to draft if no status is provided or it's invalid\n if (!params.status || params.status !== 'published') {\n return assoc('status', 'draft', params);\n }\n\n return params;\n};\n\n/**\n * DP disabled -> ignore status\n * DP enabled -> set status to draft if no status is provided or it's invalid\n */\nconst defaultStatus: TransformWithContentType = (contentType, params) => {\n if (!contentTypes.hasDraftAndPublish(contentType)) {\n return params;\n }\n\n // Default to draft if no status is provided or it's invalid\n if (!params.status || params.status !== 'published') {\n return defaultToDraft(params);\n }\n\n return params;\n};\n\n/**\n * In mutating actions we don't want user to set the publishedAt attribute.\n */\nconst filterDataPublishedAt: ParamsTransform = (params) => {\n if (params?.data?.publishedAt) {\n return assoc(['data', 'publishedAt'], null, params);\n }\n\n return params;\n};\n\n/**\n * Add status lookup query to the params\n */\nconst statusToLookup: TransformWithContentType = (contentType, params) => {\n if (!contentTypes.hasDraftAndPublish(contentType)) {\n return params;\n }\n\n const lookup = params.lookup || {};\n\n switch (params?.status) {\n case 'published':\n return assoc(['lookup', 'publishedAt'], { $notNull: true }, params);\n case 'draft':\n return assoc(['lookup', 'publishedAt'], { $null: true }, params);\n default:\n break;\n }\n\n return assoc('lookup', lookup, params);\n};\n\n/**\n * Translate publication status parameter into the data that will be saved\n */\nconst statusToData: TransformWithContentType = (contentType, params) => {\n if (!contentTypes.hasDraftAndPublish(contentType)) {\n return assoc(['data', 'publishedAt'], new Date(), params);\n }\n\n switch (params?.status) {\n case 'published':\n return assoc(['data', 'publishedAt'], new Date(), params);\n case 'draft':\n return assoc(['data', 'publishedAt'], null, params);\n default:\n break;\n }\n\n return params;\n};\n\nconst setStatusToDraftCurry = curry(setStatusToDraft);\nconst defaultToDraftCurry = curry(defaultToDraft);\nconst defaultStatusCurry = curry(defaultStatus);\nconst filterDataPublishedAtCurry = curry(filterDataPublishedAt);\nconst statusToLookupCurry = curry(statusToLookup);\nconst statusToDataCurry = curry(statusToData);\n\nexport {\n setStatusToDraftCurry as setStatusToDraft,\n defaultToDraftCurry as defaultToDraft,\n defaultStatusCurry as defaultStatus,\n filterDataPublishedAtCurry as filterDataPublishedAt,\n statusToLookupCurry as statusToLookup,\n statusToDataCurry as statusToData,\n};\n"],"names":["setStatusToDraft","contentType","params","contentTypes","hasDraftAndPublish","status","assoc","defaultToDraft","defaultStatus","filterDataPublishedAt","data","publishedAt","statusToLookup","lookup","$notNull","$null","statusToData","Date","setStatusToDraftCurry","curry","defaultToDraftCurry","defaultStatusCurry","filterDataPublishedAtCurry","statusToLookupCurry","statusToDataCurry"],"mappings":";;;AAYA;;;IAIA,MAAMA,gBAA6C,GAAA,CAACC,WAAaC,EAAAA,MAAAA,GAAAA;AAC/D,IAAA,IAAI,CAACC,YAAaC,CAAAA,kBAAkB,CAACH,WAAgBC,CAAAA,IAAAA,MAAAA,CAAOG,MAAM,EAAE;QAClE,OAAOH,MAAAA;AACT;IAEA,OAAOI,KAAAA,CAAM,UAAU,OAASJ,EAAAA,MAAAA,CAAAA;AAClC,CAAA;AAEA;;IAGA,MAAMK,iBAAkC,CAACL,MAAAA,GAAAA;;AAEvC,IAAA,IAAI,CAACA,MAAOG,CAAAA,MAAM,IAAIH,MAAOG,CAAAA,MAAM,KAAK,WAAa,EAAA;QACnD,OAAOC,KAAAA,CAAM,UAAU,OAASJ,EAAAA,MAAAA,CAAAA;AAClC;IAEA,OAAOA,MAAAA;AACT,CAAA;AAEA;;;IAIA,MAAMM,aAA0C,GAAA,CAACP,WAAaC,EAAAA,MAAAA,GAAAA;AAC5D,IAAA,IAAI,CAACC,YAAAA,CAAaC,kBAAkB,CAACH,WAAc,CAAA,EAAA;QACjD,OAAOC,MAAAA;AACT;;AAGA,IAAA,IAAI,CAACA,MAAOG,CAAAA,MAAM,IAAIH,MAAOG,CAAAA,MAAM,KAAK,WAAa,EAAA;AACnD,QAAA,OAAOE,cAAeL,CAAAA,MAAAA,CAAAA;AACxB;IAEA,OAAOA,MAAAA;AACT,CAAA;AAEA;;IAGA,MAAMO,wBAAyC,CAACP,MAAAA,GAAAA;IAC9C,IAAIA,MAAAA,EAAQQ,MAAMC,WAAa,EAAA;AAC7B,QAAA,OAAOL,KAAM,CAAA;AAAC,YAAA,MAAA;AAAQ,YAAA;AAAc,SAAA,EAAE,IAAMJ,EAAAA,MAAAA,CAAAA;AAC9C;IAEA,OAAOA,MAAAA;AACT,CAAA;AAEA;;IAGA,MAAMU,cAA2C,GAAA,CAACX,WAAaC,EAAAA,MAAAA,GAAAA;AAC7D,IAAA,IAAI,CAACC,YAAAA,CAAaC,kBAAkB,CAACH,WAAc,CAAA,EAAA;QACjD,OAAOC,MAAAA;AACT;AAEA,IAAA,MAAMW,MAASX,GAAAA,MAAAA,CAAOW,MAAM,IAAI,EAAC;AAEjC,IAAA,OAAQX,MAAQG,EAAAA,MAAAA;QACd,KAAK,WAAA;AACH,YAAA,OAAOC,KAAM,CAAA;AAAC,gBAAA,QAAA;AAAU,gBAAA;aAAc,EAAE;gBAAEQ,QAAU,EAAA;aAAQZ,EAAAA,MAAAA,CAAAA;QAC9D,KAAK,OAAA;AACH,YAAA,OAAOI,KAAM,CAAA;AAAC,gBAAA,QAAA;AAAU,gBAAA;aAAc,EAAE;gBAAES,KAAO,EAAA;aAAQb,EAAAA,MAAAA,CAAAA;AAG7D;IAEA,OAAOI,KAAAA,CAAM,UAAUO,MAAQX,EAAAA,MAAAA,CAAAA;AACjC,CAAA;AAEA;;IAGA,MAAMc,YAAyC,GAAA,CAACf,WAAaC,EAAAA,MAAAA,GAAAA;AAC3D,IAAA,IAAI,CAACC,YAAAA,CAAaC,kBAAkB,CAACH,WAAc,CAAA,EAAA;AACjD,QAAA,OAAOK,KAAM,CAAA;AAAC,YAAA,MAAA;AAAQ,YAAA;AAAc,SAAA,EAAE,IAAIW,IAAQf,EAAAA,EAAAA,MAAAA,CAAAA;AACpD;AAEA,IAAA,OAAQA,MAAQG,EAAAA,MAAAA;QACd,KAAK,WAAA;AACH,YAAA,OAAOC,KAAM,CAAA;AAAC,gBAAA,MAAA;AAAQ,gBAAA;AAAc,aAAA,EAAE,IAAIW,IAAQf,EAAAA,EAAAA,MAAAA,CAAAA;QACpD,KAAK,OAAA;AACH,YAAA,OAAOI,KAAM,CAAA;AAAC,gBAAA,MAAA;AAAQ,gBAAA;AAAc,aAAA,EAAE,IAAMJ,EAAAA,MAAAA,CAAAA;AAGhD;IAEA,OAAOA,MAAAA;AACT,CAAA;AAEA,MAAMgB,wBAAwBC,KAAMnB,CAAAA,gBAAAA;AACpC,MAAMoB,sBAAsBD,KAAMZ,CAAAA,cAAAA;AAClC,MAAMc,qBAAqBF,KAAMX,CAAAA,aAAAA;AACjC,MAAMc,6BAA6BH,KAAMV,CAAAA,qBAAAA;AACzC,MAAMc,sBAAsBJ,KAAMP,CAAAA,cAAAA;AAClC,MAAMY,oBAAoBL,KAAMH,CAAAA,YAAAA;;;;"}
@@ -0,0 +1,10 @@
1
+ import type { UID, Modules } from '@strapi/types';
2
+ declare const createEntriesService: (uid: UID.ContentType, entityValidator: Modules.EntityValidator.EntityValidator) => {
3
+ create: (params?: any) => Promise<any>;
4
+ delete: (id: number) => Promise<any>;
5
+ update: (entryToUpdate: any, params?: any) => Promise<any>;
6
+ publish: (entry: any, params?: any) => Promise<object>;
7
+ discardDraft: (entry: any, params?: any) => Promise<object>;
8
+ };
9
+ export { createEntriesService };
10
+ //# sourceMappingURL=entries.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entries.d.ts","sourceRoot":"","sources":["../../../src/services/document-service/entries.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAYlD,QAAA,MAAM,oBAAoB,QACnB,IAAI,WAAW,mBACH,QAAQ,eAAe,CAAC,eAAe;;iBAmCzB,MAAM;4BAUK,GAAG;qBA4BV,GAAG;0BAaE,GAAG;CAoB5C,CAAC;AAEF,OAAO,EAAE,oBAAoB,EAAE,CAAC"}
@@ -0,0 +1,113 @@
1
+ 'use strict';
2
+
3
+ var strapiUtils = require('@strapi/utils');
4
+ var fp = require('lodash/fp');
5
+ var components = require('./components.js');
6
+ var idTransform = require('./transform/id-transform.js');
7
+ var query = require('./transform/query.js');
8
+ var params = require('./params.js');
9
+ var index = require('./attributes/index.js');
10
+ var data = require('./transform/data.js');
11
+
12
+ const createEntriesService = (uid, entityValidator)=>{
13
+ const contentType = strapi.contentType(uid);
14
+ async function createEntry(params$1 = {}) {
15
+ const { data, ...restParams } = await idTransform.transformParamsDocumentId(uid, params$1);
16
+ const query$1 = query.transformParamsToQuery(uid, params.pickSelectionParams(restParams)); // select / populate
17
+ // Validation
18
+ if (!data) {
19
+ throw new Error('Create requires data attribute');
20
+ }
21
+ const validData = await entityValidator.validateEntityCreation(contentType, data, {
22
+ // Note: publishedAt value will always be set when DP is disabled
23
+ isDraft: !params$1?.data?.publishedAt,
24
+ locale: params$1?.locale
25
+ });
26
+ // Component handling
27
+ const componentData = await components.createComponents(uid, validData);
28
+ const dataWithComponents = components.assignComponentData(contentType, componentData, validData);
29
+ const entryData = index.applyTransforms(contentType, dataWithComponents);
30
+ const doc = await strapi.db.query(uid).create({
31
+ ...query$1,
32
+ data: entryData
33
+ });
34
+ return doc;
35
+ }
36
+ async function deleteEntry(id) {
37
+ const componentsToDelete = await components.getComponents(uid, {
38
+ id
39
+ });
40
+ const deletedEntry = await strapi.db.query(uid).delete({
41
+ where: {
42
+ id
43
+ }
44
+ });
45
+ await components.deleteComponents(uid, componentsToDelete, {
46
+ loadComponents: false
47
+ });
48
+ return deletedEntry;
49
+ }
50
+ async function updateEntry(entryToUpdate, params$1 = {}) {
51
+ const { data, ...restParams } = await idTransform.transformParamsDocumentId(uid, params$1);
52
+ const query$1 = query.transformParamsToQuery(uid, params.pickSelectionParams(restParams)); // select / populate
53
+ const validData = await entityValidator.validateEntityUpdate(contentType, data, {
54
+ isDraft: !params$1?.data?.publishedAt,
55
+ locale: params$1?.locale
56
+ }, entryToUpdate);
57
+ // Component handling
58
+ const componentData = await components.updateComponents(uid, entryToUpdate, validData);
59
+ const dataWithComponents = components.assignComponentData(contentType, componentData, validData);
60
+ const entryData = index.applyTransforms(contentType, dataWithComponents);
61
+ return strapi.db.query(uid).update({
62
+ ...query$1,
63
+ where: {
64
+ id: entryToUpdate.id
65
+ },
66
+ data: entryData
67
+ });
68
+ }
69
+ async function publishEntry(entry, params = {}) {
70
+ return strapiUtils.async.pipe(fp.omit('id'), fp.assoc('publishedAt', new Date()), (draft)=>{
71
+ const opts = {
72
+ uid,
73
+ locale: draft.locale,
74
+ status: 'published',
75
+ allowMissingId: true
76
+ };
77
+ return data.transformData(draft, opts);
78
+ }, // Create the published entry
79
+ (draft)=>createEntry({
80
+ ...params,
81
+ data: draft,
82
+ locale: draft.locale,
83
+ status: 'published'
84
+ }))(entry);
85
+ }
86
+ async function discardDraftEntry(entry, params = {}) {
87
+ return strapiUtils.async.pipe(fp.omit('id'), fp.assoc('publishedAt', null), (entry)=>{
88
+ const opts = {
89
+ uid,
90
+ locale: entry.locale,
91
+ status: 'draft',
92
+ allowMissingId: true
93
+ };
94
+ return data.transformData(entry, opts);
95
+ }, // Create the draft entry
96
+ (data)=>createEntry({
97
+ ...params,
98
+ locale: data.locale,
99
+ data,
100
+ status: 'draft'
101
+ }))(entry);
102
+ }
103
+ return {
104
+ create: createEntry,
105
+ delete: deleteEntry,
106
+ update: updateEntry,
107
+ publish: publishEntry,
108
+ discardDraft: discardDraftEntry
109
+ };
110
+ };
111
+
112
+ exports.createEntriesService = createEntriesService;
113
+ //# sourceMappingURL=entries.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entries.js","sources":["../../../src/services/document-service/entries.ts"],"sourcesContent":["import type { UID, Modules } from '@strapi/types';\nimport { async } from '@strapi/utils';\nimport { assoc, omit } from 'lodash/fp';\n\nimport * as components from './components';\n\nimport { transformParamsDocumentId } from './transform/id-transform';\nimport { transformParamsToQuery } from './transform/query';\nimport { pickSelectionParams } from './params';\nimport { applyTransforms } from './attributes';\nimport { transformData } from './transform/data';\n\nconst createEntriesService = (\n uid: UID.ContentType,\n entityValidator: Modules.EntityValidator.EntityValidator\n) => {\n const contentType = strapi.contentType(uid);\n\n async function createEntry(params = {} as any) {\n const { data, ...restParams } = await transformParamsDocumentId(uid, params);\n\n const query = transformParamsToQuery(uid, pickSelectionParams(restParams) as any); // select / populate\n\n // Validation\n if (!data) {\n throw new Error('Create requires data attribute');\n }\n\n const validData = await entityValidator.validateEntityCreation(contentType, data, {\n // Note: publishedAt value will always be set when DP is disabled\n isDraft: !params?.data?.publishedAt,\n locale: params?.locale,\n });\n\n // Component handling\n const componentData = await components.createComponents(uid, validData);\n const dataWithComponents = components.assignComponentData(\n contentType,\n componentData,\n validData\n );\n\n const entryData = applyTransforms(contentType, dataWithComponents);\n\n const doc = await strapi.db.query(uid).create({ ...query, data: entryData });\n\n return doc;\n }\n\n async function deleteEntry(id: number) {\n const componentsToDelete = await components.getComponents(uid, { id });\n\n const deletedEntry = await strapi.db.query(uid).delete({ where: { id } });\n\n await components.deleteComponents(uid, componentsToDelete as any, { loadComponents: false });\n\n return deletedEntry;\n }\n\n async function updateEntry(entryToUpdate: any, params = {} as any) {\n const { data, ...restParams } = await transformParamsDocumentId(uid, params);\n const query = transformParamsToQuery(uid, pickSelectionParams(restParams) as any); // select / populate\n\n const validData = await entityValidator.validateEntityUpdate(\n contentType,\n data,\n {\n isDraft: !params?.data?.publishedAt, // Always update the draft version\n locale: params?.locale,\n },\n entryToUpdate\n );\n // Component handling\n const componentData = await components.updateComponents(uid, entryToUpdate, validData as any);\n const dataWithComponents = components.assignComponentData(\n contentType,\n componentData,\n validData\n );\n\n const entryData = applyTransforms(contentType, dataWithComponents);\n\n return strapi.db\n .query(uid)\n .update({ ...query, where: { id: entryToUpdate.id }, data: entryData });\n }\n\n async function publishEntry(entry: any, params = {} as any) {\n return async.pipe(\n omit('id'),\n assoc('publishedAt', new Date()),\n (draft) => {\n const opts = { uid, locale: draft.locale, status: 'published', allowMissingId: true };\n return transformData(draft, opts);\n },\n // Create the published entry\n (draft) => createEntry({ ...params, data: draft, locale: draft.locale, status: 'published' })\n )(entry);\n }\n\n async function discardDraftEntry(entry: any, params = {} as any) {\n return async.pipe(\n omit('id'),\n assoc('publishedAt', null),\n (entry) => {\n const opts = { uid, locale: entry.locale, status: 'draft', allowMissingId: true };\n return transformData(entry, opts);\n },\n // Create the draft entry\n (data) => createEntry({ ...params, locale: data.locale, data, status: 'draft' })\n )(entry);\n }\n\n return {\n create: createEntry,\n delete: deleteEntry,\n update: updateEntry,\n publish: publishEntry,\n discardDraft: discardDraftEntry,\n };\n};\n\nexport { createEntriesService };\n"],"names":["createEntriesService","uid","entityValidator","contentType","strapi","createEntry","params","data","restParams","transformParamsDocumentId","query","transformParamsToQuery","pickSelectionParams","Error","validData","validateEntityCreation","isDraft","publishedAt","locale","componentData","components","dataWithComponents","entryData","applyTransforms","doc","db","create","deleteEntry","id","componentsToDelete","deletedEntry","delete","where","loadComponents","updateEntry","entryToUpdate","validateEntityUpdate","update","publishEntry","entry","async","pipe","omit","assoc","Date","draft","opts","status","allowMissingId","transformData","discardDraftEntry","publish","discardDraft"],"mappings":"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"}
@@ -0,0 +1,111 @@
1
+ import { async } from '@strapi/utils';
2
+ import { omit, assoc } from 'lodash/fp';
3
+ import { createComponents, assignComponentData, getComponents, deleteComponents, updateComponents } from './components.mjs';
4
+ import { transformParamsDocumentId as curriedTransformParamsDocumentId } from './transform/id-transform.mjs';
5
+ import { transformParamsToQuery } from './transform/query.mjs';
6
+ import { pickSelectionParams } from './params.mjs';
7
+ import { applyTransforms } from './attributes/index.mjs';
8
+ import { transformData } from './transform/data.mjs';
9
+
10
+ const createEntriesService = (uid, entityValidator)=>{
11
+ const contentType = strapi.contentType(uid);
12
+ async function createEntry(params = {}) {
13
+ const { data, ...restParams } = await curriedTransformParamsDocumentId(uid, params);
14
+ const query = transformParamsToQuery(uid, pickSelectionParams(restParams)); // select / populate
15
+ // Validation
16
+ if (!data) {
17
+ throw new Error('Create requires data attribute');
18
+ }
19
+ const validData = await entityValidator.validateEntityCreation(contentType, data, {
20
+ // Note: publishedAt value will always be set when DP is disabled
21
+ isDraft: !params?.data?.publishedAt,
22
+ locale: params?.locale
23
+ });
24
+ // Component handling
25
+ const componentData = await createComponents(uid, validData);
26
+ const dataWithComponents = assignComponentData(contentType, componentData, validData);
27
+ const entryData = applyTransforms(contentType, dataWithComponents);
28
+ const doc = await strapi.db.query(uid).create({
29
+ ...query,
30
+ data: entryData
31
+ });
32
+ return doc;
33
+ }
34
+ async function deleteEntry(id) {
35
+ const componentsToDelete = await getComponents(uid, {
36
+ id
37
+ });
38
+ const deletedEntry = await strapi.db.query(uid).delete({
39
+ where: {
40
+ id
41
+ }
42
+ });
43
+ await deleteComponents(uid, componentsToDelete, {
44
+ loadComponents: false
45
+ });
46
+ return deletedEntry;
47
+ }
48
+ async function updateEntry(entryToUpdate, params = {}) {
49
+ const { data, ...restParams } = await curriedTransformParamsDocumentId(uid, params);
50
+ const query = transformParamsToQuery(uid, pickSelectionParams(restParams)); // select / populate
51
+ const validData = await entityValidator.validateEntityUpdate(contentType, data, {
52
+ isDraft: !params?.data?.publishedAt,
53
+ locale: params?.locale
54
+ }, entryToUpdate);
55
+ // Component handling
56
+ const componentData = await updateComponents(uid, entryToUpdate, validData);
57
+ const dataWithComponents = assignComponentData(contentType, componentData, validData);
58
+ const entryData = applyTransforms(contentType, dataWithComponents);
59
+ return strapi.db.query(uid).update({
60
+ ...query,
61
+ where: {
62
+ id: entryToUpdate.id
63
+ },
64
+ data: entryData
65
+ });
66
+ }
67
+ async function publishEntry(entry, params = {}) {
68
+ return async.pipe(omit('id'), assoc('publishedAt', new Date()), (draft)=>{
69
+ const opts = {
70
+ uid,
71
+ locale: draft.locale,
72
+ status: 'published',
73
+ allowMissingId: true
74
+ };
75
+ return transformData(draft, opts);
76
+ }, // Create the published entry
77
+ (draft)=>createEntry({
78
+ ...params,
79
+ data: draft,
80
+ locale: draft.locale,
81
+ status: 'published'
82
+ }))(entry);
83
+ }
84
+ async function discardDraftEntry(entry, params = {}) {
85
+ return async.pipe(omit('id'), assoc('publishedAt', null), (entry)=>{
86
+ const opts = {
87
+ uid,
88
+ locale: entry.locale,
89
+ status: 'draft',
90
+ allowMissingId: true
91
+ };
92
+ return transformData(entry, opts);
93
+ }, // Create the draft entry
94
+ (data)=>createEntry({
95
+ ...params,
96
+ locale: data.locale,
97
+ data,
98
+ status: 'draft'
99
+ }))(entry);
100
+ }
101
+ return {
102
+ create: createEntry,
103
+ delete: deleteEntry,
104
+ update: updateEntry,
105
+ publish: publishEntry,
106
+ discardDraft: discardDraftEntry
107
+ };
108
+ };
109
+
110
+ export { createEntriesService };
111
+ //# sourceMappingURL=entries.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entries.mjs","sources":["../../../src/services/document-service/entries.ts"],"sourcesContent":["import type { UID, Modules } from '@strapi/types';\nimport { async } from '@strapi/utils';\nimport { assoc, omit } from 'lodash/fp';\n\nimport * as components from './components';\n\nimport { transformParamsDocumentId } from './transform/id-transform';\nimport { transformParamsToQuery } from './transform/query';\nimport { pickSelectionParams } from './params';\nimport { applyTransforms } from './attributes';\nimport { transformData } from './transform/data';\n\nconst createEntriesService = (\n uid: UID.ContentType,\n entityValidator: Modules.EntityValidator.EntityValidator\n) => {\n const contentType = strapi.contentType(uid);\n\n async function createEntry(params = {} as any) {\n const { data, ...restParams } = await transformParamsDocumentId(uid, params);\n\n const query = transformParamsToQuery(uid, pickSelectionParams(restParams) as any); // select / populate\n\n // Validation\n if (!data) {\n throw new Error('Create requires data attribute');\n }\n\n const validData = await entityValidator.validateEntityCreation(contentType, data, {\n // Note: publishedAt value will always be set when DP is disabled\n isDraft: !params?.data?.publishedAt,\n locale: params?.locale,\n });\n\n // Component handling\n const componentData = await components.createComponents(uid, validData);\n const dataWithComponents = components.assignComponentData(\n contentType,\n componentData,\n validData\n );\n\n const entryData = applyTransforms(contentType, dataWithComponents);\n\n const doc = await strapi.db.query(uid).create({ ...query, data: entryData });\n\n return doc;\n }\n\n async function deleteEntry(id: number) {\n const componentsToDelete = await components.getComponents(uid, { id });\n\n const deletedEntry = await strapi.db.query(uid).delete({ where: { id } });\n\n await components.deleteComponents(uid, componentsToDelete as any, { loadComponents: false });\n\n return deletedEntry;\n }\n\n async function updateEntry(entryToUpdate: any, params = {} as any) {\n const { data, ...restParams } = await transformParamsDocumentId(uid, params);\n const query = transformParamsToQuery(uid, pickSelectionParams(restParams) as any); // select / populate\n\n const validData = await entityValidator.validateEntityUpdate(\n contentType,\n data,\n {\n isDraft: !params?.data?.publishedAt, // Always update the draft version\n locale: params?.locale,\n },\n entryToUpdate\n );\n // Component handling\n const componentData = await components.updateComponents(uid, entryToUpdate, validData as any);\n const dataWithComponents = components.assignComponentData(\n contentType,\n componentData,\n validData\n );\n\n const entryData = applyTransforms(contentType, dataWithComponents);\n\n return strapi.db\n .query(uid)\n .update({ ...query, where: { id: entryToUpdate.id }, data: entryData });\n }\n\n async function publishEntry(entry: any, params = {} as any) {\n return async.pipe(\n omit('id'),\n assoc('publishedAt', new Date()),\n (draft) => {\n const opts = { uid, locale: draft.locale, status: 'published', allowMissingId: true };\n return transformData(draft, opts);\n },\n // Create the published entry\n (draft) => createEntry({ ...params, data: draft, locale: draft.locale, status: 'published' })\n )(entry);\n }\n\n async function discardDraftEntry(entry: any, params = {} as any) {\n return async.pipe(\n omit('id'),\n assoc('publishedAt', null),\n (entry) => {\n const opts = { uid, locale: entry.locale, status: 'draft', allowMissingId: true };\n return transformData(entry, opts);\n },\n // Create the draft entry\n (data) => createEntry({ ...params, locale: data.locale, data, status: 'draft' })\n )(entry);\n }\n\n return {\n create: createEntry,\n delete: deleteEntry,\n update: updateEntry,\n publish: publishEntry,\n discardDraft: discardDraftEntry,\n };\n};\n\nexport { createEntriesService };\n"],"names":["createEntriesService","uid","entityValidator","contentType","strapi","createEntry","params","data","restParams","transformParamsDocumentId","query","transformParamsToQuery","pickSelectionParams","Error","validData","validateEntityCreation","isDraft","publishedAt","locale","componentData","components","dataWithComponents","entryData","applyTransforms","doc","db","create","deleteEntry","id","componentsToDelete","deletedEntry","delete","where","loadComponents","updateEntry","entryToUpdate","validateEntityUpdate","update","publishEntry","entry","async","pipe","omit","assoc","Date","draft","opts","status","allowMissingId","transformData","discardDraftEntry","publish","discardDraft"],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import type { UID, Utils, Modules, Core } from '@strapi/types';
2
+ declare const EVENTS: {
3
+ ENTRY_CREATE: string;
4
+ ENTRY_UPDATE: string;
5
+ ENTRY_DELETE: string;
6
+ ENTRY_PUBLISH: string;
7
+ ENTRY_UNPUBLISH: string;
8
+ ENTRY_DRAFT_DISCARD: string;
9
+ };
10
+ type EventName = Utils.Object.Values<typeof EVENTS>;
11
+ /**
12
+ * Manager to trigger entry related events
13
+ *
14
+ * It will populate the entry if it is not a delete event.
15
+ * So the event payload will contain the full entry.
16
+ */
17
+ declare const createEventManager: (strapi: Core.Strapi, uid: UID.Schema) => {
18
+ /**
19
+ * strapi.db.query might reuse the transaction used in the doc service request,
20
+ * so this is executed after that transaction is committed.
21
+ */
22
+ emitEvent(eventName: EventName, entry: Modules.Documents.AnyDocument): void;
23
+ };
24
+ export { createEventManager };
25
+ //# sourceMappingURL=events.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../src/services/document-service/events.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAK/D,QAAA,MAAM,MAAM;;;;;;;CAOX,CAAC;AAEF,KAAK,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,MAAM,CAAC,CAAC;AAEpD;;;;;GAKG;AACH,QAAA,MAAM,kBAAkB,WAAY,KAAK,MAAM,OAAO,IAAI,MAAM;IA2B5D;;;OAGG;yBACkB,SAAS,SAAS,QAAQ,SAAS,CAAC,WAAW;CAMvE,CAAC;AAEF,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
@@ -0,0 +1,59 @@
1
+ 'use strict';
2
+
3
+ var strapiUtils = require('@strapi/utils');
4
+ var populate = require('./utils/populate.js');
5
+
6
+ const EVENTS = {
7
+ ENTRY_CREATE: 'entry.create',
8
+ ENTRY_UPDATE: 'entry.update',
9
+ ENTRY_DELETE: 'entry.delete',
10
+ ENTRY_PUBLISH: 'entry.publish',
11
+ ENTRY_UNPUBLISH: 'entry.unpublish',
12
+ ENTRY_DRAFT_DISCARD: 'entry.draft-discard'
13
+ };
14
+ /**
15
+ * Manager to trigger entry related events
16
+ *
17
+ * It will populate the entry if it is not a delete event.
18
+ * So the event payload will contain the full entry.
19
+ */ const createEventManager = (strapi, uid)=>{
20
+ const populate$1 = populate.getDeepPopulate(uid, {});
21
+ const model = strapi.getModel(uid);
22
+ const emitEvent = async (eventName, entry)=>{
23
+ // There is no need to populate the entry if it has been deleted
24
+ let populatedEntry = entry;
25
+ if (![
26
+ EVENTS.ENTRY_DELETE,
27
+ EVENTS.ENTRY_UNPUBLISH
28
+ ].includes(eventName)) {
29
+ populatedEntry = await strapi.db.query(uid).findOne({
30
+ where: {
31
+ id: entry.id
32
+ },
33
+ populate: populate$1
34
+ });
35
+ }
36
+ const sanitizedEntry = await strapiUtils.sanitize.sanitizers.defaultSanitizeOutput({
37
+ schema: model,
38
+ getModel: (uid)=>strapi.getModel(uid)
39
+ }, populatedEntry);
40
+ await strapi.eventHub.emit(eventName, {
41
+ model: model.modelName,
42
+ uid: model.uid,
43
+ entry: sanitizedEntry
44
+ });
45
+ };
46
+ return {
47
+ /**
48
+ * strapi.db.query might reuse the transaction used in the doc service request,
49
+ * so this is executed after that transaction is committed.
50
+ */ emitEvent (eventName, entry) {
51
+ strapi.db.transaction(({ onCommit })=>{
52
+ onCommit(()=>emitEvent(eventName, entry));
53
+ });
54
+ }
55
+ };
56
+ };
57
+
58
+ exports.createEventManager = createEventManager;
59
+ //# sourceMappingURL=events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.js","sources":["../../../src/services/document-service/events.ts"],"sourcesContent":["import type { UID, Utils, Modules, Core } from '@strapi/types';\nimport { sanitize } from '@strapi/utils';\n\nimport { getDeepPopulate } from './utils/populate';\n\nconst EVENTS = {\n ENTRY_CREATE: 'entry.create',\n ENTRY_UPDATE: 'entry.update',\n ENTRY_DELETE: 'entry.delete',\n ENTRY_PUBLISH: 'entry.publish',\n ENTRY_UNPUBLISH: 'entry.unpublish',\n ENTRY_DRAFT_DISCARD: 'entry.draft-discard',\n};\n\ntype EventName = Utils.Object.Values<typeof EVENTS>;\n\n/**\n * Manager to trigger entry related events\n *\n * It will populate the entry if it is not a delete event.\n * So the event payload will contain the full entry.\n */\nconst createEventManager = (strapi: Core.Strapi, uid: UID.Schema) => {\n const populate = getDeepPopulate(uid, {});\n const model = strapi.getModel(uid);\n\n const emitEvent = async (eventName: EventName, entry: Modules.Documents.AnyDocument) => {\n // There is no need to populate the entry if it has been deleted\n let populatedEntry = entry;\n if (![EVENTS.ENTRY_DELETE, EVENTS.ENTRY_UNPUBLISH].includes(eventName)) {\n populatedEntry = await strapi.db.query(uid).findOne({ where: { id: entry.id }, populate });\n }\n\n const sanitizedEntry = await sanitize.sanitizers.defaultSanitizeOutput(\n {\n schema: model,\n getModel: (uid) => strapi.getModel(uid as UID.Schema),\n },\n populatedEntry\n );\n\n await strapi.eventHub.emit(eventName, {\n model: model.modelName,\n uid: model.uid,\n entry: sanitizedEntry,\n });\n };\n\n return {\n /**\n * strapi.db.query might reuse the transaction used in the doc service request,\n * so this is executed after that transaction is committed.\n */\n emitEvent(eventName: EventName, entry: Modules.Documents.AnyDocument) {\n strapi.db.transaction(({ onCommit }) => {\n onCommit(() => emitEvent(eventName, entry));\n });\n },\n };\n};\n\nexport { createEventManager };\n"],"names":["EVENTS","ENTRY_CREATE","ENTRY_UPDATE","ENTRY_DELETE","ENTRY_PUBLISH","ENTRY_UNPUBLISH","ENTRY_DRAFT_DISCARD","createEventManager","strapi","uid","populate","getDeepPopulate","model","getModel","emitEvent","eventName","entry","populatedEntry","includes","db","query","findOne","where","id","sanitizedEntry","sanitize","sanitizers","defaultSanitizeOutput","schema","eventHub","emit","modelName","transaction","onCommit"],"mappings":";;;;;AAKA,MAAMA,MAAS,GAAA;IACbC,YAAc,EAAA,cAAA;IACdC,YAAc,EAAA,cAAA;IACdC,YAAc,EAAA,cAAA;IACdC,aAAe,EAAA,eAAA;IACfC,eAAiB,EAAA,iBAAA;IACjBC,mBAAqB,EAAA;AACvB,CAAA;AAIA;;;;;IAMA,MAAMC,kBAAqB,GAAA,CAACC,MAAqBC,EAAAA,GAAAA,GAAAA;IAC/C,MAAMC,UAAAA,GAAWC,wBAAgBF,CAAAA,GAAAA,EAAK,EAAC,CAAA;IACvC,MAAMG,KAAAA,GAAQJ,MAAOK,CAAAA,QAAQ,CAACJ,GAAAA,CAAAA;IAE9B,MAAMK,SAAAA,GAAY,OAAOC,SAAsBC,EAAAA,KAAAA,GAAAA;;AAE7C,QAAA,IAAIC,cAAiBD,GAAAA,KAAAA;AACrB,QAAA,IAAI,CAAC;AAAChB,YAAAA,MAAAA,CAAOG,YAAY;AAAEH,YAAAA,MAAAA,CAAOK;SAAgB,CAACa,QAAQ,CAACH,SAAY,CAAA,EAAA;YACtEE,cAAiB,GAAA,MAAMT,OAAOW,EAAE,CAACC,KAAK,CAACX,GAAAA,CAAAA,CAAKY,OAAO,CAAC;gBAAEC,KAAO,EAAA;AAAEC,oBAAAA,EAAAA,EAAIP,MAAMO;AAAG,iBAAA;AAAGb,0BAAAA;AAAS,aAAA,CAAA;AAC1F;AAEA,QAAA,MAAMc,iBAAiB,MAAMC,oBAAAA,CAASC,UAAU,CAACC,qBAAqB,CACpE;YACEC,MAAQhB,EAAAA,KAAAA;AACRC,YAAAA,QAAAA,EAAU,CAACJ,GAAAA,GAAQD,MAAOK,CAAAA,QAAQ,CAACJ,GAAAA;SAErCQ,EAAAA,cAAAA,CAAAA;AAGF,QAAA,MAAMT,MAAOqB,CAAAA,QAAQ,CAACC,IAAI,CAACf,SAAW,EAAA;AACpCH,YAAAA,KAAAA,EAAOA,MAAMmB,SAAS;AACtBtB,YAAAA,GAAAA,EAAKG,MAAMH,GAAG;YACdO,KAAOQ,EAAAA;AACT,SAAA,CAAA;AACF,KAAA;IAEA,OAAO;AACL;;;QAIAV,SAAAA,CAAAA,CAAUC,SAAoB,EAAEC,KAAoC,EAAA;AAClER,YAAAA,MAAAA,CAAOW,EAAE,CAACa,WAAW,CAAC,CAAC,EAAEC,QAAQ,EAAE,GAAA;gBACjCA,QAAS,CAAA,IAAMnB,UAAUC,SAAWC,EAAAA,KAAAA,CAAAA,CAAAA;AACtC,aAAA,CAAA;AACF;AACF,KAAA;AACF;;;;"}
@@ -0,0 +1,57 @@
1
+ import { sanitize } from '@strapi/utils';
2
+ import { getDeepPopulate } from './utils/populate.mjs';
3
+
4
+ const EVENTS = {
5
+ ENTRY_CREATE: 'entry.create',
6
+ ENTRY_UPDATE: 'entry.update',
7
+ ENTRY_DELETE: 'entry.delete',
8
+ ENTRY_PUBLISH: 'entry.publish',
9
+ ENTRY_UNPUBLISH: 'entry.unpublish',
10
+ ENTRY_DRAFT_DISCARD: 'entry.draft-discard'
11
+ };
12
+ /**
13
+ * Manager to trigger entry related events
14
+ *
15
+ * It will populate the entry if it is not a delete event.
16
+ * So the event payload will contain the full entry.
17
+ */ const createEventManager = (strapi, uid)=>{
18
+ const populate = getDeepPopulate(uid, {});
19
+ const model = strapi.getModel(uid);
20
+ const emitEvent = async (eventName, entry)=>{
21
+ // There is no need to populate the entry if it has been deleted
22
+ let populatedEntry = entry;
23
+ if (![
24
+ EVENTS.ENTRY_DELETE,
25
+ EVENTS.ENTRY_UNPUBLISH
26
+ ].includes(eventName)) {
27
+ populatedEntry = await strapi.db.query(uid).findOne({
28
+ where: {
29
+ id: entry.id
30
+ },
31
+ populate
32
+ });
33
+ }
34
+ const sanitizedEntry = await sanitize.sanitizers.defaultSanitizeOutput({
35
+ schema: model,
36
+ getModel: (uid)=>strapi.getModel(uid)
37
+ }, populatedEntry);
38
+ await strapi.eventHub.emit(eventName, {
39
+ model: model.modelName,
40
+ uid: model.uid,
41
+ entry: sanitizedEntry
42
+ });
43
+ };
44
+ return {
45
+ /**
46
+ * strapi.db.query might reuse the transaction used in the doc service request,
47
+ * so this is executed after that transaction is committed.
48
+ */ emitEvent (eventName, entry) {
49
+ strapi.db.transaction(({ onCommit })=>{
50
+ onCommit(()=>emitEvent(eventName, entry));
51
+ });
52
+ }
53
+ };
54
+ };
55
+
56
+ export { createEventManager };
57
+ //# sourceMappingURL=events.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.mjs","sources":["../../../src/services/document-service/events.ts"],"sourcesContent":["import type { UID, Utils, Modules, Core } from '@strapi/types';\nimport { sanitize } from '@strapi/utils';\n\nimport { getDeepPopulate } from './utils/populate';\n\nconst EVENTS = {\n ENTRY_CREATE: 'entry.create',\n ENTRY_UPDATE: 'entry.update',\n ENTRY_DELETE: 'entry.delete',\n ENTRY_PUBLISH: 'entry.publish',\n ENTRY_UNPUBLISH: 'entry.unpublish',\n ENTRY_DRAFT_DISCARD: 'entry.draft-discard',\n};\n\ntype EventName = Utils.Object.Values<typeof EVENTS>;\n\n/**\n * Manager to trigger entry related events\n *\n * It will populate the entry if it is not a delete event.\n * So the event payload will contain the full entry.\n */\nconst createEventManager = (strapi: Core.Strapi, uid: UID.Schema) => {\n const populate = getDeepPopulate(uid, {});\n const model = strapi.getModel(uid);\n\n const emitEvent = async (eventName: EventName, entry: Modules.Documents.AnyDocument) => {\n // There is no need to populate the entry if it has been deleted\n let populatedEntry = entry;\n if (![EVENTS.ENTRY_DELETE, EVENTS.ENTRY_UNPUBLISH].includes(eventName)) {\n populatedEntry = await strapi.db.query(uid).findOne({ where: { id: entry.id }, populate });\n }\n\n const sanitizedEntry = await sanitize.sanitizers.defaultSanitizeOutput(\n {\n schema: model,\n getModel: (uid) => strapi.getModel(uid as UID.Schema),\n },\n populatedEntry\n );\n\n await strapi.eventHub.emit(eventName, {\n model: model.modelName,\n uid: model.uid,\n entry: sanitizedEntry,\n });\n };\n\n return {\n /**\n * strapi.db.query might reuse the transaction used in the doc service request,\n * so this is executed after that transaction is committed.\n */\n emitEvent(eventName: EventName, entry: Modules.Documents.AnyDocument) {\n strapi.db.transaction(({ onCommit }) => {\n onCommit(() => emitEvent(eventName, entry));\n });\n },\n };\n};\n\nexport { createEventManager };\n"],"names":["EVENTS","ENTRY_CREATE","ENTRY_UPDATE","ENTRY_DELETE","ENTRY_PUBLISH","ENTRY_UNPUBLISH","ENTRY_DRAFT_DISCARD","createEventManager","strapi","uid","populate","getDeepPopulate","model","getModel","emitEvent","eventName","entry","populatedEntry","includes","db","query","findOne","where","id","sanitizedEntry","sanitize","sanitizers","defaultSanitizeOutput","schema","eventHub","emit","modelName","transaction","onCommit"],"mappings":";;;AAKA,MAAMA,MAAS,GAAA;IACbC,YAAc,EAAA,cAAA;IACdC,YAAc,EAAA,cAAA;IACdC,YAAc,EAAA,cAAA;IACdC,aAAe,EAAA,eAAA;IACfC,eAAiB,EAAA,iBAAA;IACjBC,mBAAqB,EAAA;AACvB,CAAA;AAIA;;;;;IAMA,MAAMC,kBAAqB,GAAA,CAACC,MAAqBC,EAAAA,GAAAA,GAAAA;IAC/C,MAAMC,QAAAA,GAAWC,eAAgBF,CAAAA,GAAAA,EAAK,EAAC,CAAA;IACvC,MAAMG,KAAAA,GAAQJ,MAAOK,CAAAA,QAAQ,CAACJ,GAAAA,CAAAA;IAE9B,MAAMK,SAAAA,GAAY,OAAOC,SAAsBC,EAAAA,KAAAA,GAAAA;;AAE7C,QAAA,IAAIC,cAAiBD,GAAAA,KAAAA;AACrB,QAAA,IAAI,CAAC;AAAChB,YAAAA,MAAAA,CAAOG,YAAY;AAAEH,YAAAA,MAAAA,CAAOK;SAAgB,CAACa,QAAQ,CAACH,SAAY,CAAA,EAAA;YACtEE,cAAiB,GAAA,MAAMT,OAAOW,EAAE,CAACC,KAAK,CAACX,GAAAA,CAAAA,CAAKY,OAAO,CAAC;gBAAEC,KAAO,EAAA;AAAEC,oBAAAA,EAAAA,EAAIP,MAAMO;AAAG,iBAAA;AAAGb,gBAAAA;AAAS,aAAA,CAAA;AAC1F;AAEA,QAAA,MAAMc,iBAAiB,MAAMC,QAAAA,CAASC,UAAU,CAACC,qBAAqB,CACpE;YACEC,MAAQhB,EAAAA,KAAAA;AACRC,YAAAA,QAAAA,EAAU,CAACJ,GAAAA,GAAQD,MAAOK,CAAAA,QAAQ,CAACJ,GAAAA;SAErCQ,EAAAA,cAAAA,CAAAA;AAGF,QAAA,MAAMT,MAAOqB,CAAAA,QAAQ,CAACC,IAAI,CAACf,SAAW,EAAA;AACpCH,YAAAA,KAAAA,EAAOA,MAAMmB,SAAS;AACtBtB,YAAAA,GAAAA,EAAKG,MAAMH,GAAG;YACdO,KAAOQ,EAAAA;AACT,SAAA,CAAA;AACF,KAAA;IAEA,OAAO;AACL;;;QAIAV,SAAAA,CAAAA,CAAUC,SAAoB,EAAEC,KAAoC,EAAA;AAClER,YAAAA,MAAAA,CAAOW,EAAE,CAACa,WAAW,CAAC,CAAC,EAAEC,QAAQ,EAAE,GAAA;gBACjCA,QAAS,CAAA,IAAMnB,UAAUC,SAAWC,EAAAA,KAAAA,CAAAA,CAAAA;AACtC,aAAA,CAAA;AACF;AACF,KAAA;AACF;;;;"}
@@ -1,4 +1,4 @@
1
- import { Strapi, Documents } from '@strapi/types';
1
+ import type { Core, Modules } from '@strapi/types';
2
2
  /**
3
3
  * Repository to :
4
4
  * - Access documents via actions (findMany, findOne, create, update, delete, ...)
@@ -6,8 +6,7 @@ import { Strapi, Documents } from '@strapi/types';
6
6
  * - Apply default parameters to document actions
7
7
  *
8
8
  * @param strapi
9
- * @param options.defaults - Default parameters to apply to all actions
10
- * @param options.parent - Parent repository, used when creating a new repository with .with()
9
+ * @param validator - validator for database entries
11
10
  * @returns DocumentService
12
11
  *
13
12
  * @example Access documents
@@ -15,5 +14,5 @@ import { Strapi, Documents } from '@strapi/types';
15
14
  * const allArticles = strapi.documents('api::article.article').findMany(params)
16
15
  *
17
16
  */
18
- export declare const createDocumentService: (strapi: Strapi) => Documents.Service;
17
+ export declare const createDocumentService: (strapi: Core.Strapi, validator?: Modules.EntityValidator.EntityValidator) => Modules.Documents.Service;
19
18
  //# sourceMappingURL=index.d.ts.map