payload 3.0.0-beta.52 → 3.0.0-beta.54

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 (550) hide show
  1. package/dist/admin/LanguageOptions.js.map +1 -1
  2. package/dist/admin/RichText.js.map +1 -1
  3. package/dist/admin/elements/Cell.d.ts +0 -1
  4. package/dist/admin/elements/Cell.d.ts.map +1 -1
  5. package/dist/admin/elements/Cell.js.map +1 -1
  6. package/dist/admin/elements/DatePicker.js.map +1 -1
  7. package/dist/admin/elements/PreviewButton.js.map +1 -1
  8. package/dist/admin/elements/PublishButton.js.map +1 -1
  9. package/dist/admin/elements/SaveButton.js.map +1 -1
  10. package/dist/admin/elements/SaveDraftButton.js.map +1 -1
  11. package/dist/admin/elements/Tab.d.ts +0 -1
  12. package/dist/admin/elements/Tab.d.ts.map +1 -1
  13. package/dist/admin/elements/Tab.js.map +1 -1
  14. package/dist/admin/elements/WithServerSideProps.js.map +1 -1
  15. package/dist/admin/forms/Error.d.ts +0 -1
  16. package/dist/admin/forms/Error.d.ts.map +1 -1
  17. package/dist/admin/forms/Error.js.map +1 -1
  18. package/dist/admin/forms/FieldDescription.js.map +1 -1
  19. package/dist/admin/forms/FieldTypes.d.ts +0 -1
  20. package/dist/admin/forms/FieldTypes.d.ts.map +1 -1
  21. package/dist/admin/forms/FieldTypes.js.map +1 -1
  22. package/dist/admin/forms/Form.js.map +1 -1
  23. package/dist/admin/forms/Label.d.ts +0 -1
  24. package/dist/admin/forms/Label.d.ts.map +1 -1
  25. package/dist/admin/forms/Label.js.map +1 -1
  26. package/dist/admin/forms/RowLabel.js.map +1 -1
  27. package/dist/admin/types.js.map +1 -1
  28. package/dist/admin/views/types.d.ts +0 -1
  29. package/dist/admin/views/types.d.ts.map +1 -1
  30. package/dist/admin/views/types.js.map +1 -1
  31. package/dist/assets/assets.d.js.map +1 -1
  32. package/dist/auth/baseFields/accountLock.d.ts.map +1 -1
  33. package/dist/auth/baseFields/accountLock.js.map +1 -1
  34. package/dist/auth/baseFields/apiKey.d.ts.map +1 -1
  35. package/dist/auth/baseFields/apiKey.js.map +1 -1
  36. package/dist/auth/baseFields/auth.js.map +1 -1
  37. package/dist/auth/baseFields/verification.d.ts.map +1 -1
  38. package/dist/auth/baseFields/verification.js.map +1 -1
  39. package/dist/auth/cookies.d.ts +3 -3
  40. package/dist/auth/cookies.d.ts.map +1 -1
  41. package/dist/auth/cookies.js.map +1 -1
  42. package/dist/auth/crypto.js.map +1 -1
  43. package/dist/auth/defaultAccess.js.map +1 -1
  44. package/dist/auth/defaultUser.js.map +1 -1
  45. package/dist/auth/executeAccess.d.ts.map +1 -1
  46. package/dist/auth/executeAccess.js.map +1 -1
  47. package/dist/auth/executeAuthStrategies.d.ts +2 -2
  48. package/dist/auth/executeAuthStrategies.d.ts.map +1 -1
  49. package/dist/auth/executeAuthStrategies.js.map +1 -1
  50. package/dist/auth/extractJWT.d.ts +1 -1
  51. package/dist/auth/extractJWT.d.ts.map +1 -1
  52. package/dist/auth/extractJWT.js.map +1 -1
  53. package/dist/auth/getAccessResults.js.map +1 -1
  54. package/dist/auth/getFieldsToSign.d.ts +1 -1
  55. package/dist/auth/getFieldsToSign.d.ts.map +1 -1
  56. package/dist/auth/getFieldsToSign.js.map +1 -1
  57. package/dist/auth/index.js.map +1 -1
  58. package/dist/auth/isLocked.js.map +1 -1
  59. package/dist/auth/operations/access.d.ts.map +1 -1
  60. package/dist/auth/operations/access.js.map +1 -1
  61. package/dist/auth/operations/auth.d.ts +2 -3
  62. package/dist/auth/operations/auth.d.ts.map +1 -1
  63. package/dist/auth/operations/auth.js +0 -4
  64. package/dist/auth/operations/auth.js.map +1 -1
  65. package/dist/auth/operations/forgotPassword.d.ts.map +1 -1
  66. package/dist/auth/operations/forgotPassword.js.map +1 -1
  67. package/dist/auth/operations/init.d.ts.map +1 -1
  68. package/dist/auth/operations/init.js.map +1 -1
  69. package/dist/auth/operations/local/auth.d.ts.map +1 -1
  70. package/dist/auth/operations/local/auth.js.map +1 -1
  71. package/dist/auth/operations/local/forgotPassword.d.ts +3 -3
  72. package/dist/auth/operations/local/forgotPassword.d.ts.map +1 -1
  73. package/dist/auth/operations/local/forgotPassword.js.map +1 -1
  74. package/dist/auth/operations/local/index.js.map +1 -1
  75. package/dist/auth/operations/local/login.d.ts +4 -4
  76. package/dist/auth/operations/local/login.d.ts.map +1 -1
  77. package/dist/auth/operations/local/login.js.map +1 -1
  78. package/dist/auth/operations/local/resetPassword.d.ts +3 -3
  79. package/dist/auth/operations/local/resetPassword.d.ts.map +1 -1
  80. package/dist/auth/operations/local/resetPassword.js.map +1 -1
  81. package/dist/auth/operations/local/unlock.d.ts +3 -3
  82. package/dist/auth/operations/local/unlock.d.ts.map +1 -1
  83. package/dist/auth/operations/local/unlock.js.map +1 -1
  84. package/dist/auth/operations/local/verifyEmail.d.ts +3 -3
  85. package/dist/auth/operations/local/verifyEmail.d.ts.map +1 -1
  86. package/dist/auth/operations/local/verifyEmail.js.map +1 -1
  87. package/dist/auth/operations/login.d.ts +4 -4
  88. package/dist/auth/operations/login.d.ts.map +1 -1
  89. package/dist/auth/operations/login.js.map +1 -1
  90. package/dist/auth/operations/logout.d.ts.map +1 -1
  91. package/dist/auth/operations/logout.js.map +1 -1
  92. package/dist/auth/operations/me.d.ts.map +1 -1
  93. package/dist/auth/operations/me.js.map +1 -1
  94. package/dist/auth/operations/refresh.d.ts.map +1 -1
  95. package/dist/auth/operations/refresh.js.map +1 -1
  96. package/dist/auth/operations/registerFirstUser.d.ts +7 -10
  97. package/dist/auth/operations/registerFirstUser.d.ts.map +1 -1
  98. package/dist/auth/operations/registerFirstUser.js.map +1 -1
  99. package/dist/auth/operations/resetPassword.d.ts.map +1 -1
  100. package/dist/auth/operations/resetPassword.js.map +1 -1
  101. package/dist/auth/operations/unlock.d.ts.map +1 -1
  102. package/dist/auth/operations/unlock.js.map +1 -1
  103. package/dist/auth/operations/verifyEmail.d.ts.map +1 -1
  104. package/dist/auth/operations/verifyEmail.js.map +1 -1
  105. package/dist/auth/sendVerificationEmail.js.map +1 -1
  106. package/dist/auth/strategies/apiKey.js.map +1 -1
  107. package/dist/auth/strategies/jwt.js.map +1 -1
  108. package/dist/auth/strategies/local/authenticate.d.ts.map +1 -1
  109. package/dist/auth/strategies/local/authenticate.js.map +1 -1
  110. package/dist/auth/strategies/local/generatePasswordSaltHash.d.ts.map +1 -1
  111. package/dist/auth/strategies/local/generatePasswordSaltHash.js.map +1 -1
  112. package/dist/auth/strategies/local/incrementLoginAttempts.d.ts.map +1 -1
  113. package/dist/auth/strategies/local/incrementLoginAttempts.js.map +1 -1
  114. package/dist/auth/strategies/local/register.d.ts.map +1 -1
  115. package/dist/auth/strategies/local/register.js.map +1 -1
  116. package/dist/auth/strategies/local/resetLoginAttempts.d.ts.map +1 -1
  117. package/dist/auth/strategies/local/resetLoginAttempts.js.map +1 -1
  118. package/dist/auth/types.d.ts +1 -2
  119. package/dist/auth/types.d.ts.map +1 -1
  120. package/dist/auth/types.js.map +1 -1
  121. package/dist/bin/generateTypes.js.map +1 -1
  122. package/dist/bin/index.js.map +1 -1
  123. package/dist/bin/loadEnv.js.map +1 -1
  124. package/dist/bin/loader/clientExtensions.js.map +1 -1
  125. package/dist/bin/loader/compile.js.map +1 -1
  126. package/dist/bin/loader/ignores.js.map +1 -1
  127. package/dist/bin/loader/index.js.map +1 -1
  128. package/dist/bin/loader/read-default-tsconfig.js.map +1 -1
  129. package/dist/bin/loader/resolveOriginalPath.js.map +1 -1
  130. package/dist/bin/migrate.d.ts.map +1 -1
  131. package/dist/bin/migrate.js.map +1 -1
  132. package/dist/collections/config/build.js.map +1 -1
  133. package/dist/collections/config/client.d.ts +78 -109
  134. package/dist/collections/config/client.d.ts.map +1 -1
  135. package/dist/collections/config/client.js.map +1 -1
  136. package/dist/collections/config/defaults.js.map +1 -1
  137. package/dist/collections/config/sanitize.d.ts.map +1 -1
  138. package/dist/collections/config/sanitize.js.map +1 -1
  139. package/dist/collections/config/schema.js.map +1 -1
  140. package/dist/collections/config/types.d.ts +11 -9
  141. package/dist/collections/config/types.d.ts.map +1 -1
  142. package/dist/collections/config/types.js.map +1 -1
  143. package/dist/collections/dataloader.js.map +1 -1
  144. package/dist/collections/operations/count.d.ts +3 -2
  145. package/dist/collections/operations/count.d.ts.map +1 -1
  146. package/dist/collections/operations/count.js.map +1 -1
  147. package/dist/collections/operations/create.d.ts +5 -9
  148. package/dist/collections/operations/create.d.ts.map +1 -1
  149. package/dist/collections/operations/create.js.map +1 -1
  150. package/dist/collections/operations/delete.d.ts +5 -5
  151. package/dist/collections/operations/delete.d.ts.map +1 -1
  152. package/dist/collections/operations/delete.js.map +1 -1
  153. package/dist/collections/operations/deleteByID.d.ts +4 -3
  154. package/dist/collections/operations/deleteByID.d.ts.map +1 -1
  155. package/dist/collections/operations/deleteByID.js.map +1 -1
  156. package/dist/collections/operations/docAccess.js.map +1 -1
  157. package/dist/collections/operations/duplicate.d.ts +3 -3
  158. package/dist/collections/operations/duplicate.d.ts.map +1 -1
  159. package/dist/collections/operations/duplicate.js.map +1 -1
  160. package/dist/collections/operations/find.d.ts +3 -2
  161. package/dist/collections/operations/find.d.ts.map +1 -1
  162. package/dist/collections/operations/find.js.map +1 -1
  163. package/dist/collections/operations/findByID.d.ts +3 -2
  164. package/dist/collections/operations/findByID.d.ts.map +1 -1
  165. package/dist/collections/operations/findByID.js +2 -3
  166. package/dist/collections/operations/findByID.js.map +1 -1
  167. package/dist/collections/operations/findVersionByID.d.ts +1 -1
  168. package/dist/collections/operations/findVersionByID.d.ts.map +1 -1
  169. package/dist/collections/operations/findVersionByID.js.map +1 -1
  170. package/dist/collections/operations/findVersions.d.ts +1 -1
  171. package/dist/collections/operations/findVersions.d.ts.map +1 -1
  172. package/dist/collections/operations/findVersions.js.map +1 -1
  173. package/dist/collections/operations/local/count.d.ts +5 -5
  174. package/dist/collections/operations/local/count.d.ts.map +1 -1
  175. package/dist/collections/operations/local/count.js.map +1 -1
  176. package/dist/collections/operations/local/create.d.ts +7 -7
  177. package/dist/collections/operations/local/create.d.ts.map +1 -1
  178. package/dist/collections/operations/local/create.js.map +1 -1
  179. package/dist/collections/operations/local/delete.d.ts +12 -12
  180. package/dist/collections/operations/local/delete.d.ts.map +1 -1
  181. package/dist/collections/operations/local/delete.js.map +1 -1
  182. package/dist/collections/operations/local/duplicate.d.ts +6 -5
  183. package/dist/collections/operations/local/duplicate.d.ts.map +1 -1
  184. package/dist/collections/operations/local/duplicate.js.map +1 -1
  185. package/dist/collections/operations/local/find.d.ts +7 -6
  186. package/dist/collections/operations/local/find.d.ts.map +1 -1
  187. package/dist/collections/operations/local/find.js +1 -1
  188. package/dist/collections/operations/local/find.js.map +1 -1
  189. package/dist/collections/operations/local/findByID.d.ts +7 -6
  190. package/dist/collections/operations/local/findByID.d.ts.map +1 -1
  191. package/dist/collections/operations/local/findByID.js.map +1 -1
  192. package/dist/collections/operations/local/findVersionByID.d.ts +7 -6
  193. package/dist/collections/operations/local/findVersionByID.d.ts.map +1 -1
  194. package/dist/collections/operations/local/findVersionByID.js.map +1 -1
  195. package/dist/collections/operations/local/findVersions.d.ts +7 -6
  196. package/dist/collections/operations/local/findVersions.d.ts.map +1 -1
  197. package/dist/collections/operations/local/findVersions.js.map +1 -1
  198. package/dist/collections/operations/local/index.d.ts +2 -2
  199. package/dist/collections/operations/local/index.d.ts.map +1 -1
  200. package/dist/collections/operations/local/index.js +2 -2
  201. package/dist/collections/operations/local/index.js.map +1 -1
  202. package/dist/collections/operations/local/restoreVersion.d.ts +7 -6
  203. package/dist/collections/operations/local/restoreVersion.d.ts.map +1 -1
  204. package/dist/collections/operations/local/restoreVersion.js.map +1 -1
  205. package/dist/collections/operations/local/update.d.ts +12 -12
  206. package/dist/collections/operations/local/update.d.ts.map +1 -1
  207. package/dist/collections/operations/local/update.js.map +1 -1
  208. package/dist/collections/operations/restoreVersion.d.ts +1 -1
  209. package/dist/collections/operations/restoreVersion.d.ts.map +1 -1
  210. package/dist/collections/operations/restoreVersion.js.map +1 -1
  211. package/dist/collections/operations/update.d.ts +5 -6
  212. package/dist/collections/operations/update.d.ts.map +1 -1
  213. package/dist/collections/operations/update.js.map +1 -1
  214. package/dist/collections/operations/updateByID.d.ts +5 -7
  215. package/dist/collections/operations/updateByID.d.ts.map +1 -1
  216. package/dist/collections/operations/updateByID.js.map +1 -1
  217. package/dist/collections/operations/utils.d.ts +39 -36
  218. package/dist/collections/operations/utils.d.ts.map +1 -1
  219. package/dist/collections/operations/utils.js +0 -1
  220. package/dist/collections/operations/utils.js.map +1 -1
  221. package/dist/config/build.js.map +1 -1
  222. package/dist/config/client.d.ts.map +1 -1
  223. package/dist/config/client.js.map +1 -1
  224. package/dist/config/defaults.js.map +1 -1
  225. package/dist/config/find.js.map +1 -1
  226. package/dist/config/sanitize.d.ts.map +1 -1
  227. package/dist/config/sanitize.js.map +1 -1
  228. package/dist/config/schema.js.map +1 -1
  229. package/dist/config/shared/adminViewSchema.js.map +1 -1
  230. package/dist/config/shared/componentSchema.js.map +1 -1
  231. package/dist/config/shared/openGraphSchema.js.map +1 -1
  232. package/dist/config/types.d.ts +2 -3
  233. package/dist/config/types.d.ts.map +1 -1
  234. package/dist/config/types.js.map +1 -1
  235. package/dist/config/validate.js.map +1 -1
  236. package/dist/database/combineQueries.js.map +1 -1
  237. package/dist/database/createDatabaseAdapter.js.map +1 -1
  238. package/dist/database/flattenWhereToOperators.js.map +1 -1
  239. package/dist/database/getLocalizedPaths.js.map +1 -1
  240. package/dist/database/migrations/createMigration.js.map +1 -1
  241. package/dist/database/migrations/getMigrations.js.map +1 -1
  242. package/dist/database/migrations/getPredefinedMigration.d.ts.map +1 -1
  243. package/dist/database/migrations/getPredefinedMigration.js.map +1 -1
  244. package/dist/database/migrations/migrate.js.map +1 -1
  245. package/dist/database/migrations/migrateDown.js.map +1 -1
  246. package/dist/database/migrations/migrateRefresh.js.map +1 -1
  247. package/dist/database/migrations/migrateReset.js.map +1 -1
  248. package/dist/database/migrations/migrateStatus.js.map +1 -1
  249. package/dist/database/migrations/migrationTemplate.js.map +1 -1
  250. package/dist/database/migrations/migrationsCollection.js.map +1 -1
  251. package/dist/database/migrations/readMigrationFiles.d.ts.map +1 -1
  252. package/dist/database/migrations/readMigrationFiles.js.map +1 -1
  253. package/dist/database/queryValidation/types.js.map +1 -1
  254. package/dist/database/queryValidation/validateQueryPaths.js.map +1 -1
  255. package/dist/database/queryValidation/validateSearchParams.js.map +1 -1
  256. package/dist/database/types.d.ts +5 -6
  257. package/dist/database/types.d.ts.map +1 -1
  258. package/dist/database/types.js.map +1 -1
  259. package/dist/email/consoleEmailAdapter.js.map +1 -1
  260. package/dist/email/defaults.js.map +1 -1
  261. package/dist/email/getStringifiedToAddress.js.map +1 -1
  262. package/dist/email/sendEmail.js.map +1 -1
  263. package/dist/email/types.js.map +1 -1
  264. package/dist/errors/APIError.js.map +1 -1
  265. package/dist/errors/AuthenticationError.js.map +1 -1
  266. package/dist/errors/DuplicateCollection.js.map +1 -1
  267. package/dist/errors/DuplicateFieldName.js.map +1 -1
  268. package/dist/errors/DuplicateGlobal.js.map +1 -1
  269. package/dist/errors/ErrorDeletingFile.js.map +1 -1
  270. package/dist/errors/FileRetrievalError.js.map +1 -1
  271. package/dist/errors/FileUploadError.js.map +1 -1
  272. package/dist/errors/Forbidden.js.map +1 -1
  273. package/dist/errors/InvalidConfiguration.js.map +1 -1
  274. package/dist/errors/InvalidFieldName.js.map +1 -1
  275. package/dist/errors/InvalidFieldRelationship.js.map +1 -1
  276. package/dist/errors/InvalidSchema.js.map +1 -1
  277. package/dist/errors/LockedAuth.js.map +1 -1
  278. package/dist/errors/MissingCollectionLabel.js.map +1 -1
  279. package/dist/errors/MissingEditorProp.js.map +1 -1
  280. package/dist/errors/MissingFieldInputOptions.js.map +1 -1
  281. package/dist/errors/MissingFieldType.js.map +1 -1
  282. package/dist/errors/MissingFile.js.map +1 -1
  283. package/dist/errors/NotFound.js.map +1 -1
  284. package/dist/errors/QueryError.js.map +1 -1
  285. package/dist/errors/TimestampsRequired.js.map +1 -1
  286. package/dist/errors/UnathorizedError.js.map +1 -1
  287. package/dist/errors/ValidationError.js.map +1 -1
  288. package/dist/errors/index.js.map +1 -1
  289. package/dist/errors/types.js.map +1 -1
  290. package/dist/exports/i18n/ar.js.map +1 -1
  291. package/dist/exports/i18n/az.js.map +1 -1
  292. package/dist/exports/i18n/bg.js.map +1 -1
  293. package/dist/exports/i18n/cs.js.map +1 -1
  294. package/dist/exports/i18n/de.js.map +1 -1
  295. package/dist/exports/i18n/en.js.map +1 -1
  296. package/dist/exports/i18n/es.js.map +1 -1
  297. package/dist/exports/i18n/fa.js.map +1 -1
  298. package/dist/exports/i18n/fr.js.map +1 -1
  299. package/dist/exports/i18n/he.js.map +1 -1
  300. package/dist/exports/i18n/hr.js.map +1 -1
  301. package/dist/exports/i18n/hu.js.map +1 -1
  302. package/dist/exports/i18n/it.js.map +1 -1
  303. package/dist/exports/i18n/ja.js.map +1 -1
  304. package/dist/exports/i18n/ko.js.map +1 -1
  305. package/dist/exports/i18n/my.js.map +1 -1
  306. package/dist/exports/i18n/nb.js.map +1 -1
  307. package/dist/exports/i18n/nl.js.map +1 -1
  308. package/dist/exports/i18n/pl.js.map +1 -1
  309. package/dist/exports/i18n/pt.js.map +1 -1
  310. package/dist/exports/i18n/ro.js.map +1 -1
  311. package/dist/exports/i18n/rs.js.map +1 -1
  312. package/dist/exports/i18n/rsLatin.js.map +1 -1
  313. package/dist/exports/i18n/ru.js.map +1 -1
  314. package/dist/exports/i18n/sv.js.map +1 -1
  315. package/dist/exports/i18n/th.js.map +1 -1
  316. package/dist/exports/i18n/tr.js.map +1 -1
  317. package/dist/exports/i18n/uk.js.map +1 -1
  318. package/dist/exports/i18n/vi.js.map +1 -1
  319. package/dist/exports/i18n/zh.js.map +1 -1
  320. package/dist/exports/i18n/zhTw.js.map +1 -1
  321. package/dist/exports/node.js.map +1 -1
  322. package/dist/exports/shared.js.map +1 -1
  323. package/dist/fields/baseFields/baseBlockFields.js.map +1 -1
  324. package/dist/fields/baseFields/baseIDField.js.map +1 -1
  325. package/dist/fields/config/client.d.ts +333 -334
  326. package/dist/fields/config/client.d.ts.map +1 -1
  327. package/dist/fields/config/client.js.map +1 -1
  328. package/dist/fields/config/sanitize.d.ts.map +1 -1
  329. package/dist/fields/config/sanitize.js.map +1 -1
  330. package/dist/fields/config/sanitize.spec.js.map +1 -1
  331. package/dist/fields/config/schema.js +5 -5
  332. package/dist/fields/config/schema.js.map +1 -1
  333. package/dist/fields/config/types.d.ts +7 -6
  334. package/dist/fields/config/types.d.ts.map +1 -1
  335. package/dist/fields/config/types.js.map +1 -1
  336. package/dist/fields/getDefaultValue.js.map +1 -1
  337. package/dist/fields/getFieldPaths.js.map +1 -1
  338. package/dist/fields/hooks/afterChange/index.d.ts.map +1 -1
  339. package/dist/fields/hooks/afterChange/index.js.map +1 -1
  340. package/dist/fields/hooks/afterChange/promise.d.ts.map +1 -1
  341. package/dist/fields/hooks/afterChange/promise.js.map +1 -1
  342. package/dist/fields/hooks/afterChange/traverseFields.d.ts.map +1 -1
  343. package/dist/fields/hooks/afterChange/traverseFields.js.map +1 -1
  344. package/dist/fields/hooks/afterRead/index.js.map +1 -1
  345. package/dist/fields/hooks/afterRead/promise.d.ts.map +1 -1
  346. package/dist/fields/hooks/afterRead/promise.js.map +1 -1
  347. package/dist/fields/hooks/afterRead/relationshipPopulationPromise.d.ts.map +1 -1
  348. package/dist/fields/hooks/afterRead/relationshipPopulationPromise.js.map +1 -1
  349. package/dist/fields/hooks/afterRead/traverseFields.js.map +1 -1
  350. package/dist/fields/hooks/beforeChange/beforeDuplicate.js.map +1 -1
  351. package/dist/fields/hooks/beforeChange/cloneDataFromOriginalDoc.js.map +1 -1
  352. package/dist/fields/hooks/beforeChange/getExistingRowDoc.d.ts.map +1 -1
  353. package/dist/fields/hooks/beforeChange/getExistingRowDoc.js.map +1 -1
  354. package/dist/fields/hooks/beforeChange/index.d.ts.map +1 -1
  355. package/dist/fields/hooks/beforeChange/index.js.map +1 -1
  356. package/dist/fields/hooks/beforeChange/promise.d.ts.map +1 -1
  357. package/dist/fields/hooks/beforeChange/promise.js.map +1 -1
  358. package/dist/fields/hooks/beforeChange/traverseFields.d.ts.map +1 -1
  359. package/dist/fields/hooks/beforeChange/traverseFields.js.map +1 -1
  360. package/dist/fields/hooks/beforeValidate/index.d.ts.map +1 -1
  361. package/dist/fields/hooks/beforeValidate/index.js.map +1 -1
  362. package/dist/fields/hooks/beforeValidate/promise.d.ts.map +1 -1
  363. package/dist/fields/hooks/beforeValidate/promise.js.map +1 -1
  364. package/dist/fields/hooks/beforeValidate/traverseFields.d.ts.map +1 -1
  365. package/dist/fields/hooks/beforeValidate/traverseFields.js.map +1 -1
  366. package/dist/fields/mergeBaseFields.js.map +1 -1
  367. package/dist/fields/setDefaultBeforeDuplicate.js.map +1 -1
  368. package/dist/fields/sortableFieldTypes.js.map +1 -1
  369. package/dist/fields/validations.d.ts +6 -7
  370. package/dist/fields/validations.d.ts.map +1 -1
  371. package/dist/fields/validations.js +1 -1
  372. package/dist/fields/validations.js.map +1 -1
  373. package/dist/fields/validations.spec.js.map +1 -1
  374. package/dist/globals/config/client.d.ts +2 -2
  375. package/dist/globals/config/client.js.map +1 -1
  376. package/dist/globals/config/sanitize.d.ts.map +1 -1
  377. package/dist/globals/config/sanitize.js.map +1 -1
  378. package/dist/globals/config/schema.js.map +1 -1
  379. package/dist/globals/config/types.d.ts +2 -3
  380. package/dist/globals/config/types.d.ts.map +1 -1
  381. package/dist/globals/config/types.js.map +1 -1
  382. package/dist/globals/operations/docAccess.d.ts.map +1 -1
  383. package/dist/globals/operations/docAccess.js.map +1 -1
  384. package/dist/globals/operations/findOne.d.ts.map +1 -1
  385. package/dist/globals/operations/findOne.js.map +1 -1
  386. package/dist/globals/operations/findVersionByID.d.ts.map +1 -1
  387. package/dist/globals/operations/findVersionByID.js.map +1 -1
  388. package/dist/globals/operations/findVersions.d.ts.map +1 -1
  389. package/dist/globals/operations/findVersions.js.map +1 -1
  390. package/dist/globals/operations/local/findOne.d.ts +7 -6
  391. package/dist/globals/operations/local/findOne.d.ts.map +1 -1
  392. package/dist/globals/operations/local/findOne.js.map +1 -1
  393. package/dist/globals/operations/local/findVersionByID.d.ts +7 -6
  394. package/dist/globals/operations/local/findVersionByID.d.ts.map +1 -1
  395. package/dist/globals/operations/local/findVersionByID.js.map +1 -1
  396. package/dist/globals/operations/local/findVersions.d.ts +7 -6
  397. package/dist/globals/operations/local/findVersions.d.ts.map +1 -1
  398. package/dist/globals/operations/local/findVersions.js.map +1 -1
  399. package/dist/globals/operations/local/index.js.map +1 -1
  400. package/dist/globals/operations/local/restoreVersion.d.ts +7 -6
  401. package/dist/globals/operations/local/restoreVersion.d.ts.map +1 -1
  402. package/dist/globals/operations/local/restoreVersion.js.map +1 -1
  403. package/dist/globals/operations/local/update.d.ts +7 -6
  404. package/dist/globals/operations/local/update.d.ts.map +1 -1
  405. package/dist/globals/operations/local/update.js.map +1 -1
  406. package/dist/globals/operations/restoreVersion.d.ts.map +1 -1
  407. package/dist/globals/operations/restoreVersion.js.map +1 -1
  408. package/dist/globals/operations/update.d.ts +5 -7
  409. package/dist/globals/operations/update.d.ts.map +1 -1
  410. package/dist/globals/operations/update.js.map +1 -1
  411. package/dist/index.d.ts +55 -44
  412. package/dist/index.d.ts.map +1 -1
  413. package/dist/index.js +2 -3
  414. package/dist/index.js.map +1 -1
  415. package/dist/preferences/deleteUserPreferences.js.map +1 -1
  416. package/dist/preferences/operations/delete.js.map +1 -1
  417. package/dist/preferences/operations/findOne.d.ts +2 -2
  418. package/dist/preferences/operations/findOne.d.ts.map +1 -1
  419. package/dist/preferences/operations/findOne.js.map +1 -1
  420. package/dist/preferences/operations/update.js.map +1 -1
  421. package/dist/preferences/preferencesCollection.js.map +1 -1
  422. package/dist/preferences/requestHandlers/delete.js.map +1 -1
  423. package/dist/preferences/requestHandlers/findOne.js.map +1 -1
  424. package/dist/preferences/requestHandlers/update.js.map +1 -1
  425. package/dist/preferences/types.js.map +1 -1
  426. package/dist/translations/getLocalI18n.js.map +1 -1
  427. package/dist/types/constants.js.map +1 -1
  428. package/dist/types/index.d.ts +3 -4
  429. package/dist/types/index.d.ts.map +1 -1
  430. package/dist/types/index.js.map +1 -1
  431. package/dist/uploads/canResizeImage.js.map +1 -1
  432. package/dist/uploads/cropImage.js +3 -3
  433. package/dist/uploads/cropImage.js.map +1 -1
  434. package/dist/uploads/deleteAssociatedFiles.js.map +1 -1
  435. package/dist/uploads/docWithFilenameExists.d.ts.map +1 -1
  436. package/dist/uploads/docWithFilenameExists.js.map +1 -1
  437. package/dist/uploads/fileExists.d.ts.map +1 -1
  438. package/dist/uploads/fileExists.js.map +1 -1
  439. package/dist/uploads/formatFilesize.js.map +1 -1
  440. package/dist/uploads/generateFileData.d.ts.map +1 -1
  441. package/dist/uploads/generateFileData.js.map +1 -1
  442. package/dist/uploads/getBaseFields.js.map +1 -1
  443. package/dist/uploads/getExternalFile.d.ts.map +1 -1
  444. package/dist/uploads/getExternalFile.js.map +1 -1
  445. package/dist/uploads/getFileByPath.d.ts +1 -1
  446. package/dist/uploads/getFileByPath.d.ts.map +1 -1
  447. package/dist/uploads/getFileByPath.js.map +1 -1
  448. package/dist/uploads/getImageSize.js.map +1 -1
  449. package/dist/uploads/getSafeFilename.js.map +1 -1
  450. package/dist/uploads/imageResizer.js.map +1 -1
  451. package/dist/uploads/isImage.js.map +1 -1
  452. package/dist/uploads/mimeTypeValidator.js.map +1 -1
  453. package/dist/uploads/mimeTypeValidator.spec.js.map +1 -1
  454. package/dist/uploads/saveBufferToFile.d.ts +0 -1
  455. package/dist/uploads/saveBufferToFile.d.ts.map +1 -1
  456. package/dist/uploads/saveBufferToFile.js.map +1 -1
  457. package/dist/uploads/tempFile.js.map +1 -1
  458. package/dist/uploads/types.d.ts +67 -7
  459. package/dist/uploads/types.d.ts.map +1 -1
  460. package/dist/uploads/types.js.map +1 -1
  461. package/dist/uploads/unlinkTempFiles.js.map +1 -1
  462. package/dist/uploads/uploadFiles.d.ts.map +1 -1
  463. package/dist/uploads/uploadFiles.js.map +1 -1
  464. package/dist/utilities/checkDuplicateCollections.js.map +1 -1
  465. package/dist/utilities/combineMerge.js.map +1 -1
  466. package/dist/utilities/commitTransaction.js.map +1 -1
  467. package/dist/utilities/configToJSONSchema.js.map +1 -1
  468. package/dist/utilities/configToJSONSchema.spec.js.map +1 -1
  469. package/dist/utilities/convertData.js.map +1 -1
  470. package/dist/utilities/createArrayFromCommaDelineated.js.map +1 -1
  471. package/dist/utilities/createLocalReq.js.map +1 -1
  472. package/dist/utilities/deepCopyObject.js.map +1 -1
  473. package/dist/utilities/deepMerge.js.map +1 -1
  474. package/dist/utilities/dependencies/getDependencies.d.ts.map +1 -1
  475. package/dist/utilities/dependencies/getDependencies.js +21 -4
  476. package/dist/utilities/dependencies/getDependencies.js.map +1 -1
  477. package/dist/utilities/dependencies/isError.js.map +1 -1
  478. package/dist/utilities/dependencies/realPath.d.ts +0 -1
  479. package/dist/utilities/dependencies/realPath.d.ts.map +1 -1
  480. package/dist/utilities/dependencies/realPath.js.map +1 -1
  481. package/dist/utilities/dependencies/resolveFrom.js.map +1 -1
  482. package/dist/utilities/fieldSchemaToJSON.d.ts.map +1 -1
  483. package/dist/utilities/fieldSchemaToJSON.js.map +1 -1
  484. package/dist/utilities/flattenTopLevelFields.js.map +1 -1
  485. package/dist/utilities/formatLabels.js.map +1 -1
  486. package/dist/utilities/formatLabels.spec.js.map +1 -1
  487. package/dist/utilities/getCSSVariable.js.map +1 -1
  488. package/dist/utilities/getCollectionIDFieldTypes.js.map +1 -1
  489. package/dist/utilities/getEntityPolicies.js.map +1 -1
  490. package/dist/utilities/getObjectDotNotation.d.ts.map +1 -1
  491. package/dist/utilities/getObjectDotNotation.js.map +1 -1
  492. package/dist/utilities/getUniqueListBy.js.map +1 -1
  493. package/dist/utilities/importWithoutClientFiles.d.ts.map +1 -1
  494. package/dist/utilities/importWithoutClientFiles.js.map +1 -1
  495. package/dist/utilities/initTransaction.js.map +1 -1
  496. package/dist/utilities/isEntityHidden.d.ts +2 -2
  497. package/dist/utilities/isEntityHidden.js.map +1 -1
  498. package/dist/utilities/isNumber.js.map +1 -1
  499. package/dist/utilities/isPlainObject.js.map +1 -1
  500. package/dist/utilities/isReactComponent.js.map +1 -1
  501. package/dist/utilities/isValidID.d.ts +1 -1
  502. package/dist/utilities/isValidID.js.map +1 -1
  503. package/dist/utilities/isolateObjectProperty.js.map +1 -1
  504. package/dist/utilities/killTransaction.js.map +1 -1
  505. package/dist/utilities/logger.d.ts.map +1 -1
  506. package/dist/utilities/logger.js.map +1 -1
  507. package/dist/utilities/mapAsync.js.map +1 -1
  508. package/dist/utilities/mergeListSearchAndWhere.js.map +1 -1
  509. package/dist/utilities/overwriteMerge.js.map +1 -1
  510. package/dist/utilities/parseCookies.d.ts +1 -1
  511. package/dist/utilities/parseCookies.d.ts.map +1 -1
  512. package/dist/utilities/parseCookies.js.map +1 -1
  513. package/dist/utilities/sanitizeInternalFields.d.ts.map +1 -1
  514. package/dist/utilities/sanitizeInternalFields.js.map +1 -1
  515. package/dist/utilities/setsAreEqual.d.ts.map +1 -1
  516. package/dist/utilities/setsAreEqual.js.map +1 -1
  517. package/dist/utilities/telemetry/events/adminInit.js.map +1 -1
  518. package/dist/utilities/telemetry/events/serverInit.d.ts.map +1 -1
  519. package/dist/utilities/telemetry/events/serverInit.js.map +1 -1
  520. package/dist/utilities/telemetry/index.d.ts +1 -1
  521. package/dist/utilities/telemetry/index.d.ts.map +1 -1
  522. package/dist/utilities/telemetry/index.js.map +1 -1
  523. package/dist/utilities/telemetry/oneWayHash.d.ts +0 -1
  524. package/dist/utilities/telemetry/oneWayHash.d.ts.map +1 -1
  525. package/dist/utilities/telemetry/oneWayHash.js.map +1 -1
  526. package/dist/utilities/timestamp.js.map +1 -1
  527. package/dist/utilities/toKebabCase.js.map +1 -1
  528. package/dist/utilities/wait.js.map +1 -1
  529. package/dist/utilities/wordBoundariesRegex.js.map +1 -1
  530. package/dist/versions/baseFields.js.map +1 -1
  531. package/dist/versions/buildCollectionFields.js.map +1 -1
  532. package/dist/versions/buildGlobalFields.js.map +1 -1
  533. package/dist/versions/defaults.js.map +1 -1
  534. package/dist/versions/deleteCollectionVersions.d.ts.map +1 -1
  535. package/dist/versions/deleteCollectionVersions.js.map +1 -1
  536. package/dist/versions/drafts/appendVersionToQueryKey.js.map +1 -1
  537. package/dist/versions/drafts/getQueryDraftsSort.js.map +1 -1
  538. package/dist/versions/drafts/replaceWithDraftIfAvailable.d.ts.map +1 -1
  539. package/dist/versions/drafts/replaceWithDraftIfAvailable.js.map +1 -1
  540. package/dist/versions/enforceMaxVersions.d.ts.map +1 -1
  541. package/dist/versions/enforceMaxVersions.js.map +1 -1
  542. package/dist/versions/getLatestCollectionVersion.d.ts.map +1 -1
  543. package/dist/versions/getLatestCollectionVersion.js.map +1 -1
  544. package/dist/versions/getLatestGlobalVersion.d.ts.map +1 -1
  545. package/dist/versions/getLatestGlobalVersion.js.map +1 -1
  546. package/dist/versions/saveVersion.d.ts.map +1 -1
  547. package/dist/versions/saveVersion.js.map +1 -1
  548. package/dist/versions/types.js.map +1 -1
  549. package/package.json +11 -16
  550. package/bundle.js +0 -75
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/collections/operations/update.ts"],"sourcesContent":["import type { DeepPartial } from 'ts-essentials'\n\nimport httpStatus from 'http-status'\n\nimport type { AccessResult } from '../../config/types.js'\nimport type { GeneratedTypes } from '../../index.js'\nimport type { PayloadRequestWithData, Where } from '../../types/index.js'\nimport type { BulkOperationResult, Collection } from '../config/types.js'\nimport type { CreateUpdateType } from './create.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 { 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 { deleteAssociatedFiles } from '../../uploads/deleteAssociatedFiles.js'\nimport { generateFileData } from '../../uploads/generateFileData.js'\nimport { unlinkTempFiles } from '../../uploads/unlinkTempFiles.js'\nimport { uploadFiles } from '../../uploads/uploadFiles.js'\nimport { commitTransaction } from '../../utilities/commitTransaction.js'\nimport { initTransaction } from '../../utilities/initTransaction.js'\nimport { killTransaction } from '../../utilities/killTransaction.js'\nimport { buildVersionCollectionFields } from '../../versions/buildCollectionFields.js'\nimport { appendVersionToQueryKey } from '../../versions/drafts/appendVersionToQueryKey.js'\nimport { saveVersion } from '../../versions/saveVersion.js'\nimport { buildAfterOperation } from './utils.js'\n\nexport type Arguments<T extends CreateUpdateType> = {\n collection: Collection\n data: DeepPartial<T>\n depth?: number\n disableVerificationEmail?: boolean\n draft?: boolean\n overrideAccess?: boolean\n overwriteExistingFiles?: boolean\n req: PayloadRequestWithData\n showHiddenFields?: boolean\n where: Where\n}\n\nexport const updateOperation = async <TSlug extends keyof GeneratedTypes['collections']>(\n incomingArgs: Arguments<GeneratedTypes['collections'][TSlug]>,\n): Promise<BulkOperationResult<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(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: 'update',\n req: args.req,\n })) || args\n }, Promise.resolve())\n\n const {\n collection: { config: collectionConfig },\n collection,\n depth,\n draft: draftArg = false,\n overrideAccess,\n overwriteExistingFiles = false,\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 update.\", httpStatus.BAD_REQUEST)\n }\n\n const { data: bulkUpdateData } = args\n const shouldSaveDraft = Boolean(draftArg && collectionConfig.versions.drafts)\n\n // /////////////////////////////////////\n // Access\n // /////////////////////////////////////\n\n let accessResult: AccessResult\n if (!overrideAccess) {\n accessResult = await executeAccess({ req }, collectionConfig.access.update)\n }\n\n await validateQueryPaths({\n collectionConfig,\n overrideAccess,\n req,\n where,\n })\n\n // /////////////////////////////////////\n // Retrieve documents\n // /////////////////////////////////////\n\n const fullWhere = combineQueries(where, accessResult)\n\n let docs\n\n if (collectionConfig.versions?.drafts && shouldSaveDraft) {\n const versionsWhere = appendVersionToQueryKey(fullWhere)\n\n await validateQueryPaths({\n collectionConfig: collection.config,\n overrideAccess,\n req,\n versionFields: buildVersionCollectionFields(collection.config),\n where: versionsWhere,\n })\n\n const query = await payload.db.queryDrafts<GeneratedTypes['collections'][TSlug]>({\n collection: collectionConfig.slug,\n locale,\n pagination: false,\n req,\n where: versionsWhere,\n })\n\n docs = query.docs\n } else {\n const query = await payload.db.find({\n collection: collectionConfig.slug,\n limit: 0,\n locale,\n pagination: false,\n req,\n where: fullWhere,\n })\n\n docs = query.docs\n }\n\n // /////////////////////////////////////\n // Generate data for all files and sizes\n // /////////////////////////////////////\n\n const { data: newFileData, files: filesToUpload } = await generateFileData({\n collection,\n config,\n data: bulkUpdateData,\n operation: 'update',\n overwriteExistingFiles,\n req,\n throwOnMissingFile: false,\n })\n\n const errors = []\n\n const promises = docs.map(async (doc) => {\n const { id } = doc\n let data = {\n ...newFileData,\n ...bulkUpdateData,\n }\n\n try {\n const originalDoc = await afterRead({\n collection: collectionConfig,\n context: req.context,\n depth: 0,\n doc,\n draft: draftArg,\n fallbackLocale,\n global: null,\n locale,\n overrideAccess: true,\n req,\n showHiddenFields: true,\n })\n\n await deleteAssociatedFiles({\n collectionConfig,\n config,\n doc,\n files: filesToUpload,\n overrideDelete: false,\n req,\n })\n\n // /////////////////////////////////////\n // beforeValidate - Fields\n // /////////////////////////////////////\n\n data = await beforeValidate<DeepPartial<GeneratedTypes['collections'][TSlug]>>({\n id,\n collection: collectionConfig,\n context: req.context,\n data,\n doc: originalDoc,\n global: null,\n operation: 'update',\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: 'update',\n originalDoc,\n req,\n })) || data\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // Write files to local storage\n // /////////////////////////////////////\n\n if (!collectionConfig.upload.disableLocalStorage) {\n await uploadFiles(payload, filesToUpload, req)\n }\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: 'update',\n originalDoc,\n req,\n })) || data\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // beforeChange - Fields\n // /////////////////////////////////////\n\n let result = await beforeChange<GeneratedTypes['collections'][TSlug]>({\n id,\n collection: collectionConfig,\n context: req.context,\n data,\n doc: originalDoc,\n docWithLocales: doc,\n global: null,\n operation: 'update',\n req,\n skipValidation:\n shouldSaveDraft &&\n collectionConfig.versions.drafts &&\n !collectionConfig.versions.drafts.validate &&\n data._status !== 'published',\n })\n\n // /////////////////////////////////////\n // Update\n // /////////////////////////////////////\n\n if (!shouldSaveDraft || data._status === 'published') {\n result = await req.payload.db.updateOne({\n id,\n collection: collectionConfig.slug,\n data: result,\n locale,\n req,\n })\n }\n\n // /////////////////////////////////////\n // Create version\n // /////////////////////////////////////\n\n if (collectionConfig.versions) {\n result = await saveVersion({\n id,\n collection: collectionConfig,\n docWithLocales: {\n ...result,\n createdAt: doc.createdAt,\n },\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: result,\n draft: draftArg,\n fallbackLocale: null,\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 // afterChange - Fields\n // /////////////////////////////////////\n\n result = await afterChange<GeneratedTypes['collections'][TSlug]>({\n collection: collectionConfig,\n context: req.context,\n data,\n doc: result,\n global: null,\n operation: 'update',\n previousDoc: originalDoc,\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: 'update',\n previousDoc: originalDoc,\n req,\n })) || result\n }, Promise.resolve())\n\n await unlinkTempFiles({\n collectionConfig,\n config,\n req,\n })\n\n // /////////////////////////////////////\n // Return results\n // /////////////////////////////////////\n\n return result\n } catch (error) {\n errors.push({\n id,\n message: error.message,\n })\n }\n return null\n })\n\n const awaitedDocs = await Promise.all(promises)\n\n let result = {\n docs: awaitedDocs.filter(Boolean),\n errors,\n }\n\n // /////////////////////////////////////\n // afterOperation - Collection\n // /////////////////////////////////////\n\n result = await buildAfterOperation<GeneratedTypes['collections'][TSlug]>({\n args,\n collection: collectionConfig,\n operation: 'update',\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","afterChange","afterRead","beforeChange","beforeValidate","deleteAssociatedFiles","generateFileData","unlinkTempFiles","uploadFiles","commitTransaction","initTransaction","killTransaction","buildVersionCollectionFields","appendVersionToQueryKey","saveVersion","buildAfterOperation","updateOperation","incomingArgs","args","shouldCommit","req","collection","config","hooks","beforeOperation","reduce","priorHook","hook","context","operation","Promise","resolve","collectionConfig","depth","draft","draftArg","overrideAccess","overwriteExistingFiles","fallbackLocale","locale","payload","showHiddenFields","where","BAD_REQUEST","data","bulkUpdateData","shouldSaveDraft","Boolean","versions","drafts","accessResult","access","update","fullWhere","docs","versionsWhere","versionFields","query","db","queryDrafts","slug","pagination","find","limit","newFileData","files","filesToUpload","throwOnMissingFile","errors","promises","map","doc","id","originalDoc","global","overrideDelete","upload","disableLocalStorage","result","docWithLocales","skipValidation","validate","_status","updateOne","createdAt","previousDoc","error","push","message","awaitedDocs","all","filter"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
1
+ {"version":3,"sources":["../../../src/collections/operations/update.ts"],"sourcesContent":["import type { DeepPartial } from 'ts-essentials'\n\nimport httpStatus from 'http-status'\n\nimport type { AccessResult } from '../../config/types.js'\nimport type { CollectionSlug } from '../../index.js'\nimport type { PayloadRequestWithData, Where } from '../../types/index.js'\nimport type {\n BulkOperationResult,\n Collection,\n DataFromCollectionSlug,\n RequiredDataFromCollectionSlug,\n} 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 { 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 { deleteAssociatedFiles } from '../../uploads/deleteAssociatedFiles.js'\nimport { generateFileData } from '../../uploads/generateFileData.js'\nimport { unlinkTempFiles } from '../../uploads/unlinkTempFiles.js'\nimport { uploadFiles } from '../../uploads/uploadFiles.js'\nimport { commitTransaction } from '../../utilities/commitTransaction.js'\nimport { initTransaction } from '../../utilities/initTransaction.js'\nimport { killTransaction } from '../../utilities/killTransaction.js'\nimport { buildVersionCollectionFields } from '../../versions/buildCollectionFields.js'\nimport { appendVersionToQueryKey } from '../../versions/drafts/appendVersionToQueryKey.js'\nimport { saveVersion } from '../../versions/saveVersion.js'\nimport { buildAfterOperation } from './utils.js'\n\nexport type Arguments<TSlug extends CollectionSlug> = {\n collection: Collection\n data: DeepPartial<RequiredDataFromCollectionSlug<TSlug>>\n depth?: number\n disableVerificationEmail?: boolean\n draft?: boolean\n overrideAccess?: boolean\n overwriteExistingFiles?: boolean\n req: PayloadRequestWithData\n showHiddenFields?: boolean\n where: Where\n}\n\nexport const updateOperation = async <TSlug extends CollectionSlug>(\n incomingArgs: Arguments<TSlug>,\n): Promise<BulkOperationResult<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(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: 'update',\n req: args.req,\n })) || args\n }, Promise.resolve())\n\n const {\n collection: { config: collectionConfig },\n collection,\n depth,\n draft: draftArg = false,\n overrideAccess,\n overwriteExistingFiles = false,\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 update.\", httpStatus.BAD_REQUEST)\n }\n\n const { data: bulkUpdateData } = args\n const shouldSaveDraft = Boolean(draftArg && collectionConfig.versions.drafts)\n\n // /////////////////////////////////////\n // Access\n // /////////////////////////////////////\n\n let accessResult: AccessResult\n if (!overrideAccess) {\n accessResult = await executeAccess({ req }, collectionConfig.access.update)\n }\n\n await validateQueryPaths({\n collectionConfig,\n overrideAccess,\n req,\n where,\n })\n\n // /////////////////////////////////////\n // Retrieve documents\n // /////////////////////////////////////\n\n const fullWhere = combineQueries(where, accessResult)\n\n let docs\n\n if (collectionConfig.versions?.drafts && shouldSaveDraft) {\n const versionsWhere = appendVersionToQueryKey(fullWhere)\n\n await validateQueryPaths({\n collectionConfig: collection.config,\n overrideAccess,\n req,\n versionFields: buildVersionCollectionFields(collection.config),\n where: versionsWhere,\n })\n\n const query = await payload.db.queryDrafts<DataFromCollectionSlug<TSlug>>({\n collection: collectionConfig.slug,\n locale,\n pagination: false,\n req,\n where: versionsWhere,\n })\n\n docs = query.docs\n } else {\n const query = await payload.db.find({\n collection: collectionConfig.slug,\n limit: 0,\n locale,\n pagination: false,\n req,\n where: fullWhere,\n })\n\n docs = query.docs\n }\n\n // /////////////////////////////////////\n // Generate data for all files and sizes\n // /////////////////////////////////////\n\n const { data: newFileData, files: filesToUpload } = await generateFileData({\n collection,\n config,\n data: bulkUpdateData,\n operation: 'update',\n overwriteExistingFiles,\n req,\n throwOnMissingFile: false,\n })\n\n const errors = []\n\n const promises = docs.map(async (doc) => {\n const { id } = doc\n let data = {\n ...newFileData,\n ...bulkUpdateData,\n }\n\n try {\n const originalDoc = await afterRead({\n collection: collectionConfig,\n context: req.context,\n depth: 0,\n doc,\n draft: draftArg,\n fallbackLocale,\n global: null,\n locale,\n overrideAccess: true,\n req,\n showHiddenFields: true,\n })\n\n await deleteAssociatedFiles({\n collectionConfig,\n config,\n doc,\n files: filesToUpload,\n overrideDelete: false,\n req,\n })\n\n // /////////////////////////////////////\n // beforeValidate - Fields\n // /////////////////////////////////////\n\n data = await beforeValidate<DeepPartial<DataFromCollectionSlug<TSlug>>>({\n id,\n collection: collectionConfig,\n context: req.context,\n data,\n doc: originalDoc,\n global: null,\n operation: 'update',\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: 'update',\n originalDoc,\n req,\n })) || data\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // Write files to local storage\n // /////////////////////////////////////\n\n if (!collectionConfig.upload.disableLocalStorage) {\n await uploadFiles(payload, filesToUpload, req)\n }\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: 'update',\n originalDoc,\n req,\n })) || data\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // beforeChange - Fields\n // /////////////////////////////////////\n\n let result = await beforeChange<DataFromCollectionSlug<TSlug>>({\n id,\n collection: collectionConfig,\n context: req.context,\n data,\n doc: originalDoc,\n docWithLocales: doc,\n global: null,\n operation: 'update',\n req,\n skipValidation:\n shouldSaveDraft &&\n collectionConfig.versions.drafts &&\n !collectionConfig.versions.drafts.validate &&\n data._status !== 'published',\n })\n\n // /////////////////////////////////////\n // Update\n // /////////////////////////////////////\n\n if (!shouldSaveDraft || data._status === 'published') {\n result = await req.payload.db.updateOne({\n id,\n collection: collectionConfig.slug,\n data: result,\n locale,\n req,\n })\n }\n\n // /////////////////////////////////////\n // Create version\n // /////////////////////////////////////\n\n if (collectionConfig.versions) {\n result = await saveVersion({\n id,\n collection: collectionConfig,\n docWithLocales: {\n ...result,\n createdAt: doc.createdAt,\n },\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: result,\n draft: draftArg,\n fallbackLocale: null,\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 // afterChange - Fields\n // /////////////////////////////////////\n\n result = await afterChange<DataFromCollectionSlug<TSlug>>({\n collection: collectionConfig,\n context: req.context,\n data,\n doc: result,\n global: null,\n operation: 'update',\n previousDoc: originalDoc,\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: 'update',\n previousDoc: originalDoc,\n req,\n })) || result\n }, Promise.resolve())\n\n await unlinkTempFiles({\n collectionConfig,\n config,\n req,\n })\n\n // /////////////////////////////////////\n // Return results\n // /////////////////////////////////////\n\n return result\n } catch (error) {\n errors.push({\n id,\n message: error.message,\n })\n }\n return null\n })\n\n const awaitedDocs = await Promise.all(promises)\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: 'update',\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","afterChange","afterRead","beforeChange","beforeValidate","deleteAssociatedFiles","generateFileData","unlinkTempFiles","uploadFiles","commitTransaction","initTransaction","killTransaction","buildVersionCollectionFields","appendVersionToQueryKey","saveVersion","buildAfterOperation","updateOperation","incomingArgs","args","shouldCommit","req","collection","config","hooks","beforeOperation","reduce","priorHook","hook","context","operation","Promise","resolve","collectionConfig","depth","draft","draftArg","overrideAccess","overwriteExistingFiles","fallbackLocale","locale","payload","showHiddenFields","where","BAD_REQUEST","data","bulkUpdateData","shouldSaveDraft","Boolean","versions","drafts","accessResult","access","update","fullWhere","docs","versionsWhere","versionFields","query","db","queryDrafts","slug","pagination","find","limit","newFileData","files","filesToUpload","throwOnMissingFile","errors","promises","map","doc","id","originalDoc","global","overrideDelete","upload","disableLocalStorage","result","docWithLocales","skipValidation","validate","_status","updateOne","createdAt","previousDoc","error","push","message","awaitedDocs","all","filter"],"mappings":"AAEA,OAAOA,gBAAgB,cAAa;AAYpC,OAAOC,mBAAmB,8BAA6B;AACvD,SAASC,cAAc,QAAQ,mCAAkC;AACjE,SAASC,kBAAkB,QAAQ,uDAAsD;AACzF,SAASC,QAAQ,QAAQ,wBAAuB;AAChD,SAASC,WAAW,QAAQ,0CAAyC;AACrE,SAASC,SAAS,QAAQ,wCAAuC;AACjE,SAASC,YAAY,QAAQ,2CAA0C;AACvE,SAASC,cAAc,QAAQ,6CAA4C;AAC3E,SAASC,qBAAqB,QAAQ,yCAAwC;AAC9E,SAASC,gBAAgB,QAAQ,oCAAmC;AACpE,SAASC,eAAe,QAAQ,mCAAkC;AAClE,SAASC,WAAW,QAAQ,+BAA8B;AAC1D,SAASC,iBAAiB,QAAQ,uCAAsC;AACxE,SAASC,eAAe,QAAQ,qCAAoC;AACpE,SAASC,eAAe,QAAQ,qCAAoC;AACpE,SAASC,4BAA4B,QAAQ,0CAAyC;AACtF,SAASC,uBAAuB,QAAQ,mDAAkD;AAC1F,SAASC,WAAW,QAAQ,gCAA+B;AAC3D,SAASC,mBAAmB,QAAQ,aAAY;AAehD,OAAO,MAAMC,kBAAkB,OAC7BC;IAEA,IAAIC,OAAOD;IAEX,IAAI;QACF,MAAME,eAAe,MAAMT,gBAAgBQ,KAAKE,GAAG;QAEnD,wCAAwC;QACxC,+BAA+B;QAC/B,wCAAwC;QAExC,MAAMF,KAAKG,UAAU,CAACC,MAAM,CAACC,KAAK,CAACC,eAAe,CAACC,MAAM,CAAC,OAAOC,WAAWC;YAC1E,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,GAAGY,QAAQC,OAAO;QAElB,MAAM,EACJV,YAAY,EAAEC,QAAQU,gBAAgB,EAAE,EACxCX,UAAU,EACVY,KAAK,EACLC,OAAOC,WAAW,KAAK,EACvBC,cAAc,EACdC,yBAAyB,KAAK,EAC9BjB,KAAK,EACHkB,cAAc,EACdC,MAAM,EACNC,SAAS,EAAElB,MAAM,EAAE,EACnBkB,OAAO,EACR,EACDpB,GAAG,EACHqB,gBAAgB,EAChBC,KAAK,EACN,GAAGxB;QAEJ,IAAI,CAACwB,OAAO;YACV,MAAM,IAAI1C,SAAS,iDAAiDJ,WAAW+C,WAAW;QAC5F;QAEA,MAAM,EAAEC,MAAMC,cAAc,EAAE,GAAG3B;QACjC,MAAM4B,kBAAkBC,QAAQZ,YAAYH,iBAAiBgB,QAAQ,CAACC,MAAM;QAE5E,wCAAwC;QACxC,SAAS;QACT,wCAAwC;QAExC,IAAIC;QACJ,IAAI,CAACd,gBAAgB;YACnBc,eAAe,MAAMrD,cAAc;gBAAEuB;YAAI,GAAGY,iBAAiBmB,MAAM,CAACC,MAAM;QAC5E;QAEA,MAAMrD,mBAAmB;YACvBiC;YACAI;YACAhB;YACAsB;QACF;QAEA,wCAAwC;QACxC,qBAAqB;QACrB,wCAAwC;QAExC,MAAMW,YAAYvD,eAAe4C,OAAOQ;QAExC,IAAII;QAEJ,IAAItB,iBAAiBgB,QAAQ,EAAEC,UAAUH,iBAAiB;YACxD,MAAMS,gBAAgB1C,wBAAwBwC;YAE9C,MAAMtD,mBAAmB;gBACvBiC,kBAAkBX,WAAWC,MAAM;gBACnCc;gBACAhB;gBACAoC,eAAe5C,6BAA6BS,WAAWC,MAAM;gBAC7DoB,OAAOa;YACT;YAEA,MAAME,QAAQ,MAAMjB,QAAQkB,EAAE,CAACC,WAAW,CAAgC;gBACxEtC,YAAYW,iBAAiB4B,IAAI;gBACjCrB;gBACAsB,YAAY;gBACZzC;gBACAsB,OAAOa;YACT;YAEAD,OAAOG,MAAMH,IAAI;QACnB,OAAO;YACL,MAAMG,QAAQ,MAAMjB,QAAQkB,EAAE,CAACI,IAAI,CAAC;gBAClCzC,YAAYW,iBAAiB4B,IAAI;gBACjCG,OAAO;gBACPxB;gBACAsB,YAAY;gBACZzC;gBACAsB,OAAOW;YACT;YAEAC,OAAOG,MAAMH,IAAI;QACnB;QAEA,wCAAwC;QACxC,wCAAwC;QACxC,wCAAwC;QAExC,MAAM,EAAEV,MAAMoB,WAAW,EAAEC,OAAOC,aAAa,EAAE,GAAG,MAAM5D,iBAAiB;YACzEe;YACAC;YACAsB,MAAMC;YACNhB,WAAW;YACXQ;YACAjB;YACA+C,oBAAoB;QACtB;QAEA,MAAMC,SAAS,EAAE;QAEjB,MAAMC,WAAWf,KAAKgB,GAAG,CAAC,OAAOC;YAC/B,MAAM,EAAEC,EAAE,EAAE,GAAGD;YACf,IAAI3B,OAAO;gBACT,GAAGoB,WAAW;gBACd,GAAGnB,cAAc;YACnB;YAEA,IAAI;gBACF,MAAM4B,cAAc,MAAMvE,UAAU;oBAClCmB,YAAYW;oBACZJ,SAASR,IAAIQ,OAAO;oBACpBK,OAAO;oBACPsC;oBACArC,OAAOC;oBACPG;oBACAoC,QAAQ;oBACRnC;oBACAH,gBAAgB;oBAChBhB;oBACAqB,kBAAkB;gBACpB;gBAEA,MAAMpC,sBAAsB;oBAC1B2B;oBACAV;oBACAiD;oBACAN,OAAOC;oBACPS,gBAAgB;oBAChBvD;gBACF;gBAEA,wCAAwC;gBACxC,0BAA0B;gBAC1B,wCAAwC;gBAExCwB,OAAO,MAAMxC,eAA2D;oBACtEoE;oBACAnD,YAAYW;oBACZJ,SAASR,IAAIQ,OAAO;oBACpBgB;oBACA2B,KAAKE;oBACLC,QAAQ;oBACR7C,WAAW;oBACXO;oBACAhB;gBACF;gBAEA,wCAAwC;gBACxC,8BAA8B;gBAC9B,wCAAwC;gBAExC,MAAMY,iBAAiBT,KAAK,CAACnB,cAAc,CAACqB,MAAM,CAAC,OAAOC,WAAWC;oBACnE,MAAMD;oBAENkB,OACE,AAAC,MAAMjB,KAAK;wBACVN,YAAYW;wBACZJ,SAASR,IAAIQ,OAAO;wBACpBgB;wBACAf,WAAW;wBACX4C;wBACArD;oBACF,MAAOwB;gBACX,GAAGd,QAAQC,OAAO;gBAElB,wCAAwC;gBACxC,+BAA+B;gBAC/B,wCAAwC;gBAExC,IAAI,CAACC,iBAAiB4C,MAAM,CAACC,mBAAmB,EAAE;oBAChD,MAAMrE,YAAYgC,SAAS0B,eAAe9C;gBAC5C;gBAEA,wCAAwC;gBACxC,4BAA4B;gBAC5B,wCAAwC;gBAExC,MAAMY,iBAAiBT,KAAK,CAACpB,YAAY,CAACsB,MAAM,CAAC,OAAOC,WAAWC;oBACjE,MAAMD;oBAENkB,OACE,AAAC,MAAMjB,KAAK;wBACVN,YAAYW;wBACZJ,SAASR,IAAIQ,OAAO;wBACpBgB;wBACAf,WAAW;wBACX4C;wBACArD;oBACF,MAAOwB;gBACX,GAAGd,QAAQC,OAAO;gBAElB,wCAAwC;gBACxC,wBAAwB;gBACxB,wCAAwC;gBAExC,IAAI+C,SAAS,MAAM3E,aAA4C;oBAC7DqE;oBACAnD,YAAYW;oBACZJ,SAASR,IAAIQ,OAAO;oBACpBgB;oBACA2B,KAAKE;oBACLM,gBAAgBR;oBAChBG,QAAQ;oBACR7C,WAAW;oBACXT;oBACA4D,gBACElC,mBACAd,iBAAiBgB,QAAQ,CAACC,MAAM,IAChC,CAACjB,iBAAiBgB,QAAQ,CAACC,MAAM,CAACgC,QAAQ,IAC1CrC,KAAKsC,OAAO,KAAK;gBACrB;gBAEA,wCAAwC;gBACxC,SAAS;gBACT,wCAAwC;gBAExC,IAAI,CAACpC,mBAAmBF,KAAKsC,OAAO,KAAK,aAAa;oBACpDJ,SAAS,MAAM1D,IAAIoB,OAAO,CAACkB,EAAE,CAACyB,SAAS,CAAC;wBACtCX;wBACAnD,YAAYW,iBAAiB4B,IAAI;wBACjChB,MAAMkC;wBACNvC;wBACAnB;oBACF;gBACF;gBAEA,wCAAwC;gBACxC,iBAAiB;gBACjB,wCAAwC;gBAExC,IAAIY,iBAAiBgB,QAAQ,EAAE;oBAC7B8B,SAAS,MAAMhE,YAAY;wBACzB0D;wBACAnD,YAAYW;wBACZ+C,gBAAgB;4BACd,GAAGD,MAAM;4BACTM,WAAWb,IAAIa,SAAS;wBAC1B;wBACA5C;wBACApB;oBACF;gBACF;gBAEA,wCAAwC;gBACxC,qBAAqB;gBACrB,wCAAwC;gBAExC0D,SAAS,MAAM5E,UAAU;oBACvBmB,YAAYW;oBACZJ,SAASR,IAAIQ,OAAO;oBACpBK;oBACAsC,KAAKO;oBACL5C,OAAOC;oBACPG,gBAAgB;oBAChBoC,QAAQ;oBACRnC;oBACAH;oBACAhB;oBACAqB;gBACF;gBAEA,wCAAwC;gBACxC,yBAAyB;gBACzB,wCAAwC;gBAExC,MAAMT,iBAAiBT,KAAK,CAACrB,SAAS,CAACuB,MAAM,CAAC,OAAOC,WAAWC;oBAC9D,MAAMD;oBAENoD,SACE,AAAC,MAAMnD,KAAK;wBACVN,YAAYW;wBACZJ,SAASR,IAAIQ,OAAO;wBACpB2C,KAAKO;wBACL1D;oBACF,MAAO0D;gBACX,GAAGhD,QAAQC,OAAO;gBAElB,wCAAwC;gBACxC,uBAAuB;gBACvB,wCAAwC;gBAExC+C,SAAS,MAAM7E,YAA2C;oBACxDoB,YAAYW;oBACZJ,SAASR,IAAIQ,OAAO;oBACpBgB;oBACA2B,KAAKO;oBACLJ,QAAQ;oBACR7C,WAAW;oBACXwD,aAAaZ;oBACbrD;gBACF;gBAEA,wCAAwC;gBACxC,2BAA2B;gBAC3B,wCAAwC;gBAExC,MAAMY,iBAAiBT,KAAK,CAACtB,WAAW,CAACwB,MAAM,CAAC,OAAOC,WAAWC;oBAChE,MAAMD;oBAENoD,SACE,AAAC,MAAMnD,KAAK;wBACVN,YAAYW;wBACZJ,SAASR,IAAIQ,OAAO;wBACpB2C,KAAKO;wBACLjD,WAAW;wBACXwD,aAAaZ;wBACbrD;oBACF,MAAO0D;gBACX,GAAGhD,QAAQC,OAAO;gBAElB,MAAMxB,gBAAgB;oBACpByB;oBACAV;oBACAF;gBACF;gBAEA,wCAAwC;gBACxC,iBAAiB;gBACjB,wCAAwC;gBAExC,OAAO0D;YACT,EAAE,OAAOQ,OAAO;gBACdlB,OAAOmB,IAAI,CAAC;oBACVf;oBACAgB,SAASF,MAAME,OAAO;gBACxB;YACF;YACA,OAAO;QACT;QAEA,MAAMC,cAAc,MAAM3D,QAAQ4D,GAAG,CAACrB;QAEtC,IAAIS,SAAS;YACXxB,MAAMmC,YAAYE,MAAM,CAAC5C;YACzBqB;QACF;QAEA,wCAAwC;QACxC,8BAA8B;QAC9B,wCAAwC;QAExCU,SAAS,MAAM/D,oBAAoB;YACjCG;YACAG,YAAYW;YACZH,WAAW;YACXiD;QACF;QAEA,IAAI3D,cAAc,MAAMV,kBAAkBW;QAE1C,OAAO0D;IACT,EAAE,OAAOQ,OAAgB;QACvB,MAAM3E,gBAAgBO,KAAKE,GAAG;QAC9B,MAAMkE;IACR;AACF,EAAC"}
@@ -1,13 +1,11 @@
1
1
  import type { DeepPartial } from 'ts-essentials';
