payload 4.0.0-internal.ea6e8f8 → 4.0.0-internal.ee5d8bd

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 (703) hide show
  1. package/dist/admin/adapters/router.d.ts +1 -1
  2. package/dist/admin/adapters/router.d.ts.map +1 -1
  3. package/dist/admin/adapters/router.js.map +1 -1
  4. package/dist/admin/forms/Diff.d.ts +0 -4
  5. package/dist/admin/forms/Diff.d.ts.map +1 -1
  6. package/dist/admin/forms/Diff.js.map +1 -1
  7. package/dist/admin/forms/Form.d.ts +0 -2
  8. package/dist/admin/forms/Form.d.ts.map +1 -1
  9. package/dist/admin/forms/Form.js.map +1 -1
  10. package/dist/admin/initAdminContext.d.ts.map +1 -1
  11. package/dist/admin/initAdminContext.js +0 -10
  12. package/dist/admin/initAdminContext.js.map +1 -1
  13. package/dist/auth/createAuthToken.d.ts +26 -0
  14. package/dist/auth/createAuthToken.d.ts.map +1 -0
  15. package/dist/auth/createAuthToken.js +39 -0
  16. package/dist/auth/createAuthToken.js.map +1 -0
  17. package/dist/auth/endpoints/refresh.d.ts.map +1 -1
  18. package/dist/auth/endpoints/refresh.js +2 -1
  19. package/dist/auth/endpoints/refresh.js.map +1 -1
  20. package/dist/auth/getFieldsToSign.js.map +1 -1
  21. package/dist/auth/loginWithCookie.d.ts.map +1 -1
  22. package/dist/auth/loginWithCookie.js +1 -0
  23. package/dist/auth/loginWithCookie.js.map +1 -1
  24. package/dist/auth/operations/local/login.d.ts.map +1 -1
  25. package/dist/auth/operations/local/login.js +1 -0
  26. package/dist/auth/operations/local/login.js.map +1 -1
  27. package/dist/auth/operations/login.d.ts +2 -0
  28. package/dist/auth/operations/login.d.ts.map +1 -1
  29. package/dist/auth/operations/login.js +6 -19
  30. package/dist/auth/operations/login.js.map +1 -1
  31. package/dist/auth/operations/refresh.d.ts +8 -0
  32. package/dist/auth/operations/refresh.d.ts.map +1 -1
  33. package/dist/auth/operations/refresh.js +50 -19
  34. package/dist/auth/operations/refresh.js.map +1 -1
  35. package/dist/auth/operations/resetPassword.d.ts.map +1 -1
  36. package/dist/auth/operations/resetPassword.js +54 -20
  37. package/dist/auth/operations/resetPassword.js.map +1 -1
  38. package/dist/auth/refreshAuthToken.d.ts +32 -0
  39. package/dist/auth/refreshAuthToken.d.ts.map +1 -0
  40. package/dist/auth/refreshAuthToken.js +113 -0
  41. package/dist/auth/refreshAuthToken.js.map +1 -0
  42. package/dist/auth/serverFunctions/cookies.js.map +1 -1
  43. package/dist/auth/serverFunctions/login.js.map +1 -1
  44. package/dist/auth/sessions.d.ts +9 -2
  45. package/dist/auth/sessions.d.ts.map +1 -1
  46. package/dist/auth/sessions.js +6 -5
  47. package/dist/auth/sessions.js.map +1 -1
  48. package/dist/auth/types.d.ts +25 -1
  49. package/dist/auth/types.d.ts.map +1 -1
  50. package/dist/auth/types.js.map +1 -1
  51. package/dist/cli/commands/data/utilities.d.ts +1 -1
  52. package/dist/cli/commands/data/utilities.d.ts.map +1 -1
  53. package/dist/cli/commands/data/utilities.js.map +1 -1
  54. package/dist/cli/defineCLICommand.js +1 -1
  55. package/dist/cli/defineCLICommand.js.map +1 -1
  56. package/dist/collections/config/client.d.ts +1 -1
  57. package/dist/collections/config/client.d.ts.map +1 -1
  58. package/dist/collections/config/client.js +0 -1
  59. package/dist/collections/config/client.js.map +1 -1
  60. package/dist/collections/config/defaults.d.ts +2 -0
  61. package/dist/collections/config/defaults.d.ts.map +1 -1
  62. package/dist/collections/config/defaults.js +4 -0
  63. package/dist/collections/config/defaults.js.map +1 -1
  64. package/dist/collections/config/sanitize.d.ts.map +1 -1
  65. package/dist/collections/config/sanitize.js +3 -0
  66. package/dist/collections/config/sanitize.js.map +1 -1
  67. package/dist/collections/config/sanitizeCompoundIndexes.d.ts.map +1 -1
  68. package/dist/collections/config/sanitizeCompoundIndexes.js +0 -9
  69. package/dist/collections/config/sanitizeCompoundIndexes.js.map +1 -1
  70. package/dist/collections/config/types.d.ts +4 -21
  71. package/dist/collections/config/types.d.ts.map +1 -1
  72. package/dist/collections/config/types.js.map +1 -1
  73. package/dist/collections/dataloader.d.ts +1 -10
  74. package/dist/collections/dataloader.d.ts.map +1 -1
  75. package/dist/collections/dataloader.js +6 -14
  76. package/dist/collections/dataloader.js.map +1 -1
  77. package/dist/collections/operations/create.d.ts.map +1 -1
  78. package/dist/collections/operations/create.js +0 -13
  79. package/dist/collections/operations/create.js.map +1 -1
  80. package/dist/collections/operations/delete.d.ts.map +1 -1
  81. package/dist/collections/operations/delete.js +121 -638
  82. package/dist/collections/operations/delete.js.map +1 -1
  83. package/dist/collections/operations/deleteByID.d.ts.map +1 -1
  84. package/dist/collections/operations/deleteByID.js +32 -238
  85. package/dist/collections/operations/deleteByID.js.map +1 -1
  86. package/dist/collections/operations/findByID.d.ts.map +1 -1
  87. package/dist/collections/operations/findByID.js +0 -6
  88. package/dist/collections/operations/findByID.js.map +1 -1
  89. package/dist/collections/operations/findDistinct.d.ts.map +1 -1
  90. package/dist/collections/operations/findDistinct.js +6 -7
  91. package/dist/collections/operations/findDistinct.js.map +1 -1
  92. package/dist/collections/operations/findVersionByID.d.ts.map +1 -1
  93. package/dist/collections/operations/findVersionByID.js +7 -0
  94. package/dist/collections/operations/findVersionByID.js.map +1 -1
  95. package/dist/collections/operations/findVersions.d.ts.map +1 -1
  96. package/dist/collections/operations/findVersions.js +5 -0
  97. package/dist/collections/operations/findVersions.js.map +1 -1
  98. package/dist/collections/operations/local/count.d.ts +4 -9
  99. package/dist/collections/operations/local/count.d.ts.map +1 -1
  100. package/dist/collections/operations/local/count.js.map +1 -1
  101. package/dist/collections/operations/local/countVersions.d.ts +0 -4
  102. package/dist/collections/operations/local/countVersions.d.ts.map +1 -1
  103. package/dist/collections/operations/local/countVersions.js.map +1 -1
  104. package/dist/collections/operations/local/create.d.ts +4 -9
  105. package/dist/collections/operations/local/create.d.ts.map +1 -1
  106. package/dist/collections/operations/local/create.js.map +1 -1
  107. package/dist/collections/operations/local/delete.d.ts +4 -9
  108. package/dist/collections/operations/local/delete.d.ts.map +1 -1
  109. package/dist/collections/operations/local/delete.js.map +1 -1
  110. package/dist/collections/operations/local/duplicate.d.ts +0 -5
  111. package/dist/collections/operations/local/duplicate.d.ts.map +1 -1
  112. package/dist/collections/operations/local/duplicate.js.map +1 -1
  113. package/dist/collections/operations/local/find.d.ts +4 -9
  114. package/dist/collections/operations/local/find.d.ts.map +1 -1
  115. package/dist/collections/operations/local/find.js.map +1 -1
  116. package/dist/collections/operations/local/findByID.d.ts +4 -9
  117. package/dist/collections/operations/local/findByID.d.ts.map +1 -1
  118. package/dist/collections/operations/local/findByID.js.map +1 -1
  119. package/dist/collections/operations/local/findDistinct.d.ts +0 -5
  120. package/dist/collections/operations/local/findDistinct.d.ts.map +1 -1
  121. package/dist/collections/operations/local/findDistinct.js.map +1 -1
  122. package/dist/collections/operations/local/findVersionByID.d.ts +0 -5
  123. package/dist/collections/operations/local/findVersionByID.d.ts.map +1 -1
  124. package/dist/collections/operations/local/findVersionByID.js.map +1 -1
  125. package/dist/collections/operations/local/findVersions.d.ts +0 -5
  126. package/dist/collections/operations/local/findVersions.d.ts.map +1 -1
  127. package/dist/collections/operations/local/findVersions.js.map +1 -1
  128. package/dist/collections/operations/local/restoreVersion.d.ts +0 -5
  129. package/dist/collections/operations/local/restoreVersion.d.ts.map +1 -1
  130. package/dist/collections/operations/local/restoreVersion.js.map +1 -1
  131. package/dist/collections/operations/local/update.d.ts +4 -9
  132. package/dist/collections/operations/local/update.d.ts.map +1 -1
  133. package/dist/collections/operations/local/update.js.map +1 -1
  134. package/dist/collections/operations/renameFile.js +1 -1
  135. package/dist/collections/operations/renameFile.js.map +1 -1
  136. package/dist/collections/operations/restoreVersion.d.ts.map +1 -1
  137. package/dist/collections/operations/restoreVersion.js +76 -157
  138. package/dist/collections/operations/restoreVersion.js.map +1 -1
  139. package/dist/collections/operations/update.d.ts.map +1 -1
  140. package/dist/collections/operations/update.js +171 -357
  141. package/dist/collections/operations/update.js.map +1 -1
  142. package/dist/collections/operations/updateByID.d.ts +0 -15
  143. package/dist/collections/operations/updateByID.d.ts.map +1 -1
  144. package/dist/collections/operations/updateByID.js +60 -265
  145. package/dist/collections/operations/updateByID.js.map +1 -1
  146. package/dist/collections/operations/utilities/buildBeforeOperation.d.ts.map +1 -1
  147. package/dist/collections/operations/utilities/buildBeforeOperation.js +0 -7
  148. package/dist/collections/operations/utilities/buildBeforeOperation.js.map +1 -1
  149. package/dist/collections/operations/utilities/update.d.ts +1 -14
  150. package/dist/collections/operations/utilities/update.d.ts.map +1 -1
  151. package/dist/collections/operations/utilities/update.js +20 -92
  152. package/dist/collections/operations/utilities/update.js.map +1 -1
  153. package/dist/collections/operations/validate.js +4 -4
  154. package/dist/collections/operations/validate.js.map +1 -1
  155. package/dist/config/client.d.ts +1 -3
  156. package/dist/config/client.d.ts.map +1 -1
  157. package/dist/config/client.js +1 -9
  158. package/dist/config/client.js.map +1 -1
  159. package/dist/config/defaults.d.ts.map +1 -1
  160. package/dist/config/defaults.js +1 -0
  161. package/dist/config/defaults.js.map +1 -1
  162. package/dist/config/definePlugin.js.map +1 -1
  163. package/dist/config/sanitize.d.ts.map +1 -1
  164. package/dist/config/sanitize.js +2 -40
  165. package/dist/config/sanitize.js.map +1 -1
  166. package/dist/config/types.d.ts +13 -21
  167. package/dist/config/types.d.ts.map +1 -1
  168. package/dist/config/types.js.map +1 -1
  169. package/dist/database/defaultCopy.d.ts.map +1 -1
  170. package/dist/database/defaultCopy.js +0 -1
  171. package/dist/database/defaultCopy.js.map +1 -1
  172. package/dist/database/types.d.ts +4 -75
  173. package/dist/database/types.d.ts.map +1 -1
  174. package/dist/database/types.js.map +1 -1
  175. package/dist/exports/build-config.d.ts +9 -0
  176. package/dist/exports/build-config.d.ts.map +1 -0
  177. package/dist/exports/build-config.js +38 -0
  178. package/dist/exports/build-config.js.map +1 -0
  179. package/dist/exports/shared.d.ts +0 -2
  180. package/dist/exports/shared.d.ts.map +1 -1
  181. package/dist/exports/shared.js +0 -2
  182. package/dist/exports/shared.js.map +1 -1
  183. package/dist/fields/baseFields/authorship/index.d.ts +1 -2
  184. package/dist/fields/baseFields/authorship/index.d.ts.map +1 -1
  185. package/dist/fields/baseFields/authorship/index.js +0 -12
  186. package/dist/fields/baseFields/authorship/index.js.map +1 -1
  187. package/dist/fields/config/client.js.map +1 -1
  188. package/dist/fields/config/reservedFieldNames.d.ts.map +1 -1
  189. package/dist/fields/config/reservedFieldNames.js.map +1 -1
  190. package/dist/fields/config/types.d.ts.map +1 -1
  191. package/dist/fields/config/types.js.map +1 -1
  192. package/dist/fields/hooks/afterChange/promise.js.map +1 -1
  193. package/dist/fields/hooks/afterRead/index.d.ts +0 -8
  194. package/dist/fields/hooks/afterRead/index.d.ts.map +1 -1
  195. package/dist/fields/hooks/afterRead/index.js +2 -6
  196. package/dist/fields/hooks/afterRead/index.js.map +1 -1
  197. package/dist/fields/hooks/afterRead/promise.d.ts +1 -3
  198. package/dist/fields/hooks/afterRead/promise.d.ts.map +1 -1
  199. package/dist/fields/hooks/afterRead/promise.js +17 -41
  200. package/dist/fields/hooks/afterRead/promise.js.map +1 -1
  201. package/dist/fields/hooks/afterRead/relationshipPopulationPromise.d.ts.map +1 -1
  202. package/dist/fields/hooks/afterRead/relationshipPopulationPromise.js +0 -2
  203. package/dist/fields/hooks/afterRead/relationshipPopulationPromise.js.map +1 -1
  204. package/dist/fields/hooks/afterRead/traverseFields.d.ts +1 -3
  205. package/dist/fields/hooks/afterRead/traverseFields.d.ts.map +1 -1
  206. package/dist/fields/hooks/afterRead/traverseFields.js +2 -4
  207. package/dist/fields/hooks/afterRead/traverseFields.js.map +1 -1
  208. package/dist/fields/hooks/afterRead/virtualFieldPopulationPromise.d.ts.map +1 -1
  209. package/dist/fields/hooks/afterRead/virtualFieldPopulationPromise.js +0 -3
  210. package/dist/fields/hooks/afterRead/virtualFieldPopulationPromise.js.map +1 -1
  211. package/dist/fields/hooks/beforeChange/flattenValidationData.d.ts +14 -0
  212. package/dist/fields/hooks/beforeChange/flattenValidationData.d.ts.map +1 -0
  213. package/dist/fields/hooks/beforeChange/flattenValidationData.js +36 -0
  214. package/dist/fields/hooks/beforeChange/flattenValidationData.js.map +1 -0
  215. package/dist/fields/hooks/beforeChange/promise.d.ts +2 -1
  216. package/dist/fields/hooks/beforeChange/promise.d.ts.map +1 -1
  217. package/dist/fields/hooks/beforeChange/promise.js +96 -22
  218. package/dist/fields/hooks/beforeChange/promise.js.map +1 -1
  219. package/dist/fields/hooks/beforeChange/traverseFields.d.ts +2 -1
  220. package/dist/fields/hooks/beforeChange/traverseFields.d.ts.map +1 -1
  221. package/dist/fields/hooks/beforeChange/traverseFields.js +2 -1
  222. package/dist/fields/hooks/beforeChange/traverseFields.js.map +1 -1
  223. package/dist/fields/hooks/beforeValidate/promise.d.ts.map +1 -1
  224. package/dist/fields/hooks/beforeValidate/promise.js +0 -8
  225. package/dist/fields/hooks/beforeValidate/promise.js.map +1 -1
  226. package/dist/fields/validations.d.ts.map +1 -1
  227. package/dist/fields/validations.js +4 -1
  228. package/dist/fields/validations.js.map +1 -1
  229. package/dist/globals/config/types.d.ts +2 -6
  230. package/dist/globals/config/types.d.ts.map +1 -1
  231. package/dist/globals/config/types.js.map +1 -1
  232. package/dist/globals/operations/countGlobalVersions.d.ts.map +1 -1
  233. package/dist/globals/operations/countGlobalVersions.js +0 -7
  234. package/dist/globals/operations/countGlobalVersions.js.map +1 -1
  235. package/dist/globals/operations/findOne.d.ts.map +1 -1
  236. package/dist/globals/operations/findOne.js +0 -7
  237. package/dist/globals/operations/findOne.js.map +1 -1
  238. package/dist/globals/operations/findVersionByID.d.ts.map +1 -1
  239. package/dist/globals/operations/findVersionByID.js +6 -6
  240. package/dist/globals/operations/findVersionByID.js.map +1 -1
  241. package/dist/globals/operations/findVersions.d.ts.map +1 -1
  242. package/dist/globals/operations/findVersions.js +4 -6
  243. package/dist/globals/operations/findVersions.js.map +1 -1
  244. package/dist/globals/operations/local/countVersions.d.ts +0 -5
  245. package/dist/globals/operations/local/countVersions.d.ts.map +1 -1
  246. package/dist/globals/operations/local/countVersions.js.map +1 -1
  247. package/dist/globals/operations/local/findOne.d.ts +0 -5
  248. package/dist/globals/operations/local/findOne.d.ts.map +1 -1
  249. package/dist/globals/operations/local/findOne.js.map +1 -1
  250. package/dist/globals/operations/local/findVersionByID.d.ts +0 -5
  251. package/dist/globals/operations/local/findVersionByID.d.ts.map +1 -1
  252. package/dist/globals/operations/local/findVersionByID.js.map +1 -1
  253. package/dist/globals/operations/local/findVersions.d.ts +0 -5
  254. package/dist/globals/operations/local/findVersions.d.ts.map +1 -1
  255. package/dist/globals/operations/local/findVersions.js.map +1 -1
  256. package/dist/globals/operations/local/restoreVersion.d.ts +0 -5
  257. package/dist/globals/operations/local/restoreVersion.d.ts.map +1 -1
  258. package/dist/globals/operations/local/restoreVersion.js.map +1 -1
  259. package/dist/globals/operations/local/update.d.ts +0 -5
  260. package/dist/globals/operations/local/update.d.ts.map +1 -1
  261. package/dist/globals/operations/local/update.js +18 -61
  262. package/dist/globals/operations/local/update.js.map +1 -1
  263. package/dist/globals/operations/restoreVersion.d.ts +2 -3
  264. package/dist/globals/operations/restoreVersion.d.ts.map +1 -1
  265. package/dist/globals/operations/restoreVersion.js +24 -61
  266. package/dist/globals/operations/restoreVersion.js.map +1 -1
  267. package/dist/globals/operations/update.d.ts.map +1 -1
  268. package/dist/globals/operations/update.js +8 -86
  269. package/dist/globals/operations/update.js.map +1 -1
  270. package/dist/globals/operations/validate.js +1 -1
  271. package/dist/globals/operations/validate.js.map +1 -1
  272. package/dist/hierarchy/addHierarchyToCollection.d.ts.map +1 -1
  273. package/dist/hierarchy/addHierarchyToCollection.js +32 -21
  274. package/dist/hierarchy/addHierarchyToCollection.js.map +1 -1
  275. package/dist/hierarchy/createFolderField.js.map +1 -1
  276. package/dist/hierarchy/getInitialTreeData.d.ts +1 -3
  277. package/dist/hierarchy/getInitialTreeData.d.ts.map +1 -1
  278. package/dist/hierarchy/getInitialTreeData.js +1 -4
  279. package/dist/hierarchy/getInitialTreeData.js.map +1 -1
  280. package/dist/hierarchy/resolveHierarchyCollections.js +9 -3
  281. package/dist/hierarchy/resolveHierarchyCollections.js.map +1 -1
  282. package/dist/hierarchy/utils/computePaths.d.ts.map +1 -1
  283. package/dist/hierarchy/utils/computePaths.js.map +1 -1
  284. package/dist/index.bundled.d.ts +4336 -5501
  285. package/dist/index.d.ts +27 -51
  286. package/dist/index.d.ts.map +1 -1
  287. package/dist/index.js +14 -37
  288. package/dist/index.js.map +1 -1
  289. package/dist/llm-instructions/getInstructionsCollection.d.ts.map +1 -1
  290. package/dist/llm-instructions/getInstructionsCollection.js +2 -0
  291. package/dist/llm-instructions/getInstructionsCollection.js.map +1 -1
  292. package/dist/preferences/keys.d.ts +4 -11
  293. package/dist/preferences/keys.d.ts.map +1 -1
  294. package/dist/preferences/keys.js +3 -10
  295. package/dist/preferences/keys.js.map +1 -1
  296. package/dist/preferences/types.d.ts +0 -19
  297. package/dist/preferences/types.d.ts.map +1 -1
  298. package/dist/preferences/types.js.map +1 -1
  299. package/dist/queues/operations/runJobs/runJob/getRunTaskFunction.js +1 -1
  300. package/dist/queues/operations/runJobs/runJob/getRunTaskFunction.js.map +1 -1
  301. package/dist/types/index.d.ts +0 -13
  302. package/dist/types/index.d.ts.map +1 -1
  303. package/dist/types/index.js.map +1 -1
  304. package/dist/uploads/deleteAssociatedFiles.d.ts.map +1 -1
  305. package/dist/uploads/deleteAssociatedFiles.js +29 -108
  306. package/dist/uploads/deleteAssociatedFiles.js.map +1 -1
  307. package/dist/uploads/endpoints/getFile.d.ts.map +1 -1
  308. package/dist/uploads/endpoints/getFile.js +0 -5
  309. package/dist/uploads/endpoints/getFile.js.map +1 -1
  310. package/dist/uploads/fileExists.d.ts.map +1 -1
  311. package/dist/uploads/fileExists.js +2 -5
  312. package/dist/uploads/fileExists.js.map +1 -1
  313. package/dist/uploads/fileVersioning/archive.d.ts.map +1 -1
  314. package/dist/uploads/fileVersioning/archive.js +1 -15
  315. package/dist/uploads/fileVersioning/archive.js.map +1 -1
  316. package/dist/uploads/fileVersioning/cleanup.d.ts +0 -7
  317. package/dist/uploads/fileVersioning/cleanup.d.ts.map +1 -1
  318. package/dist/uploads/fileVersioning/cleanup.js +0 -12
  319. package/dist/uploads/fileVersioning/cleanup.js.map +1 -1
  320. package/dist/uploads/fileVersioning/cloudStorage.d.ts.map +1 -1
  321. package/dist/uploads/fileVersioning/cloudStorage.js +1 -16
  322. package/dist/uploads/fileVersioning/cloudStorage.js.map +1 -1
  323. package/dist/uploads/fileVersioning/resolveHistoricalFile.js.map +1 -1
  324. package/dist/uploads/formatFilesize.js +1 -1
  325. package/dist/uploads/formatFilesize.js.map +1 -1
  326. package/dist/uploads/generateFileData.d.ts +0 -5
  327. package/dist/uploads/generateFileData.d.ts.map +1 -1
  328. package/dist/uploads/generateFileData.js +2 -74
  329. package/dist/uploads/generateFileData.js.map +1 -1
  330. package/dist/uploads/getBaseFields.d.ts.map +1 -1
  331. package/dist/uploads/getBaseFields.js +29 -46
  332. package/dist/uploads/getBaseFields.js.map +1 -1
  333. package/dist/uploads/getFileContentRequirement.js.map +1 -1
  334. package/dist/uploads/getFileFromUploadInstructions.js.map +1 -1
  335. package/dist/uploads/getSafeFilename.d.ts.map +1 -1
  336. package/dist/uploads/getSafeFilename.js +3 -5
  337. package/dist/uploads/getSafeFilename.js.map +1 -1
  338. package/dist/uploads/safeFetch.js.map +1 -1
  339. package/dist/uploads/stagedUpload.js.map +1 -1
  340. package/dist/uploads/transformers/handleDynamicFileRequest.js +11 -2
  341. package/dist/uploads/transformers/handleDynamicFileRequest.js.map +1 -1
  342. package/dist/uploads/types.d.ts +0 -11
  343. package/dist/uploads/types.d.ts.map +1 -1
  344. package/dist/uploads/types.js.map +1 -1
  345. package/dist/uploads/uploadFiles.d.ts +1 -4
  346. package/dist/uploads/uploadFiles.d.ts.map +1 -1
  347. package/dist/uploads/uploadFiles.js +5 -29
  348. package/dist/uploads/uploadFiles.js.map +1 -1
  349. package/dist/utilities/addSelectGenericsToGeneretedTypes.d.ts.map +1 -1
  350. package/dist/utilities/addSelectGenericsToGeneretedTypes.js +0 -1
  351. package/dist/utilities/addSelectGenericsToGeneretedTypes.js.map +1 -1
  352. package/dist/utilities/appendDateTimezoneSelectFields.js.map +1 -1
  353. package/dist/utilities/assertNoValidationWrite.d.ts.map +1 -1
  354. package/dist/utilities/assertNoValidationWrite.js +0 -4
  355. package/dist/utilities/assertNoValidationWrite.js.map +1 -1
  356. package/dist/utilities/checkDocumentLockStatus.d.ts +6 -15
  357. package/dist/utilities/checkDocumentLockStatus.d.ts.map +1 -1
  358. package/dist/utilities/checkDocumentLockStatus.js +11 -44
  359. package/dist/utilities/checkDocumentLockStatus.js.map +1 -1
  360. package/dist/utilities/cloneValidationRequest.js.map +1 -1
  361. package/dist/utilities/commitTransaction.d.ts +0 -4
  362. package/dist/utilities/commitTransaction.d.ts.map +1 -1
  363. package/dist/utilities/commitTransaction.js +1 -41
  364. package/dist/utilities/commitTransaction.js.map +1 -1
  365. package/dist/utilities/configToJSONSchema.d.ts.map +1 -1
  366. package/dist/utilities/configToJSONSchema.js +2 -18
  367. package/dist/utilities/configToJSONSchema.js.map +1 -1
  368. package/dist/utilities/createPayloadRequest.d.ts +0 -5
  369. package/dist/utilities/createPayloadRequest.d.ts.map +1 -1
  370. package/dist/utilities/createPayloadRequest.js +3 -50
  371. package/dist/utilities/createPayloadRequest.js.map +1 -1
  372. package/dist/utilities/createPayloadRequestFromWebRequest.d.ts +12 -1
  373. package/dist/utilities/createPayloadRequestFromWebRequest.d.ts.map +1 -1
  374. package/dist/utilities/createPayloadRequestFromWebRequest.js +9 -5
  375. package/dist/utilities/createPayloadRequestFromWebRequest.js.map +1 -1
  376. package/dist/utilities/deepCopyObject.js.map +1 -1
  377. package/dist/utilities/documentMatchingWhereExists.js +1 -1
  378. package/dist/utilities/documentMatchingWhereExists.js.map +1 -1
  379. package/dist/utilities/entityInputSchema/validateEntityData.d.ts.map +1 -1
  380. package/dist/utilities/entityInputSchema/validateEntityData.js.map +1 -1
  381. package/dist/utilities/filterDataToSelectedLocales.js.map +1 -1
  382. package/dist/utilities/getEntityPermissions/getEntityPermissions.d.ts.map +1 -1
  383. package/dist/utilities/getEntityPermissions/getEntityPermissions.js +1 -0
  384. package/dist/utilities/getEntityPermissions/getEntityPermissions.js.map +1 -1
  385. package/dist/utilities/getEntityPermissions/populateFieldPermissions.js.map +1 -1
  386. package/dist/utilities/getVersionsConfig.d.ts +4 -0
  387. package/dist/utilities/getVersionsConfig.d.ts.map +1 -1
  388. package/dist/utilities/getVersionsConfig.js +5 -0
  389. package/dist/utilities/getVersionsConfig.js.map +1 -1
  390. package/dist/utilities/handleEndpoints.d.ts.map +1 -1
  391. package/dist/utilities/handleEndpoints.js +10 -9
  392. package/dist/utilities/handleEndpoints.js.map +1 -1
  393. package/dist/utilities/httpStatus.d.ts +0 -2
  394. package/dist/utilities/httpStatus.d.ts.map +1 -1
  395. package/dist/utilities/httpStatus.js +1 -3
  396. package/dist/utilities/httpStatus.js.map +1 -1
  397. package/dist/utilities/initTransaction.d.ts.map +1 -1
  398. package/dist/utilities/initTransaction.js +7 -35
  399. package/dist/utilities/initTransaction.js.map +1 -1
  400. package/dist/utilities/killTransaction.d.ts.map +1 -1
  401. package/dist/utilities/killTransaction.js +0 -27
  402. package/dist/utilities/killTransaction.js.map +1 -1
  403. package/dist/utilities/parseParams/index.js.map +1 -1
  404. package/dist/utilities/parseValidationLocale.js.map +1 -1
  405. package/dist/utilities/sanitizePopulateParam.js.map +1 -1
  406. package/dist/utilities/telemetry/conf/index.d.ts +4 -1
  407. package/dist/utilities/telemetry/conf/index.d.ts.map +1 -1
  408. package/dist/utilities/telemetry/conf/index.js.map +1 -1
  409. package/dist/utilities/telemetry/featureInfo/getFeatureInfo.js.map +1 -1
  410. package/dist/versions/allLocalesPublicationStatus.js.map +1 -1
  411. package/dist/versions/buildCollectionFields.d.ts.map +1 -1
  412. package/dist/versions/buildCollectionFields.js +0 -23
  413. package/dist/versions/buildCollectionFields.js.map +1 -1
  414. package/dist/versions/buildGlobalFields.d.ts.map +1 -1
  415. package/dist/versions/buildGlobalFields.js +0 -14
  416. package/dist/versions/buildGlobalFields.js.map +1 -1
  417. package/dist/versions/buildVersionCompoundIndexes.d.ts.map +1 -1
  418. package/dist/versions/buildVersionCompoundIndexes.js +2 -8
  419. package/dist/versions/buildVersionCompoundIndexes.js.map +1 -1
  420. package/dist/versions/deleteCollectionVersions.d.ts +1 -2
  421. package/dist/versions/deleteCollectionVersions.d.ts.map +1 -1
  422. package/dist/versions/deleteCollectionVersions.js +8 -37
  423. package/dist/versions/deleteCollectionVersions.js.map +1 -1
  424. package/dist/versions/deleteScheduledPublishJobs.d.ts.map +1 -1
  425. package/dist/versions/deleteScheduledPublishJobs.js +0 -4
  426. package/dist/versions/deleteScheduledPublishJobs.js.map +1 -1
  427. package/dist/versions/drafts/appendVersionToQueryKey.d.ts.map +1 -1
  428. package/dist/versions/drafts/appendVersionToQueryKey.js +1 -9
  429. package/dist/versions/drafts/appendVersionToQueryKey.js.map +1 -1
  430. package/dist/versions/drafts/replaceWithDraftIfAvailable.d.ts.map +1 -1
  431. package/dist/versions/drafts/replaceWithDraftIfAvailable.js +1 -8
  432. package/dist/versions/drafts/replaceWithDraftIfAvailable.js.map +1 -1
  433. package/dist/versions/enforceMaxVersions.d.ts +0 -1
  434. package/dist/versions/enforceMaxVersions.d.ts.map +1 -1
  435. package/dist/versions/enforceMaxVersions.js +6 -22
  436. package/dist/versions/enforceMaxVersions.js.map +1 -1
  437. package/dist/versions/getLatestCollectionVersion.d.ts.map +1 -1
  438. package/dist/versions/getLatestCollectionVersion.js +2 -10
  439. package/dist/versions/getLatestCollectionVersion.js.map +1 -1
  440. package/dist/versions/getLatestGlobalVersion.d.ts +2 -6
  441. package/dist/versions/getLatestGlobalVersion.d.ts.map +1 -1
  442. package/dist/versions/getLatestGlobalVersion.js +21 -65
  443. package/dist/versions/getLatestGlobalVersion.js.map +1 -1
  444. package/dist/versions/isInheritedReadVersionsAccess.js.map +1 -1
  445. package/dist/versions/saveVersion.d.ts +0 -7
  446. package/dist/versions/saveVersion.d.ts.map +1 -1
  447. package/dist/versions/saveVersion.js +4 -27
  448. package/dist/versions/saveVersion.js.map +1 -1
  449. package/dist/versions/updateLatestVersion.d.ts +0 -1
  450. package/dist/versions/updateLatestVersion.d.ts.map +1 -1
  451. package/dist/versions/updateLatestVersion.js +7 -24
  452. package/dist/versions/updateLatestVersion.js.map +1 -1
  453. package/package.json +30 -28
  454. package/skills/payload/reference/ENDPOINTS.md +3 -9
  455. package/skills/payload/reference/PLUGIN-DEVELOPMENT.md +4 -4
  456. package/dist/admin/getAdminPreferences.d.ts +0 -10
  457. package/dist/admin/getAdminPreferences.d.ts.map +0 -1
  458. package/dist/admin/getAdminPreferences.js +0 -53
  459. package/dist/admin/getAdminPreferences.js.map +0 -1
  460. package/dist/admin/getRequestBranch.d.ts +0 -6
  461. package/dist/admin/getRequestBranch.d.ts.map +0 -1
  462. package/dist/admin/getRequestBranch.js +0 -17
  463. package/dist/admin/getRequestBranch.js.map +0 -1
  464. package/dist/branching/appendBranchFilter.d.ts +0 -30
  465. package/dist/branching/appendBranchFilter.d.ts.map +0 -1
  466. package/dist/branching/appendBranchFilter.js +0 -105
  467. package/dist/branching/appendBranchFilter.js.map +0 -1
  468. package/dist/branching/assertBranchAccess.d.ts +0 -10
  469. package/dist/branching/assertBranchAccess.d.ts.map +0 -1
  470. package/dist/branching/assertBranchAccess.js +0 -36
  471. package/dist/branching/assertBranchAccess.js.map +0 -1
  472. package/dist/branching/assertBranchActionAccess.d.ts +0 -10
  473. package/dist/branching/assertBranchActionAccess.d.ts.map +0 -1
  474. package/dist/branching/assertBranchActionAccess.js +0 -15
  475. package/dist/branching/assertBranchActionAccess.js.map +0 -1
  476. package/dist/branching/assertBranchCreatedDocumentsUnreferenced.d.ts +0 -53
  477. package/dist/branching/assertBranchCreatedDocumentsUnreferenced.d.ts.map +0 -1
  478. package/dist/branching/assertBranchCreatedDocumentsUnreferenced.js +0 -833
  479. package/dist/branching/assertBranchCreatedDocumentsUnreferenced.js.map +0 -1
  480. package/dist/branching/assertBranchReadable.d.ts +0 -36
  481. package/dist/branching/assertBranchReadable.d.ts.map +0 -1
  482. package/dist/branching/assertBranchReadable.js +0 -83
  483. package/dist/branching/assertBranchReadable.js.map +0 -1
  484. package/dist/branching/assertBranchUpdateAccess.d.ts +0 -8
  485. package/dist/branching/assertBranchUpdateAccess.d.ts.map +0 -1
  486. package/dist/branching/assertBranchUpdateAccess.js +0 -12
  487. package/dist/branching/assertBranchUpdateAccess.js.map +0 -1
  488. package/dist/branching/assertBranchWritable.d.ts +0 -18
  489. package/dist/branching/assertBranchWritable.d.ts.map +0 -1
  490. package/dist/branching/assertBranchWritable.js +0 -46
  491. package/dist/branching/assertBranchWritable.js.map +0 -1
  492. package/dist/branching/branchIDs.d.ts +0 -38
  493. package/dist/branching/branchIDs.d.ts.map +0 -1
  494. package/dist/branching/branchIDs.js +0 -113
  495. package/dist/branching/branchIDs.js.map +0 -1
  496. package/dist/branching/branchSelect.d.ts +0 -42
  497. package/dist/branching/branchSelect.d.ts.map +0 -1
  498. package/dist/branching/branchSelect.js +0 -97
  499. package/dist/branching/branchSelect.js.map +0 -1
  500. package/dist/branching/checkFieldAccess.d.ts +0 -21
  501. package/dist/branching/checkFieldAccess.d.ts.map +0 -1
  502. package/dist/branching/checkFieldAccess.js +0 -238
  503. package/dist/branching/checkFieldAccess.js.map +0 -1
  504. package/dist/branching/collections.d.ts +0 -14
  505. package/dist/branching/collections.d.ts.map +0 -1
  506. package/dist/branching/collections.js +0 -713
  507. package/dist/branching/collections.js.map +0 -1
  508. package/dist/branching/combineBranchAccess.d.ts +0 -6
  509. package/dist/branching/combineBranchAccess.d.ts.map +0 -1
  510. package/dist/branching/combineBranchAccess.js +0 -22
  511. package/dist/branching/combineBranchAccess.js.map +0 -1
  512. package/dist/branching/copyUploadFilesToBranch.d.ts +0 -9
  513. package/dist/branching/copyUploadFilesToBranch.d.ts.map +0 -1
  514. package/dist/branching/copyUploadFilesToBranch.js +0 -126
  515. package/dist/branching/copyUploadFilesToBranch.js.map +0 -1
  516. package/dist/branching/createShadowRow.d.ts +0 -70
  517. package/dist/branching/createShadowRow.d.ts.map +0 -1
  518. package/dist/branching/createShadowRow.js +0 -296
  519. package/dist/branching/createShadowRow.js.map +0 -1
  520. package/dist/branching/discard.d.ts +0 -52
  521. package/dist/branching/discard.d.ts.map +0 -1
  522. package/dist/branching/discard.js +0 -428
  523. package/dist/branching/discard.js.map +0 -1
  524. package/dist/branching/effectiveOperations.d.ts +0 -55
  525. package/dist/branching/effectiveOperations.d.ts.map +0 -1
  526. package/dist/branching/effectiveOperations.js +0 -472
  527. package/dist/branching/effectiveOperations.js.map +0 -1
  528. package/dist/branching/endpoints/discard.d.ts +0 -15
  529. package/dist/branching/endpoints/discard.d.ts.map +0 -1
  530. package/dist/branching/endpoints/discard.js +0 -55
  531. package/dist/branching/endpoints/discard.js.map +0 -1
  532. package/dist/branching/endpoints/merge.d.ts +0 -34
  533. package/dist/branching/endpoints/merge.d.ts.map +0 -1
  534. package/dist/branching/endpoints/merge.js +0 -119
  535. package/dist/branching/endpoints/merge.js.map +0 -1
  536. package/dist/branching/forkDocument.d.ts +0 -20
  537. package/dist/branching/forkDocument.d.ts.map +0 -1
  538. package/dist/branching/forkDocument.js +0 -169
  539. package/dist/branching/forkDocument.js.map +0 -1
  540. package/dist/branching/globalMergeWrites.d.ts +0 -21
  541. package/dist/branching/globalMergeWrites.d.ts.map +0 -1
  542. package/dist/branching/globalMergeWrites.js +0 -146
  543. package/dist/branching/globalMergeWrites.js.map +0 -1
  544. package/dist/branching/globals.d.ts +0 -49
  545. package/dist/branching/globals.d.ts.map +0 -1
  546. package/dist/branching/globals.js +0 -197
  547. package/dist/branching/globals.js.map +0 -1
  548. package/dist/branching/hooks.d.ts +0 -24
  549. package/dist/branching/hooks.d.ts.map +0 -1
  550. package/dist/branching/hooks.js +0 -92
  551. package/dist/branching/hooks.js.map +0 -1
  552. package/dist/branching/injectBranchFields.d.ts +0 -40
  553. package/dist/branching/injectBranchFields.d.ts.map +0 -1
  554. package/dist/branching/injectBranchFields.js +0 -229
  555. package/dist/branching/injectBranchFields.js.map +0 -1
  556. package/dist/branching/merge/applyMergeChange.d.ts +0 -27
  557. package/dist/branching/merge/applyMergeChange.d.ts.map +0 -1
  558. package/dist/branching/merge/applyMergeChange.js +0 -853
  559. package/dist/branching/merge/applyMergeChange.js.map +0 -1
  560. package/dist/branching/merge/branchMergeStatus.d.ts +0 -12
  561. package/dist/branching/merge/branchMergeStatus.d.ts.map +0 -1
  562. package/dist/branching/merge/branchMergeStatus.js +0 -74
  563. package/dist/branching/merge/branchMergeStatus.js.map +0 -1
  564. package/dist/branching/merge/executeMerge.d.ts +0 -22
  565. package/dist/branching/merge/executeMerge.d.ts.map +0 -1
  566. package/dist/branching/merge/executeMerge.js +0 -600
  567. package/dist/branching/merge/executeMerge.js.map +0 -1
  568. package/dist/branching/merge/finalizeMerge.d.ts +0 -40
  569. package/dist/branching/merge/finalizeMerge.d.ts.map +0 -1
  570. package/dist/branching/merge/finalizeMerge.js +0 -237
  571. package/dist/branching/merge/finalizeMerge.js.map +0 -1
  572. package/dist/branching/merge/mergeLedger.d.ts +0 -40
  573. package/dist/branching/merge/mergeLedger.d.ts.map +0 -1
  574. package/dist/branching/merge/mergeLedger.js +0 -130
  575. package/dist/branching/merge/mergeLedger.js.map +0 -1
  576. package/dist/branching/merge/prepareMerge.d.ts +0 -41
  577. package/dist/branching/merge/prepareMerge.d.ts.map +0 -1
  578. package/dist/branching/merge/prepareMerge.js +0 -234
  579. package/dist/branching/merge/prepareMerge.js.map +0 -1
  580. package/dist/branching/merge/recoverMerge.d.ts +0 -16
  581. package/dist/branching/merge/recoverMerge.d.ts.map +0 -1
  582. package/dist/branching/merge/recoverMerge.js +0 -199
  583. package/dist/branching/merge/recoverMerge.js.map +0 -1
  584. package/dist/branching/merge/retryFailedCleanups.d.ts +0 -36
  585. package/dist/branching/merge/retryFailedCleanups.d.ts.map +0 -1
  586. package/dist/branching/merge/retryFailedCleanups.js +0 -335
  587. package/dist/branching/merge/retryFailedCleanups.js.map +0 -1
  588. package/dist/branching/merge/utilities.d.ts +0 -35
  589. package/dist/branching/merge/utilities.d.ts.map +0 -1
  590. package/dist/branching/merge/utilities.js +0 -54
  591. package/dist/branching/merge/utilities.js.map +0 -1
  592. package/dist/branching/merge.d.ts +0 -88
  593. package/dist/branching/merge.d.ts.map +0 -1
  594. package/dist/branching/merge.js +0 -163
  595. package/dist/branching/merge.js.map +0 -1
  596. package/dist/branching/mergeWriteGuard.d.ts +0 -20
  597. package/dist/branching/mergeWriteGuard.d.ts.map +0 -1
  598. package/dist/branching/mergeWriteGuard.js +0 -27
  599. package/dist/branching/mergeWriteGuard.js.map +0 -1
  600. package/dist/branching/preflight.d.ts +0 -71
  601. package/dist/branching/preflight.d.ts.map +0 -1
  602. package/dist/branching/preflight.js +0 -757
  603. package/dist/branching/preflight.js.map +0 -1
  604. package/dist/branching/readLocalizedBranchWrite.d.ts +0 -14
  605. package/dist/branching/readLocalizedBranchWrite.d.ts.map +0 -1
  606. package/dist/branching/readLocalizedBranchWrite.js +0 -90
  607. package/dist/branching/readLocalizedBranchWrite.js.map +0 -1
  608. package/dist/branching/readMergeSnapshot.d.ts +0 -18
  609. package/dist/branching/readMergeSnapshot.d.ts.map +0 -1
  610. package/dist/branching/readMergeSnapshot.js +0 -99
  611. package/dist/branching/readMergeSnapshot.js.map +0 -1
  612. package/dist/branching/resolveBranch.d.ts +0 -153
  613. package/dist/branching/resolveBranch.d.ts.map +0 -1
  614. package/dist/branching/resolveBranch.js +0 -363
  615. package/dist/branching/resolveBranch.js.map +0 -1
  616. package/dist/branching/resolveBranchActionAccess.d.ts +0 -8
  617. package/dist/branching/resolveBranchActionAccess.d.ts.map +0 -1
  618. package/dist/branching/resolveBranchActionAccess.js +0 -9
  619. package/dist/branching/resolveBranchActionAccess.js.map +0 -1
  620. package/dist/branching/resolveBranchQuery.d.ts +0 -48
  621. package/dist/branching/resolveBranchQuery.d.ts.map +0 -1
  622. package/dist/branching/resolveBranchQuery.js +0 -115
  623. package/dist/branching/resolveBranchQuery.js.map +0 -1
  624. package/dist/branching/resolveBranchRowID.d.ts +0 -22
  625. package/dist/branching/resolveBranchRowID.d.ts.map +0 -1
  626. package/dist/branching/resolveBranchRowID.js +0 -70
  627. package/dist/branching/resolveBranchRowID.js.map +0 -1
  628. package/dist/branching/sanitizeBranchingConfig.d.ts +0 -31
  629. package/dist/branching/sanitizeBranchingConfig.d.ts.map +0 -1
  630. package/dist/branching/sanitizeBranchingConfig.js +0 -110
  631. package/dist/branching/sanitizeBranchingConfig.js.map +0 -1
  632. package/dist/branching/schedule/job.d.ts +0 -51
  633. package/dist/branching/schedule/job.d.ts.map +0 -1
  634. package/dist/branching/schedule/job.js +0 -151
  635. package/dist/branching/schedule/job.js.map +0 -1
  636. package/dist/branching/selectBranchChanges.d.ts +0 -8
  637. package/dist/branching/selectBranchChanges.d.ts.map +0 -1
  638. package/dist/branching/selectBranchChanges.js +0 -9
  639. package/dist/branching/selectBranchChanges.js.map +0 -1
  640. package/dist/branching/stripBranchMergeData.d.ts +0 -11
  641. package/dist/branching/stripBranchMergeData.d.ts.map +0 -1
  642. package/dist/branching/stripBranchMergeData.js +0 -20
  643. package/dist/branching/stripBranchMergeData.js.map +0 -1
  644. package/dist/branching/tombstone.d.ts +0 -91
  645. package/dist/branching/tombstone.d.ts.map +0 -1
  646. package/dist/branching/tombstone.js +0 -546
  647. package/dist/branching/tombstone.js.map +0 -1
  648. package/dist/branching/types.d.ts +0 -158
  649. package/dist/branching/types.d.ts.map +0 -1
  650. package/dist/branching/types.js +0 -54
  651. package/dist/branching/types.js.map +0 -1
  652. package/dist/branching/validation.d.ts +0 -47
  653. package/dist/branching/validation.d.ts.map +0 -1
  654. package/dist/branching/validation.js +0 -272
  655. package/dist/branching/validation.js.map +0 -1
  656. package/dist/branching/versions.d.ts +0 -131
  657. package/dist/branching/versions.d.ts.map +0 -1
  658. package/dist/branching/versions.js +0 -572
  659. package/dist/branching/versions.js.map +0 -1
  660. package/dist/collections/operations/utilities/createOperationRetryRequest.d.ts +0 -23
  661. package/dist/collections/operations/utilities/createOperationRetryRequest.d.ts.map +0 -1
  662. package/dist/collections/operations/utilities/createOperationRetryRequest.js +0 -683
  663. package/dist/collections/operations/utilities/createOperationRetryRequest.js.map +0 -1
  664. package/dist/fields/hooks/beforeValidate/throwOnAccessDenied.d.ts +0 -3
  665. package/dist/fields/hooks/beforeValidate/throwOnAccessDenied.d.ts.map +0 -1
  666. package/dist/fields/hooks/beforeValidate/throwOnAccessDenied.js +0 -3
  667. package/dist/fields/hooks/beforeValidate/throwOnAccessDenied.js.map +0 -1
  668. package/dist/uploads/appendBranchToFileURL.d.ts +0 -6
  669. package/dist/uploads/appendBranchToFileURL.d.ts.map +0 -1
  670. package/dist/uploads/appendBranchToFileURL.js +0 -24
  671. package/dist/uploads/appendBranchToFileURL.js.map +0 -1
  672. package/dist/uploads/deleteUploadFilesExclusiveToDocument.d.ts +0 -15
  673. package/dist/uploads/deleteUploadFilesExclusiveToDocument.d.ts.map +0 -1
  674. package/dist/uploads/deleteUploadFilesExclusiveToDocument.js +0 -62
  675. package/dist/uploads/deleteUploadFilesExclusiveToDocument.js.map +0 -1
  676. package/dist/uploads/fileIdentity.d.ts +0 -24
  677. package/dist/uploads/fileIdentity.d.ts.map +0 -1
  678. package/dist/uploads/fileIdentity.js +0 -36
  679. package/dist/uploads/fileIdentity.js.map +0 -1
  680. package/dist/uploads/fileQuarantine.d.ts +0 -17
  681. package/dist/uploads/fileQuarantine.d.ts.map +0 -1
  682. package/dist/uploads/fileQuarantine.js +0 -52
  683. package/dist/uploads/fileQuarantine.js.map +0 -1
  684. package/dist/uploads/linkFileWithoutOverwrite.d.ts +0 -13
  685. package/dist/uploads/linkFileWithoutOverwrite.d.ts.map +0 -1
  686. package/dist/uploads/linkFileWithoutOverwrite.js +0 -13
  687. package/dist/uploads/linkFileWithoutOverwrite.js.map +0 -1
  688. package/dist/uploads/uploadFileRollback.d.ts +0 -31
  689. package/dist/uploads/uploadFileRollback.d.ts.map +0 -1
  690. package/dist/uploads/uploadFileRollback.js +0 -269
  691. package/dist/uploads/uploadFileRollback.js.map +0 -1
  692. package/dist/utilities/extractRelationshipID.d.ts +0 -4
  693. package/dist/utilities/extractRelationshipID.d.ts.map +0 -1
  694. package/dist/utilities/extractRelationshipID.js +0 -14
  695. package/dist/utilities/extractRelationshipID.js.map +0 -1
  696. package/dist/utilities/transactionCallbacks.d.ts +0 -77
  697. package/dist/utilities/transactionCallbacks.d.ts.map +0 -1
  698. package/dist/utilities/transactionCallbacks.js +0 -299
  699. package/dist/utilities/transactionCallbacks.js.map +0 -1
  700. package/dist/utilities/transactionMutationTracker.d.ts +0 -21
  701. package/dist/utilities/transactionMutationTracker.d.ts.map +0 -1
  702. package/dist/utilities/transactionMutationTracker.js +0 -71
  703. package/dist/utilities/transactionMutationTracker.js.map +0 -1
