@rakun-kit/core 1.2.0 → 1.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (731) hide show
  1. package/README.md +75 -17
  2. package/dist/cjs/api/context.js +6 -0
  3. package/dist/cjs/api/context.js.map +1 -1
  4. package/dist/cjs/api/operations/catalog.js +23 -0
  5. package/dist/cjs/api/operations/catalog.js.map +1 -0
  6. package/dist/cjs/api/operations/index.js +2 -1
  7. package/dist/cjs/api/operations/index.js.map +1 -1
  8. package/dist/cjs/api/operations/manager-contract.js +127 -1
  9. package/dist/cjs/api/operations/manager-contract.js.map +1 -1
  10. package/dist/cjs/api/operations/manager.js +104 -94
  11. package/dist/cjs/api/operations/manager.js.map +1 -1
  12. package/dist/cjs/api/operations/tracing.js +78 -0
  13. package/dist/cjs/api/operations/tracing.js.map +1 -0
  14. package/dist/cjs/api/operations/web-contract.js +23 -0
  15. package/dist/cjs/api/operations/web-contract.js.map +1 -1
  16. package/dist/cjs/api/operations/web.js +17 -1
  17. package/dist/cjs/api/operations/web.js.map +1 -1
  18. package/dist/cjs/api/routes/manager/apiOperations.js +21 -0
  19. package/dist/cjs/api/routes/manager/apiOperations.js.map +1 -0
  20. package/dist/cjs/api/routes/manager/auth/getSession.js +6 -0
  21. package/dist/cjs/api/routes/manager/auth/getSession.js.map +1 -0
  22. package/dist/cjs/api/routes/manager/auth/markTourSeen.js +18 -0
  23. package/dist/cjs/api/routes/manager/auth/markTourSeen.js.map +1 -0
  24. package/dist/cjs/api/routes/manager/auth/updateAccount.js +24 -0
  25. package/dist/cjs/api/routes/manager/auth/updateAccount.js.map +1 -0
  26. package/dist/cjs/api/routes/manager/auth/updateTutorialPreferences.js +19 -0
  27. package/dist/cjs/api/routes/manager/auth/updateTutorialPreferences.js.map +1 -0
  28. package/dist/cjs/api/routes/manager/backups/create.js +16 -0
  29. package/dist/cjs/api/routes/manager/backups/create.js.map +1 -0
  30. package/dist/cjs/api/routes/manager/backups/list.js +13 -0
  31. package/dist/cjs/api/routes/manager/backups/list.js.map +1 -0
  32. package/dist/cjs/api/routes/manager/backups/restore.js +23 -0
  33. package/dist/cjs/api/routes/manager/backups/restore.js.map +1 -0
  34. package/dist/cjs/api/routes/manager/contentTypes.js +7 -0
  35. package/dist/cjs/api/routes/manager/contentTypes.js.map +1 -0
  36. package/dist/cjs/api/routes/manager/create.js +5 -16
  37. package/dist/cjs/api/routes/manager/create.js.map +1 -1
  38. package/dist/cjs/api/routes/manager/delete.js +9 -43
  39. package/dist/cjs/api/routes/manager/delete.js.map +1 -1
  40. package/dist/cjs/api/routes/manager/duplicate.js +96 -0
  41. package/dist/cjs/api/routes/manager/duplicate.js.map +1 -0
  42. package/dist/cjs/api/routes/manager/get.js +2 -14
  43. package/dist/cjs/api/routes/manager/get.js.map +1 -1
  44. package/dist/cjs/api/routes/manager/languages.js +7 -0
  45. package/dist/cjs/api/routes/manager/languages.js.map +1 -0
  46. package/dist/cjs/api/routes/manager/list.js +8 -15
  47. package/dist/cjs/api/routes/manager/list.js.map +1 -1
  48. package/dist/cjs/api/routes/manager/literals/list.js +0 -7
  49. package/dist/cjs/api/routes/manager/literals/list.js.map +1 -1
  50. package/dist/cjs/api/routes/manager/literals/upsert.js +0 -8
  51. package/dist/cjs/api/routes/manager/literals/upsert.js.map +1 -1
  52. package/dist/cjs/api/routes/manager/media/deleteFolder.js +99 -0
  53. package/dist/cjs/api/routes/manager/media/deleteFolder.js.map +1 -0
  54. package/dist/cjs/api/routes/manager/media/deleteMediaStorage.js +39 -0
  55. package/dist/cjs/api/routes/manager/media/deleteMediaStorage.js.map +1 -0
  56. package/dist/cjs/api/routes/manager/media/finalizeUpload.js +22 -13
  57. package/dist/cjs/api/routes/manager/media/finalizeUpload.js.map +1 -1
  58. package/dist/cjs/api/routes/manager/media/prepareUpload.js +10 -13
  59. package/dist/cjs/api/routes/manager/media/prepareUpload.js.map +1 -1
  60. package/dist/cjs/api/routes/manager/media/uploadBinary.js +25 -6
  61. package/dist/cjs/api/routes/manager/media/uploadBinary.js.map +1 -1
  62. package/dist/cjs/api/routes/manager/migrations/list.js +13 -0
  63. package/dist/cjs/api/routes/manager/migrations/list.js.map +1 -0
  64. package/dist/cjs/api/routes/manager/permissions.js +12 -0
  65. package/dist/cjs/api/routes/manager/permissions.js.map +1 -0
  66. package/dist/cjs/api/routes/manager/preview/create.js +126 -0
  67. package/dist/cjs/api/routes/manager/preview/create.js.map +1 -0
  68. package/dist/cjs/api/routes/manager/regenerateRoutes.js +13 -0
  69. package/dist/cjs/api/routes/manager/regenerateRoutes.js.map +1 -0
  70. package/dist/cjs/api/routes/manager/translateDocument.js +125 -0
  71. package/dist/cjs/api/routes/manager/translateDocument.js.map +1 -0
  72. package/dist/cjs/api/routes/manager/trash.js +71 -0
  73. package/dist/cjs/api/routes/manager/trash.js.map +1 -0
  74. package/dist/cjs/api/routes/manager/update.js +5 -17
  75. package/dist/cjs/api/routes/manager/update.js.map +1 -1
  76. package/dist/cjs/api/routes/manager/versions/get.js +13 -0
  77. package/dist/cjs/api/routes/manager/versions/get.js.map +1 -0
  78. package/dist/cjs/api/routes/manager/versions/list.js +13 -0
  79. package/dist/cjs/api/routes/manager/versions/list.js.map +1 -0
  80. package/dist/cjs/api/routes/manager/versions/restore.js +29 -0
  81. package/dist/cjs/api/routes/manager/versions/restore.js.map +1 -0
  82. package/dist/cjs/api/routes/web/page.js +145 -114
  83. package/dist/cjs/api/routes/web/page.js.map +1 -1
  84. package/dist/cjs/api/routes/web/previewPage.js +57 -0
  85. package/dist/cjs/api/routes/web/previewPage.js.map +1 -0
  86. package/dist/cjs/api/routes/web/robots.js +74 -0
  87. package/dist/cjs/api/routes/web/robots.js.map +1 -0
  88. package/dist/cjs/api/routes/web/seo.js +161 -0
  89. package/dist/cjs/api/routes/web/seo.js.map +1 -0
  90. package/dist/cjs/api/routes/web/sitemap.js +44 -0
  91. package/dist/cjs/api/routes/web/sitemap.js.map +1 -0
  92. package/dist/cjs/api/utils/checkOwnership.js +9 -1
  93. package/dist/cjs/api/utils/checkOwnership.js.map +1 -1
  94. package/dist/cjs/api/utils/checkPermissions.js +13 -2
  95. package/dist/cjs/api/utils/checkPermissions.js.map +1 -1
  96. package/dist/cjs/api/utils/populates/populateRelations.js +75 -1
  97. package/dist/cjs/api/utils/populates/populateRelations.js.map +1 -1
  98. package/dist/cjs/api/utils/previewData.js +43 -0
  99. package/dist/cjs/api/utils/previewData.js.map +1 -0
  100. package/dist/cjs/api/utils/previewToken.js +7 -0
  101. package/dist/cjs/api/utils/previewToken.js.map +1 -0
  102. package/dist/cjs/api/utils/requireContentType.js +17 -0
  103. package/dist/cjs/api/utils/requireContentType.js.map +1 -0
  104. package/dist/cjs/api/utils/routes/revalidatePath.js +5 -0
  105. package/dist/cjs/api/utils/routes/revalidatePath.js.map +1 -1
  106. package/dist/cjs/api/utils/routes/routeMapHelpers.js +75 -17
  107. package/dist/cjs/api/utils/routes/routeMapHelpers.js.map +1 -1
  108. package/dist/cjs/api/utils/routes/syncConfiguredRoutes.js +3 -0
  109. package/dist/cjs/api/utils/routes/syncConfiguredRoutes.js.map +1 -1
  110. package/dist/cjs/api/utils/routes/updateRoutesMap.js +16 -2
  111. package/dist/cjs/api/utils/routes/updateRoutesMap.js.map +1 -1
  112. package/dist/cjs/bootstrapState.js.map +1 -1
  113. package/dist/cjs/client.js +4 -1
  114. package/dist/cjs/client.js.map +1 -1
  115. package/dist/cjs/contracts.js +12 -0
  116. package/dist/cjs/contracts.js.map +1 -1
  117. package/dist/cjs/index.js +29 -1
  118. package/dist/cjs/index.js.map +1 -1
  119. package/dist/cjs/internal-content-types/Backup.js +21 -0
  120. package/dist/cjs/internal-content-types/Backup.js.map +1 -0
  121. package/dist/cjs/internal-content-types/BackupDocument.js +18 -0
  122. package/dist/cjs/internal-content-types/BackupDocument.js.map +1 -0
  123. package/dist/cjs/internal-content-types/ContentVersion.js +24 -0
  124. package/dist/cjs/internal-content-types/ContentVersion.js.map +1 -0
  125. package/dist/cjs/internal-content-types/HelloWorld.js +3 -3
  126. package/dist/cjs/internal-content-types/HelloWorld.js.map +1 -1
  127. package/dist/cjs/internal-content-types/ManagerUser.js +8 -0
  128. package/dist/cjs/internal-content-types/ManagerUser.js.map +1 -1
  129. package/dist/cjs/internal-content-types/Media.js +3 -0
  130. package/dist/cjs/internal-content-types/Media.js.map +1 -1
  131. package/dist/cjs/internal-content-types/Migration.js +25 -0
  132. package/dist/cjs/internal-content-types/Migration.js.map +1 -0
  133. package/dist/cjs/internal-content-types/MigrationLock.js +15 -0
  134. package/dist/cjs/internal-content-types/MigrationLock.js.map +1 -0
  135. package/dist/cjs/internal-content-types/Page.js +11 -6
  136. package/dist/cjs/internal-content-types/Page.js.map +1 -1
  137. package/dist/cjs/internal-content-types/PreviewSnapshot.js +23 -0
  138. package/dist/cjs/internal-content-types/PreviewSnapshot.js.map +1 -0
  139. package/dist/cjs/internal-content-types/RobotsRule.js +30 -0
  140. package/dist/cjs/internal-content-types/RobotsRule.js.map +1 -0
  141. package/dist/cjs/internal-content-types/RouteMap.js +1 -0
  142. package/dist/cjs/internal-content-types/RouteMap.js.map +1 -1
  143. package/dist/cjs/internal-content-types/SchemaState.js +17 -0
  144. package/dist/cjs/internal-content-types/SchemaState.js.map +1 -0
  145. package/dist/cjs/internal-content-types/Seo.js +48 -1
  146. package/dist/cjs/internal-content-types/Seo.js.map +1 -1
  147. package/dist/cjs/internal-content-types/SeoSettings.js +23 -0
  148. package/dist/cjs/internal-content-types/SeoSettings.js.map +1 -0
  149. package/dist/cjs/internal-content-types/index.js +9 -0
  150. package/dist/cjs/internal-content-types/index.js.map +1 -1
  151. package/dist/cjs/lib/ContentType.js +149 -5
  152. package/dist/cjs/lib/ContentType.js.map +1 -1
  153. package/dist/cjs/lib/Permissions.js +47 -2
  154. package/dist/cjs/lib/Permissions.js.map +1 -1
  155. package/dist/cjs/lib/Registry.js +24 -4
  156. package/dist/cjs/lib/Registry.js.map +1 -1
  157. package/dist/cjs/lib/fields/Field.js +57 -1
  158. package/dist/cjs/lib/fields/Field.js.map +1 -1
  159. package/dist/cjs/lib/fields/File.js +21 -1
  160. package/dist/cjs/lib/fields/File.js.map +1 -1
  161. package/dist/cjs/literals/definitions.js +10 -12
  162. package/dist/cjs/literals/definitions.js.map +1 -1
  163. package/dist/cjs/media/imageOptimization.js +69 -25
  164. package/dist/cjs/media/imageOptimization.js.map +1 -1
  165. package/dist/cjs/media/mediaService.js.map +1 -1
  166. package/dist/cjs/orm/backups.js +171 -0
  167. package/dist/cjs/orm/backups.js.map +1 -0
  168. package/dist/cjs/orm/createIndexes.js +46 -0
  169. package/dist/cjs/orm/createIndexes.js.map +1 -1
  170. package/dist/cjs/orm/database.js +55 -30
  171. package/dist/cjs/orm/database.js.map +1 -1
  172. package/dist/cjs/orm/dbService.js.map +1 -1
  173. package/dist/cjs/orm/index.js +46 -23
  174. package/dist/cjs/orm/index.js.map +1 -1
  175. package/dist/cjs/orm/migrations.js +275 -0
  176. package/dist/cjs/orm/migrations.js.map +1 -0
  177. package/dist/cjs/orm/operations/create.js +28 -2
  178. package/dist/cjs/orm/operations/create.js.map +1 -1
  179. package/dist/cjs/orm/operations/delete.js +18 -4
  180. package/dist/cjs/orm/operations/delete.js.map +1 -1
  181. package/dist/cjs/orm/operations/getAll.js +1 -1
  182. package/dist/cjs/orm/operations/getAll.js.map +1 -1
  183. package/dist/cjs/orm/operations/list.js +4 -3
  184. package/dist/cjs/orm/operations/list.js.map +1 -1
  185. package/dist/cjs/orm/operations/update.js +27 -3
  186. package/dist/cjs/orm/operations/update.js.map +1 -1
  187. package/dist/cjs/orm/operations/updateMany.js +1 -1
  188. package/dist/cjs/orm/operations/updateMany.js.map +1 -1
  189. package/dist/cjs/orm/operations/upsert.js +3 -3
  190. package/dist/cjs/orm/operations/upsert.js.map +1 -1
  191. package/dist/cjs/orm/versions.js +311 -0
  192. package/dist/cjs/orm/versions.js.map +1 -0
  193. package/dist/cjs/schemas/manager/apiOperations.js +20 -0
  194. package/dist/cjs/schemas/manager/apiOperations.js.map +1 -0
  195. package/dist/cjs/schemas/manager/auth/accountInfo.js +5 -1
  196. package/dist/cjs/schemas/manager/auth/accountInfo.js.map +1 -1
  197. package/dist/cjs/schemas/manager/auth/tutorials.js +14 -0
  198. package/dist/cjs/schemas/manager/auth/tutorials.js.map +1 -0
  199. package/dist/cjs/schemas/manager/backups.js +33 -0
  200. package/dist/cjs/schemas/manager/backups.js.map +1 -0
  201. package/dist/cjs/schemas/manager/duplicate.js +12 -0
  202. package/dist/cjs/schemas/manager/duplicate.js.map +1 -0
  203. package/dist/cjs/schemas/manager/media/deleteFolder.js +17 -0
  204. package/dist/cjs/schemas/manager/media/deleteFolder.js.map +1 -0
  205. package/dist/cjs/schemas/manager/media/finalizeUpload.js +15 -1
  206. package/dist/cjs/schemas/manager/media/finalizeUpload.js.map +1 -1
  207. package/dist/cjs/schemas/manager/media/prepareUpload.js +3 -1
  208. package/dist/cjs/schemas/manager/media/prepareUpload.js.map +1 -1
  209. package/dist/cjs/schemas/manager/migrations.js +41 -0
  210. package/dist/cjs/schemas/manager/migrations.js.map +1 -0
  211. package/dist/cjs/schemas/manager/preview.js +20 -0
  212. package/dist/cjs/schemas/manager/preview.js.map +1 -0
  213. package/dist/cjs/schemas/manager/translateDocument.js +27 -0
  214. package/dist/cjs/schemas/manager/translateDocument.js.map +1 -0
  215. package/dist/cjs/schemas/manager/versions.js +56 -0
  216. package/dist/cjs/schemas/manager/versions.js.map +1 -0
  217. package/dist/cjs/schemas/web/page.js +7 -2
  218. package/dist/cjs/schemas/web/page.js.map +1 -1
  219. package/dist/cjs/schemas/web/previewPage.js +16 -0
  220. package/dist/cjs/schemas/web/previewPage.js.map +1 -0
  221. package/dist/cjs/schemas/web/robots.js +11 -0
  222. package/dist/cjs/schemas/web/robots.js.map +1 -0
  223. package/dist/cjs/schemas/web/sitemap.js +22 -0
  224. package/dist/cjs/schemas/web/sitemap.js.map +1 -0
  225. package/dist/cjs/translation/adapters/index.js +3 -0
  226. package/dist/cjs/translation/adapters/index.js.map +1 -0
  227. package/dist/cjs/translation/document.js +396 -0
  228. package/dist/cjs/translation/document.js.map +1 -0
  229. package/dist/cjs/translation/index.js +47 -0
  230. package/dist/cjs/translation/index.js.map +1 -0
  231. package/dist/cjs/translation/translationService.js +8 -0
  232. package/dist/cjs/translation/translationService.js.map +1 -0
  233. package/dist/cjs/web/client.js +93 -0
  234. package/dist/cjs/web/client.js.map +1 -0
  235. package/dist/cjs/web/index.js +1 -0
  236. package/dist/cjs/web/index.js.map +1 -1
  237. package/dist/esm/api/context.d.ts.map +1 -1
  238. package/dist/esm/api/context.js +6 -0
  239. package/dist/esm/api/context.js.map +1 -1
  240. package/dist/esm/api/operations/catalog.d.ts +4 -0
  241. package/dist/esm/api/operations/catalog.d.ts.map +1 -0
  242. package/dist/esm/api/operations/catalog.js +16 -0
  243. package/dist/esm/api/operations/catalog.js.map +1 -0
  244. package/dist/esm/api/operations/index.d.ts +663 -2
  245. package/dist/esm/api/operations/index.d.ts.map +1 -1
  246. package/dist/esm/api/operations/index.js +2 -1
  247. package/dist/esm/api/operations/index.js.map +1 -1
  248. package/dist/esm/api/operations/manager-contract.d.ts +401 -1
  249. package/dist/esm/api/operations/manager-contract.d.ts.map +1 -1
  250. package/dist/esm/api/operations/manager-contract.js +128 -2
  251. package/dist/esm/api/operations/manager-contract.js.map +1 -1
  252. package/dist/esm/api/operations/manager.d.ts +401 -1
  253. package/dist/esm/api/operations/manager.d.ts.map +1 -1
  254. package/dist/esm/api/operations/manager.js +101 -91
  255. package/dist/esm/api/operations/manager.js.map +1 -1
  256. package/dist/esm/api/operations/tracing.d.ts +3 -0
  257. package/dist/esm/api/operations/tracing.d.ts.map +1 -0
  258. package/dist/esm/api/operations/tracing.js +74 -0
  259. package/dist/esm/api/operations/tracing.js.map +1 -0
  260. package/dist/esm/api/operations/web-contract.d.ts +262 -1
  261. package/dist/esm/api/operations/web-contract.d.ts.map +1 -1
  262. package/dist/esm/api/operations/web-contract.js +24 -1
  263. package/dist/esm/api/operations/web-contract.js.map +1 -1
  264. package/dist/esm/api/operations/web.d.ts +262 -1
  265. package/dist/esm/api/operations/web.d.ts.map +1 -1
  266. package/dist/esm/api/operations/web.js +17 -1
  267. package/dist/esm/api/operations/web.js.map +1 -1
  268. package/dist/esm/api/proxies/index.d.ts +14 -0
  269. package/dist/esm/api/proxies/index.d.ts.map +1 -1
  270. package/dist/esm/api/routes/manager/apiOperations.d.ts +9 -0
  271. package/dist/esm/api/routes/manager/apiOperations.d.ts.map +1 -0
  272. package/dist/esm/api/routes/manager/apiOperations.js +17 -0
  273. package/dist/esm/api/routes/manager/apiOperations.js.map +1 -0
  274. package/dist/esm/api/routes/manager/auth/getSession.d.ts +42 -0
  275. package/dist/esm/api/routes/manager/auth/getSession.d.ts.map +1 -0
  276. package/dist/esm/api/routes/manager/auth/getSession.js +2 -0
  277. package/dist/esm/api/routes/manager/auth/getSession.js.map +1 -0
  278. package/dist/esm/api/routes/manager/auth/markTourSeen.d.ts +51 -0
  279. package/dist/esm/api/routes/manager/auth/markTourSeen.d.ts.map +1 -0
  280. package/dist/esm/api/routes/manager/auth/markTourSeen.js +13 -0
  281. package/dist/esm/api/routes/manager/auth/markTourSeen.js.map +1 -0
  282. package/dist/esm/api/routes/manager/auth/updateAccount.d.ts +50 -0
  283. package/dist/esm/api/routes/manager/auth/updateAccount.d.ts.map +1 -0
  284. package/dist/esm/api/routes/manager/auth/updateAccount.js +20 -0
  285. package/dist/esm/api/routes/manager/auth/updateAccount.js.map +1 -0
  286. package/dist/esm/api/routes/manager/auth/updateTutorialPreferences.d.ts +54 -0
  287. package/dist/esm/api/routes/manager/auth/updateTutorialPreferences.d.ts.map +1 -0
  288. package/dist/esm/api/routes/manager/auth/updateTutorialPreferences.js +14 -0
  289. package/dist/esm/api/routes/manager/auth/updateTutorialPreferences.js.map +1 -0
  290. package/dist/esm/api/routes/manager/backups/create.d.ts +7 -0
  291. package/dist/esm/api/routes/manager/backups/create.d.ts.map +1 -0
  292. package/dist/esm/api/routes/manager/backups/create.js +12 -0
  293. package/dist/esm/api/routes/manager/backups/create.js.map +1 -0
  294. package/dist/esm/api/routes/manager/backups/list.d.ts +6 -0
  295. package/dist/esm/api/routes/manager/backups/list.d.ts.map +1 -0
  296. package/dist/esm/api/routes/manager/backups/list.js +9 -0
  297. package/dist/esm/api/routes/manager/backups/list.js.map +1 -0
  298. package/dist/esm/api/routes/manager/backups/restore.d.ts +7 -0
  299. package/dist/esm/api/routes/manager/backups/restore.d.ts.map +1 -0
  300. package/dist/esm/api/routes/manager/backups/restore.js +19 -0
  301. package/dist/esm/api/routes/manager/backups/restore.js.map +1 -0
  302. package/dist/esm/api/routes/manager/contentTypes.d.ts +30 -0
  303. package/dist/esm/api/routes/manager/contentTypes.d.ts.map +1 -0
  304. package/dist/esm/api/routes/manager/contentTypes.js +3 -0
  305. package/dist/esm/api/routes/manager/contentTypes.js.map +1 -0
  306. package/dist/esm/api/routes/manager/create.d.ts +7 -0
  307. package/dist/esm/api/routes/manager/create.d.ts.map +1 -1
  308. package/dist/esm/api/routes/manager/create.js +5 -16
  309. package/dist/esm/api/routes/manager/create.js.map +1 -1
  310. package/dist/esm/api/routes/manager/delete.d.ts.map +1 -1
  311. package/dist/esm/api/routes/manager/delete.js +9 -43
  312. package/dist/esm/api/routes/manager/delete.js.map +1 -1
  313. package/dist/esm/api/routes/manager/duplicate.d.ts +22 -0
  314. package/dist/esm/api/routes/manager/duplicate.d.ts.map +1 -0
  315. package/dist/esm/api/routes/manager/duplicate.js +92 -0
  316. package/dist/esm/api/routes/manager/duplicate.js.map +1 -0
  317. package/dist/esm/api/routes/manager/get.d.ts +7 -0
  318. package/dist/esm/api/routes/manager/get.d.ts.map +1 -1
  319. package/dist/esm/api/routes/manager/get.js +2 -14
  320. package/dist/esm/api/routes/manager/get.js.map +1 -1
  321. package/dist/esm/api/routes/manager/languages.d.ts +20 -0
  322. package/dist/esm/api/routes/manager/languages.d.ts.map +1 -0
  323. package/dist/esm/api/routes/manager/languages.js +3 -0
  324. package/dist/esm/api/routes/manager/languages.js.map +1 -0
  325. package/dist/esm/api/routes/manager/list.d.ts.map +1 -1
  326. package/dist/esm/api/routes/manager/list.js +8 -15
  327. package/dist/esm/api/routes/manager/list.js.map +1 -1
  328. package/dist/esm/api/routes/manager/literals/list.d.ts.map +1 -1
  329. package/dist/esm/api/routes/manager/literals/list.js +0 -7
  330. package/dist/esm/api/routes/manager/literals/list.js.map +1 -1
  331. package/dist/esm/api/routes/manager/literals/upsert.d.ts.map +1 -1
  332. package/dist/esm/api/routes/manager/literals/upsert.js +0 -8
  333. package/dist/esm/api/routes/manager/literals/upsert.js.map +1 -1
  334. package/dist/esm/api/routes/manager/media/deleteFolder.d.ts +7 -0
  335. package/dist/esm/api/routes/manager/media/deleteFolder.d.ts.map +1 -0
  336. package/dist/esm/api/routes/manager/media/deleteFolder.js +95 -0
  337. package/dist/esm/api/routes/manager/media/deleteFolder.js.map +1 -0
  338. package/dist/esm/api/routes/manager/media/deleteMediaStorage.d.ts +12 -0
  339. package/dist/esm/api/routes/manager/media/deleteMediaStorage.d.ts.map +1 -0
  340. package/dist/esm/api/routes/manager/media/deleteMediaStorage.js +35 -0
  341. package/dist/esm/api/routes/manager/media/deleteMediaStorage.js.map +1 -0
  342. package/dist/esm/api/routes/manager/media/finalizeUpload.d.ts.map +1 -1
  343. package/dist/esm/api/routes/manager/media/finalizeUpload.js +22 -13
  344. package/dist/esm/api/routes/manager/media/finalizeUpload.js.map +1 -1
  345. package/dist/esm/api/routes/manager/media/prepareUpload.d.ts.map +1 -1
  346. package/dist/esm/api/routes/manager/media/prepareUpload.js +10 -13
  347. package/dist/esm/api/routes/manager/media/prepareUpload.js.map +1 -1
  348. package/dist/esm/api/routes/manager/media/uploadBinary.d.ts.map +1 -1
  349. package/dist/esm/api/routes/manager/media/uploadBinary.js +25 -6
  350. package/dist/esm/api/routes/manager/media/uploadBinary.js.map +1 -1
  351. package/dist/esm/api/routes/manager/migrations/list.d.ts +6 -0
  352. package/dist/esm/api/routes/manager/migrations/list.d.ts.map +1 -0
  353. package/dist/esm/api/routes/manager/migrations/list.js +9 -0
  354. package/dist/esm/api/routes/manager/migrations/list.js.map +1 -0
  355. package/dist/esm/api/routes/manager/permissions.d.ts +5 -0
  356. package/dist/esm/api/routes/manager/permissions.d.ts.map +1 -0
  357. package/dist/esm/api/routes/manager/permissions.js +8 -0
  358. package/dist/esm/api/routes/manager/permissions.js.map +1 -0
  359. package/dist/esm/api/routes/manager/preview/create.d.ts +11 -0
  360. package/dist/esm/api/routes/manager/preview/create.d.ts.map +1 -0
  361. package/dist/esm/api/routes/manager/preview/create.js +122 -0
  362. package/dist/esm/api/routes/manager/preview/create.js.map +1 -0
  363. package/dist/esm/api/routes/manager/regenerateRoutes.d.ts +7 -0
  364. package/dist/esm/api/routes/manager/regenerateRoutes.d.ts.map +1 -0
  365. package/dist/esm/api/routes/manager/regenerateRoutes.js +9 -0
  366. package/dist/esm/api/routes/manager/regenerateRoutes.js.map +1 -0
  367. package/dist/esm/api/routes/manager/translateDocument.d.ts +7 -0
  368. package/dist/esm/api/routes/manager/translateDocument.d.ts.map +1 -0
  369. package/dist/esm/api/routes/manager/translateDocument.js +121 -0
  370. package/dist/esm/api/routes/manager/translateDocument.js.map +1 -0
  371. package/dist/esm/api/routes/manager/trash.d.ts +9 -0
  372. package/dist/esm/api/routes/manager/trash.d.ts.map +1 -0
  373. package/dist/esm/api/routes/manager/trash.js +67 -0
  374. package/dist/esm/api/routes/manager/trash.js.map +1 -0
  375. package/dist/esm/api/routes/manager/update.d.ts +7 -0
  376. package/dist/esm/api/routes/manager/update.d.ts.map +1 -1
  377. package/dist/esm/api/routes/manager/update.js +5 -17
  378. package/dist/esm/api/routes/manager/update.js.map +1 -1
  379. package/dist/esm/api/routes/manager/versions/get.d.ts +7 -0
  380. package/dist/esm/api/routes/manager/versions/get.d.ts.map +1 -0
  381. package/dist/esm/api/routes/manager/versions/get.js +9 -0
  382. package/dist/esm/api/routes/manager/versions/get.js.map +1 -0
  383. package/dist/esm/api/routes/manager/versions/list.d.ts +7 -0
  384. package/dist/esm/api/routes/manager/versions/list.d.ts.map +1 -0
  385. package/dist/esm/api/routes/manager/versions/list.js +9 -0
  386. package/dist/esm/api/routes/manager/versions/list.js.map +1 -0
  387. package/dist/esm/api/routes/manager/versions/restore.d.ts +7 -0
  388. package/dist/esm/api/routes/manager/versions/restore.d.ts.map +1 -0
  389. package/dist/esm/api/routes/manager/versions/restore.js +25 -0
  390. package/dist/esm/api/routes/manager/versions/restore.js.map +1 -0
  391. package/dist/esm/api/routes/web/page.d.ts +21 -0
  392. package/dist/esm/api/routes/web/page.d.ts.map +1 -1
  393. package/dist/esm/api/routes/web/page.js +139 -110
  394. package/dist/esm/api/routes/web/page.js.map +1 -1
  395. package/dist/esm/api/routes/web/previewPage.d.ts +144 -0
  396. package/dist/esm/api/routes/web/previewPage.d.ts.map +1 -0
  397. package/dist/esm/api/routes/web/previewPage.js +53 -0
  398. package/dist/esm/api/routes/web/previewPage.js.map +1 -0
  399. package/dist/esm/api/routes/web/robots.d.ts +3 -0
  400. package/dist/esm/api/routes/web/robots.d.ts.map +1 -0
  401. package/dist/esm/api/routes/web/robots.js +70 -0
  402. package/dist/esm/api/routes/web/robots.js.map +1 -0
  403. package/dist/esm/api/routes/web/seo.d.ts +18 -0
  404. package/dist/esm/api/routes/web/seo.d.ts.map +1 -0
  405. package/dist/esm/api/routes/web/seo.js +155 -0
  406. package/dist/esm/api/routes/web/seo.js.map +1 -0
  407. package/dist/esm/api/routes/web/sitemap.d.ts +3 -0
  408. package/dist/esm/api/routes/web/sitemap.d.ts.map +1 -0
  409. package/dist/esm/api/routes/web/sitemap.js +40 -0
  410. package/dist/esm/api/routes/web/sitemap.js.map +1 -0
  411. package/dist/esm/api/utils/checkOwnership.d.ts.map +1 -1
  412. package/dist/esm/api/utils/checkOwnership.js +9 -1
  413. package/dist/esm/api/utils/checkOwnership.js.map +1 -1
  414. package/dist/esm/api/utils/checkPermissions.d.ts.map +1 -1
  415. package/dist/esm/api/utils/checkPermissions.js +13 -2
  416. package/dist/esm/api/utils/checkPermissions.js.map +1 -1
  417. package/dist/esm/api/utils/getLanguages.d.ts +7 -0
  418. package/dist/esm/api/utils/getLanguages.d.ts.map +1 -1
  419. package/dist/esm/api/utils/getUser.d.ts +23 -1
  420. package/dist/esm/api/utils/getUser.d.ts.map +1 -1
  421. package/dist/esm/api/utils/populates/populateRelations.d.ts.map +1 -1
  422. package/dist/esm/api/utils/populates/populateRelations.js +75 -1
  423. package/dist/esm/api/utils/populates/populateRelations.js.map +1 -1
  424. package/dist/esm/api/utils/previewData.d.ts +3 -0
  425. package/dist/esm/api/utils/previewData.d.ts.map +1 -0
  426. package/dist/esm/api/utils/previewData.js +38 -0
  427. package/dist/esm/api/utils/previewData.js.map +1 -0
  428. package/dist/esm/api/utils/previewToken.d.ts +2 -0
  429. package/dist/esm/api/utils/previewToken.d.ts.map +1 -0
  430. package/dist/esm/api/utils/previewToken.js +3 -0
  431. package/dist/esm/api/utils/previewToken.js.map +1 -0
  432. package/dist/esm/api/utils/requireContentType.d.ts +3 -0
  433. package/dist/esm/api/utils/requireContentType.d.ts.map +1 -0
  434. package/dist/esm/api/utils/requireContentType.js +13 -0
  435. package/dist/esm/api/utils/requireContentType.js.map +1 -0
  436. package/dist/esm/api/utils/routes/revalidatePath.d.ts.map +1 -1
  437. package/dist/esm/api/utils/routes/revalidatePath.js +5 -0
  438. package/dist/esm/api/utils/routes/revalidatePath.js.map +1 -1
  439. package/dist/esm/api/utils/routes/routeMapHelpers.d.ts +13 -3
  440. package/dist/esm/api/utils/routes/routeMapHelpers.d.ts.map +1 -1
  441. package/dist/esm/api/utils/routes/routeMapHelpers.js +72 -16
  442. package/dist/esm/api/utils/routes/routeMapHelpers.js.map +1 -1
  443. package/dist/esm/api/utils/routes/syncConfiguredRoutes.d.ts.map +1 -1
  444. package/dist/esm/api/utils/routes/syncConfiguredRoutes.js +3 -0
  445. package/dist/esm/api/utils/routes/syncConfiguredRoutes.js.map +1 -1
  446. package/dist/esm/api/utils/routes/updateRoutesMap.d.ts.map +1 -1
  447. package/dist/esm/api/utils/routes/updateRoutesMap.js +17 -3
  448. package/dist/esm/api/utils/routes/updateRoutesMap.js.map +1 -1
  449. package/dist/esm/bootstrapState.d.ts +2 -0
  450. package/dist/esm/bootstrapState.d.ts.map +1 -1
  451. package/dist/esm/bootstrapState.js.map +1 -1
  452. package/dist/esm/client.d.ts +9 -1
  453. package/dist/esm/client.d.ts.map +1 -1
  454. package/dist/esm/client.js +2 -1
  455. package/dist/esm/client.js.map +1 -1
  456. package/dist/esm/contracts.d.ts +12 -0
  457. package/dist/esm/contracts.d.ts.map +1 -1
  458. package/dist/esm/contracts.js +12 -0
  459. package/dist/esm/contracts.js.map +1 -1
  460. package/dist/esm/index.d.ts +5 -2
  461. package/dist/esm/index.d.ts.map +1 -1
  462. package/dist/esm/index.js +28 -3
  463. package/dist/esm/index.js.map +1 -1
  464. package/dist/esm/internal-content-types/Backup.d.ts +307 -0
  465. package/dist/esm/internal-content-types/Backup.d.ts.map +1 -0
  466. package/dist/esm/internal-content-types/Backup.js +15 -0
  467. package/dist/esm/internal-content-types/Backup.js.map +1 -0
  468. package/dist/esm/internal-content-types/BackupDocument.d.ts +779 -0
  469. package/dist/esm/internal-content-types/BackupDocument.d.ts.map +1 -0
  470. package/dist/esm/internal-content-types/BackupDocument.js +12 -0
  471. package/dist/esm/internal-content-types/BackupDocument.js.map +1 -0
  472. package/dist/esm/internal-content-types/ContentVersion.d.ts +884 -0
  473. package/dist/esm/internal-content-types/ContentVersion.d.ts.map +1 -0
  474. package/dist/esm/internal-content-types/ContentVersion.js +18 -0
  475. package/dist/esm/internal-content-types/ContentVersion.js.map +1 -0
  476. package/dist/esm/internal-content-types/HelloWorld.d.ts +144 -4
  477. package/dist/esm/internal-content-types/HelloWorld.d.ts.map +1 -1
  478. package/dist/esm/internal-content-types/HelloWorld.js +5 -5
  479. package/dist/esm/internal-content-types/HelloWorld.js.map +1 -1
  480. package/dist/esm/internal-content-types/Language.d.ts +148 -0
  481. package/dist/esm/internal-content-types/Language.d.ts.map +1 -1
  482. package/dist/esm/internal-content-types/LiteralTranslation.d.ts +280 -0
  483. package/dist/esm/internal-content-types/LiteralTranslation.d.ts.map +1 -1
  484. package/dist/esm/internal-content-types/ManagerRole.d.ts +141 -1
  485. package/dist/esm/internal-content-types/ManagerRole.d.ts.map +1 -1
  486. package/dist/esm/internal-content-types/ManagerUser.d.ts +833 -8
  487. package/dist/esm/internal-content-types/ManagerUser.d.ts.map +1 -1
  488. package/dist/esm/internal-content-types/ManagerUser.js +8 -0
  489. package/dist/esm/internal-content-types/ManagerUser.js.map +1 -1
  490. package/dist/esm/internal-content-types/Media.d.ts +1139 -0
  491. package/dist/esm/internal-content-types/Media.d.ts.map +1 -1
  492. package/dist/esm/internal-content-types/Media.js +3 -0
  493. package/dist/esm/internal-content-types/Media.js.map +1 -1
  494. package/dist/esm/internal-content-types/MediaFolder.d.ts +420 -0
  495. package/dist/esm/internal-content-types/MediaFolder.d.ts.map +1 -1
  496. package/dist/esm/internal-content-types/MfaChallenge.d.ts +2237 -21
  497. package/dist/esm/internal-content-types/MfaChallenge.d.ts.map +1 -1
  498. package/dist/esm/internal-content-types/Migration.d.ts +828 -0
  499. package/dist/esm/internal-content-types/Migration.d.ts.map +1 -0
  500. package/dist/esm/internal-content-types/Migration.js +19 -0
  501. package/dist/esm/internal-content-types/Migration.js.map +1 -0
  502. package/dist/esm/internal-content-types/MigrationLock.d.ts +86 -0
  503. package/dist/esm/internal-content-types/MigrationLock.d.ts.map +1 -0
  504. package/dist/esm/internal-content-types/MigrationLock.js +9 -0
  505. package/dist/esm/internal-content-types/MigrationLock.js.map +1 -0
  506. package/dist/esm/internal-content-types/Page.d.ts +9316 -9
  507. package/dist/esm/internal-content-types/Page.d.ts.map +1 -1
  508. package/dist/esm/internal-content-types/Page.js +14 -9
  509. package/dist/esm/internal-content-types/Page.js.map +1 -1
  510. package/dist/esm/internal-content-types/PreviewSnapshot.d.ts +1438 -0
  511. package/dist/esm/internal-content-types/PreviewSnapshot.d.ts.map +1 -0
  512. package/dist/esm/internal-content-types/PreviewSnapshot.js +17 -0
  513. package/dist/esm/internal-content-types/PreviewSnapshot.js.map +1 -0
  514. package/dist/esm/internal-content-types/Redirect.d.ts +600 -8
  515. package/dist/esm/internal-content-types/Redirect.d.ts.map +1 -1
  516. package/dist/esm/internal-content-types/RobotsRule.d.ts +632 -0
  517. package/dist/esm/internal-content-types/RobotsRule.d.ts.map +1 -0
  518. package/dist/esm/internal-content-types/RobotsRule.js +24 -0
  519. package/dist/esm/internal-content-types/RobotsRule.js.map +1 -0
  520. package/dist/esm/internal-content-types/Route.d.ts +673 -1
  521. package/dist/esm/internal-content-types/Route.d.ts.map +1 -1
  522. package/dist/esm/internal-content-types/RouteLayoutModule.d.ts +796 -0
  523. package/dist/esm/internal-content-types/RouteLayoutModule.d.ts.map +1 -1
  524. package/dist/esm/internal-content-types/RouteLayoutModuleOverride.d.ts +700 -0
  525. package/dist/esm/internal-content-types/RouteLayoutModuleOverride.d.ts.map +1 -1
  526. package/dist/esm/internal-content-types/RouteMap.d.ts +701 -0
  527. package/dist/esm/internal-content-types/RouteMap.d.ts.map +1 -1
  528. package/dist/esm/internal-content-types/RouteMap.js +1 -0
  529. package/dist/esm/internal-content-types/RouteMap.js.map +1 -1
  530. package/dist/esm/internal-content-types/RouteSettings.d.ts +9455 -8
  531. package/dist/esm/internal-content-types/RouteSettings.d.ts.map +1 -1
  532. package/dist/esm/internal-content-types/SchemaState.d.ts +415 -0
  533. package/dist/esm/internal-content-types/SchemaState.d.ts.map +1 -0
  534. package/dist/esm/internal-content-types/SchemaState.js +11 -0
  535. package/dist/esm/internal-content-types/SchemaState.js.map +1 -0
  536. package/dist/esm/internal-content-types/Seo.d.ts +3623 -1
  537. package/dist/esm/internal-content-types/Seo.d.ts.map +1 -1
  538. package/dist/esm/internal-content-types/Seo.js +48 -1
  539. package/dist/esm/internal-content-types/Seo.js.map +1 -1
  540. package/dist/esm/internal-content-types/SeoSettings.d.ts +4075 -0
  541. package/dist/esm/internal-content-types/SeoSettings.d.ts.map +1 -0
  542. package/dist/esm/internal-content-types/SeoSettings.js +17 -0
  543. package/dist/esm/internal-content-types/SeoSettings.js.map +1 -0
  544. package/dist/esm/internal-content-types/Session.d.ts +2089 -21
  545. package/dist/esm/internal-content-types/Session.d.ts.map +1 -1
  546. package/dist/esm/internal-content-types/UserMfa.d.ts +1905 -21
  547. package/dist/esm/internal-content-types/UserMfa.d.ts.map +1 -1
  548. package/dist/esm/internal-content-types/WebAuthnCredential.d.ts +2553 -21
  549. package/dist/esm/internal-content-types/WebAuthnCredential.d.ts.map +1 -1
  550. package/dist/esm/internal-content-types/WebAuthnRegChallenge.d.ts +2229 -21
  551. package/dist/esm/internal-content-types/WebAuthnRegChallenge.d.ts.map +1 -1
  552. package/dist/esm/internal-content-types/index.d.ts +9 -0
  553. package/dist/esm/internal-content-types/index.d.ts.map +1 -1
  554. package/dist/esm/internal-content-types/index.js +9 -0
  555. package/dist/esm/internal-content-types/index.js.map +1 -1
  556. package/dist/esm/lib/ContentType.d.ts +97 -1
  557. package/dist/esm/lib/ContentType.d.ts.map +1 -1
  558. package/dist/esm/lib/ContentType.js +148 -4
  559. package/dist/esm/lib/ContentType.js.map +1 -1
  560. package/dist/esm/lib/Permissions.d.ts +1 -1
  561. package/dist/esm/lib/Permissions.d.ts.map +1 -1
  562. package/dist/esm/lib/Permissions.js +47 -2
  563. package/dist/esm/lib/Permissions.js.map +1 -1
  564. package/dist/esm/lib/Registry.d.ts +42 -4
  565. package/dist/esm/lib/Registry.d.ts.map +1 -1
  566. package/dist/esm/lib/Registry.js +22 -4
  567. package/dist/esm/lib/Registry.js.map +1 -1
  568. package/dist/esm/lib/fields/Field.d.ts +81 -12
  569. package/dist/esm/lib/fields/Field.d.ts.map +1 -1
  570. package/dist/esm/lib/fields/Field.js +56 -0
  571. package/dist/esm/lib/fields/Field.js.map +1 -1
  572. package/dist/esm/lib/fields/File.d.ts +14 -0
  573. package/dist/esm/lib/fields/File.d.ts.map +1 -1
  574. package/dist/esm/lib/fields/File.js +20 -0
  575. package/dist/esm/lib/fields/File.js.map +1 -1
  576. package/dist/esm/lib/types/index.d.ts +7 -0
  577. package/dist/esm/lib/types/index.d.ts.map +1 -1
  578. package/dist/esm/literals/definitions.d.ts +3 -13
  579. package/dist/esm/literals/definitions.d.ts.map +1 -1
  580. package/dist/esm/literals/definitions.js +8 -11
  581. package/dist/esm/literals/definitions.js.map +1 -1
  582. package/dist/esm/manager.d.ts +1604 -4
  583. package/dist/esm/manager.d.ts.map +1 -1
  584. package/dist/esm/media/imageOptimization.d.ts +8 -0
  585. package/dist/esm/media/imageOptimization.d.ts.map +1 -1
  586. package/dist/esm/media/imageOptimization.js +69 -25
  587. package/dist/esm/media/imageOptimization.js.map +1 -1
  588. package/dist/esm/media/mediaService.d.ts +1 -0
  589. package/dist/esm/media/mediaService.d.ts.map +1 -1
  590. package/dist/esm/media/mediaService.js.map +1 -1
  591. package/dist/esm/orm/backups.d.ts +34 -0
  592. package/dist/esm/orm/backups.d.ts.map +1 -0
  593. package/dist/esm/orm/backups.js +167 -0
  594. package/dist/esm/orm/backups.js.map +1 -0
  595. package/dist/esm/orm/createIndexes.d.ts.map +1 -1
  596. package/dist/esm/orm/createIndexes.js +46 -0
  597. package/dist/esm/orm/createIndexes.js.map +1 -1
  598. package/dist/esm/orm/database.d.ts +1 -1
  599. package/dist/esm/orm/database.d.ts.map +1 -1
  600. package/dist/esm/orm/database.js +55 -30
  601. package/dist/esm/orm/database.js.map +1 -1
  602. package/dist/esm/orm/dbService.d.ts +16 -5
  603. package/dist/esm/orm/dbService.d.ts.map +1 -1
  604. package/dist/esm/orm/dbService.js.map +1 -1
  605. package/dist/esm/orm/index.d.ts +3 -3
  606. package/dist/esm/orm/index.d.ts.map +1 -1
  607. package/dist/esm/orm/index.js +44 -22
  608. package/dist/esm/orm/index.js.map +1 -1
  609. package/dist/esm/orm/migrations.d.ts +41 -0
  610. package/dist/esm/orm/migrations.d.ts.map +1 -0
  611. package/dist/esm/orm/migrations.js +270 -0
  612. package/dist/esm/orm/migrations.js.map +1 -0
  613. package/dist/esm/orm/operations/create.d.ts +2 -1
  614. package/dist/esm/orm/operations/create.d.ts.map +1 -1
  615. package/dist/esm/orm/operations/create.js +28 -2
  616. package/dist/esm/orm/operations/create.js.map +1 -1
  617. package/dist/esm/orm/operations/delete.d.ts +2 -1
  618. package/dist/esm/orm/operations/delete.d.ts.map +1 -1
  619. package/dist/esm/orm/operations/delete.js +18 -4
  620. package/dist/esm/orm/operations/delete.js.map +1 -1
  621. package/dist/esm/orm/operations/getAll.js +1 -1
  622. package/dist/esm/orm/operations/getAll.js.map +1 -1
  623. package/dist/esm/orm/operations/list.d.ts.map +1 -1
  624. package/dist/esm/orm/operations/list.js +4 -3
  625. package/dist/esm/orm/operations/list.js.map +1 -1
  626. package/dist/esm/orm/operations/update.d.ts +2 -1
  627. package/dist/esm/orm/operations/update.d.ts.map +1 -1
  628. package/dist/esm/orm/operations/update.js +27 -3
  629. package/dist/esm/orm/operations/update.js.map +1 -1
  630. package/dist/esm/orm/operations/updateMany.d.ts +2 -1
  631. package/dist/esm/orm/operations/updateMany.d.ts.map +1 -1
  632. package/dist/esm/orm/operations/updateMany.js +1 -1
  633. package/dist/esm/orm/operations/updateMany.js.map +1 -1
  634. package/dist/esm/orm/operations/upsert.d.ts +2 -1
  635. package/dist/esm/orm/operations/upsert.d.ts.map +1 -1
  636. package/dist/esm/orm/operations/upsert.js +3 -3
  637. package/dist/esm/orm/operations/upsert.js.map +1 -1
  638. package/dist/esm/orm/versions.d.ts +63 -0
  639. package/dist/esm/orm/versions.d.ts.map +1 -0
  640. package/dist/esm/orm/versions.js +306 -0
  641. package/dist/esm/orm/versions.js.map +1 -0
  642. package/dist/esm/schemas/manager/apiOperations.d.ts +43 -0
  643. package/dist/esm/schemas/manager/apiOperations.d.ts.map +1 -0
  644. package/dist/esm/schemas/manager/apiOperations.js +14 -0
  645. package/dist/esm/schemas/manager/apiOperations.js.map +1 -0
  646. package/dist/esm/schemas/manager/auth/accountInfo.d.ts +5 -0
  647. package/dist/esm/schemas/manager/auth/accountInfo.d.ts.map +1 -1
  648. package/dist/esm/schemas/manager/auth/accountInfo.js +4 -0
  649. package/dist/esm/schemas/manager/auth/accountInfo.js.map +1 -1
  650. package/dist/esm/schemas/manager/auth/tutorials.d.ts +10 -0
  651. package/dist/esm/schemas/manager/auth/tutorials.d.ts.map +1 -0
  652. package/dist/esm/schemas/manager/auth/tutorials.js +8 -0
  653. package/dist/esm/schemas/manager/auth/tutorials.js.map +1 -0
  654. package/dist/esm/schemas/manager/backups.d.ts +70 -0
  655. package/dist/esm/schemas/manager/backups.d.ts.map +1 -0
  656. package/dist/esm/schemas/manager/backups.js +27 -0
  657. package/dist/esm/schemas/manager/backups.js.map +1 -0
  658. package/dist/esm/schemas/manager/duplicate.d.ts +7 -0
  659. package/dist/esm/schemas/manager/duplicate.d.ts.map +1 -0
  660. package/dist/esm/schemas/manager/duplicate.js +6 -0
  661. package/dist/esm/schemas/manager/duplicate.js.map +1 -0
  662. package/dist/esm/schemas/manager/media/deleteFolder.d.ts +13 -0
  663. package/dist/esm/schemas/manager/media/deleteFolder.d.ts.map +1 -0
  664. package/dist/esm/schemas/manager/media/deleteFolder.js +11 -0
  665. package/dist/esm/schemas/manager/media/deleteFolder.js.map +1 -0
  666. package/dist/esm/schemas/manager/media/finalizeUpload.d.ts +45 -0
  667. package/dist/esm/schemas/manager/media/finalizeUpload.d.ts.map +1 -1
  668. package/dist/esm/schemas/manager/media/finalizeUpload.js +15 -1
  669. package/dist/esm/schemas/manager/media/finalizeUpload.js.map +1 -1
  670. package/dist/esm/schemas/manager/media/prepareUpload.d.ts +6 -0
  671. package/dist/esm/schemas/manager/media/prepareUpload.d.ts.map +1 -1
  672. package/dist/esm/schemas/manager/media/prepareUpload.js +2 -0
  673. package/dist/esm/schemas/manager/media/prepareUpload.js.map +1 -1
  674. package/dist/esm/schemas/manager/migrations.d.ts +70 -0
  675. package/dist/esm/schemas/manager/migrations.d.ts.map +1 -0
  676. package/dist/esm/schemas/manager/migrations.js +35 -0
  677. package/dist/esm/schemas/manager/migrations.js.map +1 -0
  678. package/dist/esm/schemas/manager/preview.d.ts +16 -0
  679. package/dist/esm/schemas/manager/preview.d.ts.map +1 -0
  680. package/dist/esm/schemas/manager/preview.js +14 -0
  681. package/dist/esm/schemas/manager/preview.js.map +1 -0
  682. package/dist/esm/schemas/manager/translateDocument.d.ts +30 -0
  683. package/dist/esm/schemas/manager/translateDocument.d.ts.map +1 -0
  684. package/dist/esm/schemas/manager/translateDocument.js +21 -0
  685. package/dist/esm/schemas/manager/translateDocument.js.map +1 -0
  686. package/dist/esm/schemas/manager/versions.d.ts +135 -0
  687. package/dist/esm/schemas/manager/versions.d.ts.map +1 -0
  688. package/dist/esm/schemas/manager/versions.js +50 -0
  689. package/dist/esm/schemas/manager/versions.js.map +1 -0
  690. package/dist/esm/schemas/web/page.d.ts +736 -2
  691. package/dist/esm/schemas/web/page.d.ts.map +1 -1
  692. package/dist/esm/schemas/web/page.js +6 -1
  693. package/dist/esm/schemas/web/page.js.map +1 -1
  694. package/dist/esm/schemas/web/previewPage.d.ts +470 -0
  695. package/dist/esm/schemas/web/previewPage.d.ts.map +1 -0
  696. package/dist/esm/schemas/web/previewPage.js +10 -0
  697. package/dist/esm/schemas/web/previewPage.js.map +1 -0
  698. package/dist/esm/schemas/web/robots.d.ts +6 -0
  699. package/dist/esm/schemas/web/robots.d.ts.map +1 -0
  700. package/dist/esm/schemas/web/robots.js +5 -0
  701. package/dist/esm/schemas/web/robots.js.map +1 -0
  702. package/dist/esm/schemas/web/sitemap.d.ts +25 -0
  703. package/dist/esm/schemas/web/sitemap.d.ts.map +1 -0
  704. package/dist/esm/schemas/web/sitemap.js +16 -0
  705. package/dist/esm/schemas/web/sitemap.js.map +1 -0
  706. package/dist/esm/translation/adapters/index.d.ts +20 -0
  707. package/dist/esm/translation/adapters/index.d.ts.map +1 -0
  708. package/dist/esm/translation/adapters/index.js +2 -0
  709. package/dist/esm/translation/adapters/index.js.map +1 -0
  710. package/dist/esm/translation/document.d.ts +23 -0
  711. package/dist/esm/translation/document.d.ts.map +1 -0
  712. package/dist/esm/translation/document.js +392 -0
  713. package/dist/esm/translation/document.js.map +1 -0
  714. package/dist/esm/translation/index.d.ts +10 -0
  715. package/dist/esm/translation/index.d.ts.map +1 -0
  716. package/dist/esm/translation/index.js +26 -0
  717. package/dist/esm/translation/index.js.map +1 -0
  718. package/dist/esm/translation/translationService.d.ts +9 -0
  719. package/dist/esm/translation/translationService.d.ts.map +1 -0
  720. package/dist/esm/translation/translationService.js +4 -0
  721. package/dist/esm/translation/translationService.js.map +1 -0
  722. package/dist/esm/web/client.d.ts +58 -0
  723. package/dist/esm/web/client.d.ts.map +1 -0
  724. package/dist/esm/web/client.js +89 -0
  725. package/dist/esm/web/client.js.map +1 -0
  726. package/dist/esm/web/index.d.ts +1 -0
  727. package/dist/esm/web/index.d.ts.map +1 -1
  728. package/dist/esm/web/index.js +1 -0
  729. package/dist/esm/web/index.js.map +1 -1
  730. package/dist/tsconfig.build.tsbuildinfo +1 -1
  731. package/package.json +2 -2
