payload 3.89.0-internal.95c9cba → 3.90.0

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 (468) hide show
  1. package/dist/admin/forms/Field.d.ts +2 -0
  2. package/dist/admin/forms/Field.d.ts.map +1 -1
  3. package/dist/admin/forms/Field.js.map +1 -1
  4. package/dist/admin/forms/Form.d.ts +2 -0
  5. package/dist/admin/forms/Form.d.ts.map +1 -1
  6. package/dist/admin/forms/Form.js.map +1 -1
  7. package/dist/admin/functions/index.d.ts +3 -1
  8. package/dist/admin/functions/index.d.ts.map +1 -1
  9. package/dist/admin/functions/index.js.map +1 -1
  10. package/dist/admin/views/dashboard.d.ts +1 -1
  11. package/dist/admin/views/dashboard.d.ts.map +1 -1
  12. package/dist/admin/views/dashboard.js.map +1 -1
  13. package/dist/auth/applyUserReadAccess.d.ts +15 -0
  14. package/dist/auth/applyUserReadAccess.d.ts.map +1 -0
  15. package/dist/auth/applyUserReadAccess.js +41 -0
  16. package/dist/auth/applyUserReadAccess.js.map +1 -0
  17. package/dist/auth/baseFields/apiKey/canCreateOrUpdateAPIKey.d.ts +4 -0
  18. package/dist/auth/baseFields/apiKey/canCreateOrUpdateAPIKey.d.ts.map +1 -0
  19. package/dist/auth/baseFields/apiKey/canCreateOrUpdateAPIKey.js +20 -0
  20. package/dist/auth/baseFields/apiKey/canCreateOrUpdateAPIKey.js.map +1 -0
  21. package/dist/auth/baseFields/apiKey/encryptAPIKey.d.ts +4 -0
  22. package/dist/auth/baseFields/apiKey/encryptAPIKey.d.ts.map +1 -0
  23. package/dist/auth/baseFields/apiKey/encryptAPIKey.js +16 -0
  24. package/dist/auth/baseFields/apiKey/encryptAPIKey.js.map +1 -0
  25. package/dist/auth/baseFields/apiKey/index.d.ts +6 -0
  26. package/dist/auth/baseFields/apiKey/index.d.ts.map +1 -0
  27. package/dist/auth/baseFields/apiKey/index.js +112 -0
  28. package/dist/auth/baseFields/apiKey/index.js.map +1 -0
  29. package/dist/auth/baseFields/apiKey/omitAPIKey.d.ts +4 -0
  30. package/dist/auth/baseFields/apiKey/omitAPIKey.d.ts.map +1 -0
  31. package/dist/auth/baseFields/apiKey/omitAPIKey.js +8 -0
  32. package/dist/auth/baseFields/apiKey/omitAPIKey.js.map +1 -0
  33. package/dist/auth/baseFields/apiKey/omitAPIKeyIndex.d.ts +4 -0
  34. package/dist/auth/baseFields/apiKey/omitAPIKeyIndex.d.ts.map +1 -0
  35. package/dist/auth/baseFields/apiKey/omitAPIKeyIndex.js +5 -0
  36. package/dist/auth/baseFields/apiKey/omitAPIKeyIndex.js.map +1 -0
  37. package/dist/auth/baseFields/apiKey/omitEncryptedAPIKey.d.ts +4 -0
  38. package/dist/auth/baseFields/apiKey/omitEncryptedAPIKey.d.ts.map +1 -0
  39. package/dist/auth/baseFields/apiKey/omitEncryptedAPIKey.js +5 -0
  40. package/dist/auth/baseFields/apiKey/omitEncryptedAPIKey.js.map +1 -0
  41. package/dist/auth/baseFields/apiKey/setAPIKeyIndex.d.ts +4 -0
  42. package/dist/auth/baseFields/apiKey/setAPIKeyIndex.d.ts.map +1 -0
  43. package/dist/auth/baseFields/apiKey/setAPIKeyIndex.js +17 -0
  44. package/dist/auth/baseFields/apiKey/setAPIKeyIndex.js.map +1 -0
  45. package/dist/auth/baseFields/auth.d.ts +1 -0
  46. package/dist/auth/baseFields/auth.d.ts.map +1 -1
  47. package/dist/auth/baseFields/auth.js +9 -0
  48. package/dist/auth/baseFields/auth.js.map +1 -1
  49. package/dist/auth/defaultUnlockAccess.d.ts +3 -0
  50. package/dist/auth/defaultUnlockAccess.d.ts.map +1 -0
  51. package/dist/auth/defaultUnlockAccess.js +8 -0
  52. package/dist/auth/defaultUnlockAccess.js.map +1 -0
  53. package/dist/auth/endpoints/index.d.ts +1 -0
  54. package/dist/auth/endpoints/index.d.ts.map +1 -1
  55. package/dist/auth/endpoints/index.js +8 -0
  56. package/dist/auth/endpoints/index.js.map +1 -1
  57. package/dist/auth/endpoints/revealAPIKey.d.ts +7 -0
  58. package/dist/auth/endpoints/revealAPIKey.d.ts.map +1 -0
  59. package/dist/auth/endpoints/revealAPIKey.js +120 -0
  60. package/dist/auth/endpoints/revealAPIKey.js.map +1 -0
  61. package/dist/auth/executeAccess.d.ts +3 -1
  62. package/dist/auth/executeAccess.d.ts.map +1 -1
  63. package/dist/auth/executeAccess.js +2 -1
  64. package/dist/auth/executeAccess.js.map +1 -1
  65. package/dist/auth/getAuthFields.d.ts +1 -1
  66. package/dist/auth/getAuthFields.d.ts.map +1 -1
  67. package/dist/auth/getAuthFields.js +7 -4
  68. package/dist/auth/getAuthFields.js.map +1 -1
  69. package/dist/auth/getFieldsToSign.d.ts.map +1 -1
  70. package/dist/auth/getFieldsToSign.js +17 -10
  71. package/dist/auth/getFieldsToSign.js.map +1 -1
  72. package/dist/auth/getFieldsToSign.spec.js +114 -0
  73. package/dist/auth/getFieldsToSign.spec.js.map +1 -0
  74. package/dist/auth/jwt.d.ts.map +1 -1
  75. package/dist/auth/jwt.js +2 -0
  76. package/dist/auth/jwt.js.map +1 -1
  77. package/dist/auth/jwt.spec.js +24 -0
  78. package/dist/auth/jwt.spec.js.map +1 -0
  79. package/dist/auth/jwtAuth.d.ts +9 -0
  80. package/dist/auth/jwtAuth.d.ts.map +1 -0
  81. package/dist/auth/jwtAuth.js +8 -0
  82. package/dist/auth/jwtAuth.js.map +1 -0
  83. package/dist/auth/operations/auth.d.ts.map +1 -1
  84. package/dist/auth/operations/auth.js +2 -1
  85. package/dist/auth/operations/auth.js.map +1 -1
  86. package/dist/auth/operations/forgotPassword.d.ts.map +1 -1
  87. package/dist/auth/operations/forgotPassword.js +95 -7
  88. package/dist/auth/operations/forgotPassword.js.map +1 -1
  89. package/dist/auth/operations/local/auth.js +3 -1
  90. package/dist/auth/operations/local/auth.js.map +1 -1
  91. package/dist/auth/operations/login.d.ts.map +1 -1
  92. package/dist/auth/operations/login.js +48 -26
  93. package/dist/auth/operations/login.js.map +1 -1
  94. package/dist/auth/operations/refresh.d.ts.map +1 -1
  95. package/dist/auth/operations/refresh.js +32 -9
  96. package/dist/auth/operations/refresh.js.map +1 -1
  97. package/dist/auth/operations/registerFirstUser.d.ts.map +1 -1
  98. package/dist/auth/operations/registerFirstUser.js +3 -4
  99. package/dist/auth/operations/registerFirstUser.js.map +1 -1
  100. package/dist/auth/operations/resetPassword.d.ts.map +1 -1
  101. package/dist/auth/operations/resetPassword.js +31 -22
  102. package/dist/auth/operations/resetPassword.js.map +1 -1
  103. package/dist/auth/operations/unlock.d.ts.map +1 -1
  104. package/dist/auth/operations/unlock.js +1 -0
  105. package/dist/auth/operations/unlock.js.map +1 -1
  106. package/dist/auth/strategies/apiKey.d.ts.map +1 -1
  107. package/dist/auth/strategies/apiKey.js +15 -1
  108. package/dist/auth/strategies/apiKey.js.map +1 -1
  109. package/dist/auth/strategies/jwt.d.ts.map +1 -1
  110. package/dist/auth/strategies/jwt.js +61 -10
  111. package/dist/auth/strategies/jwt.js.map +1 -1
  112. package/dist/auth/strategies/jwt.spec.js +281 -0
  113. package/dist/auth/strategies/jwt.spec.js.map +1 -0
  114. package/dist/auth/strategies/local/authenticate.d.ts +5 -1
  115. package/dist/auth/strategies/local/authenticate.d.ts.map +1 -1
  116. package/dist/auth/strategies/local/authenticate.js +8 -3
  117. package/dist/auth/strategies/local/authenticate.js.map +1 -1
  118. package/dist/auth/strategies/local/authenticate.spec.js +37 -10
  119. package/dist/auth/strategies/local/authenticate.spec.js.map +1 -1
  120. package/dist/auth/strategies/local/generatePasswordSaltHash.d.ts +9 -1
  121. package/dist/auth/strategies/local/generatePasswordSaltHash.d.ts.map +1 -1
  122. package/dist/auth/strategies/local/generatePasswordSaltHash.js +61 -34
  123. package/dist/auth/strategies/local/generatePasswordSaltHash.js.map +1 -1
  124. package/dist/auth/types.d.ts +16 -1
  125. package/dist/auth/types.d.ts.map +1 -1
  126. package/dist/auth/types.js.map +1 -1
  127. package/dist/collections/config/client.d.ts +1 -0
  128. package/dist/collections/config/client.d.ts.map +1 -1
  129. package/dist/collections/config/client.js +3 -0
  130. package/dist/collections/config/client.js.map +1 -1
  131. package/dist/collections/config/defaults.d.ts.map +1 -1
  132. package/dist/collections/config/defaults.js +4 -2
  133. package/dist/collections/config/defaults.js.map +1 -1
  134. package/dist/collections/config/sanitize.d.ts.map +1 -1
  135. package/dist/collections/config/sanitize.js +17 -6
  136. package/dist/collections/config/sanitize.js.map +1 -1
  137. package/dist/collections/endpoints/index.d.ts +1 -0
  138. package/dist/collections/endpoints/index.d.ts.map +1 -1
  139. package/dist/collections/endpoints/index.js +6 -5
  140. package/dist/collections/endpoints/index.js.map +1 -1
  141. package/dist/collections/operations/create.d.ts.map +1 -1
  142. package/dist/collections/operations/create.js +105 -8
  143. package/dist/collections/operations/create.js.map +1 -1
  144. package/dist/collections/operations/deleteByID.js +13 -13
  145. package/dist/collections/operations/deleteByID.js.map +1 -1
  146. package/dist/collections/operations/findDistinct.d.ts.map +1 -1
  147. package/dist/collections/operations/findDistinct.js +96 -18
  148. package/dist/collections/operations/findDistinct.js.map +1 -1
  149. package/dist/collections/operations/restoreVersion.d.ts.map +1 -1
  150. package/dist/collections/operations/restoreVersion.js +47 -13
  151. package/dist/collections/operations/restoreVersion.js.map +1 -1
  152. package/dist/collections/operations/update.d.ts.map +1 -1
  153. package/dist/collections/operations/update.js +123 -23
  154. package/dist/collections/operations/update.js.map +1 -1
  155. package/dist/collections/operations/updateByID.d.ts.map +1 -1
  156. package/dist/collections/operations/updateByID.js +62 -2
  157. package/dist/collections/operations/updateByID.js.map +1 -1
  158. package/dist/collections/operations/utilities/update.d.ts.map +1 -1
  159. package/dist/collections/operations/utilities/update.js +71 -15
  160. package/dist/collections/operations/utilities/update.js.map +1 -1
  161. package/dist/config/orderable/index.d.ts.map +1 -1
  162. package/dist/config/orderable/index.js +67 -14
  163. package/dist/config/orderable/index.js.map +1 -1
  164. package/dist/config/sanitize.d.ts.map +1 -1
  165. package/dist/config/sanitize.js +1 -1
  166. package/dist/config/sanitize.js.map +1 -1
  167. package/dist/config/types.d.ts +13 -1
  168. package/dist/config/types.d.ts.map +1 -1
  169. package/dist/config/types.js.map +1 -1
  170. package/dist/database/getLocalizedPaths.d.ts +2 -1
  171. package/dist/database/getLocalizedPaths.d.ts.map +1 -1
  172. package/dist/database/getLocalizedPaths.js +12 -3
  173. package/dist/database/getLocalizedPaths.js.map +1 -1
  174. package/dist/database/isNestedRelationshipQuery.d.ts +9 -0
  175. package/dist/database/isNestedRelationshipQuery.d.ts.map +1 -0
  176. package/dist/database/isNestedRelationshipQuery.js +14 -0
  177. package/dist/database/isNestedRelationshipQuery.js.map +1 -0
  178. package/dist/database/prefixWherePaths.d.ts +6 -0
  179. package/dist/database/prefixWherePaths.d.ts.map +1 -0
  180. package/dist/database/prefixWherePaths.js +19 -0
  181. package/dist/database/prefixWherePaths.js.map +1 -0
  182. package/dist/database/prefixWherePaths.spec.js +46 -0
  183. package/dist/database/prefixWherePaths.spec.js.map +1 -0
  184. package/dist/database/queryValidation/validateQueryPaths.d.ts +2 -1
  185. package/dist/database/queryValidation/validateQueryPaths.d.ts.map +1 -1
  186. package/dist/database/queryValidation/validateQueryPaths.js +4 -1
  187. package/dist/database/queryValidation/validateQueryPaths.js.map +1 -1
  188. package/dist/database/queryValidation/validateSearchParams.d.ts +2 -1
  189. package/dist/database/queryValidation/validateSearchParams.d.ts.map +1 -1
  190. package/dist/database/queryValidation/validateSearchParams.js +82 -4
  191. package/dist/database/queryValidation/validateSearchParams.js.map +1 -1
  192. package/dist/database/types.d.ts +5 -0
  193. package/dist/database/types.d.ts.map +1 -1
  194. package/dist/database/types.js.map +1 -1
  195. package/dist/email/normalizeSendEmailOptions.js.map +1 -1
  196. package/dist/email/types.d.ts +4 -1
  197. package/dist/email/types.d.ts.map +1 -1
  198. package/dist/email/types.js.map +1 -1
  199. package/dist/exports/internal.d.ts +7 -0
  200. package/dist/exports/internal.d.ts.map +1 -1
  201. package/dist/exports/internal.js +7 -1
  202. package/dist/exports/internal.js.map +1 -1
  203. package/dist/exports/shared.d.ts +3 -0
  204. package/dist/exports/shared.d.ts.map +1 -1
  205. package/dist/exports/shared.js +3 -0
  206. package/dist/exports/shared.js.map +1 -1
  207. package/dist/fields/config/types.d.ts +7 -5
  208. package/dist/fields/config/types.d.ts.map +1 -1
  209. package/dist/fields/config/types.js.map +1 -1
  210. package/dist/fields/hooks/beforeChange/index.d.ts +7 -1
  211. package/dist/fields/hooks/beforeChange/index.d.ts.map +1 -1
  212. package/dist/fields/hooks/beforeChange/index.js +4 -2
  213. package/dist/fields/hooks/beforeChange/index.js.map +1 -1
  214. package/dist/fields/hooks/beforeChange/index.spec.js +206 -0
  215. package/dist/fields/hooks/beforeChange/index.spec.js.map +1 -0
  216. package/dist/fields/hooks/beforeChange/promise.d.ts +2 -1
  217. package/dist/fields/hooks/beforeChange/promise.d.ts.map +1 -1
  218. package/dist/fields/hooks/beforeChange/promise.js +51 -9
  219. package/dist/fields/hooks/beforeChange/promise.js.map +1 -1
  220. package/dist/fields/hooks/beforeChange/traverseFields.d.ts +2 -1
  221. package/dist/fields/hooks/beforeChange/traverseFields.d.ts.map +1 -1
  222. package/dist/fields/hooks/beforeChange/traverseFields.js +3 -2
  223. package/dist/fields/hooks/beforeChange/traverseFields.js.map +1 -1
  224. package/dist/fields/hooks/beforeDuplicate/promise.d.ts.map +1 -1
  225. package/dist/fields/hooks/beforeDuplicate/promise.js +4 -0
  226. package/dist/fields/hooks/beforeDuplicate/promise.js.map +1 -1
  227. package/dist/fields/hooks/beforeValidate/getFallbackValue.d.ts +2 -1
  228. package/dist/fields/hooks/beforeValidate/getFallbackValue.d.ts.map +1 -1
  229. package/dist/fields/hooks/beforeValidate/getFallbackValue.js +2 -2
  230. package/dist/fields/hooks/beforeValidate/getFallbackValue.js.map +1 -1
  231. package/dist/fields/hooks/beforeValidate/index.d.ts +6 -1
  232. package/dist/fields/hooks/beforeValidate/index.d.ts.map +1 -1
  233. package/dist/fields/hooks/beforeValidate/index.js +3 -1
  234. package/dist/fields/hooks/beforeValidate/index.js.map +1 -1
  235. package/dist/fields/hooks/beforeValidate/index.spec.js +90 -0
  236. package/dist/fields/hooks/beforeValidate/index.spec.js.map +1 -0
  237. package/dist/fields/hooks/beforeValidate/promise.d.ts +6 -1
  238. package/dist/fields/hooks/beforeValidate/promise.d.ts.map +1 -1
  239. package/dist/fields/hooks/beforeValidate/promise.js +23 -8
  240. package/dist/fields/hooks/beforeValidate/promise.js.map +1 -1
  241. package/dist/fields/hooks/beforeValidate/traverseFields.d.ts +6 -1
  242. package/dist/fields/hooks/beforeValidate/traverseFields.d.ts.map +1 -1
  243. package/dist/fields/hooks/beforeValidate/traverseFields.js +3 -1
  244. package/dist/fields/hooks/beforeValidate/traverseFields.js.map +1 -1
  245. package/dist/fields/validations.d.ts.map +1 -1
  246. package/dist/fields/validations.js +3 -1
  247. package/dist/fields/validations.js.map +1 -1
  248. package/dist/globals/operations/restoreVersion.d.ts.map +1 -1
  249. package/dist/globals/operations/restoreVersion.js +45 -11
  250. package/dist/globals/operations/restoreVersion.js.map +1 -1
  251. package/dist/globals/operations/update.d.ts.map +1 -1
  252. package/dist/globals/operations/update.js +95 -16
  253. package/dist/globals/operations/update.js.map +1 -1
  254. package/dist/index.bundled.d.ts +146 -48
  255. package/dist/index.d.ts +4 -1
  256. package/dist/index.d.ts.map +1 -1
  257. package/dist/index.js +3 -2
  258. package/dist/index.js.map +1 -1
  259. package/dist/preferences/config.d.ts.map +1 -1
  260. package/dist/preferences/config.js +2 -1
  261. package/dist/preferences/config.js.map +1 -1
  262. package/dist/query-presets/access.d.ts.map +1 -1
  263. package/dist/query-presets/access.js +2 -1
  264. package/dist/query-presets/access.js.map +1 -1
  265. package/dist/queues/config/collection.d.ts.map +1 -1
  266. package/dist/queues/config/collection.js +6 -0
  267. package/dist/queues/config/collection.js.map +1 -1
  268. package/dist/queues/config/types/index.d.ts +4 -1
  269. package/dist/queues/config/types/index.d.ts.map +1 -1
  270. package/dist/queues/config/types/index.js.map +1 -1
  271. package/dist/queues/endpoints/handleSchedules.d.ts.map +1 -1
  272. package/dist/queues/endpoints/handleSchedules.js +2 -1
  273. package/dist/queues/endpoints/handleSchedules.js.map +1 -1
  274. package/dist/queues/endpoints/run.d.ts.map +1 -1
  275. package/dist/queues/endpoints/run.js +2 -1
  276. package/dist/queues/endpoints/run.js.map +1 -1
  277. package/dist/uploads/assertClientUploadAccess.d.ts +7 -0
  278. package/dist/uploads/assertClientUploadAccess.d.ts.map +1 -0
  279. package/dist/uploads/assertClientUploadAccess.js +27 -0
  280. package/dist/uploads/assertClientUploadAccess.js.map +1 -0
  281. package/dist/uploads/assertClientUploadAllowed.d.ts +11 -0
  282. package/dist/uploads/assertClientUploadAllowed.d.ts.map +1 -0
  283. package/dist/uploads/assertClientUploadAllowed.js +46 -0
  284. package/dist/uploads/assertClientUploadAllowed.js.map +1 -0
  285. package/dist/uploads/assertClientUploadAllowed.spec.js +91 -0
  286. package/dist/uploads/assertClientUploadAllowed.spec.js.map +1 -0
  287. package/dist/uploads/checkFileRestrictions.d.ts +4 -1
  288. package/dist/uploads/checkFileRestrictions.d.ts.map +1 -1
  289. package/dist/uploads/checkFileRestrictions.js +66 -26
  290. package/dist/uploads/checkFileRestrictions.js.map +1 -1
  291. package/dist/uploads/clientUploadReceipt.d.ts +23 -0
  292. package/dist/uploads/clientUploadReceipt.d.ts.map +1 -0
  293. package/dist/uploads/clientUploadReceipt.js +55 -0
  294. package/dist/uploads/clientUploadReceipt.js.map +1 -0
  295. package/dist/uploads/deleteAssociatedFiles.d.ts.map +1 -1
  296. package/dist/uploads/deleteAssociatedFiles.js +33 -8
  297. package/dist/uploads/deleteAssociatedFiles.js.map +1 -1
  298. package/dist/uploads/deleteAssociatedFiles.spec.js +124 -0
  299. package/dist/uploads/deleteAssociatedFiles.spec.js.map +1 -0
  300. package/dist/uploads/detectSvgFromXml.d.ts +1 -3
  301. package/dist/uploads/detectSvgFromXml.d.ts.map +1 -1
  302. package/dist/uploads/detectSvgFromXml.js +3 -40
  303. package/dist/uploads/detectSvgFromXml.js.map +1 -1
  304. package/dist/uploads/endpoints/getFile.d.ts.map +1 -1
  305. package/dist/uploads/endpoints/getFile.js +5 -3
  306. package/dist/uploads/endpoints/getFile.js.map +1 -1
  307. package/dist/uploads/fetchAPI-multipart/handlers.d.ts +2 -2
  308. package/dist/uploads/fetchAPI-multipart/handlers.d.ts.map +1 -1
  309. package/dist/uploads/fetchAPI-multipart/handlers.js +18 -5
  310. package/dist/uploads/fetchAPI-multipart/handlers.js.map +1 -1
  311. package/dist/uploads/fetchAPI-multipart/index.d.ts.map +1 -1
  312. package/dist/uploads/fetchAPI-multipart/index.js +24 -2
  313. package/dist/uploads/fetchAPI-multipart/index.js.map +1 -1
  314. package/dist/uploads/fetchAPI-multipart/processMultipart.d.ts +0 -6
  315. package/dist/uploads/fetchAPI-multipart/processMultipart.d.ts.map +1 -1
  316. package/dist/uploads/fetchAPI-multipart/processMultipart.js +146 -126
  317. package/dist/uploads/fetchAPI-multipart/processMultipart.js.map +1 -1
  318. package/dist/uploads/fetchAPI-multipart/processMultipart.spec.js +663 -0
  319. package/dist/uploads/fetchAPI-multipart/processMultipart.spec.js.map +1 -0
  320. package/dist/uploads/generateFileData.d.ts +3 -1
  321. package/dist/uploads/generateFileData.d.ts.map +1 -1
  322. package/dist/uploads/generateFileData.js +29 -16
  323. package/dist/uploads/generateFileData.js.map +1 -1
  324. package/dist/uploads/getBaseFields.d.ts.map +1 -1
  325. package/dist/uploads/getBaseFields.js +3 -1
  326. package/dist/uploads/getBaseFields.js.map +1 -1
  327. package/dist/uploads/getExternalFile.d.ts +1 -1
  328. package/dist/uploads/getExternalFile.d.ts.map +1 -1
  329. package/dist/uploads/getExternalFile.js +60 -15
  330. package/dist/uploads/getExternalFile.js.map +1 -1
  331. package/dist/uploads/getFileFromClientUpload.d.ts +2 -2
  332. package/dist/uploads/getFileFromClientUpload.d.ts.map +1 -1
  333. package/dist/uploads/getFileFromClientUpload.js +4 -4
  334. package/dist/uploads/getFileFromClientUpload.js.map +1 -1
  335. package/dist/uploads/getFileFromClientUpload.spec.js +62 -0
  336. package/dist/uploads/getFileFromClientUpload.spec.js.map +1 -1
  337. package/dist/uploads/getFileTypeFallback.d.ts.map +1 -1
  338. package/dist/uploads/getFileTypeFallback.js +3 -1
  339. package/dist/uploads/getFileTypeFallback.js.map +1 -1
  340. package/dist/uploads/getFileTypeIdentity.d.ts +19 -0
  341. package/dist/uploads/getFileTypeIdentity.d.ts.map +1 -0
  342. package/dist/uploads/getFileTypeIdentity.js +34 -0
  343. package/dist/uploads/getFileTypeIdentity.js.map +1 -0
  344. package/dist/uploads/getFileTypeIdentity.spec.js +43 -0
  345. package/dist/uploads/getFileTypeIdentity.spec.js.map +1 -0
  346. package/dist/uploads/isProcessableImage.d.ts +2 -0
  347. package/dist/uploads/isProcessableImage.d.ts.map +1 -0
  348. package/dist/uploads/isProcessableImage.js +7 -0
  349. package/dist/uploads/isProcessableImage.js.map +1 -0
  350. package/dist/uploads/safeFetch.d.ts.map +1 -1
  351. package/dist/uploads/safeFetch.js +3 -2
  352. package/dist/uploads/safeFetch.js.map +1 -1
  353. package/dist/uploads/sanitizeUploadData.d.ts +26 -0
  354. package/dist/uploads/sanitizeUploadData.d.ts.map +1 -0
  355. package/dist/uploads/sanitizeUploadData.js +159 -0
  356. package/dist/uploads/sanitizeUploadData.js.map +1 -0
  357. package/dist/uploads/sanitizeUploadData.spec.js +255 -0
  358. package/dist/uploads/sanitizeUploadData.spec.js.map +1 -0
  359. package/dist/uploads/types.d.ts +11 -3
  360. package/dist/uploads/types.d.ts.map +1 -1
  361. package/dist/uploads/types.js.map +1 -1
  362. package/dist/uploads/unlinkClientUploadTempFile.d.ts +20 -0
  363. package/dist/uploads/unlinkClientUploadTempFile.d.ts.map +1 -0
  364. package/dist/uploads/unlinkClientUploadTempFile.js +30 -0
  365. package/dist/uploads/unlinkClientUploadTempFile.js.map +1 -0
  366. package/dist/uploads/unlinkTempFiles.d.ts.map +1 -1
  367. package/dist/uploads/unlinkTempFiles.js +7 -9
  368. package/dist/uploads/unlinkTempFiles.js.map +1 -1
  369. package/dist/uploads/unlinkTempFiles.spec.js +61 -1
  370. package/dist/uploads/unlinkTempFiles.spec.js.map +1 -1
  371. package/dist/uploads/uploadContentSecurityPolicy.d.ts +2 -0
  372. package/dist/uploads/uploadContentSecurityPolicy.d.ts.map +1 -0
  373. package/dist/uploads/uploadContentSecurityPolicy.js +3 -0
  374. package/dist/uploads/uploadContentSecurityPolicy.js.map +1 -0
  375. package/dist/uploads/validateISOBaseMediaFile.d.ts +4 -0
  376. package/dist/uploads/validateISOBaseMediaFile.d.ts.map +1 -0
  377. package/dist/uploads/validateISOBaseMediaFile.js +91 -0
  378. package/dist/uploads/validateISOBaseMediaFile.js.map +1 -0
  379. package/dist/uploads/validateISOBaseMediaFile.spec.js +130 -0
  380. package/dist/uploads/validateISOBaseMediaFile.spec.js.map +1 -0
  381. package/dist/uploads/validateSvg.d.ts +10 -4
  382. package/dist/uploads/validateSvg.d.ts.map +1 -1
  383. package/dist/uploads/validateSvg.js +280 -40
  384. package/dist/uploads/validateSvg.js.map +1 -1
  385. package/dist/uploads/validateSvg.spec.js +123 -0
  386. package/dist/uploads/validateSvg.spec.js.map +1 -0
  387. package/dist/uploads/validateUploadFilename.d.ts +3 -0
  388. package/dist/uploads/validateUploadFilename.d.ts.map +1 -0
  389. package/dist/uploads/validateUploadFilename.js +13 -0
  390. package/dist/uploads/validateUploadFilename.js.map +1 -0
  391. package/dist/uploads/validateUploadFilename.spec.js +24 -0
  392. package/dist/uploads/validateUploadFilename.spec.js.map +1 -0
  393. package/dist/utilities/addDataAndFileToRequest.d.ts.map +1 -1
  394. package/dist/utilities/addDataAndFileToRequest.js +28 -1
  395. package/dist/utilities/addDataAndFileToRequest.js.map +1 -1
  396. package/dist/utilities/addDataAndFileToRequest.spec.js +158 -0
  397. package/dist/utilities/addDataAndFileToRequest.spec.js.map +1 -1
  398. package/dist/utilities/createPayloadRequest.d.ts.map +1 -1
  399. package/dist/utilities/createPayloadRequest.js +2 -1
  400. package/dist/utilities/createPayloadRequest.js.map +1 -1
  401. package/dist/utilities/deepCopyObject.d.ts.map +1 -1
  402. package/dist/utilities/deepCopyObject.js +110 -19
  403. package/dist/utilities/deepCopyObject.js.map +1 -1
  404. package/dist/utilities/deepCopyObject.spec.js +216 -0
  405. package/dist/utilities/deepCopyObject.spec.js.map +1 -0
  406. package/dist/utilities/fieldPath.d.ts +13 -0
  407. package/dist/utilities/fieldPath.d.ts.map +1 -0
  408. package/dist/utilities/fieldPath.js +51 -0
  409. package/dist/utilities/fieldPath.js.map +1 -0
  410. package/dist/utilities/fieldPath.spec.js +155 -0
  411. package/dist/utilities/fieldPath.spec.js.map +1 -0
  412. package/dist/utilities/getEntityPermissions/getEntityPermissions.d.ts.map +1 -1
  413. package/dist/utilities/getEntityPermissions/getEntityPermissions.js +2 -0
  414. package/dist/utilities/getEntityPermissions/getEntityPermissions.js.map +1 -1
  415. package/dist/utilities/getObjectDotNotation.d.ts.map +1 -1
  416. package/dist/utilities/getObjectDotNotation.js +7 -1
  417. package/dist/utilities/getObjectDotNotation.js.map +1 -1
  418. package/dist/utilities/getObjectDotNotation.spec.js +33 -0
  419. package/dist/utilities/getObjectDotNotation.spec.js.map +1 -0
  420. package/dist/utilities/getSafeRedirect.spec.js +14 -0
  421. package/dist/utilities/getSafeRedirect.spec.js.map +1 -1
  422. package/dist/utilities/getTopLevelFieldNames.d.ts +2 -0
  423. package/dist/utilities/getTopLevelFieldNames.d.ts.map +1 -0
  424. package/dist/utilities/getTopLevelFieldNames.js +3 -0
  425. package/dist/utilities/getTopLevelFieldNames.js.map +1 -0
  426. package/dist/utilities/getTopLevelFieldNames.spec.js +18 -0
  427. package/dist/utilities/getTopLevelFieldNames.spec.js.map +1 -0
  428. package/dist/utilities/handleEndpoints.js +1 -1
  429. package/dist/utilities/handleEndpoints.js.map +1 -1
  430. package/dist/utilities/parseParams/index.d.ts.map +1 -1
  431. package/dist/utilities/parseParams/index.js +3 -1
  432. package/dist/utilities/parseParams/index.js.map +1 -1
  433. package/dist/utilities/parseParams/index.spec.js +8 -0
  434. package/dist/utilities/parseParams/index.spec.js.map +1 -1
  435. package/dist/utilities/traverseFields.d.ts.map +1 -1
  436. package/dist/utilities/traverseFields.js +5 -14
  437. package/dist/utilities/traverseFields.js.map +1 -1
  438. package/dist/utilities/unflatten.d.ts.map +1 -1
  439. package/dist/utilities/unflatten.js +21 -9
  440. package/dist/utilities/unflatten.js.map +1 -1
  441. package/dist/utilities/unflatten.spec.js +38 -0
  442. package/dist/utilities/unflatten.spec.js.map +1 -0
  443. package/dist/utilities/wrapInternalEndpoints.d.ts.map +1 -1
  444. package/dist/utilities/wrapInternalEndpoints.js +10 -3
  445. package/dist/utilities/wrapInternalEndpoints.js.map +1 -1
  446. package/dist/utilities/wrapInternalEndpoints.spec.js +124 -0
  447. package/dist/utilities/wrapInternalEndpoints.spec.js.map +1 -0
  448. package/dist/versions/allLocalesPublicationStatus.d.ts +38 -0
  449. package/dist/versions/allLocalesPublicationStatus.d.ts.map +1 -0
  450. package/dist/versions/allLocalesPublicationStatus.js +57 -0
  451. package/dist/versions/allLocalesPublicationStatus.js.map +1 -0
  452. package/dist/versions/getLatestGlobalVersion.d.ts.map +1 -1
  453. package/dist/versions/getLatestGlobalVersion.js +10 -2
  454. package/dist/versions/getLatestGlobalVersion.js.map +1 -1
  455. package/dist/versions/getRestoredStatusesToAuthorize.d.ts +9 -0
  456. package/dist/versions/getRestoredStatusesToAuthorize.d.ts.map +1 -0
  457. package/dist/versions/getRestoredStatusesToAuthorize.js +22 -0
  458. package/dist/versions/getRestoredStatusesToAuthorize.js.map +1 -0
  459. package/dist/versions/getRestoredStatusesToAuthorize.spec.js +50 -0
  460. package/dist/versions/getRestoredStatusesToAuthorize.spec.js.map +1 -0
  461. package/dist/versions/schedule/job.d.ts +2 -2
  462. package/dist/versions/schedule/job.d.ts.map +1 -1
  463. package/dist/versions/schedule/job.js +11 -7
  464. package/dist/versions/schedule/job.js.map +1 -1
  465. package/dist/versions/schedule/types.d.ts +5 -1
  466. package/dist/versions/schedule/types.d.ts.map +1 -1
  467. package/dist/versions/schedule/types.js.map +1 -1
  468. package/package.json +4 -2
