payload 3.0.0-beta.95 → 3.0.0-beta.97

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 (320) hide show
  1. package/dist/admin/RichText.d.ts +4 -3
  2. package/dist/admin/RichText.d.ts.map +1 -1
  3. package/dist/admin/RichText.js.map +1 -1
  4. package/dist/admin/elements/Tab.d.ts +1 -1
  5. package/dist/admin/elements/Tab.d.ts.map +1 -1
  6. package/dist/admin/elements/Tab.js.map +1 -1
  7. package/dist/admin/forms/Description.d.ts +1 -1
  8. package/dist/admin/forms/Description.d.ts.map +1 -1
  9. package/dist/admin/forms/Description.js.map +1 -1
  10. package/dist/admin/forms/Error.d.ts +1 -1
  11. package/dist/admin/forms/Error.d.ts.map +1 -1
  12. package/dist/admin/forms/Error.js.map +1 -1
  13. package/dist/admin/forms/Form.d.ts +1 -1
  14. package/dist/admin/forms/Form.d.ts.map +1 -1
  15. package/dist/admin/forms/Form.js.map +1 -1
  16. package/dist/admin/forms/Label.d.ts +1 -1
  17. package/dist/admin/forms/Label.d.ts.map +1 -1
  18. package/dist/admin/forms/Label.js.map +1 -1
  19. package/dist/admin/types.d.ts +5 -5
  20. package/dist/admin/types.d.ts.map +1 -1
  21. package/dist/admin/types.js.map +1 -1
  22. package/dist/admin/views/types.d.ts +1 -1
  23. package/dist/admin/views/types.d.ts.map +1 -1
  24. package/dist/admin/views/types.js.map +1 -1
  25. package/dist/auth/executeAccess.d.ts.map +1 -1
  26. package/dist/auth/executeAccess.js +6 -2
  27. package/dist/auth/executeAccess.js.map +1 -1
  28. package/dist/auth/getAuthFields.d.ts.map +1 -1
  29. package/dist/auth/getAuthFields.js +3 -1
  30. package/dist/auth/getAuthFields.js.map +1 -1
  31. package/dist/auth/isLocked.d.ts.map +1 -1
  32. package/dist/auth/isLocked.js +3 -1
  33. package/dist/auth/isLocked.js.map +1 -1
  34. package/dist/auth/operations/auth.d.ts +1 -1
  35. package/dist/auth/operations/auth.d.ts.map +1 -1
  36. package/dist/auth/operations/auth.js +3 -1
  37. package/dist/auth/operations/auth.js.map +1 -1
  38. package/dist/auth/operations/forgotPassword.d.ts.map +1 -1
  39. package/dist/auth/operations/forgotPassword.js +6 -2
  40. package/dist/auth/operations/forgotPassword.js.map +1 -1
  41. package/dist/auth/operations/login.d.ts.map +1 -1
  42. package/dist/auth/operations/login.js +6 -2
  43. package/dist/auth/operations/login.js.map +1 -1
  44. package/dist/auth/operations/logout.d.ts.map +1 -1
  45. package/dist/auth/operations/logout.js +6 -2
  46. package/dist/auth/operations/logout.js.map +1 -1
  47. package/dist/auth/operations/me.d.ts.map +1 -1
  48. package/dist/auth/operations/me.js +6 -2
  49. package/dist/auth/operations/me.js.map +1 -1
  50. package/dist/auth/operations/refresh.d.ts.map +1 -1
  51. package/dist/auth/operations/refresh.js +6 -2
  52. package/dist/auth/operations/refresh.js.map +1 -1
  53. package/dist/auth/operations/registerFirstUser.d.ts.map +1 -1
  54. package/dist/auth/operations/registerFirstUser.js +6 -2
  55. package/dist/auth/operations/registerFirstUser.js.map +1 -1
  56. package/dist/auth/operations/resetPassword.d.ts.map +1 -1
  57. package/dist/auth/operations/resetPassword.js +6 -2
  58. package/dist/auth/operations/resetPassword.js.map +1 -1
  59. package/dist/auth/operations/unlock.d.ts.map +1 -1
  60. package/dist/auth/operations/unlock.js +3 -1
  61. package/dist/auth/operations/unlock.js.map +1 -1
  62. package/dist/auth/operations/verifyEmail.d.ts.map +1 -1
  63. package/dist/auth/operations/verifyEmail.js +9 -3
  64. package/dist/auth/operations/verifyEmail.js.map +1 -1
  65. package/dist/auth/strategies/jwt.js.map +1 -1
  66. package/dist/auth/strategies/local/authenticate.d.ts.map +1 -1
  67. package/dist/auth/strategies/local/authenticate.js +3 -1
  68. package/dist/auth/strategies/local/authenticate.js.map +1 -1
  69. package/dist/auth/strategies/local/register.d.ts.map +1 -1
  70. package/dist/auth/strategies/local/register.js +3 -1
  71. package/dist/auth/strategies/local/register.js.map +1 -1
  72. package/dist/auth/strategies/local/resetLoginAttempts.d.ts.map +1 -1
  73. package/dist/auth/strategies/local/resetLoginAttempts.js +3 -1
  74. package/dist/auth/strategies/local/resetLoginAttempts.js.map +1 -1
  75. package/dist/auth/types.d.ts +5 -5
  76. package/dist/auth/types.d.ts.map +1 -1
  77. package/dist/auth/types.js.map +1 -1
  78. package/dist/bin/generateImportMap/iterateFields.js.map +1 -1
  79. package/dist/bin/generateTypes.d.ts.map +1 -1
  80. package/dist/bin/generateTypes.js +7 -3
  81. package/dist/bin/generateTypes.js.map +1 -1
  82. package/dist/bin/index.d.ts.map +1 -1
  83. package/dist/bin/index.js +3 -1
  84. package/dist/bin/index.js.map +1 -1
  85. package/dist/collections/config/client.d.ts +2 -2
  86. package/dist/collections/config/client.d.ts.map +1 -1
  87. package/dist/collections/config/client.js.map +1 -1
  88. package/dist/collections/config/reservedFieldNames.spec.js +4 -4
  89. package/dist/collections/config/reservedFieldNames.spec.js.map +1 -1
  90. package/dist/collections/config/sanitize.d.ts.map +1 -1
  91. package/dist/collections/config/sanitize.js +15 -6
  92. package/dist/collections/config/sanitize.js.map +1 -1
  93. package/dist/collections/config/types.d.ts +9 -9
  94. package/dist/collections/config/types.d.ts.map +1 -1
  95. package/dist/collections/config/types.js.map +1 -1
  96. package/dist/collections/dataloader.d.ts +1 -1
  97. package/dist/collections/dataloader.d.ts.map +1 -1
  98. package/dist/collections/dataloader.js +3 -1
  99. package/dist/collections/dataloader.js.map +1 -1
  100. package/dist/collections/operations/create.d.ts.map +1 -1
  101. package/dist/collections/operations/create.js +3 -1
  102. package/dist/collections/operations/create.js.map +1 -1
  103. package/dist/collections/operations/delete.d.ts.map +1 -1
  104. package/dist/collections/operations/delete.js +3 -1
  105. package/dist/collections/operations/delete.js.map +1 -1
  106. package/dist/collections/operations/deleteByID.d.ts.map +1 -1
  107. package/dist/collections/operations/deleteByID.js +9 -3
  108. package/dist/collections/operations/deleteByID.js.map +1 -1
  109. package/dist/collections/operations/duplicate.d.ts.map +1 -1
  110. package/dist/collections/operations/duplicate.js +9 -3
  111. package/dist/collections/operations/duplicate.js.map +1 -1
  112. package/dist/collections/operations/findByID.d.ts.map +1 -1
  113. package/dist/collections/operations/findByID.js +6 -2
  114. package/dist/collections/operations/findByID.js.map +1 -1
  115. package/dist/collections/operations/findVersionByID.d.ts.map +1 -1
  116. package/dist/collections/operations/findVersionByID.js +9 -3
  117. package/dist/collections/operations/findVersionByID.js.map +1 -1
  118. package/dist/collections/operations/restoreVersion.d.ts.map +1 -1
  119. package/dist/collections/operations/restoreVersion.js +6 -2
  120. package/dist/collections/operations/restoreVersion.js.map +1 -1
  121. package/dist/collections/operations/update.d.ts.map +1 -1
  122. package/dist/collections/operations/update.js +3 -1
  123. package/dist/collections/operations/update.js.map +1 -1
  124. package/dist/collections/operations/updateByID.d.ts.map +1 -1
  125. package/dist/collections/operations/updateByID.js +9 -3
  126. package/dist/collections/operations/updateByID.js.map +1 -1
  127. package/dist/collections/operations/utils.d.ts +1 -1
  128. package/dist/collections/operations/utils.d.ts.map +1 -1
  129. package/dist/collections/operations/utils.js.map +1 -1
  130. package/dist/config/client.d.ts +2 -2
  131. package/dist/config/client.d.ts.map +1 -1
  132. package/dist/config/client.js.map +1 -1
  133. package/dist/config/find.d.ts.map +1 -1
  134. package/dist/config/find.js +9 -3
  135. package/dist/config/find.js.map +1 -1
  136. package/dist/config/sanitize.d.ts.map +1 -1
  137. package/dist/config/sanitize.js +10 -5
  138. package/dist/config/sanitize.js.map +1 -1
  139. package/dist/config/types.d.ts +164 -35
  140. package/dist/config/types.d.ts.map +1 -1
  141. package/dist/config/types.js.map +1 -1
  142. package/dist/database/combineQueries.d.ts +1 -1
  143. package/dist/database/combineQueries.d.ts.map +1 -1
  144. package/dist/database/combineQueries.js +9 -3
  145. package/dist/database/combineQueries.js.map +1 -1
  146. package/dist/database/getLocalizedPaths.d.ts.map +1 -1
  147. package/dist/database/getLocalizedPaths.js +3 -1
  148. package/dist/database/getLocalizedPaths.js.map +1 -1
  149. package/dist/database/migrations/readMigrationFiles.d.ts.map +1 -1
  150. package/dist/database/migrations/readMigrationFiles.js +3 -1
  151. package/dist/database/migrations/readMigrationFiles.js.map +1 -1
  152. package/dist/database/types.d.ts +3 -3
  153. package/dist/database/types.d.ts.map +1 -1
  154. package/dist/database/types.js.map +1 -1
  155. package/dist/fields/config/sanitize.d.ts +2 -1
  156. package/dist/fields/config/sanitize.d.ts.map +1 -1
  157. package/dist/fields/config/sanitize.js +28 -8
  158. package/dist/fields/config/sanitize.js.map +1 -1
  159. package/dist/fields/config/types.d.ts +56 -56
  160. package/dist/fields/config/types.d.ts.map +1 -1
  161. package/dist/fields/config/types.js.map +1 -1
  162. package/dist/fields/hooks/afterChange/index.d.ts +2 -2
  163. package/dist/fields/hooks/afterChange/index.d.ts.map +1 -1
  164. package/dist/fields/hooks/afterChange/index.js.map +1 -1
  165. package/dist/fields/hooks/afterChange/promise.d.ts +2 -2
  166. package/dist/fields/hooks/afterChange/promise.d.ts.map +1 -1
  167. package/dist/fields/hooks/afterChange/promise.js.map +1 -1
  168. package/dist/fields/hooks/afterChange/traverseFields.d.ts +2 -2
  169. package/dist/fields/hooks/afterChange/traverseFields.d.ts.map +1 -1
  170. package/dist/fields/hooks/afterChange/traverseFields.js.map +1 -1
  171. package/dist/fields/hooks/afterRead/index.d.ts +2 -2
  172. package/dist/fields/hooks/afterRead/index.d.ts.map +1 -1
  173. package/dist/fields/hooks/afterRead/index.js +3 -1
  174. package/dist/fields/hooks/afterRead/index.js.map +1 -1
  175. package/dist/fields/hooks/afterRead/promise.d.ts +2 -2
  176. package/dist/fields/hooks/afterRead/promise.d.ts.map +1 -1
  177. package/dist/fields/hooks/afterRead/promise.js +6 -2
  178. package/dist/fields/hooks/afterRead/promise.js.map +1 -1
  179. package/dist/fields/hooks/afterRead/traverseFields.d.ts +2 -2
  180. package/dist/fields/hooks/afterRead/traverseFields.d.ts.map +1 -1
  181. package/dist/fields/hooks/afterRead/traverseFields.js.map +1 -1
  182. package/dist/fields/hooks/beforeChange/getExistingRowDoc.d.ts.map +1 -1
  183. package/dist/fields/hooks/beforeChange/getExistingRowDoc.js +6 -2
  184. package/dist/fields/hooks/beforeChange/getExistingRowDoc.js.map +1 -1
  185. package/dist/fields/hooks/beforeChange/index.d.ts +2 -2
  186. package/dist/fields/hooks/beforeChange/index.d.ts.map +1 -1
  187. package/dist/fields/hooks/beforeChange/index.js.map +1 -1
  188. package/dist/fields/hooks/beforeChange/promise.d.ts +2 -2
  189. package/dist/fields/hooks/beforeChange/promise.d.ts.map +1 -1
  190. package/dist/fields/hooks/beforeChange/promise.js +18 -6
  191. package/dist/fields/hooks/beforeChange/promise.js.map +1 -1
  192. package/dist/fields/hooks/beforeChange/traverseFields.d.ts +2 -2
  193. package/dist/fields/hooks/beforeChange/traverseFields.d.ts.map +1 -1
  194. package/dist/fields/hooks/beforeChange/traverseFields.js.map +1 -1
  195. package/dist/fields/hooks/beforeValidate/index.d.ts +2 -2
  196. package/dist/fields/hooks/beforeValidate/index.d.ts.map +1 -1
  197. package/dist/fields/hooks/beforeValidate/index.js.map +1 -1
  198. package/dist/fields/hooks/beforeValidate/promise.d.ts +2 -2
  199. package/dist/fields/hooks/beforeValidate/promise.d.ts.map +1 -1
  200. package/dist/fields/hooks/beforeValidate/promise.js +21 -7
  201. package/dist/fields/hooks/beforeValidate/promise.js.map +1 -1
  202. package/dist/fields/hooks/beforeValidate/traverseFields.d.ts +2 -2
  203. package/dist/fields/hooks/beforeValidate/traverseFields.d.ts.map +1 -1
  204. package/dist/fields/hooks/beforeValidate/traverseFields.js.map +1 -1
  205. package/dist/fields/validations.d.ts +1 -1
  206. package/dist/fields/validations.d.ts.map +1 -1
  207. package/dist/fields/validations.js +57 -19
  208. package/dist/fields/validations.js.map +1 -1
  209. package/dist/globals/config/sanitize.d.ts.map +1 -1
  210. package/dist/globals/config/sanitize.js +45 -16
  211. package/dist/globals/config/sanitize.js.map +1 -1
  212. package/dist/globals/config/types.d.ts +2 -2
  213. package/dist/globals/config/types.d.ts.map +1 -1
  214. package/dist/globals/config/types.js.map +1 -1
  215. package/dist/globals/operations/docAccess.d.ts.map +1 -1
  216. package/dist/globals/operations/docAccess.js +3 -1
  217. package/dist/globals/operations/docAccess.js.map +1 -1
  218. package/dist/globals/operations/findVersionByID.d.ts.map +1 -1
  219. package/dist/globals/operations/findVersionByID.js +12 -4
  220. package/dist/globals/operations/findVersionByID.js.map +1 -1
  221. package/dist/globals/operations/restoreVersion.d.ts.map +1 -1
  222. package/dist/globals/operations/restoreVersion.js +3 -1
  223. package/dist/globals/operations/restoreVersion.js.map +1 -1
  224. package/dist/globals/operations/update.d.ts.map +1 -1
  225. package/dist/globals/operations/update.js +3 -1
  226. package/dist/globals/operations/update.js.map +1 -1
  227. package/dist/index.d.ts +7 -7
  228. package/dist/index.d.ts.map +1 -1
  229. package/dist/index.js +13 -7
  230. package/dist/index.js.map +1 -1
  231. package/dist/preferences/operations/findOne.d.ts.map +1 -1
  232. package/dist/preferences/operations/findOne.js +3 -1
  233. package/dist/preferences/operations/findOne.js.map +1 -1
  234. package/dist/types/index.d.ts +3 -3
  235. package/dist/types/index.d.ts.map +1 -1
  236. package/dist/types/index.js.map +1 -1
  237. package/dist/uploads/cropImage.d.ts.map +1 -1
  238. package/dist/uploads/cropImage.js +3 -1
  239. package/dist/uploads/cropImage.js.map +1 -1
  240. package/dist/uploads/deleteAssociatedFiles.d.ts.map +1 -1
  241. package/dist/uploads/deleteAssociatedFiles.js +3 -1
  242. package/dist/uploads/deleteAssociatedFiles.js.map +1 -1
  243. package/dist/uploads/docWithFilenameExists.d.ts.map +1 -1
  244. package/dist/uploads/docWithFilenameExists.js +3 -1
  245. package/dist/uploads/docWithFilenameExists.js.map +1 -1
  246. package/dist/uploads/formatFilesize.d.ts.map +1 -1
  247. package/dist/uploads/formatFilesize.js +3 -1
  248. package/dist/uploads/formatFilesize.js.map +1 -1
  249. package/dist/uploads/generateFileData.d.ts.map +1 -1
  250. package/dist/uploads/generateFileData.js +12 -4
  251. package/dist/uploads/generateFileData.js.map +1 -1
  252. package/dist/uploads/getBaseFields.d.ts.map +1 -1
  253. package/dist/uploads/getBaseFields.js +6 -2
  254. package/dist/uploads/getBaseFields.js.map +1 -1
  255. package/dist/uploads/getExternalFile.d.ts.map +1 -1
  256. package/dist/uploads/getExternalFile.js +3 -1
  257. package/dist/uploads/getExternalFile.js.map +1 -1
  258. package/dist/uploads/imageResizer.d.ts.map +1 -1
  259. package/dist/uploads/imageResizer.js +35 -13
  260. package/dist/uploads/imageResizer.js.map +1 -1
  261. package/dist/uploads/optionallyAppendMetadata.d.ts.map +1 -1
  262. package/dist/uploads/optionallyAppendMetadata.js +3 -1
  263. package/dist/uploads/optionallyAppendMetadata.js.map +1 -1
  264. package/dist/utilities/configToJSONSchema.d.ts.map +1 -1
  265. package/dist/utilities/configToJSONSchema.js +12 -4
  266. package/dist/utilities/configToJSONSchema.js.map +1 -1
  267. package/dist/utilities/createArrayFromCommaDelineated.d.ts.map +1 -1
  268. package/dist/utilities/createArrayFromCommaDelineated.js +3 -1
  269. package/dist/utilities/createArrayFromCommaDelineated.js.map +1 -1
  270. package/dist/utilities/createLocalReq.d.ts.map +1 -1
  271. package/dist/utilities/createLocalReq.js +28 -12
  272. package/dist/utilities/createLocalReq.js.map +1 -1
  273. package/dist/utilities/deepCopyObject.d.ts.map +1 -1
  274. package/dist/utilities/deepCopyObject.js +15 -5
  275. package/dist/utilities/deepCopyObject.js.map +1 -1
  276. package/dist/utilities/dependencies/versionUtils.d.ts.map +1 -1
  277. package/dist/utilities/dependencies/versionUtils.js +24 -8
  278. package/dist/utilities/dependencies/versionUtils.js.map +1 -1
  279. package/dist/utilities/getEntityPolicies.d.ts.map +1 -1
  280. package/dist/utilities/getEntityPolicies.js +9 -3
  281. package/dist/utilities/getEntityPolicies.js.map +1 -1
  282. package/dist/utilities/getObjectDotNotation.d.ts.map +1 -1
  283. package/dist/utilities/getObjectDotNotation.js +3 -1
  284. package/dist/utilities/getObjectDotNotation.js.map +1 -1
  285. package/dist/utilities/getSiblingData.d.ts.map +1 -1
  286. package/dist/utilities/getSiblingData.js +3 -1
  287. package/dist/utilities/getSiblingData.js.map +1 -1
  288. package/dist/utilities/isReactComponent.d.ts +3 -3
  289. package/dist/utilities/isReactComponent.d.ts.map +1 -1
  290. package/dist/utilities/isReactComponent.js.map +1 -1
  291. package/dist/utilities/isValidID.d.ts +1 -1
  292. package/dist/utilities/isValidID.d.ts.map +1 -1
  293. package/dist/utilities/isValidID.js +3 -1
  294. package/dist/utilities/isValidID.js.map +1 -1
  295. package/dist/utilities/logger.d.ts +8 -3
  296. package/dist/utilities/logger.d.ts.map +1 -1
  297. package/dist/utilities/logger.js +22 -14
  298. package/dist/utilities/logger.js.map +1 -1
  299. package/dist/utilities/reduceFieldsToValues.d.ts.map +1 -1
  300. package/dist/utilities/reduceFieldsToValues.js +3 -1
  301. package/dist/utilities/reduceFieldsToValues.js.map +1 -1
  302. package/dist/utilities/telemetry/conf/index.d.ts +1 -1
  303. package/dist/utilities/telemetry/conf/index.d.ts.map +1 -1
  304. package/dist/utilities/telemetry/conf/index.js +8 -8
  305. package/dist/utilities/telemetry/conf/index.js.map +1 -1
  306. package/dist/utilities/timestamp.d.ts.map +1 -1
  307. package/dist/utilities/timestamp.js +3 -1
  308. package/dist/utilities/timestamp.js.map +1 -1
  309. package/dist/versions/drafts/appendVersionToQueryKey.js +1 -1
  310. package/dist/versions/drafts/appendVersionToQueryKey.js.map +1 -1
  311. package/dist/versions/drafts/getQueryDraftsSort.d.ts.map +1 -1
  312. package/dist/versions/drafts/getQueryDraftsSort.js +3 -1
  313. package/dist/versions/drafts/getQueryDraftsSort.js.map +1 -1
  314. package/dist/versions/saveVersion.d.ts.map +1 -1
  315. package/dist/versions/saveVersion.js +18 -6
  316. package/dist/versions/saveVersion.js.map +1 -1
  317. package/dist/versions/types.d.ts +4 -4
  318. package/dist/versions/types.d.ts.map +1 -1
  319. package/dist/versions/types.js.map +1 -1
  320. package/package.json +7 -8
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/collections/operations/delete.ts"],"sourcesContent":["import httpStatus from 'http-status'\n\nimport type { AccessResult } from '../../config/types.js'\nimport type { CollectionSlug } from '../../index.js'\nimport type { PayloadRequest, Where } from '../../types/index.js'\nimport type { BeforeOperationHook, Collection, DataFromCollectionSlug } from '../config/types.js'\n\nimport executeAccess from '../../auth/executeAccess.js'\nimport { combineQueries } from '../../database/combineQueries.js'\nimport { validateQueryPaths } from '../../database/queryValidation/validateQueryPaths.js'\nimport { APIError } from '../../errors/index.js'\nimport { afterRead } from '../../fields/hooks/afterRead/index.js'\nimport { deleteUserPreferences } from '../../preferences/deleteUserPreferences.js'\nimport { deleteAssociatedFiles } from '../../uploads/deleteAssociatedFiles.js'\nimport { commitTransaction } from '../../utilities/commitTransaction.js'\nimport { initTransaction } from '../../utilities/initTransaction.js'\nimport { killTransaction } from '../../utilities/killTransaction.js'\nimport { deleteCollectionVersions } from '../../versions/deleteCollectionVersions.js'\nimport { buildAfterOperation } from './utils.js'\n\nexport type Arguments = {\n collection: Collection\n depth?: number\n overrideAccess?: boolean\n req: PayloadRequest\n showHiddenFields?: boolean\n where: Where\n}\n\nexport const deleteOperation = async <TSlug extends CollectionSlug>(\n incomingArgs: Arguments,\n): Promise<{\n docs: DataFromCollectionSlug<TSlug>[]\n errors: {\n id: DataFromCollectionSlug<TSlug>['id']\n message: string\n }[]\n}> => {\n let args = incomingArgs\n\n try {\n const shouldCommit = await initTransaction(args.req)\n // /////////////////////////////////////\n // beforeOperation - Collection\n // /////////////////////////////////////\n\n await args.collection.config.hooks.beforeOperation.reduce(\n async (priorHook: BeforeOperationHook | Promise<void>, hook: BeforeOperationHook) => {\n await priorHook\n\n args =\n (await hook({\n args,\n collection: args.collection.config,\n context: args.req.context,\n operation: 'delete',\n req: args.req,\n })) || args\n },\n Promise.resolve(),\n )\n\n const {\n collection: { config: collectionConfig },\n depth,\n overrideAccess,\n req: {\n fallbackLocale,\n locale,\n payload: { config },\n payload,\n },\n req,\n showHiddenFields,\n where,\n } = args\n\n if (!where) {\n throw new APIError(\"Missing 'where' query of documents to delete.\", httpStatus.BAD_REQUEST)\n }\n\n // /////////////////////////////////////\n // Access\n // /////////////////////////////////////\n\n let accessResult: AccessResult\n\n if (!overrideAccess) {\n accessResult = await executeAccess({ req }, collectionConfig.access.delete)\n }\n\n await validateQueryPaths({\n collectionConfig,\n overrideAccess,\n req,\n where,\n })\n\n const fullWhere = combineQueries(where, accessResult)\n\n // /////////////////////////////////////\n // Retrieve documents\n // /////////////////////////////////////\n\n const { docs } = await payload.db.find<DataFromCollectionSlug<TSlug>>({\n collection: collectionConfig.slug,\n locale,\n req,\n where: fullWhere,\n })\n\n const errors = []\n\n const promises = docs.map(async (doc) => {\n let result\n\n const { id } = doc\n\n try {\n // /////////////////////////////////////\n // beforeDelete - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.beforeDelete.reduce(async (priorHook, hook) => {\n await priorHook\n\n return hook({\n id,\n collection: collectionConfig,\n context: req.context,\n req,\n })\n }, Promise.resolve())\n\n await deleteAssociatedFiles({\n collectionConfig,\n config,\n doc,\n overrideDelete: true,\n req,\n })\n\n // /////////////////////////////////////\n // Delete versions\n // /////////////////////////////////////\n\n if (collectionConfig.versions) {\n await deleteCollectionVersions({\n id,\n slug: collectionConfig.slug,\n payload,\n req,\n })\n }\n\n // /////////////////////////////////////\n // Delete document\n // /////////////////////////////////////\n\n await payload.db.deleteOne({\n collection: collectionConfig.slug,\n req,\n where: {\n id: {\n equals: id,\n },\n },\n })\n\n // /////////////////////////////////////\n // afterRead - Fields\n // /////////////////////////////////////\n\n result = await afterRead({\n collection: collectionConfig,\n context: req.context,\n depth,\n doc: result || doc,\n draft: undefined,\n fallbackLocale,\n global: null,\n locale,\n overrideAccess,\n req,\n showHiddenFields,\n })\n\n // /////////////////////////////////////\n // afterRead - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.afterRead.reduce(async (priorHook, hook) => {\n await priorHook\n\n result =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n doc: result || doc,\n req,\n })) || result\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // afterDelete - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.afterDelete.reduce(async (priorHook, hook) => {\n await priorHook\n\n result =\n (await hook({\n id,\n collection: collectionConfig,\n context: req.context,\n doc: result,\n req,\n })) || result\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // 8. Return results\n // /////////////////////////////////////\n\n return result\n } catch (error) {\n errors.push({\n id: doc.id,\n message: error.message,\n })\n }\n return null\n })\n\n const awaitedDocs = await Promise.all(promises)\n\n // /////////////////////////////////////\n // Delete Preferences\n // /////////////////////////////////////\n\n await deleteUserPreferences({\n collectionConfig,\n ids: docs.map(({ id }) => id),\n payload,\n req,\n })\n\n let result = {\n docs: awaitedDocs.filter(Boolean),\n errors,\n }\n\n // /////////////////////////////////////\n // afterOperation - Collection\n // /////////////////////////////////////\n\n result = await buildAfterOperation({\n args,\n collection: collectionConfig,\n operation: 'delete',\n result,\n })\n\n if (shouldCommit) await commitTransaction(req)\n\n return result\n } catch (error: unknown) {\n await killTransaction(args.req)\n throw error\n }\n}\n"],"names":["httpStatus","executeAccess","combineQueries","validateQueryPaths","APIError","afterRead","deleteUserPreferences","deleteAssociatedFiles","commitTransaction","initTransaction","killTransaction","deleteCollectionVersions","buildAfterOperation","deleteOperation","incomingArgs","args","shouldCommit","req","collection","config","hooks","beforeOperation","reduce","priorHook","hook","context","operation","Promise","resolve","collectionConfig","depth","overrideAccess","fallbackLocale","locale","payload","showHiddenFields","where","BAD_REQUEST","accessResult","access","delete","fullWhere","docs","db","find","slug","errors","promises","map","doc","result","id","beforeDelete","overrideDelete","versions","deleteOne","equals","draft","undefined","global","afterDelete","error","push","message","awaitedDocs","all","ids","filter","Boolean"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/collections/operations/delete.ts"],"sourcesContent":["import httpStatus from 'http-status'\n\nimport type { AccessResult } from '../../config/types.js'\nimport type { CollectionSlug } from '../../index.js'\nimport type { PayloadRequest, Where } from '../../types/index.js'\nimport type { BeforeOperationHook, Collection, DataFromCollectionSlug } from '../config/types.js'\n\nimport executeAccess from '../../auth/executeAccess.js'\nimport { combineQueries } from '../../database/combineQueries.js'\nimport { validateQueryPaths } from '../../database/queryValidation/validateQueryPaths.js'\nimport { APIError } from '../../errors/index.js'\nimport { afterRead } from '../../fields/hooks/afterRead/index.js'\nimport { deleteUserPreferences } from '../../preferences/deleteUserPreferences.js'\nimport { deleteAssociatedFiles } from '../../uploads/deleteAssociatedFiles.js'\nimport { commitTransaction } from '../../utilities/commitTransaction.js'\nimport { initTransaction } from '../../utilities/initTransaction.js'\nimport { killTransaction } from '../../utilities/killTransaction.js'\nimport { deleteCollectionVersions } from '../../versions/deleteCollectionVersions.js'\nimport { buildAfterOperation } from './utils.js'\n\nexport type Arguments = {\n collection: Collection\n depth?: number\n overrideAccess?: boolean\n req: PayloadRequest\n showHiddenFields?: boolean\n where: Where\n}\n\nexport const deleteOperation = async <TSlug extends CollectionSlug>(\n incomingArgs: Arguments,\n): Promise<{\n docs: DataFromCollectionSlug<TSlug>[]\n errors: {\n id: DataFromCollectionSlug<TSlug>['id']\n message: string\n }[]\n}> => {\n let args = incomingArgs\n\n try {\n const shouldCommit = await initTransaction(args.req)\n // /////////////////////////////////////\n // beforeOperation - Collection\n // /////////////////////////////////////\n\n await args.collection.config.hooks.beforeOperation.reduce(\n async (priorHook: BeforeOperationHook | Promise<void>, hook: BeforeOperationHook) => {\n await priorHook\n\n args =\n (await hook({\n args,\n collection: args.collection.config,\n context: args.req.context,\n operation: 'delete',\n req: args.req,\n })) || args\n },\n Promise.resolve(),\n )\n\n const {\n collection: { config: collectionConfig },\n depth,\n overrideAccess,\n req: {\n fallbackLocale,\n locale,\n payload: { config },\n payload,\n },\n req,\n showHiddenFields,\n where,\n } = args\n\n if (!where) {\n throw new APIError(\"Missing 'where' query of documents to delete.\", httpStatus.BAD_REQUEST)\n }\n\n // /////////////////////////////////////\n // Access\n // /////////////////////////////////////\n\n let accessResult: AccessResult\n\n if (!overrideAccess) {\n accessResult = await executeAccess({ req }, collectionConfig.access.delete)\n }\n\n await validateQueryPaths({\n collectionConfig,\n overrideAccess,\n req,\n where,\n })\n\n const fullWhere = combineQueries(where, accessResult)\n\n // /////////////////////////////////////\n // Retrieve documents\n // /////////////////////////////////////\n\n const { docs } = await payload.db.find<DataFromCollectionSlug<TSlug>>({\n collection: collectionConfig.slug,\n locale,\n req,\n where: fullWhere,\n })\n\n const errors = []\n\n const promises = docs.map(async (doc) => {\n let result\n\n const { id } = doc\n\n try {\n // /////////////////////////////////////\n // beforeDelete - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.beforeDelete.reduce(async (priorHook, hook) => {\n await priorHook\n\n return hook({\n id,\n collection: collectionConfig,\n context: req.context,\n req,\n })\n }, Promise.resolve())\n\n await deleteAssociatedFiles({\n collectionConfig,\n config,\n doc,\n overrideDelete: true,\n req,\n })\n\n // /////////////////////////////////////\n // Delete versions\n // /////////////////////////////////////\n\n if (collectionConfig.versions) {\n await deleteCollectionVersions({\n id,\n slug: collectionConfig.slug,\n payload,\n req,\n })\n }\n\n // /////////////////////////////////////\n // Delete document\n // /////////////////////////////////////\n\n await payload.db.deleteOne({\n collection: collectionConfig.slug,\n req,\n where: {\n id: {\n equals: id,\n },\n },\n })\n\n // /////////////////////////////////////\n // afterRead - Fields\n // /////////////////////////////////////\n\n result = await afterRead({\n collection: collectionConfig,\n context: req.context,\n depth,\n doc: result || doc,\n draft: undefined,\n fallbackLocale,\n global: null,\n locale,\n overrideAccess,\n req,\n showHiddenFields,\n })\n\n // /////////////////////////////////////\n // afterRead - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.afterRead.reduce(async (priorHook, hook) => {\n await priorHook\n\n result =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n doc: result || doc,\n req,\n })) || result\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // afterDelete - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.afterDelete.reduce(async (priorHook, hook) => {\n await priorHook\n\n result =\n (await hook({\n id,\n collection: collectionConfig,\n context: req.context,\n doc: result,\n req,\n })) || result\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // 8. Return results\n // /////////////////////////////////////\n\n return result\n } catch (error) {\n errors.push({\n id: doc.id,\n message: error.message,\n })\n }\n return null\n })\n\n const awaitedDocs = await Promise.all(promises)\n\n // /////////////////////////////////////\n // Delete Preferences\n // /////////////////////////////////////\n\n await deleteUserPreferences({\n collectionConfig,\n ids: docs.map(({ id }) => id),\n payload,\n req,\n })\n\n let result = {\n docs: awaitedDocs.filter(Boolean),\n errors,\n }\n\n // /////////////////////////////////////\n // afterOperation - Collection\n // /////////////////////////////////////\n\n result = await buildAfterOperation({\n args,\n collection: collectionConfig,\n operation: 'delete',\n result,\n })\n\n if (shouldCommit) {\n await commitTransaction(req)\n }\n\n return result\n } catch (error: unknown) {\n await killTransaction(args.req)\n throw error\n }\n}\n"],"names":["httpStatus","executeAccess","combineQueries","validateQueryPaths","APIError","afterRead","deleteUserPreferences","deleteAssociatedFiles","commitTransaction","initTransaction","killTransaction","deleteCollectionVersions","buildAfterOperation","deleteOperation","incomingArgs","args","shouldCommit","req","collection","config","hooks","beforeOperation","reduce","priorHook","hook","context","operation","Promise","resolve","collectionConfig","depth","overrideAccess","fallbackLocale","locale","payload","showHiddenFields","where","BAD_REQUEST","accessResult","access","delete","fullWhere","docs","db","find","slug","errors","promises","map","doc","result","id","beforeDelete","overrideDelete","versions","deleteOne","equals","draft","undefined","global","afterDelete","error","push","message","awaitedDocs","all","ids","filter","Boolean"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"deleteByID.d.ts","sourceRoot":"","sources":["../../../src/collections/operations/deleteByID.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,KAAK,EAAuB,UAAU,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAA;AAejG,MAAM,MAAM,SAAS,GAAG;IACtB,UAAU,EAAE,UAAU,CAAA;IACtB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IACnB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,GAAG,EAAE,cAAc,CAAA;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B,CAAA;AAED,eAAO,MAAM,mBAAmB,GAAU,KAAK,SAAS,cAAc,gBACtD,SAAS,KACtB,OAAO,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAkMvC,CAAA"}
1
+ {"version":3,"file":"deleteByID.d.ts","sourceRoot":"","sources":["../../../src/collections/operations/deleteByID.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,KAAK,EAAuB,UAAU,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAA;AAejG,MAAM,MAAM,SAAS,GAAG;IACtB,UAAU,EAAE,UAAU,CAAA;IACtB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IACnB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,GAAG,EAAE,cAAc,CAAA;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B,CAAA;AAED,eAAO,MAAM,mBAAmB,GAAU,KAAK,SAAS,cAAc,gBACtD,SAAS,KACtB,OAAO,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAwMvC,CAAA"}
@@ -61,8 +61,12 @@ export const deleteByIDOperation = async (incomingArgs)=>{
61
61
  }
62
62
  }, accessResults)
63
63
  });