@@ -0,0 +1,270 @@
1
+ import { Migration, MigrationLock, SchemaState } from "../internal-content-types";
2
+ import { Logger } from "../lib/Logger";
3
+ import { getContentTypes } from "../lib/Registry";
4
+ import { transformObjectIdsToStrings } from "./utils/transformObjectIdsToStrings";
5
+ const MIGRATIONS = Migration.name;
6
+ const SCHEMA_STATE = SchemaState.name;
7
+ const MIGRATION_LOCK = MigrationLock.name;
8
+ const LOCK_ID = "global";
9
+ const LOCK_TTL_MS = 15 * 60 * 1000;
10
+ const migrationKey = (contentType, migration) => `${contentType.name}:${migration.id ?? `${migration.from}->${migration.to}`}`;
11
+ const toErrorMessage = (error) => error instanceof Error ? error.message : String(error);
12
+ const acquireLock = async (db) => {
13
+ const staleBefore = new Date(Date.now() - LOCK_TTL_MS);
14
+ const locks = db.collection(MIGRATION_LOCK);
15
+ Logger.addTrace("migrations.lock: acquiring", {
16
+ lockId: LOCK_ID,
17
+ staleBefore,
18
+ });
19
+ const staleLocks = await locks.deleteMany({
20
+ acquiredAt: { $lt: staleBefore },
21
+ });
22
+ if (staleLocks.deletedCount > 0) {
23
+ Logger.addTrace("migrations.lock: stale locks deleted", {
24
+ deleted: staleLocks.deletedCount,
25
+ });
26
+ }
27
+ try {
28
+ await locks.insertOne({
29
+ _id: LOCK_ID,
30
+ acquiredAt: new Date(),
31
+ });
32
+ Logger.addTrace("migrations.lock: acquired", { lockId: LOCK_ID });
33
+ }
34
+ catch {
35
+ Logger.addTrace("migrations.lock: already running", { lockId: LOCK_ID });
36
+ throw new Error("Rakun migrations are already running");
37
+ }
38
+ };
39
+ const releaseLock = async (db) => {
40
+ await db
41
+ .collection(MIGRATION_LOCK)
42
+ .deleteOne({ _id: LOCK_ID });
43
+ Logger.addTrace("migrations.lock: released", { lockId: LOCK_ID });
44
+ };
45
+ const getInitialVersion = async (db, contentType) => {
46
+ const target = contentType.schemaVersion ?? 1;
47
+ const count = await db.collection(contentType.name).countDocuments({});
48
+ if (count === 0)
49
+ return target;
50
+ if (contentType.migrations.length === 0)
51
+ return target;
52
+ return Math.min(...contentType.migrations.map((migration) => migration.from));
53
+ };
54
+ const getCurrentVersion = async (db, contentType) => {
55
+ const state = await db.collection(SCHEMA_STATE).findOne({
56
+ contentType: contentType.name,
57
+ });
58
+ if (typeof state?.version === "number") {
59
+ return state.version;
60
+ }
61
+ return await getInitialVersion(db, contentType);
62
+ };
63
+ const upsertState = async (db, contentType, version) => {
64
+ await db.collection(SCHEMA_STATE).updateOne({ contentType: contentType.name }, {
65
+ $set: {
66
+ contentType: contentType.name,
67
+ version,
68
+ updatedAt: new Date(),
69
+ },
70
+ }, { upsert: true });
71
+ };
72
+ const getPendingMigrations = async (db) => {
73
+ const pending = [];
74
+ for (const contentType of getContentTypes()) {
75
+ if (!contentType.schemaVersion)
76
+ continue;
77
+ let current = await getCurrentVersion(db, contentType);
78
+ for (const migration of [...contentType.migrations].sort((left, right) => left.from - right.from)) {
79
+ if (current >= contentType.schemaVersion)
80
+ break;
81
+ if (migration.from !== current)
82
+ continue;
83
+ pending.push({
84
+ contentType: contentType.name,
85
+ migrationId: migrationKey(contentType, migration),
86
+ from: migration.from,
87
+ to: migration.to,
88
+ description: migration.description,
89
+ });
90
+ current = migration.to;
91
+ }
92
+ }
93
+ return pending;
94
+ };
95
+ export const runMigrations = async (dbService) => {
96
+ const db = dbService.rawDB;
97
+ const contentTypes = getContentTypes().filter((contentType) => contentType.schemaVersion);
98
+ Logger.addTrace("migrations.run: start", {
99
+ contentTypes: contentTypes.map((contentType) => contentType.name),
100
+ contentTypesCount: contentTypes.length,
101
+ });
102
+ if (contentTypes.length === 0) {
103
+ Logger.addTrace("migrations.run: no versioned schemas");
104
+ return;
105
+ }
106
+ await acquireLock(db);
107
+ try {
108
+ for (const contentType of contentTypes) {
109
+ const target = contentType.schemaVersion;
110
+ let current = await getCurrentVersion(db, contentType);
111
+ Logger.addTrace("migrations.run: content type loaded", {
112
+ contentType: contentType.name,
113
+ current,
114
+ target,
115
+ migrations: contentType.migrations.length,
116
+ });
117
+ if (current > target) {
118
+ Logger.addTrace("migrations.run: database version is newer than code", {
119
+ contentType: contentType.name,
120
+ current,
121
+ target,
122
+ });
123
+ throw new Error(`Database schema for ${contentType.name} is at version ${current}, but code targets ${target}`);
124
+ }
125
+ if (current === target) {
126
+ await upsertState(db, contentType, target);
127
+ Logger.addTrace("migrations.run: content type already current", {
128
+ contentType: contentType.name,
129
+ version: target,
130
+ });
131
+ continue;
132
+ }
133
+ const migrations = [...contentType.migrations].sort((left, right) => left.from - right.from);
134
+ while (current < target) {
135
+ const migration = migrations.find((item) => item.from === current);
136
+ if (!migration || migration.to > target) {
137
+ Logger.addTrace("migrations.run: missing migration", {
138
+ contentType: contentType.name,
139
+ current,
140
+ target,
141
+ });
142
+ throw new Error(`Missing migration for ${contentType.name}: ${current} -> ${target}`);
143
+ }
144
+ const key = migrationKey(contentType, migration);
145
+ Logger.addTrace("migrations.run: migration resolved", {
146
+ contentType: contentType.name,
147
+ migrationId: key,
148
+ from: migration.from,
149
+ to: migration.to,
150
+ });
151
+ const completed = await db.collection(MIGRATIONS).findOne({
152
+ contentType: contentType.name,
153
+ migrationId: key,
154
+ status: "completed",
155
+ });
156
+ if (completed) {
157
+ current = migration.to;
158
+ await upsertState(db, contentType, current);
159
+ Logger.addTrace("migrations.run: migration already completed", {
160
+ contentType: contentType.name,
161
+ migrationId: key,
162
+ version: current,
163
+ });
164
+ continue;
165
+ }
166
+ Logger.addTrace("migrations.run: creating backup", {
167
+ contentType: contentType.name,
168
+ migrationId: key,
169
+ });
170
+ const backup = await dbService.backups.create({
171
+ reason: `pre-migration: ${key}`,
172
+ });
173
+ Logger.addTrace("migrations.run: backup created", {
174
+ contentType: contentType.name,
175
+ migrationId: key,
176
+ backupId: backup._id,
177
+ documentCount: backup.documentCount,
178
+ });
179
+ const startedAt = new Date();
180
+ const insert = await db.collection(MIGRATIONS).insertOne({
181
+ contentType: contentType.name,
182
+ migrationId: key,
183
+ from: migration.from,
184
+ to: migration.to,
185
+ description: migration.description,
186
+ status: "running",
187
+ backupId: backup._id,
188
+ startedAt,
189
+ });
190
+ Logger.addTrace("migrations.run: ledger marked running", {
191
+ contentType: contentType.name,
192
+ migrationId: key,
193
+ ledgerId: insert.insertedId.toString(),
194
+ backupId: backup._id,
195
+ });
196
+ try {
197
+ Logger.addTrace("migrations.run: migration executing", {
198
+ contentType: contentType.name,
199
+ migrationId: key,
200
+ from: migration.from,
201
+ to: migration.to,
202
+ });
203
+ await migration.migrate({
204
+ db: dbService,
205
+ rawDB: db,
206
+ contentType,
207
+ backupId: backup._id,
208
+ });
209
+ current = migration.to;
210
+ await upsertState(db, contentType, current);
211
+ await db.collection(MIGRATIONS).updateOne({ _id: insert.insertedId }, {
212
+ $set: {
213
+ status: "completed",
214
+ completedAt: new Date(),
215
+ },
216
+ });
217
+ Logger.addTrace("migrations.run: migration completed", {
218
+ contentType: contentType.name,
219
+ migrationId: key,
220
+ version: current,
221
+ ledgerId: insert.insertedId.toString(),
222
+ });
223
+ }
224
+ catch (error) {
225
+ Logger.addTrace("migrations.run: migration failed", {
226
+ contentType: contentType.name,
227
+ migrationId: key,
228
+ ledgerId: insert.insertedId.toString(),
229
+ error: toErrorMessage(error),
230
+ });
231
+ await db.collection(MIGRATIONS).updateOne({ _id: insert.insertedId }, {
232
+ $set: {
233
+ status: "failed",
234
+ failedAt: new Date(),
235
+ error: toErrorMessage(error),
236
+ },
237
+ });
238
+ throw error;
239
+ }
240
+ }
241
+ }
242
+ Logger.addTrace("migrations.run: completed");
243
+ }
244
+ finally {
245
+ await releaseLock(db);
246
+ }
247
+ };
248
+ export const createMongoMigrationAdapter = (db) => ({
249
+ list: async () => {
250
+ Logger.addTrace("migrations.list: start");
251
+ const states = transformObjectIdsToStrings(await db
252
+ .collection(SCHEMA_STATE)
253
+ .find({})
254
+ .sort({ contentType: 1 })
255
+ .toArray());
256
+ const migrations = transformObjectIdsToStrings(await db
257
+ .collection(MIGRATIONS)
258
+ .find({})
259
+ .sort({ startedAt: -1 })
260
+ .toArray());
261
+ const pending = await getPendingMigrations(db);
262
+ Logger.addTrace("migrations.list: loaded", {
263
+ states: states.length,
264
+ migrations: migrations.length,
265
+ pending: pending.length,
266
+ });
267
+ return { states, migrations, pending };
268
+ },
269
+ });
270
+ //# sourceMappingURL=migrations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrations.js","sourceRoot":"","sources":["../../../src/orm/migrations.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import type { Db } from "mongodb";
2
+ import { type DBMutationOptions } from "../dbService";
2
3
  import ContentType from "../../lib/ContentType";