@@ -0,0 +1,38 @@
1
+ import type { JsonObject } from '../types/index.js';
2
+ export type AllLocalesPublicationStatus = 'draft' | 'published';
3
+ type AllLocalesPublicationIntent = {
4
+ hadStatus: boolean;
5
+ previousStatus: unknown;
6
+ status: AllLocalesPublicationStatus;
7
+ };
8
+ export declare const buildAllLocalesPublicationHookDoc: <TDoc extends JsonObject>({ doc, docWithLocales, status, }: {
9
+ doc: TDoc;
10
+ docWithLocales: JsonObject;
11
+ status: AllLocalesPublicationStatus | undefined;
12
+ }) => TDoc;
13
+ export declare const getAllLocalesPublicationStatus: ({ hasLocalizedStatus, publishAllLocales, unpublishAllLocales, }: {
14
+ hasLocalizedStatus: boolean;
15
+ publishAllLocales: boolean;
16
+ unpublishAllLocales: boolean;
17
+ }) => AllLocalesPublicationStatus | undefined;
18
+ export declare const hasAuthorizedAllLocalesPublicationStatus: ({ data, fieldAccessDenied, fieldValue, status, }: {
19
+ data: JsonObject;
20
+ fieldAccessDenied: boolean;
21
+ fieldValue: unknown;
22
+ status: AllLocalesPublicationStatus | undefined;
23
+ }) => boolean;
24
+ export declare const normalizeAllLocalesPublicationStatus: ({ data, status, }: {
25
+ data: JsonObject;
26
+ status: AllLocalesPublicationStatus | undefined;
27
+ }) => AllLocalesPublicationIntent | undefined;
28
+ export declare const reconcileAllLocalesPublicationStatus: ({ data, intent, status, }: {
29
+ data: JsonObject;
30
+ intent: AllLocalesPublicationIntent | undefined;
31
+ status: AllLocalesPublicationStatus | undefined;
32
+ }) => AllLocalesPublicationStatus | undefined;
33
+ export declare const validateAllLocalesPublicationFlags: ({ publishAllLocales, unpublishAllLocales, }: {
34
+ publishAllLocales?: boolean;
35
+ unpublishAllLocales?: boolean;
36
+ }) => void;
37
+ export {};
38
+ //# sourceMappingURL=allLocalesPublicationStatus.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"allLocalesPublicationStatus.d.ts","sourceRoot":"","sources":["../../src/versions/allLocalesPublicationStatus.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAInD,MAAM,MAAM,2BAA2B,GAAG,OAAO,GAAG,WAAW,CAAA;AAE/D,KAAK,2BAA2B,GAAG;IACjC,SAAS,EAAE,OAAO,CAAA;IAClB,cAAc,EAAE,OAAO,CAAA;IACvB,MAAM,EAAE,2BAA2B,CAAA;CACpC,CAAA;AAED,eAAO,MAAM,iCAAiC,GAAI,IAAI,SAAS,UAAU,oCAItE;IACD,GAAG,EAAE,IAAI,CAAA;IACT,cAAc,EAAE,UAAU,CAAA;IAC1B,MAAM,EAAE,2BAA2B,GAAG,SAAS,CAAA;CAChD,KAAG,IASH,CAAA;AAED,eAAO,MAAM,8BAA8B,oEAIxC;IACD,kBAAkB,EAAE,OAAO,CAAA;IAC3B,iBAAiB,EAAE,OAAO,CAAA;IAC1B,mBAAmB,EAAE,OAAO,CAAA;CAC7B,KAAG,2BAA2B,GAAG,SAcjC,CAAA;AAED,eAAO,MAAM,wCAAwC,qDAKlD;IACD,IAAI,EAAE,UAAU,CAAA;IAChB,iBAAiB,EAAE,OAAO,CAAA;IAC1B,UAAU,EAAE,OAAO,CAAA;IACnB,MAAM,EAAE,2BAA2B,GAAG,SAAS,CAAA;CAChD,KAAG,OAEH,CAAA;AAED,eAAO,MAAM,oCAAoC,sBAG9C;IACD,IAAI,EAAE,UAAU,CAAA;IAChB,MAAM,EAAE,2BAA2B,GAAG,SAAS,CAAA;CAChD,KAAG,2BAA2B,GAAG,SAcjC,CAAA;AAED,eAAO,MAAM,oCAAoC,8BAI9C;IACD,IAAI,EAAE,UAAU,CAAA;IAChB,MAAM,EAAE,2BAA2B,GAAG,SAAS,CAAA;IAC/C,MAAM,EAAE,2BAA2B,GAAG,SAAS,CAAA;CAChD,KAAG,2BAA2B,GAAG,SAUjC,CAAA;AAED,eAAO,MAAM,kCAAkC,gDAG5C;IACD,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,mBAAmB,CAAC,EAAE,OAAO,CAAA;CAC9B,KAAG,IAOH,CAAA"}
@@ -0,0 +1,57 @@
1
+ import { status as httpStatus } from 'http-status';
2
+ import { APIError } from '../errors/index.js';
3
+ export const buildAllLocalesPublicationHookDoc = ({ doc, docWithLocales, status })=>{
4
+ if (status && typeof docWithLocales._status === 'object' && docWithLocales._status !== null) {
5
+ return {
6
+ ...doc,
7
+ _status: {
8
+ ...docWithLocales._status
9
+ }
10
+ };
11
+ }
12
+ return doc;
13
+ };
14
+ export const getAllLocalesPublicationStatus = ({ hasLocalizedStatus, publishAllLocales, unpublishAllLocales })=>{
15
+ if (!hasLocalizedStatus) {
16
+ return undefined;
17
+ }
18
+ if (unpublishAllLocales) {
19
+ return 'draft';
20
+ }
21
+ if (publishAllLocales) {
22
+ return 'published';
23
+ }
24
+ return undefined;
25
+ };
26
+ export const hasAuthorizedAllLocalesPublicationStatus = ({ data, fieldAccessDenied, fieldValue, status })=>{
27
+ return Boolean(status && !fieldAccessDenied && data._status === status && fieldValue === status);
28
+ };
29
+ export const normalizeAllLocalesPublicationStatus = ({ data, status })=>{
30
+ if (!status) {
31
+ return undefined;
32
+ }
33
+ const intent = {
34
+ hadStatus: Object.prototype.hasOwnProperty.call(data, '_status'),
35
+ previousStatus: data._status,
36
+ status
37
+ };
38
+ data._status = status;
39
+ return intent;
40
+ };
41
+ export const reconcileAllLocalesPublicationStatus = ({ data, intent, status })=>{
42
+ if (intent && intent.status !== status && data._status === intent.status) {
43
+ if (intent.hadStatus) {
44
+ data._status = intent.previousStatus;
45
+ } else {
46
+ delete data._status;
47
+ }
48
+ }
49
+ return status && data._status === status ? status : undefined;
50
+ };
51
+ export const validateAllLocalesPublicationFlags = ({ publishAllLocales, unpublishAllLocales })=>{
52
+ if (publishAllLocales && unpublishAllLocales) {
53
+ throw new APIError('publishAllLocales and unpublishAllLocales cannot both be true.', httpStatus.BAD_REQUEST);
54
+ }
55
+ };
56
+
57
+ //# sourceMappingURL=allLocalesPublicationStatus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/versions/allLocalesPublicationStatus.ts"],"sourcesContent":["import { status as httpStatus } from 'http-status'\n\nimport type { JsonObject } from '../types/index.js'\n\nimport { APIError } from '../errors/index.js'\n\nexport type AllLocalesPublicationStatus = 'draft' | 'published'\n\ntype AllLocalesPublicationIntent = {\n hadStatus: boolean\n previousStatus: unknown\n status: AllLocalesPublicationStatus\n}\n\nexport const buildAllLocalesPublicationHookDoc = <TDoc extends JsonObject>({\n doc,\n docWithLocales,\n status,\n}: {\n doc: TDoc\n docWithLocales: JsonObject\n status: AllLocalesPublicationStatus | undefined\n}): TDoc => {\n if (status && typeof docWithLocales._status === 'object' && docWithLocales._status !== null) {\n return {\n ...doc,\n _status: { ...(docWithLocales._status as JsonObject) },\n } as TDoc\n }\n\n return doc\n}\n\nexport const getAllLocalesPublicationStatus = ({\n hasLocalizedStatus,\n publishAllLocales,\n unpublishAllLocales,\n}: {\n hasLocalizedStatus: boolean\n publishAllLocales: boolean\n unpublishAllLocales: boolean\n}): AllLocalesPublicationStatus | undefined => {\n if (!hasLocalizedStatus) {\n return undefined\n }\n\n if (unpublishAllLocales) {\n return 'draft'\n }\n\n if (publishAllLocales) {\n return 'published'\n }\n\n return undefined\n}\n\nexport const hasAuthorizedAllLocalesPublicationStatus = ({\n data,\n fieldAccessDenied,\n fieldValue,\n status,\n}: {\n data: JsonObject\n fieldAccessDenied: boolean\n fieldValue: unknown\n status: AllLocalesPublicationStatus | undefined\n}): boolean => {\n return Boolean(status && !fieldAccessDenied && data._status === status && fieldValue === status)\n}\n\nexport const normalizeAllLocalesPublicationStatus = ({\n data,\n status,\n}: {\n data: JsonObject\n status: AllLocalesPublicationStatus | undefined\n}): AllLocalesPublicationIntent | undefined => {\n if (!status) {\n return undefined\n }\n\n const intent = {\n hadStatus: Object.prototype.hasOwnProperty.call(data, '_status'),\n previousStatus: data._status,\n status,\n }\n\n data._status = status\n\n return intent\n}\n\nexport const reconcileAllLocalesPublicationStatus = ({\n data,\n intent,\n status,\n}: {\n data: JsonObject\n intent: AllLocalesPublicationIntent | undefined\n status: AllLocalesPublicationStatus | undefined\n}): AllLocalesPublicationStatus | undefined => {\n if (intent && intent.status !== status && data._status === intent.status) {\n if (intent.hadStatus) {\n data._status = intent.previousStatus\n } else {\n delete data._status\n }\n }\n\n return status && data._status === status ? status : undefined\n}\n\nexport const validateAllLocalesPublicationFlags = ({\n publishAllLocales,\n unpublishAllLocales,\n}: {\n publishAllLocales?: boolean\n unpublishAllLocales?: boolean\n}): void => {\n if (publishAllLocales && unpublishAllLocales) {\n throw new APIError(\n 'publishAllLocales and unpublishAllLocales cannot both be true.',\n httpStatus.BAD_REQUEST,\n )\n }\n}\n"],"names":["status","httpStatus","APIError","buildAllLocalesPublicationHookDoc","doc","docWithLocales","_status","getAllLocalesPublicationStatus","hasLocalizedStatus","publishAllLocales","unpublishAllLocales","undefined","hasAuthorizedAllLocalesPublicationStatus","data","fieldAccessDenied","fieldValue","Boolean","normalizeAllLocalesPublicationStatus","intent","hadStatus","Object","prototype","hasOwnProperty","call","previousStatus","reconcileAllLocalesPublicationStatus","validateAllLocalesPublicationFlags","BAD_REQUEST"],"mappings":"AAAA,SAASA,UAAUC,UAAU,QAAQ,cAAa;AAIlD,SAASC,QAAQ,QAAQ,qBAAoB;AAU7C,OAAO,MAAMC,oCAAoC,CAA0B,EACzEC,GAAG,EACHC,cAAc,EACdL,MAAM,EAKP;IACC,IAAIA,UAAU,OAAOK,eAAeC,OAAO,KAAK,YAAYD,eAAeC,OAAO,KAAK,MAAM;QAC3F,OAAO;YACL,GAAGF,GAAG;YACNE,SAAS;gBAAE,GAAID,eAAeC,OAAO;YAAgB;QACvD;IACF;IAEA,OAAOF;AACT,EAAC;AAED,OAAO,MAAMG,iCAAiC,CAAC,EAC7CC,kBAAkB,EAClBC,iBAAiB,EACjBC,mBAAmB,EAKpB;IACC,IAAI,CAACF,oBAAoB;QACvB,OAAOG;IACT;IAEA,IAAID,qBAAqB;QACvB,OAAO;IACT;IAEA,IAAID,mBAAmB;QACrB,OAAO;IACT;IAEA,OAAOE;AACT,EAAC;AAED,OAAO,MAAMC,2CAA2C,CAAC,EACvDC,IAAI,EACJC,iBAAiB,EACjBC,UAAU,EACVf,MAAM,EAMP;IACC,OAAOgB,QAAQhB,UAAU,CAACc,qBAAqBD,KAAKP,OAAO,KAAKN,UAAUe,eAAef;AAC3F,EAAC;AAED,OAAO,MAAMiB,uCAAuC,CAAC,EACnDJ,IAAI,EACJb,MAAM,EAIP;IACC,IAAI,CAACA,QAAQ;QACX,OAAOW;IACT;IAEA,MAAMO,SAAS;QACbC,WAAWC,OAAOC,SAAS,CAACC,cAAc,CAACC,IAAI,CAACV,MAAM;QACtDW,gBAAgBX,KAAKP,OAAO;QAC5BN;IACF;IAEAa,KAAKP,OAAO,GAAGN;IAEf,OAAOkB;AACT,EAAC;AAED,OAAO,MAAMO,uCAAuC,CAAC,EACnDZ,IAAI,EACJK,MAAM,EACNlB,MAAM,EAKP;IACC,IAAIkB,UAAUA,OAAOlB,MAAM,KAAKA,UAAUa,KAAKP,OAAO,KAAKY,OAAOlB,MAAM,EAAE;QACxE,IAAIkB,OAAOC,SAAS,EAAE;YACpBN,KAAKP,OAAO,GAAGY,OAAOM,cAAc;QACtC,OAAO;YACL,OAAOX,KAAKP,OAAO;QACrB;IACF;IAEA,OAAON,UAAUa,KAAKP,OAAO,KAAKN,SAASA,SAASW;AACtD,EAAC;AAED,OAAO,MAAMe,qCAAqC,CAAC,EACjDjB,iBAAiB,EACjBC,mBAAmB,EAIpB;IACC,IAAID,qBAAqBC,qBAAqB;QAC5C,MAAM,IAAIR,SACR,kEACAD,WAAW0B,WAAW;IAE1B;AACF,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"getLatestGlobalVersion.d.ts","sourceRoot":"","sources":["../../src/versions/getLatestGlobalVersion.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AACvE,OAAO,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAKjF,KAAK,IAAI,GAAG;IACV,MAAM,EAAE,qBAAqB,CAAA;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,OAAO,CAAA;IAChB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,GAAG,CAAC,EAAE,cAAc,CAAA;IACpB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,KAAK,CAAA;CACb,CAAA;AAED,eAAO,MAAM,sBAAsB,8DAQhC,IAAI,KAAG,OAAO,CAAC;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,YAAY,EAAE,OAAO,CAAA;CAAE,CA+C5D,CAAA"}
1
+ {"version":3,"file":"getLatestGlobalVersion.d.ts","sourceRoot":"","sources":["../../src/versions/getLatestGlobalVersion.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AACvE,OAAO,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAQjF,KAAK,IAAI,GAAG;IACV,MAAM,EAAE,qBAAqB,CAAA;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,OAAO,CAAA;IAChB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,GAAG,CAAC,EAAE,cAAc,CAAA;IACpB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,KAAK,CAAA;CACb,CAAA;AAED,eAAO,MAAM,sBAAsB,8DAQhC,IAAI,KAAG,OAAO,CAAC;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,YAAY,EAAE,OAAO,CAAA;CAAE,CAsD5D,CAAA"}
@@ -1,4 +1,7 @@
1
+ import { hasWhereAccessResult } from '../auth/types.js';
2
+ import { combineQueries } from '../database/combineQueries.js';
1
3
  import { hasDraftsEnabled } from '../utilities/getVersionsConfig.js';
4
+ import { appendVersionToQueryKey } from './drafts/appendVersionToQueryKey.js';
2
5
  export const getLatestGlobalVersion = async ({ slug, config, locale, payload, published, req, where })=>{
3
6
  let latestVersion;
4
7
  const whereQuery = published ? {
@@ -17,7 +20,7 @@ export const getLatestGlobalVersion = async ({ slug, config, locale, payload, pu
17
20
  locale: locale || req?.locale || undefined,
18
21
  pagination: false,
19
22
  req,
20
- where: whereQuery
23
+ where: combineQueries(appendVersionToQueryKey(where), whereQuery)
21
24
  })).docs[0];
22
25
  }
23
26
  const global = await payload.db.findGlobal({
@@ -26,7 +29,12 @@ export const getLatestGlobalVersion = async ({ slug, config, locale, payload, pu
26
29
  req,
27
30
  where
28
31
  });
29
- const globalExists = Boolean(global);
32
+ const existingGlobal = hasWhereAccessResult(where) ? await payload.db.findGlobal({
33
+ slug,
34
+ locale,
35
+ req
36
+ }) : global;
37
+ const globalExists = Boolean(existingGlobal && Object.keys(existingGlobal).length > 0);
30
38
  if (!latestVersion) {
31
39
  return {
32
40
  global,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/versions/getLatestGlobalVersion.ts"],"sourcesContent":["import type { SanitizedGlobalConfig } from '../globals/config/types.js'\nimport type { Document, Payload, PayloadRequest, Where } from '../types/index.js'\nimport type { TypeWithVersion } from './types.js'\n\nimport { hasDraftsEnabled } from '../utilities/getVersionsConfig.js'\n\ntype Args = {\n config: SanitizedGlobalConfig\n locale?: string\n payload: Payload\n published?: boolean\n req?: PayloadRequest\n slug: string\n where: Where\n}\n\nexport const getLatestGlobalVersion = async ({\n slug,\n config,\n locale,\n payload,\n published,\n req,\n where,\n}: Args): Promise<{ global: Document; globalExists: boolean }> => {\n let latestVersion: TypeWithVersion<Document> | undefined\n\n const whereQuery = published\n ? { 'version._status': { equals: 'published' } }\n : { latest: { equals: true } }\n\n if (hasDraftsEnabled(config)) {\n latestVersion = (\n await payload.db.findGlobalVersions({\n global: slug,\n limit: 1,\n locale: locale || req?.locale || undefined,\n pagination: false,\n req,\n where: whereQuery as unknown as Where,\n })\n ).docs[0]\n }\n\n const global = await payload.db.findGlobal({\n slug,\n locale,\n req,\n where,\n })\n const globalExists = Boolean(global)\n\n if (!latestVersion) {\n return {\n global,\n globalExists,\n }\n }\n\n if (!latestVersion.version.createdAt) {\n latestVersion.version.createdAt = latestVersion.createdAt\n }\n\n if (!latestVersion.version.updatedAt) {\n latestVersion.version.updatedAt = latestVersion.updatedAt\n }\n\n return {\n global: latestVersion.version,\n globalExists,\n }\n}\n"],"names":["hasDraftsEnabled","getLatestGlobalVersion","slug","config","locale","payload","published","req","where","latestVersion","whereQuery","equals","latest","db","findGlobalVersions","global","limit","undefined","pagination","docs","findGlobal","globalExists","Boolean","version","createdAt","updatedAt"],"mappings":"AAIA,SAASA,gBAAgB,QAAQ,oCAAmC;AAYpE,OAAO,MAAMC,yBAAyB,OAAO,EAC3CC,IAAI,EACJC,MAAM,EACNC,MAAM,EACNC,OAAO,EACPC,SAAS,EACTC,GAAG,EACHC,KAAK,EACA;IACL,IAAIC;IAEJ,MAAMC,aAAaJ,YACf;QAAE,mBAAmB;YAAEK,QAAQ;QAAY;IAAE,IAC7C;QAAEC,QAAQ;YAAED,QAAQ;QAAK;IAAE;IAE/B,IAAIX,iBAAiBG,SAAS;QAC5BM,gBAAgB,AACd,CAAA,MAAMJ,QAAQQ,EAAE,CAACC,kBAAkB,CAAC;YAClCC,QAAQb;YACRc,OAAO;YACPZ,QAAQA,UAAUG,KAAKH,UAAUa;YACjCC,YAAY;YACZX;YACAC,OAAOE;QACT,EAAC,EACDS,IAAI,CAAC,EAAE;IACX;IAEA,MAAMJ,SAAS,MAAMV,QAAQQ,EAAE,CAACO,UAAU,CAAC;QACzClB;QACAE;QACAG;QACAC;IACF;IACA,MAAMa,eAAeC,QAAQP;IAE7B,IAAI,CAACN,eAAe;QAClB,OAAO;YACLM;YACAM;QACF;IACF;IAEA,IAAI,CAACZ,cAAcc,OAAO,CAACC,SAAS,EAAE;QACpCf,cAAcc,OAAO,CAACC,SAAS,GAAGf,cAAce,SAAS;IAC3D;IAEA,IAAI,CAACf,cAAcc,OAAO,CAACE,SAAS,EAAE;QACpChB,cAAcc,OAAO,CAACE,SAAS,GAAGhB,cAAcgB,SAAS;IAC3D;IAEA,OAAO;QACLV,QAAQN,cAAcc,OAAO;QAC7BF;IACF;AACF,EAAC"}
1
+ {"version":3,"sources":["../../src/versions/getLatestGlobalVersion.ts"],"sourcesContent":["import type { SanitizedGlobalConfig } from '../globals/config/types.js'\nimport type { Document, Payload, PayloadRequest, Where } from '../types/index.js'\nimport type { TypeWithVersion } from './types.js'\n\nimport { hasWhereAccessResult } from '../auth/types.js'\nimport { combineQueries } from '../database/combineQueries.js'\nimport { hasDraftsEnabled } from '../utilities/getVersionsConfig.js'\nimport { appendVersionToQueryKey } from './drafts/appendVersionToQueryKey.js'\n\ntype Args = {\n config: SanitizedGlobalConfig\n locale?: string\n payload: Payload\n published?: boolean\n req?: PayloadRequest\n slug: string\n where: Where\n}\n\nexport const getLatestGlobalVersion = async ({\n slug,\n config,\n locale,\n payload,\n published,\n req,\n where,\n}: Args): Promise<{ global: Document; globalExists: boolean }> => {\n let latestVersion: TypeWithVersion<Document> | undefined\n\n const whereQuery = published\n ? { 'version._status': { equals: 'published' } }\n : { latest: { equals: true } }\n\n if (hasDraftsEnabled(config)) {\n latestVersion = (\n await payload.db.findGlobalVersions({\n global: slug,\n limit: 1,\n locale: locale || req?.locale || undefined,\n pagination: false,\n req,\n where: combineQueries(appendVersionToQueryKey(where), whereQuery as unknown as Where),\n })\n ).docs[0]\n }\n\n const global = await payload.db.findGlobal({\n slug,\n locale,\n req,\n where,\n })\n const existingGlobal = hasWhereAccessResult(where)\n ? await payload.db.findGlobal({\n slug,\n locale,\n req,\n })\n : global\n const globalExists = Boolean(existingGlobal && Object.keys(existingGlobal).length > 0)\n\n if (!latestVersion) {\n return {\n global,\n globalExists,\n }\n }\n\n if (!latestVersion.version.createdAt) {\n latestVersion.version.createdAt = latestVersion.createdAt\n }\n\n if (!latestVersion.version.updatedAt) {\n latestVersion.version.updatedAt = latestVersion.updatedAt\n }\n\n return {\n global: latestVersion.version,\n globalExists,\n }\n}\n"],"names":["hasWhereAccessResult","combineQueries","hasDraftsEnabled","appendVersionToQueryKey","getLatestGlobalVersion","slug","config","locale","payload","published","req","where","latestVersion","whereQuery","equals","latest","db","findGlobalVersions","global","limit","undefined","pagination","docs","findGlobal","existingGlobal","globalExists","Boolean","Object","keys","length","version","createdAt","updatedAt"],"mappings":"AAIA,SAASA,oBAAoB,QAAQ,mBAAkB;AACvD,SAASC,cAAc,QAAQ,gCAA+B;AAC9D,SAASC,gBAAgB,QAAQ,oCAAmC;AACpE,SAASC,uBAAuB,QAAQ,sCAAqC;AAY7E,OAAO,MAAMC,yBAAyB,OAAO,EAC3CC,IAAI,EACJC,MAAM,EACNC,MAAM,EACNC,OAAO,EACPC,SAAS,EACTC,GAAG,EACHC,KAAK,EACA;IACL,IAAIC;IAEJ,MAAMC,aAAaJ,YACf;QAAE,mBAAmB;YAAEK,QAAQ;QAAY;IAAE,IAC7C;QAAEC,QAAQ;YAAED,QAAQ;QAAK;IAAE;IAE/B,IAAIZ,iBAAiBI,SAAS;QAC5BM,gBAAgB,AACd,CAAA,MAAMJ,QAAQQ,EAAE,CAACC,kBAAkB,CAAC;YAClCC,QAAQb;YACRc,OAAO;YACPZ,QAAQA,UAAUG,KAAKH,UAAUa;YACjCC,YAAY;YACZX;YACAC,OAAOV,eAAeE,wBAAwBQ,QAAQE;QACxD,EAAC,EACDS,IAAI,CAAC,EAAE;IACX;IAEA,MAAMJ,SAAS,MAAMV,QAAQQ,EAAE,CAACO,UAAU,CAAC;QACzClB;QACAE;QACAG;QACAC;IACF;IACA,MAAMa,iBAAiBxB,qBAAqBW,SACxC,MAAMH,QAAQQ,EAAE,CAACO,UAAU,CAAC;QAC1BlB;QACAE;QACAG;IACF,KACAQ;IACJ,MAAMO,eAAeC,QAAQF,kBAAkBG,OAAOC,IAAI,CAACJ,gBAAgBK,MAAM,GAAG;IAEpF,IAAI,CAACjB,eAAe;QAClB,OAAO;YACLM;YACAO;QACF;IACF;IAEA,IAAI,CAACb,cAAckB,OAAO,CAACC,SAAS,EAAE;QACpCnB,cAAckB,OAAO,CAACC,SAAS,GAAGnB,cAAcmB,SAAS;IAC3D;IAEA,IAAI,CAACnB,cAAckB,OAAO,CAACE,SAAS,EAAE;QACpCpB,cAAckB,OAAO,CAACE,SAAS,GAAGpB,cAAcoB,SAAS;IAC3D;IAEA,OAAO;QACLd,QAAQN,cAAckB,OAAO;QAC7BL;IACF;AACF,EAAC"}
@@ -0,0 +1,9 @@
1
+ export type RestoredStatus = 'draft' | 'published';
2
+ /**
3
+ * Returns the distinct publication statuses a restore will write, so `access.update` can be
4
+ * checked for each one. `_status` is a scalar, or a per-locale object when
5
+ * `versions.drafts.localizeStatus` is on - a localized restore can publish and unpublish locales
6
+ * at once, so both intents are returned and each must pass. Empty when `_status` is absent.
7
+ */
8
+ export declare const getRestoredStatusesToAuthorize: (rawStatus: unknown) => RestoredStatus[];
9
+ //# sourceMappingURL=getRestoredStatusesToAuthorize.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getRestoredStatusesToAuthorize.d.ts","sourceRoot":"","sources":["../../src/versions/getRestoredStatusesToAuthorize.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,WAAW,CAAA;AAElD;;;;;GAKG;AACH,eAAO,MAAM,8BAA8B,cAAe,OAAO,KAAG,cAAc,EAgBjF,CAAA"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Returns the distinct publication statuses a restore will write, so `access.update` can be
3
+ * checked for each one. `_status` is a scalar, or a per-locale object when
4
+ * `versions.drafts.localizeStatus` is on - a localized restore can publish and unpublish locales
5
+ * at once, so both intents are returned and each must pass. Empty when `_status` is absent.
6
+ */ export const getRestoredStatusesToAuthorize = (rawStatus)=>{
7
+ if (typeof rawStatus === 'string') {
8
+ return [
9
+ rawStatus === 'published' ? 'published' : 'draft'
10
+ ];
11
+ }
12
+ if (rawStatus && typeof rawStatus === 'object' && !Array.isArray(rawStatus)) {
13
+ const statuses = new Set();
14
+ for (const value of Object.values(rawStatus)){
15
+ statuses.add(value === 'published' ? 'published' : 'draft');
16
+ }
17
+ return Array.from(statuses);
18
+ }
19
+ return [];
20
+ };
21
+
22
+ //# sourceMappingURL=getRestoredStatusesToAuthorize.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/versions/getRestoredStatusesToAuthorize.ts"],"sourcesContent":["export type RestoredStatus = 'draft' | 'published'\n\n/**\n * Returns the distinct publication statuses a restore will write, so `access.update` can be\n * checked for each one. `_status` is a scalar, or a per-locale object when\n * `versions.drafts.localizeStatus` is on - a localized restore can publish and unpublish locales\n * at once, so both intents are returned and each must pass. Empty when `_status` is absent.\n */\nexport const getRestoredStatusesToAuthorize = (rawStatus: unknown): RestoredStatus[] => {\n if (typeof rawStatus === 'string') {\n return [rawStatus === 'published' ? 'published' : 'draft']\n }\n\n if (rawStatus && typeof rawStatus === 'object' && !Array.isArray(rawStatus)) {\n const statuses = new Set<RestoredStatus>()\n\n for (const value of Object.values(rawStatus as Record<string, unknown>)) {\n statuses.add(value === 'published' ? 'published' : 'draft')\n }\n\n return Array.from(statuses)\n }\n\n return []\n}\n"],"names":["getRestoredStatusesToAuthorize","rawStatus","Array","isArray","statuses","Set","value","Object","values","add","from"],"mappings":"AAEA;;;;;CAKC,GACD,OAAO,MAAMA,iCAAiC,CAACC;IAC7C,IAAI,OAAOA,cAAc,UAAU;QACjC,OAAO;YAACA,cAAc,cAAc,cAAc;SAAQ;IAC5D;IAEA,IAAIA,aAAa,OAAOA,cAAc,YAAY,CAACC,MAAMC,OAAO,CAACF,YAAY;QAC3E,MAAMG,WAAW,IAAIC;QAErB,KAAK,MAAMC,SAASC,OAAOC,MAAM,CAACP,WAAuC;YACvEG,SAASK,GAAG,CAACH,UAAU,cAAc,cAAc;QACrD;QAEA,OAAOJ,MAAMQ,IAAI,CAACN;IACpB;IAEA,OAAO,EAAE;AACX,EAAC"}
@@ -0,0 +1,50 @@
1
+ import { describe, expect, it } from 'vitest';
2
+ import { getRestoredStatusesToAuthorize } from './getRestoredStatusesToAuthorize.js';
3
+ describe('getRestoredStatusesToAuthorize', ()=>{
4
+ it('should return the scalar published status', ()=>{
5
+ expect(getRestoredStatusesToAuthorize('published')).toStrictEqual([
6
+ 'published'
7
+ ]);
8
+ });
9
+ it('should return the scalar draft status', ()=>{
10
+ expect(getRestoredStatusesToAuthorize('draft')).toStrictEqual([
11
+ 'draft'
12
+ ]);
13
+ });
14
+ it('should return a single published status when every locale is published', ()=>{
15
+ expect(getRestoredStatusesToAuthorize({
16
+ de: 'published',
17
+ en: 'published'
18
+ })).toStrictEqual([
19
+ 'published'
20
+ ]);
21
+ });
22
+ it('should return a single draft status when every locale is draft', ()=>{
23
+ expect(getRestoredStatusesToAuthorize({
24
+ de: 'draft',
25
+ en: 'draft'
26
+ })).toStrictEqual([
27
+ 'draft'
28
+ ]);
29
+ });
30
+ it('should return both statuses for a mixed-locale object so each transition is authorized', ()=>{
31
+ const result = getRestoredStatusesToAuthorize({
32
+ de: 'published',
33
+ en: 'draft'
34
+ });
35
+ expect(result).toHaveLength(2);
36
+ expect(result).toContain('draft');
37
+ expect(result).toContain('published');
38
+ });
39
+ it('should return an empty array when the status is missing', ()=>{
40
+ expect(getRestoredStatusesToAuthorize(undefined)).toStrictEqual([]);
41
+ expect(getRestoredStatusesToAuthorize(null)).toStrictEqual([]);
42
+ });
43
+ it('should return an empty array for an array status shape', ()=>{
44
+ expect(getRestoredStatusesToAuthorize([
45
+ 'published'
46
+ ])).toStrictEqual([]);
47
+ });
48
+ });
49
+
50
+ //# sourceMappingURL=getRestoredStatusesToAuthorize.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/versions/getRestoredStatusesToAuthorize.spec.ts"],"sourcesContent":["import { describe, expect, it } from 'vitest'\n\nimport { getRestoredStatusesToAuthorize } from './getRestoredStatusesToAuthorize.js'\n\ndescribe('getRestoredStatusesToAuthorize', () => {\n it('should return the scalar published status', () => {\n expect(getRestoredStatusesToAuthorize('published')).toStrictEqual(['published'])\n })\n\n it('should return the scalar draft status', () => {\n expect(getRestoredStatusesToAuthorize('draft')).toStrictEqual(['draft'])\n })\n\n it('should return a single published status when every locale is published', () => {\n expect(getRestoredStatusesToAuthorize({ de: 'published', en: 'published' })).toStrictEqual([\n 'published',\n ])\n })\n\n it('should return a single draft status when every locale is draft', () => {\n expect(getRestoredStatusesToAuthorize({ de: 'draft', en: 'draft' })).toStrictEqual(['draft'])\n })\n\n it('should return both statuses for a mixed-locale object so each transition is authorized', () => {\n const result = getRestoredStatusesToAuthorize({ de: 'published', en: 'draft' })\n\n expect(result).toHaveLength(2)\n expect(result).toContain('draft')\n expect(result).toContain('published')\n })\n\n it('should return an empty array when the status is missing', () => {\n expect(getRestoredStatusesToAuthorize(undefined)).toStrictEqual([])\n expect(getRestoredStatusesToAuthorize(null)).toStrictEqual([])\n })\n\n it('should return an empty array for an array status shape', () => {\n expect(getRestoredStatusesToAuthorize(['published'])).toStrictEqual([])\n })\n})\n"],"names":["describe","expect","it","getRestoredStatusesToAuthorize","toStrictEqual","de","en","result","toHaveLength","toContain","undefined"],"mappings":"AAAA,SAASA,QAAQ,EAAEC,MAAM,EAAEC,EAAE,QAAQ,SAAQ;AAE7C,SAASC,8BAA8B,QAAQ,sCAAqC;AAEpFH,SAAS,kCAAkC;IACzCE,GAAG,6CAA6C;QAC9CD,OAAOE,+BAA+B,cAAcC,aAAa,CAAC;YAAC;SAAY;IACjF;IAEAF,GAAG,yCAAyC;QAC1CD,OAAOE,+BAA+B,UAAUC,aAAa,CAAC;YAAC;SAAQ;IACzE;IAEAF,GAAG,0EAA0E;QAC3ED,OAAOE,+BAA+B;YAAEE,IAAI;YAAaC,IAAI;QAAY,IAAIF,aAAa,CAAC;YACzF;SACD;IACH;IAEAF,GAAG,kEAAkE;QACnED,OAAOE,+BAA+B;YAAEE,IAAI;YAASC,IAAI;QAAQ,IAAIF,aAAa,CAAC;YAAC;SAAQ;IAC9F;IAEAF,GAAG,0FAA0F;QAC3F,MAAMK,SAASJ,+BAA+B;YAAEE,IAAI;YAAaC,IAAI;QAAQ;QAE7EL,OAAOM,QAAQC,YAAY,CAAC;QAC5BP,OAAOM,QAAQE,SAAS,CAAC;QACzBR,OAAOM,QAAQE,SAAS,CAAC;IAC3B;IAEAP,GAAG,2DAA2D;QAC5DD,OAAOE,+BAA+BO,YAAYN,aAAa,CAAC,EAAE;QAClEH,OAAOE,+BAA+B,OAAOC,aAAa,CAAC,EAAE;IAC/D;IAEAF,GAAG,0DAA0D;QAC3DD,OAAOE,+BAA+B;YAAC;SAAY,GAAGC,aAAa,CAAC,EAAE;IACxE;AACF"}
@@ -1,11 +1,11 @@
1
1
  import type { TaskConfig } from '../../queues/config/types/taskTypes.js';
2
2
  import type { SchedulePublishTaskInput } from './types.js';
3
3
  type Args = {
4
- adminUserSlug: string;
4
+ authCollectionSlugs: string[];
5
5
  collections: string[];
6
6
  globals: string[];
7
7
  };
8
- export declare const getSchedulePublishTask: ({ adminUserSlug, collections, globals, }: Args) => TaskConfig<{
8
+ export declare const getSchedulePublishTask: ({ authCollectionSlugs, collections, globals, }: Args) => TaskConfig<{
9
9
  input: SchedulePublishTaskInput;
10
10
  output: object;
11
11
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"job.d.ts","sourceRoot":"","sources":["../../../src/versions/schedule/job.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wCAAwC,CAAA;AACxE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAA;AAE1D,KAAK,IAAI,GAAG;IACV,aAAa,EAAE,MAAM,CAAA;IACrB,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB,OAAO,EAAE,MAAM,EAAE,CAAA;CAClB,CAAA;AAED,eAAO,MAAM,sBAAsB,6CAIhC,IAAI,KAAG,UAAU,CAAC;IAAE,KAAK,EAAE,wBAAwB,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAsGvE,CAAA"}
1
+ {"version":3,"file":"job.d.ts","sourceRoot":"","sources":["../../../src/versions/schedule/job.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wCAAwC,CAAA;AACxE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAA;AAE1D,KAAK,IAAI,GAAG;IACV,mBAAmB,EAAE,MAAM,EAAE,CAAA;IAC7B,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB,OAAO,EAAE,MAAM,EAAE,CAAA;CAClB,CAAA;AAED,eAAO,MAAM,sBAAsB,mDAIhC,IAAI,KAAG,UAAU,CAAC;IAAE,KAAK,EAAE,wBAAwB,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAiHvE,CAAA"}
@@ -1,17 +1,21 @@
1
- export const getSchedulePublishTask = ({ adminUserSlug, collections, globals })=>{
1
+ export const getSchedulePublishTask = ({ authCollectionSlugs, collections, globals })=>{
2
2
  return {
3
3
  slug: 'schedulePublish',
4
4
  handler: async ({ input, req })=>{
5
5
  const _status = input?.type === 'publish' || !input?.type ? 'published' : 'draft';
6
- const userID = input.user;
7
6
  let user = null;
8
- if (userID) {
7
+ if (input.user != null) {
8
+ if (typeof input.user !== 'object') {
9
+ // Legacy jobs lack enough information to restore the scheduling user identity safely, so fail closed.
10
+ const target = input.doc ? ` for the ${input.doc.relationTo} document with ID ${input.doc.value}` : input.global ? ` for the ${input.global} global` : '';
11
+ throw new Error(`Scheduled publish job was queued before Payload preserved the scheduling user's auth collection and cannot be run safely. Re-schedule the publish${target} from the admin panel.`);
12
+ }
9
13
  user = await req.payload.findByID({
10
- id: userID,
11
- collection: adminUserSlug,
14
+ id: input.user.value,
15
+ collection: input.user.relationTo,
12
16
  depth: 0
13
17
  });
14
- user.collection = adminUserSlug;
18
+ user.collection = input.user.relationTo;
15
19
  }
16
20
  let publishSpecificLocale;
17
21
  if (input?.type === 'publish' && input.locale && req.payload.config.localization) {
@@ -81,7 +85,7 @@ export const getSchedulePublishTask = ({ adminUserSlug, collections, globals })=
81
85
  {
82
86
  name: 'user',
83
87
  type: 'relationship',
84
- relationTo: adminUserSlug
88
+ relationTo: authCollectionSlugs
85
89
  }
86
90
  ]
87
91
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/versions/schedule/job.ts"],"sourcesContent":["import type { Field } from '../../fields/config/types.js'\nimport type { TypedUser } from '../../index.js'\nimport type { TaskConfig } from '../../queues/config/types/taskTypes.js'\nimport type { SchedulePublishTaskInput } from './types.js'\n\ntype Args = {\n adminUserSlug: string\n collections: string[]\n globals: string[]\n}\n\nexport const getSchedulePublishTask = ({\n adminUserSlug,\n collections,\n globals,\n}: Args): TaskConfig<{ input: SchedulePublishTaskInput; output: object }> => {\n return {\n slug: 'schedulePublish',\n handler: async ({ input, req }) => {\n const _status = input?.type === 'publish' || !input?.type ? 'published' : 'draft'\n\n const userID = input.user\n\n let user: null | TypedUser = null\n\n if (userID) {\n user = (await req.payload.findByID({\n id: userID,\n collection: adminUserSlug,\n depth: 0,\n })) as TypedUser\n\n user.collection = adminUserSlug\n }\n\n let publishSpecificLocale: string\n\n if (input?.type === 'publish' && input.locale && req.payload.config.localization) {\n const matchedLocale = req.payload.config.localization.locales.find(\n ({ code }) => code === input.locale,\n )\n\n if (matchedLocale) {\n publishSpecificLocale = input.locale\n }\n }\n\n if (input.doc) {\n // input.doc.value is always a string (#10481); coerce back to the real ID type.\n const idType =\n req.payload.collections[input.doc.relationTo]?.customIDType ??\n req.payload.db?.defaultIDType ??\n 'text'\n const id = idType === 'number' ? Number(input.doc.value) : input.doc.value\n\n await req.payload.update({\n id,\n collection: input.doc.relationTo,\n data: {\n _status,\n },\n depth: 0,\n overrideAccess: user === null,\n publishSpecificLocale: publishSpecificLocale!,\n user,\n })\n }\n\n if (input.global) {\n await req.payload.updateGlobal({\n slug: input.global,\n data: {\n _status,\n },\n depth: 0,\n overrideAccess: user === null,\n publishSpecificLocale: publishSpecificLocale!,\n user,\n })\n }\n\n return {\n output: {},\n }\n },\n inputSchema: [\n {\n name: 'type',\n type: 'radio',\n defaultValue: 'publish',\n options: ['publish', 'unpublish'],\n },\n {\n name: 'locale',\n type: 'text',\n },\n ...(collections.length > 0\n ? [\n {\n name: 'doc',\n type: 'relationship',\n relationTo: collections,\n } satisfies Field,\n ]\n : []),\n {\n name: 'global',\n type: 'select',\n options: globals,\n },\n {\n name: 'user',\n type: 'relationship',\n relationTo: adminUserSlug,\n },\n ],\n }\n}\n"],"names":["getSchedulePublishTask","adminUserSlug","collections","globals","slug","handler","input","req","_status","type","userID","user","payload","findByID","id","collection","depth","publishSpecificLocale","locale","config","localization","matchedLocale","locales","find","code","doc","idType","relationTo","customIDType","db","defaultIDType","Number","value","update","data","overrideAccess","global","updateGlobal","output","inputSchema","name","defaultValue","options","length"],"mappings":"AAWA,OAAO,MAAMA,yBAAyB,CAAC,EACrCC,aAAa,EACbC,WAAW,EACXC,OAAO,EACF;IACL,OAAO;QACLC,MAAM;QACNC,SAAS,OAAO,EAAEC,KAAK,EAAEC,GAAG,EAAE;YAC5B,MAAMC,UAAUF,OAAOG,SAAS,aAAa,CAACH,OAAOG,OAAO,cAAc;YAE1E,MAAMC,SAASJ,MAAMK,IAAI;YAEzB,IAAIA,OAAyB;YAE7B,IAAID,QAAQ;gBACVC,OAAQ,MAAMJ,IAAIK,OAAO,CAACC,QAAQ,CAAC;oBACjCC,IAAIJ;oBACJK,YAAYd;oBACZe,OAAO;gBACT;gBAEAL,KAAKI,UAAU,GAAGd;YACpB;YAEA,IAAIgB;YAEJ,IAAIX,OAAOG,SAAS,aAAaH,MAAMY,MAAM,IAAIX,IAAIK,OAAO,CAACO,MAAM,CAACC,YAAY,EAAE;gBAChF,MAAMC,gBAAgBd,IAAIK,OAAO,CAACO,MAAM,CAACC,YAAY,CAACE,OAAO,CAACC,IAAI,CAChE,CAAC,EAAEC,IAAI,EAAE,GAAKA,SAASlB,MAAMY,MAAM;gBAGrC,IAAIG,eAAe;oBACjBJ,wBAAwBX,MAAMY,MAAM;gBACtC;YACF;YAEA,IAAIZ,MAAMmB,GAAG,EAAE;gBACb,gFAAgF;gBAChF,MAAMC,SACJnB,IAAIK,OAAO,CAACV,WAAW,CAACI,MAAMmB,GAAG,CAACE,UAAU,CAAC,EAAEC,gBAC/CrB,IAAIK,OAAO,CAACiB,EAAE,EAAEC,iBAChB;gBACF,MAAMhB,KAAKY,WAAW,WAAWK,OAAOzB,MAAMmB,GAAG,CAACO,KAAK,IAAI1B,MAAMmB,GAAG,CAACO,KAAK;gBAE1E,MAAMzB,IAAIK,OAAO,CAACqB,MAAM,CAAC;oBACvBnB;oBACAC,YAAYT,MAAMmB,GAAG,CAACE,UAAU;oBAChCO,MAAM;wBACJ1B;oBACF;oBACAQ,OAAO;oBACPmB,gBAAgBxB,SAAS;oBACzBM,uBAAuBA;oBACvBN;gBACF;YACF;YAEA,IAAIL,MAAM8B,MAAM,EAAE;gBAChB,MAAM7B,IAAIK,OAAO,CAACyB,YAAY,CAAC;oBAC7BjC,MAAME,MAAM8B,MAAM;oBAClBF,MAAM;wBACJ1B;oBACF;oBACAQ,OAAO;oBACPmB,gBAAgBxB,SAAS;oBACzBM,uBAAuBA;oBACvBN;gBACF;YACF;YAEA,OAAO;gBACL2B,QAAQ,CAAC;YACX;QACF;QACAC,aAAa;YACX;gBACEC,MAAM;gBACN/B,MAAM;gBACNgC,cAAc;gBACdC,SAAS;oBAAC;oBAAW;iBAAY;YACnC;YACA;gBACEF,MAAM;gBACN/B,MAAM;YACR;eACIP,YAAYyC,MAAM,GAAG,IACrB;gBACE;oBACEH,MAAM;oBACN/B,MAAM;oBACNkB,YAAYzB;gBACd;aACD,GACD,EAAE;YACN;gBACEsC,MAAM;gBACN/B,MAAM;gBACNiC,SAASvC;YACX;YACA;gBACEqC,MAAM;gBACN/B,MAAM;gBACNkB,YAAY1B;YACd;SACD;IACH;AACF,EAAC"}
1
+ {"version":3,"sources":["../../../src/versions/schedule/job.ts"],"sourcesContent":["import type { Field } from '../../fields/config/types.js'\nimport type { TypedUser } from '../../index.js'\nimport type { TaskConfig } from '../../queues/config/types/taskTypes.js'\nimport type { SchedulePublishTaskInput } from './types.js'\n\ntype Args = {\n authCollectionSlugs: string[]\n collections: string[]\n globals: string[]\n}\n\nexport const getSchedulePublishTask = ({\n authCollectionSlugs,\n collections,\n globals,\n}: Args): TaskConfig<{ input: SchedulePublishTaskInput; output: object }> => {\n return {\n slug: 'schedulePublish',\n handler: async ({ input, req }) => {\n const _status = input?.type === 'publish' || !input?.type ? 'published' : 'draft'\n\n let user: null | TypedUser = null\n\n if (input.user != null) {\n if (typeof input.user !== 'object') {\n // Legacy jobs lack enough information to restore the scheduling user identity safely, so fail closed.\n const target = input.doc\n ? ` for the ${input.doc.relationTo} document with ID ${input.doc.value}`\n : input.global\n ? ` for the ${input.global} global`\n : ''\n\n throw new Error(\n `Scheduled publish job was queued before Payload preserved the scheduling user's auth collection and cannot be run safely. Re-schedule the publish${target} from the admin panel.`,\n )\n }\n\n user = (await req.payload.findByID({\n id: input.user.value,\n collection: input.user.relationTo,\n depth: 0,\n })) as TypedUser\n\n user.collection = input.user.relationTo\n }\n\n let publishSpecificLocale: string\n\n if (input?.type === 'publish' && input.locale && req.payload.config.localization) {\n const matchedLocale = req.payload.config.localization.locales.find(\n ({ code }) => code === input.locale,\n )\n\n if (matchedLocale) {\n publishSpecificLocale = input.locale\n }\n }\n\n if (input.doc) {\n // input.doc.value is always a string (#10481); coerce back to the real ID type.\n const idType =\n req.payload.collections[input.doc.relationTo]?.customIDType ??\n req.payload.db?.defaultIDType ??\n 'text'\n const id = idType === 'number' ? Number(input.doc.value) : input.doc.value\n\n await req.payload.update({\n id,\n collection: input.doc.relationTo,\n data: {\n _status,\n },\n depth: 0,\n overrideAccess: user === null,\n publishSpecificLocale: publishSpecificLocale!,\n user,\n })\n }\n\n if (input.global) {\n await req.payload.updateGlobal({\n slug: input.global,\n data: {\n _status,\n },\n depth: 0,\n overrideAccess: user === null,\n publishSpecificLocale: publishSpecificLocale!,\n user,\n })\n }\n\n return {\n output: {},\n }\n },\n inputSchema: [\n {\n name: 'type',\n type: 'radio',\n defaultValue: 'publish',\n options: ['publish', 'unpublish'],\n },\n {\n name: 'locale',\n type: 'text',\n },\n ...(collections.length > 0\n ? [\n {\n name: 'doc',\n type: 'relationship',\n relationTo: collections,\n } satisfies Field,\n ]\n : []),\n {\n name: 'global',\n type: 'select',\n options: globals,\n },\n {\n name: 'user',\n type: 'relationship',\n relationTo: authCollectionSlugs,\n },\n ],\n }\n}\n"],"names":["getSchedulePublishTask","authCollectionSlugs","collections","globals","slug","handler","input","req","_status","type","user","target","doc","relationTo","value","global","Error","payload","findByID","id","collection","depth","publishSpecificLocale","locale","config","localization","matchedLocale","locales","find","code","idType","customIDType","db","defaultIDType","Number","update","data","overrideAccess","updateGlobal","output","inputSchema","name","defaultValue","options","length"],"mappings":"AAWA,OAAO,MAAMA,yBAAyB,CAAC,EACrCC,mBAAmB,EACnBC,WAAW,EACXC,OAAO,EACF;IACL,OAAO;QACLC,MAAM;QACNC,SAAS,OAAO,EAAEC,KAAK,EAAEC,GAAG,EAAE;YAC5B,MAAMC,UAAUF,OAAOG,SAAS,aAAa,CAACH,OAAOG,OAAO,cAAc;YAE1E,IAAIC,OAAyB;YAE7B,IAAIJ,MAAMI,IAAI,IAAI,MAAM;gBACtB,IAAI,OAAOJ,MAAMI,IAAI,KAAK,UAAU;oBAClC,sGAAsG;oBACtG,MAAMC,SAASL,MAAMM,GAAG,GACpB,CAAC,SAAS,EAAEN,MAAMM,GAAG,CAACC,UAAU,CAAC,kBAAkB,EAAEP,MAAMM,GAAG,CAACE,KAAK,EAAE,GACtER,MAAMS,MAAM,GACV,CAAC,SAAS,EAAET,MAAMS,MAAM,CAAC,OAAO,CAAC,GACjC;oBAEN,MAAM,IAAIC,MACR,CAAC,iJAAiJ,EAAEL,OAAO,sBAAsB,CAAC;gBAEtL;gBAEAD,OAAQ,MAAMH,IAAIU,OAAO,CAACC,QAAQ,CAAC;oBACjCC,IAAIb,MAAMI,IAAI,CAACI,KAAK;oBACpBM,YAAYd,MAAMI,IAAI,CAACG,UAAU;oBACjCQ,OAAO;gBACT;gBAEAX,KAAKU,UAAU,GAAGd,MAAMI,IAAI,CAACG,UAAU;YACzC;YAEA,IAAIS;YAEJ,IAAIhB,OAAOG,SAAS,aAAaH,MAAMiB,MAAM,IAAIhB,IAAIU,OAAO,CAACO,MAAM,CAACC,YAAY,EAAE;gBAChF,MAAMC,gBAAgBnB,IAAIU,OAAO,CAACO,MAAM,CAACC,YAAY,CAACE,OAAO,CAACC,IAAI,CAChE,CAAC,EAAEC,IAAI,EAAE,GAAKA,SAASvB,MAAMiB,MAAM;gBAGrC,IAAIG,eAAe;oBACjBJ,wBAAwBhB,MAAMiB,MAAM;gBACtC;YACF;YAEA,IAAIjB,MAAMM,GAAG,EAAE;gBACb,gFAAgF;gBAChF,MAAMkB,SACJvB,IAAIU,OAAO,CAACf,WAAW,CAACI,MAAMM,GAAG,CAACC,UAAU,CAAC,EAAEkB,gBAC/CxB,IAAIU,OAAO,CAACe,EAAE,EAAEC,iBAChB;gBACF,MAAMd,KAAKW,WAAW,WAAWI,OAAO5B,MAAMM,GAAG,CAACE,KAAK,IAAIR,MAAMM,GAAG,CAACE,KAAK;gBAE1E,MAAMP,IAAIU,OAAO,CAACkB,MAAM,CAAC;oBACvBhB;oBACAC,YAAYd,MAAMM,GAAG,CAACC,UAAU;oBAChCuB,MAAM;wBACJ5B;oBACF;oBACAa,OAAO;oBACPgB,gBAAgB3B,SAAS;oBACzBY,uBAAuBA;oBACvBZ;gBACF;YACF;YAEA,IAAIJ,MAAMS,MAAM,EAAE;gBAChB,MAAMR,IAAIU,OAAO,CAACqB,YAAY,CAAC;oBAC7BlC,MAAME,MAAMS,MAAM;oBAClBqB,MAAM;wBACJ5B;oBACF;oBACAa,OAAO;oBACPgB,gBAAgB3B,SAAS;oBACzBY,uBAAuBA;oBACvBZ;gBACF;YACF;YAEA,OAAO;gBACL6B,QAAQ,CAAC;YACX;QACF;QACAC,aAAa;YACX;gBACEC,MAAM;gBACNhC,MAAM;gBACNiC,cAAc;gBACdC,SAAS;oBAAC;oBAAW;iBAAY;YACnC;YACA;gBACEF,MAAM;gBACNhC,MAAM;YACR;eACIP,YAAY0C,MAAM,GAAG,IACrB;gBACE;oBACEH,MAAM;oBACNhC,MAAM;oBACNI,YAAYX;gBACd;aACD,GACD,EAAE;YACN;gBACEuC,MAAM;gBACNhC,MAAM;gBACNkC,SAASxC;YACX;YACA;gBACEsC,MAAM;gBACNhC,MAAM;gBACNI,YAAYZ;YACd;SACD;IACH;AACF,EAAC"}
@@ -1,4 +1,8 @@
1
1
  import type { CollectionSlug, GlobalSlug } from '../../index.js';
2
+ export type SchedulePublishTaskUser = {
3
+ relationTo: CollectionSlug;
4
+ value: number | string;
5
+ } | number | string;
2
6
  export type SchedulePublishTaskInput = {
3
7
  doc?: {
4
8
  relationTo: CollectionSlug;
@@ -7,6 +11,6 @@ export type SchedulePublishTaskInput = {
7
11
  global?: GlobalSlug;
8
12
  locale?: string;
9
13
  type?: string;
10
- user?: number | string;
14
+ user?: SchedulePublishTaskUser;
11
15
  };
12
16
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/versions/schedule/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAEhE,MAAM,MAAM,wBAAwB,GAAG;IACrC,GAAG,CAAC,EAAE;QACJ,UAAU,EAAE,cAAc,CAAA;QAC1B,KAAK,EAAE,MAAM,CAAA;KACd,CAAA;IACD,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CACvB,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/versions/schedule/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAEhE,MAAM,MAAM,uBAAuB,GAC/B;IACE,UAAU,EAAE,cAAc,CAAA;IAC1B,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CACvB,GACD,MAAM,GACN,MAAM,CAAA;AAEV,MAAM,MAAM,wBAAwB,GAAG;IACrC,GAAG,CAAC,EAAE;QACJ,UAAU,EAAE,cAAc,CAAA;QAC1B,KAAK,EAAE,MAAM,CAAA;KACd,CAAA;IACD,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,uBAAuB,CAAA;CAC/B,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/versions/schedule/types.ts"],"sourcesContent":["import type { CollectionSlug, GlobalSlug } from '../../index.js'\n\nexport type SchedulePublishTaskInput = {\n doc?: {\n relationTo: CollectionSlug\n value: string\n }\n global?: GlobalSlug\n locale?: string\n type?: string\n user?: number | string\n}\n"],"names":[],"mappings":"AAEA,WASC"}
1
+ {"version":3,"sources":["../../../src/versions/schedule/types.ts"],"sourcesContent":["import type { CollectionSlug, GlobalSlug } from '../../index.js'\n\nexport type SchedulePublishTaskUser =\n | {\n relationTo: CollectionSlug\n value: number | string\n }\n | number\n | string\n\nexport type SchedulePublishTaskInput = {\n doc?: {\n relationTo: CollectionSlug\n value: string\n }\n global?: GlobalSlug\n locale?: string\n type?: string\n user?: SchedulePublishTaskUser\n}\n"],"names":[],"mappings":"AAUA,WASC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "payload",
3
- "version": "3.89.0-internal.95c9cba",
3
+ "version": "3.90.0",
4
4
  "description": "Node, React, Headless CMS and Application Framework built on Next.js",
5
5
  "keywords": [
6
6
  "admin panel",
@@ -110,12 +110,13 @@
110
110
  "qs-esm": "8.0.1",
111
111
  "range-parser": "1.2.1",
112
112
  "sanitize-filename": "1.6.3",
113
+ "sax": "1.6.1",
113
114
  "ts-essentials": "10.0.3",
114
115
  "tsx": "4.22.4",
115
116
  "undici": "7.29.0",
116
117
  "uuid": "13.0.2",
117
118
  "ws": "^8.16.0",
118
- "@payloadcms/translations": "3.89.0-internal.95c9cba"
119
+ "@payloadcms/translations": "3.90.0"
119
120
  },
120
121
  "devDependencies": {
121
122
  "@hyrious/esbuild-plugin-commonjs": "0.2.6",
@@ -125,6 +126,7 @@
125
126
  "@types/nodemailer": "^8.0.0",
126
127
  "@types/pluralize": "0.0.33",
127
128
  "@types/range-parser": "1.2.7",
129
+ "@types/sax": "1.2.7",
128
130
  "@types/ws": "^8.5.10",
129
131
  "copyfiles": "2.4.1",
130
132
  "cross-env": "7.0.3",