@strapi/core 0.0.0-experimental.d23c1d5b0e45dd06ef09977f526c85468be05403 → 0.0.0-experimental.d23f1485e5669cca1cee1bf5f8168b6b8109b78f

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 (880) hide show
  1. package/LICENSE +18 -3
  2. package/dist/Strapi.d.ts +4 -1
  3. package/dist/Strapi.d.ts.map +1 -1
  4. package/dist/Strapi.js +456 -369
  5. package/dist/Strapi.js.map +1 -1
  6. package/dist/Strapi.mjs +445 -377
  7. package/dist/Strapi.mjs.map +1 -1
  8. package/dist/compile.js +23 -14
  9. package/dist/compile.js.map +1 -1
  10. package/dist/compile.mjs +22 -14
  11. package/dist/compile.mjs.map +1 -1
  12. package/dist/configuration/config-loader.js +110 -97
  13. package/dist/configuration/config-loader.js.map +1 -1
  14. package/dist/configuration/config-loader.mjs +109 -96
  15. package/dist/configuration/config-loader.mjs.map +1 -1
  16. package/dist/configuration/get-dirs.js +31 -29
  17. package/dist/configuration/get-dirs.js.map +1 -1
  18. package/dist/configuration/get-dirs.mjs +30 -30
  19. package/dist/configuration/get-dirs.mjs.map +1 -1
  20. package/dist/configuration/index.d.ts +1 -0
  21. package/dist/configuration/index.d.ts.map +1 -1
  22. package/dist/configuration/index.js +85 -73
  23. package/dist/configuration/index.js.map +1 -1
  24. package/dist/configuration/index.mjs +84 -69
  25. package/dist/configuration/index.mjs.map +1 -1
  26. package/dist/configuration/urls.d.ts.map +1 -1
  27. package/dist/configuration/urls.js +74 -61
  28. package/dist/configuration/urls.js.map +1 -1
  29. package/dist/configuration/urls.mjs +73 -62
  30. package/dist/configuration/urls.mjs.map +1 -1
  31. package/dist/constants.d.ts +3 -0
  32. package/dist/constants.d.ts.map +1 -0
  33. package/dist/constants.js +6 -0
  34. package/dist/constants.js.map +1 -0
  35. package/dist/constants.mjs +4 -0
  36. package/dist/constants.mjs.map +1 -0
  37. package/dist/container.js +27 -23
  38. package/dist/container.js.map +1 -1
  39. package/dist/container.mjs +26 -24
  40. package/dist/container.mjs.map +1 -1
  41. package/dist/core-api/controller/collection-type.d.ts.map +1 -1
  42. package/dist/core-api/controller/collection-type.js +77 -74
  43. package/dist/core-api/controller/collection-type.js.map +1 -1
  44. package/dist/core-api/controller/collection-type.mjs +76 -75
  45. package/dist/core-api/controller/collection-type.mjs.map +1 -1
  46. package/dist/core-api/controller/index.d.ts.map +1 -1
  47. package/dist/core-api/controller/index.js +64 -48
  48. package/dist/core-api/controller/index.js.map +1 -1
  49. package/dist/core-api/controller/index.mjs +63 -49
  50. package/dist/core-api/controller/index.mjs.map +1 -1
  51. package/dist/core-api/controller/single-type.d.ts.map +1 -1
  52. package/dist/core-api/controller/single-type.js +41 -39
  53. package/dist/core-api/controller/single-type.js.map +1 -1
  54. package/dist/core-api/controller/single-type.mjs +40 -40
  55. package/dist/core-api/controller/single-type.mjs.map +1 -1
  56. package/dist/core-api/controller/transform.d.ts +3 -2
  57. package/dist/core-api/controller/transform.d.ts.map +1 -1
  58. package/dist/core-api/controller/transform.js +83 -64
  59. package/dist/core-api/controller/transform.js.map +1 -1
  60. package/dist/core-api/controller/transform.mjs +82 -65
  61. package/dist/core-api/controller/transform.mjs.map +1 -1
  62. package/dist/core-api/routes/index.d.ts +4 -22
  63. package/dist/core-api/routes/index.d.ts.map +1 -1
  64. package/dist/core-api/routes/index.js +205 -61
  65. package/dist/core-api/routes/index.js.map +1 -1
  66. package/dist/core-api/routes/index.mjs +185 -62
  67. package/dist/core-api/routes/index.mjs.map +1 -1
  68. package/dist/core-api/routes/validation/attributes.d.ts +244 -0
  69. package/dist/core-api/routes/validation/attributes.d.ts.map +1 -0
  70. package/dist/core-api/routes/validation/attributes.js +560 -0
  71. package/dist/core-api/routes/validation/attributes.js.map +1 -0
  72. package/dist/core-api/routes/validation/attributes.mjs +521 -0
  73. package/dist/core-api/routes/validation/attributes.mjs.map +1 -0
  74. package/dist/core-api/routes/validation/common.d.ts +105 -0
  75. package/dist/core-api/routes/validation/common.d.ts.map +1 -0
  76. package/dist/core-api/routes/validation/common.js +116 -0
  77. package/dist/core-api/routes/validation/common.js.map +1 -0
  78. package/dist/core-api/routes/validation/common.mjs +95 -0
  79. package/dist/core-api/routes/validation/common.mjs.map +1 -0
  80. package/dist/core-api/routes/validation/component.d.ts +34 -0
  81. package/dist/core-api/routes/validation/component.d.ts.map +1 -0
  82. package/dist/core-api/routes/validation/component.js +45 -0
  83. package/dist/core-api/routes/validation/component.js.map +1 -0
  84. package/dist/core-api/routes/validation/component.mjs +43 -0
  85. package/dist/core-api/routes/validation/component.mjs.map +1 -0
  86. package/dist/core-api/routes/validation/constants.d.ts +8 -0
  87. package/dist/core-api/routes/validation/constants.d.ts.map +1 -0
  88. package/dist/core-api/routes/validation/constants.js +18 -0
  89. package/dist/core-api/routes/validation/constants.js.map +1 -0
  90. package/dist/core-api/routes/validation/constants.mjs +16 -0
  91. package/dist/core-api/routes/validation/constants.mjs.map +1 -0
  92. package/dist/core-api/routes/validation/content-type.d.ts +128 -0
  93. package/dist/core-api/routes/validation/content-type.d.ts.map +1 -0
  94. package/dist/core-api/routes/validation/content-type.js +201 -0
  95. package/dist/core-api/routes/validation/content-type.js.map +1 -0
  96. package/dist/core-api/routes/validation/content-type.mjs +180 -0
  97. package/dist/core-api/routes/validation/content-type.mjs.map +1 -0
  98. package/dist/core-api/routes/validation/index.d.ts +5 -0
  99. package/dist/core-api/routes/validation/index.d.ts.map +1 -0
  100. package/dist/core-api/routes/validation/mappers.d.ts +105 -0
  101. package/dist/core-api/routes/validation/mappers.d.ts.map +1 -0
  102. package/dist/core-api/routes/validation/mappers.js +273 -0
  103. package/dist/core-api/routes/validation/mappers.js.map +1 -0
  104. package/dist/core-api/routes/validation/mappers.mjs +249 -0
  105. package/dist/core-api/routes/validation/mappers.mjs.map +1 -0
  106. package/dist/core-api/routes/validation/utils.d.ts +47 -0
  107. package/dist/core-api/routes/validation/utils.d.ts.map +1 -0
  108. package/dist/core-api/routes/validation/utils.js +128 -0
  109. package/dist/core-api/routes/validation/utils.js.map +1 -0
  110. package/dist/core-api/routes/validation/utils.mjs +106 -0
  111. package/dist/core-api/routes/validation/utils.mjs.map +1 -0
  112. package/dist/core-api/service/collection-type.d.ts +3 -9
  113. package/dist/core-api/service/collection-type.d.ts.map +1 -1
  114. package/dist/core-api/service/collection-type.js +73 -58
  115. package/dist/core-api/service/collection-type.js.map +1 -1
  116. package/dist/core-api/service/collection-type.mjs +72 -60
  117. package/dist/core-api/service/collection-type.mjs.map +1 -1
  118. package/dist/core-api/service/core-service.js +9 -8
  119. package/dist/core-api/service/core-service.js.map +1 -1
  120. package/dist/core-api/service/core-service.mjs +8 -9
  121. package/dist/core-api/service/core-service.mjs.map +1 -1
  122. package/dist/core-api/service/index.js +13 -13
  123. package/dist/core-api/service/index.js.map +1 -1
  124. package/dist/core-api/service/index.mjs +12 -14
  125. package/dist/core-api/service/index.mjs.map +1 -1
  126. package/dist/core-api/service/pagination.d.ts +4 -11
  127. package/dist/core-api/service/pagination.d.ts.map +1 -1
  128. package/dist/core-api/service/pagination.js +68 -68
  129. package/dist/core-api/service/pagination.js.map +1 -1
  130. package/dist/core-api/service/pagination.mjs +66 -71
  131. package/dist/core-api/service/pagination.mjs.map +1 -1
  132. package/dist/core-api/service/single-type.d.ts.map +1 -1
  133. package/dist/core-api/service/single-type.js +43 -38
  134. package/dist/core-api/service/single-type.js.map +1 -1
  135. package/dist/core-api/service/single-type.mjs +42 -40
  136. package/dist/core-api/service/single-type.mjs.map +1 -1
  137. package/dist/domain/content-type/index.d.ts.map +1 -1
  138. package/dist/domain/content-type/index.js +110 -99
  139. package/dist/domain/content-type/index.js.map +1 -1
  140. package/dist/domain/content-type/index.mjs +109 -99
  141. package/dist/domain/content-type/index.mjs.map +1 -1
  142. package/dist/domain/content-type/validator.js +84 -69
  143. package/dist/domain/content-type/validator.js.map +1 -1
  144. package/dist/domain/content-type/validator.mjs +83 -68
  145. package/dist/domain/content-type/validator.mjs.map +1 -1
  146. package/dist/domain/module/index.d.ts.map +1 -1
  147. package/dist/domain/module/index.js +112 -100
  148. package/dist/domain/module/index.js.map +1 -1
  149. package/dist/domain/module/index.mjs +111 -99
  150. package/dist/domain/module/index.mjs.map +1 -1
  151. package/dist/domain/module/validation.js +25 -20
  152. package/dist/domain/module/validation.js.map +1 -1
  153. package/dist/domain/module/validation.mjs +24 -21
  154. package/dist/domain/module/validation.mjs.map +1 -1
  155. package/dist/ee/index.d.ts +7 -0
  156. package/dist/ee/index.d.ts.map +1 -1
  157. package/dist/ee/index.js +197 -132
  158. package/dist/ee/index.js.map +1 -1
  159. package/dist/ee/index.mjs +196 -134
  160. package/dist/ee/index.mjs.map +1 -1
  161. package/dist/ee/license.d.ts +3 -1
  162. package/dist/ee/license.d.ts.map +1 -1
  163. package/dist/ee/license.js +105 -75
  164. package/dist/ee/license.js.map +1 -1
  165. package/dist/ee/license.mjs +103 -76
  166. package/dist/ee/license.mjs.map +1 -1
  167. package/dist/factories.d.ts +3 -1
  168. package/dist/factories.d.ts.map +1 -1
  169. package/dist/factories.js +80 -67
  170. package/dist/factories.js.map +1 -1
  171. package/dist/factories.mjs +77 -70
  172. package/dist/factories.mjs.map +1 -1
  173. package/dist/index.d.ts +14 -0
  174. package/dist/index.d.ts.map +1 -1
  175. package/dist/index.js +29 -26
  176. package/dist/index.js.map +1 -1
  177. package/dist/index.mjs +29 -29
  178. package/dist/index.mjs.map +1 -1
  179. package/dist/loaders/admin.d.ts.map +1 -1
  180. package/dist/loaders/admin.js +21 -20
  181. package/dist/loaders/admin.js.map +1 -1
  182. package/dist/loaders/admin.mjs +20 -20
  183. package/dist/loaders/admin.mjs.map +1 -1
  184. package/dist/loaders/apis.d.ts.map +1 -1
  185. package/dist/loaders/apis.js +143 -120
  186. package/dist/loaders/apis.js.map +1 -1
  187. package/dist/loaders/apis.mjs +142 -119
  188. package/dist/loaders/apis.mjs.map +1 -1
  189. package/dist/loaders/components.js +33 -34
  190. package/dist/loaders/components.js.map +1 -1
  191. package/dist/loaders/components.mjs +32 -34
  192. package/dist/loaders/components.mjs.map +1 -1
  193. package/dist/loaders/index.js +22 -20
  194. package/dist/loaders/index.js.map +1 -1
  195. package/dist/loaders/index.mjs +21 -21
  196. package/dist/loaders/index.mjs.map +1 -1
  197. package/dist/loaders/middlewares.js +29 -25
  198. package/dist/loaders/middlewares.js.map +1 -1
  199. package/dist/loaders/middlewares.mjs +28 -25
  200. package/dist/loaders/middlewares.mjs.map +1 -1
  201. package/dist/loaders/plugins/get-enabled-plugins.d.ts.map +1 -1
  202. package/dist/loaders/plugins/get-enabled-plugins.js +125 -102
  203. package/dist/loaders/plugins/get-enabled-plugins.js.map +1 -1
  204. package/dist/loaders/plugins/get-enabled-plugins.mjs +124 -101
  205. package/dist/loaders/plugins/get-enabled-plugins.mjs.map +1 -1
  206. package/dist/loaders/plugins/get-user-plugins-config.js +25 -24
  207. package/dist/loaders/plugins/get-user-plugins-config.js.map +1 -1
  208. package/dist/loaders/plugins/get-user-plugins-config.mjs +24 -23
  209. package/dist/loaders/plugins/get-user-plugins-config.mjs.map +1 -1
  210. package/dist/loaders/plugins/index.d.ts.map +1 -1
  211. package/dist/loaders/plugins/index.js +141 -104
  212. package/dist/loaders/plugins/index.js.map +1 -1
  213. package/dist/loaders/plugins/index.mjs +121 -104
  214. package/dist/loaders/plugins/index.mjs.map +1 -1
  215. package/dist/loaders/policies.js +24 -20
  216. package/dist/loaders/policies.js.map +1 -1
  217. package/dist/loaders/policies.mjs +23 -20
  218. package/dist/loaders/policies.mjs.map +1 -1
  219. package/dist/loaders/sanitizers.js +10 -4
  220. package/dist/loaders/sanitizers.js.map +1 -1
  221. package/dist/loaders/sanitizers.mjs +9 -6
  222. package/dist/loaders/sanitizers.mjs.map +1 -1
  223. package/dist/loaders/src-index.js +35 -27
  224. package/dist/loaders/src-index.js.map +1 -1
  225. package/dist/loaders/src-index.mjs +34 -29
  226. package/dist/loaders/src-index.mjs.map +1 -1
  227. package/dist/loaders/validators.js +9 -4
  228. package/dist/loaders/validators.js.map +1 -1
  229. package/dist/loaders/validators.mjs +8 -6
  230. package/dist/loaders/validators.mjs.map +1 -1
  231. package/dist/middlewares/body.d.ts.map +1 -1
  232. package/dist/middlewares/body.js +58 -54
  233. package/dist/middlewares/body.js.map +1 -1
  234. package/dist/middlewares/body.mjs +57 -51
  235. package/dist/middlewares/body.mjs.map +1 -1
  236. package/dist/middlewares/compression.js +6 -6
  237. package/dist/middlewares/compression.js.map +1 -1
  238. package/dist/middlewares/compression.mjs +5 -5
  239. package/dist/middlewares/compression.mjs.map +1 -1
  240. package/dist/middlewares/cors.d.ts +9 -1
  241. package/dist/middlewares/cors.d.ts.map +1 -1
  242. package/dist/middlewares/cors.js +81 -46
  243. package/dist/middlewares/cors.js.map +1 -1
  244. package/dist/middlewares/cors.mjs +78 -44
  245. package/dist/middlewares/cors.mjs.map +1 -1
  246. package/dist/middlewares/errors.js +32 -30
  247. package/dist/middlewares/errors.js.map +1 -1
  248. package/dist/middlewares/errors.mjs +31 -31
  249. package/dist/middlewares/errors.mjs.map +1 -1
  250. package/dist/middlewares/favicon.js +27 -17
  251. package/dist/middlewares/favicon.js.map +1 -1
  252. package/dist/middlewares/favicon.mjs +26 -16
  253. package/dist/middlewares/favicon.mjs.map +1 -1
  254. package/dist/middlewares/index.js +32 -30
  255. package/dist/middlewares/index.js.map +1 -1
  256. package/dist/middlewares/index.mjs +31 -31
  257. package/dist/middlewares/index.mjs.map +1 -1
  258. package/dist/middlewares/ip.js +6 -6
  259. package/dist/middlewares/ip.js.map +1 -1
  260. package/dist/middlewares/ip.mjs +5 -5
  261. package/dist/middlewares/ip.mjs.map +1 -1
  262. package/dist/middlewares/logger.js +10 -9
  263. package/dist/middlewares/logger.js.map +1 -1
  264. package/dist/middlewares/logger.mjs +9 -10
  265. package/dist/middlewares/logger.mjs.map +1 -1
  266. package/dist/middlewares/powered-by.js +13 -9
  267. package/dist/middlewares/powered-by.js.map +1 -1
  268. package/dist/middlewares/powered-by.mjs +12 -10
  269. package/dist/middlewares/powered-by.mjs.map +1 -1
  270. package/dist/middlewares/public.js +33 -29
  271. package/dist/middlewares/public.js.map +1 -1
  272. package/dist/middlewares/public.mjs +32 -28
  273. package/dist/middlewares/public.mjs.map +1 -1
  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.js +10 -9
  280. package/dist/middlewares/response-time.js.map +1 -1
  281. package/dist/middlewares/response-time.mjs +9 -10
  282. package/dist/middlewares/response-time.mjs.map +1 -1
  283. package/dist/middlewares/responses.js +14 -12
  284. package/dist/middlewares/responses.js.map +1 -1
  285. package/dist/middlewares/responses.mjs +13 -13
  286. package/dist/middlewares/responses.mjs.map +1 -1
  287. package/dist/middlewares/security.d.ts.map +1 -1
  288. package/dist/middlewares/security.js +110 -65
  289. package/dist/middlewares/security.js.map +1 -1
  290. package/dist/middlewares/security.mjs +108 -63
  291. package/dist/middlewares/security.mjs.map +1 -1
  292. package/dist/middlewares/session.js +26 -25
  293. package/dist/middlewares/session.js.map +1 -1
  294. package/dist/middlewares/session.mjs +25 -24
  295. package/dist/middlewares/session.mjs.map +1 -1
  296. package/dist/migrations/database/5.0.0-discard-drafts.d.ts +33 -0
  297. package/dist/migrations/database/5.0.0-discard-drafts.d.ts.map +1 -0
  298. package/dist/migrations/database/5.0.0-discard-drafts.js +168 -0
  299. package/dist/migrations/database/5.0.0-discard-drafts.js.map +1 -0
  300. package/dist/migrations/database/5.0.0-discard-drafts.mjs +165 -0
  301. package/dist/migrations/database/5.0.0-discard-drafts.mjs.map +1 -0
  302. package/dist/migrations/draft-publish.d.ts +2 -2
  303. package/dist/migrations/draft-publish.d.ts.map +1 -1
  304. package/dist/migrations/draft-publish.js +59 -49
  305. package/dist/migrations/draft-publish.js.map +1 -1
  306. package/dist/migrations/draft-publish.mjs +58 -51
  307. package/dist/migrations/draft-publish.mjs.map +1 -1
  308. package/dist/migrations/first-published-at.d.ts +4 -0
  309. package/dist/migrations/first-published-at.d.ts.map +1 -0
  310. package/dist/migrations/first-published-at.js +51 -0
  311. package/dist/migrations/first-published-at.js.map +1 -0
  312. package/dist/migrations/first-published-at.mjs +49 -0
  313. package/dist/migrations/first-published-at.mjs.map +1 -0
  314. package/dist/migrations/i18n.d.ts +5 -0
  315. package/dist/migrations/i18n.d.ts.map +1 -0
  316. package/dist/migrations/i18n.js +71 -0
  317. package/dist/migrations/i18n.js.map +1 -0
  318. package/dist/migrations/i18n.mjs +68 -0
  319. package/dist/migrations/i18n.mjs.map +1 -0
  320. package/dist/migrations/index.d.ts +5 -0
  321. package/dist/migrations/index.d.ts.map +1 -0
  322. package/dist/migrations/index.js +34 -0
  323. package/dist/migrations/index.js.map +1 -0
  324. package/dist/migrations/index.mjs +31 -0
  325. package/dist/migrations/index.mjs.map +1 -0
  326. package/dist/package.json.js +187 -0
  327. package/dist/package.json.js.map +1 -0
  328. package/dist/package.json.mjs +164 -0
  329. package/dist/package.json.mjs.map +1 -0
  330. package/dist/providers/admin.d.ts.map +1 -1
  331. package/dist/providers/admin.js +27 -17
  332. package/dist/providers/admin.js.map +1 -1
  333. package/dist/providers/admin.mjs +26 -19
  334. package/dist/providers/admin.mjs.map +1 -1
  335. package/dist/providers/coreStore.js +13 -8
  336. package/dist/providers/coreStore.js.map +1 -1
  337. package/dist/providers/coreStore.mjs +12 -10
  338. package/dist/providers/coreStore.mjs.map +1 -1
  339. package/dist/providers/cron.js +19 -16
  340. package/dist/providers/cron.js.map +1 -1
  341. package/dist/providers/cron.mjs +18 -18
  342. package/dist/providers/cron.mjs.map +1 -1
  343. package/dist/providers/index.d.ts.map +1 -1
  344. package/dist/providers/index.js +20 -9
  345. package/dist/providers/index.js.map +1 -1
  346. package/dist/providers/index.mjs +19 -10
  347. package/dist/providers/index.mjs.map +1 -1
  348. package/dist/providers/provider.js +4 -3
  349. package/dist/providers/provider.js.map +1 -1
  350. package/dist/providers/provider.mjs +3 -4
  351. package/dist/providers/provider.mjs.map +1 -1
  352. package/dist/providers/registries.d.ts.map +1 -1
  353. package/dist/providers/registries.js +37 -30
  354. package/dist/providers/registries.js.map +1 -1
  355. package/dist/providers/registries.mjs +36 -32
  356. package/dist/providers/registries.mjs.map +1 -1
  357. package/dist/providers/sessionManager.d.ts +3 -0
  358. package/dist/providers/sessionManager.d.ts.map +1 -0
  359. package/dist/providers/sessionManager.js +21 -0
  360. package/dist/providers/sessionManager.js.map +1 -0
  361. package/dist/providers/sessionManager.mjs +19 -0
  362. package/dist/providers/sessionManager.mjs.map +1 -0
  363. package/dist/providers/telemetry.js +19 -16
  364. package/dist/providers/telemetry.js.map +1 -1
  365. package/dist/providers/telemetry.mjs +18 -18
  366. package/dist/providers/telemetry.mjs.map +1 -1
  367. package/dist/providers/webhooks.js +28 -26
  368. package/dist/providers/webhooks.js.map +1 -1
  369. package/dist/providers/webhooks.mjs +27 -28
  370. package/dist/providers/webhooks.mjs.map +1 -1
  371. package/dist/registries/apis.js +23 -20
  372. package/dist/registries/apis.js.map +1 -1
  373. package/dist/registries/apis.mjs +22 -22
  374. package/dist/registries/apis.mjs.map +1 -1
  375. package/dist/registries/components.js +35 -37
  376. package/dist/registries/components.js.map +1 -1
  377. package/dist/registries/components.mjs +34 -39
  378. package/dist/registries/components.mjs.map +1 -1
  379. package/dist/registries/content-types.js +54 -59
  380. package/dist/registries/content-types.js.map +1 -1
  381. package/dist/registries/content-types.mjs +53 -61
  382. package/dist/registries/content-types.mjs.map +1 -1
  383. package/dist/registries/controllers.js +70 -71
  384. package/dist/registries/controllers.js.map +1 -1
  385. package/dist/registries/controllers.mjs +69 -73
  386. package/dist/registries/controllers.mjs.map +1 -1
  387. package/dist/registries/custom-fields.js +75 -65
  388. package/dist/registries/custom-fields.js.map +1 -1
  389. package/dist/registries/custom-fields.mjs +74 -67
  390. package/dist/registries/custom-fields.mjs.map +1 -1
  391. package/dist/registries/hooks.js +46 -49
  392. package/dist/registries/hooks.js.map +1 -1
  393. package/dist/registries/hooks.mjs +45 -51
  394. package/dist/registries/hooks.mjs.map +1 -1
  395. package/dist/registries/middlewares.js +49 -51
  396. package/dist/registries/middlewares.js.map +1 -1
  397. package/dist/registries/middlewares.mjs +48 -53
  398. package/dist/registries/middlewares.mjs.map +1 -1
  399. package/dist/registries/models.js +14 -13
  400. package/dist/registries/models.js.map +1 -1
  401. package/dist/registries/models.mjs +13 -14
  402. package/dist/registries/models.mjs.map +1 -1
  403. package/dist/registries/modules.js +39 -36
  404. package/dist/registries/modules.js.map +1 -1
  405. package/dist/registries/modules.mjs +38 -38
  406. package/dist/registries/modules.mjs.map +1 -1
  407. package/dist/registries/namespace.js +21 -20
  408. package/dist/registries/namespace.js.map +1 -1
  409. package/dist/registries/namespace.mjs +20 -23
  410. package/dist/registries/namespace.mjs.map +1 -1
  411. package/dist/registries/plugins.js +23 -20
  412. package/dist/registries/plugins.js.map +1 -1
  413. package/dist/registries/plugins.mjs +22 -22
  414. package/dist/registries/plugins.mjs.map +1 -1
  415. package/dist/registries/policies.d.ts +1 -1
  416. package/dist/registries/policies.d.ts.map +1 -1
  417. package/dist/registries/policies.js +103 -96
  418. package/dist/registries/policies.js.map +1 -1
  419. package/dist/registries/policies.mjs +102 -98
  420. package/dist/registries/policies.mjs.map +1 -1
  421. package/dist/registries/sanitizers.js +23 -22
  422. package/dist/registries/sanitizers.js.map +1 -1
  423. package/dist/registries/sanitizers.mjs +22 -22
  424. package/dist/registries/sanitizers.mjs.map +1 -1
  425. package/dist/registries/services.js +71 -71
  426. package/dist/registries/services.js.map +1 -1
  427. package/dist/registries/services.mjs +70 -73
  428. package/dist/registries/services.mjs.map +1 -1
  429. package/dist/registries/validators.js +23 -22
  430. package/dist/registries/validators.js.map +1 -1
  431. package/dist/registries/validators.mjs +22 -22
  432. package/dist/registries/validators.mjs.map +1 -1
  433. package/dist/services/auth/index.js +74 -74
  434. package/dist/services/auth/index.js.map +1 -1
  435. package/dist/services/auth/index.mjs +73 -74
  436. package/dist/services/auth/index.mjs.map +1 -1
  437. package/dist/services/config.js +47 -43
  438. package/dist/services/config.js.map +1 -1
  439. package/dist/services/config.mjs +46 -44
  440. package/dist/services/config.mjs.map +1 -1
  441. package/dist/services/content-api/index.d.ts +11 -13
  442. package/dist/services/content-api/index.d.ts.map +1 -1
  443. package/dist/services/content-api/index.js +80 -79
  444. package/dist/services/content-api/index.js.map +1 -1
  445. package/dist/services/content-api/index.mjs +79 -79
  446. package/dist/services/content-api/index.mjs.map +1 -1
  447. package/dist/services/content-api/permissions/engine.js +8 -5
  448. package/dist/services/content-api/permissions/engine.js.map +1 -1
  449. package/dist/services/content-api/permissions/engine.mjs +7 -5
  450. package/dist/services/content-api/permissions/engine.mjs.map +1 -1
  451. package/dist/services/content-api/permissions/index.d.ts +10 -12
  452. package/dist/services/content-api/permissions/index.d.ts.map +1 -1
  453. package/dist/services/content-api/permissions/index.js +101 -81
  454. package/dist/services/content-api/permissions/index.js.map +1 -1
  455. package/dist/services/content-api/permissions/index.mjs +100 -81
  456. package/dist/services/content-api/permissions/index.mjs.map +1 -1
  457. package/dist/services/content-api/permissions/providers/action.d.ts +5 -6
  458. package/dist/services/content-api/permissions/providers/action.d.ts.map +1 -1
  459. package/dist/services/content-api/permissions/providers/action.js +17 -14
  460. package/dist/services/content-api/permissions/providers/action.js.map +1 -1
  461. package/dist/services/content-api/permissions/providers/action.mjs +16 -16
  462. package/dist/services/content-api/permissions/providers/action.mjs.map +1 -1
  463. package/dist/services/content-api/permissions/providers/condition.d.ts +5 -6
  464. package/dist/services/content-api/permissions/providers/condition.d.ts.map +1 -1
  465. package/dist/services/content-api/permissions/providers/condition.js +17 -14
  466. package/dist/services/content-api/permissions/providers/condition.js.map +1 -1
  467. package/dist/services/content-api/permissions/providers/condition.mjs +16 -16
  468. package/dist/services/content-api/permissions/providers/condition.mjs.map +1 -1
  469. package/dist/services/content-source-maps.d.ts +13 -0
  470. package/dist/services/content-source-maps.d.ts.map +1 -0
  471. package/dist/services/content-source-maps.js +108 -0
  472. package/dist/services/content-source-maps.js.map +1 -0
  473. package/dist/services/content-source-maps.mjs +106 -0
  474. package/dist/services/content-source-maps.mjs.map +1 -0
  475. package/dist/services/core-store.d.ts +2 -2
  476. package/dist/services/core-store.d.ts.map +1 -1
  477. package/dist/services/core-store.js +115 -95
  478. package/dist/services/core-store.js.map +1 -1
  479. package/dist/services/core-store.mjs +114 -97
  480. package/dist/services/core-store.mjs.map +1 -1
  481. package/dist/services/cron.d.ts +3 -3
  482. package/dist/services/cron.d.ts.map +1 -1
  483. package/dist/services/cron.js +74 -60
  484. package/dist/services/cron.js.map +1 -1
  485. package/dist/services/cron.mjs +73 -62
  486. package/dist/services/cron.mjs.map +1 -1
  487. package/dist/services/custom-fields.js +9 -7
  488. package/dist/services/custom-fields.js.map +1 -1
  489. package/dist/services/custom-fields.mjs +8 -9
  490. package/dist/services/custom-fields.mjs.map +1 -1
  491. package/dist/services/document-service/attributes/index.js +23 -18
  492. package/dist/services/document-service/attributes/index.js.map +1 -1
  493. package/dist/services/document-service/attributes/index.mjs +22 -19
  494. package/dist/services/document-service/attributes/index.mjs.map +1 -1
  495. package/dist/services/document-service/attributes/transforms.js +16 -15
  496. package/dist/services/document-service/attributes/transforms.js.map +1 -1
  497. package/dist/services/document-service/attributes/transforms.mjs +15 -15
  498. package/dist/services/document-service/attributes/transforms.mjs.map +1 -1
  499. package/dist/services/document-service/common.d.ts +1 -1
  500. package/dist/services/document-service/common.d.ts.map +1 -1
  501. package/dist/services/document-service/common.js +5 -4
  502. package/dist/services/document-service/common.js.map +1 -1
  503. package/dist/services/document-service/common.mjs +4 -5
  504. package/dist/services/document-service/common.mjs.map +1 -1
  505. package/dist/services/document-service/components.d.ts +31 -1
  506. package/dist/services/document-service/components.d.ts.map +1 -1
  507. package/dist/services/document-service/components.js +364 -257
  508. package/dist/services/document-service/components.js.map +1 -1
  509. package/dist/services/document-service/components.mjs +359 -261
  510. package/dist/services/document-service/components.mjs.map +1 -1
  511. package/dist/services/document-service/draft-and-publish.d.ts +1 -1
  512. package/dist/services/document-service/draft-and-publish.d.ts.map +1 -1
  513. package/dist/services/document-service/draft-and-publish.js +94 -54
  514. package/dist/services/document-service/draft-and-publish.js.map +1 -1
  515. package/dist/services/document-service/draft-and-publish.mjs +87 -54
  516. package/dist/services/document-service/draft-and-publish.mjs.map +1 -1
  517. package/dist/services/document-service/entries.d.ts +3 -3
  518. package/dist/services/document-service/entries.d.ts.map +1 -1
  519. package/dist/services/document-service/entries.js +151 -91
  520. package/dist/services/document-service/entries.js.map +1 -1
  521. package/dist/services/document-service/entries.mjs +150 -92
  522. package/dist/services/document-service/entries.mjs.map +1 -1
  523. package/dist/services/document-service/events.d.ts +25 -0
  524. package/dist/services/document-service/events.d.ts.map +1 -0
  525. package/dist/services/document-service/events.js +59 -0
  526. package/dist/services/document-service/events.js.map +1 -0
  527. package/dist/services/document-service/events.mjs +57 -0
  528. package/dist/services/document-service/events.mjs.map +1 -0
  529. package/dist/services/document-service/first-published-at.d.ts +7 -0
  530. package/dist/services/document-service/first-published-at.d.ts.map +1 -0
  531. package/dist/services/document-service/first-published-at.js +31 -0
  532. package/dist/services/document-service/first-published-at.js.map +1 -0
  533. package/dist/services/document-service/first-published-at.mjs +28 -0
  534. package/dist/services/document-service/first-published-at.mjs.map +1 -0
  535. package/dist/services/document-service/index.d.ts +2 -1
  536. package/dist/services/document-service/index.d.ts.map +1 -1
  537. package/dist/services/document-service/index.js +53 -32
  538. package/dist/services/document-service/index.js.map +1 -1
  539. package/dist/services/document-service/index.mjs +52 -33
  540. package/dist/services/document-service/index.mjs.map +1 -1
  541. package/dist/services/document-service/internationalization.d.ts +6 -1
  542. package/dist/services/document-service/internationalization.d.ts.map +1 -1
  543. package/dist/services/document-service/internationalization.js +98 -41
  544. package/dist/services/document-service/internationalization.js.map +1 -1
  545. package/dist/services/document-service/internationalization.mjs +92 -41
  546. package/dist/services/document-service/internationalization.mjs.map +1 -1
  547. package/dist/services/document-service/middlewares/errors.js +23 -19
  548. package/dist/services/document-service/middlewares/errors.js.map +1 -1
  549. package/dist/services/document-service/middlewares/errors.mjs +22 -20
  550. package/dist/services/document-service/middlewares/errors.mjs.map +1 -1
  551. package/dist/services/document-service/middlewares/middleware-manager.js +46 -44
  552. package/dist/services/document-service/middlewares/middleware-manager.js.map +1 -1
  553. package/dist/services/document-service/middlewares/middleware-manager.mjs +45 -45
  554. package/dist/services/document-service/middlewares/middleware-manager.mjs.map +1 -1
  555. package/dist/services/document-service/params.js +11 -5
  556. package/dist/services/document-service/params.js.map +1 -1
  557. package/dist/services/document-service/params.mjs +10 -6
  558. package/dist/services/document-service/params.mjs.map +1 -1
  559. package/dist/services/document-service/repository.d.ts.map +1 -1
  560. package/dist/services/document-service/repository.js +363 -241
  561. package/dist/services/document-service/repository.js.map +1 -1
  562. package/dist/services/document-service/repository.mjs +362 -242
  563. package/dist/services/document-service/repository.mjs.map +1 -1
  564. package/dist/services/document-service/transform/data.js +22 -12
  565. package/dist/services/document-service/transform/data.js.map +1 -1
  566. package/dist/services/document-service/transform/data.mjs +21 -13
  567. package/dist/services/document-service/transform/data.mjs.map +1 -1
  568. package/dist/services/document-service/transform/fields.js +26 -17
  569. package/dist/services/document-service/transform/fields.js.map +1 -1
  570. package/dist/services/document-service/transform/fields.mjs +25 -18
  571. package/dist/services/document-service/transform/fields.mjs.map +1 -1
  572. package/dist/services/document-service/transform/id-map.d.ts +1 -1
  573. package/dist/services/document-service/transform/id-map.d.ts.map +1 -1
  574. package/dist/services/document-service/transform/id-map.js +116 -69
  575. package/dist/services/document-service/transform/id-map.js.map +1 -1
  576. package/dist/services/document-service/transform/id-map.mjs +115 -70
  577. package/dist/services/document-service/transform/id-map.mjs.map +1 -1
  578. package/dist/services/document-service/transform/id-transform.d.ts +1 -1
  579. package/dist/services/document-service/transform/id-transform.d.ts.map +1 -1
  580. package/dist/services/document-service/transform/id-transform.js +38 -30
  581. package/dist/services/document-service/transform/id-transform.js.map +1 -1
  582. package/dist/services/document-service/transform/id-transform.mjs +36 -30
  583. package/dist/services/document-service/transform/id-transform.mjs.map +1 -1
  584. package/dist/services/document-service/transform/populate.js +23 -18
  585. package/dist/services/document-service/transform/populate.js.map +1 -1
  586. package/dist/services/document-service/transform/populate.mjs +22 -19
  587. package/dist/services/document-service/transform/populate.mjs.map +1 -1
  588. package/dist/services/document-service/transform/query.js +11 -6
  589. package/dist/services/document-service/transform/query.js.map +1 -1
  590. package/dist/services/document-service/transform/query.mjs +10 -7
  591. package/dist/services/document-service/transform/query.mjs.map +1 -1
  592. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts +1 -1
  593. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts.map +1 -1
  594. package/dist/services/document-service/transform/relations/extract/data-ids.js +71 -45
  595. package/dist/services/document-service/transform/relations/extract/data-ids.js.map +1 -1
  596. package/dist/services/document-service/transform/relations/extract/data-ids.mjs +70 -46
  597. package/dist/services/document-service/transform/relations/extract/data-ids.mjs.map +1 -1
  598. package/dist/services/document-service/transform/relations/transform/data-ids.d.ts.map +1 -1
  599. package/dist/services/document-service/transform/relations/transform/data-ids.js +97 -60
  600. package/dist/services/document-service/transform/relations/transform/data-ids.js.map +1 -1
  601. package/dist/services/document-service/transform/relations/transform/data-ids.mjs +96 -61
  602. package/dist/services/document-service/transform/relations/transform/data-ids.mjs.map +1 -1
  603. package/dist/services/document-service/transform/relations/transform/default-locale.js +47 -29
  604. package/dist/services/document-service/transform/relations/transform/default-locale.js.map +1 -1
  605. package/dist/services/document-service/transform/relations/transform/default-locale.mjs +46 -30
  606. package/dist/services/document-service/transform/relations/transform/default-locale.mjs.map +1 -1
  607. package/dist/services/document-service/transform/relations/utils/dp.d.ts +1 -1
  608. package/dist/services/document-service/transform/relations/utils/dp.d.ts.map +1 -1
  609. package/dist/services/document-service/transform/relations/utils/dp.js +52 -26
  610. package/dist/services/document-service/transform/relations/utils/dp.js.map +1 -1
  611. package/dist/services/document-service/transform/relations/utils/dp.mjs +51 -27
  612. package/dist/services/document-service/transform/relations/utils/dp.mjs.map +1 -1
  613. package/dist/services/document-service/transform/relations/utils/i18n.d.ts +1 -1
  614. package/dist/services/document-service/transform/relations/utils/i18n.d.ts.map +1 -1
  615. package/dist/services/document-service/transform/relations/utils/i18n.js +20 -18
  616. package/dist/services/document-service/transform/relations/utils/i18n.js.map +1 -1
  617. package/dist/services/document-service/transform/relations/utils/i18n.mjs +19 -21
  618. package/dist/services/document-service/transform/relations/utils/i18n.mjs.map +1 -1
  619. package/dist/services/document-service/transform/relations/utils/map-relation.d.ts.map +1 -1
  620. package/dist/services/document-service/transform/relations/utils/map-relation.js +118 -75
  621. package/dist/services/document-service/transform/relations/utils/map-relation.js.map +1 -1
  622. package/dist/services/document-service/transform/relations/utils/map-relation.mjs +115 -75
  623. package/dist/services/document-service/transform/relations/utils/map-relation.mjs.map +1 -1
  624. package/dist/services/document-service/utils/bidirectional-relations.d.ts +95 -0
  625. package/dist/services/document-service/utils/bidirectional-relations.d.ts.map +1 -0
  626. package/dist/services/document-service/utils/bidirectional-relations.js +148 -0
  627. package/dist/services/document-service/utils/bidirectional-relations.js.map +1 -0
  628. package/dist/services/document-service/utils/bidirectional-relations.mjs +145 -0
  629. package/dist/services/document-service/utils/bidirectional-relations.mjs.map +1 -0
  630. package/dist/services/document-service/utils/clean-component-join-table.d.ts +7 -0
  631. package/dist/services/document-service/utils/clean-component-join-table.d.ts.map +1 -0
  632. package/dist/services/document-service/utils/clean-component-join-table.js +138 -0
  633. package/dist/services/document-service/utils/clean-component-join-table.js.map +1 -0
  634. package/dist/services/document-service/utils/clean-component-join-table.mjs +136 -0
  635. package/dist/services/document-service/utils/clean-component-join-table.mjs.map +1 -0
  636. package/dist/services/document-service/utils/populate.d.ts +1 -1
  637. package/dist/services/document-service/utils/populate.d.ts.map +1 -1
  638. package/dist/services/document-service/utils/populate.js +67 -37
  639. package/dist/services/document-service/utils/populate.js.map +1 -1
  640. package/dist/services/document-service/utils/populate.mjs +66 -38
  641. package/dist/services/document-service/utils/populate.mjs.map +1 -1
  642. package/dist/services/document-service/utils/unidirectional-relations.d.ts +53 -0
  643. package/dist/services/document-service/utils/unidirectional-relations.d.ts.map +1 -0
  644. package/dist/services/document-service/utils/unidirectional-relations.js +131 -0
  645. package/dist/services/document-service/utils/unidirectional-relations.js.map +1 -0
  646. package/dist/services/document-service/utils/unidirectional-relations.mjs +128 -0
  647. package/dist/services/document-service/utils/unidirectional-relations.mjs.map +1 -0
  648. package/dist/services/entity-service/index.js +230 -161
  649. package/dist/services/entity-service/index.js.map +1 -1
  650. package/dist/services/entity-service/index.mjs +229 -160
  651. package/dist/services/entity-service/index.mjs.map +1 -1
  652. package/dist/services/entity-validator/blocks-validator.d.ts +1 -2
  653. package/dist/services/entity-validator/blocks-validator.d.ts.map +1 -1
  654. package/dist/services/entity-validator/blocks-validator.js +137 -104
  655. package/dist/services/entity-validator/blocks-validator.js.map +1 -1
  656. package/dist/services/entity-validator/blocks-validator.mjs +135 -105
  657. package/dist/services/entity-validator/blocks-validator.mjs.map +1 -1
  658. package/dist/services/entity-validator/index.d.ts +15 -1
  659. package/dist/services/entity-validator/index.d.ts.map +1 -1
  660. package/dist/services/entity-validator/index.js +370 -310
  661. package/dist/services/entity-validator/index.js.map +1 -1
  662. package/dist/services/entity-validator/index.mjs +366 -307
  663. package/dist/services/entity-validator/index.mjs.map +1 -1
  664. package/dist/services/entity-validator/validators.d.ts +37 -25
  665. package/dist/services/entity-validator/validators.d.ts.map +1 -1
  666. package/dist/services/entity-validator/validators.js +286 -110
  667. package/dist/services/entity-validator/validators.js.map +1 -1
  668. package/dist/services/entity-validator/validators.mjs +277 -108
  669. package/dist/services/entity-validator/validators.mjs.map +1 -1
  670. package/dist/services/errors.js +65 -65
  671. package/dist/services/errors.js.map +1 -1
  672. package/dist/services/errors.mjs +64 -66
  673. package/dist/services/errors.mjs.map +1 -1
  674. package/dist/services/event-hub.d.ts +1 -0
  675. package/dist/services/event-hub.d.ts.map +1 -1
  676. package/dist/services/event-hub.js +82 -64
  677. package/dist/services/event-hub.js.map +1 -1
  678. package/dist/services/event-hub.mjs +81 -66
  679. package/dist/services/event-hub.mjs.map +1 -1
  680. package/dist/services/features.js +19 -14
  681. package/dist/services/features.js.map +1 -1
  682. package/dist/services/features.mjs +18 -15
  683. package/dist/services/features.mjs.map +1 -1
  684. package/dist/services/fs.js +41 -40
  685. package/dist/services/fs.js.map +1 -1
  686. package/dist/services/fs.mjs +40 -39
  687. package/dist/services/fs.mjs.map +1 -1
  688. package/dist/services/metrics/admin-user-hash.d.ts.map +1 -1
  689. package/dist/services/metrics/admin-user-hash.js +13 -11
  690. package/dist/services/metrics/admin-user-hash.js.map +1 -1
  691. package/dist/services/metrics/admin-user-hash.mjs +12 -10
  692. package/dist/services/metrics/admin-user-hash.mjs.map +1 -1
  693. package/dist/services/metrics/index.d.ts +1 -1
  694. package/dist/services/metrics/index.d.ts.map +1 -1
  695. package/dist/services/metrics/index.js +48 -40
  696. package/dist/services/metrics/index.js.map +1 -1
  697. package/dist/services/metrics/index.mjs +47 -42
  698. package/dist/services/metrics/index.mjs.map +1 -1
  699. package/dist/services/metrics/is-truthy.js +13 -6
  700. package/dist/services/metrics/is-truthy.js.map +1 -1
  701. package/dist/services/metrics/is-truthy.mjs +12 -6
  702. package/dist/services/metrics/is-truthy.mjs.map +1 -1
  703. package/dist/services/metrics/middleware.d.ts +2 -1
  704. package/dist/services/metrics/middleware.d.ts.map +1 -1
  705. package/dist/services/metrics/middleware.js +37 -22
  706. package/dist/services/metrics/middleware.js.map +1 -1
  707. package/dist/services/metrics/middleware.mjs +36 -24
  708. package/dist/services/metrics/middleware.mjs.map +1 -1
  709. package/dist/services/metrics/rate-limiter.d.ts.map +1 -1
  710. package/dist/services/metrics/rate-limiter.js +24 -19
  711. package/dist/services/metrics/rate-limiter.js.map +1 -1
  712. package/dist/services/metrics/rate-limiter.mjs +23 -21
  713. package/dist/services/metrics/rate-limiter.mjs.map +1 -1
  714. package/dist/services/metrics/sender.d.ts.map +1 -1
  715. package/dist/services/metrics/sender.js +78 -69
  716. package/dist/services/metrics/sender.js.map +1 -1
  717. package/dist/services/metrics/sender.mjs +77 -64
  718. package/dist/services/metrics/sender.mjs.map +1 -1
  719. package/dist/services/query-params.js +13 -10
  720. package/dist/services/query-params.js.map +1 -1
  721. package/dist/services/query-params.mjs +12 -12
  722. package/dist/services/query-params.mjs.map +1 -1
  723. package/dist/services/reloader.js +35 -32
  724. package/dist/services/reloader.js.map +1 -1
  725. package/dist/services/reloader.mjs +34 -33
  726. package/dist/services/reloader.mjs.map +1 -1
  727. package/dist/services/request-context.js +11 -8
  728. package/dist/services/request-context.js.map +1 -1
  729. package/dist/services/request-context.mjs +10 -10
  730. package/dist/services/request-context.mjs.map +1 -1
  731. package/dist/services/server/admin-api.js +11 -10
  732. package/dist/services/server/admin-api.js.map +1 -1
  733. package/dist/services/server/admin-api.mjs +10 -11
  734. package/dist/services/server/admin-api.mjs.map +1 -1
  735. package/dist/services/server/api.js +33 -27
  736. package/dist/services/server/api.js.map +1 -1
  737. package/dist/services/server/api.mjs +32 -26
  738. package/dist/services/server/api.mjs.map +1 -1
  739. package/dist/services/server/compose-endpoint.js +116 -105
  740. package/dist/services/server/compose-endpoint.js.map +1 -1
  741. package/dist/services/server/compose-endpoint.mjs +115 -105
  742. package/dist/services/server/compose-endpoint.mjs.map +1 -1
  743. package/dist/services/server/content-api.js +11 -9
  744. package/dist/services/server/content-api.js.map +1 -1
  745. package/dist/services/server/content-api.mjs +10 -10
  746. package/dist/services/server/content-api.mjs.map +1 -1
  747. package/dist/services/server/http-server.js +48 -44
  748. package/dist/services/server/http-server.js.map +1 -1
  749. package/dist/services/server/http-server.mjs +47 -43
  750. package/dist/services/server/http-server.mjs.map +1 -1
  751. package/dist/services/server/index.js +85 -82
  752. package/dist/services/server/index.js.map +1 -1
  753. package/dist/services/server/index.mjs +84 -81
  754. package/dist/services/server/index.mjs.map +1 -1
  755. package/dist/services/server/koa.d.ts.map +1 -1
  756. package/dist/services/server/koa.js +49 -47
  757. package/dist/services/server/koa.js.map +1 -1
  758. package/dist/services/server/koa.mjs +48 -44
  759. package/dist/services/server/koa.mjs.map +1 -1
  760. package/dist/services/server/middleware.js +86 -82
  761. package/dist/services/server/middleware.js.map +1 -1
  762. package/dist/services/server/middleware.mjs +85 -82
  763. package/dist/services/server/middleware.mjs.map +1 -1
  764. package/dist/services/server/policy.js +24 -17
  765. package/dist/services/server/policy.js.map +1 -1
  766. package/dist/services/server/policy.mjs +23 -18
  767. package/dist/services/server/policy.mjs.map +1 -1
  768. package/dist/services/server/register-middlewares.js +68 -61
  769. package/dist/services/server/register-middlewares.js.map +1 -1
  770. package/dist/services/server/register-middlewares.mjs +67 -63
  771. package/dist/services/server/register-middlewares.mjs.map +1 -1
  772. package/dist/services/server/register-routes.js +109 -66
  773. package/dist/services/server/register-routes.js.map +1 -1
  774. package/dist/services/server/register-routes.mjs +108 -66
  775. package/dist/services/server/register-routes.mjs.map +1 -1
  776. package/dist/services/server/routing.d.ts +10 -0
  777. package/dist/services/server/routing.d.ts.map +1 -1
  778. package/dist/services/server/routing.js +100 -81
  779. package/dist/services/server/routing.js.map +1 -1
  780. package/dist/services/server/routing.mjs +99 -81
  781. package/dist/services/server/routing.mjs.map +1 -1
  782. package/dist/services/session-manager.d.ts +160 -0
  783. package/dist/services/session-manager.d.ts.map +1 -0
  784. package/dist/services/session-manager.js +476 -0
  785. package/dist/services/session-manager.js.map +1 -0
  786. package/dist/services/session-manager.mjs +473 -0
  787. package/dist/services/session-manager.mjs.map +1 -0
  788. package/dist/services/utils/conditional-fields.d.ts +3 -0
  789. package/dist/services/utils/conditional-fields.d.ts.map +1 -0
  790. package/dist/services/utils/conditional-fields.js +22 -0
  791. package/dist/services/utils/conditional-fields.js.map +1 -0
  792. package/dist/services/utils/conditional-fields.mjs +20 -0
  793. package/dist/services/utils/conditional-fields.mjs.map +1 -0
  794. package/dist/services/utils/dynamic-zones.js +13 -14
  795. package/dist/services/utils/dynamic-zones.js.map +1 -1
  796. package/dist/services/utils/dynamic-zones.mjs +12 -16
  797. package/dist/services/utils/dynamic-zones.mjs.map +1 -1
  798. package/dist/services/webhook-runner.d.ts +2 -1
  799. package/dist/services/webhook-runner.d.ts.map +1 -1
  800. package/dist/services/webhook-runner.js +124 -122
  801. package/dist/services/webhook-runner.js.map +1 -1
  802. package/dist/services/webhook-runner.mjs +123 -121
  803. package/dist/services/webhook-runner.mjs.map +1 -1
  804. package/dist/services/webhook-store.d.ts +2 -8
  805. package/dist/services/webhook-store.d.ts.map +1 -1
  806. package/dist/services/webhook-store.js +132 -92
  807. package/dist/services/webhook-store.js.map +1 -1
  808. package/dist/services/webhook-store.mjs +131 -94
  809. package/dist/services/webhook-store.mjs.map +1 -1
  810. package/dist/services/worker-queue.js +44 -49
  811. package/dist/services/worker-queue.js.map +1 -1
  812. package/dist/services/worker-queue.mjs +43 -49
  813. package/dist/services/worker-queue.mjs.map +1 -1
  814. package/dist/utils/convert-custom-field-type.js +17 -20
  815. package/dist/utils/convert-custom-field-type.js.map +1 -1
  816. package/dist/utils/convert-custom-field-type.mjs +16 -21
  817. package/dist/utils/convert-custom-field-type.mjs.map +1 -1
  818. package/dist/utils/cron.js +64 -30
  819. package/dist/utils/cron.js.map +1 -1
  820. package/dist/utils/cron.mjs +63 -31
  821. package/dist/utils/cron.mjs.map +1 -1
  822. package/dist/utils/fetch.d.ts +5 -1
  823. package/dist/utils/fetch.d.ts.map +1 -1
  824. package/dist/utils/fetch.js +28 -17
  825. package/dist/utils/fetch.js.map +1 -1
  826. package/dist/utils/fetch.mjs +27 -18
  827. package/dist/utils/fetch.mjs.map +1 -1
  828. package/dist/utils/filepath-to-prop-path.d.ts +1 -1
  829. package/dist/utils/filepath-to-prop-path.d.ts.map +1 -1
  830. package/dist/utils/filepath-to-prop-path.js +22 -9
  831. package/dist/utils/filepath-to-prop-path.js.map +1 -1
  832. package/dist/utils/filepath-to-prop-path.mjs +20 -7
  833. package/dist/utils/filepath-to-prop-path.mjs.map +1 -1
  834. package/dist/utils/is-initialized.js +21 -12
  835. package/dist/utils/is-initialized.js.map +1 -1
  836. package/dist/utils/is-initialized.mjs +20 -13
  837. package/dist/utils/is-initialized.mjs.map +1 -1
  838. package/dist/utils/lifecycles.js +6 -5
  839. package/dist/utils/lifecycles.js.map +1 -1
  840. package/dist/utils/lifecycles.mjs +5 -6
  841. package/dist/utils/lifecycles.mjs.map +1 -1
  842. package/dist/utils/load-config-file.js +40 -38
  843. package/dist/utils/load-config-file.js.map +1 -1
  844. package/dist/utils/load-config-file.mjs +39 -36
  845. package/dist/utils/load-config-file.mjs.map +1 -1
  846. package/dist/utils/load-files.js +40 -35
  847. package/dist/utils/load-files.js.map +1 -1
  848. package/dist/utils/load-files.mjs +39 -32
  849. package/dist/utils/load-files.mjs.map +1 -1
  850. package/dist/utils/open-browser.js +8 -8
  851. package/dist/utils/open-browser.js.map +1 -1
  852. package/dist/utils/open-browser.mjs +7 -7
  853. package/dist/utils/open-browser.mjs.map +1 -1
  854. package/dist/utils/resolve-working-dirs.js +23 -10
  855. package/dist/utils/resolve-working-dirs.js.map +1 -1
  856. package/dist/utils/resolve-working-dirs.mjs +22 -9
  857. package/dist/utils/resolve-working-dirs.mjs.map +1 -1
  858. package/dist/utils/signals.js +20 -14
  859. package/dist/utils/signals.js.map +1 -1
  860. package/dist/utils/signals.mjs +19 -15
  861. package/dist/utils/signals.mjs.map +1 -1
  862. package/dist/utils/startup-logger.d.ts.map +1 -1
  863. package/dist/utils/startup-logger.js +107 -78
  864. package/dist/utils/startup-logger.js.map +1 -1
  865. package/dist/utils/startup-logger.mjs +106 -75
  866. package/dist/utils/startup-logger.mjs.map +1 -1
  867. package/dist/utils/transform-content-types-to-models.d.ts +552 -23
  868. package/dist/utils/transform-content-types-to-models.d.ts.map +1 -1
  869. package/dist/utils/transform-content-types-to-models.js +350 -248
  870. package/dist/utils/transform-content-types-to-models.js.map +1 -1
  871. package/dist/utils/transform-content-types-to-models.mjs +349 -256
  872. package/dist/utils/transform-content-types-to-models.mjs.map +1 -1
  873. package/dist/utils/update-notifier/index.d.ts.map +1 -1
  874. package/dist/utils/update-notifier/index.js +68 -73
  875. package/dist/utils/update-notifier/index.js.map +1 -1
  876. package/dist/utils/update-notifier/index.mjs +67 -67
  877. package/dist/utils/update-notifier/index.mjs.map +1 -1
  878. package/package.json +44 -36
  879. package/dist/services/document-service/document-engine.d.ts +0 -1
  880. package/dist/services/document-service/document-engine.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"draft-publish.js","sources":["../../src/migrations/draft-publish.ts"],"sourcesContent":["import { contentTypes as contentTypesUtils } from '@strapi/utils';\nimport { Schema } from '@strapi/types';\n\ninterface Input {\n oldContentTypes: Record<string, Schema.ContentType>;\n contentTypes: Record<string, Schema.ContentType>;\n}\n\n/**\n * Enable draft and publish for content types.\n *\n * Draft and publish disabled content types will have their entries published,\n * this migration clones those entries as drafts.\n *\n * TODO: Clone components, dynamic zones and relations\n */\nconst enableDraftAndPublish = async ({ oldContentTypes, contentTypes }: Input) => {\n if (!oldContentTypes) {\n return;\n }\n\n // run the after content types migrations\n\n for (const uid in contentTypes) {\n if (!oldContentTypes[uid]) {\n continue;\n }\n\n const oldContentType = oldContentTypes[uid];\n const contentType = contentTypes[uid];\n\n // if d&p was enabled set publishedAt to eq createdAt\n if (\n !contentTypesUtils.hasDraftAndPublish(oldContentType) &&\n contentTypesUtils.hasDraftAndPublish(contentType)\n ) {\n const metadata = strapi.db.metadata.get(uid);\n\n // Extract all scalar attributes to use in the insert query\n const attributes = Object.values(metadata.attributes).reduce((acc, attribute: any) => {\n if (['id'].includes(attribute.columnName)) {\n return acc;\n }\n\n if (contentTypesUtils.isScalarAttribute(attribute)) {\n acc.push(attribute.columnName);\n }\n\n return acc;\n }, [] as string[]);\n\n /**\n * INSERT INTO tableName (columnName1, columnName2, columnName3, ...)\n * SELECT columnName1, columnName2, columnName3, ...\n * FROM tableName\n */\n const qb = strapi.db?.getConnection();\n await qb\n // INSERT INTO tableName (columnName1, columnName2, columnName3, ...)\n .into(qb.raw(`${metadata.tableName} (${attributes.join(', ')})`))\n .insert((subQb: typeof qb) => {\n // SELECT columnName1, columnName2, columnName3, ...\n subQb\n .select(\n ...attributes.map((att) => {\n // Override 'publishedAt' and 'updatedAt' attributes\n if (att === 'published_at') {\n return qb.raw('NULL as published_at');\n }\n\n if (att === 'updated_at') {\n return qb.raw(`? as updated_at`, [new Date()]);\n }\n\n return att;\n })\n )\n .from(metadata.tableName)\n .whereNotNull('published_at');\n });\n }\n }\n};\n\nconst disableDraftAndPublish = async ({ oldContentTypes, contentTypes }: Input) => {\n if (!oldContentTypes) {\n return;\n }\n\n for (const uid in contentTypes) {\n if (!oldContentTypes[uid]) {\n continue;\n }\n\n const oldContentType = oldContentTypes[uid];\n const contentType = contentTypes[uid];\n\n // if d&p was disabled remove unpublish content before sync\n if (\n contentTypesUtils.hasDraftAndPublish(oldContentType) &&\n !contentTypesUtils.hasDraftAndPublish(contentType)\n ) {\n await strapi.db?.queryBuilder(uid).delete().where({ published_at: null }).execute();\n }\n }\n};\n\nexport { enableDraftAndPublish as enable, disableDraftAndPublish as disable };\n"],"names":["contentTypesUtils"],"mappings":";;;AAgBA,MAAM,wBAAwB,OAAO,EAAE,iBAAiB,mBAA0B;AAChF,MAAI,CAAC,iBAAiB;AACpB;AAAA,EACF;AAIA,aAAW,OAAO,cAAc;AAC1B,QAAA,CAAC,gBAAgB,GAAG,GAAG;AACzB;AAAA,IACF;AAEM,UAAA,iBAAiB,gBAAgB,GAAG;AACpC,UAAA,cAAc,aAAa,GAAG;AAIlC,QAAA,CAACA,yBAAkB,mBAAmB,cAAc,KACpDA,yBAAkB,mBAAmB,WAAW,GAChD;AACA,YAAM,WAAW,OAAO,GAAG,SAAS,IAAI,GAAG;AAGrC,YAAA,aAAa,OAAO,OAAO,SAAS,UAAU,EAAE,OAAO,CAAC,KAAK,cAAmB;AACpF,YAAI,CAAC,IAAI,EAAE,SAAS,UAAU,UAAU,GAAG;AAClC,iBAAA;AAAA,QACT;AAEI,YAAAA,YAAA,aAAkB,kBAAkB,SAAS,GAAG;AAC9C,cAAA,KAAK,UAAU,UAAU;AAAA,QAC/B;AAEO,eAAA;AAAA,MACT,GAAG,CAAc,CAAA;AAOX,YAAA,KAAK,OAAO,IAAI,cAAc;AACpC,YAAM,GAEH,KAAK,GAAG,IAAI,GAAG,SAAS,SAAS,KAAK,WAAW,KAAK,IAAI,CAAC,GAAG,CAAC,EAC/D,OAAO,CAAC,UAAqB;AAGzB,cAAA;AAAA,UACC,GAAG,WAAW,IAAI,CAAC,QAAQ;AAEzB,gBAAI,QAAQ,gBAAgB;AACnB,qBAAA,GAAG,IAAI,sBAAsB;AAAA,YACtC;AAEA,gBAAI,QAAQ,cAAc;AACxB,qBAAO,GAAG,IAAI,mBAAmB,CAAK,oBAAA,KAAM,CAAA,CAAC;AAAA,YAC/C;AAEO,mBAAA;AAAA,UAAA,CACR;AAAA,QAAA,EAEF,KAAK,SAAS,SAAS,EACvB,aAAa,cAAc;AAAA,MAAA,CAC/B;AAAA,IACL;AAAA,EACF;AACF;AAEA,MAAM,yBAAyB,OAAO,EAAE,iBAAiB,mBAA0B;AACjF,MAAI,CAAC,iBAAiB;AACpB;AAAA,EACF;AAEA,aAAW,OAAO,cAAc;AAC1B,QAAA,CAAC,gBAAgB,GAAG,GAAG;AACzB;AAAA,IACF;AAEM,UAAA,iBAAiB,gBAAgB,GAAG;AACpC,UAAA,cAAc,aAAa,GAAG;AAIlC,QAAAA,YAAAA,aAAkB,mBAAmB,cAAc,KACnD,CAACA,yBAAkB,mBAAmB,WAAW,GACjD;AACA,YAAM,OAAO,IAAI,aAAa,GAAG,EAAE,OAAA,EAAS,MAAM,EAAE,cAAc,MAAM,EAAE,QAAQ;AAAA,IACpF;AAAA,EACF;AACF;;;"}