@@ -1,9 +1,4 @@
1
1
  import { executeAccess } from '../../auth/executeAccess.js';
2
- import { assertBranchMergeValidationWriteAllowed } from '../../branching/mergeWriteGuard.js';
3
- import { refreshBranchState, resetBranchState, resolveBranch } from '../../branching/resolveBranch.js';
4
- import { assertBranchCreatedDeleteUnreferenced, assertBranchDeleteCanUseCallerTransaction, requireBranchDeleteOutcome, setBranchDeleteOperation, willBranchAbsorbDelete } from '../../branching/tombstone.js';
5
- import { MAIN_BRANCH } from '../../branching/types.js';
6
- import { resolveBranchOwnVersions } from '../../branching/versions.js';
7
2
  import { combineQueries } from '../../database/combineQueries.js';
8
3
  import { validateQueryPaths } from '../../database/queryValidation/validateQueryPaths.js';
9
4
  import { sanitizeWhereQuery } from '../../database/sanitizeWhereQuery.js';
@@ -11,11 +6,11 @@ import { APIError, Locked } from '../../errors/index.js';
11
6
  import { afterRead } from '../../fields/hooks/afterRead/index.js';
12
7
  import { deleteUserPreferences } from '../../preferences/deleteUserPreferences.js';
13
8
  import { deleteAssociatedFiles } from '../../uploads/deleteAssociatedFiles.js';
