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,299 +0,0 @@
1
- const callbacksByDatabase = new WeakMap();
2
- const rollbackCallbacksByDatabase = new WeakMap();
3
- export const deferredCleanupScopeContextKey = '_payloadDeferredCleanupScope';
4
- let nextTransactionCallbackSequence = 0;
5
- /** Creates a request context whose cleanup callbacks can be managed independently. */ export const createIsolatedDeferredCleanupContext = ({ req })=>{
6
- const sourceContext = req.context ?? {};
7
- const context = {};
8
- for (const key of Reflect.ownKeys(sourceContext)){
9
- if (key === deferredCleanupScopeContextKey) {
10
- continue;
11
- }
12
- const descriptor = Object.getOwnPropertyDescriptor(sourceContext, key);
13
- if (descriptor?.enumerable) {
14
- Object.defineProperty(context, key, descriptor);
15
- }
16
- }
17
- return context;
18
- };
19
- export const hasActiveDeferredCleanupScope = ({ req })=>Boolean(req.context?.[deferredCleanupScopeContextKey]);
20
- /**
21
- * Creates an operation-owned cleanup queue. Successful nested scopes transfer their cleanup to a
22
- * parent for the same database and transaction. Root transaction scopes transfer their cleanup to
23
- * the transaction queue. Failed scopes can therefore discard only the cleanup they still own.
24
- */ export const beginDeferredCleanupScope = async ({ req })=>{
25
- const transactionID = await resolveTransactionID({
26
- req
27
- });
28
- return createDeferredCleanupScope({
29
- req,
30
- transactionID
31
- });
32
- };
33
- /** Reuses an operation scope when a low-level cleanup helper does not need its own savepoint. */ export const beginDeferredCleanupScopeIfNeeded = async ({ req })=>{
34
- const transactionID = await resolveTransactionID({
35
- req
36
- });
37
- const activeScope = req.context?.[deferredCleanupScopeContextKey];
38
- if (activeScope?.database === req.payload.db && activeScope.transactionID === (transactionID || undefined)) {
39
- return null;
40
- }
41
- return createDeferredCleanupScope({
42
- req,
43
- transactionID
44
- });
45
- };
46
- const createDeferredCleanupScope = ({ req, transactionID })=>{
47
- req.context ??= {};
48
- const parent = req.context[deferredCleanupScopeContextKey] ?? null;
49
- const scope = {
50
- callbacks: [],
51
- database: req.payload.db,
52
- parent,
53
- state: 'collecting',
54
- transactionID: transactionID ?? undefined
55
- };
56
- req.context[deferredCleanupScopeContextKey] = scope;
57
- return scope;
58
- };
59
- const resolveTransactionID = async ({ req })=>req.transactionID instanceof Promise ? await req.transactionID : req.transactionID;
60
- export const scheduleAfterTransactionCommit = async ({ callback, req })=>{
61
- const pendingTransactionID = req.transactionID;
62
- const transactionID = pendingTransactionID instanceof Promise ? await pendingTransactionID : pendingTransactionID;
63
- const scope = req.context?.[deferredCleanupScopeContextKey];
64
- const callbackEntry = {
65
- callback,
66
- sequence: nextTransactionCallbackSequence++
67
- };
68
- if (scope?.database === req.payload.db && scope.transactionID === (transactionID ?? undefined)) {
69
- if (scope.state === 'flushing') {
70
- await callback();
71
- } else {
72
- scope.callbacks.push(callbackEntry);
73
- }
74
- return;
75
- }
76
- if (!transactionID) {
77
- if (req.transactionID === pendingTransactionID) {
78
- delete req.transactionID;
79
- }
80
- throw new Error('File cleanup requires an active transaction or deferred cleanup scope.');
81
- }
82
- getTransactionCallbacks({
83
- database: req.payload.db,
84
- transactionID
85
- }).push(callbackEntry);
86
- };
87
- export const scheduleAfterTransactionRollback = async ({ callback, req })=>{
88
- const pendingTransactionID = req.transactionID;
89
- const transactionID = pendingTransactionID instanceof Promise ? await pendingTransactionID : pendingTransactionID;
90
- if (!transactionID) {
91
- throw new Error('Rollback callbacks require an active transaction.');
92
- }
93
- getRollbackCallbacks({
94
- database: req.payload.db,
95
- transactionID
96
- }).push({
97
- callback,
98
- sequence: nextTransactionCallbackSequence++
99
- });
100
- };
101
- export const runTransactionCommitCallbacks = async ({ req, transactionID })=>{
102
- const callbacksByTransaction = callbacksByDatabase.get(req.payload.db);
103
- const callbacks = callbacksByTransaction?.get(transactionID) ?? [];
104
- const scopedCallbacks = closeTransactionScopes({
105
- req,
106
- transactionID
107
- });
108
- callbacksByTransaction?.delete(transactionID);
109
- if (callbacksByTransaction?.size === 0) {
110
- callbacksByDatabase.delete(req.payload.db);
111
- }
112
- if (callbacks.length === 0 && scopedCallbacks.length === 0) {
113
- return;
114
- }
115
- await runCallbacks({
116
- callbacks: [
117
- ...callbacks,
118
- ...scopedCallbacks
119
- ]
120
- });
121
- };
122
- export const clearTransactionCommitCallbacks = ({ req, transactionID })=>{
123
- const callbacksByTransaction = callbacksByDatabase.get(req.payload.db);
124
- closeTransactionScopes({
125
- req,
126
- transactionID
127
- });
128
- callbacksByTransaction?.delete(transactionID);
129
- if (callbacksByTransaction?.size === 0) {
130
- callbacksByDatabase.delete(req.payload.db);
131
- }
132
- };
133
- export const runTransactionRollbackCallbacks = async ({ req, transactionID })=>{
134
- const callbacksByTransaction = rollbackCallbacksByDatabase.get(req.payload.db);
135
- const callbacks = callbacksByTransaction?.get(transactionID);
136
- if (!callbacks) {
137
- return;
138
- }
139
- callbacksByTransaction.delete(transactionID);
140
- if (callbacksByTransaction.size === 0) {
141
- rollbackCallbacksByDatabase.delete(req.payload.db);
142
- }
143
- await runCallbacks({
144
- callbacks
145
- });
146
- };
147
- export const clearTransactionRollbackCallbacks = ({ req, transactionID })=>{
148
- const callbacksByTransaction = rollbackCallbacksByDatabase.get(req.payload.db);
149
- callbacksByTransaction?.delete(transactionID);
150
- if (callbacksByTransaction?.size === 0) {
151
- rollbackCallbacksByDatabase.delete(req.payload.db);
152
- }
153
- };
154
- export const flushDeferredCleanupScope = async ({ req, scope })=>{
155
- if (scope.state === 'closed') {
156
- return;
157
- }
158
- assertDeferredCleanupScopeIsActive({
159
- req,
160
- scope
161
- });
162
- if (scope.parent?.database === scope.database && scope.parent.transactionID === scope.transactionID) {
163
- scope.parent.callbacks.push(...scope.callbacks);
164
- scope.callbacks.length = 0;
165
- popScope({
166
- req,
167
- scope
168
- });
169
- return;
170
- }
171
- if (scope.transactionID !== undefined) {
172
- if (scope.callbacks.length > 0) {
173
- getTransactionCallbacks({
174
- database: scope.database,
175
- transactionID: scope.transactionID
176
- }).push(...scope.callbacks);
177
- }
178
- scope.callbacks.length = 0;
179
- popScope({
180
- req,
181
- scope
182
- });
183
- return;
184
- }
185
- scope.state = 'flushing';
186
- const callbacks = scope.callbacks.splice(0);
187
- try {
188
- await runCallbacks({
189
- callbacks
190
- });
191
- } finally{
192
- popScope({
193
- req,
194
- scope
195
- });
196
- }
197
- };
198
- /**
199
- * Flushes cleanup after an operation's database work has completed. A cleanup failure cannot undo
200
- * that write, so report it with the same contract used after a committed transaction.
201
- */ export const flushDeferredCleanupScopeAfterOperation = async ({ req, scope })=>{
202
- if (scope.state !== 'closed') {
203
- assertDeferredCleanupScopeIsActive({
204
- req,
205
- scope
206
- });
207
- }
208
- try {
209
- await flushDeferredCleanupScope({
210
- req,
211
- scope
212
- });
213
- } catch (err) {
214
- req.payload.logger.error({
215
- err,
216
- msg: 'A post-commit cleanup task failed.'
217
- });
218
- }
219
- };
220
- export const clearDeferredCleanupScope = ({ req, scope })=>{
221
- if (scope.state === 'closed') {
222
- return;
223
- }
224
- assertDeferredCleanupScopeIsActive({
225
- req,
226
- scope
227
- });
228
- scope.callbacks.length = 0;
229
- popScope({
230
- req,
231
- scope
232
- });
233
- };
234
- const assertDeferredCleanupScopeIsActive = ({ req, scope })=>{
235
- if (req.context?.[deferredCleanupScopeContextKey] !== scope) {
236
- throw new Error('The deferred cleanup scope is no longer active.');
237
- }
238
- };
239
- const getTransactionCallbacks = ({ database, transactionID })=>{
240
- const callbacksByTransaction = callbacksByDatabase.get(database) ?? new Map();
241
- const callbacks = callbacksByTransaction.get(transactionID) ?? [];
242
- callbacksByTransaction.set(transactionID, callbacks);
243
- callbacksByDatabase.set(database, callbacksByTransaction);
244
- return callbacks;
245
- };
246
- const getRollbackCallbacks = ({ database, transactionID })=>{
247
- const callbacksByTransaction = rollbackCallbacksByDatabase.get(database) ?? new Map();
248
- const callbacks = callbacksByTransaction.get(transactionID) ?? [];
249
- callbacksByTransaction.set(transactionID, callbacks);
250
- rollbackCallbacksByDatabase.set(database, callbacksByTransaction);
251
- return callbacks;
252
- };
253
- const popScope = ({ req, scope })=>{
254
- if (req.context?.[deferredCleanupScopeContextKey] !== scope) {
255
- return;
256
- }
257
- if (scope.parent) {
258
- req.context[deferredCleanupScopeContextKey] = scope.parent;
259
- } else {
260
- delete req.context[deferredCleanupScopeContextKey];
261
- }
262
- scope.state = 'closed';
263
- };
264
- const closeTransactionScopes = ({ req, transactionID })=>{
265
- const scope = req.context?.[deferredCleanupScopeContextKey];
266
- if (!scope || scope.transactionID !== transactionID) {
267
- return [];
268
- }
269
- const callbacks = scope.callbacks.splice(0);
270
- popScope({
271
- req,
272
- scope
273
- });
274
- return [
275
- ...closeTransactionScopes({
276
- req,
277
- transactionID
278
- }),
279
- ...callbacks
280
- ];
281
- };
282
- const runCallbacks = async ({ callbacks })=>{
283
- const errors = [];
284
- for (const { callback } of callbacks.sort((a, b)=>a.sequence - b.sequence)){
285
- try {
286
- await callback();
287
- } catch (error) {
288
- errors.push(error);
289
- }
290
- }
291
- if (errors.length === 1) {
292
- throw errors[0];
293
- }
294
- if (errors.length > 1) {
295
- throw new AggregateError(errors, 'Multiple deferred cleanup callbacks failed.');
296
- }
297
- };
298
-
299
- //# sourceMappingURL=transactionCallbacks.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/utilities/transactionCallbacks.ts"],"sourcesContent":["import type { MarkRequired } from 'ts-essentials'\n\nimport type { PayloadRequest } from '../types/index.js'\n\ntype TransactionCallback = () => Promise<void>\ntype TransactionCallbackEntry = {\n callback: TransactionCallback\n sequence: number\n}\ntype TransactionID = number | string\nexport type DeferredCleanupScope = {\n callbacks: TransactionCallbackEntry[]\n database: object\n parent: DeferredCleanupScope | null\n state: 'closed' | 'collecting' | 'flushing'\n transactionID?: TransactionID\n}\n\nconst callbacksByDatabase = new WeakMap<object, Map<TransactionID, TransactionCallbackEntry[]>>()\nconst rollbackCallbacksByDatabase = new WeakMap<\n object,\n Map<TransactionID, TransactionCallbackEntry[]>\n>()\nexport const deferredCleanupScopeContextKey = '_payloadDeferredCleanupScope'\nlet nextTransactionCallbackSequence = 0\n\n/** Creates a request context whose cleanup callbacks can be managed independently. */\nexport const createIsolatedDeferredCleanupContext = ({\n req,\n}: {\n req: Partial<PayloadRequest>\n}): PayloadRequest['context'] => {\n const sourceContext = req.context ?? {}\n const context: PayloadRequest['context'] = {}\n\n for (const key of Reflect.ownKeys(sourceContext)) {\n if (key === deferredCleanupScopeContextKey) {\n continue\n }\n\n const descriptor = Object.getOwnPropertyDescriptor(sourceContext, key)\n\n if (descriptor?.enumerable) {\n Object.defineProperty(context, key, descriptor)\n }\n }\n\n return context\n}\n\nexport const hasActiveDeferredCleanupScope = ({ req }: { req: Partial<PayloadRequest> }): boolean =>\n Boolean(req.context?.[deferredCleanupScopeContextKey])\n\n/**\n * Creates an operation-owned cleanup queue. Successful nested scopes transfer their cleanup to a\n * parent for the same database and transaction. Root transaction scopes transfer their cleanup to\n * the transaction queue. Failed scopes can therefore discard only the cleanup they still own.\n */\nexport const beginDeferredCleanupScope = async ({\n req,\n}: {\n req: MarkRequired<Partial<PayloadRequest>, 'payload'>\n}): Promise<DeferredCleanupScope> => {\n const transactionID = await resolveTransactionID({ req })\n\n return createDeferredCleanupScope({ req, transactionID })\n}\n\n/** Reuses an operation scope when a low-level cleanup helper does not need its own savepoint. */\nexport const beginDeferredCleanupScopeIfNeeded = async ({\n req,\n}: {\n req: MarkRequired<Partial<PayloadRequest>, 'payload'>\n}): Promise<DeferredCleanupScope | null> => {\n const transactionID = await resolveTransactionID({ req })\n const activeScope = req.context?.[deferredCleanupScopeContextKey] as\n | DeferredCleanupScope\n | undefined\n\n if (\n activeScope?.database === req.payload.db &&\n activeScope.transactionID === (transactionID || undefined)\n ) {\n return null\n }\n\n return createDeferredCleanupScope({ req, transactionID })\n}\n\nconst createDeferredCleanupScope = ({\n req,\n transactionID,\n}: {\n req: MarkRequired<Partial<PayloadRequest>, 'payload'>\n transactionID?: TransactionID\n}): DeferredCleanupScope => {\n req.context ??= {}\n const parent = (req.context[deferredCleanupScopeContextKey] as DeferredCleanupScope) ?? null\n const scope: DeferredCleanupScope = {\n callbacks: [],\n database: req.payload.db,\n parent,\n state: 'collecting',\n transactionID: transactionID ?? undefined,\n }\n\n req.context[deferredCleanupScopeContextKey] = scope\n\n return scope\n}\n\nconst resolveTransactionID = async ({\n req,\n}: {\n req: MarkRequired<Partial<PayloadRequest>, 'payload'>\n}): Promise<TransactionID | undefined> =>\n req.transactionID instanceof Promise ? await req.transactionID : req.transactionID\n\nexport const scheduleAfterTransactionCommit = async ({\n callback,\n req,\n}: {\n callback: TransactionCallback\n req: MarkRequired<Partial<PayloadRequest>, 'payload'>\n}): Promise<void> => {\n const pendingTransactionID = req.transactionID\n const transactionID =\n pendingTransactionID instanceof Promise ? await pendingTransactionID : pendingTransactionID\n const scope = req.context?.[deferredCleanupScopeContextKey] as DeferredCleanupScope | undefined\n const callbackEntry = {\n callback,\n sequence: nextTransactionCallbackSequence++,\n }\n\n if (scope?.database === req.payload.db && scope.transactionID === (transactionID ?? undefined)) {\n if (scope.state === 'flushing') {\n await callback()\n } else {\n scope.callbacks.push(callbackEntry)\n }\n\n return\n }\n\n if (!transactionID) {\n if (req.transactionID === pendingTransactionID) {\n delete req.transactionID\n }\n\n throw new Error('File cleanup requires an active transaction or deferred cleanup scope.')\n }\n\n getTransactionCallbacks({ database: req.payload.db, transactionID }).push(callbackEntry)\n}\n\nexport const scheduleAfterTransactionRollback = async ({\n callback,\n req,\n}: {\n callback: TransactionCallback\n req: MarkRequired<Partial<PayloadRequest>, 'payload'>\n}): Promise<void> => {\n const pendingTransactionID = req.transactionID\n const transactionID =\n pendingTransactionID instanceof Promise ? await pendingTransactionID : pendingTransactionID\n\n if (!transactionID) {\n throw new Error('Rollback callbacks require an active transaction.')\n }\n\n getRollbackCallbacks({ database: req.payload.db, transactionID }).push({\n callback,\n sequence: nextTransactionCallbackSequence++,\n })\n}\n\nexport const runTransactionCommitCallbacks = async ({\n req,\n transactionID,\n}: {\n req: MarkRequired<Partial<PayloadRequest>, 'payload'>\n transactionID: TransactionID\n}): Promise<void> => {\n const callbacksByTransaction = callbacksByDatabase.get(req.payload.db)\n const callbacks = callbacksByTransaction?.get(transactionID) ?? []\n const scopedCallbacks = closeTransactionScopes({ req, transactionID })\n\n callbacksByTransaction?.delete(transactionID)\n\n if (callbacksByTransaction?.size === 0) {\n callbacksByDatabase.delete(req.payload.db)\n }\n\n if (callbacks.length === 0 && scopedCallbacks.length === 0) {\n return\n }\n\n await runCallbacks({ callbacks: [...callbacks, ...scopedCallbacks] })\n}\n\nexport const clearTransactionCommitCallbacks = ({\n req,\n transactionID,\n}: {\n req: MarkRequired<Partial<PayloadRequest>, 'payload'>\n transactionID: TransactionID\n}): void => {\n const callbacksByTransaction = callbacksByDatabase.get(req.payload.db)\n\n closeTransactionScopes({ req, transactionID })\n callbacksByTransaction?.delete(transactionID)\n\n if (callbacksByTransaction?.size === 0) {\n callbacksByDatabase.delete(req.payload.db)\n }\n}\n\nexport const runTransactionRollbackCallbacks = async ({\n req,\n transactionID,\n}: {\n req: MarkRequired<Partial<PayloadRequest>, 'payload'>\n transactionID: TransactionID\n}): Promise<void> => {\n const callbacksByTransaction = rollbackCallbacksByDatabase.get(req.payload.db)\n const callbacks = callbacksByTransaction?.get(transactionID)\n\n if (!callbacks) {\n return\n }\n\n callbacksByTransaction!.delete(transactionID)\n\n if (callbacksByTransaction!.size === 0) {\n rollbackCallbacksByDatabase.delete(req.payload.db)\n }\n\n await runCallbacks({ callbacks })\n}\n\nexport const clearTransactionRollbackCallbacks = ({\n req,\n transactionID,\n}: {\n req: MarkRequired<Partial<PayloadRequest>, 'payload'>\n transactionID: TransactionID\n}): void => {\n const callbacksByTransaction = rollbackCallbacksByDatabase.get(req.payload.db)\n\n callbacksByTransaction?.delete(transactionID)\n\n if (callbacksByTransaction?.size === 0) {\n rollbackCallbacksByDatabase.delete(req.payload.db)\n }\n}\n\nexport const flushDeferredCleanupScope = async ({\n req,\n scope,\n}: {\n req: MarkRequired<Partial<PayloadRequest>, 'payload'>\n scope: DeferredCleanupScope\n}): Promise<void> => {\n if (scope.state === 'closed') {\n return\n }\n\n assertDeferredCleanupScopeIsActive({ req, scope })\n\n if (\n scope.parent?.database === scope.database &&\n scope.parent.transactionID === scope.transactionID\n ) {\n scope.parent.callbacks.push(...scope.callbacks)\n scope.callbacks.length = 0\n popScope({ req, scope })\n return\n }\n\n if (scope.transactionID !== undefined) {\n if (scope.callbacks.length > 0) {\n getTransactionCallbacks({\n database: scope.database,\n transactionID: scope.transactionID,\n }).push(...scope.callbacks)\n }\n scope.callbacks.length = 0\n popScope({ req, scope })\n return\n }\n\n scope.state = 'flushing'\n const callbacks = scope.callbacks.splice(0)\n\n try {\n await runCallbacks({ callbacks })\n } finally {\n popScope({ req, scope })\n }\n}\n\n/**\n * Flushes cleanup after an operation's database work has completed. A cleanup failure cannot undo\n * that write, so report it with the same contract used after a committed transaction.\n */\nexport const flushDeferredCleanupScopeAfterOperation = async ({\n req,\n scope,\n}: {\n req: MarkRequired<Partial<PayloadRequest>, 'payload'>\n scope: DeferredCleanupScope\n}): Promise<void> => {\n if (scope.state !== 'closed') {\n assertDeferredCleanupScopeIsActive({ req, scope })\n }\n\n try {\n await flushDeferredCleanupScope({ req, scope })\n } catch (err) {\n req.payload.logger.error({ err, msg: 'A post-commit cleanup task failed.' })\n }\n}\n\nexport const clearDeferredCleanupScope = ({\n req,\n scope,\n}: {\n req: MarkRequired<Partial<PayloadRequest>, 'payload'>\n scope: DeferredCleanupScope\n}): void => {\n if (scope.state === 'closed') {\n return\n }\n\n assertDeferredCleanupScopeIsActive({ req, scope })\n scope.callbacks.length = 0\n popScope({ req, scope })\n}\n\nconst assertDeferredCleanupScopeIsActive = ({\n req,\n scope,\n}: {\n req: MarkRequired<Partial<PayloadRequest>, 'payload'>\n scope: DeferredCleanupScope\n}): void => {\n if (req.context?.[deferredCleanupScopeContextKey] !== scope) {\n throw new Error('The deferred cleanup scope is no longer active.')\n }\n}\n\nconst getTransactionCallbacks = ({\n database,\n transactionID,\n}: {\n database: object\n transactionID: TransactionID\n}): TransactionCallbackEntry[] => {\n const callbacksByTransaction = callbacksByDatabase.get(database) ?? new Map()\n const callbacks = callbacksByTransaction.get(transactionID) ?? []\n\n callbacksByTransaction.set(transactionID, callbacks)\n callbacksByDatabase.set(database, callbacksByTransaction)\n\n return callbacks\n}\n\nconst getRollbackCallbacks = ({\n database,\n transactionID,\n}: {\n database: object\n transactionID: TransactionID\n}): TransactionCallbackEntry[] => {\n const callbacksByTransaction = rollbackCallbacksByDatabase.get(database) ?? new Map()\n const callbacks = callbacksByTransaction.get(transactionID) ?? []\n\n callbacksByTransaction.set(transactionID, callbacks)\n rollbackCallbacksByDatabase.set(database, callbacksByTransaction)\n\n return callbacks\n}\nconst popScope = ({\n req,\n scope,\n}: {\n req: MarkRequired<Partial<PayloadRequest>, 'payload'>\n scope: DeferredCleanupScope\n}): void => {\n if (req.context?.[deferredCleanupScopeContextKey] !== scope) {\n return\n }\n\n if (scope.parent) {\n req.context[deferredCleanupScopeContextKey] = scope.parent\n } else {\n delete req.context[deferredCleanupScopeContextKey]\n }\n\n scope.state = 'closed'\n}\n\nconst closeTransactionScopes = ({\n req,\n transactionID,\n}: {\n req: MarkRequired<Partial<PayloadRequest>, 'payload'>\n transactionID: TransactionID\n}): TransactionCallbackEntry[] => {\n const scope = req.context?.[deferredCleanupScopeContextKey] as DeferredCleanupScope | undefined\n\n if (!scope || scope.transactionID !== transactionID) {\n return []\n }\n\n const callbacks = scope.callbacks.splice(0)\n\n popScope({ req, scope })\n\n return [...closeTransactionScopes({ req, transactionID }), ...callbacks]\n}\n\nconst runCallbacks = async ({\n callbacks,\n}: {\n callbacks: TransactionCallbackEntry[]\n}): Promise<void> => {\n const errors: unknown[] = []\n\n for (const { callback } of callbacks.sort((a, b) => a.sequence - b.sequence)) {\n try {\n await callback()\n } catch (error) {\n errors.push(error)\n }\n }\n\n if (errors.length === 1) {\n throw errors[0]\n }\n\n if (errors.length > 1) {\n throw new AggregateError(errors, 'Multiple deferred cleanup callbacks failed.')\n }\n}\n"],"names":["callbacksByDatabase","WeakMap","rollbackCallbacksByDatabase","deferredCleanupScopeContextKey","nextTransactionCallbackSequence","createIsolatedDeferredCleanupContext","req","sourceContext","context","key","Reflect","ownKeys","descriptor","Object","getOwnPropertyDescriptor","enumerable","defineProperty","hasActiveDeferredCleanupScope","Boolean","beginDeferredCleanupScope","transactionID","resolveTransactionID","createDeferredCleanupScope","beginDeferredCleanupScopeIfNeeded","activeScope","database","payload","db","undefined","parent","scope","callbacks","state","Promise","scheduleAfterTransactionCommit","callback","pendingTransactionID","callbackEntry","sequence","push","Error","getTransactionCallbacks","scheduleAfterTransactionRollback","getRollbackCallbacks","runTransactionCommitCallbacks","callbacksByTransaction","get","scopedCallbacks","closeTransactionScopes","delete","size","length","runCallbacks","clearTransactionCommitCallbacks","runTransactionRollbackCallbacks","clearTransactionRollbackCallbacks","flushDeferredCleanupScope","assertDeferredCleanupScopeIsActive","popScope","splice","flushDeferredCleanupScopeAfterOperation","err","logger","error","msg","clearDeferredCleanupScope","Map","set","errors","sort","a","b","AggregateError"],"mappings":"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"}
@@ -1,21 +0,0 @@
1
- import type { BaseDatabaseAdapter } from '../database/types.js';
2
- import type { PayloadRequest } from '../types/index.js';
3
- type TransactionMutationState = {
4
- hasTransactionWrite: boolean;
5
- parent: TransactionMutationState | undefined;
6
- };
7
- export type TransactionMutationScope = {
8
- state: TransactionMutationState;
9
- };
10
- export declare const runInTransactionMutationScope: <Value>({ adapter, callback, }: {
11
- adapter?: BaseDatabaseAdapter;
12
- callback: (scope: TransactionMutationScope) => Promise<Value>;
13
- }) => Promise<Value>;
14
- export declare const hasTransactionWrite: ({ scope }: {
15
- scope: TransactionMutationScope;
16
- }) => boolean;
17
- export declare const markTransactionWrite: ({ req, }: {
18
- req: Partial<PayloadRequest> | undefined;
19
- }) => void;
20
- export {};
21
- //# sourceMappingURL=transactionMutationTracker.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"transactionMutationTracker.d.ts","sourceRoot":"","sources":["../../src/utilities/transactionMutationTracker.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAEvD,KAAK,wBAAwB,GAAG;IAC9B,mBAAmB,EAAE,OAAO,CAAA;IAC5B,MAAM,EAAE,wBAAwB,GAAG,SAAS,CAAA;CAC7C,CAAA;AAED,MAAM,MAAM,wBAAwB,GAAG;IACrC,KAAK,EAAE,wBAAwB,CAAA;CAChC,CAAA;AAiED,eAAO,MAAM,6BAA6B,GAAU,KAAK,0BAGtD;IACD,OAAO,CAAC,EAAE,mBAAmB,CAAA;IAC7B,QAAQ,EAAE,CAAC,KAAK,EAAE,wBAAwB,KAAK,OAAO,CAAC,KAAK,CAAC,CAAA;CAC9D,KAAG,OAAO,CAAC,KAAK,CAWhB,CAAA;AAED,eAAO,MAAM,mBAAmB,cAAe;IAAE,KAAK,EAAE,wBAAwB,CAAA;CAAE,KAAG,OACpD,CAAA;AAEjC,eAAO,MAAM,oBAAoB,aAE9B;IACD,GAAG,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,SAAS,CAAA;CACzC,KAAG,IAWH,CAAA"}
@@ -1,71 +0,0 @@
1
- import { AsyncLocalStorage } from 'node:async_hooks';
2
- const transactionMutationStorage = new AsyncLocalStorage();
3
- const trackedDatabaseMutationMethod = Symbol('trackedDatabaseMutationMethod');
4
- const databaseMutationMethodNames = [
5
- 'create',
6
- 'createGlobal',
7
- 'createGlobalVersion',
8
- 'createVersion',
9
- 'deleteBranchGlobal',
10
- 'deleteMany',
11
- 'deleteOne',
12
- 'deleteVersions',
13
- 'updateGlobal',
14
- 'updateGlobalVersion',
15
- 'updateJobs',
16
- 'updateMany',
17
- 'updateOne',
18
- 'updateVersion',
19
- 'upsert',
20
- 'upsertBranchGlobalChange'
21
- ];
22
- const trackDatabaseAdapterMutations = ({ adapter })=>{
23
- const adapterMethods = adapter;
24
- for (const methodName of databaseMutationMethodNames){
25
- const databaseMutationMethod = adapterMethods[methodName];
26
- if (typeof databaseMutationMethod !== 'function' || databaseMutationMethod[trackedDatabaseMutationMethod]) {
27
- continue;
28
- }
29
- const trackedMethod = async (...args)=>{
30
- // Mark before invoking the adapter. A rejected multi-statement mutation can have written to
31
- // the ambient transaction before it failed, so a caught document error must still abort it.
32
- markTransactionWrite({
33
- req: args[0]?.req
34
- });
35
- return Reflect.apply(databaseMutationMethod, adapter, args);
36
- };
37
- Object.defineProperty(trackedMethod, trackedDatabaseMutationMethod, {
38
- value: true
39
- });
40
- if (!Reflect.set(adapterMethods, methodName, trackedMethod)) {
41
- throw new TypeError(`Unable to track database mutation method "${methodName}".`);
42
- }
43
- }
44
- };
45
- export const runInTransactionMutationScope = async ({ adapter, callback })=>{
46
- if (adapter) {
47
- trackDatabaseAdapterMutations({
48
- adapter
49
- });
50
- }
51
- const state = {
52
- hasTransactionWrite: false,
53
- parent: transactionMutationStorage.getStore()
54
- };
55
- return transactionMutationStorage.run(state, ()=>callback({
56
- state
57
- }));
58
- };
59
- export const hasTransactionWrite = ({ scope })=>scope.state.hasTransactionWrite;
60
- export const markTransactionWrite = ({ req })=>{
61
- if (!req?.transactionID) {
62
- return;
63
- }
64
- let state = transactionMutationStorage.getStore();
65
- while(state){
66
- state.hasTransactionWrite = true;
67
- state = state.parent;
68
- }
69
- };
70
-
71
- //# sourceMappingURL=transactionMutationTracker.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/utilities/transactionMutationTracker.ts"],"sourcesContent":["import { AsyncLocalStorage } from 'node:async_hooks'\n\nimport type { BaseDatabaseAdapter } from '../database/types.js'\nimport type { PayloadRequest } from '../types/index.js'\n\ntype TransactionMutationState = {\n hasTransactionWrite: boolean\n parent: TransactionMutationState | undefined\n}\n\nexport type TransactionMutationScope = {\n state: TransactionMutationState\n}\n\nconst transactionMutationStorage = new AsyncLocalStorage<TransactionMutationState>()\n\nconst trackedDatabaseMutationMethod = Symbol('trackedDatabaseMutationMethod')\n\nconst databaseMutationMethodNames = [\n 'create',\n 'createGlobal',\n 'createGlobalVersion',\n 'createVersion',\n 'deleteBranchGlobal',\n 'deleteMany',\n 'deleteOne',\n 'deleteVersions',\n 'updateGlobal',\n 'updateGlobalVersion',\n 'updateJobs',\n 'updateMany',\n 'updateOne',\n 'updateVersion',\n 'upsert',\n 'upsertBranchGlobalChange',\n] as const satisfies readonly (keyof BaseDatabaseAdapter)[]\n\ntype DatabaseMutationArguments = [\n {\n req?: Partial<PayloadRequest>\n },\n ...unknown[],\n]\n\ntype DatabaseMutationMethod = ((...args: DatabaseMutationArguments) => Promise<unknown>) & {\n [trackedDatabaseMutationMethod]?: true\n}\n\nconst trackDatabaseAdapterMutations = ({ adapter }: { adapter: BaseDatabaseAdapter }): void => {\n const adapterMethods = adapter as unknown as Record<PropertyKey, unknown>\n\n for (const methodName of databaseMutationMethodNames) {\n const databaseMutationMethod = adapterMethods[methodName] as DatabaseMutationMethod | undefined\n\n if (\n typeof databaseMutationMethod !== 'function' ||\n databaseMutationMethod[trackedDatabaseMutationMethod]\n ) {\n continue\n }\n\n const trackedMethod: DatabaseMutationMethod = async (...args) => {\n // Mark before invoking the adapter. A rejected multi-statement mutation can have written to\n // the ambient transaction before it failed, so a caught document error must still abort it.\n markTransactionWrite({ req: args[0]?.req })\n\n return Reflect.apply(databaseMutationMethod, adapter, args)\n }\n\n Object.defineProperty(trackedMethod, trackedDatabaseMutationMethod, { value: true })\n\n if (!Reflect.set(adapterMethods, methodName, trackedMethod)) {\n throw new TypeError(`Unable to track database mutation method \"${methodName}\".`)\n }\n }\n}\n\nexport const runInTransactionMutationScope = async <Value>({\n adapter,\n callback,\n}: {\n adapter?: BaseDatabaseAdapter\n callback: (scope: TransactionMutationScope) => Promise<Value>\n}): Promise<Value> => {\n if (adapter) {\n trackDatabaseAdapterMutations({ adapter })\n }\n\n const state: TransactionMutationState = {\n hasTransactionWrite: false,\n parent: transactionMutationStorage.getStore(),\n }\n\n return transactionMutationStorage.run(state, () => callback({ state }))\n}\n\nexport const hasTransactionWrite = ({ scope }: { scope: TransactionMutationScope }): boolean =>\n scope.state.hasTransactionWrite\n\nexport const markTransactionWrite = ({\n req,\n}: {\n req: Partial<PayloadRequest> | undefined\n}): void => {\n if (!req?.transactionID) {\n return\n }\n\n let state = transactionMutationStorage.getStore()\n\n while (state) {\n state.hasTransactionWrite = true\n state = state.parent\n }\n}\n"],"names":["AsyncLocalStorage","transactionMutationStorage","trackedDatabaseMutationMethod","Symbol","databaseMutationMethodNames","trackDatabaseAdapterMutations","adapter","adapterMethods","methodName","databaseMutationMethod","trackedMethod","args","markTransactionWrite","req","Reflect","apply","Object","defineProperty","value","set","TypeError","runInTransactionMutationScope","callback","state","hasTransactionWrite","parent","getStore","run","scope","transactionID"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,mBAAkB;AAcpD,MAAMC,6BAA6B,IAAID;AAEvC,MAAME,gCAAgCC,OAAO;AAE7C,MAAMC,8BAA8B;IAClC;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;CACD;AAaD,MAAMC,gCAAgC,CAAC,EAAEC,OAAO,EAAoC;IAClF,MAAMC,iBAAiBD;IAEvB,KAAK,MAAME,cAAcJ,4BAA6B;QACpD,MAAMK,yBAAyBF,cAAc,CAACC,WAAW;QAEzD,IACE,OAAOC,2BAA2B,cAClCA,sBAAsB,CAACP,8BAA8B,EACrD;YACA;QACF;QAEA,MAAMQ,gBAAwC,OAAO,GAAGC;YACtD,4FAA4F;YAC5F,4FAA4F;YAC5FC,qBAAqB;gBAAEC,KAAKF,IAAI,CAAC,EAAE,EAAEE;YAAI;YAEzC,OAAOC,QAAQC,KAAK,CAACN,wBAAwBH,SAASK;QACxD;QAEAK,OAAOC,cAAc,CAACP,eAAeR,+BAA+B;YAAEgB,OAAO;QAAK;QAElF,IAAI,CAACJ,QAAQK,GAAG,CAACZ,gBAAgBC,YAAYE,gBAAgB;YAC3D,MAAM,IAAIU,UAAU,CAAC,0CAA0C,EAAEZ,WAAW,EAAE,CAAC;QACjF;IACF;AACF;AAEA,OAAO,MAAMa,gCAAgC,OAAc,EACzDf,OAAO,EACPgB,QAAQ,EAIT;IACC,IAAIhB,SAAS;QACXD,8BAA8B;YAAEC;QAAQ;IAC1C;IAEA,MAAMiB,QAAkC;QACtCC,qBAAqB;QACrBC,QAAQxB,2BAA2ByB,QAAQ;IAC7C;IAEA,OAAOzB,2BAA2B0B,GAAG,CAACJ,OAAO,IAAMD,SAAS;YAAEC;QAAM;AACtE,EAAC;AAED,OAAO,MAAMC,sBAAsB,CAAC,EAAEI,KAAK,EAAuC,GAChFA,MAAML,KAAK,CAACC,mBAAmB,CAAA;AAEjC,OAAO,MAAMZ,uBAAuB,CAAC,EACnCC,GAAG,EAGJ;IACC,IAAI,CAACA,KAAKgB,eAAe;QACvB;IACF;IAEA,IAAIN,QAAQtB,2BAA2ByB,QAAQ;IAE/C,MAAOH,MAAO;QACZA,MAAMC,mBAAmB,GAAG;QAC5BD,QAAQA,MAAME,MAAM;IACtB;AACF,EAAC"}