64
- if (!docToDelete && !hasWhereAccess) throw new NotFound(req.t);
65
- if (!docToDelete && hasWhereAccess) throw new Forbidden(req.t);
64
+ if (!docToDelete && !hasWhereAccess) {
65
+ throw new NotFound(req.t);
66
+ }
67
+ if (!docToDelete && hasWhereAccess) {
68
+ throw new Forbidden(req.t);
69
+ }
66
70
  await deleteAssociatedFiles({
67
71
  collectionConfig,
68
72
  config,
@@ -157,7 +161,9 @@ export const deleteByIDOperation = async (incomingArgs)=>{
157
161
  // /////////////////////////////////////
158
162
  // 8. Return results
159
163
  // /////////////////////////////////////
160
- if (shouldCommit) await commitTransaction(req);
164
+ if (shouldCommit) {
165
+ await commitTransaction(req);
166
+ }
161
167
  return result;
162
168
  } catch (error) {
163
169
  await killTransaction(args.req);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/collections/operations/deleteByID.ts"],"sourcesContent":["import type { CollectionSlug } from '../../index.js'\nimport type { PayloadRequest } from '../../types/index.js'\nimport type { BeforeOperationHook, Collection, DataFromCollectionSlug } from '../config/types.js'\n\nimport executeAccess from '../../auth/executeAccess.js'\nimport { hasWhereAccessResult } from '../../auth/types.js'\nimport { combineQueries } from '../../database/combineQueries.js'\nimport { Forbidden, NotFound } from '../../errors/index.js'\nimport { afterRead } from '../../fields/hooks/afterRead/index.js'\nimport { deleteUserPreferences } from '../../preferences/deleteUserPreferences.js'\nimport { deleteAssociatedFiles } from '../../uploads/deleteAssociatedFiles.js'\nimport { commitTransaction } from '../../utilities/commitTransaction.js'\nimport { initTransaction } from '../../utilities/initTransaction.js'\nimport { killTransaction } from '../../utilities/killTransaction.js'\nimport { deleteCollectionVersions } from '../../versions/deleteCollectionVersions.js'\nimport { buildAfterOperation } from './utils.js'\n\nexport type Arguments = {\n collection: Collection\n depth?: number\n id: number | string\n overrideAccess?: boolean\n req: PayloadRequest\n showHiddenFields?: boolean\n}\n\nexport const deleteByIDOperation = async <TSlug extends CollectionSlug>(\n incomingArgs: Arguments,\n): Promise<DataFromCollectionSlug<TSlug>> => {\n let args = incomingArgs\n\n try {\n const shouldCommit = await initTransaction(args.req)\n\n // /////////////////////////////////////\n // beforeOperation - Collection\n // /////////////////////////////////////\n\n await args.collection.config.hooks.beforeOperation.reduce(\n async (priorHook: BeforeOperationHook | Promise<void>, hook: BeforeOperationHook) => {\n await priorHook\n\n args =\n (await hook({\n args,\n collection: args.collection.config,\n context: args.req.context,\n operation: 'delete',\n req: args.req,\n })) || args\n },\n Promise.resolve(),\n )\n\n const {\n id,\n collection: { config: collectionConfig },\n depth,\n overrideAccess,\n req: {\n fallbackLocale,\n locale,\n payload: { config },\n payload,\n },\n req,\n showHiddenFields,\n } = args\n\n // /////////////////////////////////////\n // Access\n // /////////////////////////////////////\n\n const accessResults = !overrideAccess\n ? await executeAccess({ id, req }, collectionConfig.access.delete)\n : true\n const hasWhereAccess = hasWhereAccessResult(accessResults)\n\n // /////////////////////////////////////\n // beforeDelete - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.beforeDelete.reduce(async (priorHook, hook) => {\n await priorHook\n\n return hook({\n id,\n collection: collectionConfig,\n context: req.context,\n req,\n })\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // Retrieve document\n // /////////////////////////////////////\n\n const docToDelete = await req.payload.db.findOne({\n collection: collectionConfig.slug,\n locale: req.locale,\n req,\n where: combineQueries({ id: { equals: id } }, accessResults),\n })\n\n if (!docToDelete && !hasWhereAccess) throw new NotFound(req.t)\n if (!docToDelete && hasWhereAccess) throw new Forbidden(req.t)\n\n await deleteAssociatedFiles({\n collectionConfig,\n config,\n doc: docToDelete,\n overrideDelete: true,\n req,\n })\n\n // /////////////////////////////////////\n // Delete versions\n // /////////////////////////////////////\n\n if (collectionConfig.versions) {\n await deleteCollectionVersions({\n id,\n slug: collectionConfig.slug,\n payload,\n req,\n })\n }\n\n // /////////////////////////////////////\n // Delete document\n // /////////////////////////////////////\n\n let result: DataFromCollectionSlug<TSlug> = await req.payload.db.deleteOne({\n collection: collectionConfig.slug,\n req,\n where: { id: { equals: id } },\n })\n\n // /////////////////////////////////////\n // Delete Preferences\n // /////////////////////////////////////\n\n await deleteUserPreferences({\n collectionConfig,\n ids: [id],\n payload,\n req,\n })\n\n // /////////////////////////////////////\n // afterRead - Fields\n // /////////////////////////////////////\n\n result = await afterRead({\n collection: collectionConfig,\n context: req.context,\n depth,\n doc: result,\n draft: undefined,\n fallbackLocale,\n global: null,\n locale,\n overrideAccess,\n req,\n showHiddenFields,\n })\n\n // /////////////////////////////////////\n // afterRead - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.afterRead.reduce(async (priorHook, hook) => {\n await priorHook\n\n result =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n doc: result,\n req,\n })) || result\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // afterDelete - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.afterDelete.reduce(async (priorHook, hook) => {\n await priorHook\n\n result =\n (await hook({\n id,\n collection: collectionConfig,\n context: req.context,\n doc: result,\n req,\n })) || result\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // afterOperation - Collection\n // /////////////////////////////////////\n\n result = await buildAfterOperation({\n args,\n collection: collectionConfig,\n operation: 'deleteByID',\n result,\n })\n\n // /////////////////////////////////////\n // 8. Return results\n // /////////////////////////////////////\n\n if (shouldCommit) await commitTransaction(req)\n\n return result\n } catch (error: unknown) {\n await killTransaction(args.req)\n throw error\n }\n}\n"],"names":["executeAccess","hasWhereAccessResult","combineQueries","Forbidden","NotFound","afterRead","deleteUserPreferences","deleteAssociatedFiles","commitTransaction","initTransaction","killTransaction","deleteCollectionVersions","buildAfterOperation","deleteByIDOperation","incomingArgs","args","shouldCommit","req","collection","config","hooks","beforeOperation","reduce","priorHook","hook","context","operation","Promise","resolve","id","collectionConfig","depth","overrideAccess","fallbackLocale","locale","payload","showHiddenFields","accessResults","access","delete","hasWhereAccess","beforeDelete","docToDelete","db","findOne","slug","where","equals","t","doc","overrideDelete","versions","result","deleteOne","ids","draft","undefined","global","afterDelete","error"],"mappings":"AAIA,OAAOA,mBAAmB,8BAA6B;AACvD,SAASC,oBAAoB,QAAQ,sBAAqB;AAC1D,SAASC,cAAc,QAAQ,mCAAkC;AACjE,SAASC,SAAS,EAAEC,QAAQ,QAAQ,wBAAuB;AAC3D,SAASC,SAAS,QAAQ,wCAAuC;AACjE,SAASC,qBAAqB,QAAQ,6CAA4C;AAClF,SAASC,qBAAqB,QAAQ,yCAAwC;AAC9E,SAASC,iBAAiB,QAAQ,uCAAsC;AACxE,SAASC,eAAe,QAAQ,qCAAoC;AACpE,SAASC,eAAe,QAAQ,qCAAoC;AACpE,SAASC,wBAAwB,QAAQ,6CAA4C;AACrF,SAASC,mBAAmB,QAAQ,aAAY;AAWhD,OAAO,MAAMC,sBAAsB,OACjCC;IAEA,IAAIC,OAAOD;IAEX,IAAI;QACF,MAAME,eAAe,MAAMP,gBAAgBM,KAAKE,GAAG;QAEnD,wCAAwC;QACxC,+BAA+B;QAC/B,wCAAwC;QAExC,MAAMF,KAAKG,UAAU,CAACC,MAAM,CAACC,KAAK,CAACC,eAAe,CAACC,MAAM,CACvD,OAAOC,WAAgDC;YACrD,MAAMD;YAENR,OACE,AAAC,MAAMS,KAAK;gBACVT;gBACAG,YAAYH,KAAKG,UAAU,CAACC,MAAM;gBAClCM,SAASV,KAAKE,GAAG,CAACQ,OAAO;gBACzBC,WAAW;gBACXT,KAAKF,KAAKE,GAAG;YACf,MAAOF;QACX,GACAY,QAAQC,OAAO;QAGjB,MAAM,EACJC,EAAE,EACFX,YAAY,EAAEC,QAAQW,gBAAgB,EAAE,EACxCC,KAAK,EACLC,cAAc,EACdf,KAAK,EACHgB,cAAc,EACdC,MAAM,EACNC,SAAS,EAAEhB,MAAM,EAAE,EACnBgB,OAAO,EACR,EACDlB,GAAG,EACHmB,gBAAgB,EACjB,GAAGrB;QAEJ,wCAAwC;QACxC,SAAS;QACT,wCAAwC;QAExC,MAAMsB,gBAAgB,CAACL,iBACnB,MAAMhC,cAAc;YAAE6B;YAAIZ;QAAI,GAAGa,iBAAiBQ,MAAM,CAACC,MAAM,IAC/D;QACJ,MAAMC,iBAAiBvC,qBAAqBoC;QAE5C,wCAAwC;QACxC,4BAA4B;QAC5B,wCAAwC;QAExC,MAAMP,iBAAiBV,KAAK,CAACqB,YAAY,CAACnB,MAAM,CAAC,OAAOC,WAAWC;YACjE,MAAMD;YAEN,OAAOC,KAAK;gBACVK;gBACAX,YAAYY;gBACZL,SAASR,IAAIQ,OAAO;gBACpBR;YACF;QACF,GAAGU,QAAQC,OAAO;QAElB,wCAAwC;QACxC,oBAAoB;QACpB,wCAAwC;QAExC,MAAMc,cAAc,MAAMzB,IAAIkB,OAAO,CAACQ,EAAE,CAACC,OAAO,CAAC;YAC/C1B,YAAYY,iBAAiBe,IAAI;YACjCX,QAAQjB,IAAIiB,MAAM;YAClBjB;YACA6B,OAAO5C,eAAe;gBAAE2B,IAAI;oBAAEkB,QAAQlB;gBAAG;YAAE,GAAGQ;QAChD;QAEA,IAAI,CAACK,eAAe,CAACF,gBAAgB,MAAM,IAAIpC,SAASa,IAAI+B,CAAC;QAC7D,IAAI,CAACN,eAAeF,gBAAgB,MAAM,IAAIrC,UAAUc,IAAI+B,CAAC;QAE7D,MAAMzC,sBAAsB;YAC1BuB;YACAX;YACA8B,KAAKP;YACLQ,gBAAgB;YAChBjC;QACF;QAEA,wCAAwC;QACxC,kBAAkB;QAClB,wCAAwC;QAExC,IAAIa,iBAAiBqB,QAAQ,EAAE;YAC7B,MAAMxC,yBAAyB;gBAC7BkB;gBACAgB,MAAMf,iBAAiBe,IAAI;gBAC3BV;gBACAlB;YACF;QACF;QAEA,wCAAwC;QACxC,kBAAkB;QAClB,wCAAwC;QAExC,IAAImC,SAAwC,MAAMnC,IAAIkB,OAAO,CAACQ,EAAE,CAACU,SAAS,CAAC;YACzEnC,YAAYY,iBAAiBe,IAAI;YACjC5B;YACA6B,OAAO;gBAAEjB,IAAI;oBAAEkB,QAAQlB;gBAAG;YAAE;QAC9B;QAEA,wCAAwC;QACxC,qBAAqB;QACrB,wCAAwC;QAExC,MAAMvB,sBAAsB;YAC1BwB;YACAwB,KAAK;gBAACzB;aAAG;YACTM;YACAlB;QACF;QAEA,wCAAwC;QACxC,qBAAqB;QACrB,wCAAwC;QAExCmC,SAAS,MAAM/C,UAAU;YACvBa,YAAYY;YACZL,SAASR,IAAIQ,OAAO;YACpBM;YACAkB,KAAKG;YACLG,OAAOC;YACPvB;YACAwB,QAAQ;YACRvB;YACAF;YACAf;YACAmB;QACF;QAEA,wCAAwC;QACxC,yBAAyB;QACzB,wCAAwC;QAExC,MAAMN,iBAAiBV,KAAK,CAACf,SAAS,CAACiB,MAAM,CAAC,OAAOC,WAAWC;YAC9D,MAAMD;YAEN6B,SACE,AAAC,MAAM5B,KAAK;gBACVN,YAAYY;gBACZL,SAASR,IAAIQ,OAAO;gBACpBwB,KAAKG;gBACLnC;YACF,MAAOmC;QACX,GAAGzB,QAAQC,OAAO;QAElB,wCAAwC;QACxC,2BAA2B;QAC3B,wCAAwC;QAExC,MAAME,iBAAiBV,KAAK,CAACsC,WAAW,CAACpC,MAAM,CAAC,OAAOC,WAAWC;YAChE,MAAMD;YAEN6B,SACE,AAAC,MAAM5B,KAAK;gBACVK;gBACAX,YAAYY;gBACZL,SAASR,IAAIQ,OAAO;gBACpBwB,KAAKG;gBACLnC;YACF,MAAOmC;QACX,GAAGzB,QAAQC,OAAO;QAElB,wCAAwC;QACxC,8BAA8B;QAC9B,wCAAwC;QAExCwB,SAAS,MAAMxC,oBAAoB;YACjCG;YACAG,YAAYY;YACZJ,WAAW;YACX0B;QACF;QAEA,wCAAwC;QACxC,oBAAoB;QACpB,wCAAwC;QAExC,IAAIpC,cAAc,MAAMR,kBAAkBS;QAE1C,OAAOmC;IACT,EAAE,OAAOO,OAAgB;QACvB,MAAMjD,gBAAgBK,KAAKE,GAAG;QAC9B,MAAM0C;IACR;AACF,EAAC"}
1
+ {"version":3,"sources":["../../../src/collections/operations/deleteByID.ts"],"sourcesContent":["import type { CollectionSlug } from '../../index.js'\nimport type { PayloadRequest } from '../../types/index.js'\nimport type { BeforeOperationHook, Collection, DataFromCollectionSlug } from '../config/types.js'\n\nimport executeAccess from '../../auth/executeAccess.js'\nimport { hasWhereAccessResult } from '../../auth/types.js'\nimport { combineQueries } from '../../database/combineQueries.js'\nimport { Forbidden, NotFound } from '../../errors/index.js'\nimport { afterRead } from '../../fields/hooks/afterRead/index.js'\nimport { deleteUserPreferences } from '../../preferences/deleteUserPreferences.js'\nimport { deleteAssociatedFiles } from '../../uploads/deleteAssociatedFiles.js'\nimport { commitTransaction } from '../../utilities/commitTransaction.js'\nimport { initTransaction } from '../../utilities/initTransaction.js'\nimport { killTransaction } from '../../utilities/killTransaction.js'\nimport { deleteCollectionVersions } from '../../versions/deleteCollectionVersions.js'\nimport { buildAfterOperation } from './utils.js'\n\nexport type Arguments = {\n collection: Collection\n depth?: number\n id: number | string\n overrideAccess?: boolean\n req: PayloadRequest\n showHiddenFields?: boolean\n}\n\nexport const deleteByIDOperation = async <TSlug extends CollectionSlug>(\n incomingArgs: Arguments,\n): Promise<DataFromCollectionSlug<TSlug>> => {\n let args = incomingArgs\n\n try {\n const shouldCommit = await initTransaction(args.req)\n\n // /////////////////////////////////////\n // beforeOperation - Collection\n // /////////////////////////////////////\n\n await args.collection.config.hooks.beforeOperation.reduce(\n async (priorHook: BeforeOperationHook | Promise<void>, hook: BeforeOperationHook) => {\n await priorHook\n\n args =\n (await hook({\n args,\n collection: args.collection.config,\n context: args.req.context,\n operation: 'delete',\n req: args.req,\n })) || args\n },\n Promise.resolve(),\n )\n\n const {\n id,\n collection: { config: collectionConfig },\n depth,\n overrideAccess,\n req: {\n fallbackLocale,\n locale,\n payload: { config },\n payload,\n },\n req,\n showHiddenFields,\n } = args\n\n // /////////////////////////////////////\n // Access\n // /////////////////////////////////////\n\n const accessResults = !overrideAccess\n ? await executeAccess({ id, req }, collectionConfig.access.delete)\n : true\n const hasWhereAccess = hasWhereAccessResult(accessResults)\n\n // /////////////////////////////////////\n // beforeDelete - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.beforeDelete.reduce(async (priorHook, hook) => {\n await priorHook\n\n return hook({\n id,\n collection: collectionConfig,\n context: req.context,\n req,\n })\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // Retrieve document\n // /////////////////////////////////////\n\n const docToDelete = await req.payload.db.findOne({\n collection: collectionConfig.slug,\n locale: req.locale,\n req,\n where: combineQueries({ id: { equals: id } }, accessResults),\n })\n\n if (!docToDelete && !hasWhereAccess) {\n throw new NotFound(req.t)\n }\n if (!docToDelete && hasWhereAccess) {\n throw new Forbidden(req.t)\n }\n\n await deleteAssociatedFiles({\n collectionConfig,\n config,\n doc: docToDelete,\n overrideDelete: true,\n req,\n })\n\n // /////////////////////////////////////\n // Delete versions\n // /////////////////////////////////////\n\n if (collectionConfig.versions) {\n await deleteCollectionVersions({\n id,\n slug: collectionConfig.slug,\n payload,\n req,\n })\n }\n\n // /////////////////////////////////////\n // Delete document\n // /////////////////////////////////////\n\n let result: DataFromCollectionSlug<TSlug> = await req.payload.db.deleteOne({\n collection: collectionConfig.slug,\n req,\n where: { id: { equals: id } },\n })\n\n // /////////////////////////////////////\n // Delete Preferences\n // /////////////////////////////////////\n\n await deleteUserPreferences({\n collectionConfig,\n ids: [id],\n payload,\n req,\n })\n\n // /////////////////////////////////////\n // afterRead - Fields\n // /////////////////////////////////////\n\n result = await afterRead({\n collection: collectionConfig,\n context: req.context,\n depth,\n doc: result,\n draft: undefined,\n fallbackLocale,\n global: null,\n locale,\n overrideAccess,\n req,\n showHiddenFields,\n })\n\n // /////////////////////////////////////\n // afterRead - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.afterRead.reduce(async (priorHook, hook) => {\n await priorHook\n\n result =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n doc: result,\n req,\n })) || result\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // afterDelete - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.afterDelete.reduce(async (priorHook, hook) => {\n await priorHook\n\n result =\n (await hook({\n id,\n collection: collectionConfig,\n context: req.context,\n doc: result,\n req,\n })) || result\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // afterOperation - Collection\n // /////////////////////////////////////\n\n result = await buildAfterOperation({\n args,\n collection: collectionConfig,\n operation: 'deleteByID',\n result,\n })\n\n // /////////////////////////////////////\n // 8. Return results\n // /////////////////////////////////////\n\n if (shouldCommit) {\n await commitTransaction(req)\n }\n\n return result\n } catch (error: unknown) {\n await killTransaction(args.req)\n throw error\n }\n}\n"],"names":["executeAccess","hasWhereAccessResult","combineQueries","Forbidden","NotFound","afterRead","deleteUserPreferences","deleteAssociatedFiles","commitTransaction","initTransaction","killTransaction","deleteCollectionVersions","buildAfterOperation","deleteByIDOperation","incomingArgs","args","shouldCommit","req","collection","config","hooks","beforeOperation","reduce","priorHook","hook","context","operation","Promise","resolve","id","collectionConfig","depth","overrideAccess","fallbackLocale","locale","payload","showHiddenFields","accessResults","access","delete","hasWhereAccess","beforeDelete","docToDelete","db","findOne","slug","where","equals","t","doc","overrideDelete","versions","result","deleteOne","ids","draft","undefined","global","afterDelete","error"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"duplicate.d.ts","sourceRoot":"","sources":["../../../src/collections/operations/duplicate.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAA;AAiB5E,MAAM,MAAM,SAAS,GAAG;IACtB,UAAU,EAAE,UAAU,CAAA;IACtB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IACnB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,GAAG,EAAE,cAAc,CAAA;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B,CAAA;AAED,eAAO,MAAM,kBAAkB,GAAU,KAAK,SAAS,cAAc,gBACrD,SAAS,KACtB,OAAO,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAySvC,CAAA"}
1
+ {"version":3,"file":"duplicate.d.ts","sourceRoot":"","sources":["../../../src/collections/operations/duplicate.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAA;AAiB5E,MAAM,MAAM,SAAS,GAAG;IACtB,UAAU,EAAE,UAAU,CAAA;IACtB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IACnB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,GAAG,EAAE,cAAc,CAAA;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B,CAAA;AAED,eAAO,MAAM,kBAAkB,GAAU,KAAK,SAAS,cAAc,gBACrD,SAAS,KACtB,OAAO,CAAC,sBAAsB,CAAC,KAAK,CAAC,CA+SvC,CAAA"}
@@ -64,8 +64,12 @@ export const duplicateOperation = async (incomingArgs)=>{
64
64
  query: findOneArgs,
65
65
  req
66
66
  });
67
- if (!docWithLocales && !hasWherePolicy) throw new NotFound(req.t);
68
- if (!docWithLocales && hasWherePolicy) throw new Forbidden(req.t);
67
+ if (!docWithLocales && !hasWherePolicy) {
68
+ throw new NotFound(req.t);
69
+ }
70
+ if (!docWithLocales && hasWherePolicy) {
71
+ throw new Forbidden(req.t);
72
+ }
69
73
  // remove the createdAt timestamp and id to rely on the db to set the default it
70
74
  delete docWithLocales.createdAt;
71
75
  delete docWithLocales.id;
@@ -248,7 +252,9 @@ export const duplicateOperation = async (incomingArgs)=>{
248
252
  // /////////////////////////////////////
249
253
  // Return results
250
254
  // /////////////////////////////////////
251
- if (shouldCommit) await commitTransaction(req);
255
+ if (shouldCommit) {
256
+ await commitTransaction(req);
257
+ }
252
258
  return result;
253
259
  } catch (error) {
254
260
  await killTransaction(args.req);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/collections/operations/duplicate.ts"],"sourcesContent":["import type { DeepPartial } from 'ts-essentials'\n\nimport httpStatus from 'http-status'\n\nimport type { FindOneArgs } from '../../database/types.js'\nimport type { CollectionSlug } from '../../index.js'\nimport type { PayloadRequest } from '../../types/index.js'\nimport type { Collection, DataFromCollectionSlug } from '../config/types.js'\n\nimport executeAccess from '../../auth/executeAccess.js'\nimport { hasWhereAccessResult } from '../../auth/types.js'\nimport { combineQueries } from '../../database/combineQueries.js'\nimport { APIError, Forbidden, NotFound } from '../../errors/index.js'\nimport { afterChange } from '../../fields/hooks/afterChange/index.js'\nimport { afterRead } from '../../fields/hooks/afterRead/index.js'\nimport { beforeChange } from '../../fields/hooks/beforeChange/index.js'\nimport { beforeValidate } from '../../fields/hooks/beforeValidate/index.js'\nimport { commitTransaction } from '../../utilities/commitTransaction.js'\nimport { initTransaction } from '../../utilities/initTransaction.js'\nimport { killTransaction } from '../../utilities/killTransaction.js'\nimport { getLatestCollectionVersion } from '../../versions/getLatestCollectionVersion.js'\nimport { saveVersion } from '../../versions/saveVersion.js'\nimport { buildAfterOperation } from './utils.js'\n\nexport type Arguments = {\n collection: Collection\n depth?: number\n draft?: boolean\n id: number | string\n overrideAccess?: boolean\n req: PayloadRequest\n showHiddenFields?: boolean\n}\n\nexport const duplicateOperation = async <TSlug extends CollectionSlug>(\n incomingArgs: Arguments,\n): Promise<DataFromCollectionSlug<TSlug>> => {\n let args = incomingArgs\n const operation = 'create'\n\n try {\n const shouldCommit = await initTransaction(args.req)\n\n // /////////////////////////////////////\n // beforeOperation - Collection\n // /////////////////////////////////////\n\n await args.collection.config.hooks.beforeOperation.reduce(async (priorHook, hook) => {\n await priorHook\n\n args =\n (await hook({\n args,\n collection: args.collection.config,\n context: args.req.context,\n operation,\n req: args.req,\n })) || args\n }, Promise.resolve())\n\n const {\n id,\n collection: { config: collectionConfig },\n depth,\n draft: draftArg = true,\n overrideAccess,\n req: { fallbackLocale, locale: localeArg, payload },\n req,\n showHiddenFields,\n } = args\n\n if (!id) {\n throw new APIError('Missing ID of document to duplicate.', httpStatus.BAD_REQUEST)\n }\n const shouldSaveDraft = Boolean(draftArg && collectionConfig.versions.drafts)\n\n // /////////////////////////////////////\n // Read Access\n // /////////////////////////////////////\n\n const accessResults = !overrideAccess\n ? await executeAccess({ id, req }, collectionConfig.access.read)\n : true\n const hasWherePolicy = hasWhereAccessResult(accessResults)\n\n // /////////////////////////////////////\n // Retrieve document\n // /////////////////////////////////////\n const findOneArgs: FindOneArgs = {\n collection: collectionConfig.slug,\n locale: req.locale,\n req,\n where: combineQueries({ id: { equals: id } }, accessResults),\n }\n\n const docWithLocales = await getLatestCollectionVersion({\n id,\n config: collectionConfig,\n payload,\n query: findOneArgs,\n req,\n })\n\n if (!docWithLocales && !hasWherePolicy) throw new NotFound(req.t)\n if (!docWithLocales && hasWherePolicy) throw new Forbidden(req.t)\n\n // remove the createdAt timestamp and id to rely on the db to set the default it\n delete docWithLocales.createdAt\n delete docWithLocales.id\n\n // for version enabled collections, override the current status with draft, unless draft is explicitly set to false\n if (shouldSaveDraft) {\n docWithLocales._status = 'draft'\n }\n\n let result\n\n const originalDoc = await afterRead({\n collection: collectionConfig,\n context: req.context,\n depth: 0,\n doc: docWithLocales,\n draft: draftArg,\n fallbackLocale: null,\n global: null,\n locale: req.locale,\n overrideAccess: true,\n req,\n showHiddenFields: true,\n })\n\n // /////////////////////////////////////\n // Create Access\n // /////////////////////////////////////\n\n if (!overrideAccess) {\n await executeAccess({ data: originalDoc, req }, collectionConfig.access.create)\n }\n\n // /////////////////////////////////////\n // beforeValidate - Fields\n // /////////////////////////////////////\n\n let data = await beforeValidate<DeepPartial<DataFromCollectionSlug<TSlug>>>({\n id,\n collection: collectionConfig,\n context: req.context,\n data: originalDoc,\n doc: originalDoc,\n duplicate: true,\n global: null,\n operation,\n overrideAccess,\n req,\n })\n\n // /////////////////////////////////////\n // beforeValidate - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.beforeValidate.reduce(async (priorHook, hook) => {\n await priorHook\n\n data =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n data,\n operation,\n originalDoc,\n req,\n })) || result\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // beforeChange - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.beforeChange.reduce(async (priorHook, hook) => {\n await priorHook\n\n data =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n data,\n operation,\n originalDoc: result,\n req,\n })) || result\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // beforeChange - Fields\n // /////////////////////////////////////\n\n result = await beforeChange({\n id,\n collection: collectionConfig,\n context: req.context,\n data,\n doc: originalDoc,\n docWithLocales,\n duplicate: true,\n global: null,\n operation,\n req,\n skipValidation:\n shouldSaveDraft &&\n collectionConfig.versions.drafts &&\n !collectionConfig.versions.drafts.validate,\n })\n\n // set req.locale back to the original locale\n req.locale = localeArg\n\n // /////////////////////////////////////\n // Create / Update\n // /////////////////////////////////////\n\n const versionDoc = await payload.db.create({\n collection: collectionConfig.slug,\n data: result,\n req,\n })\n\n // /////////////////////////////////////\n // Create version\n // /////////////////////////////////////\n\n if (collectionConfig.versions) {\n result = await saveVersion({\n id: versionDoc.id,\n collection: collectionConfig,\n docWithLocales: {\n ...versionDoc,\n createdAt: result.createdAt,\n },\n draft: shouldSaveDraft,\n payload,\n req,\n })\n }\n\n // /////////////////////////////////////\n // afterRead - Fields\n // /////////////////////////////////////\n\n result = await afterRead({\n collection: collectionConfig,\n context: req.context,\n depth,\n doc: versionDoc,\n draft: draftArg,\n fallbackLocale,\n global: null,\n locale: localeArg,\n overrideAccess,\n req,\n showHiddenFields,\n })\n\n // /////////////////////////////////////\n // afterRead - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.afterRead.reduce(async (priorHook, hook) => {\n await priorHook\n\n result =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n doc: result,\n req,\n })) || result\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // afterChange - Fields\n // /////////////////////////////////////\n\n result = await afterChange({\n collection: collectionConfig,\n context: req.context,\n data: versionDoc,\n doc: result,\n global: null,\n operation,\n previousDoc: {},\n req,\n })\n\n // /////////////////////////////////////\n // afterChange - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.afterChange.reduce(async (priorHook, hook) => {\n await priorHook\n\n result =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n doc: result,\n operation,\n previousDoc: {},\n req,\n })) || result\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // afterOperation - Collection\n // /////////////////////////////////////\n\n result = await buildAfterOperation({\n args,\n collection: collectionConfig,\n operation,\n result,\n })\n\n // /////////////////////////////////////\n // Return results\n // /////////////////////////////////////\n\n if (shouldCommit) await commitTransaction(req)\n\n return result\n } catch (error: unknown) {\n await killTransaction(args.req)\n throw error\n }\n}\n"],"names":["httpStatus","executeAccess","hasWhereAccessResult","combineQueries","APIError","Forbidden","NotFound","afterChange","afterRead","beforeChange","beforeValidate","commitTransaction","initTransaction","killTransaction","getLatestCollectionVersion","saveVersion","buildAfterOperation","duplicateOperation","incomingArgs","args","operation","shouldCommit","req","collection","config","hooks","beforeOperation","reduce","priorHook","hook","context","Promise","resolve","id","collectionConfig","depth","draft","draftArg","overrideAccess","fallbackLocale","locale","localeArg","payload","showHiddenFields","BAD_REQUEST","shouldSaveDraft","Boolean","versions","drafts","accessResults","access","read","hasWherePolicy","findOneArgs","slug","where","equals","docWithLocales","query","t","createdAt","_status","result","originalDoc","doc","global","data","create","duplicate","skipValidation","validate","versionDoc","db","previousDoc","error"],"mappings":"AAEA,OAAOA,gBAAgB,cAAa;AAOpC,OAAOC,mBAAmB,8BAA6B;AACvD,SAASC,oBAAoB,QAAQ,sBAAqB;AAC1D,SAASC,cAAc,QAAQ,mCAAkC;AACjE,SAASC,QAAQ,EAAEC,SAAS,EAAEC,QAAQ,QAAQ,wBAAuB;AACrE,SAASC,WAAW,QAAQ,0CAAyC;AACrE,SAASC,SAAS,QAAQ,wCAAuC;AACjE,SAASC,YAAY,QAAQ,2CAA0C;AACvE,SAASC,cAAc,QAAQ,6CAA4C;AAC3E,SAASC,iBAAiB,QAAQ,uCAAsC;AACxE,SAASC,eAAe,QAAQ,qCAAoC;AACpE,SAASC,eAAe,QAAQ,qCAAoC;AACpE,SAASC,0BAA0B,QAAQ,+CAA8C;AACzF,SAASC,WAAW,QAAQ,gCAA+B;AAC3D,SAASC,mBAAmB,QAAQ,aAAY;AAYhD,OAAO,MAAMC,qBAAqB,OAChCC;IAEA,IAAIC,OAAOD;IACX,MAAME,YAAY;IAElB,IAAI;QACF,MAAMC,eAAe,MAAMT,gBAAgBO,KAAKG,GAAG;QAEnD,wCAAwC;QACxC,+BAA+B;QAC/B,wCAAwC;QAExC,MAAMH,KAAKI,UAAU,CAACC,MAAM,CAACC,KAAK,CAACC,eAAe,CAACC,MAAM,CAAC,OAAOC,WAAWC;YAC1E,MAAMD;YAENT,OACE,AAAC,MAAMU,KAAK;gBACVV;gBACAI,YAAYJ,KAAKI,UAAU,CAACC,MAAM;gBAClCM,SAASX,KAAKG,GAAG,CAACQ,OAAO;gBACzBV;gBACAE,KAAKH,KAAKG,GAAG;YACf,MAAOH;QACX,GAAGY,QAAQC,OAAO;QAElB,MAAM,EACJC,EAAE,EACFV,YAAY,EAAEC,QAAQU,gBAAgB,EAAE,EACxCC,KAAK,EACLC,OAAOC,WAAW,IAAI,EACtBC,cAAc,EACdhB,KAAK,EAAEiB,cAAc,EAAEC,QAAQC,SAAS,EAAEC,OAAO,EAAE,EACnDpB,GAAG,EACHqB,gBAAgB,EACjB,GAAGxB;QAEJ,IAAI,CAACc,IAAI;YACP,MAAM,IAAI7B,SAAS,wCAAwCJ,WAAW4C,WAAW;QACnF;QACA,MAAMC,kBAAkBC,QAAQT,YAAYH,iBAAiBa,QAAQ,CAACC,MAAM;QAE5E,wCAAwC;QACxC,cAAc;QACd,wCAAwC;QAExC,MAAMC,gBAAgB,CAACX,iBACnB,MAAMrC,cAAc;YAAEgC;YAAIX;QAAI,GAAGY,iBAAiBgB,MAAM,CAACC,IAAI,IAC7D;QACJ,MAAMC,iBAAiBlD,qBAAqB+C;QAE5C,wCAAwC;QACxC,oBAAoB;QACpB,wCAAwC;QACxC,MAAMI,cAA2B;YAC/B9B,YAAYW,iBAAiBoB,IAAI;YACjCd,QAAQlB,IAAIkB,MAAM;YAClBlB;YACAiC,OAAOpD,eAAe;gBAAE8B,IAAI;oBAAEuB,QAAQvB;gBAAG;YAAE,GAAGgB;QAChD;QAEA,MAAMQ,iBAAiB,MAAM3C,2BAA2B;YACtDmB;YACAT,QAAQU;YACRQ;YACAgB,OAAOL;YACP/B;QACF;QAEA,IAAI,CAACmC,kBAAkB,CAACL,gBAAgB,MAAM,IAAI9C,SAASgB,IAAIqC,CAAC;QAChE,IAAI,CAACF,kBAAkBL,gBAAgB,MAAM,IAAI/C,UAAUiB,IAAIqC,CAAC;QAEhE,gFAAgF;QAChF,OAAOF,eAAeG,SAAS;QAC/B,OAAOH,eAAexB,EAAE;QAExB,mHAAmH;QACnH,IAAIY,iBAAiB;YACnBY,eAAeI,OAAO,GAAG;QAC3B;QAEA,IAAIC;QAEJ,MAAMC,cAAc,MAAMvD,UAAU;YAClCe,YAAYW;YACZJ,SAASR,IAAIQ,OAAO;YACpBK,OAAO;YACP6B,KAAKP;YACLrB,OAAOC;YACPE,gBAAgB;YAChB0B,QAAQ;YACRzB,QAAQlB,IAAIkB,MAAM;YAClBF,gBAAgB;YAChBhB;YACAqB,kBAAkB;QACpB;QAEA,wCAAwC;QACxC,gBAAgB;QAChB,wCAAwC;QAExC,IAAI,CAACL,gBAAgB;YACnB,MAAMrC,cAAc;gBAAEiE,MAAMH;gBAAazC;YAAI,GAAGY,iBAAiBgB,MAAM,CAACiB,MAAM;QAChF;QAEA,wCAAwC;QACxC,0BAA0B;QAC1B,wCAAwC;QAExC,IAAID,OAAO,MAAMxD,eAA2D;YAC1EuB;YACAV,YAAYW;YACZJ,SAASR,IAAIQ,OAAO;YACpBoC,MAAMH;YACNC,KAAKD;YACLK,WAAW;YACXH,QAAQ;YACR7C;YACAkB;YACAhB;QACF;QAEA,wCAAwC;QACxC,8BAA8B;QAC9B,wCAAwC;QAExC,MAAMY,iBAAiBT,KAAK,CAACf,cAAc,CAACiB,MAAM,CAAC,OAAOC,WAAWC;YACnE,MAAMD;YAENsC,OACE,AAAC,MAAMrC,KAAK;gBACVN,YAAYW;gBACZJ,SAASR,IAAIQ,OAAO;gBACpBoC;gBACA9C;gBACA2C;gBACAzC;YACF,MAAOwC;QACX,GAAG/B,QAAQC,OAAO;QAElB,wCAAwC;QACxC,4BAA4B;QAC5B,wCAAwC;QAExC,MAAME,iBAAiBT,KAAK,CAAChB,YAAY,CAACkB,MAAM,CAAC,OAAOC,WAAWC;YACjE,MAAMD;YAENsC,OACE,AAAC,MAAMrC,KAAK;gBACVN,YAAYW;gBACZJ,SAASR,IAAIQ,OAAO;gBACpBoC;gBACA9C;gBACA2C,aAAaD;gBACbxC;YACF,MAAOwC;QACX,GAAG/B,QAAQC,OAAO;QAElB,wCAAwC;QACxC,wBAAwB;QACxB,wCAAwC;QAExC8B,SAAS,MAAMrD,aAAa;YAC1BwB;YACAV,YAAYW;YACZJ,SAASR,IAAIQ,OAAO;YACpBoC;YACAF,KAAKD;YACLN;YACAW,WAAW;YACXH,QAAQ;YACR7C;YACAE;YACA+C,gBACExB,mBACAX,iBAAiBa,QAAQ,CAACC,MAAM,IAChC,CAACd,iBAAiBa,QAAQ,CAACC,MAAM,CAACsB,QAAQ;QAC9C;QAEA,6CAA6C;QAC7ChD,IAAIkB,MAAM,GAAGC;QAEb,wCAAwC;QACxC,kBAAkB;QAClB,wCAAwC;QAExC,MAAM8B,aAAa,MAAM7B,QAAQ8B,EAAE,CAACL,MAAM,CAAC;YACzC5C,YAAYW,iBAAiBoB,IAAI;YACjCY,MAAMJ;YACNxC;QACF;QAEA,wCAAwC;QACxC,iBAAiB;QACjB,wCAAwC;QAExC,IAAIY,iBAAiBa,QAAQ,EAAE;YAC7Be,SAAS,MAAM/C,YAAY;gBACzBkB,IAAIsC,WAAWtC,EAAE;gBACjBV,YAAYW;gBACZuB,gBAAgB;oBACd,GAAGc,UAAU;oBACbX,WAAWE,OAAOF,SAAS;gBAC7B;gBACAxB,OAAOS;gBACPH;gBACApB;YACF;QACF;QAEA,wCAAwC;QACxC,qBAAqB;QACrB,wCAAwC;QAExCwC,SAAS,MAAMtD,UAAU;YACvBe,YAAYW;YACZJ,SAASR,IAAIQ,OAAO;YACpBK;YACA6B,KAAKO;YACLnC,OAAOC;YACPE;YACA0B,QAAQ;YACRzB,QAAQC;YACRH;YACAhB;YACAqB;QACF;QAEA,wCAAwC;QACxC,yBAAyB;QACzB,wCAAwC;QAExC,MAAMT,iBAAiBT,KAAK,CAACjB,SAAS,CAACmB,MAAM,CAAC,OAAOC,WAAWC;YAC9D,MAAMD;YAENkC,SACE,AAAC,MAAMjC,KAAK;gBACVN,YAAYW;gBACZJ,SAASR,IAAIQ,OAAO;gBACpBkC,KAAKF;gBACLxC;YACF,MAAOwC;QACX,GAAG/B,QAAQC,OAAO;QAElB,wCAAwC;QACxC,uBAAuB;QACvB,wCAAwC;QAExC8B,SAAS,MAAMvD,YAAY;YACzBgB,YAAYW;YACZJ,SAASR,IAAIQ,OAAO;YACpBoC,MAAMK;YACNP,KAAKF;YACLG,QAAQ;YACR7C;YACAqD,aAAa,CAAC;YACdnD;QACF;QAEA,wCAAwC;QACxC,2BAA2B;QAC3B,wCAAwC;QAExC,MAAMY,iBAAiBT,KAAK,CAAClB,WAAW,CAACoB,MAAM,CAAC,OAAOC,WAAWC;YAChE,MAAMD;YAENkC,SACE,AAAC,MAAMjC,KAAK;gBACVN,YAAYW;gBACZJ,SAASR,IAAIQ,OAAO;gBACpBkC,KAAKF;gBACL1C;gBACAqD,aAAa,CAAC;gBACdnD;YACF,MAAOwC;QACX,GAAG/B,QAAQC,OAAO;QAElB,wCAAwC;QACxC,8BAA8B;QAC9B,wCAAwC;QAExC8B,SAAS,MAAM9C,oBAAoB;YACjCG;YACAI,YAAYW;YACZd;YACA0C;QACF;QAEA,wCAAwC;QACxC,iBAAiB;QACjB,wCAAwC;QAExC,IAAIzC,cAAc,MAAMV,kBAAkBW;QAE1C,OAAOwC;IACT,EAAE,OAAOY,OAAgB;QACvB,MAAM7D,gBAAgBM,KAAKG,GAAG;QAC9B,MAAMoD;IACR;AACF,EAAC"}
1
+ {"version":3,"sources":["../../../src/collections/operations/duplicate.ts"],"sourcesContent":["import type { DeepPartial } from 'ts-essentials'\n\nimport httpStatus from 'http-status'\n\nimport type { FindOneArgs } from '../../database/types.js'\nimport type { CollectionSlug } from '../../index.js'\nimport type { PayloadRequest } from '../../types/index.js'\nimport type { Collection, DataFromCollectionSlug } from '../config/types.js'\n\nimport executeAccess from '../../auth/executeAccess.js'\nimport { hasWhereAccessResult } from '../../auth/types.js'\nimport { combineQueries } from '../../database/combineQueries.js'\nimport { APIError, Forbidden, NotFound } from '../../errors/index.js'\nimport { afterChange } from '../../fields/hooks/afterChange/index.js'\nimport { afterRead } from '../../fields/hooks/afterRead/index.js'\nimport { beforeChange } from '../../fields/hooks/beforeChange/index.js'\nimport { beforeValidate } from '../../fields/hooks/beforeValidate/index.js'\nimport { commitTransaction } from '../../utilities/commitTransaction.js'\nimport { initTransaction } from '../../utilities/initTransaction.js'\nimport { killTransaction } from '../../utilities/killTransaction.js'\nimport { getLatestCollectionVersion } from '../../versions/getLatestCollectionVersion.js'\nimport { saveVersion } from '../../versions/saveVersion.js'\nimport { buildAfterOperation } from './utils.js'\n\nexport type Arguments = {\n collection: Collection\n depth?: number\n draft?: boolean\n id: number | string\n overrideAccess?: boolean\n req: PayloadRequest\n showHiddenFields?: boolean\n}\n\nexport const duplicateOperation = async <TSlug extends CollectionSlug>(\n incomingArgs: Arguments,\n): Promise<DataFromCollectionSlug<TSlug>> => {\n let args = incomingArgs\n const operation = 'create'\n\n try {\n const shouldCommit = await initTransaction(args.req)\n\n // /////////////////////////////////////\n // beforeOperation - Collection\n // /////////////////////////////////////\n\n await args.collection.config.hooks.beforeOperation.reduce(async (priorHook, hook) => {\n await priorHook\n\n args =\n (await hook({\n args,\n collection: args.collection.config,\n context: args.req.context,\n operation,\n req: args.req,\n })) || args\n }, Promise.resolve())\n\n const {\n id,\n collection: { config: collectionConfig },\n depth,\n draft: draftArg = true,\n overrideAccess,\n req: { fallbackLocale, locale: localeArg, payload },\n req,\n showHiddenFields,\n } = args\n\n if (!id) {\n throw new APIError('Missing ID of document to duplicate.', httpStatus.BAD_REQUEST)\n }\n const shouldSaveDraft = Boolean(draftArg && collectionConfig.versions.drafts)\n\n // /////////////////////////////////////\n // Read Access\n // /////////////////////////////////////\n\n const accessResults = !overrideAccess\n ? await executeAccess({ id, req }, collectionConfig.access.read)\n : true\n const hasWherePolicy = hasWhereAccessResult(accessResults)\n\n // /////////////////////////////////////\n // Retrieve document\n // /////////////////////////////////////\n const findOneArgs: FindOneArgs = {\n collection: collectionConfig.slug,\n locale: req.locale,\n req,\n where: combineQueries({ id: { equals: id } }, accessResults),\n }\n\n const docWithLocales = await getLatestCollectionVersion({\n id,\n config: collectionConfig,\n payload,\n query: findOneArgs,\n req,\n })\n\n if (!docWithLocales && !hasWherePolicy) {\n throw new NotFound(req.t)\n }\n if (!docWithLocales && hasWherePolicy) {\n throw new Forbidden(req.t)\n }\n\n // remove the createdAt timestamp and id to rely on the db to set the default it\n delete docWithLocales.createdAt\n delete docWithLocales.id\n\n // for version enabled collections, override the current status with draft, unless draft is explicitly set to false\n if (shouldSaveDraft) {\n docWithLocales._status = 'draft'\n }\n\n let result\n\n const originalDoc = await afterRead({\n collection: collectionConfig,\n context: req.context,\n depth: 0,\n doc: docWithLocales,\n draft: draftArg,\n fallbackLocale: null,\n global: null,\n locale: req.locale,\n overrideAccess: true,\n req,\n showHiddenFields: true,\n })\n\n // /////////////////////////////////////\n // Create Access\n // /////////////////////////////////////\n\n if (!overrideAccess) {\n await executeAccess({ data: originalDoc, req }, collectionConfig.access.create)\n }\n\n // /////////////////////////////////////\n // beforeValidate - Fields\n // /////////////////////////////////////\n\n let data = await beforeValidate<DeepPartial<DataFromCollectionSlug<TSlug>>>({\n id,\n collection: collectionConfig,\n context: req.context,\n data: originalDoc,\n doc: originalDoc,\n duplicate: true,\n global: null,\n operation,\n overrideAccess,\n req,\n })\n\n // /////////////////////////////////////\n // beforeValidate - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.beforeValidate.reduce(async (priorHook, hook) => {\n await priorHook\n\n data =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n data,\n operation,\n originalDoc,\n req,\n })) || result\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // beforeChange - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.beforeChange.reduce(async (priorHook, hook) => {\n await priorHook\n\n data =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n data,\n operation,\n originalDoc: result,\n req,\n })) || result\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // beforeChange - Fields\n // /////////////////////////////////////\n\n result = await beforeChange({\n id,\n collection: collectionConfig,\n context: req.context,\n data,\n doc: originalDoc,\n docWithLocales,\n duplicate: true,\n global: null,\n operation,\n req,\n skipValidation:\n shouldSaveDraft &&\n collectionConfig.versions.drafts &&\n !collectionConfig.versions.drafts.validate,\n })\n\n // set req.locale back to the original locale\n req.locale = localeArg\n\n // /////////////////////////////////////\n // Create / Update\n // /////////////////////////////////////\n\n const versionDoc = await payload.db.create({\n collection: collectionConfig.slug,\n data: result,\n req,\n })\n\n // /////////////////////////////////////\n // Create version\n // /////////////////////////////////////\n\n if (collectionConfig.versions) {\n result = await saveVersion({\n id: versionDoc.id,\n collection: collectionConfig,\n docWithLocales: {\n ...versionDoc,\n createdAt: result.createdAt,\n },\n draft: shouldSaveDraft,\n payload,\n req,\n })\n }\n\n // /////////////////////////////////////\n // afterRead - Fields\n // /////////////////////////////////////\n\n result = await afterRead({\n collection: collectionConfig,\n context: req.context,\n depth,\n doc: versionDoc,\n draft: draftArg,\n fallbackLocale,\n global: null,\n locale: localeArg,\n overrideAccess,\n req,\n showHiddenFields,\n })\n\n // /////////////////////////////////////\n // afterRead - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.afterRead.reduce(async (priorHook, hook) => {\n await priorHook\n\n result =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n doc: result,\n req,\n })) || result\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // afterChange - Fields\n // /////////////////////////////////////\n\n result = await afterChange({\n collection: collectionConfig,\n context: req.context,\n data: versionDoc,\n doc: result,\n global: null,\n operation,\n previousDoc: {},\n req,\n })\n\n // /////////////////////////////////////\n // afterChange - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.afterChange.reduce(async (priorHook, hook) => {\n await priorHook\n\n result =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n doc: result,\n operation,\n previousDoc: {},\n req,\n })) || result\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // afterOperation - Collection\n // /////////////////////////////////////\n\n result = await buildAfterOperation({\n args,\n collection: collectionConfig,\n operation,\n result,\n })\n\n // /////////////////////////////////////\n // Return results\n // /////////////////////////////////////\n\n if (shouldCommit) {\n await commitTransaction(req)\n }\n\n return result\n } catch (error: unknown) {\n await killTransaction(args.req)\n throw error\n }\n}\n"],"names":["httpStatus","executeAccess","hasWhereAccessResult","combineQueries","APIError","Forbidden","NotFound","afterChange","afterRead","beforeChange","beforeValidate","commitTransaction","initTransaction","killTransaction","getLatestCollectionVersion","saveVersion","buildAfterOperation","duplicateOperation","incomingArgs","args","operation","shouldCommit","req","collection","config","hooks","beforeOperation","reduce","priorHook","hook","context","Promise","resolve","id","collectionConfig","depth","draft","draftArg","overrideAccess","fallbackLocale","locale","localeArg","payload","showHiddenFields","BAD_REQUEST","shouldSaveDraft","Boolean","versions","drafts","accessResults","access","read","hasWherePolicy","findOneArgs","slug","where","equals","docWithLocales","query","t","createdAt","_status","result","originalDoc","doc","global","data","create","duplicate","skipValidation","validate","versionDoc","db","previousDoc","error"],"mappings":"AAEA,OAAOA,gBAAgB,cAAa;AAOpC,OAAOC,mBAAmB,8BAA6B;AACvD,SAASC,oBAAoB,QAAQ,sBAAqB;AAC1D,SAASC,cAAc,QAAQ,mCAAkC;AACjE,SAASC,QAAQ,EAAEC,SAAS,EAAEC,QAAQ,QAAQ,wBAAuB;AACrE,SAASC,WAAW,QAAQ,0CAAyC;AACrE,SAASC,SAAS,QAAQ,wCAAuC;AACjE,SAASC,YAAY,QAAQ,2CAA0C;AACvE,SAASC,cAAc,QAAQ,6CAA4C;AAC3E,SAASC,iBAAiB,QAAQ,uCAAsC;AACxE,SAASC,eAAe,QAAQ,qCAAoC;AACpE,SAASC,eAAe,QAAQ,qCAAoC;AACpE,SAASC,0BAA0B,QAAQ,+CAA8C;AACzF,SAASC,WAAW,QAAQ,gCAA+B;AAC3D,SAASC,mBAAmB,QAAQ,aAAY;AAYhD,OAAO,MAAMC,qBAAqB,OAChCC;IAEA,IAAIC,OAAOD;IACX,MAAME,YAAY;IAElB,IAAI;QACF,MAAMC,eAAe,MAAMT,gBAAgBO,KAAKG,GAAG;QAEnD,wCAAwC;QACxC,+BAA+B;QAC/B,wCAAwC;QAExC,MAAMH,KAAKI,UAAU,CAACC,MAAM,CAACC,KAAK,CAACC,eAAe,CAACC,MAAM,CAAC,OAAOC,WAAWC;YAC1E,MAAMD;YAENT,OACE,AAAC,MAAMU,KAAK;gBACVV;gBACAI,YAAYJ,KAAKI,UAAU,CAACC,MAAM;gBAClCM,SAASX,KAAKG,GAAG,CAACQ,OAAO;gBACzBV;gBACAE,KAAKH,KAAKG,GAAG;YACf,MAAOH;QACX,GAAGY,QAAQC,OAAO;QAElB,MAAM,EACJC,EAAE,EACFV,YAAY,EAAEC,QAAQU,gBAAgB,EAAE,EACxCC,KAAK,EACLC,OAAOC,WAAW,IAAI,EACtBC,cAAc,EACdhB,KAAK,EAAEiB,cAAc,EAAEC,QAAQC,SAAS,EAAEC,OAAO,EAAE,EACnDpB,GAAG,EACHqB,gBAAgB,EACjB,GAAGxB;QAEJ,IAAI,CAACc,IAAI;YACP,MAAM,IAAI7B,SAAS,wCAAwCJ,WAAW4C,WAAW;QACnF;QACA,MAAMC,kBAAkBC,QAAQT,YAAYH,iBAAiBa,QAAQ,CAACC,MAAM;QAE5E,wCAAwC;QACxC,cAAc;QACd,wCAAwC;QAExC,MAAMC,gBAAgB,CAACX,iBACnB,MAAMrC,cAAc;YAAEgC;YAAIX;QAAI,GAAGY,iBAAiBgB,MAAM,CAACC,IAAI,IAC7D;QACJ,MAAMC,iBAAiBlD,qBAAqB+C;QAE5C,wCAAwC;QACxC,oBAAoB;QACpB,wCAAwC;QACxC,MAAMI,cAA2B;YAC/B9B,YAAYW,iBAAiBoB,IAAI;YACjCd,QAAQlB,IAAIkB,MAAM;YAClBlB;YACAiC,OAAOpD,eAAe;gBAAE8B,IAAI;oBAAEuB,QAAQvB;gBAAG;YAAE,GAAGgB;QAChD;QAEA,MAAMQ,iBAAiB,MAAM3C,2BAA2B;YACtDmB;YACAT,QAAQU;YACRQ;YACAgB,OAAOL;YACP/B;QACF;QAEA,IAAI,CAACmC,kBAAkB,CAACL,gBAAgB;YACtC,MAAM,IAAI9C,SAASgB,IAAIqC,CAAC;QAC1B;QACA,IAAI,CAACF,kBAAkBL,gBAAgB;YACrC,MAAM,IAAI/C,UAAUiB,IAAIqC,CAAC;QAC3B;QAEA,gFAAgF;QAChF,OAAOF,eAAeG,SAAS;QAC/B,OAAOH,eAAexB,EAAE;QAExB,mHAAmH;QACnH,IAAIY,iBAAiB;YACnBY,eAAeI,OAAO,GAAG;QAC3B;QAEA,IAAIC;QAEJ,MAAMC,cAAc,MAAMvD,UAAU;YAClCe,YAAYW;YACZJ,SAASR,IAAIQ,OAAO;YACpBK,OAAO;YACP6B,KAAKP;YACLrB,OAAOC;YACPE,gBAAgB;YAChB0B,QAAQ;YACRzB,QAAQlB,IAAIkB,MAAM;YAClBF,gBAAgB;YAChBhB;YACAqB,kBAAkB;QACpB;QAEA,wCAAwC;QACxC,gBAAgB;QAChB,wCAAwC;QAExC,IAAI,CAACL,gBAAgB;YACnB,MAAMrC,cAAc;gBAAEiE,MAAMH;gBAAazC;YAAI,GAAGY,iBAAiBgB,MAAM,CAACiB,MAAM;QAChF;QAEA,wCAAwC;QACxC,0BAA0B;QAC1B,wCAAwC;QAExC,IAAID,OAAO,MAAMxD,eAA2D;YAC1EuB;YACAV,YAAYW;YACZJ,SAASR,IAAIQ,OAAO;YACpBoC,MAAMH;YACNC,KAAKD;YACLK,WAAW;YACXH,QAAQ;YACR7C;YACAkB;YACAhB;QACF;QAEA,wCAAwC;QACxC,8BAA8B;QAC9B,wCAAwC;QAExC,MAAMY,iBAAiBT,KAAK,CAACf,cAAc,CAACiB,MAAM,CAAC,OAAOC,WAAWC;YACnE,MAAMD;YAENsC,OACE,AAAC,MAAMrC,KAAK;gBACVN,YAAYW;gBACZJ,SAASR,IAAIQ,OAAO;gBACpBoC;gBACA9C;gBACA2C;gBACAzC;YACF,MAAOwC;QACX,GAAG/B,QAAQC,OAAO;QAElB,wCAAwC;QACxC,4BAA4B;QAC5B,wCAAwC;QAExC,MAAME,iBAAiBT,KAAK,CAAChB,YAAY,CAACkB,MAAM,CAAC,OAAOC,WAAWC;YACjE,MAAMD;YAENsC,OACE,AAAC,MAAMrC,KAAK;gBACVN,YAAYW;gBACZJ,SAASR,IAAIQ,OAAO;gBACpBoC;gBACA9C;gBACA2C,aAAaD;gBACbxC;YACF,MAAOwC;QACX,GAAG/B,QAAQC,OAAO;QAElB,wCAAwC;QACxC,wBAAwB;QACxB,wCAAwC;QAExC8B,SAAS,MAAMrD,aAAa;YAC1BwB;YACAV,YAAYW;YACZJ,SAASR,IAAIQ,OAAO;YACpBoC;YACAF,KAAKD;YACLN;YACAW,WAAW;YACXH,QAAQ;YACR7C;YACAE;YACA+C,gBACExB,mBACAX,iBAAiBa,QAAQ,CAACC,MAAM,IAChC,CAACd,iBAAiBa,QAAQ,CAACC,MAAM,CAACsB,QAAQ;QAC9C;QAEA,6CAA6C;QAC7ChD,IAAIkB,MAAM,GAAGC;QAEb,wCAAwC;QACxC,kBAAkB;QAClB,wCAAwC;QAExC,MAAM8B,aAAa,MAAM7B,QAAQ8B,EAAE,CAACL,MAAM,CAAC;YACzC5C,YAAYW,iBAAiBoB,IAAI;YACjCY,MAAMJ;YACNxC;QACF;QAEA,wCAAwC;QACxC,iBAAiB;QACjB,wCAAwC;QAExC,IAAIY,iBAAiBa,QAAQ,EAAE;YAC7Be,SAAS,MAAM/C,YAAY;gBACzBkB,IAAIsC,WAAWtC,EAAE;gBACjBV,YAAYW;gBACZuB,gBAAgB;oBACd,GAAGc,UAAU;oBACbX,WAAWE,OAAOF,SAAS;gBAC7B;gBACAxB,OAAOS;gBACPH;gBACApB;YACF;QACF;QAEA,wCAAwC;QACxC,qBAAqB;QACrB,wCAAwC;QAExCwC,SAAS,MAAMtD,UAAU;YACvBe,YAAYW;YACZJ,SAASR,IAAIQ,OAAO;YACpBK;YACA6B,KAAKO;YACLnC,OAAOC;YACPE;YACA0B,QAAQ;YACRzB,QAAQC;YACRH;YACAhB;YACAqB;QACF;QAEA,wCAAwC;QACxC,yBAAyB;QACzB,wCAAwC;QAExC,MAAMT,iBAAiBT,KAAK,CAACjB,SAAS,CAACmB,MAAM,CAAC,OAAOC,WAAWC;YAC9D,MAAMD;YAENkC,SACE,AAAC,MAAMjC,KAAK;gBACVN,YAAYW;gBACZJ,SAASR,IAAIQ,OAAO;gBACpBkC,KAAKF;gBACLxC;YACF,MAAOwC;QACX,GAAG/B,QAAQC,OAAO;QAElB,wCAAwC;QACxC,uBAAuB;QACvB,wCAAwC;QAExC8B,SAAS,MAAMvD,YAAY;YACzBgB,YAAYW;YACZJ,SAASR,IAAIQ,OAAO;YACpBoC,MAAMK;YACNP,KAAKF;YACLG,QAAQ;YACR7C;YACAqD,aAAa,CAAC;YACdnD;QACF;QAEA,wCAAwC;QACxC,2BAA2B;QAC3B,wCAAwC;QAExC,MAAMY,iBAAiBT,KAAK,CAAClB,WAAW,CAACoB,MAAM,CAAC,OAAOC,WAAWC;YAChE,MAAMD;YAENkC,SACE,AAAC,MAAMjC,KAAK;gBACVN,YAAYW;gBACZJ,SAASR,IAAIQ,OAAO;gBACpBkC,KAAKF;gBACL1C;gBACAqD,aAAa,CAAC;gBACdnD;YACF,MAAOwC;QACX,GAAG/B,QAAQC,OAAO;QAElB,wCAAwC;QACxC,8BAA8B;QAC9B,wCAAwC;QAExC8B,SAAS,MAAM9C,oBAAoB;YACjCG;YACAI,YAAYW;YACZd;YACA0C;QACF;QAEA,wCAAwC;QACxC,iBAAiB;QACjB,wCAAwC;QAExC,IAAIzC,cAAc;YAChB,MAAMV,kBAAkBW;QAC1B;QAEA,OAAOwC;IACT,EAAE,OAAOY,OAAgB;QACvB,MAAM7D,gBAAgBM,KAAKG,GAAG;QAC9B,MAAMoD;IACR;AACF,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"findByID.d.ts","sourceRoot":"","sources":["../../../src/collections/operations/findByID.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAA;AAU5E,MAAM,MAAM,SAAS,GAAG;IACtB,UAAU,EAAE,UAAU,CAAA;IACtB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IACnB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,GAAG,EAAE,cAAc,CAAA;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B,CAAA;AAED,eAAO,MAAM,iBAAiB,GAAU,KAAK,SAAS,cAAc,gBACpD,SAAS,KACtB,OAAO,CAAC,sBAAsB,CAAC,KAAK,CAAC,CA8JvC,CAAA"}
1
+ {"version":3,"file":"findByID.d.ts","sourceRoot":"","sources":["../../../src/collections/operations/findByID.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAA;AAU5E,MAAM,MAAM,SAAS,GAAG;IACtB,UAAU,EAAE,UAAU,CAAA;IACtB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IACnB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,GAAG,EAAE,cAAc,CAAA;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B,CAAA;AAED,eAAO,MAAM,iBAAiB,GAAU,KAAK,SAAS,cAAc,gBACpD,SAAS,KACtB,OAAO,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAkKvC,CAAA"}
@@ -31,7 +31,9 @@ export const findByIDOperation = async (incomingArgs)=>{
31
31
  req
32
32
  }, collectionConfig.access.read) : true;
33
33
  // If errors are disabled, and access returns false, return null
34
- if (accessResult === false) return null;
34
+ if (accessResult === false) {
35
+ return null;
36
+ }
35
37
  const findOneArgs = {
36
38
  collection: collectionConfig.slug,
37
39
  locale,
@@ -47,7 +49,9 @@ export const findByIDOperation = async (incomingArgs)=>{
47
49
  // /////////////////////////////////////
48
50
  // Find by ID
49
51
  // /////////////////////////////////////
50
- if (!findOneArgs.where.and[0].id) throw new NotFound(t);
52
+ if (!findOneArgs.where.and[0].id) {
53
+ throw new NotFound(t);
54
+ }
51
55
  let result = await req.payload.db.findOne(findOneArgs);
52
56
  if (!result) {
53
57
  if (!disableErrors) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/collections/operations/findByID.ts"],"sourcesContent":["import type { FindOneArgs } from '../../database/types.js'\nimport type { CollectionSlug } from '../../index.js'\nimport type { PayloadRequest } from '../../types/index.js'\nimport type { Collection, DataFromCollectionSlug } from '../config/types.js'\n\nimport executeAccess from '../../auth/executeAccess.js'\nimport { combineQueries } from '../../database/combineQueries.js'\nimport { NotFound } from '../../errors/index.js'\nimport { afterRead } from '../../fields/hooks/afterRead/index.js'\nimport { killTransaction } from '../../utilities/killTransaction.js'\nimport replaceWithDraftIfAvailable from '../../versions/drafts/replaceWithDraftIfAvailable.js'\nimport { buildAfterOperation } from './utils.js'\n\nexport type Arguments = {\n collection: Collection\n currentDepth?: number\n depth?: number\n disableErrors?: boolean\n draft?: boolean\n id: number | string\n overrideAccess?: boolean\n req: PayloadRequest\n showHiddenFields?: boolean\n}\n\nexport const findByIDOperation = async <TSlug extends CollectionSlug>(\n incomingArgs: Arguments,\n): Promise<DataFromCollectionSlug<TSlug>> => {\n let args = incomingArgs\n\n try {\n // /////////////////////////////////////\n // beforeOperation - Collection\n // /////////////////////////////////////\n\n await args.collection.config.hooks.beforeOperation.reduce(async (priorHook, hook) => {\n await priorHook\n\n args =\n (await hook({\n args,\n collection: args.collection.config,\n context: args.req.context,\n operation: 'read',\n req: args.req,\n })) || args\n }, Promise.resolve())\n\n const {\n id,\n collection: { config: collectionConfig },\n currentDepth,\n depth,\n disableErrors,\n draft: draftEnabled = false,\n overrideAccess = false,\n req: { fallbackLocale, locale, t },\n req,\n showHiddenFields,\n } = args\n\n // /////////////////////////////////////\n // Access\n // /////////////////////////////////////\n\n const accessResult = !overrideAccess\n ? await executeAccess({ id, disableErrors, req }, collectionConfig.access.read)\n : true\n\n // If errors are disabled, and access returns false, return null\n if (accessResult === false) return null\n\n const findOneArgs: FindOneArgs = {\n collection: collectionConfig.slug,\n locale,\n req: {\n transactionID: req.transactionID,\n } as PayloadRequest,\n where: combineQueries({ id: { equals: id } }, accessResult),\n }\n\n // /////////////////////////////////////\n // Find by ID\n // /////////////////////////////////////\n\n if (!findOneArgs.where.and[0].id) throw new NotFound(t)\n\n let result: DataFromCollectionSlug<TSlug> = await req.payload.db.findOne(findOneArgs)\n\n if (!result) {\n if (!disableErrors) {\n throw new NotFound(req.t)\n }\n\n return null\n }\n\n // /////////////////////////////////////\n // Replace document with draft if available\n // /////////////////////////////////////\n\n if (collectionConfig.versions?.drafts && draftEnabled) {\n result = await replaceWithDraftIfAvailable({\n accessResult,\n doc: result,\n entity: collectionConfig,\n entityType: 'collection',\n overrideAccess,\n req,\n })\n }\n\n // /////////////////////////////////////\n // beforeRead - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.beforeRead.reduce(async (priorHook, hook) => {\n await priorHook\n\n result =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n doc: result,\n query: findOneArgs.where,\n req,\n })) || result\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // afterRead - Fields\n // /////////////////////////////////////\n\n result = await afterRead({\n collection: collectionConfig,\n context: req.context,\n currentDepth,\n depth,\n doc: result,\n draft: draftEnabled,\n fallbackLocale,\n global: null,\n locale,\n overrideAccess,\n req,\n showHiddenFields,\n })\n\n // /////////////////////////////////////\n // afterRead - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.afterRead.reduce(async (priorHook, hook) => {\n await priorHook\n\n result =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n doc: result,\n query: findOneArgs.where,\n req,\n })) || result\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // afterOperation - Collection\n // /////////////////////////////////////\n\n result = await buildAfterOperation({\n args,\n collection: collectionConfig,\n operation: 'findByID',\n result,\n })\n\n // /////////////////////////////////////\n // Return results\n // /////////////////////////////////////\n\n return result\n } catch (error: unknown) {\n await killTransaction(args.req)\n throw error\n }\n}\n"],"names":["executeAccess","combineQueries","NotFound","afterRead","killTransaction","replaceWithDraftIfAvailable","buildAfterOperation","findByIDOperation","incomingArgs","args","collection","config","hooks","beforeOperation","reduce","priorHook","hook","context","req","operation","Promise","resolve","id","collectionConfig","currentDepth","depth","disableErrors","draft","draftEnabled","overrideAccess","fallbackLocale","locale","t","showHiddenFields","accessResult","access","read","findOneArgs","slug","transactionID","where","equals","and","result","payload","db","findOne","versions","drafts","doc","entity","entityType","beforeRead","query","global","error"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/collections/operations/findByID.ts"],"sourcesContent":["import type { FindOneArgs } from '../../database/types.js'\nimport type { CollectionSlug } from '../../index.js'\nimport type { PayloadRequest } from '../../types/index.js'\nimport type { Collection, DataFromCollectionSlug } from '../config/types.js'\n\nimport executeAccess from '../../auth/executeAccess.js'\nimport { combineQueries } from '../../database/combineQueries.js'\nimport { NotFound } from '../../errors/index.js'\nimport { afterRead } from '../../fields/hooks/afterRead/index.js'\nimport { killTransaction } from '../../utilities/killTransaction.js'\nimport replaceWithDraftIfAvailable from '../../versions/drafts/replaceWithDraftIfAvailable.js'\nimport { buildAfterOperation } from './utils.js'\n\nexport type Arguments = {\n collection: Collection\n currentDepth?: number\n depth?: number\n disableErrors?: boolean\n draft?: boolean\n id: number | string\n overrideAccess?: boolean\n req: PayloadRequest\n showHiddenFields?: boolean\n}\n\nexport const findByIDOperation = async <TSlug extends CollectionSlug>(\n incomingArgs: Arguments,\n): Promise<DataFromCollectionSlug<TSlug>> => {\n let args = incomingArgs\n\n try {\n // /////////////////////////////////////\n // beforeOperation - Collection\n // /////////////////////////////////////\n\n await args.collection.config.hooks.beforeOperation.reduce(async (priorHook, hook) => {\n await priorHook\n\n args =\n (await hook({\n args,\n collection: args.collection.config,\n context: args.req.context,\n operation: 'read',\n req: args.req,\n })) || args\n }, Promise.resolve())\n\n const {\n id,\n collection: { config: collectionConfig },\n currentDepth,\n depth,\n disableErrors,\n draft: draftEnabled = false,\n overrideAccess = false,\n req: { fallbackLocale, locale, t },\n req,\n showHiddenFields,\n } = args\n\n // /////////////////////////////////////\n // Access\n // /////////////////////////////////////\n\n const accessResult = !overrideAccess\n ? await executeAccess({ id, disableErrors, req }, collectionConfig.access.read)\n : true\n\n // If errors are disabled, and access returns false, return null\n if (accessResult === false) {\n return null\n }\n\n const findOneArgs: FindOneArgs = {\n collection: collectionConfig.slug,\n locale,\n req: {\n transactionID: req.transactionID,\n } as PayloadRequest,\n where: combineQueries({ id: { equals: id } }, accessResult),\n }\n\n // /////////////////////////////////////\n // Find by ID\n // /////////////////////////////////////\n\n if (!findOneArgs.where.and[0].id) {\n throw new NotFound(t)\n }\n\n let result: DataFromCollectionSlug<TSlug> = await req.payload.db.findOne(findOneArgs)\n\n if (!result) {\n if (!disableErrors) {\n throw new NotFound(req.t)\n }\n\n return null\n }\n\n // /////////////////////////////////////\n // Replace document with draft if available\n // /////////////////////////////////////\n\n if (collectionConfig.versions?.drafts && draftEnabled) {\n result = await replaceWithDraftIfAvailable({\n accessResult,\n doc: result,\n entity: collectionConfig,\n entityType: 'collection',\n overrideAccess,\n req,\n })\n }\n\n // /////////////////////////////////////\n // beforeRead - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.beforeRead.reduce(async (priorHook, hook) => {\n await priorHook\n\n result =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n doc: result,\n query: findOneArgs.where,\n req,\n })) || result\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // afterRead - Fields\n // /////////////////////////////////////\n\n result = await afterRead({\n collection: collectionConfig,\n context: req.context,\n currentDepth,\n depth,\n doc: result,\n draft: draftEnabled,\n fallbackLocale,\n global: null,\n locale,\n overrideAccess,\n req,\n showHiddenFields,\n })\n\n // /////////////////////////////////////\n // afterRead - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.afterRead.reduce(async (priorHook, hook) => {\n await priorHook\n\n result =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n doc: result,\n query: findOneArgs.where,\n req,\n })) || result\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // afterOperation - Collection\n // /////////////////////////////////////\n\n result = await buildAfterOperation({\n args,\n collection: collectionConfig,\n operation: 'findByID',\n result,\n })\n\n // /////////////////////////////////////\n // Return results\n // /////////////////////////////////////\n\n return result\n } catch (error: unknown) {\n await killTransaction(args.req)\n throw error\n }\n}\n"],"names":["executeAccess","combineQueries","NotFound","afterRead","killTransaction","replaceWithDraftIfAvailable","buildAfterOperation","findByIDOperation","incomingArgs","args","collection","config","hooks","beforeOperation","reduce","priorHook","hook","context","req","operation","Promise","resolve","id","collectionConfig","currentDepth","depth","disableErrors","draft","draftEnabled","overrideAccess","fallbackLocale","locale","t","showHiddenFields","accessResult","access","read","findOneArgs","slug","transactionID","where","equals","and","result","payload","db","findOne","versions","drafts","doc","entity","entityType","beforeRead","query","global","error"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"findVersionByID.d.ts","sourceRoot":"","sources":["../../../src/collections/operations/findVersionByID.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAC9D,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAQhE,MAAM,MAAM,SAAS,GAAG;IACtB,UAAU,EAAE,UAAU,CAAA;IACtB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IACnB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,GAAG,EAAE,cAAc,CAAA;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B,CAAA;AAED,eAAO,MAAM,wBAAwB,GAAU,KAAK,SAAS,UAAU,cAC/D,SAAS,KACd,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,CAuHhC,CAAA"}
1
+ {"version":3,"file":"findVersionByID.d.ts","sourceRoot":"","sources":["../../../src/collections/operations/findVersionByID.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAC9D,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAQhE,MAAM,MAAM,SAAS,GAAG;IACtB,UAAU,EAAE,UAAU,CAAA;IACtB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IACnB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,GAAG,EAAE,cAAc,CAAA;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B,CAAA;AAED,eAAO,MAAM,wBAAwB,GAAU,KAAK,SAAS,UAAU,cAC/D,SAAS,KACd,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,CA6HhC,CAAA"}
@@ -19,7 +19,9 @@ export const findVersionByIDOperation = async (args)=>{
19
19
  req
20
20
  }, collectionConfig.access.readVersions) : true;
21
21
  // If errors are disabled, and access returns false, return null
22
- if (accessResults === false) return null;
22
+ if (accessResults === false) {
23
+ return null;
24
+ }
23
25
  const hasWhereAccess = typeof accessResults === 'object';
24
26
  const fullWhere = combineQueries({
25
27
  id: {
@@ -40,8 +42,12 @@ export const findVersionByIDOperation = async (args)=>{
40
42
  const result = versionsQuery.docs[0];
41
43
  if (!result) {
42
44
  if (!disableErrors) {
43
- if (!hasWhereAccess) throw new NotFound(req.t);
44
- if (hasWhereAccess) throw new Forbidden(req.t);
45
+ if (!hasWhereAccess) {
46
+ throw new NotFound(req.t);
47
+ }
48
+ if (hasWhereAccess) {
49
+ throw new Forbidden(req.t);
50
+ }
45
51
  }
46
52
  return null;
47
53
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/collections/operations/findVersionByID.ts"],"sourcesContent":["import httpStatus from 'http-status'\n\nimport type { PayloadRequest } from '../../types/index.js'\nimport type { TypeWithVersion } from '../../versions/types.js'\nimport type { Collection, TypeWithID } from '../config/types.js'\n\nimport executeAccess from '../../auth/executeAccess.js'\nimport { combineQueries } from '../../database/combineQueries.js'\nimport { APIError, Forbidden, NotFound } from '../../errors/index.js'\nimport { afterRead } from '../../fields/hooks/afterRead/index.js'\nimport { killTransaction } from '../../utilities/killTransaction.js'\n\nexport type Arguments = {\n collection: Collection\n currentDepth?: number\n depth?: number\n disableErrors?: boolean\n id: number | string\n overrideAccess?: boolean\n req: PayloadRequest\n showHiddenFields?: boolean\n}\n\nexport const findVersionByIDOperation = async <TData extends TypeWithID = any>(\n args: Arguments,\n): Promise<TypeWithVersion<TData>> => {\n const {\n id,\n collection: { config: collectionConfig },\n currentDepth,\n depth,\n disableErrors,\n overrideAccess,\n req: { fallbackLocale, locale, payload },\n req,\n showHiddenFields,\n } = args\n\n if (!id) {\n throw new APIError('Missing ID of version.', httpStatus.BAD_REQUEST)\n }\n\n try {\n // /////////////////////////////////////\n // Access\n // /////////////////////////////////////\n\n const accessResults = !overrideAccess\n ? await executeAccess({ id, disableErrors, req }, collectionConfig.access.readVersions)\n : true\n\n // If errors are disabled, and access returns false, return null\n if (accessResults === false) return null\n\n const hasWhereAccess = typeof accessResults === 'object'\n\n const fullWhere = combineQueries({ id: { equals: id } }, accessResults)\n\n // /////////////////////////////////////\n // Find by ID\n // /////////////////////////////////////\n\n const versionsQuery = await payload.db.findVersions<TData>({\n collection: collectionConfig.slug,\n limit: 1,\n locale,\n pagination: false,\n req,\n where: fullWhere,\n })\n\n const result = versionsQuery.docs[0]\n\n if (!result) {\n if (!disableErrors) {\n if (!hasWhereAccess) throw new NotFound(req.t)\n if (hasWhereAccess) throw new Forbidden(req.t)\n }\n\n return null\n }\n\n // /////////////////////////////////////\n // beforeRead - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.beforeRead.reduce(async (priorHook, hook) => {\n await priorHook\n\n result.version =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n doc: result.version,\n query: fullWhere,\n req,\n })) || result.version\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // afterRead - Fields\n // /////////////////////////////////////\n\n result.version = await afterRead({\n collection: collectionConfig,\n context: req.context,\n currentDepth,\n depth,\n doc: result.version,\n draft: undefined,\n fallbackLocale,\n global: null,\n locale,\n overrideAccess,\n req,\n showHiddenFields,\n })\n\n // /////////////////////////////////////\n // afterRead - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.afterRead.reduce(async (priorHook, hook) => {\n await priorHook\n\n result.version =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n doc: result.version,\n query: fullWhere,\n req,\n })) || result.version\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // Return results\n // /////////////////////////////////////\n\n return result\n } catch (error: unknown) {\n await killTransaction(req)\n throw error\n }\n}\n"],"names":["httpStatus","executeAccess","combineQueries","APIError","Forbidden","NotFound","afterRead","killTransaction","findVersionByIDOperation","args","id","collection","config","collectionConfig","currentDepth","depth","disableErrors","overrideAccess","req","fallbackLocale","locale","payload","showHiddenFields","BAD_REQUEST","accessResults","access","readVersions","hasWhereAccess","fullWhere","equals","versionsQuery","db","findVersions","slug","limit","pagination","where","result","docs","t","hooks","beforeRead","reduce","priorHook","hook","version","context","doc","query","Promise","resolve","draft","undefined","global","error"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/collections/operations/findVersionByID.ts"],"sourcesContent":["import httpStatus from 'http-status'\n\nimport type { PayloadRequest } from '../../types/index.js'\nimport type { TypeWithVersion } from '../../versions/types.js'\nimport type { Collection, TypeWithID } from '../config/types.js'\n\nimport executeAccess from '../../auth/executeAccess.js'\nimport { combineQueries } from '../../database/combineQueries.js'\nimport { APIError, Forbidden, NotFound } from '../../errors/index.js'\nimport { afterRead } from '../../fields/hooks/afterRead/index.js'\nimport { killTransaction } from '../../utilities/killTransaction.js'\n\nexport type Arguments = {\n collection: Collection\n currentDepth?: number\n depth?: number\n disableErrors?: boolean\n id: number | string\n overrideAccess?: boolean\n req: PayloadRequest\n showHiddenFields?: boolean\n}\n\nexport const findVersionByIDOperation = async <TData extends TypeWithID = any>(\n args: Arguments,\n): Promise<TypeWithVersion<TData>> => {\n const {\n id,\n collection: { config: collectionConfig },\n currentDepth,\n depth,\n disableErrors,\n overrideAccess,\n req: { fallbackLocale, locale, payload },\n req,\n showHiddenFields,\n } = args\n\n if (!id) {\n throw new APIError('Missing ID of version.', httpStatus.BAD_REQUEST)\n }\n\n try {\n // /////////////////////////////////////\n // Access\n // /////////////////////////////////////\n\n const accessResults = !overrideAccess\n ? await executeAccess({ id, disableErrors, req }, collectionConfig.access.readVersions)\n : true\n\n // If errors are disabled, and access returns false, return null\n if (accessResults === false) {\n return null\n }\n\n const hasWhereAccess = typeof accessResults === 'object'\n\n const fullWhere = combineQueries({ id: { equals: id } }, accessResults)\n\n // /////////////////////////////////////\n // Find by ID\n // /////////////////////////////////////\n\n const versionsQuery = await payload.db.findVersions<TData>({\n collection: collectionConfig.slug,\n limit: 1,\n locale,\n pagination: false,\n req,\n where: fullWhere,\n })\n\n const result = versionsQuery.docs[0]\n\n if (!result) {\n if (!disableErrors) {\n if (!hasWhereAccess) {\n throw new NotFound(req.t)\n }\n if (hasWhereAccess) {\n throw new Forbidden(req.t)\n }\n }\n\n return null\n }\n\n // /////////////////////////////////////\n // beforeRead - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.beforeRead.reduce(async (priorHook, hook) => {\n await priorHook\n\n result.version =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n doc: result.version,\n query: fullWhere,\n req,\n })) || result.version\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // afterRead - Fields\n // /////////////////////////////////////\n\n result.version = await afterRead({\n collection: collectionConfig,\n context: req.context,\n currentDepth,\n depth,\n doc: result.version,\n draft: undefined,\n fallbackLocale,\n global: null,\n locale,\n overrideAccess,\n req,\n showHiddenFields,\n })\n\n // /////////////////////////////////////\n // afterRead - Collection\n // /////////////////////////////////////\n\n await collectionConfig.hooks.afterRead.reduce(async (priorHook, hook) => {\n await priorHook\n\n result.version =\n (await hook({\n collection: collectionConfig,\n context: req.context,\n doc: result.version,\n query: fullWhere,\n req,\n })) || result.version\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // Return results\n // /////////////////////////////////////\n\n return result\n } catch (error: unknown) {\n await killTransaction(req)\n throw error\n }\n}\n"],"names":["httpStatus","executeAccess","combineQueries","APIError","Forbidden","NotFound","afterRead","killTransaction","findVersionByIDOperation","args","id","collection","config","collectionConfig","currentDepth","depth","disableErrors","overrideAccess","req","fallbackLocale","locale","payload","showHiddenFields","BAD_REQUEST","accessResults","access","readVersions","hasWhereAccess","fullWhere","equals","versionsQuery","db","findVersions","slug","limit","pagination","where","result","docs","t","hooks","beforeRead","reduce","priorHook","hook","version","context","doc","query","Promise","resolve","draft","undefined","global","error"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"restoreVersion.d.ts","sourceRoot":"","sources":["../../../src/collections/operations/restoreVersion.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAWhE,MAAM,MAAM,SAAS,GAAG;IACtB,UAAU,EAAE,UAAU,CAAA;IACtB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IACnB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,GAAG,EAAE,cAAc,CAAA;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B,CAAA;AAED,eAAO,MAAM,uBAAuB,GAAU,KAAK,SAAS,UAAU,cAC9D,SAAS,KACd,OAAO,CAAC,KAAK,CAgLf,CAAA"}
1
+ {"version":3,"file":"restoreVersion.d.ts","sourceRoot":"","sources":["../../../src/collections/operations/restoreVersion.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAWhE,MAAM,MAAM,SAAS,GAAG;IACtB,UAAU,EAAE,UAAU,CAAA;IACtB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IACnB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,GAAG,EAAE,cAAc,CAAA;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B,CAAA;AAED,eAAO,MAAM,uBAAuB,GAAU,KAAK,SAAS,UAAU,cAC9D,SAAS,KACd,OAAO,CAAC,KAAK,CAoLf,CAAA"}
@@ -55,8 +55,12 @@ export const restoreVersionOperation = async (args)=>{
55
55
  }, accessResults)
56
56
  };
57
57
  const doc = await req.payload.db.findOne(findOneArgs);
58
- if (!doc && !hasWherePolicy) throw new NotFound(req.t);
59
- if (!doc && hasWherePolicy) throw new Forbidden(req.t);
58
+ if (!doc && !hasWherePolicy) {
59
+ throw new NotFound(req.t);
60
+ }
61
+ if (!doc && hasWherePolicy) {
62
+ throw new Forbidden(req.t);
63
+ }
60
64
  // /////////////////////////////////////
61
65
  // fetch previousDoc
62
66
  // /////////////////////////////////////