14
- import { collectDocumentDeleteFileCandidates, scheduleUnreferencedFileCleanup } from '../../uploads/fileVersioning/cleanup.js';
9
+ import { collectStoredFiles, collectVersionFiles, scheduleUnreferencedFileCleanup } from '../../uploads/fileVersioning/cleanup.js';
15
10
  import { abortFileOperationScope, beginFileOperationScope, completeFileOperationScope } from '../../uploads/fileVersioning/fileOperationManager.js';
16
11
  import { appendNonTrashedFilter } from '../../utilities/appendNonTrashedFilter.js';
17
12
  import { assertNoValidationWrite } from '../../utilities/assertNoValidationWrite.js';
18
- import { deleteDocumentLocks, getDocumentLockState } from '../../utilities/checkDocumentLockStatus.js';
13
+ import { checkDocumentLockStatus, deleteDocumentLocks, getLockedDocumentIds } from '../../utilities/checkDocumentLockStatus.js';
19
14
  import { commitTransaction } from '../../utilities/commitTransaction.js';
20
15
  import { hasScheduledPublishEnabled } from '../../utilities/getVersionsConfig.js';
21
16
  import { httpStatus } from '../../utilities/httpStatus.js';
@@ -24,20 +19,12 @@ import { isErrorPublic } from '../../utilities/isErrorPublic.js';
24
19
  import { killTransaction } from '../../utilities/killTransaction.js';