3
4
  import { DataInput, DBOutput } from "../../lib/types";
4
- export declare const createHandler: (db: Db) => <T extends ContentType>(contentType: T, data: DataInput<T>) => Promise<DBOutput<T>>;
5
+ export declare const createHandler: (db: Db) => <T extends ContentType>(contentType: T, data: DataInput<T>, options?: DBMutationOptions) => Promise<DBOutput<T>>;
5
6
  //# sourceMappingURL=create.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../../src/orm/operations/create.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAclC,OAAO,WAAW,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEtD,eAAO,MAAM,aAAa,GACvB,IAAI,EAAE,MACA,CAAC,SAAS,WAAW,EAC1B,aAAa,CAAC,EACd,MAAM,SAAS,CAAC,CAAC,CAAC,KACjB,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAsFrB,CAAC"}
1
+ {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../../src/orm/operations/create.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAGlC,OAAO,EAEL,KAAK,iBAAiB,EAMvB,MAAM,cAAc,CAAC;AAKtB,OAAO,WAAW,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEtD,eAAO,MAAM,aAAa,GACvB,IAAI,EAAE,MACA,CAAC,SAAS,WAAW,EAC1B,aAAa,CAAC,EACd,MAAM,SAAS,CAAC,CAAC,CAAC,EAClB,UAAU,iBAAiB,KAC1B,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAoHrB,CAAC"}
@@ -1,9 +1,10 @@
1
1
  import { ZodError } from "zod";
2
2
  import { checkFailureCase, DbError, DbErrorConflict, DbErrorInvalidData, DbErrorNotFound, DbErrorUnknown, } from "../dbService";
3
+ import { recordContentVersion } from "../versions";
3
4
  import { transformStringToObjectIds } from "../utils/transformStringToObjectIds";
4
5
  import { transformObjectIdsToStrings } from "../utils/transformObjectIdsToStrings";
5
6
  import { deepDeleteNulls } from "../utils/deepDeleteNulls";
6
- export const createHandler = (db) => async (contentType, data) => {
7
+ export const createHandler = (db) => async (contentType, data, options) => {
7
8
  checkFailureCase("CreationError");
8
9
  try {
9
10
  contentType.validate(data);
@@ -57,7 +58,22 @@ export const createHandler = (db) => async (contentType, data) => {
57
58
  throw new DbErrorUnknown(String(error));
58
59
  }
59
60
  }
60
- const noNullData = deepDeleteNulls(data);
61
+ const versioned = !!contentType.versioning && !options?.skipVersioning;
62
+ const metadata = {
63
+ ...(contentType.schemaVersion
64
+ ? { _schemaVersion: contentType.schemaVersion }
65
+ : {}),
66
+ ...(contentType.documentVisibility
67
+ ? {
68
+ _visibility: data._visibility ?? "draft",
69
+ }
70
+ : {}),
71
+ ...(versioned ? { _revision: 1 } : {}),
72
+ };
73
+ const noNullData = deepDeleteNulls({
74
+ ...data,
75
+ ...metadata,
76
+ });
61
77
  const result = await db.collection(contentType.name).insertOne({
62
78
  ...transformStringToObjectIds(noNullData),
63
79
  createdAt: new Date(),
@@ -71,6 +87,16 @@ export const createHandler = (db) => async (contentType, data) => {
71
87
  if (!document) {
72
88
  throw new DbErrorNotFound("Document not found after creation");
73
89
  }
90
+ if (versioned) {
91
+ await recordContentVersion(db, contentType, {
92
+ operation: "create",
93
+ actorId: options?.actorId,
94
+ reason: options?.reason,
95
+ before: null,
96
+ after: transformStringToObjectIds(document),
97
+ revision: 1,
98
+ });
99
+ }
74
100
  return document;
75
101
  };
76
102
  //# sourceMappingURL=create.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../../src/orm/operations/create.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../../src/orm/operations/create.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import type { Db } from "mongodb";
2
+ import { type DBMutationOptions } from "../dbService";
2
3
  import ContentType from "../../lib/ContentType";
3
4
  import { Filter } from "../../lib/types";
4
- export declare const deleteHandler: (db: Db) => <T extends ContentType>(contentType: T, filter: Filter<T>) => Promise<void>;
5
+ export declare const deleteHandler: (db: Db) => <T extends ContentType>(contentType: T, filter: Filter<T>, options?: DBMutationOptions) => Promise<void>;
5
6
  //# sourceMappingURL=delete.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../../src/orm/operations/delete.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAIlC,OAAO,WAAW,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEzC,eAAO,MAAM,aAAa,GACvB,IAAI,EAAE,MACA,CAAC,SAAS,WAAW,EAC1B,aAAa,CAAC,EACd,QAAQ,MAAM,CAAC,CAAC,CAAC,KAChB,OAAO,CAAC,IAAI,CAMd,CAAC"}
1
+ {"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../../src/orm/operations/delete.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAElC,OAAO,EAAoB,KAAK,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAGxE,OAAO,WAAW,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEzC,eAAO,MAAM,aAAa,GACvB,IAAI,EAAE,MACA,CAAC,SAAS,WAAW,EAC1B,aAAa,CAAC,EACd,QAAQ,MAAM,CAAC,CAAC,CAAC,EACjB,UAAU,iBAAiB,KAC1B,OAAO,CAAC,IAAI,CAyBd,CAAC"}
@@ -1,9 +1,23 @@
1
1
  import { checkFailureCase } from "../dbService";
2
+ import { recordContentVersion } from "../versions";
2
3
  import { transformStringToObjectIds } from "../utils/transformStringToObjectIds";
3
- export const deleteHandler = (db) => async (contentType, filter) => {
4
+ export const deleteHandler = (db) => async (contentType, filter, options) => {
4
5
  checkFailureCase("DeletionError");
5
- await db
6
- .collection(contentType.name)
7
- .deleteMany(transformStringToObjectIds(filter));
6
+ const transformedFilter = transformStringToObjectIds(filter);
7
+ const versioned = !!contentType.versioning && !options?.skipVersioning;
8
+ const before = versioned
9
+ ? await db.collection(contentType.name).find(transformedFilter).toArray()
10
+ : [];
11
+ await db.collection(contentType.name).deleteMany(transformedFilter);
12
+ if (versioned) {
13
+ await Promise.all(before.map((document) => recordContentVersion(db, contentType, {
14
+ operation: "delete",
15
+ actorId: options?.actorId,
16
+ reason: options?.reason,
17
+ before: document,
18
+ after: null,
19
+ revision: Number(document._revision ?? 0) + 1,
20
+ })));
21
+ }
8
22
  };
9
23
  //# sourceMappingURL=delete.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../../src/orm/operations/delete.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AAIjF,MAAM,CAAC,MAAM,aAAa,GACxB,CAAC,EAAM,EAAE,EAAE,CACX,KAAK,EACH,WAAc,EACd,MAAiB,EACF,EAAE;IACjB,gBAAgB,CAAC,eAAe,CAAC,CAAC;IAElC,MAAM,EAAE;SACL,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC;SAC5B,UAAU,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC,CAAC;AACpD,CAAC,CAAC"}
1
+ {"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../../src/orm/operations/delete.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAA0B,MAAM,cAAc,CAAC;AACxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AAIjF,MAAM,CAAC,MAAM,aAAa,GACxB,CAAC,EAAM,EAAE,EAAE,CACX,KAAK,EACH,WAAc,EACd,MAAiB,EACjB,OAA2B,EACZ,EAAE;IACjB,gBAAgB,CAAC,eAAe,CAAC,CAAC;IAElC,MAAM,iBAAiB,GAAG,0BAA0B,CAAC,MAAM,CAAC,CAAC;IAC7D,MAAM,SAAS,GAAG,CAAC,CAAC,WAAW,CAAC,UAAU,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC;IACvE,MAAM,MAAM,GAAG,SAAS;QACtB,CAAC,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,OAAO,EAAE;QACzE,CAAC,CAAC,EAAE,CAAC;IAEP,MAAM,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;IAEpE,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,OAAO,CAAC,GAAG,CACf,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CACtB,oBAAoB,CAAC,EAAE,EAAE,WAAW,EAAE;YACpC,SAAS,EAAE,QAAQ;YACnB,OAAO,EAAE,OAAO,EAAE,OAAO;YACzB,MAAM,EAAE,OAAO,EAAE,MAAM;YACvB,MAAM,EAAE,QAAQ;YAChB,KAAK,EAAE,IAAI;YACX,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,SAAS,IAAI,CAAC,CAAC,GAAG,CAAC;SAC9C,CAAC,CACH,CACF,CAAC;IACJ,CAAC;AACH,CAAC,CAAC"}
@@ -12,7 +12,7 @@ export const getAllHandler = (db) => async (contentType, query) => {
12
12
  }
13
13
  return transformObjectIdsToStrings(await db
14
14
  .collection(contentType.name)
15
- .find(optionsQuery)
15
+ .find({}, optionsQuery)
16
16
  .toArray());
17
17
  };
18
18
  //# sourceMappingURL=getAll.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getAll.js","sourceRoot":"","sources":["../../../../src/orm/operations/getAll.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,2BAA2B,EAAE,MAAM,sCAAsC,CAAC;AAInF,MAAM,CAAC,MAAM,aAAa,GACxB,CAAC,EAAM,EAAE,EAAE,CACX,KAAK,EACH,WAAc,EACd,KAAsB,EACE,EAAE;IAC1B,gBAAgB,CAAC,YAAY,CAAC,CAAC;IAE/B,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,IAAI,EAAE,CAAC;IAErC,MAAM,YAAY,GAA4B,EAAE,CAAC;IAEjD,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;IACtD,CAAC;IAED,IAAI,IAAI,EAAE,CAAC;QACT,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IACxC,CAAC;IAED,OAAO,2BAA2B,CAChC,MAAM,EAAE;SACL,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC;SAC5B,IAAI,CAAc,YAAY,CAAC;SAC/B,OAAO,EAAE,CACI,CAAC;AACrB,CAAC,CAAC"}
1
+ {"version":3,"file":"getAll.js","sourceRoot":"","sources":["../../../../src/orm/operations/getAll.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,2BAA2B,EAAE,MAAM,sCAAsC,CAAC;AAInF,MAAM,CAAC,MAAM,aAAa,GACxB,CAAC,EAAM,EAAE,EAAE,CACX,KAAK,EACH,WAAc,EACd,KAAsB,EACE,EAAE;IAC1B,gBAAgB,CAAC,YAAY,CAAC,CAAC;IAE/B,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,IAAI,EAAE,CAAC;IAErC,MAAM,YAAY,GAA4B,EAAE,CAAC;IAEjD,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;IACtD,CAAC;IAED,IAAI,IAAI,EAAE,CAAC;QACT,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IACxC,CAAC;IAED,OAAO,2BAA2B,CAChC,MAAM,EAAE;SACL,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC;SAC5B,IAAI,CAAc,EAAE,EAAE,YAAY,CAAC;SACnC,OAAO,EAAE,CACI,CAAC;AACrB,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../../src/orm/operations/list.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAKlC,OAAO,WAAW,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAElD,eAAO,MAAM,WAAW,GACrB,IAAI,EAAE,MACA,CAAC,SAAS,WAAW,EAC1B,aAAa,CAAC,EACd,OAAO,KAAK,CAAC,CAAC,CAAC,KACd,OAAO,CAAC;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAA;CAAE,CAyCtD,CAAC"}
1
+ {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../../src/orm/operations/list.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAKlC,OAAO,WAAW,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAElD,eAAO,MAAM,WAAW,GACrB,IAAI,EAAE,MACA,CAAC,SAAS,WAAW,EAC1B,aAAa,CAAC,EACd,OAAO,KAAK,CAAC,CAAC,CAAC,KACd,OAAO,CAAC;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAA;CAAE,CA0CtD,CAAC"}
@@ -14,19 +14,20 @@ export const listhandler = (db) => async (contentType, query) => {
14
14
  }
15
15
  if (options?.fields) {
16
16
  Object.assign(optionsQuery, {
17
- projection: options.fields.map((f) => f.split(".").shift()),
17
+ projection: Object.fromEntries(options.fields.map((f) => [f.split(".").shift(), 1])),
18
18
  });
19
19
  }
20
20
  if (options?.sort) {
21
21
  Object.assign(optionsQuery, { sort: options.sort });
22
22
  }
23
+ const dbFilter = transformStringToObjectIds(filter || {});
23
24
  const items = transformObjectIdsToStrings(await db
24
25
  .collection(contentType.name)
25
- .find(transformStringToObjectIds(filter || {}), optionsQuery)
26
+ .find(dbFilter, optionsQuery)
26
27
  .toArray());
27
28
  const totalItems = await db
28
29
  .collection(contentType.name)
29
- .countDocuments(transformStringToObjectIds(filter || {}));
30
+ .countDocuments(dbFilter);
30
31
  return { totalItems, items };
31
32
  };
32
33
  //# sourceMappingURL=list.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../src/orm/operations/list.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,2BAA2B,EAAE,MAAM,sCAAsC,CAAC;AACnF,OAAO,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AAIjF,MAAM,CAAC,MAAM,WAAW,GACtB,CAAC,EAAM,EAAE,EAAE,CACX,KAAK,EACH,WAAc,EACd,KAAe,EACwC,EAAE;IACzD,gBAAgB,CAAC,YAAY,CAAC,CAAC;IAE/B,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAElC,MAAM,YAAY,GAA4B,EAAE,CAAC;IAEjD,IAAI,OAAO,EAAE,KAAK,IAAI,OAAO,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;QAC9C,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,IAAI,OAAO,EAAE,IAAI,IAAI,OAAO,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;QAC7C,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;QACzD,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IACxC,CAAC;IAED,IAAI,OAAO,EAAE,MAAM,EAAE,CAAC;QACpB,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE;YAC1B,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC;SAC5D,CAAC,CAAC;IACL,CAAC;IAED,IAAI,OAAO,EAAE,IAAI,EAAE,CAAC;QAClB,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACtD,CAAC;IAED,MAAM,KAAK,GAAG,2BAA2B,CACvC,MAAM,EAAE;SACL,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC;SAC5B,IAAI,CACH,0BAA0B,CAAC,MAAM,IAAI,EAAE,CAAC,EACxC,YAAY,CACb;SACA,OAAO,EAAE,CACI,CAAC;IAEnB,MAAM,UAAU,GAAG,MAAM,EAAE;SACxB,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC;SAC5B,cAAc,CAAC,0BAA0B,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC;IAE5D,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;AAC/B,CAAC,CAAC"}
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../src/orm/operations/list.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,2BAA2B,EAAE,MAAM,sCAAsC,CAAC;AACnF,OAAO,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AAIjF,MAAM,CAAC,MAAM,WAAW,GACtB,CAAC,EAAM,EAAE,EAAE,CACX,KAAK,EACH,WAAc,EACd,KAAe,EACwC,EAAE;IACzD,gBAAgB,CAAC,YAAY,CAAC,CAAC;IAE/B,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAElC,MAAM,YAAY,GAA4B,EAAE,CAAC;IAEjD,IAAI,OAAO,EAAE,KAAK,IAAI,OAAO,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;QAC9C,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,IAAI,OAAO,EAAE,IAAI,IAAI,OAAO,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;QAC7C,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;QACzD,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IACxC,CAAC;IAED,IAAI,OAAO,EAAE,MAAM,EAAE,CAAC;QACpB,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE;YAC1B,UAAU,EAAE,MAAM,CAAC,WAAW,CAC5B,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CACrD;SACF,CAAC,CAAC;IACL,CAAC;IAED,IAAI,OAAO,EAAE,IAAI,EAAE,CAAC;QAClB,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACtD,CAAC;IAED,MAAM,QAAQ,GAAG,0BAA0B,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;IAE1D,MAAM,KAAK,GAAG,2BAA2B,CACvC,MAAM,EAAE;SACL,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC;SAC5B,IAAI,CAAc,QAAQ,EAAE,YAAY,CAAC;SACzC,OAAO,EAAE,CACI,CAAC;IAEnB,MAAM,UAAU,GAAG,MAAM,EAAE;SACxB,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC;SAC5B,cAAc,CAAC,QAAQ,CAAC,CAAC;IAE5B,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;AAC/B,CAAC,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import type { Db } from "mongodb";
2
+ import { type DBMutationOptions } from "../dbService";
2
3
  import ContentType from "../../lib/ContentType";
3
4
  import { DataInput, DBOutput } from "../../lib/types";
4
5
  import { Id } from "../../lib/utils/id";
5
- export declare const updateHandler: (db: Db) => <T extends ContentType>(contentType: T, id: Id, data: Partial<DataInput<T>> | DataInput<T>) => Promise<DBOutput<T>>;
6
+ export declare const updateHandler: (db: Db) => <T extends ContentType>(contentType: T, id: Id, data: Partial<DataInput<T>> | DataInput<T>, options?: DBMutationOptions) => Promise<DBOutput<T>>;
6
7
  //# sourceMappingURL=update.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../../src/orm/operations/update.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAelC,OAAO,WAAW,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAC;AAExC,eAAO,MAAM,aAAa,GACvB,IAAI,EAAE,MACA,CAAC,SAAS,WAAW,EAC1B,aAAa,CAAC,EACd,IAAI,EAAE,EACN,MAAM,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,KACzC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAqGrB,CAAC"}
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../../src/orm/operations/update.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAGlC,OAAO,EAEL,KAAK,iBAAiB,EAMvB,MAAM,cAAc,CAAC;AAMtB,OAAO,WAAW,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAC;AAExC,eAAO,MAAM,aAAa,GACvB,IAAI,EAAE,MACA,CAAC,SAAS,WAAW,EAC1B,aAAa,CAAC,EACd,IAAI,EAAE,EACN,MAAM,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,EAC1C,UAAU,iBAAiB,KAC1B,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CA4HrB,CAAC"}
@@ -1,10 +1,11 @@
1
1
  import { ZodError } from "zod";
2
2
  import { checkFailureCase, DbError, DbErrorConflict, DbErrorInvalidData, DbErrorNotFound, DbErrorUnknown, } from "../dbService";
3
+ import { recordContentVersion } from "../versions";
3
4
  import { parseId } from "../utils/parseId";
4
5
  import { transformObjectIdsToStrings } from "../utils/transformObjectIdsToStrings";
5
6
  import { transformStringToObjectIds } from "../utils/transformStringToObjectIds";
6
7
  import { deepDeleteNulls } from "../utils/deepDeleteNulls";
7
- export const updateHandler = (db) => async (contentType, id, data) => {
8
+ export const updateHandler = (db) => async (contentType, id, data, options) => {
8
9
  checkFailureCase("UpdateError");
9
10
  try {
10
11
  contentType.partialValidate(data);
@@ -69,17 +70,40 @@ export const updateHandler = (db) => async (contentType, id, data) => {
69
70
  }
70
71
  }
71
72
  const noNullData = deepDeleteNulls(data);
73
+ const versioned = !!contentType.versioning && !options?.skipVersioning;
74
+ const parsedId = parseId(id);
75
+ const before = versioned
76
+ ? await db.collection(contentType.name).findOne({ _id: parsedId })
77
+ : null;
78
+ const nextRevision = versioned
79
+ ? Number(before?._revision ?? 0) + 1
80
+ : undefined;
72
81
  const nullData = Object.fromEntries(Object.entries(data).filter(([_, value]) => value === null));
73
- const result = transformObjectIdsToStrings(await db.collection(contentType.name).findOneAndUpdate({ _id: parseId(id) }, {
82
+ const rawResult = await db.collection(contentType.name).findOneAndUpdate({ _id: parsedId }, {
74
83
  $set: {
75
84
  ...transformStringToObjectIds(noNullData),
85
+ ...(contentType.schemaVersion
86
+ ? { _schemaVersion: contentType.schemaVersion }
87
+ : {}),
88
+ ...(versioned ? { _revision: nextRevision } : {}),
76
89
  updatedAt: new Date(),
77
90
  },
78
91
  $unset: nullData,
79
- }, { returnDocument: "after" }));
92
+ }, { returnDocument: "after" });
93
+ const result = transformObjectIdsToStrings(rawResult);
80
94
  if (result === null) {
81
95
  throw new DbErrorNotFound("Document not found for update");
82
96
  }
97
+ if (versioned) {
98
+ await recordContentVersion(db, contentType, {
99
+ operation: "update",
100
+ actorId: options?.actorId,
101
+ reason: options?.reason,
102
+ before,
103
+ after: rawResult,
104
+ revision: nextRevision,
105
+ });
106
+ }
83
107
  return result;
84
108
  };
85
109
  //# sourceMappingURL=update.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../../src/orm/operations/update.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../../src/orm/operations/update.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
1
  import type { Db } from "mongodb";
2
+ import { type DBMutationOptions } from "../dbService";
2
3
  import ContentType from "../../lib/ContentType";
3
4
  import { DataInput, Filter } from "../../lib/types";
4
- export declare const updateManyHandler: (db: Db) => <T extends ContentType>(contentType: T, filter: Filter<T>, data: Partial<DataInput<T>>) => Promise<{
5
+ export declare const updateManyHandler: (db: Db) => <T extends ContentType>(contentType: T, filter: Filter<T>, data: Partial<DataInput<T>>, _options?: DBMutationOptions) => Promise<{
5
6
  updatedCount: number;
6
7
  }>;
7
8
  //# sourceMappingURL=updateMany.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"updateMany.d.ts","sourceRoot":"","sources":["../../../../src/orm/operations/updateMany.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAYlC,OAAO,WAAW,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEpD,eAAO,MAAM,iBAAiB,GAC3B,IAAI,EAAE,MACA,CAAC,SAAS,WAAW,EAC1B,aAAa,CAAC,EACd,QAAQ,MAAM,CAAC,CAAC,CAAC,EACjB,MAAM,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAC1B,OAAO,CAAC;IAAE,YAAY,EAAE,MAAM,CAAA;CAAE,CAkGlC,CAAC"}
1
+ {"version":3,"file":"updateMany.d.ts","sourceRoot":"","sources":["../../../../src/orm/operations/updateMany.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAGlC,OAAO,EAEL,KAAK,iBAAiB,EAKvB,MAAM,cAAc,CAAC;AAGtB,OAAO,WAAW,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEpD,eAAO,MAAM,iBAAiB,GAC3B,IAAI,EAAE,MACA,CAAC,SAAS,WAAW,EAC1B,aAAa,CAAC,EACd,QAAQ,MAAM,CAAC,CAAC,CAAC,EACjB,MAAM,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAC3B,WAAW,iBAAiB,KAC3B,OAAO,CAAC;IAAE,YAAY,EAAE,MAAM,CAAA;CAAE,CAkGlC,CAAC"}
@@ -2,7 +2,7 @@ import { ZodError } from "zod";
2
2
  import { checkFailureCase, DbError, DbErrorConflict, DbErrorInvalidData, DbErrorUnknown, } from "../dbService";
3
3
  import { transformObjectIdsToStrings } from "../utils/transformObjectIdsToStrings";
4
4
  import { transformStringToObjectIds } from "../utils/transformStringToObjectIds";
5
- export const updateManyHandler = (db) => async (contentType, filter, data) => {
5
+ export const updateManyHandler = (db) => async (contentType, filter, data, _options) => {
6
6
  checkFailureCase("UpdateError");
7
7
  try {
8
8
  contentType.partialValidate(data);
@@ -1 +1 @@
1
- {"version":3,"file":"updateMany.js","sourceRoot":"","sources":["../../../../src/orm/operations/updateMany.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"updateMany.js","sourceRoot":"","sources":["../../../../src/orm/operations/updateMany.ts"],"names":[],"mappings":"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"}