@depup/payload 3.82.0-depup.0 → 3.86.0-depup.5

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 (196) hide show
  1. package/README.md +16 -14
  2. package/bin.js +11 -0
  3. package/changes.json +26 -18
  4. package/dist/admin/fields/Row.d.ts +2 -2
  5. package/dist/admin/fields/Row.d.ts.map +1 -1
  6. package/dist/admin/fields/Row.js.map +1 -1
  7. package/dist/admin/forms/Field.d.ts +1 -3
  8. package/dist/admin/forms/Field.d.ts.map +1 -1
  9. package/dist/admin/forms/Field.js.map +1 -1
  10. package/dist/admin/views/index.d.ts +5 -1
  11. package/dist/admin/views/index.d.ts.map +1 -1
  12. package/dist/admin/views/index.js.map +1 -1
  13. package/dist/bin/generateImportMap/index.d.ts.map +1 -1
  14. package/dist/bin/generateImportMap/index.js +1 -0
  15. package/dist/bin/generateImportMap/index.js.map +1 -1
  16. package/dist/bin/generateImportMap/iterateCollections.d.ts.map +1 -1
  17. package/dist/bin/generateImportMap/iterateCollections.js +11 -0
  18. package/dist/bin/generateImportMap/iterateCollections.js.map +1 -1
  19. package/dist/bin/index.d.ts.map +1 -1
  20. package/dist/bin/index.js +3 -1
  21. package/dist/bin/index.js.map +1 -1
  22. package/dist/collections/config/sanitize.d.ts +5 -0
  23. package/dist/collections/config/sanitize.d.ts.map +1 -1
  24. package/dist/collections/config/sanitize.js +21 -0
  25. package/dist/collections/config/sanitize.js.map +1 -1
  26. package/dist/collections/config/sanitize.spec.js +120 -0
  27. package/dist/collections/config/sanitize.spec.js.map +1 -0
  28. package/dist/collections/config/types.d.ts +24 -1
  29. package/dist/collections/config/types.d.ts.map +1 -1
  30. package/dist/collections/config/types.js.map +1 -1
  31. package/dist/collections/operations/create.d.ts.map +1 -1
  32. package/dist/collections/operations/create.js +1 -0
  33. package/dist/collections/operations/create.js.map +1 -1
  34. package/dist/collections/operations/delete.d.ts.map +1 -1
  35. package/dist/collections/operations/delete.js +3 -0
  36. package/dist/collections/operations/delete.js.map +1 -1
  37. package/dist/collections/operations/restoreVersion.d.ts.map +1 -1
  38. package/dist/collections/operations/restoreVersion.js +1 -0
  39. package/dist/collections/operations/restoreVersion.js.map +1 -1
  40. package/dist/collections/operations/update.d.ts.map +1 -1
  41. package/dist/collections/operations/update.js +7 -2
  42. package/dist/collections/operations/update.js.map +1 -1
  43. package/dist/collections/operations/utilities/copyDataWithFreshRowIDs.d.ts +9 -0
  44. package/dist/collections/operations/utilities/copyDataWithFreshRowIDs.d.ts.map +1 -0
  45. package/dist/collections/operations/utilities/copyDataWithFreshRowIDs.js +170 -0
  46. package/dist/collections/operations/utilities/copyDataWithFreshRowIDs.js.map +1 -0
  47. package/dist/collections/operations/utilities/update.d.ts.map +1 -1
  48. package/dist/collections/operations/utilities/update.js +16 -8
  49. package/dist/collections/operations/utilities/update.js.map +1 -1
  50. package/dist/config/build.js +5 -4
  51. package/dist/config/build.js.map +1 -1
  52. package/dist/config/definePlugin.d.ts +41 -0
  53. package/dist/config/definePlugin.d.ts.map +1 -0
  54. package/dist/config/definePlugin.js +34 -0
  55. package/dist/config/definePlugin.js.map +1 -0
  56. package/dist/config/orderable/index.d.ts.map +1 -1
  57. package/dist/config/orderable/index.js +23 -0
  58. package/dist/config/orderable/index.js.map +1 -1
  59. package/dist/config/types.d.ts +30 -2
  60. package/dist/config/types.d.ts.map +1 -1
  61. package/dist/config/types.js.map +1 -1
  62. package/dist/email/normalizeSendEmailOptions.d.ts +13 -0
  63. package/dist/email/normalizeSendEmailOptions.d.ts.map +1 -0
  64. package/dist/email/normalizeSendEmailOptions.js +20 -0
  65. package/dist/email/normalizeSendEmailOptions.js.map +1 -0
  66. package/dist/email/types.d.ts +7 -2
  67. package/dist/email/types.d.ts.map +1 -1
  68. package/dist/email/types.js.map +1 -1
  69. package/dist/errors/APIError.d.ts +2 -1
  70. package/dist/errors/APIError.d.ts.map +1 -1
  71. package/dist/errors/APIError.js +1 -3
  72. package/dist/errors/APIError.js.map +1 -1
  73. package/dist/errors/ValidationError.d.ts +3 -1
  74. package/dist/errors/ValidationError.d.ts.map +1 -1
  75. package/dist/errors/ValidationError.js +1 -3
  76. package/dist/errors/ValidationError.js.map +1 -1
  77. package/dist/fields/config/sanitize.d.ts.map +1 -1
  78. package/dist/fields/config/sanitize.js +3 -0
  79. package/dist/fields/config/sanitize.js.map +1 -1
  80. package/dist/fields/config/sanitize.spec.js +66 -0
  81. package/dist/fields/config/sanitize.spec.js.map +1 -1
  82. package/dist/fields/config/types.d.ts +3 -2
  83. package/dist/fields/config/types.d.ts.map +1 -1
  84. package/dist/fields/config/types.js.map +1 -1
  85. package/dist/fields/hooks/beforeValidate/promise.js +2 -2
  86. package/dist/fields/hooks/beforeValidate/promise.js.map +1 -1
  87. package/dist/globals/operations/restoreVersion.d.ts.map +1 -1
  88. package/dist/globals/operations/restoreVersion.js +1 -0
  89. package/dist/globals/operations/restoreVersion.js.map +1 -1
  90. package/dist/index.bundled.d.ts +484 -115
  91. package/dist/index.d.ts +19 -1
  92. package/dist/index.d.ts.map +1 -1
  93. package/dist/index.js +16 -2
  94. package/dist/index.js.map +1 -1
  95. package/dist/queues/config/collection.d.ts.map +1 -1
  96. package/dist/queues/config/collection.js +0 -1
  97. package/dist/queues/config/collection.js.map +1 -1
  98. package/dist/queues/endpoints/run.d.ts.map +1 -1
  99. package/dist/queues/endpoints/run.js +0 -3
  100. package/dist/queues/endpoints/run.js.map +1 -1
  101. package/dist/queues/errors/calculateBackoffWaitUntil.d.ts.map +1 -1
  102. package/dist/queues/errors/calculateBackoffWaitUntil.js +5 -13
  103. package/dist/queues/errors/calculateBackoffWaitUntil.js.map +1 -1
  104. package/dist/queues/errors/handleWorkflowError.d.ts.map +1 -1
  105. package/dist/queues/errors/handleWorkflowError.js +9 -1
  106. package/dist/queues/errors/handleWorkflowError.js.map +1 -1
  107. package/dist/queues/operations/handleSchedules/countRunnableOrActiveJobsForQueue.d.ts.map +1 -1
  108. package/dist/queues/operations/handleSchedules/countRunnableOrActiveJobsForQueue.js +2 -1
  109. package/dist/queues/operations/handleSchedules/countRunnableOrActiveJobsForQueue.js.map +1 -1
  110. package/dist/queues/operations/handleSchedules/defaultAfterSchedule.js +1 -1
  111. package/dist/queues/operations/handleSchedules/defaultAfterSchedule.js.map +1 -1
  112. package/dist/queues/operations/handleSchedules/index.d.ts.map +1 -1
  113. package/dist/queues/operations/handleSchedules/index.js +4 -1
  114. package/dist/queues/operations/handleSchedules/index.js.map +1 -1
  115. package/dist/queues/operations/runJobs/index.d.ts.map +1 -1
  116. package/dist/queues/operations/runJobs/index.js +44 -26
  117. package/dist/queues/operations/runJobs/index.js.map +1 -1
  118. package/dist/queues/operations/runJobs/runJSONJob/index.d.ts.map +1 -1
  119. package/dist/queues/operations/runJobs/runJSONJob/index.js +1 -0
  120. package/dist/queues/operations/runJobs/runJSONJob/index.js.map +1 -1
  121. package/dist/queues/utilities/updateJob.d.ts.map +1 -1
  122. package/dist/queues/utilities/updateJob.js +2 -1
  123. package/dist/queues/utilities/updateJob.js.map +1 -1
  124. package/dist/types/index.d.ts +4 -6
  125. package/dist/types/index.d.ts.map +1 -1
  126. package/dist/types/index.js.map +1 -1
  127. package/dist/uploads/checkFileAccess.d.ts.map +1 -1
  128. package/dist/uploads/checkFileAccess.js +30 -9
  129. package/dist/uploads/checkFileAccess.js.map +1 -1
  130. package/dist/uploads/checkFileRestrictions.d.ts.map +1 -1
  131. package/dist/uploads/checkFileRestrictions.js +48 -8
  132. package/dist/uploads/checkFileRestrictions.js.map +1 -1
  133. package/dist/uploads/fetchAPI-multipart/isEligibleRequest.d.ts.map +1 -1
  134. package/dist/uploads/fetchAPI-multipart/isEligibleRequest.js +2 -1
  135. package/dist/uploads/fetchAPI-multipart/isEligibleRequest.js.map +1 -1
  136. package/dist/uploads/fetchAPI-multipart/isEligibleRequest.spec.js +29 -0
  137. package/dist/uploads/fetchAPI-multipart/isEligibleRequest.spec.js.map +1 -0
  138. package/dist/uploads/fetchAPI-multipart/processMultipart.d.ts.map +1 -1
  139. package/dist/uploads/fetchAPI-multipart/processMultipart.js +11 -2
  140. package/dist/uploads/fetchAPI-multipart/processMultipart.js.map +1 -1
  141. package/dist/uploads/generateFileData.d.ts +2 -1
  142. package/dist/uploads/generateFileData.d.ts.map +1 -1
  143. package/dist/uploads/generateFileData.js +5 -2
  144. package/dist/uploads/generateFileData.js.map +1 -1
  145. package/dist/uploads/getSafeFilename.d.ts +9 -4
  146. package/dist/uploads/getSafeFilename.d.ts.map +1 -1
  147. package/dist/uploads/getSafeFilename.js +5 -5
  148. package/dist/uploads/getSafeFilename.js.map +1 -1
  149. package/dist/uploads/types.d.ts +4 -0
  150. package/dist/uploads/types.d.ts.map +1 -1
  151. package/dist/uploads/types.js.map +1 -1
  152. package/dist/utilities/addDataAndFileToRequest.d.ts.map +1 -1
  153. package/dist/utilities/addDataAndFileToRequest.js +16 -3
  154. package/dist/utilities/addDataAndFileToRequest.js.map +1 -1
  155. package/dist/utilities/addDataAndFileToRequest.spec.js +41 -0
  156. package/dist/utilities/addDataAndFileToRequest.spec.js.map +1 -0
  157. package/dist/utilities/createPayloadRequest.d.ts.map +1 -1
  158. package/dist/utilities/createPayloadRequest.js +1 -0
  159. package/dist/utilities/createPayloadRequest.js.map +1 -1
  160. package/dist/utilities/filterDataToSelectedLocales.d.ts.map +1 -1
  161. package/dist/utilities/filterDataToSelectedLocales.js +74 -31
  162. package/dist/utilities/filterDataToSelectedLocales.js.map +1 -1
  163. package/dist/utilities/filterDataToSelectedLocales.spec.js +337 -0
  164. package/dist/utilities/filterDataToSelectedLocales.spec.js.map +1 -1
  165. package/dist/utilities/formatErrors.d.ts +1 -1
  166. package/dist/utilities/formatErrors.d.ts.map +1 -1
  167. package/dist/utilities/formatErrors.js +4 -7
  168. package/dist/utilities/formatErrors.js.map +1 -1
  169. package/dist/utilities/formatErrors.spec.js +101 -0
  170. package/dist/utilities/formatErrors.spec.js.map +1 -0
  171. package/dist/utilities/isURLAllowed.d.ts.map +1 -1
  172. package/dist/utilities/isURLAllowed.js +9 -3
  173. package/dist/utilities/isURLAllowed.js.map +1 -1
  174. package/dist/utilities/isURLAllowed.spec.js +78 -0
  175. package/dist/utilities/isURLAllowed.spec.js.map +1 -0
  176. package/dist/utilities/parseParams/index.d.ts +1 -1
  177. package/dist/utilities/parseParams/index.d.ts.map +1 -1
  178. package/dist/utilities/parseParams/index.js +3 -0
  179. package/dist/utilities/parseParams/index.js.map +1 -1
  180. package/dist/utilities/parseParams/index.spec.js +24 -0
  181. package/dist/utilities/parseParams/index.spec.js.map +1 -1
  182. package/dist/utilities/profiling.d.ts +12 -0
  183. package/dist/utilities/profiling.d.ts.map +1 -0
  184. package/dist/utilities/profiling.js +56 -0
  185. package/dist/utilities/profiling.js.map +1 -0
  186. package/dist/utilities/profiling.spec.js +53 -0
  187. package/dist/utilities/profiling.spec.js.map +1 -0
  188. package/dist/versions/saveVersion.js +1 -1
  189. package/dist/versions/saveVersion.js.map +1 -1
  190. package/dist/versions/schedule/job.d.ts.map +1 -1
  191. package/dist/versions/schedule/job.js +4 -1
  192. package/dist/versions/schedule/job.js.map +1 -1
  193. package/dist/versions/updateLatestVersion.d.ts.map +1 -1
  194. package/dist/versions/updateLatestVersion.js +55 -8
  195. package/dist/versions/updateLatestVersion.js.map +1 -1
  196. package/package.json +44 -37
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/globals/operations/restoreVersion.ts"],"sourcesContent":["import type { PayloadRequest, PopulateType } from '../../types/index.js'\nimport type { TypeWithVersion } from '../../versions/types.js'\nimport type { SanitizedGlobalConfig } from '../config/types.js'\n\nimport { executeAccess } from '../../auth/executeAccess.js'\nimport { NotFound } from '../../errors/index.js'\nimport { afterChange } from '../../fields/hooks/afterChange/index.js'\nimport { afterRead } from '../../fields/hooks/afterRead/index.js'\nimport { commitTransaction } from '../../utilities/commitTransaction.js'\nimport { initTransaction } from '../../utilities/initTransaction.js'\nimport { killTransaction } from '../../utilities/killTransaction.js'\n\nexport type Arguments = {\n depth?: number\n draft?: boolean\n globalConfig: SanitizedGlobalConfig\n id: number | string\n overrideAccess?: boolean\n populate?: PopulateType\n req?: PayloadRequest\n showHiddenFields?: boolean\n}\n\nexport const restoreVersionOperation = async <T extends TypeWithVersion<T> = any>(\n args: Arguments,\n): Promise<T> => {\n const { id, depth, draft, globalConfig, overrideAccess, populate, showHiddenFields } = args\n const req = args.req!\n const { fallbackLocale, locale, payload } = req\n\n try {\n const shouldCommit = await initTransaction(req)\n\n // /////////////////////////////////////\n // beforeOperation - Global\n // /////////////////////////////////////\n\n if (globalConfig.hooks?.beforeOperation?.length) {\n for (const hook of globalConfig.hooks.beforeOperation) {\n args =\n (await hook({\n args,\n context: req.context,\n global: globalConfig,\n operation: 'restoreVersion',\n overrideAccess,\n req,\n })) || args\n }\n }\n\n // /////////////////////////////////////\n // Access\n // /////////////////////////////////////\n\n if (!overrideAccess) {\n await executeAccess({ req }, globalConfig.access.update)\n }\n\n // /////////////////////////////////////\n // Retrieve original raw version\n // /////////////////////////////////////\n\n const { docs: versionDocs } = await payload.db.findGlobalVersions<any>({\n global: globalConfig.slug,\n limit: 1,\n req,\n where: { id: { equals: id } },\n })\n\n if (!versionDocs || versionDocs.length === 0) {\n throw new NotFound(req.t)\n }\n\n const rawVersion = versionDocs[0]!\n\n // Patch globalType onto version doc\n rawVersion.version.globalType = globalConfig.slug\n\n // Overwrite draft status if draft is true\n\n if (draft) {\n rawVersion.version._status = 'draft'\n }\n // /////////////////////////////////////\n // fetch previousDoc\n // /////////////////////////////////////\n\n const previousDoc = await payload.findGlobal({\n slug: globalConfig.slug,\n depth,\n req,\n })\n\n // /////////////////////////////////////\n // Update global\n // /////////////////////////////////////\n\n const global = await payload.db.findGlobal({\n slug: globalConfig.slug,\n req,\n })\n\n let result = rawVersion.version\n\n if (global) {\n // Ensure updatedAt date is always updated\n result.updatedAt = new Date().toISOString()\n result = await payload.db.updateGlobal({\n slug: globalConfig.slug,\n data: result,\n req,\n })\n\n const now = new Date().toISOString()\n\n result = await payload.db.createGlobalVersion({\n autosave: false,\n createdAt: result.createdAt ? new Date(result.createdAt).toISOString() : now,\n globalSlug: globalConfig.slug,\n req,\n updatedAt: draft ? now : new Date(result.updatedAt).toISOString(),\n versionData: result,\n })\n } else {\n result = await payload.db.createGlobal({\n slug: globalConfig.slug,\n data: result,\n req,\n })\n }\n\n // /////////////////////////////////////\n // afterRead - Fields\n // /////////////////////////////////////\n\n result = await afterRead({\n collection: null,\n context: req.context,\n depth: depth!,\n doc: result,\n draft: undefined!,\n fallbackLocale: fallbackLocale!,\n global: globalConfig,\n locale: locale!,\n overrideAccess: overrideAccess!,\n populate,\n req,\n showHiddenFields: showHiddenFields!,\n })\n\n // /////////////////////////////////////\n // afterRead - Global\n // /////////////////////////////////////\n\n if (globalConfig.hooks?.afterRead?.length) {\n for (const hook of globalConfig.hooks.afterRead) {\n result =\n (await hook({\n context: req.context,\n doc: result,\n global: globalConfig,\n overrideAccess,\n req,\n })) || result\n }\n }\n\n // /////////////////////////////////////\n // afterChange - Fields\n // /////////////////////////////////////\n\n result = await afterChange({\n collection: null,\n context: req.context,\n data: result,\n doc: result,\n global: globalConfig,\n operation: 'update',\n previousDoc,\n req,\n })\n\n // /////////////////////////////////////\n // afterChange - Global\n // /////////////////////////////////////\n\n if (globalConfig.hooks?.afterChange?.length) {\n for (const hook of globalConfig.hooks.afterChange) {\n result =\n (await hook({\n context: req.context,\n data: result,\n doc: result,\n global: globalConfig,\n overrideAccess,\n previousDoc,\n req,\n })) || result\n }\n }\n\n if (shouldCommit) {\n await commitTransaction(req)\n }\n\n return result\n } catch (error: unknown) {\n await killTransaction(req)\n throw error\n }\n}\n"],"names":["executeAccess","NotFound","afterChange","afterRead","commitTransaction","initTransaction","killTransaction","restoreVersionOperation","args","id","depth","draft","globalConfig","overrideAccess","populate","showHiddenFields","req","fallbackLocale","locale","payload","shouldCommit","hooks","beforeOperation","length","hook","context","global","operation","access","update","docs","versionDocs","db","findGlobalVersions","slug","limit","where","equals","t","rawVersion","version","globalType","_status","previousDoc","findGlobal","result","updatedAt","Date","toISOString","updateGlobal","data","now","createGlobalVersion","autosave","createdAt","globalSlug","versionData","createGlobal","collection","doc","undefined","error"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/globals/operations/restoreVersion.ts"],"sourcesContent":["import type { PayloadRequest, PopulateType } from '../../types/index.js'\nimport type { TypeWithVersion } from '../../versions/types.js'\nimport type { SanitizedGlobalConfig } from '../config/types.js'\n\nimport { executeAccess } from '../../auth/executeAccess.js'\nimport { NotFound } from '../../errors/index.js'\nimport { afterChange } from '../../fields/hooks/afterChange/index.js'\nimport { afterRead } from '../../fields/hooks/afterRead/index.js'\nimport { commitTransaction } from '../../utilities/commitTransaction.js'\nimport { initTransaction } from '../../utilities/initTransaction.js'\nimport { killTransaction } from '../../utilities/killTransaction.js'\n\nexport type Arguments = {\n depth?: number\n draft?: boolean\n globalConfig: SanitizedGlobalConfig\n id: number | string\n overrideAccess?: boolean\n populate?: PopulateType\n req?: PayloadRequest\n showHiddenFields?: boolean\n}\n\nexport const restoreVersionOperation = async <T extends TypeWithVersion<T> = any>(\n args: Arguments,\n): Promise<T> => {\n const { id, depth, draft, globalConfig, overrideAccess, populate, showHiddenFields } = args\n const req = args.req!\n const { fallbackLocale, locale, payload } = req\n\n try {\n const shouldCommit = await initTransaction(req)\n\n // /////////////////////////////////////\n // beforeOperation - Global\n // /////////////////////////////////////\n\n if (globalConfig.hooks?.beforeOperation?.length) {\n for (const hook of globalConfig.hooks.beforeOperation) {\n args =\n (await hook({\n args,\n context: req.context,\n global: globalConfig,\n operation: 'restoreVersion',\n overrideAccess,\n req,\n })) || args\n }\n }\n\n // /////////////////////////////////////\n // Access\n // /////////////////////////////////////\n\n if (!overrideAccess) {\n await executeAccess({ req }, globalConfig.access.update)\n }\n\n // /////////////////////////////////////\n // Retrieve original raw version\n // /////////////////////////////////////\n\n const { docs: versionDocs } = await payload.db.findGlobalVersions<any>({\n global: globalConfig.slug,\n limit: 1,\n req,\n where: { id: { equals: id } },\n })\n\n if (!versionDocs || versionDocs.length === 0) {\n throw new NotFound(req.t)\n }\n\n const rawVersion = versionDocs[0]!\n\n // Patch globalType onto version doc\n rawVersion.version.globalType = globalConfig.slug\n\n // Overwrite draft status if draft is true\n\n if (draft) {\n rawVersion.version._status = 'draft'\n }\n // /////////////////////////////////////\n // fetch previousDoc\n // /////////////////////////////////////\n\n const previousDoc = await payload.findGlobal({\n slug: globalConfig.slug,\n depth,\n req,\n })\n\n req.context.isRestoringVersion = true\n\n // /////////////////////////////////////\n // Update global\n // /////////////////////////////////////\n\n const global = await payload.db.findGlobal({\n slug: globalConfig.slug,\n req,\n })\n\n let result = rawVersion.version\n\n if (global) {\n // Ensure updatedAt date is always updated\n result.updatedAt = new Date().toISOString()\n result = await payload.db.updateGlobal({\n slug: globalConfig.slug,\n data: result,\n req,\n })\n\n const now = new Date().toISOString()\n\n result = await payload.db.createGlobalVersion({\n autosave: false,\n createdAt: result.createdAt ? new Date(result.createdAt).toISOString() : now,\n globalSlug: globalConfig.slug,\n req,\n updatedAt: draft ? now : new Date(result.updatedAt).toISOString(),\n versionData: result,\n })\n } else {\n result = await payload.db.createGlobal({\n slug: globalConfig.slug,\n data: result,\n req,\n })\n }\n\n // /////////////////////////////////////\n // afterRead - Fields\n // /////////////////////////////////////\n\n result = await afterRead({\n collection: null,\n context: req.context,\n depth: depth!,\n doc: result,\n draft: undefined!,\n fallbackLocale: fallbackLocale!,\n global: globalConfig,\n locale: locale!,\n overrideAccess: overrideAccess!,\n populate,\n req,\n showHiddenFields: showHiddenFields!,\n })\n\n // /////////////////////////////////////\n // afterRead - Global\n // /////////////////////////////////////\n\n if (globalConfig.hooks?.afterRead?.length) {\n for (const hook of globalConfig.hooks.afterRead) {\n result =\n (await hook({\n context: req.context,\n doc: result,\n global: globalConfig,\n overrideAccess,\n req,\n })) || result\n }\n }\n\n // /////////////////////////////////////\n // afterChange - Fields\n // /////////////////////////////////////\n\n result = await afterChange({\n collection: null,\n context: req.context,\n data: result,\n doc: result,\n global: globalConfig,\n operation: 'update',\n previousDoc,\n req,\n })\n\n // /////////////////////////////////////\n // afterChange - Global\n // /////////////////////////////////////\n\n if (globalConfig.hooks?.afterChange?.length) {\n for (const hook of globalConfig.hooks.afterChange) {\n result =\n (await hook({\n context: req.context,\n data: result,\n doc: result,\n global: globalConfig,\n overrideAccess,\n previousDoc,\n req,\n })) || result\n }\n }\n\n if (shouldCommit) {\n await commitTransaction(req)\n }\n\n return result\n } catch (error: unknown) {\n await killTransaction(req)\n throw error\n }\n}\n"],"names":["executeAccess","NotFound","afterChange","afterRead","commitTransaction","initTransaction","killTransaction","restoreVersionOperation","args","id","depth","draft","globalConfig","overrideAccess","populate","showHiddenFields","req","fallbackLocale","locale","payload","shouldCommit","hooks","beforeOperation","length","hook","context","global","operation","access","update","docs","versionDocs","db","findGlobalVersions","slug","limit","where","equals","t","rawVersion","version","globalType","_status","previousDoc","findGlobal","isRestoringVersion","result","updatedAt","Date","toISOString","updateGlobal","data","now","createGlobalVersion","autosave","createdAt","globalSlug","versionData","createGlobal","collection","doc","undefined","error"],"mappings":"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"}