25
20
  import { resolveSelect } from '../../utilities/resolveSelect.js';
26
21
  import { sanitizeSelect } from '../../utilities/sanitizeSelect.js';
27
- import { beginDeferredCleanupScope, clearDeferredCleanupScope, flushDeferredCleanupScope, flushDeferredCleanupScopeAfterOperation } from '../../utilities/transactionCallbacks.js';
28
- import { markTransactionWrite } from '../../utilities/transactionMutationTracker.js';
29
22
  import { deleteCollectionVersions } from '../../versions/deleteCollectionVersions.js';
30
23
  import { deleteScheduledPublishJobs } from '../../versions/deleteScheduledPublishJobs.js';
31
24
  import { buildAfterOperation } from './utilities/buildAfterOperation.js';
32
25
  import { buildBeforeOperation } from './utilities/buildBeforeOperation.js';
33
26
  export const deleteOperation = async (incomingArgs)=>{
34
27
  let args = incomingArgs;
35
- let cleanupScope = null;
36
- let hasCallerTransaction = false;
37
- let shouldCommit = false;
38
- assertBranchMergeValidationWriteAllowed({
39
- req: args.req
40
- });
41
28
  assertNoValidationWrite(args.req);
42
29
  if (args.collection.config.disableBulkDelete && !args.overrideAccess) {
43
30
  throw new APIError(`Collection ${args.collection.config.slug} has disabled bulk delete`, 403);
@@ -50,12 +37,7 @@ export const deleteOperation = async (incomingArgs)=>{
50
37
  });
51
38
  }