2
- import type { GeneratedTypes } from '../../index.js';
2
+ import type { CollectionSlug } from '../../index.js';
3
3
  import type { PayloadRequestWithData } from '../../types/index.js';
4
- import type { Collection } from '../config/types.js';
5
- export type Arguments<T extends {
6
- [field: number | string | symbol]: unknown;
7
- }> = {
4
+ import type { Collection, DataFromCollectionSlug, RequiredDataFromCollectionSlug } from '../config/types.js';
5
+ export type Arguments<TSlug extends CollectionSlug> = {
8
6
  autosave?: boolean;
9
7
  collection: Collection;
10
- data: DeepPartial<T>;
8
+ data: DeepPartial<RequiredDataFromCollectionSlug<TSlug>>;
11
9
  depth?: number;
12
10
  disableVerificationEmail?: boolean;
13
11
  draft?: boolean;
@@ -17,5 +15,5 @@ export type Arguments<T extends {
17
15
  req: PayloadRequestWithData;
18
16
  showHiddenFields?: boolean;
19
17
  };
20
- export declare const updateByIDOperation: <TSlug extends string | number | symbol>(incomingArgs: Arguments<GeneratedTypes['collections'][TSlug]>) => Promise<GeneratedTypes['collections'][TSlug]>;
18
+ export declare const updateByIDOperation: <TSlug extends CollectionSlug>(incomingArgs: Arguments<TSlug>) => Promise<DataFromCollectionSlug<TSlug>>;
21
19
  //# sourceMappingURL=updateByID.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"updateByID.d.ts","sourceRoot":"","sources":["../../../src/collections/operations/updateByID.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAKhD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAA;AAClE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAsBpD,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAA;CAAE,IAAI;IAChF,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,UAAU,EAAE,UAAU,CAAA;IACtB,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,CAAA;IACpB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,wBAAwB,CAAC,EAAE,OAAO,CAAA;IAClC,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IACnB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAChC,GAAG,EAAE,sBAAsB,CAAA;IAC3B,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B,CAAA;AAED,eAAO,MAAM,mBAAmB,yDAChB,UAAU,cAAc,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,CAAC,KAC5D,QAAQ,cAAc,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,CA4V9C,CAAA"}
1
+ {"version":3,"file":"updateByID.d.ts","sourceRoot":"","sources":["../../../src/collections/operations/updateByID.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAKhD,OAAO,KAAK,EAAE,cAAc,EAAkB,MAAM,gBAAgB,CAAA;AACpE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAA;AAClE,OAAO,KAAK,EACV,UAAU,EACV,sBAAsB,EACtB,8BAA8B,EAC/B,MAAM,oBAAoB,CAAA;AAsB3B,MAAM,MAAM,SAAS,CAAC,KAAK,SAAS,cAAc,IAAI;IACpD,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,UAAU,EAAE,UAAU,CAAA;IACtB,IAAI,EAAE,WAAW,CAAC,8BAA8B,CAAC,KAAK,CAAC,CAAC,CAAA;IACxD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,wBAAwB,CAAC,EAAE,OAAO,CAAA;IAClC,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IACnB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAChC,GAAG,EAAE,sBAAsB,CAAA;IAC3B,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B,CAAA;AAED,eAAO,MAAM,mBAAmB,GAAU,KAAK,SAAS,cAAc,gBACtD,SAAS,CAAC,KAAK,CAAC,KAC7B,OAAO,CAAC,sBAAsB,CAAC,KAAK,CAAC,CA4VvC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/collections/operations/updateByID.ts"],"sourcesContent":["import type { DeepPartial } from 'ts-essentials'\n\nimport httpStatus from 'http-status'\n\nimport type { FindOneArgs } from '../../database/types.js'\nimport type { GeneratedTypes } from '../../index.js'\nimport type { PayloadRequestWithData } from '../../types/index.js'\nimport type { Collection } from '../config/types.js'\n\nimport executeAccess from '../../auth/executeAccess.js'\nimport { generatePasswordSaltHash } from '../../auth/strategies/local/generatePasswordSaltHash.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 { deleteAssociatedFiles } from '../../uploads/deleteAssociatedFiles.js'\nimport { generateFileData } from '../../uploads/generateFileData.js'\nimport { unlinkTempFiles } from '../../uploads/unlinkTempFiles.js'\nimport { uploadFiles } from '../../uploads/uploadFiles.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<T extends { [field: number | string | symbol]: unknown }> = {\n autosave?: boolean\n collection: Collection\n data: DeepPartial<T>\n depth?: number\n disableVerificationEmail?: boolean\n draft?: boolean\n id: number | string\n overrideAccess?: boolean\n overwriteExistingFiles?: boolean\n req: PayloadRequestWithData\n showHiddenFields?: boolean\n}\n\nexport const updateByIDOperation = async <TSlug extends keyof GeneratedTypes['collections']>(\n incomingArgs: Arguments<GeneratedTypes['collections'][TSlug]>,\n): Promise<GeneratedTypes['collections'][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(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: 'update',\n req: args.req,\n })) || args\n }, Promise.resolve())\n\n const {\n id,\n autosave = false,\n collection: { config: collectionConfig },\n collection,\n depth,\n draft: draftArg = false,\n overrideAccess,\n overwriteExistingFiles = false,\n req: {\n fallbackLocale,\n locale,\n payload: { config },\n payload,\n },\n req,\n showHiddenFields,\n } = args\n\n if (!id) {\n throw new APIError('Missing ID of document to update.', httpStatus.BAD_REQUEST)\n }\n\n let { data } = args\n const password = data?.password\n const shouldSaveDraft = Boolean(draftArg && collectionConfig.versions.drafts)\n const shouldSavePassword = Boolean(password && collectionConfig.auth && !shouldSaveDraft)\n\n // /////////////////////////////////////\n // Access\n // /////////////////////////////////////\n\n const accessResults = !overrideAccess\n ? await executeAccess({ id, data, req }, collectionConfig.access.update)\n : true\n const hasWherePolicy = hasWhereAccessResult(accessResults)\n\n // /////////////////////////////////////\n // Retrieve document\n // /////////////////////////////////////\n\n const findOneArgs: FindOneArgs = {\n collection: collectionConfig.slug,\n 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 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,\n overrideAccess: true,\n req,\n showHiddenFields: true,\n })\n\n // /////////////////////////////////////\n // Generate data for all files and sizes\n // /////////////////////////////////////\n\n const { data: newFileData, files: filesToUpload } = await generateFileData({\n collection,\n config,\n data,\n operation: 'update',\n overwriteExistingFiles,\n req,\n throwOnMissingFile: false,\n })\n\n data = newFileData\n\n // /////////////////////////////////////\n // Delete any associated files\n // /////////////////////////////////////\n\n await deleteAssociatedFiles({\n collectionConfig,\n config,\n doc: docWithLocales,\n files: filesToUpload,\n overrideDelete: false,\n req,\n })\n\n // /////////////////////////////////////\n // beforeValidate - Fields\n // /////////////////////////////////////\n\n data = await beforeValidate<DeepPartial<GeneratedTypes['collections'][TSlug]>>({\n id,\n collection: collectionConfig,\n context: req.context,\n data,\n doc: originalDoc,\n global: null,\n operation: 'update',\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: 'update',\n originalDoc,\n req,\n })) || data\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // Write files to local storage\n // /////////////////////////////////////\n\n if (!collectionConfig.upload.disableLocalStorage) {\n await uploadFiles(payload, filesToUpload, req)\n }\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: 'update',\n originalDoc,\n req,\n })) || data\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // beforeChange - Fields\n // /////////////////////////////////////\n\n let result = await beforeChange<GeneratedTypes['collections'][TSlug]>({\n id,\n collection: collectionConfig,\n context: req.context,\n data,\n doc: originalDoc,\n docWithLocales,\n global: null,\n operation: 'update',\n req,\n skipValidation:\n shouldSaveDraft &&\n collectionConfig.versions.drafts &&\n !collectionConfig.versions.drafts.validate &&\n data._status !== 'published',\n })\n\n // /////////////////////////////////////\n // Handle potential password update\n // /////////////////////////////////////\n\n const dataToUpdate: Record<string, unknown> = { ...result }\n\n if (shouldSavePassword && typeof password === 'string') {\n const { hash, salt } = await generatePasswordSaltHash({ password })\n dataToUpdate.salt = salt\n dataToUpdate.hash = hash\n delete dataToUpdate.password\n delete data.password\n }\n\n // /////////////////////////////////////\n // Update\n // /////////////////////////////////////\n\n if (!shouldSaveDraft || data._status === 'published') {\n result = await req.payload.db.updateOne({\n id,\n collection: collectionConfig.slug,\n data: dataToUpdate,\n locale,\n req,\n })\n }\n\n // /////////////////////////////////////\n // Create version\n // /////////////////////////////////////\n\n if (collectionConfig.versions) {\n result = await saveVersion({\n id,\n autosave,\n collection: collectionConfig,\n docWithLocales: {\n ...result,\n createdAt: docWithLocales.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: result,\n draft: draftArg,\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 // afterChange - Fields\n // /////////////////////////////////////\n\n result = await afterChange<GeneratedTypes['collections'][TSlug]>({\n collection: collectionConfig,\n context: req.context,\n data,\n doc: result,\n global: null,\n operation: 'update',\n previousDoc: originalDoc,\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: 'update',\n previousDoc: originalDoc,\n req,\n })) || result\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // afterOperation - Collection\n // /////////////////////////////////////\n\n result = await buildAfterOperation<GeneratedTypes['collections'][TSlug]>({\n args,\n collection: collectionConfig,\n operation: 'updateByID',\n result,\n })\n\n await unlinkTempFiles({\n collectionConfig,\n config,\n req,\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","generatePasswordSaltHash","hasWhereAccessResult","combineQueries","APIError","Forbidden","NotFound","afterChange","afterRead","beforeChange","beforeValidate","deleteAssociatedFiles","generateFileData","unlinkTempFiles","uploadFiles","commitTransaction","initTransaction","killTransaction","getLatestCollectionVersion","saveVersion","buildAfterOperation","updateByIDOperation","incomingArgs","args","shouldCommit","req","collection","config","hooks","beforeOperation","reduce","priorHook","hook","context","operation","Promise","resolve","id","autosave","collectionConfig","depth","draft","draftArg","overrideAccess","overwriteExistingFiles","fallbackLocale","locale","payload","showHiddenFields","BAD_REQUEST","data","password","shouldSaveDraft","Boolean","versions","drafts","shouldSavePassword","auth","accessResults","access","update","hasWherePolicy","findOneArgs","slug","where","equals","docWithLocales","query","t","originalDoc","doc","global","newFileData","files","filesToUpload","throwOnMissingFile","overrideDelete","upload","disableLocalStorage","result","skipValidation","validate","_status","dataToUpdate","hash","salt","db","updateOne","createdAt","previousDoc","error"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAEA,OAAOA,gBAAgB,cAAa;AAOpC,OAAOC,mBAAmB,8BAA6B;AACvD,SAASC,wBAAwB,QAAQ,0DAAyD;AAClG,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,qBAAqB,QAAQ,yCAAwC;AAC9E,SAASC,gBAAgB,QAAQ,oCAAmC;AACpE,SAASC,eAAe,QAAQ,mCAAkC;AAClE,SAASC,WAAW,QAAQ,+BAA8B;AAC1D,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;AAgBhD,OAAO,MAAMC,sBAAsB,OACjCC;IAEA,IAAIC,OAAOD;IAEX,IAAI;QACF,MAAME,eAAe,MAAMR,gBAAgBO,KAAKE,GAAG;QAEnD,wCAAwC;QACxC,+BAA+B;QAC/B,wCAAwC;QAExC,MAAMF,KAAKG,UAAU,CAACC,MAAM,CAACC,KAAK,CAACC,eAAe,CAACC,MAAM,CAAC,OAAOC,WAAWC;YAC1E,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,GAAGY,QAAQC,OAAO;QAElB,MAAM,EACJC,EAAE,EACFC,WAAW,KAAK,EAChBZ,YAAY,EAAEC,QAAQY,gBAAgB,EAAE,EACxCb,UAAU,EACVc,KAAK,EACLC,OAAOC,WAAW,KAAK,EACvBC,cAAc,EACdC,yBAAyB,KAAK,EAC9BnB,KAAK,EACHoB,cAAc,EACdC,MAAM,EACNC,SAAS,EAAEpB,MAAM,EAAE,EACnBoB,OAAO,EACR,EACDtB,GAAG,EACHuB,gBAAgB,EACjB,GAAGzB;QAEJ,IAAI,CAACc,IAAI;YACP,MAAM,IAAIjC,SAAS,qCAAqCL,WAAWkD,WAAW;QAChF;QAEA,IAAI,EAAEC,IAAI,EAAE,GAAG3B;QACf,MAAM4B,WAAWD,MAAMC;QACvB,MAAMC,kBAAkBC,QAAQX,YAAYH,iBAAiBe,QAAQ,CAACC,MAAM;QAC5E,MAAMC,qBAAqBH,QAAQF,YAAYZ,iBAAiBkB,IAAI,IAAI,CAACL;QAEzE,wCAAwC;QACxC,SAAS;QACT,wCAAwC;QAExC,MAAMM,gBAAgB,CAACf,iBACnB,MAAM3C,cAAc;YAAEqC;YAAIa;YAAMzB;QAAI,GAAGc,iBAAiBoB,MAAM,CAACC,MAAM,IACrE;QACJ,MAAMC,iBAAiB3D,qBAAqBwD;QAE5C,wCAAwC;QACxC,oBAAoB;QACpB,wCAAwC;QAExC,MAAMI,cAA2B;YAC/BpC,YAAYa,iBAAiBwB,IAAI;YACjCjB;YACArB;YACAuC,OAAO7D,eAAe;gBAAEkC,IAAI;oBAAE4B,QAAQ5B;gBAAG;YAAE,GAAGqB;QAChD;QAEA,MAAMQ,iBAAiB,MAAMhD,2BAA2B;YACtDmB;YACAV,QAAQY;YACRQ;YACAoB,OAAOL;YACPrC;QACF;QAEA,IAAI,CAACyC,kBAAkB,CAACL,gBAAgB,MAAM,IAAIvD,SAASmB,IAAI2C,CAAC;QAChE,IAAI,CAACF,kBAAkBL,gBAAgB,MAAM,IAAIxD,UAAUoB,IAAI2C,CAAC;QAEhE,MAAMC,cAAc,MAAM7D,UAAU;YAClCkB,YAAYa;YACZN,SAASR,IAAIQ,OAAO;YACpBO,OAAO;YACP8B,KAAKJ;YACLzB,OAAOC;YACPG,gBAAgB;YAChB0B,QAAQ;YACRzB;YACAH,gBAAgB;YAChBlB;YACAuB,kBAAkB;QACpB;QAEA,wCAAwC;QACxC,wCAAwC;QACxC,wCAAwC;QAExC,MAAM,EAAEE,MAAMsB,WAAW,EAAEC,OAAOC,aAAa,EAAE,GAAG,MAAM9D,iBAAiB;YACzEc;YACAC;YACAuB;YACAhB,WAAW;YACXU;YACAnB;YACAkD,oBAAoB;QACtB;QAEAzB,OAAOsB;QAEP,wCAAwC;QACxC,8BAA8B;QAC9B,wCAAwC;QAExC,MAAM7D,sBAAsB;YAC1B4B;YACAZ;YACA2C,KAAKJ;YACLO,OAAOC;YACPE,gBAAgB;YAChBnD;QACF;QAEA,wCAAwC;QACxC,0BAA0B;QAC1B,wCAAwC;QAExCyB,OAAO,MAAMxC,eAAkE;YAC7E2B;YACAX,YAAYa;YACZN,SAASR,IAAIQ,OAAO;YACpBiB;YACAoB,KAAKD;YACLE,QAAQ;YACRrC,WAAW;YACXS;YACAlB;QACF;QAEA,wCAAwC;QACxC,8BAA8B;QAC9B,wCAAwC;QAExC,MAAMc,iBAAiBX,KAAK,CAAClB,cAAc,CAACoB,MAAM,CAAC,OAAOC,WAAWC;YACnE,MAAMD;YAENmB,OACE,AAAC,MAAMlB,KAAK;gBACVN,YAAYa;gBACZN,SAASR,IAAIQ,OAAO;gBACpBiB;gBACAhB,WAAW;gBACXmC;gBACA5C;YACF,MAAOyB;QACX,GAAGf,QAAQC,OAAO;QAElB,wCAAwC;QACxC,+BAA+B;QAC/B,wCAAwC;QAExC,IAAI,CAACG,iBAAiBsC,MAAM,CAACC,mBAAmB,EAAE;YAChD,MAAMhE,YAAYiC,SAAS2B,eAAejD;QAC5C;QAEA,wCAAwC;QACxC,4BAA4B;QAC5B,wCAAwC;QAExC,MAAMc,iBAAiBX,KAAK,CAACnB,YAAY,CAACqB,MAAM,CAAC,OAAOC,WAAWC;YACjE,MAAMD;YAENmB,OACE,AAAC,MAAMlB,KAAK;gBACVN,YAAYa;gBACZN,SAASR,IAAIQ,OAAO;gBACpBiB;gBACAhB,WAAW;gBACXmC;gBACA5C;YACF,MAAOyB;QACX,GAAGf,QAAQC,OAAO;QAElB,wCAAwC;QACxC,wBAAwB;QACxB,wCAAwC;QAExC,IAAI2C,SAAS,MAAMtE,aAAmD;YACpE4B;YACAX,YAAYa;YACZN,SAASR,IAAIQ,OAAO;YACpBiB;YACAoB,KAAKD;YACLH;YACAK,QAAQ;YACRrC,WAAW;YACXT;YACAuD,gBACE5B,mBACAb,iBAAiBe,QAAQ,CAACC,MAAM,IAChC,CAAChB,iBAAiBe,QAAQ,CAACC,MAAM,CAAC0B,QAAQ,IAC1C/B,KAAKgC,OAAO,KAAK;QACrB;QAEA,wCAAwC;QACxC,mCAAmC;QACnC,wCAAwC;QAExC,MAAMC,eAAwC;YAAE,GAAGJ,MAAM;QAAC;QAE1D,IAAIvB,sBAAsB,OAAOL,aAAa,UAAU;YACtD,MAAM,EAAEiC,IAAI,EAAEC,IAAI,EAAE,GAAG,MAAMpF,yBAAyB;gBAAEkD;YAAS;YACjEgC,aAAaE,IAAI,GAAGA;YACpBF,aAAaC,IAAI,GAAGA;YACpB,OAAOD,aAAahC,QAAQ;YAC5B,OAAOD,KAAKC,QAAQ;QACtB;QAEA,wCAAwC;QACxC,SAAS;QACT,wCAAwC;QAExC,IAAI,CAACC,mBAAmBF,KAAKgC,OAAO,KAAK,aAAa;YACpDH,SAAS,MAAMtD,IAAIsB,OAAO,CAACuC,EAAE,CAACC,SAAS,CAAC;gBACtClD;gBACAX,YAAYa,iBAAiBwB,IAAI;gBACjCb,MAAMiC;gBACNrC;gBACArB;YACF;QACF;QAEA,wCAAwC;QACxC,iBAAiB;QACjB,wCAAwC;QAExC,IAAIc,iBAAiBe,QAAQ,EAAE;YAC7ByB,SAAS,MAAM5D,YAAY;gBACzBkB;gBACAC;gBACAZ,YAAYa;gBACZ2B,gBAAgB;oBACd,GAAGa,MAAM;oBACTS,WAAWtB,eAAesB,SAAS;gBACrC;gBACA/C,OAAOW;gBACPL;gBACAtB;YACF;QACF;QAEA,wCAAwC;QACxC,qBAAqB;QACrB,wCAAwC;QAExCsD,SAAS,MAAMvE,UAAU;YACvBkB,YAAYa;YACZN,SAASR,IAAIQ,OAAO;YACpBO;YACA8B,KAAKS;YACLtC,OAAOC;YACPG;YACA0B,QAAQ;YACRzB;YACAH;YACAlB;YACAuB;QACF;QAEA,wCAAwC;QACxC,yBAAyB;QACzB,wCAAwC;QAExC,MAAMT,iBAAiBX,KAAK,CAACpB,SAAS,CAACsB,MAAM,CAAC,OAAOC,WAAWC;YAC9D,MAAMD;YAENgD,SACE,AAAC,MAAM/C,KAAK;gBACVN,YAAYa;gBACZN,SAASR,IAAIQ,OAAO;gBACpBqC,KAAKS;gBACLtD;YACF,MAAOsD;QACX,GAAG5C,QAAQC,OAAO;QAElB,wCAAwC;QACxC,uBAAuB;QACvB,wCAAwC;QAExC2C,SAAS,MAAMxE,YAAkD;YAC/DmB,YAAYa;YACZN,SAASR,IAAIQ,OAAO;YACpBiB;YACAoB,KAAKS;YACLR,QAAQ;YACRrC,WAAW;YACXuD,aAAapB;YACb5C;QACF;QAEA,wCAAwC;QACxC,2BAA2B;QAC3B,wCAAwC;QAExC,MAAMc,iBAAiBX,KAAK,CAACrB,WAAW,CAACuB,MAAM,CAAC,OAAOC,WAAWC;YAChE,MAAMD;YAENgD,SACE,AAAC,MAAM/C,KAAK;gBACVN,YAAYa;gBACZN,SAASR,IAAIQ,OAAO;gBACpBqC,KAAKS;gBACL7C,WAAW;gBACXuD,aAAapB;gBACb5C;YACF,MAAOsD;QACX,GAAG5C,QAAQC,OAAO;QAElB,wCAAwC;QACxC,8BAA8B;QAC9B,wCAAwC;QAExC2C,SAAS,MAAM3D,oBAA0D;YACvEG;YACAG,YAAYa;YACZL,WAAW;YACX6C;QACF;QAEA,MAAMlE,gBAAgB;YACpB0B;YACAZ;YACAF;QACF;QAEA,wCAAwC;QACxC,iBAAiB;QACjB,wCAAwC;QAExC,IAAID,cAAc,MAAMT,kBAAkBU;QAE1C,OAAOsD;IACT,EAAE,OAAOW,OAAgB;QACvB,MAAMzE,gBAAgBM,KAAKE,GAAG;QAC9B,MAAMiE;IACR;AACF,EAAC"}
1
+ {"version":3,"sources":["../../../src/collections/operations/updateByID.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, GeneratedTypes } from '../../index.js'\nimport type { PayloadRequestWithData } from '../../types/index.js'\nimport type {\n Collection,\n DataFromCollectionSlug,\n RequiredDataFromCollectionSlug,\n} from '../config/types.js'\n\nimport executeAccess from '../../auth/executeAccess.js'\nimport { generatePasswordSaltHash } from '../../auth/strategies/local/generatePasswordSaltHash.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 { deleteAssociatedFiles } from '../../uploads/deleteAssociatedFiles.js'\nimport { generateFileData } from '../../uploads/generateFileData.js'\nimport { unlinkTempFiles } from '../../uploads/unlinkTempFiles.js'\nimport { uploadFiles } from '../../uploads/uploadFiles.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<TSlug extends CollectionSlug> = {\n autosave?: boolean\n collection: Collection\n data: DeepPartial<RequiredDataFromCollectionSlug<TSlug>>\n depth?: number\n disableVerificationEmail?: boolean\n draft?: boolean\n id: number | string\n overrideAccess?: boolean\n overwriteExistingFiles?: boolean\n req: PayloadRequestWithData\n showHiddenFields?: boolean\n}\n\nexport const updateByIDOperation = async <TSlug extends CollectionSlug>(\n incomingArgs: Arguments<TSlug>,\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(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: 'update',\n req: args.req,\n })) || args\n }, Promise.resolve())\n\n const {\n id,\n autosave = false,\n collection: { config: collectionConfig },\n collection,\n depth,\n draft: draftArg = false,\n overrideAccess,\n overwriteExistingFiles = false,\n req: {\n fallbackLocale,\n locale,\n payload: { config },\n payload,\n },\n req,\n showHiddenFields,\n } = args\n\n if (!id) {\n throw new APIError('Missing ID of document to update.', httpStatus.BAD_REQUEST)\n }\n\n let { data } = args\n const password = data?.password\n const shouldSaveDraft = Boolean(draftArg && collectionConfig.versions.drafts)\n const shouldSavePassword = Boolean(password && collectionConfig.auth && !shouldSaveDraft)\n\n // /////////////////////////////////////\n // Access\n // /////////////////////////////////////\n\n const accessResults = !overrideAccess\n ? await executeAccess({ id, data, req }, collectionConfig.access.update)\n : true\n const hasWherePolicy = hasWhereAccessResult(accessResults)\n\n // /////////////////////////////////////\n // Retrieve document\n // /////////////////////////////////////\n\n const findOneArgs: FindOneArgs = {\n collection: collectionConfig.slug,\n 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 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,\n overrideAccess: true,\n req,\n showHiddenFields: true,\n })\n\n // /////////////////////////////////////\n // Generate data for all files and sizes\n // /////////////////////////////////////\n\n const { data: newFileData, files: filesToUpload } = await generateFileData({\n collection,\n config,\n data,\n operation: 'update',\n overwriteExistingFiles,\n req,\n throwOnMissingFile: false,\n })\n\n data = newFileData\n\n // /////////////////////////////////////\n // Delete any associated files\n // /////////////////////////////////////\n\n await deleteAssociatedFiles({\n collectionConfig,\n config,\n doc: docWithLocales,\n files: filesToUpload,\n overrideDelete: false,\n req,\n })\n\n // /////////////////////////////////////\n // beforeValidate - Fields\n // /////////////////////////////////////\n\n data = await beforeValidate<DeepPartial<DataFromCollectionSlug<TSlug>>>({\n id,\n collection: collectionConfig,\n context: req.context,\n data,\n doc: originalDoc,\n global: null,\n operation: 'update',\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: 'update',\n originalDoc,\n req,\n })) || data\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // Write files to local storage\n // /////////////////////////////////////\n\n if (!collectionConfig.upload.disableLocalStorage) {\n await uploadFiles(payload, filesToUpload, req)\n }\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: 'update',\n originalDoc,\n req,\n })) || data\n }, Promise.resolve())\n\n // /////////////////////////////////////\n // beforeChange - Fields\n // /////////////////////////////////////\n\n let result = await beforeChange<DataFromCollectionSlug<TSlug>>({\n id,\n collection: collectionConfig,\n context: req.context,\n data,\n doc: originalDoc,\n docWithLocales,\n global: null,\n operation: 'update',\n req,\n skipValidation:\n shouldSaveDraft &&\n collectionConfig.versions.drafts &&\n !collectionConfig.versions.drafts.validate &&\n data._status !== 'published',\n })\n\n // /////////////////////////////////////\n // Handle potential password update\n // /////////////////////////////////////\n\n const dataToUpdate: Record<string, unknown> = { ...result }\n\n if (shouldSavePassword && typeof password === 'string') {\n const { hash, salt } = await generatePasswordSaltHash({ password })\n dataToUpdate.salt = salt\n dataToUpdate.hash = hash\n delete dataToUpdate.password\n delete data.password\n }\n\n // /////////////////////////////////////\n // Update\n // /////////////////////////////////////\n\n if (!shouldSaveDraft || data._status === 'published') {\n result = await req.payload.db.updateOne({\n id,\n collection: collectionConfig.slug,\n data: dataToUpdate,\n locale,\n req,\n })\n }\n\n // /////////////////////////////////////\n // Create version\n // /////////////////////////////////////\n\n if (collectionConfig.versions) {\n result = await saveVersion({\n id,\n autosave,\n collection: collectionConfig,\n docWithLocales: {\n ...result,\n createdAt: docWithLocales.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: result,\n draft: draftArg,\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 // afterChange - Fields\n // /////////////////////////////////////\n\n result = await afterChange<DataFromCollectionSlug<TSlug>>({\n collection: collectionConfig,\n context: req.context,\n data,\n doc: result,\n global: null,\n operation: 'update',\n previousDoc: originalDoc,\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: 'update',\n previousDoc: originalDoc,\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: 'updateByID',\n result,\n })\n\n await unlinkTempFiles({\n collectionConfig,\n config,\n req,\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","generatePasswordSaltHash","hasWhereAccessResult","combineQueries","APIError","Forbidden","NotFound","afterChange","afterRead","beforeChange","beforeValidate","deleteAssociatedFiles","generateFileData","unlinkTempFiles","uploadFiles","commitTransaction","initTransaction","killTransaction","getLatestCollectionVersion","saveVersion","buildAfterOperation","updateByIDOperation","incomingArgs","args","shouldCommit","req","collection","config","hooks","beforeOperation","reduce","priorHook","hook","context","operation","Promise","resolve","id","autosave","collectionConfig","depth","draft","draftArg","overrideAccess","overwriteExistingFiles","fallbackLocale","locale","payload","showHiddenFields","BAD_REQUEST","data","password","shouldSaveDraft","Boolean","versions","drafts","shouldSavePassword","auth","accessResults","access","update","hasWherePolicy","findOneArgs","slug","where","equals","docWithLocales","query","t","originalDoc","doc","global","newFileData","files","filesToUpload","throwOnMissingFile","overrideDelete","upload","disableLocalStorage","result","skipValidation","validate","_status","dataToUpdate","hash","salt","db","updateOne","createdAt","previousDoc","error"],"mappings":"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"}
@@ -1,8 +1,9 @@
1
1
  import type { forgotPasswordOperation } from '../../auth/operations/forgotPassword.js';
2
2
  import type { loginOperation } from '../../auth/operations/login.js';
3
3
  import type { refreshOperation } from '../../auth/operations/refresh.js';
4
+ import type { CollectionSlug } from '../../index.js';
4
5
  import type { PayloadRequestWithData } from '../../types/index.js';
5
- import type { SanitizedCollectionConfig, TypeWithID } from '../config/types.js';
6
+ import type { SanitizedCollectionConfig } from '../config/types.js';
6
7
  import type { countOperation } from './count.js';
7
8
  import type { createOperation } from './create.js';
8
9
  import type { deleteOperation } from './delete.js';
@@ -11,69 +12,71 @@ import type { findOperation } from './find.js';
11
12
  import type { findByIDOperation } from './findByID.js';
12
13
  import type { updateOperation } from './update.js';
13
14
  import type { updateByIDOperation } from './updateByID.js';
14
- export type AfterOperationMap<T extends TypeWithID> = {
15
- count: typeof countOperation;
16
- create: typeof createOperation;
17
- delete: typeof deleteOperation;
18
- deleteByID: typeof deleteByIDOperation;
19
- find: typeof findOperation<T>;
20
- findByID: typeof findByIDOperation<T>;
15
+ export type AfterOperationMap<TOperationGeneric extends CollectionSlug> = {
16
+ count: typeof countOperation<TOperationGeneric>;
17
+ create: typeof createOperation<TOperationGeneric>;
18
+ delete: typeof deleteOperation<TOperationGeneric>;
19
+ deleteByID: typeof deleteByIDOperation<TOperationGeneric>;
20
+ find: typeof findOperation<TOperationGeneric>;
21
+ findByID: typeof findByIDOperation<TOperationGeneric>;
21
22
  forgotPassword: typeof forgotPasswordOperation;
22
- login: typeof loginOperation;
23
+ login: typeof loginOperation<TOperationGeneric>;
23
24
  refresh: typeof refreshOperation;
24
- update: typeof updateOperation;
25
- updateByID: typeof updateByIDOperation;
25
+ update: typeof updateOperation<TOperationGeneric>;
26
+ updateByID: typeof updateByIDOperation<TOperationGeneric>;
26
27
  };
27
- export type AfterOperationArg<T extends TypeWithID> = {
28
+ export type AfterOperationArg<TOperationGeneric extends CollectionSlug> = {
28
29
  /** The collection which this hook is being run on */
29
30
  collection: SanitizedCollectionConfig;
30
31
  req: PayloadRequestWithData;
31
32
  } & ({
32
- args: Parameters<AfterOperationMap<T>['count']>[0];
33
+ args: Parameters<AfterOperationMap<TOperationGeneric>['count']>[0];
33
34
  operation: 'count';
34
- result: Awaited<ReturnType<AfterOperationMap<T>['count']>>;
35
+ result: Awaited<ReturnType<AfterOperationMap<TOperationGeneric>['count']>>;
35
36
  } | {
36
- args: Parameters<AfterOperationMap<T>['create']>[0];
37
+ args: Parameters<AfterOperationMap<TOperationGeneric>['create']>[0];
37
38
  operation: 'create';
38
- result: Awaited<ReturnType<AfterOperationMap<T>['create']>>;
39
+ result: Awaited<ReturnType<AfterOperationMap<TOperationGeneric>['create']>>;
39
40
  } | {
40
- args: Parameters<AfterOperationMap<T>['delete']>[0];
41
+ args: Parameters<AfterOperationMap<TOperationGeneric>['delete']>[0];
41
42
  operation: 'delete';
42
- result: Awaited<ReturnType<AfterOperationMap<T>['delete']>>;
43
+ result: Awaited<ReturnType<AfterOperationMap<TOperationGeneric>['delete']>>;
43
44
  } | {
44
- args: Parameters<AfterOperationMap<T>['deleteByID']>[0];
45
+ args: Parameters<AfterOperationMap<TOperationGeneric>['deleteByID']>[0];
45
46
  operation: 'deleteByID';
46
- result: Awaited<ReturnType<AfterOperationMap<T>['deleteByID']>>;
47
+ result: Awaited<ReturnType<AfterOperationMap<TOperationGeneric>['deleteByID']>>;
47
48
  } | {
48
- args: Parameters<AfterOperationMap<T>['find']>[0];
49
+ args: Parameters<AfterOperationMap<TOperationGeneric>['find']>[0];
49
50
  operation: 'find';
50
- result: Awaited<ReturnType<AfterOperationMap<T>['find']>>;
51
+ result: Awaited<ReturnType<AfterOperationMap<TOperationGeneric>['find']>>;
51
52
  } | {
52
- args: Parameters<AfterOperationMap<T>['findByID']>[0];
53
+ args: Parameters<AfterOperationMap<TOperationGeneric>['findByID']>[0];
53
54
  operation: 'findByID';
54
- result: Awaited<ReturnType<AfterOperationMap<T>['findByID']>>;
55
+ result: Awaited<ReturnType<AfterOperationMap<TOperationGeneric>['findByID']>>;
55
56
  } | {
56
- args: Parameters<AfterOperationMap<T>['forgotPassword']>[0];
57
+ args: Parameters<AfterOperationMap<TOperationGeneric>['forgotPassword']>[0];
57
58
  operation: 'forgotPassword';
58
- result: Awaited<ReturnType<AfterOperationMap<T>['forgotPassword']>>;
59
+ result: Awaited<ReturnType<AfterOperationMap<TOperationGeneric>['forgotPassword']>>;
59
60
  } | {
60
- args: Parameters<AfterOperationMap<T>['login']>[0];
61
+ args: Parameters<AfterOperationMap<TOperationGeneric>['login']>[0];
61
62
  operation: 'login';
62
- result: Awaited<ReturnType<AfterOperationMap<T>['login']>>;
63
+ result: Awaited<ReturnType<AfterOperationMap<TOperationGeneric>['login']>>;
63
64
  } | {
64
- args: Parameters<AfterOperationMap<T>['refresh']>[0];
65
+ args: Parameters<AfterOperationMap<TOperationGeneric>['refresh']>[0];
65
66
  operation: 'refresh';
66
- result: Awaited<ReturnType<AfterOperationMap<T>['refresh']>>;
67
+ result: Awaited<ReturnType<AfterOperationMap<TOperationGeneric>['refresh']>>;
67
68
  } | {
68
- args: Parameters<AfterOperationMap<T>['update']>[0];
69
+ args: Parameters<AfterOperationMap<TOperationGeneric>['update']>[0];
69
70
  operation: 'update';
70
- result: Awaited<ReturnType<AfterOperationMap<T>['update']>>;
71
+ result: Awaited<ReturnType<AfterOperationMap<TOperationGeneric>['update']>>;
71
72
  } | {
72
- args: Parameters<AfterOperationMap<T>['updateByID']>[0];
73
+ args: Parameters<AfterOperationMap<TOperationGeneric>['updateByID']>[0];
73
74
  operation: 'updateByID';
74
- result: Awaited<ReturnType<AfterOperationMap<T>['updateByID']>>;
75
+ result: Awaited<ReturnType<AfterOperationMap<TOperationGeneric>['updateByID']>>;
75
76
  });
76
- export declare const buildAfterOperation: <T extends TypeWithID = any, O extends keyof AfterOperationMap<T> = keyof AfterOperationMap<T>>(operationArgs: Omit<AfterOperationArg<T>, 'req'> & {
77
+ type OperationResult<TOperationGeneric extends CollectionSlug, O extends keyof AfterOperationMap<TOperationGeneric>> = Awaited<ReturnType<AfterOperationMap<TOperationGeneric>[O]>>;
78
+ export declare const buildAfterOperation: <TOperationGeneric extends CollectionSlug, O extends keyof AfterOperationMap<TOperationGeneric> = keyof AfterOperationMap<TOperationGeneric>>(operationArgs: Omit<AfterOperationArg<TOperationGeneric>, "req"> & {
77
79
  operation: O;
78
- }) => Promise<Awaited<ReturnType<AfterOperationMap<T>[O]>>>;
80
+ }) => Promise<OperationResult<TOperationGeneric, O> | any>;
81
+ export {};
79
82
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/collections/operations/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/collections/operations/utils.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- // export type AfterOperationHook = typeof buildAfterOperation;
2
1
  export const buildAfterOperation = async (operationArgs)=>{
3
2
  const { args, collection, operation, result } = operationArgs;
4
3
  let newResult = result;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/collections/operations/utils.ts"],"sourcesContent":["import type { forgotPasswordOperation } from '../../auth/operations/forgotPassword.js'\nimport type { loginOperation } from '../../auth/operations/login.js'\nimport type { refreshOperation } from '../../auth/operations/refresh.js'\nimport type { PayloadRequestWithData } from '../../types/index.js'\nimport type { AfterOperationHook, SanitizedCollectionConfig, TypeWithID } from '../config/types.js'\nimport type { countOperation } from './count.js'\nimport type { createOperation } from './create.js'\nimport type { deleteOperation } from './delete.js'\nimport type { deleteByIDOperation } from './deleteByID.js'\nimport type { findOperation } from './find.js'\nimport type { findByIDOperation } from './findByID.js'\nimport type { updateOperation } from './update.js'\nimport type { updateByIDOperation } from './updateByID.js'\n\nexport type AfterOperationMap<T extends TypeWithID> = {\n count: typeof countOperation\n create: typeof createOperation // todo: pass correct generic\n delete: typeof deleteOperation // todo: pass correct generic\n deleteByID: typeof deleteByIDOperation // todo: pass correct generic\n find: typeof findOperation<T>\n findByID: typeof findByIDOperation<T>\n forgotPassword: typeof forgotPasswordOperation\n login: typeof loginOperation\n refresh: typeof refreshOperation\n update: typeof updateOperation // todo: pass correct generic\n updateByID: typeof updateByIDOperation // todo: pass correct generic\n}\nexport type AfterOperationArg<T extends TypeWithID> = {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n req: PayloadRequestWithData\n} & (\n | {\n args: Parameters<AfterOperationMap<T>['count']>[0]\n operation: 'count'\n result: Awaited<ReturnType<AfterOperationMap<T>['count']>>\n }\n | {\n args: Parameters<AfterOperationMap<T>['create']>[0]\n operation: 'create'\n result: Awaited<ReturnType<AfterOperationMap<T>['create']>>\n }\n | {\n args: Parameters<AfterOperationMap<T>['delete']>[0]\n operation: 'delete'\n result: Awaited<ReturnType<AfterOperationMap<T>['delete']>>\n }\n | {\n args: Parameters<AfterOperationMap<T>['deleteByID']>[0]\n operation: 'deleteByID'\n result: Awaited<ReturnType<AfterOperationMap<T>['deleteByID']>>\n }\n | {\n args: Parameters<AfterOperationMap<T>['find']>[0]\n operation: 'find'\n result: Awaited<ReturnType<AfterOperationMap<T>['find']>>\n }\n | {\n args: Parameters<AfterOperationMap<T>['findByID']>[0]\n operation: 'findByID'\n result: Awaited<ReturnType<AfterOperationMap<T>['findByID']>>\n }\n | {\n args: Parameters<AfterOperationMap<T>['forgotPassword']>[0]\n operation: 'forgotPassword'\n result: Awaited<ReturnType<AfterOperationMap<T>['forgotPassword']>>\n }\n | {\n args: Parameters<AfterOperationMap<T>['login']>[0]\n operation: 'login'\n result: Awaited<ReturnType<AfterOperationMap<T>['login']>>\n }\n | {\n args: Parameters<AfterOperationMap<T>['refresh']>[0]\n operation: 'refresh'\n result: Awaited<ReturnType<AfterOperationMap<T>['refresh']>>\n }\n | {\n args: Parameters<AfterOperationMap<T>['update']>[0]\n operation: 'update'\n result: Awaited<ReturnType<AfterOperationMap<T>['update']>>\n }\n | {\n args: Parameters<AfterOperationMap<T>['updateByID']>[0]\n operation: 'updateByID'\n result: Awaited<ReturnType<AfterOperationMap<T>['updateByID']>>\n }\n)\n\n// export type AfterOperationHook = typeof buildAfterOperation;\n\nexport const buildAfterOperation = async <\n T extends TypeWithID = any,\n O extends keyof AfterOperationMap<T> = keyof AfterOperationMap<T>,\n>(\n operationArgs: Omit<AfterOperationArg<T>, 'req'> & { operation: O },\n): Promise<Awaited<ReturnType<AfterOperationMap<T>[O]>>> => {\n const { args, collection, operation, result } = operationArgs\n\n let newResult = result\n\n await args.collection.config.hooks.afterOperation.reduce(\n async (priorHook, hook: AfterOperationHook<T>) => {\n await priorHook\n\n const hookResult = await hook({\n args,\n collection,\n operation,\n req: args.req,\n result: newResult,\n } as AfterOperationArg<T>)\n\n if (hookResult !== undefined) {\n newResult = hookResult\n }\n },\n Promise.resolve(),\n )\n\n return newResult\n}\n"],"names":["buildAfterOperation","operationArgs","args","collection","operation","result","newResult","config","hooks","afterOperation","reduce","priorHook","hook","hookResult","req","undefined","Promise","resolve"],"rangeMappings":";;;;;;;;;;;;;;;;;;","mappings":"AAyFA,+DAA+D;AAE/D,OAAO,MAAMA,sBAAsB,OAIjCC;IAEA,MAAM,EAAEC,IAAI,EAAEC,UAAU,EAAEC,SAAS,EAAEC,MAAM,EAAE,GAAGJ;IAEhD,IAAIK,YAAYD;IAEhB,MAAMH,KAAKC,UAAU,CAACI,MAAM,CAACC,KAAK,CAACC,cAAc,CAACC,MAAM,CACtD,OAAOC,WAAWC;QAChB,MAAMD;QAEN,MAAME,aAAa,MAAMD,KAAK;YAC5BV;YACAC;YACAC;YACAU,KAAKZ,KAAKY,GAAG;YACbT,QAAQC;QACV;QAEA,IAAIO,eAAeE,WAAW;YAC5BT,YAAYO;QACd;IACF,GACAG,QAAQC,OAAO;IAGjB,OAAOX;AACT,EAAC"}
1
+ {"version":3,"sources":["../../../src/collections/operations/utils.ts"],"sourcesContent":["import type { forgotPasswordOperation } from '../../auth/operations/forgotPassword.js'\nimport type { loginOperation } from '../../auth/operations/login.js'\nimport type { refreshOperation } from '../../auth/operations/refresh.js'\nimport type { CollectionSlug } from '../../index.js'\nimport type { PayloadRequestWithData } from '../../types/index.js'\nimport type { AfterOperationHook, SanitizedCollectionConfig } from '../config/types.js'\nimport type { countOperation } from './count.js'\nimport type { createOperation } from './create.js'\nimport type { deleteOperation } from './delete.js'\nimport type { deleteByIDOperation } from './deleteByID.js'\nimport type { findOperation } from './find.js'\nimport type { findByIDOperation } from './findByID.js'\nimport type { updateOperation } from './update.js'\nimport type { updateByIDOperation } from './updateByID.js'\n\nexport type AfterOperationMap<TOperationGeneric extends CollectionSlug> = {\n count: typeof countOperation<TOperationGeneric>\n create: typeof createOperation<TOperationGeneric>\n delete: typeof deleteOperation<TOperationGeneric>\n deleteByID: typeof deleteByIDOperation<TOperationGeneric>\n find: typeof findOperation<TOperationGeneric>\n findByID: typeof findByIDOperation<TOperationGeneric>\n forgotPassword: typeof forgotPasswordOperation\n login: typeof loginOperation<TOperationGeneric>\n refresh: typeof refreshOperation\n update: typeof updateOperation<TOperationGeneric>\n updateByID: typeof updateByIDOperation<TOperationGeneric>\n}\n\nexport type AfterOperationArg<TOperationGeneric extends CollectionSlug> = {\n /** The collection which this hook is being run on */\n collection: SanitizedCollectionConfig\n req: PayloadRequestWithData\n} & (\n | {\n args: Parameters<AfterOperationMap<TOperationGeneric>['count']>[0]\n operation: 'count'\n result: Awaited<ReturnType<AfterOperationMap<TOperationGeneric>['count']>>\n }\n | {\n args: Parameters<AfterOperationMap<TOperationGeneric>['create']>[0]\n operation: 'create'\n result: Awaited<ReturnType<AfterOperationMap<TOperationGeneric>['create']>>\n }\n | {\n args: Parameters<AfterOperationMap<TOperationGeneric>['delete']>[0]\n operation: 'delete'\n result: Awaited<ReturnType<AfterOperationMap<TOperationGeneric>['delete']>>\n }\n | {\n args: Parameters<AfterOperationMap<TOperationGeneric>['deleteByID']>[0]\n operation: 'deleteByID'\n result: Awaited<ReturnType<AfterOperationMap<TOperationGeneric>['deleteByID']>>\n }\n | {\n args: Parameters<AfterOperationMap<TOperationGeneric>['find']>[0]\n operation: 'find'\n result: Awaited<ReturnType<AfterOperationMap<TOperationGeneric>['find']>>\n }\n | {\n args: Parameters<AfterOperationMap<TOperationGeneric>['findByID']>[0]\n operation: 'findByID'\n result: Awaited<ReturnType<AfterOperationMap<TOperationGeneric>['findByID']>>\n }\n | {\n args: Parameters<AfterOperationMap<TOperationGeneric>['forgotPassword']>[0]\n operation: 'forgotPassword'\n result: Awaited<ReturnType<AfterOperationMap<TOperationGeneric>['forgotPassword']>>\n }\n | {\n args: Parameters<AfterOperationMap<TOperationGeneric>['login']>[0]\n operation: 'login'\n result: Awaited<ReturnType<AfterOperationMap<TOperationGeneric>['login']>>\n }\n | {\n args: Parameters<AfterOperationMap<TOperationGeneric>['refresh']>[0]\n operation: 'refresh'\n result: Awaited<ReturnType<AfterOperationMap<TOperationGeneric>['refresh']>>\n }\n | {\n args: Parameters<AfterOperationMap<TOperationGeneric>['update']>[0]\n operation: 'update'\n result: Awaited<ReturnType<AfterOperationMap<TOperationGeneric>['update']>>\n }\n | {\n args: Parameters<AfterOperationMap<TOperationGeneric>['updateByID']>[0]\n operation: 'updateByID'\n result: Awaited<ReturnType<AfterOperationMap<TOperationGeneric>['updateByID']>>\n }\n)\n\ntype OperationResult<\n TOperationGeneric extends CollectionSlug,\n O extends keyof AfterOperationMap<TOperationGeneric>,\n> = Awaited<ReturnType<AfterOperationMap<TOperationGeneric>[O]>>\n\nexport const buildAfterOperation = async <\n TOperationGeneric extends CollectionSlug,\n O extends keyof AfterOperationMap<TOperationGeneric> = keyof AfterOperationMap<TOperationGeneric>,\n>(\n operationArgs: Omit<AfterOperationArg<TOperationGeneric>, 'req'> & { operation: O },\n): Promise<OperationResult<TOperationGeneric, O> | any> => {\n const { args, collection, operation, result } = operationArgs\n\n let newResult = result as OperationResult<TOperationGeneric, O>\n\n await args.collection.config.hooks.afterOperation.reduce(\n async (priorHook, hook: AfterOperationHook<TOperationGeneric>) => {\n await priorHook\n\n const hookResult = await hook({\n args,\n collection,\n operation,\n req: args.req,\n result: newResult,\n } as AfterOperationArg<TOperationGeneric>)\n\n if (hookResult !== undefined) {\n newResult = hookResult as OperationResult<TOperationGeneric, O>\n }\n },\n Promise.resolve(),\n )\n\n return newResult\n}\n"],"names":["buildAfterOperation","operationArgs","args","collection","operation","result","newResult","config","hooks","afterOperation","reduce","priorHook","hook","hookResult","req","undefined","Promise","resolve"],"mappings":"AAgGA,OAAO,MAAMA,sBAAsB,OAIjCC;IAEA,MAAM,EAAEC,IAAI,EAAEC,UAAU,EAAEC,SAAS,EAAEC,MAAM,EAAE,GAAGJ;IAEhD,IAAIK,YAAYD;IAEhB,MAAMH,KAAKC,UAAU,CAACI,MAAM,CAACC,KAAK,CAACC,cAAc,CAACC,MAAM,CACtD,OAAOC,WAAWC;QAChB,MAAMD;QAEN,MAAME,aAAa,MAAMD,KAAK;YAC5BV;YACAC;YACAC;YACAU,KAAKZ,KAAKY,GAAG;YACbT,QAAQC;QACV;QAEA,IAAIO,eAAeE,WAAW;YAC5BT,YAAYO;QACd;IACF,GACAG,QAAQC,OAAO;IAGjB,OAAOX;AACT,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/config/build.ts"],"sourcesContent":["import type { Config, SanitizedConfig } from './types.js'\n\nimport { sanitizeConfig } from './sanitize.js'\n\n/**\n * @description Builds and validates Payload configuration\n * @param config Payload Config\n * @returns Built and sanitized Payload Config\n */\nexport async function buildConfig(config: Config): Promise<SanitizedConfig> {\n if (Array.isArray(config.plugins)) {\n const configAfterPlugins = await config.plugins.reduce(async (acc, plugin) => {\n const configAfterPlugin = await acc\n return plugin(configAfterPlugin)\n }, Promise.resolve(config))\n\n return await sanitizeConfig(configAfterPlugins)\n }\n\n return await sanitizeConfig(config)\n}\n"],"names":["sanitizeConfig","buildConfig","config","Array","isArray","plugins","configAfterPlugins","reduce","acc","plugin","configAfterPlugin","Promise","resolve"],"rangeMappings":";;;;;;;;;;;;;;","mappings":"AAEA,SAASA,cAAc,QAAQ,gBAAe;AAE9C;;;;CAIC,GACD,OAAO,eAAeC,YAAYC,MAAc;IAC9C,IAAIC,MAAMC,OAAO,CAACF,OAAOG,OAAO,GAAG;QACjC,MAAMC,qBAAqB,MAAMJ,OAAOG,OAAO,CAACE,MAAM,CAAC,OAAOC,KAAKC;YACjE,MAAMC,oBAAoB,MAAMF;YAChC,OAAOC,OAAOC;QAChB,GAAGC,QAAQC,OAAO,CAACV;QAEnB,OAAO,MAAMF,eAAeM;IAC9B;IAEA,OAAO,MAAMN,eAAeE;AAC9B"}
1
+ {"version":3,"sources":["../../src/config/build.ts"],"sourcesContent":["import type { Config, SanitizedConfig } from './types.js'\n\nimport { sanitizeConfig } from './sanitize.js'\n\n/**\n * @description Builds and validates Payload configuration\n * @param config Payload Config\n * @returns Built and sanitized Payload Config\n */\nexport async function buildConfig(config: Config): Promise<SanitizedConfig> {\n if (Array.isArray(config.plugins)) {\n const configAfterPlugins = await config.plugins.reduce(async (acc, plugin) => {\n const configAfterPlugin = await acc\n return plugin(configAfterPlugin)\n }, Promise.resolve(config))\n\n return await sanitizeConfig(configAfterPlugins)\n }\n\n return await sanitizeConfig(config)\n}\n"],"names":["sanitizeConfig","buildConfig","config","Array","isArray","plugins","configAfterPlugins","reduce","acc","plugin","configAfterPlugin","Promise","resolve"],"mappings":"AAEA,SAASA,cAAc,QAAQ,gBAAe;AAE9C;;;;CAIC,GACD,OAAO,eAAeC,YAAYC,MAAc;IAC9C,IAAIC,MAAMC,OAAO,CAACF,OAAOG,OAAO,GAAG;QACjC,MAAMC,qBAAqB,MAAMJ,OAAOG,OAAO,CAACE,MAAM,CAAC,OAAOC,KAAKC;YACjE,MAAMC,oBAAoB,MAAMF;YAChC,OAAOC,OAAOC;QAChB,GAAGC,QAAQC,OAAO,CAACV;QAEnB,OAAO,MAAMF,eAAeM;IAC9B;IAEA,OAAO,MAAMN,eAAeE;AAC9B"}
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/config/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AAEzD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAA;AAE7E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;AAErE,OAAO,KAAK,EACV,iBAAiB,EACjB,eAAe,EACf,+BAA+B,EAChC,MAAM,YAAY,CAAA;AAKnB,MAAM,MAAM,wBAAwB,GAAG,MAAM,IAAI,CAC/C,eAAe,EACb,KAAK,GACL,MAAM,GACN,MAAM,GACN,QAAQ,GACR,IAAI,GACJ,QAAQ,GACR,OAAO,GACP,WAAW,GACX,SAAS,GACT,OAAO,GACP,QAAQ,GACR,SAAS,GACT,QAAQ,GACR,OAAO,GACP,YAAY,CACf,CAAA;AAED,MAAM,MAAM,6BAA6B,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,YAAY,CAAC,CAAA;AAE9F,MAAM,MAAM,YAAY,GAAG,IAAI,CAC7B,eAAe,EACf,OAAO,GAAG,aAAa,GAAG,SAAS,GAAG,wBAAwB,CAC/D,GAAG;IACF,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,6BAA6B,GAAG,aAAa,CAAC,GAAG;QACrF,WAAW,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,+BAA+B,CAAC,CAAA;KACvE,CAAA;IACD,WAAW,EAAE,sBAAsB,EAAE,CAAA;IACrC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC5B,OAAO,EAAE,kBAAkB,EAAE,CAAA;CAC9B,CAAA;AAED,eAAO,MAAM,kBAAkB,mBAG5B;IACD,MAAM,EAAE,eAAe,CAAA;IACvB,CAAC,EAAE,SAAS,CAAA;CAEb,KAAG,QAAQ,YAAY,CAgEvB,CAAA"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/config/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AAEzD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAA;AAE7E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;AAErE,OAAO,KAAK,EACV,iBAAiB,EACjB,eAAe,EACf,+BAA+B,EAChC,MAAM,YAAY,CAAA;AAKnB,MAAM,MAAM,wBAAwB,GAAG,MAAM,IAAI,CAC/C,eAAe,EACb,KAAK,GACL,MAAM,GACN,MAAM,GACN,QAAQ,GACR,IAAI,GACJ,QAAQ,GACR,OAAO,GACP,WAAW,GACX,SAAS,GACT,OAAO,GACP,QAAQ,GACR,SAAS,GACT,QAAQ,GACR,OAAO,GACP,YAAY,CACf,CAAA;AAED,MAAM,MAAM,6BAA6B,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,YAAY,CAAC,CAAA;AAE9F,MAAM,MAAM,YAAY,GAAG,IAAI,CAC7B,eAAe,EACf,OAAO,GAAG,aAAa,GAAG,SAAS,GAAG,wBAAwB,CAC/D,GAAG;IACF,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,6BAA6B,GAAG,aAAa,CAAC,GAAG;QACrF,WAAW,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,+BAA+B,CAAC,CAAA;KACvE,CAAA;IACD,WAAW,EAAE,sBAAsB,EAAE,CAAA;IACrC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC5B,OAAO,EAAE,kBAAkB,EAAE,CAAA;CAC9B,CAAA;AAED,eAAO,MAAM,kBAAkB,mBAG5B;IACD,MAAM,EAAE,eAAe,CAAA;IACvB,CAAC,EAAE,SAAS,CAAA;CAEb,KAAG,OAAO,CAAC,YAAY,CAgEvB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/config/client.ts"],"sourcesContent":["import type { TFunction } from '@payloadcms/translations'\n\nimport type { ClientCollectionConfig } from '../collections/config/client.js'\nimport type { SanitizedCollectionConfig } from '../collections/config/types.js'\nimport type { ClientGlobalConfig } from '../globals/config/client.js'\nimport type { SanitizedGlobalConfig } from '../globals/config/types.js'\nimport type {\n LivePreviewConfig,\n SanitizedConfig,\n ServerOnlyLivePreviewProperties,\n} from './types.js'\n\nimport { createClientCollectionConfigs } from '../collections/config/client.js'\nimport { createClientGlobalConfigs } from '../globals/config/client.js'\n\nexport type ServerOnlyRootProperties = keyof Pick<\n SanitizedConfig,\n | 'bin'\n | 'cors'\n | 'csrf'\n | 'custom'\n | 'db'\n | 'editor'\n | 'email'\n | 'endpoints'\n | 'graphQL'\n | 'hooks'\n | 'onInit'\n | 'plugins'\n | 'secret'\n | 'sharp'\n | 'typescript'\n>\n\nexport type ServerOnlyRootAdminProperties = keyof Pick<SanitizedConfig['admin'], 'components'>\n\nexport type ClientConfig = Omit<\n SanitizedConfig,\n 'admin' | 'collections' | 'globals' | ServerOnlyRootProperties\n> & {\n admin: Omit<SanitizedConfig['admin'], ServerOnlyRootAdminProperties & 'livePreview'> & {\n livePreview?: Omit<LivePreviewConfig, ServerOnlyLivePreviewProperties>\n }\n collections: ClientCollectionConfig[]\n custom?: Record<string, any>\n globals: ClientGlobalConfig[]\n}\n\nexport const createClientConfig = async ({\n config,\n t,\n}: {\n config: SanitizedConfig\n t: TFunction\n // eslint-disable-next-line @typescript-eslint/require-await\n}): Promise<ClientConfig> => {\n const clientConfig: ClientConfig = { ...config }\n\n const serverOnlyConfigProperties: Partial<ServerOnlyRootProperties>[] = [\n 'endpoints',\n 'db',\n 'editor',\n 'plugins',\n 'sharp',\n 'onInit',\n 'secret',\n 'hooks',\n 'bin',\n 'typescript',\n 'cors',\n 'csrf',\n 'email',\n 'custom',\n 'graphQL',\n // `admin`, `onInit`, `localization`, `collections`, and `globals` are all handled separately\n ]\n\n serverOnlyConfigProperties.forEach((key) => {\n if (key in clientConfig) {\n delete clientConfig[key]\n }\n })\n\n if ('localization' in clientConfig && clientConfig.localization) {\n clientConfig.localization = { ...clientConfig.localization }\n\n clientConfig.localization.locales.forEach((locale) => {\n delete locale.toString\n })\n }\n\n if ('admin' in clientConfig) {\n clientConfig.admin = { ...clientConfig.admin }\n\n const serverOnlyAdminProperties: Partial<ServerOnlyRootAdminProperties>[] = ['components']\n\n serverOnlyAdminProperties.forEach((key) => {\n if (key in clientConfig.admin) {\n delete clientConfig.admin[key]\n }\n })\n\n if ('livePreview' in clientConfig.admin) {\n clientConfig.admin.livePreview = { ...clientConfig.admin.livePreview }\n delete clientConfig.admin.livePreview.url\n }\n }\n\n clientConfig.collections = createClientCollectionConfigs({\n collections: clientConfig.collections as SanitizedCollectionConfig[],\n t,\n })\n\n clientConfig.globals = createClientGlobalConfigs({\n globals: clientConfig.globals as SanitizedGlobalConfig[],\n t,\n })\n\n return clientConfig\n}\n"],"names":["createClientCollectionConfigs","createClientGlobalConfigs","createClientConfig","config","t","clientConfig","serverOnlyConfigProperties","forEach","key","localization","locales","locale","toString","admin","serverOnlyAdminProperties","livePreview","url","collections","globals"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAYA,SAASA,6BAA6B,QAAQ,kCAAiC;AAC/E,SAASC,yBAAyB,QAAQ,8BAA6B;AAmCvE,OAAO,MAAMC,qBAAqB,OAAO,EACvCC,MAAM,EACNC,CAAC,EAKF;IACC,MAAMC,eAA6B;QAAE,GAAGF,MAAM;IAAC;IAE/C,MAAMG,6BAAkE;QACtE;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;KAED;IAEDA,2BAA2BC,OAAO,CAAC,CAACC;QAClC,IAAIA,OAAOH,cAAc;YACvB,OAAOA,YAAY,CAACG,IAAI;QAC1B;IACF;IAEA,IAAI,kBAAkBH,gBAAgBA,aAAaI,YAAY,EAAE;QAC/DJ,aAAaI,YAAY,GAAG;YAAE,GAAGJ,aAAaI,YAAY;QAAC;QAE3DJ,aAAaI,YAAY,CAACC,OAAO,CAACH,OAAO,CAAC,CAACI;YACzC,OAAOA,OAAOC,QAAQ;QACxB;IACF;IAEA,IAAI,WAAWP,cAAc;QAC3BA,aAAaQ,KAAK,GAAG;YAAE,GAAGR,aAAaQ,KAAK;QAAC;QAE7C,MAAMC,4BAAsE;YAAC;SAAa;QAE1FA,0BAA0BP,OAAO,CAAC,CAACC;YACjC,IAAIA,OAAOH,aAAaQ,KAAK,EAAE;gBAC7B,OAAOR,aAAaQ,KAAK,CAACL,IAAI;YAChC;QACF;QAEA,IAAI,iBAAiBH,aAAaQ,KAAK,EAAE;YACvCR,aAAaQ,KAAK,CAACE,WAAW,GAAG;gBAAE,GAAGV,aAAaQ,KAAK,CAACE,WAAW;YAAC;YACrE,OAAOV,aAAaQ,KAAK,CAACE,WAAW,CAACC,GAAG;QAC3C;IACF;IAEAX,aAAaY,WAAW,GAAGjB,8BAA8B;QACvDiB,aAAaZ,aAAaY,WAAW;QACrCb;IACF;IAEAC,aAAaa,OAAO,GAAGjB,0BAA0B;QAC/CiB,SAASb,aAAaa,OAAO;QAC7Bd;IACF;IAEA,OAAOC;AACT,EAAC"}
1
+ {"version":3,"sources":["../../src/config/client.ts"],"sourcesContent":["import type { TFunction } from '@payloadcms/translations'\n\nimport type { ClientCollectionConfig } from '../collections/config/client.js'\nimport type { SanitizedCollectionConfig } from '../collections/config/types.js'\nimport type { ClientGlobalConfig } from '../globals/config/client.js'\nimport type { SanitizedGlobalConfig } from '../globals/config/types.js'\nimport type {\n LivePreviewConfig,\n SanitizedConfig,\n ServerOnlyLivePreviewProperties,\n} from './types.js'\n\nimport { createClientCollectionConfigs } from '../collections/config/client.js'\nimport { createClientGlobalConfigs } from '../globals/config/client.js'\n\nexport type ServerOnlyRootProperties = keyof Pick<\n SanitizedConfig,\n | 'bin'\n | 'cors'\n | 'csrf'\n | 'custom'\n | 'db'\n | 'editor'\n | 'email'\n | 'endpoints'\n | 'graphQL'\n | 'hooks'\n | 'onInit'\n | 'plugins'\n | 'secret'\n | 'sharp'\n | 'typescript'\n>\n\nexport type ServerOnlyRootAdminProperties = keyof Pick<SanitizedConfig['admin'], 'components'>\n\nexport type ClientConfig = Omit<\n SanitizedConfig,\n 'admin' | 'collections' | 'globals' | ServerOnlyRootProperties\n> & {\n admin: Omit<SanitizedConfig['admin'], ServerOnlyRootAdminProperties & 'livePreview'> & {\n livePreview?: Omit<LivePreviewConfig, ServerOnlyLivePreviewProperties>\n }\n collections: ClientCollectionConfig[]\n custom?: Record<string, any>\n globals: ClientGlobalConfig[]\n}\n\nexport const createClientConfig = async ({\n config,\n t,\n}: {\n config: SanitizedConfig\n t: TFunction\n // eslint-disable-next-line @typescript-eslint/require-await\n}): Promise<ClientConfig> => {\n const clientConfig: ClientConfig = { ...config }\n\n const serverOnlyConfigProperties: Partial<ServerOnlyRootProperties>[] = [\n 'endpoints',\n 'db',\n 'editor',\n 'plugins',\n 'sharp',\n 'onInit',\n 'secret',\n 'hooks',\n 'bin',\n 'typescript',\n 'cors',\n 'csrf',\n 'email',\n 'custom',\n 'graphQL',\n // `admin`, `onInit`, `localization`, `collections`, and `globals` are all handled separately\n ]\n\n serverOnlyConfigProperties.forEach((key) => {\n if (key in clientConfig) {\n delete clientConfig[key]\n }\n })\n\n if ('localization' in clientConfig && clientConfig.localization) {\n clientConfig.localization = { ...clientConfig.localization }\n\n clientConfig.localization.locales.forEach((locale) => {\n delete locale.toString\n })\n }\n\n if ('admin' in clientConfig) {\n clientConfig.admin = { ...clientConfig.admin }\n\n const serverOnlyAdminProperties: Partial<ServerOnlyRootAdminProperties>[] = ['components']\n\n serverOnlyAdminProperties.forEach((key) => {\n if (key in clientConfig.admin) {\n delete clientConfig.admin[key]\n }\n })\n\n if ('livePreview' in clientConfig.admin) {\n clientConfig.admin.livePreview = { ...clientConfig.admin.livePreview }\n delete clientConfig.admin.livePreview.url\n }\n }\n\n clientConfig.collections = createClientCollectionConfigs({\n collections: clientConfig.collections as SanitizedCollectionConfig[],\n t,\n })\n\n clientConfig.globals = createClientGlobalConfigs({\n globals: clientConfig.globals as SanitizedGlobalConfig[],\n t,\n })\n\n return clientConfig\n}\n"],"names":["createClientCollectionConfigs","createClientGlobalConfigs","createClientConfig","config","t","clientConfig","serverOnlyConfigProperties","forEach","key","localization","locales","locale","toString","admin","serverOnlyAdminProperties","livePreview","url","collections","globals"],"mappings":"AAYA,SAASA,6BAA6B,QAAQ,kCAAiC;AAC/E,SAASC,yBAAyB,QAAQ,8BAA6B;AAmCvE,OAAO,MAAMC,qBAAqB,OAAO,EACvCC,MAAM,EACNC,CAAC,EAKF;IACC,MAAMC,eAA6B;QAAE,GAAGF,MAAM;IAAC;IAE/C,MAAMG,6BAAkE;QACtE;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;KAED;IAEDA,2BAA2BC,OAAO,CAAC,CAACC;QAClC,IAAIA,OAAOH,cAAc;YACvB,OAAOA,YAAY,CAACG,IAAI;QAC1B;IACF;IAEA,IAAI,kBAAkBH,gBAAgBA,aAAaI,YAAY,EAAE;QAC/DJ,aAAaI,YAAY,GAAG;YAAE,GAAGJ,aAAaI,YAAY;QAAC;QAE3DJ,aAAaI,YAAY,CAACC,OAAO,CAACH,OAAO,CAAC,CAACI;YACzC,OAAOA,OAAOC,QAAQ;QACxB;IACF;IAEA,IAAI,WAAWP,cAAc;QAC3BA,aAAaQ,KAAK,GAAG;YAAE,GAAGR,aAAaQ,KAAK;QAAC;QAE7C,MAAMC,4BAAsE;YAAC;SAAa;QAE1FA,0BAA0BP,OAAO,CAAC,CAACC;YACjC,IAAIA,OAAOH,aAAaQ,KAAK,EAAE;gBAC7B,OAAOR,aAAaQ,KAAK,CAACL,IAAI;YAChC;QACF;QAEA,IAAI,iBAAiBH,aAAaQ,KAAK,EAAE;YACvCR,aAAaQ,KAAK,CAACE,WAAW,GAAG;gBAAE,GAAGV,aAAaQ,KAAK,CAACE,WAAW;YAAC;YACrE,OAAOV,aAAaQ,KAAK,CAACE,WAAW,CAACC,GAAG;QAC3C;IACF;IAEAX,aAAaY,WAAW,GAAGjB,8BAA8B;QACvDiB,aAAaZ,aAAaY,WAAW;QACrCb;IACF;IAEAC,aAAaa,OAAO,GAAGjB,0BAA0B;QAC/CiB,SAASb,aAAaa,OAAO;QAC7Bd;IACF;IAEA,OAAOC;AACT,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/config/defaults.ts"],"sourcesContent":["import type { Config } from './types.js'\n\nexport const defaults: Omit<Config, 'db' | 'editor' | 'secret'> = {\n admin: {\n avatar: 'gravatar',\n components: {},\n custom: {},\n dateFormat: 'MMMM do yyyy, h:mm a',\n disable: false,\n meta: {\n defaultOGImageType: 'dynamic',\n titleSuffix: '- Payload',\n },\n routes: {\n account: '/account',\n createFirstUser: '/create-first-user',\n forgot: '/forgot',\n inactivity: '/logout-inactivity',\n login: '/login',\n logout: '/logout',\n reset: '/reset',\n unauthorized: '/unauthorized',\n },\n },\n bin: [],\n collections: [],\n cookiePrefix: 'payload',\n cors: [],\n csrf: [],\n custom: {},\n defaultDepth: 2,\n defaultMaxTextLength: 40000,\n endpoints: [],\n globals: [],\n graphQL: {\n disablePlaygroundInProduction: true,\n maxComplexity: 1000,\n schemaOutputFile: `${typeof process?.cwd === 'function' ? process.cwd() : ''}/schema.graphql`,\n },\n hooks: {},\n i18n: {},\n localization: false,\n maxDepth: 10,\n routes: {\n admin: '/admin',\n api: '/api',\n graphQL: '/graphql',\n graphQLPlayground: '/graphql-playground',\n },\n serverURL: '',\n telemetry: true,\n typescript: {\n autoGenerate: true,\n outputFile: `${typeof process?.cwd === 'function' ? process.cwd() : ''}/payload-types.ts`,\n },\n upload: {},\n}\n"],"names":["defaults","admin","avatar","components","custom","dateFormat","disable","meta","defaultOGImageType","titleSuffix","routes","account","createFirstUser","forgot","inactivity","login","logout","reset","unauthorized","bin","collections","cookiePrefix","cors","csrf","defaultDepth","defaultMaxTextLength","endpoints","globals","graphQL","disablePlaygroundInProduction","maxComplexity","schemaOutputFile","process","cwd","hooks","i18n","localization","maxDepth","api","graphQLPlayground","serverURL","telemetry","typescript","autoGenerate","outputFile","upload"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAEA,OAAO,MAAMA,WAAqD;IAChEC,OAAO;QACLC,QAAQ;QACRC,YAAY,CAAC;QACbC,QAAQ,CAAC;QACTC,YAAY;QACZC,SAAS;QACTC,MAAM;YACJC,oBAAoB;YACpBC,aAAa;QACf;QACAC,QAAQ;YACNC,SAAS;YACTC,iBAAiB;YACjBC,QAAQ;YACRC,YAAY;YACZC,OAAO;YACPC,QAAQ;YACRC,OAAO;YACPC,cAAc;QAChB;IACF;IACAC,KAAK,EAAE;IACPC,aAAa,EAAE;IACfC,cAAc;IACdC,MAAM,EAAE;IACRC,MAAM,EAAE;IACRnB,QAAQ,CAAC;IACToB,cAAc;IACdC,sBAAsB;IACtBC,WAAW,EAAE;IACbC,SAAS,EAAE;IACXC,SAAS;QACPC,+BAA+B;QAC/BC,eAAe;QACfC,kBAAkB,CAAC,EAAE,OAAOC,SAASC,QAAQ,aAAaD,QAAQC,GAAG,KAAK,GAAG,eAAe,CAAC;IAC/F;IACAC,OAAO,CAAC;IACRC,MAAM,CAAC;IACPC,cAAc;IACdC,UAAU;IACV3B,QAAQ;QACNT,OAAO;QACPqC,KAAK;QACLV,SAAS;QACTW,mBAAmB;IACrB;IACAC,WAAW;IACXC,WAAW;IACXC,YAAY;QACVC,cAAc;QACdC,YAAY,CAAC,EAAE,OAAOZ,SAASC,QAAQ,aAAaD,QAAQC,GAAG,KAAK,GAAG,iBAAiB,CAAC;IAC3F;IACAY,QAAQ,CAAC;AACX,EAAC"}
1
+ {"version":3,"sources":["../../src/config/defaults.ts"],"sourcesContent":["import type { Config } from './types.js'\n\nexport const defaults: Omit<Config, 'db' | 'editor' | 'secret'> = {\n admin: {\n avatar: 'gravatar',\n components: {},\n custom: {},\n dateFormat: 'MMMM do yyyy, h:mm a',\n disable: false,\n meta: {\n defaultOGImageType: 'dynamic',\n titleSuffix: '- Payload',\n },\n routes: {\n account: '/account',\n createFirstUser: '/create-first-user',\n forgot: '/forgot',\n inactivity: '/logout-inactivity',\n login: '/login',\n logout: '/logout',\n reset: '/reset',\n unauthorized: '/unauthorized',\n },\n },\n bin: [],\n collections: [],\n cookiePrefix: 'payload',\n cors: [],\n csrf: [],\n custom: {},\n defaultDepth: 2,\n defaultMaxTextLength: 40000,\n endpoints: [],\n globals: [],\n graphQL: {\n disablePlaygroundInProduction: true,\n maxComplexity: 1000,\n schemaOutputFile: `${typeof process?.cwd === 'function' ? process.cwd() : ''}/schema.graphql`,\n },\n hooks: {},\n i18n: {},\n localization: false,\n maxDepth: 10,\n routes: {\n admin: '/admin',\n api: '/api',\n graphQL: '/graphql',\n graphQLPlayground: '/graphql-playground',\n },\n serverURL: '',\n telemetry: true,\n typescript: {\n autoGenerate: true,\n outputFile: `${typeof process?.cwd === 'function' ? process.cwd() : ''}/payload-types.ts`,\n },\n upload: {},\n}\n"],"names":["defaults","admin","avatar","components","custom","dateFormat","disable","meta","defaultOGImageType","titleSuffix","routes","account","createFirstUser","forgot","inactivity","login","logout","reset","unauthorized","bin","collections","cookiePrefix","cors","csrf","defaultDepth","defaultMaxTextLength","endpoints","globals","graphQL","disablePlaygroundInProduction","maxComplexity","schemaOutputFile","process","cwd","hooks","i18n","localization","maxDepth","api","graphQLPlayground","serverURL","telemetry","typescript","autoGenerate","outputFile","upload"],"mappings":"AAEA,OAAO,MAAMA,WAAqD;IAChEC,OAAO;QACLC,QAAQ;QACRC,YAAY,CAAC;QACbC,QAAQ,CAAC;QACTC,YAAY;QACZC,SAAS;QACTC,MAAM;YACJC,oBAAoB;YACpBC,aAAa;QACf;QACAC,QAAQ;YACNC,SAAS;YACTC,iBAAiB;YACjBC,QAAQ;YACRC,YAAY;YACZC,OAAO;YACPC,QAAQ;YACRC,OAAO;YACPC,cAAc;QAChB;IACF;IACAC,KAAK,EAAE;IACPC,aAAa,EAAE;IACfC,cAAc;IACdC,MAAM,EAAE;IACRC,MAAM,EAAE;IACRnB,QAAQ,CAAC;IACToB,cAAc;IACdC,sBAAsB;IACtBC,WAAW,EAAE;IACbC,SAAS,EAAE;IACXC,SAAS;QACPC,+BAA+B;QAC/BC,eAAe;QACfC,kBAAkB,CAAC,EAAE,OAAOC,SAASC,QAAQ,aAAaD,QAAQC,GAAG,KAAK,GAAG,eAAe,CAAC;IAC/F;IACAC,OAAO,CAAC;IACRC,MAAM,CAAC;IACPC,cAAc;IACdC,UAAU;IACV3B,QAAQ;QACNT,OAAO;QACPqC,KAAK;QACLV,SAAS;QACTW,mBAAmB;IACrB;IACAC,WAAW;IACXC,WAAW;IACXC,YAAY;QACVC,cAAc;QACdC,YAAY,CAAC,EAAE,OAAOZ,SAASC,QAAQ,aAAaD,QAAQC,GAAG,KAAK,GAAG,iBAAiB,CAAC;IAC3F;IACAY,QAAQ,CAAC;AACX,EAAC"}