1
+ {"version":3,"file":"draft-publish.js","sources":["../../src/migrations/draft-publish.ts"],"sourcesContent":["import { contentTypes as contentTypesUtils, async } from '@strapi/utils';\nimport type { Schema } from '@strapi/types';\n\nimport { getBatchToDiscard } from './database/5.0.0-discard-drafts';\n\nexport interface Input {\n oldContentTypes: Record<string, Schema.ContentType>;\n contentTypes: Record<string, Schema.ContentType>;\n}\n\n/**\n * Enable draft and publish for content types.\n *\n * Draft and publish disabled content types will have their entries published,\n * this migration clones those entries as drafts.\n *\n * TODO: Clone components, dynamic zones and relations\n */\nconst enableDraftAndPublish = async ({ oldContentTypes, contentTypes }: Input) => {\n if (!oldContentTypes) {\n return;\n }\n\n // run the after content types migrations\n return strapi.db.transaction(async (trx) => {\n for (const uid in contentTypes) {\n if (!oldContentTypes[uid]) {\n continue;\n }\n\n const oldContentType = oldContentTypes[uid];\n const contentType = contentTypes[uid];\n\n // if d&p was enabled set publishedAt to eq createdAt\n if (\n !contentTypesUtils.hasDraftAndPublish(oldContentType) &&\n contentTypesUtils.hasDraftAndPublish(contentType)\n ) {\n const discardDraft = async (entry: { documentId: string; locale: string }) =>\n strapi\n .documents(uid as any)\n // Discard draft by referencing the documentId and locale\n .discardDraft({ documentId: entry.documentId, locale: entry.locale });\n\n /**\n * Load a batch of entries (batched to prevent loading millions of rows at once ),\n * and discard them using the document service.\n */\n for await (const batch of getBatchToDiscard({ db: strapi.db, trx, uid })) {\n await async.map(batch, discardDraft, { concurrency: 10 });\n }\n }\n }\n });\n};\n\nconst disableDraftAndPublish = async ({ oldContentTypes, contentTypes }: Input) => {\n if (!oldContentTypes) {\n return;\n }\n\n for (const uid in contentTypes) {\n if (!oldContentTypes[uid]) {\n continue;\n }\n\n const oldContentType = oldContentTypes[uid];\n const contentType = contentTypes[uid];\n\n // if d&p was disabled remove unpublish content before sync\n if (\n contentTypesUtils.hasDraftAndPublish(oldContentType) &&\n !contentTypesUtils.hasDraftAndPublish(contentType)\n ) {\n await strapi.db?.queryBuilder(uid).delete().where({ published_at: null }).execute();\n }\n }\n};\n\nexport { enableDraftAndPublish as enable, disableDraftAndPublish as disable };\n"],"names":["enableDraftAndPublish","oldContentTypes","contentTypes","strapi","db","transaction","trx","uid","oldContentType","contentType","contentTypesUtils","hasDraftAndPublish","discardDraft","entry","documents","documentId","locale","batch","getBatchToDiscard","async","map","concurrency","disableDraftAndPublish","queryBuilder","delete","where","published_at","execute"],"mappings":";;;;;AAUA;;;;;;;AAOC,UACKA,qBAAwB,GAAA,OAAO,EAAEC,eAAe,EAAEC,YAAY,EAAS,GAAA;AAC3E,IAAA,IAAI,CAACD,eAAiB,EAAA;AACpB,QAAA;AACF;;AAGA,IAAA,OAAOE,MAAOC,CAAAA,EAAE,CAACC,WAAW,CAAC,OAAOC,GAAAA,GAAAA;QAClC,IAAK,MAAMC,OAAOL,YAAc,CAAA;AAC9B,YAAA,IAAI,CAACD,eAAe,CAACM,GAAAA,CAAI,EAAE;AACzB,gBAAA;AACF;YAEA,MAAMC,cAAAA,GAAiBP,eAAe,CAACM,GAAI,CAAA;YAC3C,MAAME,WAAAA,GAAcP,YAAY,CAACK,GAAI,CAAA;;YAGrC,IACE,CAACG,yBAAkBC,kBAAkB,CAACH,mBACtCE,wBAAkBC,CAAAA,kBAAkB,CAACF,WACrC,CAAA,EAAA;AACA,gBAAA,MAAMG,eAAe,OAAOC,KAAAA,GAC1BV,OACGW,SAAS,CAACP,IACX;AACCK,qBAAAA,YAAY,CAAC;AAAEG,wBAAAA,UAAAA,EAAYF,MAAME,UAAU;AAAEC,wBAAAA,MAAAA,EAAQH,MAAMG;AAAO,qBAAA,CAAA;AAEvE;;;YAIA,WAAW,MAAMC,KAAAA,IAASC,qCAAkB,CAAA;AAAEd,oBAAAA,EAAAA,EAAID,OAAOC,EAAE;AAAEE,oBAAAA,GAAAA;AAAKC,oBAAAA;iBAAQ,CAAA,CAAA;AACxE,oBAAA,MAAMY,iBAAMC,CAAAA,GAAG,CAACH,KAAAA,EAAOL,YAAc,EAAA;wBAAES,WAAa,EAAA;AAAG,qBAAA,CAAA;AACzD;AACF;AACF;AACF,KAAA,CAAA;AACF;AAEA,MAAMC,yBAAyB,OAAO,EAAErB,eAAe,EAAEC,YAAY,EAAS,GAAA;AAC5E,IAAA,IAAI,CAACD,eAAiB,EAAA;AACpB,QAAA;AACF;IAEA,IAAK,MAAMM,OAAOL,YAAc,CAAA;AAC9B,QAAA,IAAI,CAACD,eAAe,CAACM,GAAAA,CAAI,EAAE;AACzB,YAAA;AACF;QAEA,MAAMC,cAAAA,GAAiBP,eAAe,CAACM,GAAI,CAAA;QAC3C,MAAME,WAAAA,GAAcP,YAAY,CAACK,GAAI,CAAA;;QAGrC,IACEG,wBAAAA,CAAkBC,kBAAkB,CAACH,cAAAA,CAAAA,IACrC,CAACE,wBAAkBC,CAAAA,kBAAkB,CAACF,WACtC,CAAA,EAAA;AACA,YAAA,MAAMN,OAAOC,EAAE,EAAEmB,YAAahB,CAAAA,GAAAA,CAAAA,CAAKiB,SAASC,KAAM,CAAA;gBAAEC,YAAc,EAAA;aAAQC,CAAAA,CAAAA,OAAAA,EAAAA;AAC5E;AACF;AACF;;;;;"}
@@ -1,59 +1,66 @@
1
- import { contentTypes } from "@strapi/utils";
2
- const enableDraftAndPublish = async ({ oldContentTypes, contentTypes: contentTypes$1 }) => {
3
- if (!oldContentTypes) {
4
- return;
5
- }
6
- for (const uid in contentTypes$1) {
7
- if (!oldContentTypes[uid]) {
8
- continue;
1
+ import { contentTypes, async } from '@strapi/utils';
2
+ import { getBatchToDiscard } from './database/5.0.0-discard-drafts.mjs';
3
+
4
+ /**
5
+ * Enable draft and publish for content types.
6
+ *
7
+ * Draft and publish disabled content types will have their entries published,
8
+ * this migration clones those entries as drafts.
9
+ *
10
+ * TODO: Clone components, dynamic zones and relations
11
+ */ const enableDraftAndPublish = async ({ oldContentTypes, contentTypes: contentTypes$1 })=>{
12
+ if (!oldContentTypes) {
13
+ return;
9
14
  }
10
- const oldContentType = oldContentTypes[uid];
11
- const contentType = contentTypes$1[uid];
12
- if (!contentTypes.hasDraftAndPublish(oldContentType) && contentTypes.hasDraftAndPublish(contentType)) {
13
- const metadata = strapi.db.metadata.get(uid);
14
- const attributes = Object.values(metadata.attributes).reduce((acc, attribute) => {
15
- if (["id"].includes(attribute.columnName)) {
16
- return acc;
17
- }
18
- if (contentTypes.isScalarAttribute(attribute)) {
19
- acc.push(attribute.columnName);
20
- }
21
- return acc;
22
- }, []);
23
- const qb = strapi.db?.getConnection();
24
- await qb.into(qb.raw(`${metadata.tableName} (${attributes.join(", ")})`)).insert((subQb) => {
25
- subQb.select(
26
- ...attributes.map((att) => {
27
- if (att === "published_at") {
28
- return qb.raw("NULL as published_at");
15
+ // run the after content types migrations
16
+ return strapi.db.transaction(async (trx)=>{
17
+ for(const uid in contentTypes$1){
18
+ if (!oldContentTypes[uid]) {
19
+ continue;
29
20
  }
30
- if (att === "updated_at") {
31
- return qb.raw(`? as updated_at`, [/* @__PURE__ */ new Date()]);
21
+ const oldContentType = oldContentTypes[uid];
22
+ const contentType = contentTypes$1[uid];
23
+ // if d&p was enabled set publishedAt to eq createdAt
24
+ if (!contentTypes.hasDraftAndPublish(oldContentType) && contentTypes.hasDraftAndPublish(contentType)) {
25
+ const discardDraft = async (entry)=>strapi.documents(uid)// Discard draft by referencing the documentId and locale
26
+ .discardDraft({
27
+ documentId: entry.documentId,
28
+ locale: entry.locale
29
+ });
30
+ /**
31
+ * Load a batch of entries (batched to prevent loading millions of rows at once ),
32
+ * and discard them using the document service.
33
+ */ for await (const batch of getBatchToDiscard({
34
+ db: strapi.db,
35
+ trx,
36
+ uid
37
+ })){
38
+ await async.map(batch, discardDraft, {
39
+ concurrency: 10
40
+ });
41
+ }
32
42
  }
33
- return att;
34
- })
35
- ).from(metadata.tableName).whereNotNull("published_at");
36
- });
37
- }
38
- }
43
+ }
44
+ });
39
45
  };
40
- const disableDraftAndPublish = async ({ oldContentTypes, contentTypes: contentTypes$1 }) => {
41
- if (!oldContentTypes) {
42
- return;
43
- }
44
- for (const uid in contentTypes$1) {
45
- if (!oldContentTypes[uid]) {
46
- continue;
46
+ const disableDraftAndPublish = async ({ oldContentTypes, contentTypes: contentTypes$1 })=>{
47
+ if (!oldContentTypes) {
48
+ return;
47
49
  }
48
- const oldContentType = oldContentTypes[uid];
49
- const contentType = contentTypes$1[uid];
50
- if (contentTypes.hasDraftAndPublish(oldContentType) && !contentTypes.hasDraftAndPublish(contentType)) {
51
- await strapi.db?.queryBuilder(uid).delete().where({ published_at: null }).execute();
50
+ for(const uid in contentTypes$1){
51
+ if (!oldContentTypes[uid]) {
52
+ continue;
53
+ }
54
+ const oldContentType = oldContentTypes[uid];
55
+ const contentType = contentTypes$1[uid];
56
+ // if d&p was disabled remove unpublish content before sync
57
+ if (contentTypes.hasDraftAndPublish(oldContentType) && !contentTypes.hasDraftAndPublish(contentType)) {
58
+ await strapi.db?.queryBuilder(uid).delete().where({
59
+ published_at: null
60
+ }).execute();
61
+ }
52
62
  }
53
- }
54
- };
55
- export {
56
- disableDraftAndPublish as disable,
57
- enableDraftAndPublish as enable
58
63
  };
64
+
65
+ export { disableDraftAndPublish as disable, enableDraftAndPublish as enable };
59
66
  //# sourceMappingURL=draft-publish.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"draft-publish.mjs","sources":["../../src/migrations/draft-publish.ts"],"sourcesContent":["import { contentTypes as contentTypesUtils } from '@strapi/utils';\nimport { Schema } from '@strapi/types';\n\ninterface Input {\n oldContentTypes: Record<string, Schema.ContentType>;\n contentTypes: Record<string, Schema.ContentType>;\n}\n\n/**\n * Enable draft and publish for content types.\n *\n * Draft and publish disabled content types will have their entries published,\n * this migration clones those entries as drafts.\n *\n * TODO: Clone components, dynamic zones and relations\n */\nconst enableDraftAndPublish = async ({ oldContentTypes, contentTypes }: Input) => {\n if (!oldContentTypes) {\n return;\n }\n\n // run the after content types migrations\n\n for (const uid in contentTypes) {\n if (!oldContentTypes[uid]) {\n continue;\n }\n\n const oldContentType = oldContentTypes[uid];\n const contentType = contentTypes[uid];\n\n // if d&p was enabled set publishedAt to eq createdAt\n if (\n !contentTypesUtils.hasDraftAndPublish(oldContentType) &&\n contentTypesUtils.hasDraftAndPublish(contentType)\n ) {\n const metadata = strapi.db.metadata.get(uid);\n\n // Extract all scalar attributes to use in the insert query\n const attributes = Object.values(metadata.attributes).reduce((acc, attribute: any) => {\n if (['id'].includes(attribute.columnName)) {\n return acc;\n }\n\n if (contentTypesUtils.isScalarAttribute(attribute)) {\n acc.push(attribute.columnName);\n }\n\n return acc;\n }, [] as string[]);\n\n /**\n * INSERT INTO tableName (columnName1, columnName2, columnName3, ...)\n * SELECT columnName1, columnName2, columnName3, ...\n * FROM tableName\n */\n const qb = strapi.db?.getConnection();\n await qb\n // INSERT INTO tableName (columnName1, columnName2, columnName3, ...)\n .into(qb.raw(`${metadata.tableName} (${attributes.join(', ')})`))\n .insert((subQb: typeof qb) => {\n // SELECT columnName1, columnName2, columnName3, ...\n subQb\n .select(\n ...attributes.map((att) => {\n // Override 'publishedAt' and 'updatedAt' attributes\n if (att === 'published_at') {\n return qb.raw('NULL as published_at');\n }\n\n if (att === 'updated_at') {\n return qb.raw(`? as updated_at`, [new Date()]);\n }\n\n return att;\n })\n )\n .from(metadata.tableName)\n .whereNotNull('published_at');\n });\n }\n }\n};\n\nconst disableDraftAndPublish = async ({ oldContentTypes, contentTypes }: Input) => {\n if (!oldContentTypes) {\n return;\n }\n\n for (const uid in contentTypes) {\n if (!oldContentTypes[uid]) {\n continue;\n }\n\n const oldContentType = oldContentTypes[uid];\n const contentType = contentTypes[uid];\n\n // if d&p was disabled remove unpublish content before sync\n if (\n contentTypesUtils.hasDraftAndPublish(oldContentType) &&\n !contentTypesUtils.hasDraftAndPublish(contentType)\n ) {\n await strapi.db?.queryBuilder(uid).delete().where({ published_at: null }).execute();\n }\n }\n};\n\nexport { enableDraftAndPublish as enable, disableDraftAndPublish as disable };\n"],"names":["contentTypes","contentTypesUtils"],"mappings":";AAgBA,MAAM,wBAAwB,OAAO,EAAE,iBAAiBA,cAAAA,qBAA0B;AAChF,MAAI,CAAC,iBAAiB;AACpB;AAAA,EACF;AAIA,aAAW,OAAOA,gBAAc;AAC1B,QAAA,CAAC,gBAAgB,GAAG,GAAG;AACzB;AAAA,IACF;AAEM,UAAA,iBAAiB,gBAAgB,GAAG;AACpC,UAAA,cAAcA,eAAa,GAAG;AAIlC,QAAA,CAACC,aAAkB,mBAAmB,cAAc,KACpDA,aAAkB,mBAAmB,WAAW,GAChD;AACA,YAAM,WAAW,OAAO,GAAG,SAAS,IAAI,GAAG;AAGrC,YAAA,aAAa,OAAO,OAAO,SAAS,UAAU,EAAE,OAAO,CAAC,KAAK,cAAmB;AACpF,YAAI,CAAC,IAAI,EAAE,SAAS,UAAU,UAAU,GAAG;AAClC,iBAAA;AAAA,QACT;AAEI,YAAAA,aAAkB,kBAAkB,SAAS,GAAG;AAC9C,cAAA,KAAK,UAAU,UAAU;AAAA,QAC/B;AAEO,eAAA;AAAA,MACT,GAAG,CAAc,CAAA;AAOX,YAAA,KAAK,OAAO,IAAI,cAAc;AACpC,YAAM,GAEH,KAAK,GAAG,IAAI,GAAG,SAAS,SAAS,KAAK,WAAW,KAAK,IAAI,CAAC,GAAG,CAAC,EAC/D,OAAO,CAAC,UAAqB;AAGzB,cAAA;AAAA,UACC,GAAG,WAAW,IAAI,CAAC,QAAQ;AAEzB,gBAAI,QAAQ,gBAAgB;AACnB,qBAAA,GAAG,IAAI,sBAAsB;AAAA,YACtC;AAEA,gBAAI,QAAQ,cAAc;AACxB,qBAAO,GAAG,IAAI,mBAAmB,CAAK,oBAAA,KAAM,CAAA,CAAC;AAAA,YAC/C;AAEO,mBAAA;AAAA,UAAA,CACR;AAAA,QAAA,EAEF,KAAK,SAAS,SAAS,EACvB,aAAa,cAAc;AAAA,MAAA,CAC/B;AAAA,IACL;AAAA,EACF;AACF;AAEA,MAAM,yBAAyB,OAAO,EAAE,iBAAiBD,cAAAA,qBAA0B;AACjF,MAAI,CAAC,iBAAiB;AACpB;AAAA,EACF;AAEA,aAAW,OAAOA,gBAAc;AAC1B,QAAA,CAAC,gBAAgB,GAAG,GAAG;AACzB;AAAA,IACF;AAEM,UAAA,iBAAiB,gBAAgB,GAAG;AACpC,UAAA,cAAcA,eAAa,GAAG;AAIlC,QAAAC,aAAkB,mBAAmB,cAAc,KACnD,CAACA,aAAkB,mBAAmB,WAAW,GACjD;AACA,YAAM,OAAO,IAAI,aAAa,GAAG,EAAE,OAAA,EAAS,MAAM,EAAE,cAAc,MAAM,EAAE,QAAQ;AAAA,IACpF;AAAA,EACF;AACF;"}
1
+ {"version":3,"file":"draft-publish.mjs","sources":["../../src/migrations/draft-publish.ts"],"sourcesContent":["import { contentTypes as contentTypesUtils, async } from '@strapi/utils';\nimport type { Schema } from '@strapi/types';\n\nimport { getBatchToDiscard } from './database/5.0.0-discard-drafts';\n\nexport interface Input {\n oldContentTypes: Record<string, Schema.ContentType>;\n contentTypes: Record<string, Schema.ContentType>;\n}\n\n/**\n * Enable draft and publish for content types.\n *\n * Draft and publish disabled content types will have their entries published,\n * this migration clones those entries as drafts.\n *\n * TODO: Clone components, dynamic zones and relations\n */\nconst enableDraftAndPublish = async ({ oldContentTypes, contentTypes }: Input) => {\n if (!oldContentTypes) {\n return;\n }\n\n // run the after content types migrations\n return strapi.db.transaction(async (trx) => {\n for (const uid in contentTypes) {\n if (!oldContentTypes[uid]) {\n continue;\n }\n\n const oldContentType = oldContentTypes[uid];\n const contentType = contentTypes[uid];\n\n // if d&p was enabled set publishedAt to eq createdAt\n if (\n !contentTypesUtils.hasDraftAndPublish(oldContentType) &&\n contentTypesUtils.hasDraftAndPublish(contentType)\n ) {\n const discardDraft = async (entry: { documentId: string; locale: string }) =>\n strapi\n .documents(uid as any)\n // Discard draft by referencing the documentId and locale\n .discardDraft({ documentId: entry.documentId, locale: entry.locale });\n\n /**\n * Load a batch of entries (batched to prevent loading millions of rows at once ),\n * and discard them using the document service.\n */\n for await (const batch of getBatchToDiscard({ db: strapi.db, trx, uid })) {\n await async.map(batch, discardDraft, { concurrency: 10 });\n }\n }\n }\n });\n};\n\nconst disableDraftAndPublish = async ({ oldContentTypes, contentTypes }: Input) => {\n if (!oldContentTypes) {\n return;\n }\n\n for (const uid in contentTypes) {\n if (!oldContentTypes[uid]) {\n continue;\n }\n\n const oldContentType = oldContentTypes[uid];\n const contentType = contentTypes[uid];\n\n // if d&p was disabled remove unpublish content before sync\n if (\n contentTypesUtils.hasDraftAndPublish(oldContentType) &&\n !contentTypesUtils.hasDraftAndPublish(contentType)\n ) {\n await strapi.db?.queryBuilder(uid).delete().where({ published_at: null }).execute();\n }\n }\n};\n\nexport { enableDraftAndPublish as enable, disableDraftAndPublish as disable };\n"],"names":["enableDraftAndPublish","oldContentTypes","contentTypes","strapi","db","transaction","trx","uid","oldContentType","contentType","contentTypesUtils","hasDraftAndPublish","discardDraft","entry","documents","documentId","locale","batch","getBatchToDiscard","async","map","concurrency","disableDraftAndPublish","queryBuilder","delete","where","published_at","execute"],"mappings":";;;AAUA;;;;;;;AAOC,UACKA,qBAAwB,GAAA,OAAO,EAAEC,eAAe,gBAAEC,cAAY,EAAS,GAAA;AAC3E,IAAA,IAAI,CAACD,eAAiB,EAAA;AACpB,QAAA;AACF;;AAGA,IAAA,OAAOE,MAAOC,CAAAA,EAAE,CAACC,WAAW,CAAC,OAAOC,GAAAA,GAAAA;QAClC,IAAK,MAAMC,OAAOL,cAAc,CAAA;AAC9B,YAAA,IAAI,CAACD,eAAe,CAACM,GAAAA,CAAI,EAAE;AACzB,gBAAA;AACF;YAEA,MAAMC,cAAAA,GAAiBP,eAAe,CAACM,GAAI,CAAA;YAC3C,MAAME,WAAAA,GAAcP,cAAY,CAACK,GAAI,CAAA;;YAGrC,IACE,CAACG,aAAkBC,kBAAkB,CAACH,mBACtCE,YAAkBC,CAAAA,kBAAkB,CAACF,WACrC,CAAA,EAAA;AACA,gBAAA,MAAMG,eAAe,OAAOC,KAAAA,GAC1BV,OACGW,SAAS,CAACP,IACX;AACCK,qBAAAA,YAAY,CAAC;AAAEG,wBAAAA,UAAAA,EAAYF,MAAME,UAAU;AAAEC,wBAAAA,MAAAA,EAAQH,MAAMG;AAAO,qBAAA,CAAA;AAEvE;;;YAIA,WAAW,MAAMC,KAAAA,IAASC,iBAAkB,CAAA;AAAEd,oBAAAA,EAAAA,EAAID,OAAOC,EAAE;AAAEE,oBAAAA,GAAAA;AAAKC,oBAAAA;iBAAQ,CAAA,CAAA;AACxE,oBAAA,MAAMY,KAAMC,CAAAA,GAAG,CAACH,KAAAA,EAAOL,YAAc,EAAA;wBAAES,WAAa,EAAA;AAAG,qBAAA,CAAA;AACzD;AACF;AACF;AACF,KAAA,CAAA;AACF;AAEA,MAAMC,yBAAyB,OAAO,EAAErB,eAAe,gBAAEC,cAAY,EAAS,GAAA;AAC5E,IAAA,IAAI,CAACD,eAAiB,EAAA;AACpB,QAAA;AACF;IAEA,IAAK,MAAMM,OAAOL,cAAc,CAAA;AAC9B,QAAA,IAAI,CAACD,eAAe,CAACM,GAAAA,CAAI,EAAE;AACzB,YAAA;AACF;QAEA,MAAMC,cAAAA,GAAiBP,eAAe,CAACM,GAAI,CAAA;QAC3C,MAAME,WAAAA,GAAcP,cAAY,CAACK,GAAI,CAAA;;QAGrC,IACEG,YAAAA,CAAkBC,kBAAkB,CAACH,cAAAA,CAAAA,IACrC,CAACE,YAAkBC,CAAAA,kBAAkB,CAACF,WACtC,CAAA,EAAA;AACA,YAAA,MAAMN,OAAOC,EAAE,EAAEmB,YAAahB,CAAAA,GAAAA,CAAAA,CAAKiB,SAASC,KAAM,CAAA;gBAAEC,YAAc,EAAA;aAAQC,CAAAA,CAAAA,OAAAA,EAAAA;AAC5E;AACF;AACF;;;;"}
@@ -0,0 +1,4 @@
1
+ import { Input } from './draft-publish';
2
+ declare const enableFirstPublishedAt: ({ oldContentTypes, contentTypes }: Input) => Promise<void>;
3
+ export { enableFirstPublishedAt as enable };
4
+ //# sourceMappingURL=first-published-at.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"first-published-at.d.ts","sourceRoot":"","sources":["../../src/migrations/first-published-at.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAUxC,QAAA,MAAM,sBAAsB,sCAA6C,KAAK,kBA6D7E,CAAC;AAEF,OAAO,EAAE,sBAAsB,IAAI,MAAM,EAAE,CAAC"}
@@ -0,0 +1,51 @@
1
+ 'use strict';
2
+
3
+ var strapiUtils = require('@strapi/utils');
4
+ var _ = require('lodash');
5
+
6
+ const enableFirstPublishedAt = async ({ oldContentTypes, contentTypes })=>{
7
+ if (!oldContentTypes) {
8
+ return;
9
+ }
10
+ return strapi.db.transaction(async (trx)=>{
11
+ for(const uid in contentTypes){
12
+ if (!oldContentTypes[uid]) {
13
+ continue;
14
+ }
15
+ const contentType = contentTypes[uid];
16
+ if (!strapiUtils.contentTypes.hasFirstPublishedAtField(contentType)) {
17
+ continue;
18
+ }
19
+ if (!contentType.attributes?.firstPublishedAt) {
20
+ continue;
21
+ }
22
+ const content = await strapi.db.queryBuilder(uid).select('*').transacting(trx).execute();
23
+ // Process content types in pairs: draft and published.
24
+ // If only one exist, which means the value is not published yet and we can ignore it
25
+ const groupedContent = _.groupBy(content, (item)=>`${item.documentId}-${item.locale}`);
26
+ for (const items of Object.values(groupedContent)){
27
+ // If there is only one item, which means nothing is published yet for this locale
28
+ if (items.length <= 1) {
29
+ continue;
30
+ }
31
+ // If firstPublishedAt is already present, do not do anything
32
+ if (items[0].firstPublishedAt != null && items[1].firstPublishedAt != null) {
33
+ continue;
34
+ }
35
+ const publishedContent = items.filter((item)=>item.publishedAt != null).at(0);
36
+ if (!publishedContent) {
37
+ continue;
38
+ }
39
+ await strapi.db.queryBuilder(uid).update({
40
+ firstPublishedAt: new Date(publishedContent.publishedAt)
41
+ }).where({
42
+ documentId: publishedContent.documentId,
43
+ locale: publishedContent.locale
44
+ }).transacting(trx).execute();
45
+ }
46
+ }
47
+ });
48
+ };
49
+
50
+ exports.enable = enableFirstPublishedAt;
51
+ //# sourceMappingURL=first-published-at.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"first-published-at.js","sources":["../../src/migrations/first-published-at.ts"],"sourcesContent":["import { contentTypes as contentTypesUtils } from '@strapi/utils';\nimport _ from 'lodash';\nimport { Input } from './draft-publish';\n\ninterface ContentTypeData {\n id: number;\n documentId: string;\n publishedAt: Date;\n firstPublishedAt: Date;\n locale: string;\n}\n\nconst enableFirstPublishedAt = async ({ oldContentTypes, contentTypes }: Input) => {\n if (!oldContentTypes) {\n return;\n }\n\n return strapi.db.transaction(async (trx) => {\n for (const uid in contentTypes) {\n if (!oldContentTypes[uid]) {\n continue;\n }\n\n const contentType = contentTypes[uid];\n\n if (!contentTypesUtils.hasFirstPublishedAtField(contentType)) {\n continue;\n }\n\n if (!contentType.attributes?.firstPublishedAt) {\n continue;\n }\n\n const content: ContentTypeData[] = await strapi.db\n .queryBuilder(uid)\n .select('*')\n .transacting(trx)\n .execute();\n\n // Process content types in pairs: draft and published.\n // If only one exist, which means the value is not published yet and we can ignore it\n const groupedContent = _.groupBy(content, (item) => `${item.documentId}-${item.locale}`);\n\n for (const items of Object.values(groupedContent)) {\n // If there is only one item, which means nothing is published yet for this locale\n if (items.length <= 1) {\n continue;\n }\n\n // If firstPublishedAt is already present, do not do anything\n if (items[0].firstPublishedAt != null && items[1].firstPublishedAt != null) {\n continue;\n }\n\n const publishedContent = items.filter((item) => item.publishedAt != null).at(0);\n if (!publishedContent) {\n continue;\n }\n\n await strapi.db\n .queryBuilder(uid)\n .update({\n firstPublishedAt: new Date(publishedContent.publishedAt),\n })\n .where({\n documentId: publishedContent.documentId,\n locale: publishedContent.locale,\n })\n .transacting(trx)\n .execute();\n }\n }\n });\n};\n\nexport { enableFirstPublishedAt as enable };\n"],"names":["enableFirstPublishedAt","oldContentTypes","contentTypes","strapi","db","transaction","trx","uid","contentType","contentTypesUtils","hasFirstPublishedAtField","attributes","firstPublishedAt","content","queryBuilder","select","transacting","execute","groupedContent","_","groupBy","item","documentId","locale","items","Object","values","length","publishedContent","filter","publishedAt","at","update","Date","where"],"mappings":";;;;;AAYA,MAAMA,yBAAyB,OAAO,EAAEC,eAAe,EAAEC,YAAY,EAAS,GAAA;AAC5E,IAAA,IAAI,CAACD,eAAiB,EAAA;AACpB,QAAA;AACF;AAEA,IAAA,OAAOE,MAAOC,CAAAA,EAAE,CAACC,WAAW,CAAC,OAAOC,GAAAA,GAAAA;QAClC,IAAK,MAAMC,OAAOL,YAAc,CAAA;AAC9B,YAAA,IAAI,CAACD,eAAe,CAACM,GAAAA,CAAI,EAAE;AACzB,gBAAA;AACF;YAEA,MAAMC,WAAAA,GAAcN,YAAY,CAACK,GAAI,CAAA;AAErC,YAAA,IAAI,CAACE,wBAAAA,CAAkBC,wBAAwB,CAACF,WAAc,CAAA,EAAA;AAC5D,gBAAA;AACF;AAEA,YAAA,IAAI,CAACA,WAAAA,CAAYG,UAAU,EAAEC,gBAAkB,EAAA;AAC7C,gBAAA;AACF;AAEA,YAAA,MAAMC,OAA6B,GAAA,MAAMV,MAAOC,CAAAA,EAAE,CAC/CU,YAAY,CAACP,GACbQ,CAAAA,CAAAA,MAAM,CAAC,GAAA,CAAA,CACPC,WAAW,CAACV,KACZW,OAAO,EAAA;;;AAIV,YAAA,MAAMC,iBAAiBC,CAAEC,CAAAA,OAAO,CAACP,OAAAA,EAAS,CAACQ,IAAS,GAAA,CAAC,EAAEA,IAAAA,CAAKC,UAAU,CAAC,CAAC,EAAED,IAAKE,CAAAA,MAAM,CAAC,CAAC,CAAA;AAEvF,YAAA,KAAK,MAAMC,KAAAA,IAASC,MAAOC,CAAAA,MAAM,CAACR,cAAiB,CAAA,CAAA;;gBAEjD,IAAIM,KAAAA,CAAMG,MAAM,IAAI,CAAG,EAAA;AACrB,oBAAA;AACF;;AAGA,gBAAA,IAAIH,KAAK,CAAC,CAAE,CAAA,CAACZ,gBAAgB,IAAI,IAAQY,IAAAA,KAAK,CAAC,CAAA,CAAE,CAACZ,gBAAgB,IAAI,IAAM,EAAA;AAC1E,oBAAA;AACF;gBAEA,MAAMgB,gBAAAA,GAAmBJ,KAAMK,CAAAA,MAAM,CAAC,CAACR,IAASA,GAAAA,IAAAA,CAAKS,WAAW,IAAI,IAAMC,CAAAA,CAAAA,EAAE,CAAC,CAAA,CAAA;AAC7E,gBAAA,IAAI,CAACH,gBAAkB,EAAA;AACrB,oBAAA;AACF;AAEA,gBAAA,MAAMzB,OAAOC,EAAE,CACZU,YAAY,CAACP,GAAAA,CAAAA,CACbyB,MAAM,CAAC;oBACNpB,gBAAkB,EAAA,IAAIqB,IAAKL,CAAAA,gBAAAA,CAAiBE,WAAW;AACzD,iBAAA,CAAA,CACCI,KAAK,CAAC;AACLZ,oBAAAA,UAAAA,EAAYM,iBAAiBN,UAAU;AACvCC,oBAAAA,MAAAA,EAAQK,iBAAiBL;iBAE1BP,CAAAA,CAAAA,WAAW,CAACV,GAAAA,CAAAA,CACZW,OAAO,EAAA;AACZ;AACF;AACF,KAAA,CAAA;AACF;;;;"}
@@ -0,0 +1,49 @@
1
+ import { contentTypes } from '@strapi/utils';
2
+ import _ from 'lodash';
3
+
4
+ const enableFirstPublishedAt = async ({ oldContentTypes, contentTypes: contentTypes$1 })=>{
5
+ if (!oldContentTypes) {
6
+ return;
7
+ }
8
+ return strapi.db.transaction(async (trx)=>{
9
+ for(const uid in contentTypes$1){
10
+ if (!oldContentTypes[uid]) {
11
+ continue;
12
+ }
13
+ const contentType = contentTypes$1[uid];
14
+ if (!contentTypes.hasFirstPublishedAtField(contentType)) {
15
+ continue;
16
+ }
17
+ if (!contentType.attributes?.firstPublishedAt) {
18
+ continue;
19
+ }
20
+ const content = await strapi.db.queryBuilder(uid).select('*').transacting(trx).execute();
21
+ // Process content types in pairs: draft and published.
22
+ // If only one exist, which means the value is not published yet and we can ignore it
23
+ const groupedContent = _.groupBy(content, (item)=>`${item.documentId}-${item.locale}`);
24
+ for (const items of Object.values(groupedContent)){
25
+ // If there is only one item, which means nothing is published yet for this locale
26
+ if (items.length <= 1) {
27
+ continue;
28
+ }
29
+ // If firstPublishedAt is already present, do not do anything
30
+ if (items[0].firstPublishedAt != null && items[1].firstPublishedAt != null) {
31
+ continue;
32
+ }
33
+ const publishedContent = items.filter((item)=>item.publishedAt != null).at(0);
34
+ if (!publishedContent) {
35
+ continue;
36
+ }
37
+ await strapi.db.queryBuilder(uid).update({
38
+ firstPublishedAt: new Date(publishedContent.publishedAt)
39
+ }).where({
40
+ documentId: publishedContent.documentId,
41
+ locale: publishedContent.locale
42
+ }).transacting(trx).execute();
43
+ }
44
+ }
45
+ });
46
+ };
47
+
48
+ export { enableFirstPublishedAt as enable };
49
+ //# sourceMappingURL=first-published-at.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"first-published-at.mjs","sources":["../../src/migrations/first-published-at.ts"],"sourcesContent":["import { contentTypes as contentTypesUtils } from '@strapi/utils';\nimport _ from 'lodash';\nimport { Input } from './draft-publish';\n\ninterface ContentTypeData {\n id: number;\n documentId: string;\n publishedAt: Date;\n firstPublishedAt: Date;\n locale: string;\n}\n\nconst enableFirstPublishedAt = async ({ oldContentTypes, contentTypes }: Input) => {\n if (!oldContentTypes) {\n return;\n }\n\n return strapi.db.transaction(async (trx) => {\n for (const uid in contentTypes) {\n if (!oldContentTypes[uid]) {\n continue;\n }\n\n const contentType = contentTypes[uid];\n\n if (!contentTypesUtils.hasFirstPublishedAtField(contentType)) {\n continue;\n }\n\n if (!contentType.attributes?.firstPublishedAt) {\n continue;\n }\n\n const content: ContentTypeData[] = await strapi.db\n .queryBuilder(uid)\n .select('*')\n .transacting(trx)\n .execute();\n\n // Process content types in pairs: draft and published.\n // If only one exist, which means the value is not published yet and we can ignore it\n const groupedContent = _.groupBy(content, (item) => `${item.documentId}-${item.locale}`);\n\n for (const items of Object.values(groupedContent)) {\n // If there is only one item, which means nothing is published yet for this locale\n if (items.length <= 1) {\n continue;\n }\n\n // If firstPublishedAt is already present, do not do anything\n if (items[0].firstPublishedAt != null && items[1].firstPublishedAt != null) {\n continue;\n }\n\n const publishedContent = items.filter((item) => item.publishedAt != null).at(0);\n if (!publishedContent) {\n continue;\n }\n\n await strapi.db\n .queryBuilder(uid)\n .update({\n firstPublishedAt: new Date(publishedContent.publishedAt),\n })\n .where({\n documentId: publishedContent.documentId,\n locale: publishedContent.locale,\n })\n .transacting(trx)\n .execute();\n }\n }\n });\n};\n\nexport { enableFirstPublishedAt as enable };\n"],"names":["enableFirstPublishedAt","oldContentTypes","contentTypes","strapi","db","transaction","trx","uid","contentType","contentTypesUtils","hasFirstPublishedAtField","attributes","firstPublishedAt","content","queryBuilder","select","transacting","execute","groupedContent","_","groupBy","item","documentId","locale","items","Object","values","length","publishedContent","filter","publishedAt","at","update","Date","where"],"mappings":";;;AAYA,MAAMA,yBAAyB,OAAO,EAAEC,eAAe,gBAAEC,cAAY,EAAS,GAAA;AAC5E,IAAA,IAAI,CAACD,eAAiB,EAAA;AACpB,QAAA;AACF;AAEA,IAAA,OAAOE,MAAOC,CAAAA,EAAE,CAACC,WAAW,CAAC,OAAOC,GAAAA,GAAAA;QAClC,IAAK,MAAMC,OAAOL,cAAc,CAAA;AAC9B,YAAA,IAAI,CAACD,eAAe,CAACM,GAAAA,CAAI,EAAE;AACzB,gBAAA;AACF;YAEA,MAAMC,WAAAA,GAAcN,cAAY,CAACK,GAAI,CAAA;AAErC,YAAA,IAAI,CAACE,YAAAA,CAAkBC,wBAAwB,CAACF,WAAc,CAAA,EAAA;AAC5D,gBAAA;AACF;AAEA,YAAA,IAAI,CAACA,WAAAA,CAAYG,UAAU,EAAEC,gBAAkB,EAAA;AAC7C,gBAAA;AACF;AAEA,YAAA,MAAMC,OAA6B,GAAA,MAAMV,MAAOC,CAAAA,EAAE,CAC/CU,YAAY,CAACP,GACbQ,CAAAA,CAAAA,MAAM,CAAC,GAAA,CAAA,CACPC,WAAW,CAACV,KACZW,OAAO,EAAA;;;AAIV,YAAA,MAAMC,iBAAiBC,CAAEC,CAAAA,OAAO,CAACP,OAAAA,EAAS,CAACQ,IAAS,GAAA,CAAC,EAAEA,IAAAA,CAAKC,UAAU,CAAC,CAAC,EAAED,IAAKE,CAAAA,MAAM,CAAC,CAAC,CAAA;AAEvF,YAAA,KAAK,MAAMC,KAAAA,IAASC,MAAOC,CAAAA,MAAM,CAACR,cAAiB,CAAA,CAAA;;gBAEjD,IAAIM,KAAAA,CAAMG,MAAM,IAAI,CAAG,EAAA;AACrB,oBAAA;AACF;;AAGA,gBAAA,IAAIH,KAAK,CAAC,CAAE,CAAA,CAACZ,gBAAgB,IAAI,IAAQY,IAAAA,KAAK,CAAC,CAAA,CAAE,CAACZ,gBAAgB,IAAI,IAAM,EAAA;AAC1E,oBAAA;AACF;gBAEA,MAAMgB,gBAAAA,GAAmBJ,KAAMK,CAAAA,MAAM,CAAC,CAACR,IAASA,GAAAA,IAAAA,CAAKS,WAAW,IAAI,IAAMC,CAAAA,CAAAA,EAAE,CAAC,CAAA,CAAA;AAC7E,gBAAA,IAAI,CAACH,gBAAkB,EAAA;AACrB,oBAAA;AACF;AAEA,gBAAA,MAAMzB,OAAOC,EAAE,CACZU,YAAY,CAACP,GAAAA,CAAAA,CACbyB,MAAM,CAAC;oBACNpB,gBAAkB,EAAA,IAAIqB,IAAKL,CAAAA,gBAAAA,CAAiBE,WAAW;AACzD,iBAAA,CAAA,CACCI,KAAK,CAAC;AACLZ,oBAAAA,UAAAA,EAAYM,iBAAiBN,UAAU;AACvCC,oBAAAA,MAAAA,EAAQK,iBAAiBL;iBAE1BP,CAAAA,CAAAA,WAAW,CAACV,GAAAA,CAAAA,CACZW,OAAO,EAAA;AACZ;AACF;AACF,KAAA,CAAA;AACF;;;;"}
@@ -0,0 +1,5 @@
1
+ import { Input } from './draft-publish';
2
+ declare const enableI18n: ({ oldContentTypes, contentTypes }: Input) => Promise<void>;
3
+ declare const disableI18n: ({ oldContentTypes, contentTypes }: Input) => Promise<void>;
4
+ export { enableI18n as enable, disableI18n as disable };
5
+ //# sourceMappingURL=i18n.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../src/migrations/i18n.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAGxC,QAAA,MAAM,UAAU,sCAA6C,KAAK,kBAyBjE,CAAC;AAEF,QAAA,MAAM,WAAW,sCAA6C,KAAK,kBAiClE,CAAC;AAEF,OAAO,EAAE,UAAU,IAAI,MAAM,EAAE,WAAW,IAAI,OAAO,EAAE,CAAC"}
@@ -0,0 +1,71 @@
1
+ 'use strict';
2
+
3
+ // if i18N enabled set default locale
4
+ const enableI18n = async ({ oldContentTypes, contentTypes })=>{
5
+ const { isLocalizedContentType } = strapi.plugin('i18n')?.service('content-types') ?? {};
6
+ const { getDefaultLocale } = strapi.plugin('i18n')?.service('locales') ?? {};
7
+ if (!oldContentTypes) {
8
+ return;
9
+ }
10
+ for(const uid in contentTypes){
11
+ if (!oldContentTypes[uid]) {
12
+ continue;
13
+ }
14
+ const oldContentType = oldContentTypes[uid];
15
+ const contentType = contentTypes[uid];
16
+ if (!isLocalizedContentType(oldContentType) && isLocalizedContentType(contentType)) {
17
+ const defaultLocale = await getDefaultLocale();
18
+ await strapi.db.query(uid).updateMany({
19
+ where: {
20
+ locale: null
21
+ },
22
+ data: {
23
+ locale: defaultLocale
24
+ }
25
+ });
26
+ }
27
+ }
28
+ };
29
+ const disableI18n = async ({ oldContentTypes, contentTypes })=>{
30
+ const { isLocalizedContentType } = strapi.plugin('i18n')?.service('content-types') ?? {};
31
+ const { getDefaultLocale } = strapi.plugin('i18n')?.service('locales') ?? {};
32
+ if (!oldContentTypes) {
33
+ return;
34
+ }
35
+ for(const uid in contentTypes){
36
+ if (!oldContentTypes[uid]) {
37
+ continue;
38
+ }
39
+ const oldContentType = oldContentTypes[uid];
40
+ const contentType = contentTypes[uid];
41
+ // if i18N is disabled remove non default locales before sync
42
+ if (isLocalizedContentType(oldContentType) && !isLocalizedContentType(contentType)) {
43
+ const defaultLocale = await getDefaultLocale();
44
+ await Promise.all([
45
+ // Delete all entities that are not in the default locale
46
+ strapi.db.query(uid).deleteMany({
47
+ where: {
48
+ locale: {
49
+ $ne: defaultLocale
50
+ }
51
+ }
52
+ }),
53
+ // Set locale to null for the rest
54
+ strapi.db.query(uid).updateMany({
55
+ where: {
56
+ locale: {
57
+ $eq: defaultLocale
58
+ }
59
+ },
60
+ data: {
61
+ locale: null
62
+ }
63
+ })
64
+ ]);
65
+ }
66
+ }
67
+ };
68
+
69
+ exports.disable = disableI18n;
70
+ exports.enable = enableI18n;
71
+ //# sourceMappingURL=i18n.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"i18n.js","sources":["../../src/migrations/i18n.ts"],"sourcesContent":["import { Input } from './draft-publish';\n\n// if i18N enabled set default locale\nconst enableI18n = async ({ oldContentTypes, contentTypes }: Input) => {\n const { isLocalizedContentType } = strapi.plugin('i18n')?.service('content-types') ?? {};\n const { getDefaultLocale } = strapi.plugin('i18n')?.service('locales') ?? {};\n\n if (!oldContentTypes) {\n return;\n }\n\n for (const uid in contentTypes) {\n if (!oldContentTypes[uid]) {\n continue;\n }\n\n const oldContentType = oldContentTypes[uid];\n const contentType = contentTypes[uid];\n\n if (!isLocalizedContentType(oldContentType) && isLocalizedContentType(contentType)) {\n const defaultLocale = await getDefaultLocale();\n\n await strapi.db.query(uid).updateMany({\n where: { locale: null },\n data: { locale: defaultLocale },\n });\n }\n }\n};\n\nconst disableI18n = async ({ oldContentTypes, contentTypes }: Input) => {\n const { isLocalizedContentType } = strapi.plugin('i18n')?.service('content-types') ?? {};\n const { getDefaultLocale } = strapi.plugin('i18n')?.service('locales') ?? {};\n\n if (!oldContentTypes) {\n return;\n }\n\n for (const uid in contentTypes) {\n if (!oldContentTypes[uid]) {\n continue;\n }\n\n const oldContentType = oldContentTypes[uid];\n const contentType = contentTypes[uid];\n\n // if i18N is disabled remove non default locales before sync\n if (isLocalizedContentType(oldContentType) && !isLocalizedContentType(contentType)) {\n const defaultLocale = await getDefaultLocale();\n\n await Promise.all([\n // Delete all entities that are not in the default locale\n strapi.db.query(uid).deleteMany({\n where: { locale: { $ne: defaultLocale } },\n }),\n // Set locale to null for the rest\n strapi.db.query(uid).updateMany({\n where: { locale: { $eq: defaultLocale } },\n data: { locale: null },\n }),\n ]);\n }\n }\n};\n\nexport { enableI18n as enable, disableI18n as disable };\n"],"names":["enableI18n","oldContentTypes","contentTypes","isLocalizedContentType","strapi","plugin","service","getDefaultLocale","uid","oldContentType","contentType","defaultLocale","db","query","updateMany","where","locale","data","disableI18n","Promise","all","deleteMany","$ne","$eq"],"mappings":";;AAEA;AACA,MAAMA,aAAa,OAAO,EAAEC,eAAe,EAAEC,YAAY,EAAS,GAAA;IAChE,MAAM,EAAEC,sBAAsB,EAAE,GAAGC,MAAAA,CAAOC,MAAM,CAAC,MAAA,CAAA,EAASC,OAAQ,CAAA,eAAA,CAAA,IAAoB,EAAC;IACvF,MAAM,EAAEC,gBAAgB,EAAE,GAAGH,MAAAA,CAAOC,MAAM,CAAC,MAAA,CAAA,EAASC,OAAQ,CAAA,SAAA,CAAA,IAAc,EAAC;AAE3E,IAAA,IAAI,CAACL,eAAiB,EAAA;AACpB,QAAA;AACF;IAEA,IAAK,MAAMO,OAAON,YAAc,CAAA;AAC9B,QAAA,IAAI,CAACD,eAAe,CAACO,GAAAA,CAAI,EAAE;AACzB,YAAA;AACF;QAEA,MAAMC,cAAAA,GAAiBR,eAAe,CAACO,GAAI,CAAA;QAC3C,MAAME,WAAAA,GAAcR,YAAY,CAACM,GAAI,CAAA;AAErC,QAAA,IAAI,CAACL,sBAAAA,CAAuBM,cAAmBN,CAAAA,IAAAA,sBAAAA,CAAuBO,WAAc,CAAA,EAAA;AAClF,YAAA,MAAMC,gBAAgB,MAAMJ,gBAAAA,EAAAA;AAE5B,YAAA,MAAMH,OAAOQ,EAAE,CAACC,KAAK,CAACL,GAAAA,CAAAA,CAAKM,UAAU,CAAC;gBACpCC,KAAO,EAAA;oBAAEC,MAAQ,EAAA;AAAK,iBAAA;gBACtBC,IAAM,EAAA;oBAAED,MAAQL,EAAAA;AAAc;AAChC,aAAA,CAAA;AACF;AACF;AACF;AAEA,MAAMO,cAAc,OAAO,EAAEjB,eAAe,EAAEC,YAAY,EAAS,GAAA;IACjE,MAAM,EAAEC,sBAAsB,EAAE,GAAGC,MAAAA,CAAOC,MAAM,CAAC,MAAA,CAAA,EAASC,OAAQ,CAAA,eAAA,CAAA,IAAoB,EAAC;IACvF,MAAM,EAAEC,gBAAgB,EAAE,GAAGH,MAAAA,CAAOC,MAAM,CAAC,MAAA,CAAA,EAASC,OAAQ,CAAA,SAAA,CAAA,IAAc,EAAC;AAE3E,IAAA,IAAI,CAACL,eAAiB,EAAA;AACpB,QAAA;AACF;IAEA,IAAK,MAAMO,OAAON,YAAc,CAAA;AAC9B,QAAA,IAAI,CAACD,eAAe,CAACO,GAAAA,CAAI,EAAE;AACzB,YAAA;AACF;QAEA,MAAMC,cAAAA,GAAiBR,eAAe,CAACO,GAAI,CAAA;QAC3C,MAAME,WAAAA,GAAcR,YAAY,CAACM,GAAI,CAAA;;AAGrC,QAAA,IAAIL,sBAAuBM,CAAAA,cAAAA,CAAAA,IAAmB,CAACN,sBAAAA,CAAuBO,WAAc,CAAA,EAAA;AAClF,YAAA,MAAMC,gBAAgB,MAAMJ,gBAAAA,EAAAA;YAE5B,MAAMY,OAAAA,CAAQC,GAAG,CAAC;;AAEhBhB,gBAAAA,MAAAA,CAAOQ,EAAE,CAACC,KAAK,CAACL,GAAAA,CAAAA,CAAKa,UAAU,CAAC;oBAC9BN,KAAO,EAAA;wBAAEC,MAAQ,EAAA;4BAAEM,GAAKX,EAAAA;AAAc;AAAE;AAC1C,iBAAA,CAAA;;AAEAP,gBAAAA,MAAAA,CAAOQ,EAAE,CAACC,KAAK,CAACL,GAAAA,CAAAA,CAAKM,UAAU,CAAC;oBAC9BC,KAAO,EAAA;wBAAEC,MAAQ,EAAA;4BAAEO,GAAKZ,EAAAA;AAAc;AAAE,qBAAA;oBACxCM,IAAM,EAAA;wBAAED,MAAQ,EAAA;AAAK;AACvB,iBAAA;AACD,aAAA,CAAA;AACH;AACF;AACF;;;;;"}
@@ -0,0 +1,68 @@
1
+ // if i18N enabled set default locale
2
+ const enableI18n = async ({ oldContentTypes, contentTypes })=>{
3
+ const { isLocalizedContentType } = strapi.plugin('i18n')?.service('content-types') ?? {};
4
+ const { getDefaultLocale } = strapi.plugin('i18n')?.service('locales') ?? {};
5
+ if (!oldContentTypes) {
6
+ return;
7
+ }
8
+ for(const uid in contentTypes){
9
+ if (!oldContentTypes[uid]) {
10
+ continue;
11
+ }
12
+ const oldContentType = oldContentTypes[uid];
13
+ const contentType = contentTypes[uid];
14
+ if (!isLocalizedContentType(oldContentType) && isLocalizedContentType(contentType)) {
15
+ const defaultLocale = await getDefaultLocale();
16
+ await strapi.db.query(uid).updateMany({
17
+ where: {
18
+ locale: null
19
+ },
20
+ data: {
21
+ locale: defaultLocale
22
+ }
23
+ });
24
+ }
25
+ }
26
+ };
27
+ const disableI18n = async ({ oldContentTypes, contentTypes })=>{
28
+ const { isLocalizedContentType } = strapi.plugin('i18n')?.service('content-types') ?? {};
29
+ const { getDefaultLocale } = strapi.plugin('i18n')?.service('locales') ?? {};
30
+ if (!oldContentTypes) {
31
+ return;
32
+ }
33
+ for(const uid in contentTypes){
34
+ if (!oldContentTypes[uid]) {
35
+ continue;
36
+ }
37
+ const oldContentType = oldContentTypes[uid];
38
+ const contentType = contentTypes[uid];
39
+ // if i18N is disabled remove non default locales before sync
40
+ if (isLocalizedContentType(oldContentType) && !isLocalizedContentType(contentType)) {
41
+ const defaultLocale = await getDefaultLocale();
42
+ await Promise.all([
43
+ // Delete all entities that are not in the default locale
44
+ strapi.db.query(uid).deleteMany({
45
+ where: {
46
+ locale: {
47
+ $ne: defaultLocale
48
+ }
49
+ }
50
+ }),
51
+ // Set locale to null for the rest
52
+ strapi.db.query(uid).updateMany({
53
+ where: {
54
+ locale: {
55
+ $eq: defaultLocale
56
+ }
57
+ },
58
+ data: {
59
+ locale: null
60
+ }
61
+ })
62
+ ]);
63
+ }
64
+ }
65
+ };
66
+
67
+ export { disableI18n as disable, enableI18n as enable };
68
+ //# sourceMappingURL=i18n.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"i18n.mjs","sources":["../../src/migrations/i18n.ts"],"sourcesContent":["import { Input } from './draft-publish';\n\n// if i18N enabled set default locale\nconst enableI18n = async ({ oldContentTypes, contentTypes }: Input) => {\n const { isLocalizedContentType } = strapi.plugin('i18n')?.service('content-types') ?? {};\n const { getDefaultLocale } = strapi.plugin('i18n')?.service('locales') ?? {};\n\n if (!oldContentTypes) {\n return;\n }\n\n for (const uid in contentTypes) {\n if (!oldContentTypes[uid]) {\n continue;\n }\n\n const oldContentType = oldContentTypes[uid];\n const contentType = contentTypes[uid];\n\n if (!isLocalizedContentType(oldContentType) && isLocalizedContentType(contentType)) {\n const defaultLocale = await getDefaultLocale();\n\n await strapi.db.query(uid).updateMany({\n where: { locale: null },\n data: { locale: defaultLocale },\n });\n }\n }\n};\n\nconst disableI18n = async ({ oldContentTypes, contentTypes }: Input) => {\n const { isLocalizedContentType } = strapi.plugin('i18n')?.service('content-types') ?? {};\n const { getDefaultLocale } = strapi.plugin('i18n')?.service('locales') ?? {};\n\n if (!oldContentTypes) {\n return;\n }\n\n for (const uid in contentTypes) {\n if (!oldContentTypes[uid]) {\n continue;\n }\n\n const oldContentType = oldContentTypes[uid];\n const contentType = contentTypes[uid];\n\n // if i18N is disabled remove non default locales before sync\n if (isLocalizedContentType(oldContentType) && !isLocalizedContentType(contentType)) {\n const defaultLocale = await getDefaultLocale();\n\n await Promise.all([\n // Delete all entities that are not in the default locale\n strapi.db.query(uid).deleteMany({\n where: { locale: { $ne: defaultLocale } },\n }),\n // Set locale to null for the rest\n strapi.db.query(uid).updateMany({\n where: { locale: { $eq: defaultLocale } },\n data: { locale: null },\n }),\n ]);\n }\n }\n};\n\nexport { enableI18n as enable, disableI18n as disable };\n"],"names":["enableI18n","oldContentTypes","contentTypes","isLocalizedContentType","strapi","plugin","service","getDefaultLocale","uid","oldContentType","contentType","defaultLocale","db","query","updateMany","where","locale","data","disableI18n","Promise","all","deleteMany","$ne","$eq"],"mappings":"AAEA;AACA,MAAMA,aAAa,OAAO,EAAEC,eAAe,EAAEC,YAAY,EAAS,GAAA;IAChE,MAAM,EAAEC,sBAAsB,EAAE,GAAGC,MAAAA,CAAOC,MAAM,CAAC,MAAA,CAAA,EAASC,OAAQ,CAAA,eAAA,CAAA,IAAoB,EAAC;IACvF,MAAM,EAAEC,gBAAgB,EAAE,GAAGH,MAAAA,CAAOC,MAAM,CAAC,MAAA,CAAA,EAASC,OAAQ,CAAA,SAAA,CAAA,IAAc,EAAC;AAE3E,IAAA,IAAI,CAACL,eAAiB,EAAA;AACpB,QAAA;AACF;IAEA,IAAK,MAAMO,OAAON,YAAc,CAAA;AAC9B,QAAA,IAAI,CAACD,eAAe,CAACO,GAAAA,CAAI,EAAE;AACzB,YAAA;AACF;QAEA,MAAMC,cAAAA,GAAiBR,eAAe,CAACO,GAAI,CAAA;QAC3C,MAAME,WAAAA,GAAcR,YAAY,CAACM,GAAI,CAAA;AAErC,QAAA,IAAI,CAACL,sBAAAA,CAAuBM,cAAmBN,CAAAA,IAAAA,sBAAAA,CAAuBO,WAAc,CAAA,EAAA;AAClF,YAAA,MAAMC,gBAAgB,MAAMJ,gBAAAA,EAAAA;AAE5B,YAAA,MAAMH,OAAOQ,EAAE,CAACC,KAAK,CAACL,GAAAA,CAAAA,CAAKM,UAAU,CAAC;gBACpCC,KAAO,EAAA;oBAAEC,MAAQ,EAAA;AAAK,iBAAA;gBACtBC,IAAM,EAAA;oBAAED,MAAQL,EAAAA;AAAc;AAChC,aAAA,CAAA;AACF;AACF;AACF;AAEA,MAAMO,cAAc,OAAO,EAAEjB,eAAe,EAAEC,YAAY,EAAS,GAAA;IACjE,MAAM,EAAEC,sBAAsB,EAAE,GAAGC,MAAAA,CAAOC,MAAM,CAAC,MAAA,CAAA,EAASC,OAAQ,CAAA,eAAA,CAAA,IAAoB,EAAC;IACvF,MAAM,EAAEC,gBAAgB,EAAE,GAAGH,MAAAA,CAAOC,MAAM,CAAC,MAAA,CAAA,EAASC,OAAQ,CAAA,SAAA,CAAA,IAAc,EAAC;AAE3E,IAAA,IAAI,CAACL,eAAiB,EAAA;AACpB,QAAA;AACF;IAEA,IAAK,MAAMO,OAAON,YAAc,CAAA;AAC9B,QAAA,IAAI,CAACD,eAAe,CAACO,GAAAA,CAAI,EAAE;AACzB,YAAA;AACF;QAEA,MAAMC,cAAAA,GAAiBR,eAAe,CAACO,GAAI,CAAA;QAC3C,MAAME,WAAAA,GAAcR,YAAY,CAACM,GAAI,CAAA;;AAGrC,QAAA,IAAIL,sBAAuBM,CAAAA,cAAAA,CAAAA,IAAmB,CAACN,sBAAAA,CAAuBO,WAAc,CAAA,EAAA;AAClF,YAAA,MAAMC,gBAAgB,MAAMJ,gBAAAA,EAAAA;YAE5B,MAAMY,OAAAA,CAAQC,GAAG,CAAC;;AAEhBhB,gBAAAA,MAAAA,CAAOQ,EAAE,CAACC,KAAK,CAACL,GAAAA,CAAAA,CAAKa,UAAU,CAAC;oBAC9BN,KAAO,EAAA;wBAAEC,MAAQ,EAAA;4BAAEM,GAAKX,EAAAA;AAAc;AAAE;AAC1C,iBAAA,CAAA;;AAEAP,gBAAAA,MAAAA,CAAOQ,EAAE,CAACC,KAAK,CAACL,GAAAA,CAAAA,CAAKM,UAAU,CAAC;oBAC9BC,KAAO,EAAA;wBAAEC,MAAQ,EAAA;4BAAEO,GAAKZ,EAAAA;AAAc;AAAE,qBAAA;oBACxCM,IAAM,EAAA;wBAAED,MAAQ,EAAA;AAAK;AACvB,iBAAA;AACD,aAAA,CAAA;AACH;AACF;AACF;;;;"}
@@ -0,0 +1,5 @@
1
+ import type { Input } from './draft-publish';
2
+ declare const enable: ({ oldContentTypes, contentTypes }: Input) => Promise<void>;
3
+ declare const disable: ({ oldContentTypes, contentTypes }: Input) => Promise<void>;
4
+ export { enable, disable };
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/migrations/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAE7C,QAAA,MAAM,MAAM,sCAA6C,KAAK,kBAI7D,CAAC;AAEF,QAAA,MAAM,OAAO,sCAA6C,KAAK,kBAG9D,CAAC;AAEF,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC"}
@@ -0,0 +1,34 @@
1
+ 'use strict';
2
+
3
+ var draftPublish = require('./draft-publish.js');
4
+ var firstPublishedAt = require('./first-published-at.js');
5
+ var i18n = require('./i18n.js');
6
+
7
+ const enable = async ({ oldContentTypes, contentTypes })=>{
8
+ await i18n.enable({
9
+ oldContentTypes,
10
+ contentTypes
11
+ });
12
+ await draftPublish.enable({
13
+ oldContentTypes,
14
+ contentTypes
15
+ });
16
+ await firstPublishedAt.enable({
17
+ oldContentTypes,
18
+ contentTypes
19
+ });
20
+ };
21
+ const disable = async ({ oldContentTypes, contentTypes })=>{
22
+ await i18n.disable({
23
+ oldContentTypes,
24
+ contentTypes
25
+ });
26
+ await draftPublish.disable({
27
+ oldContentTypes,
28
+ contentTypes
29
+ });
30
+ };
31
+
32
+ exports.disable = disable;
33
+ exports.enable = enable;
34
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../src/migrations/index.ts"],"sourcesContent":["import * as draftPublishMigrations from './draft-publish';\nimport * as firstPublishedAt from './first-published-at';\nimport * as i18nMigrations from './i18n';\nimport type { Input } from './draft-publish';\n\nconst enable = async ({ oldContentTypes, contentTypes }: Input) => {\n await i18nMigrations.enable({ oldContentTypes, contentTypes });\n await draftPublishMigrations.enable({ oldContentTypes, contentTypes });\n await firstPublishedAt.enable({ oldContentTypes, contentTypes });\n};\n\nconst disable = async ({ oldContentTypes, contentTypes }: Input) => {\n await i18nMigrations.disable({ oldContentTypes, contentTypes });\n await draftPublishMigrations.disable({ oldContentTypes, contentTypes });\n};\n\nexport { enable, disable };\n"],"names":["enable","oldContentTypes","contentTypes","i18nMigrations","draftPublishMigrations","firstPublishedAt","disable"],"mappings":";;;;;;AAKA,MAAMA,SAAS,OAAO,EAAEC,eAAe,EAAEC,YAAY,EAAS,GAAA;IAC5D,MAAMC,WAAqB,CAAC;AAAEF,QAAAA,eAAAA;AAAiBC,QAAAA;AAAa,KAAA,CAAA;IAC5D,MAAME,mBAA6B,CAAC;AAAEH,QAAAA,eAAAA;AAAiBC,QAAAA;AAAa,KAAA,CAAA;IACpE,MAAMG,uBAAuB,CAAC;AAAEJ,QAAAA,eAAAA;AAAiBC,QAAAA;AAAa,KAAA,CAAA;AAChE;AAEA,MAAMI,UAAU,OAAO,EAAEL,eAAe,EAAEC,YAAY,EAAS,GAAA;IAC7D,MAAMC,YAAsB,CAAC;AAAEF,QAAAA,eAAAA;AAAiBC,QAAAA;AAAa,KAAA,CAAA;IAC7D,MAAME,oBAA8B,CAAC;AAAEH,QAAAA,eAAAA;AAAiBC,QAAAA;AAAa,KAAA,CAAA;AACvE;;;;;"}
@@ -0,0 +1,31 @@
1
+ import { enable as enableDraftAndPublish, disable as disableDraftAndPublish } from './draft-publish.mjs';
2
+ import { enable as enableFirstPublishedAt } from './first-published-at.mjs';
3
+ import { enable as enableI18n, disable as disableI18n } from './i18n.mjs';
4
+
5
+ const enable = async ({ oldContentTypes, contentTypes })=>{
6
+ await enableI18n({
7
+ oldContentTypes,
8
+ contentTypes
9
+ });
10
+ await enableDraftAndPublish({
11
+ oldContentTypes,
12
+ contentTypes
13
+ });
14
+ await enableFirstPublishedAt({
15
+ oldContentTypes,
16
+ contentTypes
17
+ });
18
+ };
19
+ const disable = async ({ oldContentTypes, contentTypes })=>{
20
+ await disableI18n({
21
+ oldContentTypes,
22
+ contentTypes
23
+ });
24
+ await disableDraftAndPublish({
25
+ oldContentTypes,
26
+ contentTypes
27
+ });
28
+ };
29
+
30
+ export { disable, enable };
31
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":["../../src/migrations/index.ts"],"sourcesContent":["import * as draftPublishMigrations from './draft-publish';\nimport * as firstPublishedAt from './first-published-at';\nimport * as i18nMigrations from './i18n';\nimport type { Input } from './draft-publish';\n\nconst enable = async ({ oldContentTypes, contentTypes }: Input) => {\n await i18nMigrations.enable({ oldContentTypes, contentTypes });\n await draftPublishMigrations.enable({ oldContentTypes, contentTypes });\n await firstPublishedAt.enable({ oldContentTypes, contentTypes });\n};\n\nconst disable = async ({ oldContentTypes, contentTypes }: Input) => {\n await i18nMigrations.disable({ oldContentTypes, contentTypes });\n await draftPublishMigrations.disable({ oldContentTypes, contentTypes });\n};\n\nexport { enable, disable };\n"],"names":["enable","oldContentTypes","contentTypes","i18nMigrations","draftPublishMigrations","firstPublishedAt","disable"],"mappings":";;;;AAKA,MAAMA,SAAS,OAAO,EAAEC,eAAe,EAAEC,YAAY,EAAS,GAAA;IAC5D,MAAMC,UAAqB,CAAC;AAAEF,QAAAA,eAAAA;AAAiBC,QAAAA;AAAa,KAAA,CAAA;IAC5D,MAAME,qBAA6B,CAAC;AAAEH,QAAAA,eAAAA;AAAiBC,QAAAA;AAAa,KAAA,CAAA;IACpE,MAAMG,sBAAuB,CAAC;AAAEJ,QAAAA,eAAAA;AAAiBC,QAAAA;AAAa,KAAA,CAAA;AAChE;AAEA,MAAMI,UAAU,OAAO,EAAEL,eAAe,EAAEC,YAAY,EAAS,GAAA;IAC7D,MAAMC,WAAsB,CAAC;AAAEF,QAAAA,eAAAA;AAAiBC,QAAAA;AAAa,KAAA,CAAA;IAC7D,MAAME,sBAA8B,CAAC;AAAEH,QAAAA,eAAAA;AAAiBC,QAAAA;AAAa,KAAA,CAAA;AACvE;;;;"}