52
39
  try {
53
- hasCallerTransaction = Boolean(await args.req.transactionID);
54
- shouldCommit = !args.disableTransaction && !args.req.payload.db.bulkOperationsSingleTransaction && await initTransaction(args.req);
55
- const hasSharedTransaction = hasCallerTransaction || shouldCommit;
56
- cleanupScope = await beginDeferredCleanupScope({
57
- req: args.req
58
- });
40
+ const shouldCommit = !args.disableTransaction && !args.req.payload.db.bulkOperationsSingleTransaction && await initTransaction(args.req);
59
41
  // /////////////////////////////////////
60
42
  // beforeOperation - Collection
61
43
  // /////////////////////////////////////
@@ -122,11 +104,6 @@ export const deleteOperation = async (incomingArgs)=>{
122
104
  const deletedFilesByID = new Map();
123
105
  req.context ??= {};
124
106
  const managedDeletedUploads = req.context._payloadManagedDeletedUploads ??= new Set();
125
- const deletedDocumentIDs = new Map();
126
- const hasWriteCapableBeforeDeleteHooks = Boolean(collectionConfig.hooks?.beforeDelete?.length);
127
- const branch = resolveBranch(req);
128
- const isDeletingFromBranch = Boolean(config.branching?.enabled && config.branching.branchableCollections.has(collectionConfig.slug)) && branch !== MAIN_BRANCH;
129
- const hasBranchSharedTransaction = isDeletingFromBranch && hasSharedTransaction;
130
107
  const pushError = (id, error, message)=>{
131
108
  errors.push({
132
109
  id,
@@ -137,12 +114,7 @@ export const deleteOperation = async (incomingArgs)=>{
137
114
  // /////////////////////////////////////
138
115
  // beforeDelete - Collection, and associated files
139
116
  // /////////////////////////////////////
140
- const assertDeleteUnreferenced = async ({ doc })=>await assertBranchCreatedDeleteUnreferenced({
141
- collectionSlug: collectionConfig.slug,
142
- doc,
143
- req
144
- });
145
- const runBeforeDeleteHooks = async ({ doc })=>{
117
+ const runBeforeDeleteWork = async (doc)=>{
146
118
  if (collectionConfig.hooks?.beforeDelete?.length) {
147
119
  for (const hook of collectionConfig.hooks.beforeDelete){
148
120
  await hook({
@@ -153,231 +125,35 @@ export const deleteOperation = async (incomingArgs)=>{
153
125
  });
154
126
  }
155
127
  }
156
- };
157
- const storeDeleteFileCandidates = async ({ fullDocument })=>{
158
- const documentID = fullDocument.id;
159
- if (!collectionConfig.upload || deletedFilesByID.has(documentID)) {
160
- return;
161
- }
162
- const candidates = await collectDocumentDeleteFileCandidates({
163
- collection: collectionConfig,
164
- doc: fullDocument,
165
- parentID: documentID,
166
- req
167
- });
168
- deletedFilesByID.set(documentID, candidates);
169
- if (candidates.length) {
170
- const identity = JSON.stringify([
171
- collectionConfig.slug,
172
- String(documentID)
128
+ if (collectionConfig.upload) {
129
+ deletedFilesByID.set(doc.id, [
130
+ ...await collectStoredFiles({
131
+ collection: collectionConfig,
132
+ doc,
133
+ req
134
+ }),
135
+ ...collectionConfig.versions ? await collectVersionFiles({
136
+ collection: collectionConfig,
137
+ parentID: doc.id,
138
+ req
139
+ }) : []
173
140
  ]);
174
- managedDeletedUploads.add(identity);
175
- markedManagedDeletes.add(identity);
176
- }
177
- };
178
- const findBranchVersionIDs = async ({ fullDocument })=>{
179
- if (!collectionConfig.versions) {
180
- return [];
181
- }
182
- const where = await resolveBranchOwnVersions({
183
- id: fullDocument.id,
184
- collectionSlug: collectionConfig.slug,
185
- req
186
- });
187
- const { docs: versions } = await payload.db.findVersions({
188
- branch: false,
189
- collection: collectionConfig.slug,
190
- limit: 0,
191
- pagination: false,
192
- req,
193
- where
194
- });
195
- return versions.map(({ id })=>id);
196
- };
197
- const runDeleteCleanup = async ({ fullDocument, isTombstone })=>{
198
- const absorbedByBranch = isTombstone ?? await willBranchAbsorbDelete({
199
- collectionSlug: collectionConfig.slug,
200
- doc: fullDocument,
201
- req
202
- });
203
- await storeDeleteFileCandidates({
204
- fullDocument
205
- });
206
- if (!absorbedByBranch) {
207
- await deleteAssociatedFiles({
208
- collectionConfig,
209
- config,
210
- doc: fullDocument,
211
- overrideDelete: true,
212
- req
213
- });
214
- }
215
- return absorbedByBranch;
216
- };
217
- const runBeforeDeleteHooksInDocumentTransaction = async ({ entry })=>{
218
- let hookCleanupScope = null;
219
- let hookShouldCommit = false;
220
- try {
221
- hookShouldCommit = await initTransaction(req);
222
- hookCleanupScope = await beginDeferredCleanupScope({
223
- req
224
- });
225
- await runBeforeDeleteHooks({
226
- doc: entry.doc
227
- });
228
- await flushDeferredCleanupScope({
229
- req,
230
- scope: hookCleanupScope
231
- });
232
- if (hookShouldCommit) {
233
- await commitTransaction(req);
141
+ if (deletedFilesByID.get(doc.id)?.length) {
142
+ const identity = JSON.stringify([
143
+ collectionConfig.slug,
144
+ String(doc.id)
145
+ ]);
146
+ managedDeletedUploads.add(identity);
147
+ markedManagedDeletes.add(identity);
234
148
  }
235
- return entry;
236
- } catch (error) {
237
- if (hookCleanupScope) {
238
- clearDeferredCleanupScope({
239
- req,
240
- scope: hookCleanupScope
241
- });
242
- }
243
- if (hookShouldCommit) {
244
- await killTransaction(req);
245
- }
246
- if (hasCallerTransaction) {
247
- throw error;
248
- }
249
- pushError(entry.doc.id, error);
250
- return null;
251
149
  }
252
- };
253
- const prepareDocumentsForDelete = async ()=>{
254
- const { lockDocumentIDsByDocumentID, lockedDocumentIDs } = await getDocumentLockState({
255
- collectionSlug: collectionConfig.slug,
256
- ids: docs.map(({ id })=>id),
257
- overrideLock,
258
- req
259
- });
260
- const unlocked = [];
261
- docs.forEach((doc, index)=>{
262
- if (lockedDocumentIDs.has(String(doc.id))) {
263
- pushError(doc.id, new Locked(`Document with ID ${doc.id} is currently locked and cannot be deleted.`));
264
- return;
265
- }
266
- unlocked.push({
267
- doc,
268
- index
269
- });
270
- });
271
- const initialCheckResults = await Promise.all(unlocked.map(async (entry)=>{
272
- try {
273
- const fullDocument = await assertDeleteUnreferenced({
274
- doc: entry.doc
275
- });
276
- if (hasCallerTransaction && isDeletingFromBranch) {
277
- await assertBranchDeleteCanUseCallerTransaction({
278
- branch,
279
- collectionSlug: collectionConfig.slug,
280
- docID: entry.doc.id,
281
- req
282
- });
283
- }
284
- return {
285
- ...entry,
286
- fullDocument,
287
- lockDocumentIDs: lockDocumentIDsByDocumentID.get(String(entry.doc.id)) ?? []
288
- };
289
- } catch (error) {
290
- pushError(entry.doc.id, error);
291
- return null;
292
- }
293
- }));
294
- const initiallyChecked = initialCheckResults.filter((entry)=>entry !== null);
295
- const hookResults = [];
296
- if (req.payload.db.bulkOperationsSingleTransaction) {
297
- for (const entry of initiallyChecked){
298
- hookResults.push(hasWriteCapableBeforeDeleteHooks ? await runBeforeDeleteHooksInDocumentTransaction({
299
- entry
300
- }) : entry);
301
- }
302
- } else if (hasBranchSharedTransaction) {
303
- for (const entry of initiallyChecked){
304
- try {
305
- await runBeforeDeleteHooks({
306
- doc: entry.doc
307
- });
308
- hookResults.push(entry);
309
- } catch (error) {
310
- if (hasCallerTransaction) {
311
- throw error;
312
- }
313
- didBatchDeleteFail = true;
314
- await killTransaction(req);
315
- for (const rolledBackEntry of initiallyChecked){
316
- pushError(rolledBackEntry.doc.id, error, rolledBackEntry === entry ? undefined : `Bulk delete was rolled back because the beforeDelete hook failed for document ${entry.doc.id}.`);
317
- }
318
- return [];
319
- }
320
- }
321
- } else {
322
- hookResults.push(...await Promise.all(initiallyChecked.map(async (entry)=>{
323
- try {
324
- await runBeforeDeleteHooks({
325
- doc: entry.doc
326
- });
327
- return entry;
328
- } catch (error) {
329
- pushError(entry.doc.id, error);
330
- return null;
331
- }
332
- })));
333
- }
334
- const hookCompleted = hookResults.filter((entry)=>entry !== null);
335
- const { lockDocumentIDsByDocumentID: refreshedLockDocumentIDsByDocumentID, lockedDocumentIDs: refreshedLockedDocumentIDs } = await getDocumentLockState({
336
- collectionSlug: collectionConfig.slug,
337
- ids: hookCompleted.map(({ doc })=>doc.id),
338
- overrideLock,
150
+ await deleteAssociatedFiles({
151
+ collectionConfig,
152
+ config,
153
+ doc,
154
+ overrideDelete: true,
339
155
  req
340
156
  });
341
- const lockCheckedAfterHooks = [];
342
- for (const entry of hookCompleted){
343
- const documentID = String(entry.doc.id);
344
- if (refreshedLockedDocumentIDs.has(documentID)) {
345
- pushError(entry.doc.id, new Locked(`Document with ID ${entry.doc.id} is currently locked and cannot be deleted.`));
346
- continue;
347
- }
348
- lockCheckedAfterHooks.push({
349
- ...entry,
350
- lockDocumentIDs: refreshedLockDocumentIDsByDocumentID.get(documentID) ?? []
351
- });
352
- }
353
- const postHookCheckResults = [];
354
- if (hasBranchSharedTransaction) {
355
- for (const entry of lockCheckedAfterHooks){
356
- const fullDocument = await assertDeleteUnreferenced({
357
- doc: entry.fullDocument
358
- });
359
- postHookCheckResults.push({
360
- ...entry,
361
- fullDocument
362
- });
363
- }
364
- } else {
365
- postHookCheckResults.push(...await Promise.all(lockCheckedAfterHooks.map(async (entry)=>{
366
- try {
367
- const fullDocument = await assertDeleteUnreferenced({
368
- doc: entry.fullDocument
369
- });
370
- return {
371
- ...entry,
372
- fullDocument
373
- };
374
- } catch (error) {
375
- pushError(entry.doc.id, error);
376
- return null;
377
- }
378
- })));
379
- }
380
- return postHookCheckResults.filter((entry)=>entry !== null);
381
157
  };
382
158
  // /////////////////////////////////////
383
159
  // afterRead - Fields, afterRead - Collection, afterDelete - Collection
@@ -434,10 +210,7 @@ export const deleteOperation = async (incomingArgs)=>{
434
210
  * One transaction and one set of database calls per document. Only used when
435
211
  * `bulkOperationsSingleTransaction` is enabled, which requires each document to be committed
436
212
  * on its own and therefore cannot share a batched write with the rest of the operation.
437
- */ const deleteDocumentIndividually = async ({ doc, fullDocument: initiallyCheckedDocument, lockDocumentIDs })=>{
438
- let docCleanupScope = null;
439
- let docShouldCommit = false;
440
- let hasReachedWriteCapableStage = hasCallerTransaction && hasWriteCapableBeforeDeleteHooks;
213
+ */ const deleteDocumentIndividually = async (doc)=>{
441
214
  const hasIndividualFileScope = Boolean(collectionConfig.upload);
442
215
  if (hasIndividualFileScope) {
443
216
  beginFileOperationScope({
@@ -445,63 +218,29 @@ export const deleteOperation = async (incomingArgs)=>{
445
218
  });
446
219
  }
447
220
  try {
448
- docShouldCommit = await initTransaction(req);
449
- docCleanupScope = await beginDeferredCleanupScope({
450
- req
451
- });
452
- const fullDocument = await assertDeleteUnreferenced({
453
- doc: initiallyCheckedDocument
454
- });
455
- const absorbedByBranch = await willBranchAbsorbDelete({
221
+ const docShouldCommit = await initTransaction(req);
222
+ await checkDocumentLockStatus({
223
+ id: doc.id,
456
224
  collectionSlug: collectionConfig.slug,
457
- doc: fullDocument,
225
+ lockErrorMessage: `Document with ID ${doc.id} is currently locked and cannot be deleted.`,
226
+ overrideLock,
458
227
  req
459
228
  });
460
- let branchDeleteOutcome;
461
- let branchVersionIDs = [];
462
- if (isDeletingFromBranch) {
463
- await storeDeleteFileCandidates({
464
- fullDocument
465
- });
466
- branchVersionIDs = await findBranchVersionIDs({
467
- fullDocument
468
- });
469
- }
470
- if (!isDeletingFromBranch) {
471
- await runDeleteCleanup({
472
- fullDocument
229
+ await runBeforeDeleteWork(doc);
230
+ if (collectionConfig.versions) {
231
+ await deleteCollectionVersions({
232
+ id: doc.id,
233
+ slug: collectionConfig.slug,
234
+ payload,
235
+ req
473
236
  });
474
- if (collectionConfig.versions) {
475
- hasReachedWriteCapableStage = true;
476
- await deleteCollectionVersions({
477
- id: doc.id,
478
- slug: collectionConfig.slug,
479
- payload,
480
- req
481
- });
482
- }
483
- if (hasScheduledPublishEnabled(collectionConfig) && !absorbedByBranch) {
484
- hasReachedWriteCapableStage = true;
485
- await deleteScheduledPublishJobs({
486
- id: doc.id,
487
- slug: collectionConfig.slug,
488
- payload,
489
- req
490
- });
491
- }
492
237
  }
493
- hasReachedWriteCapableStage = true;
494
- if (isDeletingFromBranch) {
495
- setBranchDeleteOperation({
496
- branch,
497
- collectionSlug: collectionConfig.slug,
498
- docID: doc.id,
499
- isTombstoneExpected: absorbedByBranch,
500
- onResolved: (outcome)=>{
501
- branchDeleteOutcome = outcome;
502
- },
503
- req,
504
- useAmbientTransaction: docShouldCommit
238
+ if (hasScheduledPublishEnabled(collectionConfig)) {
239
+ await deleteScheduledPublishJobs({
240
+ id: doc.id,
241
+ slug: collectionConfig.slug,
242
+ payload,
243
+ req
505
244
  });
506
245
  }
507
246
  await payload.db.deleteOne({
@@ -514,43 +253,6 @@ export const deleteOperation = async (incomingArgs)=>{
514
253
  }
515
254
  }
516
255
  });
517
- markTransactionWrite({
518
- req
519
- });
520
- const finalBranchDeleteOutcome = isDeletingFromBranch ? requireBranchDeleteOutcome({
521
- outcome: branchDeleteOutcome
522
- }) : {
523
- doc: fullDocument,
524
- tombstoned: false
525
- };
526
- if (!finalBranchDeleteOutcome.tombstoned) {
527
- deletedDocumentIDs.set(String(doc.id), doc.id);
528
- }
529
- if (isDeletingFromBranch) {
530
- await runDeleteCleanup({
531
- fullDocument: finalBranchDeleteOutcome.doc,
532
- isTombstone: finalBranchDeleteOutcome.tombstoned
533
- });
534
- if (collectionConfig.versions) {
535
- hasReachedWriteCapableStage = true;
536
- await deleteCollectionVersions({
537
- id: doc.id,
538
- slug: collectionConfig.slug,
539
- payload,
540
- req,
541
- versionIDs: branchVersionIDs
542
- });
543
- }
544
- if (hasScheduledPublishEnabled(collectionConfig) && !finalBranchDeleteOutcome.tombstoned) {
545
- hasReachedWriteCapableStage = true;
546
- await deleteScheduledPublishJobs({
547
- id: doc.id,
548
- slug: collectionConfig.slug,
549
- payload,
550
- req
551
- });
552
- }
553
- }
554
256
  if (collectionConfig.upload) {
555
257
  await scheduleUnreferencedFileCleanup({
556
258
  candidates: deletedFilesByID.get(doc.id) ?? [],
@@ -558,21 +260,7 @@ export const deleteOperation = async (incomingArgs)=>{
558
260
  req
559
261
  });
560
262
  }
561
- await deleteDocumentLocks({
562
- collectionSlug: collectionConfig.slug,
563
- ids: [
564
- doc.id
565
- ],
566
- lockDocumentIDs,
567
- req
568
- });
569
- const result = await runAfterDeleteWork(isDeletingFromBranch ? finalBranchDeleteOutcome.doc : doc);
570
- if (docCleanupScope) {
571
- await flushDeferredCleanupScope({
572
- req,
573
- scope: docCleanupScope
574
- });
575
- }
263
+ const result = await runAfterDeleteWork(doc);
576
264
  if (docShouldCommit) {
577
265
  await commitTransaction(req);
578
266
  }
@@ -583,230 +271,98 @@ export const deleteOperation = async (incomingArgs)=>{
583
271
  }
584
272
  return result;
585
273
  } catch (error) {
586
- if (docCleanupScope) {
587
- clearDeferredCleanupScope({
588
- req,
589
- scope: docCleanupScope
590
- });
591
- }
592
- if (docShouldCommit) {
593
- await killTransaction(req);
594
- deletedDocumentIDs.delete(String(doc.id));
595
- resetBranchState(req);
596
- }
274
+ await killTransaction(req);
597
275
  if (hasIndividualFileScope) {
598
276
  await abortFileOperationScope({
599
277
  req
600
278
  });
601
279
  }
602
- if (hasCallerTransaction && hasReachedWriteCapableStage) {
603
- throw error;
604
- }
605
280
  pushError(doc.id, error);
606
281
  return null;
607
282
  }
608
283
  };
609
284
  /**
610
- * Deletes unbranched rows as one batch. Branch deletes use the per-document adapter path so it
611
- * can create tombstones and remove branch-created rows from the change registry. Hooks still
612
- * run for each document.
613
- */ const deleteDocumentsInBulk = async (preparedDocuments)=>{
285
+ * Deletes the whole batch using a constant number of database calls, independent of how many
286
+ * documents matched. Hooks still run per document, they just no longer each carry a write.
287
+ */ const deleteDocumentsInBulk = async ()=>{
614
288
  const results = new Array(docs.length).fill(null);
615
- let deletable;
616
- if (isDeletingFromBranch) {
617
- deletable = await Promise.all(preparedDocuments.map(async (entry)=>({
618
- ...entry,
619
- absorbedByBranch: await willBranchAbsorbDelete({
620
- collectionSlug: collectionConfig.slug,
621
- doc: entry.fullDocument,
622
- req
623
- })
624
- })));
625
- } else {
626
- const cleanupResults = [];
627
- for (const entry of preparedDocuments){
628
- let documentCleanupScope = null;
629
- try {
630
- documentCleanupScope = await beginDeferredCleanupScope({
631
- req
632
- });
633
- const absorbedByBranch = await runDeleteCleanup({
634
- fullDocument: entry.fullDocument
635
- });
636
- await flushDeferredCleanupScope({
637
- req,
638
- scope: documentCleanupScope
639
- });
640
- cleanupResults.push({
641
- ...entry,
642
- absorbedByBranch
643
- });
644
- } catch (error) {
645
- if (documentCleanupScope) {
646
- clearDeferredCleanupScope({
647
- req,
648
- scope: documentCleanupScope
649
- });
650
- }
651
- if (hasBranchSharedTransaction && hasWriteCapableBeforeDeleteHooks) {
652
- throw error;
653
- }
654
- pushError(entry.doc.id, error);
655
- cleanupResults.push(null);
656
- }
289
+ // /////////////////////////////////////
290
+ // Handle potentially locked documents
291
+ // /////////////////////////////////////
292
+ const lockedIds = await getLockedDocumentIds({
293
+ collectionSlug: collectionConfig.slug,
294
+ ids: docs.map(({ id })=>id),
295
+ overrideLock,
296
+ req
297
+ });
298
+ const unlocked = [];
299
+ docs.forEach((doc, index)=>{
300
+ if (lockedIds.has(String(doc.id))) {
301
+ pushError(doc.id, new Locked(`Document with ID ${doc.id} is currently locked and cannot be deleted.`));
302
+ return;
657
303
  }
658
- deletable = cleanupResults.filter((entry)=>entry !== null);
659
- }
304
+ unlocked.push({
305
+ doc,
306
+ index
307
+ });
308
+ });
309
+ await deleteDocumentLocks({
310
+ collectionSlug: collectionConfig.slug,
311
+ ids: unlocked.map(({ doc })=>doc.id),
312
+ req
313
+ });
314
+ const deletable = [];
315
+ await Promise.all(unlocked.map(async (entry)=>{
316
+ try {
317
+ await runBeforeDeleteWork(entry.doc);
318
+ deletable.push(entry);
319
+ } catch (error) {
320
+ pushError(entry.doc.id, error);
321
+ }
322
+ }));
660
323
  if (!deletable.length) {
661
324
  return results;
662
325
  }
663
326
  const ids = deletable.map(({ doc })=>doc.id);
664
- const lockDocumentIDs = deletable.flatMap((entry)=>entry.lockDocumentIDs);
665
- const hardDeleteIDs = deletable.filter(({ absorbedByBranch })=>!absorbedByBranch).map(({ doc })=>doc.id);
666
- if (!isDeletingFromBranch) {
667
- // /////////////////////////////////////
668
- // Delete versions
669
- // /////////////////////////////////////
670
- if (collectionConfig.versions) {
671
- await deleteCollectionVersions({
672
- slug: collectionConfig.slug,
673
- ids,
674
- payload,
675
- req
676
- });
677
- }
678
- // /////////////////////////////////////
679
- // Delete scheduled posts
680
- // /////////////////////////////////////
681
- if (hasScheduledPublishEnabled(collectionConfig) && hardDeleteIDs.length) {
682
- await deleteScheduledPublishJobs({
683
- slug: collectionConfig.slug,
684
- ids: hardDeleteIDs,
685
- payload,
686
- req
687
- });
688
- }
327
+ // /////////////////////////////////////
328
+ // Delete versions
329
+ // /////////////////////////////////////
330
+ if (collectionConfig.versions) {
331
+ await deleteCollectionVersions({
332
+ slug: collectionConfig.slug,
333
+ ids,
334
+ payload,
335
+ req
336
+ });
337
+ }
338
+ // /////////////////////////////////////
339
+ // Delete scheduled posts
340
+ // /////////////////////////////////////
341
+ if (hasScheduledPublishEnabled(collectionConfig)) {
342
+ await deleteScheduledPublishJobs({
343
+ slug: collectionConfig.slug,
344
+ ids,
345
+ payload,
346
+ req
347
+ });
689
348
  }
690
349
  // /////////////////////////////////////
691
350
  // Delete documents
692
351
  // /////////////////////////////////////
693
- const deletedInBatch = [];
694
- const branchDeleteOutcomes = new Map();
695
- const branchDeleteEntries = [];
696
352
  try {
697
- if (isDeletingFromBranch) {
698
- for (const entry of deletable){
699
- const { absorbedByBranch, doc, fullDocument } = entry;
700
- await storeDeleteFileCandidates({
701
- fullDocument
702
- });
703
- branchDeleteEntries.push({
704
- ...entry,
705
- branchVersionIDs: await findBranchVersionIDs({
706
- fullDocument
707
- })
708
- });
709
- setBranchDeleteOperation({
710
- branch,
711
- collectionSlug: collectionConfig.slug,
712
- docID: doc.id,
713
- isTombstoneExpected: absorbedByBranch,
714
- onResolved: (outcome)=>{
715
- branchDeleteOutcomes.set(String(doc.id), outcome);
716
- },
717
- req,
718
- useAmbientTransaction: shouldCommit
719
- });
720
- await payload.db.deleteOne({
721
- collection: collectionConfig.slug,
722
- req,
723
- returning: false,
724
- where: {
725
- id: {
726
- equals: doc.id
727
- }
728
- }
729
- });
730
- markTransactionWrite({
731
- req
732
- });
733
- const finalBranchDeleteOutcome = requireBranchDeleteOutcome({
734
- outcome: branchDeleteOutcomes.get(String(doc.id))
735
- });
736
- if (!finalBranchDeleteOutcome.tombstoned) {
737
- deletedDocumentIDs.set(String(doc.id), doc.id);
738
- }
739
- deletedInBatch.push(doc.id);
740
- }
741
- } else {
742
- await payload.db.deleteMany({
743
- collection: collectionConfig.slug,
744
- req,
745
- where: {
746
- id: {
747
- in: ids
748
- }
353
+ await payload.db.deleteMany({
354
+ collection: collectionConfig.slug,
355
+ req,
356
+ where: {
357
+ id: {
358
+ in: ids
749
359
  }
750
- });
751
- markTransactionWrite({
752
- req
753
- });
754
- for (const id of ids){
755
- deletedDocumentIDs.set(String(id), id);
756
- deletedInBatch.push(id);
757
- }
758
- }
759
- if (isDeletingFromBranch) {
760
- for (const { doc } of deletable){
761
- const finalBranchDeleteOutcome = requireBranchDeleteOutcome({
762
- outcome: branchDeleteOutcomes.get(String(doc.id))
763
- });
764
- await runDeleteCleanup({
765
- fullDocument: finalBranchDeleteOutcome.doc,
766
- isTombstone: finalBranchDeleteOutcome.tombstoned
767
- });
768
- }
769
- if (collectionConfig.versions) {
770
- await deleteCollectionVersions({
771
- slug: collectionConfig.slug,
772
- ids,
773
- payload,
774
- req,
775
- versionIDs: branchDeleteEntries.flatMap(({ branchVersionIDs })=>branchVersionIDs)
776
- });
777
360
  }
778
- const finalHardDeleteIDs = deletable.filter(({ doc })=>{
779
- const outcome = requireBranchDeleteOutcome({
780
- outcome: branchDeleteOutcomes.get(String(doc.id))
781
- });
782
- return !outcome.tombstoned;
783
- }).map(({ doc })=>doc.id);
784
- if (hasScheduledPublishEnabled(collectionConfig) && finalHardDeleteIDs.length) {
785
- await deleteScheduledPublishJobs({
786
- slug: collectionConfig.slug,
787
- ids: finalHardDeleteIDs,
788
- payload,
789
- req
790
- });
791
- }
792
- }
793
- await deleteDocumentLocks({
794
- collectionSlug: collectionConfig.slug,
795
- ids,
796
- lockDocumentIDs,
797
- req
798
361
  });
799
362
  } catch (error) {
800
363
  didBatchDeleteFail = true;
801
364
  if (shouldCommit) {
802
365
  await killTransaction(req);
803
- resetBranchState(req);
804
- for (const id of deletedInBatch){
805
- deletedDocumentIDs.delete(String(id));
806
- }
807
- }
808
- if (hasCallerTransaction) {
809
- throw error;
810
366
  }
811
367
  // The delete covers the whole batch, so a failure here belongs to the batch rather than to
812
368
  // any single document. Say so explicitly, otherwise one batch failure reads as N unrelated
@@ -824,80 +380,32 @@ export const deleteOperation = async (incomingArgs)=>{
824
380
  req
825
381
  });
826
382
  }
827
- if (hasBranchSharedTransaction) {
828
- for (const entry of deletable){
829
- const resultDocument = isDeletingFromBranch ? requireBranchDeleteOutcome({
830
- outcome: branchDeleteOutcomes.get(String(entry.doc.id))
831
- }).doc : entry.doc;
832
- try {
833
- results[entry.index] = await runAfterDeleteWork(resultDocument);
834
- } catch (error) {
835
- if (hasCallerTransaction) {
836
- throw error;
837
- }
838
- didBatchDeleteFail = true;
839
- await killTransaction(req);
840
- resetBranchState(req);
841
- results.fill(null);
842
- for (const id of deletedInBatch){
843
- deletedDocumentIDs.delete(String(id));
844
- }
845
- for (const rolledBackEntry of deletable){
846
- pushError(rolledBackEntry.doc.id, error, rolledBackEntry === entry ? undefined : `Bulk delete was rolled back because post-delete work failed for document ${entry.doc.id}.`);
847
- }
848
- return results;
849
- }
850
- }
851
- return results;
852
- }
853
- const postDeleteResults = await Promise.all(deletable.map(async (entry)=>{
383
+ await Promise.all(deletable.map(async (entry)=>{
854
384
  try {
855
- const resultDocument = isDeletingFromBranch ? requireBranchDeleteOutcome({
856
- outcome: branchDeleteOutcomes.get(String(entry.doc.id))
857
- }).doc : entry.doc;
858
- return {
859
- entry,
860
- result: await runAfterDeleteWork(resultDocument),
861
- status: 'fulfilled'
862
- };
385
+ results[entry.index] = await runAfterDeleteWork(entry.doc);
863
386
  } catch (error) {
864
- return {
865
- entry,
866
- error,
867
- status: 'rejected'
868
- };
387
+ pushError(entry.doc.id, error);
869
388
  }
870
389
  }));
871
- for (const outcome of postDeleteResults){
872
- if (outcome.status === 'rejected') {
873
- pushError(outcome.entry.doc.id, outcome.error);
874
- } else {
875
- results[outcome.entry.index] = outcome.result;
876
- }
877
- }
878
390
  return results;
879
391
  };
880
392
  let awaitedDocs;
881
- const preparedDocuments = await prepareDocumentsForDelete();
882
393
  if (req.payload.db.bulkOperationsSingleTransaction) {
883
394
  // Process sequentially so that each document's transaction is isolated from the next
884
395
  awaitedDocs = [];
885
- for (const preparedDocument of preparedDocuments){
886
- awaitedDocs.push(await deleteDocumentIndividually(preparedDocument));
396
+ for (const doc of docs){
397
+ awaitedDocs.push(await deleteDocumentIndividually(doc));
887
398
  }
888
399
  } else {
889
- awaitedDocs = await deleteDocumentsInBulk(preparedDocuments);
400
+ awaitedDocs = await deleteDocumentsInBulk();
890
401
  }
891
402
  // /////////////////////////////////////
892
403
  // Delete Preferences
893
404
  // /////////////////////////////////////
894
- const deletedPreferenceIDs = [
895
- ...deletedDocumentIDs.values()
896
- ];
897
- if (deletedPreferenceIDs.length) {
405
+ if (!didBatchDeleteFail) {
898
406
  await deleteUserPreferences({
899
407
  collectionConfig,
900
- ids: deletedPreferenceIDs,
408
+ ids: docs.map(({ id })=>id),
901
409
  payload,
902
410
  req
903
411
  });
@@ -916,19 +424,6 @@ export const deleteOperation = async (incomingArgs)=>{
916
424
  overrideAccess,
917
425
  result
918
426
  });
919
- if (cleanupScope) {
920
- if (didBatchDeleteFail) {
921
- clearDeferredCleanupScope({
922
- req: args.req,
923
- scope: cleanupScope
924
- });
925
- } else {
926
- await flushDeferredCleanupScopeAfterOperation({
927
- req,
928
- scope: cleanupScope
929
- });
930
- }
931
- }
932
427
  if (shouldCommit && !didBatchDeleteFail) {
933
428
  await commitTransaction(req);
934
429
  }
@@ -937,21 +432,9 @@ export const deleteOperation = async (incomingArgs)=>{
937
432
  req
938
433
  });
939
434
  }
940
- if (isDeletingFromBranch) {
941
- refreshBranchState(req);
942
- }
943
435
  return result;
944
436
  } catch (error) {
945
- if (cleanupScope) {
946
- clearDeferredCleanupScope({
947
- req: args.req,
948
- scope: cleanupScope
949
- });
950
- }
951
- if (shouldCommit) {
952
- await killTransaction(args.req);
953
- }
954
- resetBranchState(args.req);
437
+ await killTransaction(args.req);
955
438
  if (hasFileOperationScope) {
956
439
  await abortFileOperationScope({
957
440
  req: args.req