@payloadcms/next 3.0.0-beta.90 → 3.0.0-beta.92

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 (462) hide show
  1. package/dist/cjs/withPayload.js +111 -0
  2. package/dist/cjs/withPayload.js.map +1 -0
  3. package/dist/config.js +0 -1
  4. package/dist/config.js.map +1 -1
  5. package/dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.js +15 -9
  6. package/dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.js.map +1 -1
  7. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js +100 -35
  8. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js.map +1 -1
  9. package/dist/elements/DocumentHeader/Tabs/Tab/index.js +74 -63
  10. package/dist/elements/DocumentHeader/Tabs/Tab/index.js.map +1 -1
  11. package/dist/elements/DocumentHeader/Tabs/getCustomViews.js +31 -35
  12. package/dist/elements/DocumentHeader/Tabs/getCustomViews.js.map +1 -1
  13. package/dist/elements/DocumentHeader/Tabs/getViewConfig.js +15 -12
  14. package/dist/elements/DocumentHeader/Tabs/getViewConfig.js.map +1 -1
  15. package/dist/elements/DocumentHeader/Tabs/index.js +86 -79
  16. package/dist/elements/DocumentHeader/Tabs/index.js.map +1 -1
  17. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js +32 -13
  18. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js.map +1 -1
  19. package/dist/elements/DocumentHeader/Tabs/tabs/index.js +60 -52
  20. package/dist/elements/DocumentHeader/Tabs/tabs/index.js.map +1 -1
  21. package/dist/elements/DocumentHeader/index.js +24 -23
  22. package/dist/elements/DocumentHeader/index.js.map +1 -1
  23. package/dist/elements/EmailAndUsername/index.js +107 -75
  24. package/dist/elements/EmailAndUsername/index.js.map +1 -1
  25. package/dist/elements/LeaveWithoutSaving/index.js +150 -83
  26. package/dist/elements/LeaveWithoutSaving/index.js.map +1 -1
  27. package/dist/elements/LeaveWithoutSaving/usePreventLeave.d.ts.map +1 -1
  28. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js +119 -101
  29. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js.map +1 -1
  30. package/dist/elements/Logo/index.js +36 -21
  31. package/dist/elements/Logo/index.js.map +1 -1
  32. package/dist/elements/Nav/NavHamburger/index.js +41 -13
  33. package/dist/elements/Nav/NavHamburger/index.js.map +1 -1
  34. package/dist/elements/Nav/NavWrapper/index.js +48 -16
  35. package/dist/elements/Nav/NavWrapper/index.js.map +1 -1
  36. package/dist/elements/Nav/index.client.js +149 -76
  37. package/dist/elements/Nav/index.client.js.map +1 -1
  38. package/dist/elements/Nav/index.js +56 -50
  39. package/dist/elements/Nav/index.js.map +1 -1
  40. package/dist/exports/layouts.js +0 -1
  41. package/dist/exports/layouts.js.map +1 -1
  42. package/dist/exports/routes.js +0 -1
  43. package/dist/exports/routes.js.map +1 -1
  44. package/dist/exports/templates.js +0 -1
  45. package/dist/exports/templates.js.map +1 -1
  46. package/dist/exports/utilities.js +0 -1
  47. package/dist/exports/utilities.js.map +1 -1
  48. package/dist/exports/views.js +0 -1
  49. package/dist/exports/views.js.map +1 -1
  50. package/dist/fetchAPI-multipart/fileFactory.js +35 -34
  51. package/dist/fetchAPI-multipart/fileFactory.js.map +1 -1
  52. package/dist/fetchAPI-multipart/handlers.js +77 -78
  53. package/dist/fetchAPI-multipart/handlers.js.map +1 -1
  54. package/dist/fetchAPI-multipart/index.js +33 -31
  55. package/dist/fetchAPI-multipart/index.js.map +1 -1
  56. package/dist/fetchAPI-multipart/isEligibleRequest.js +13 -21
  57. package/dist/fetchAPI-multipart/isEligibleRequest.js.map +1 -1
  58. package/dist/fetchAPI-multipart/processMultipart.js +158 -141
  59. package/dist/fetchAPI-multipart/processMultipart.js.map +1 -1
  60. package/dist/fetchAPI-multipart/processNested.js +23 -21
  61. package/dist/fetchAPI-multipart/processNested.js.map +1 -1
  62. package/dist/fetchAPI-multipart/uploadTimer.js +16 -17
  63. package/dist/fetchAPI-multipart/uploadTimer.js.map +1 -1
  64. package/dist/fetchAPI-multipart/utilities.js +166 -166
  65. package/dist/fetchAPI-multipart/utilities.js.map +1 -1
  66. package/dist/fetchAPI-stream-file/index.js +19 -17
  67. package/dist/fetchAPI-stream-file/index.js.map +1 -1
  68. package/dist/index.js +0 -1
  69. package/dist/index.js.map +1 -1
  70. package/dist/layouts/Root/index.js +118 -115
  71. package/dist/layouts/Root/index.js.map +1 -1
  72. package/dist/prod/styles.css +1 -1
  73. package/dist/routes/graphql/handler.js +109 -103
  74. package/dist/routes/graphql/handler.js.map +1 -1
  75. package/dist/routes/graphql/index.js +0 -1
  76. package/dist/routes/graphql/index.js.map +1 -1
  77. package/dist/routes/graphql/playground.js +23 -24
  78. package/dist/routes/graphql/playground.js.map +1 -1
  79. package/dist/routes/index.js +0 -1
  80. package/dist/routes/index.js.map +1 -1
  81. package/dist/routes/rest/auth/access.js +22 -21
  82. package/dist/routes/rest/auth/access.js.map +1 -1
  83. package/dist/routes/rest/auth/forgotPassword.js +29 -25
  84. package/dist/routes/rest/auth/forgotPassword.js.map +1 -1
  85. package/dist/routes/rest/auth/init.js +16 -14
  86. package/dist/routes/rest/auth/init.js.map +1 -1
  87. package/dist/routes/rest/auth/login.js +43 -38
  88. package/dist/routes/rest/auth/login.js.map +1 -1
  89. package/dist/routes/rest/auth/logout.js +31 -27
  90. package/dist/routes/rest/auth/logout.js.map +1 -1
  91. package/dist/routes/rest/auth/me.js +23 -21
  92. package/dist/routes/rest/auth/me.js.map +1 -1
  93. package/dist/routes/rest/auth/refresh.js +31 -27
  94. package/dist/routes/rest/auth/refresh.js.map +1 -1
  95. package/dist/routes/rest/auth/registerFirstUser.js +43 -38
  96. package/dist/routes/rest/auth/registerFirstUser.js.map +1 -1
  97. package/dist/routes/rest/auth/resetPassword.js +38 -33
  98. package/dist/routes/rest/auth/resetPassword.js.map +1 -1
  99. package/dist/routes/rest/auth/unlock.js +27 -23
  100. package/dist/routes/rest/auth/unlock.js.map +1 -1
  101. package/dist/routes/rest/auth/verifyEmail.js +22 -17
  102. package/dist/routes/rest/auth/verifyEmail.js.map +1 -1
  103. package/dist/routes/rest/buildFormState.js +38 -37
  104. package/dist/routes/rest/buildFormState.js.map +1 -1
  105. package/dist/routes/rest/checkEndpoints.js +11 -9
  106. package/dist/routes/rest/checkEndpoints.js.map +1 -1
  107. package/dist/routes/rest/collections/count.js +15 -11
  108. package/dist/routes/rest/collections/count.js.map +1 -1
  109. package/dist/routes/rest/collections/create.js +30 -26
  110. package/dist/routes/rest/collections/create.js.map +1 -1
  111. package/dist/routes/rest/collections/delete.js +40 -35
  112. package/dist/routes/rest/collections/delete.js.map +1 -1
  113. package/dist/routes/rest/collections/deleteByID.js +36 -31
  114. package/dist/routes/rest/collections/deleteByID.js.map +1 -1
  115. package/dist/routes/rest/collections/docAccess.js +17 -14
  116. package/dist/routes/rest/collections/docAccess.js.map +1 -1
  117. package/dist/routes/rest/collections/duplicate.js +36 -31
  118. package/dist/routes/rest/collections/duplicate.js.map +1 -1
  119. package/dist/routes/rest/collections/find.js +29 -20
  120. package/dist/routes/rest/collections/find.js.map +1 -1
  121. package/dist/routes/rest/collections/findByID.js +28 -23
  122. package/dist/routes/rest/collections/findByID.js.map +1 -1
  123. package/dist/routes/rest/collections/findVersionByID.js +27 -22
  124. package/dist/routes/rest/collections/findVersionByID.js.map +1 -1
  125. package/dist/routes/rest/collections/findVersions.js +27 -19
  126. package/dist/routes/rest/collections/findVersions.js.map +1 -1
  127. package/dist/routes/rest/collections/preview.js +39 -34
  128. package/dist/routes/rest/collections/preview.js.map +1 -1
  129. package/dist/routes/rest/collections/restoreVersion.js +32 -27
  130. package/dist/routes/rest/collections/restoreVersion.js.map +1 -1
  131. package/dist/routes/rest/collections/update.js +43 -37
  132. package/dist/routes/rest/collections/update.js.map +1 -1
  133. package/dist/routes/rest/collections/updateByID.js +38 -33
  134. package/dist/routes/rest/collections/updateByID.js.map +1 -1
  135. package/dist/routes/rest/files/checkFileAccess.js +46 -44
  136. package/dist/routes/rest/files/checkFileAccess.js.map +1 -1
  137. package/dist/routes/rest/files/getFile.js +52 -49
  138. package/dist/routes/rest/files/getFile.js.map +1 -1
  139. package/dist/routes/rest/files/getFileTypeFallback.js +16 -17
  140. package/dist/routes/rest/files/getFileTypeFallback.js.map +1 -1
  141. package/dist/routes/rest/globals/docAccess.js +15 -13
  142. package/dist/routes/rest/globals/docAccess.js.map +1 -1
  143. package/dist/routes/rest/globals/findOne.js +22 -18
  144. package/dist/routes/rest/globals/findOne.js.map +1 -1
  145. package/dist/routes/rest/globals/findVersionByID.js +22 -17
  146. package/dist/routes/rest/globals/findVersionByID.js.map +1 -1
  147. package/dist/routes/rest/globals/findVersions.js +27 -19
  148. package/dist/routes/rest/globals/findVersions.js.map +1 -1
  149. package/dist/routes/rest/globals/preview.js +38 -34
  150. package/dist/routes/rest/globals/preview.js.map +1 -1
  151. package/dist/routes/rest/globals/restoreVersion.js +27 -22
  152. package/dist/routes/rest/globals/restoreVersion.js.map +1 -1
  153. package/dist/routes/rest/globals/update.js +32 -28
  154. package/dist/routes/rest/globals/update.js.map +1 -1
  155. package/dist/routes/rest/index.js +651 -626
  156. package/dist/routes/rest/index.js.map +1 -1
  157. package/dist/routes/rest/og/image.js +74 -76
  158. package/dist/routes/rest/og/image.js.map +1 -1
  159. package/dist/routes/rest/og/index.js +60 -59
  160. package/dist/routes/rest/og/index.js.map +1 -1
  161. package/dist/routes/rest/routeError.js +102 -95
  162. package/dist/routes/rest/routeError.js.map +1 -1
  163. package/dist/routes/rest/types.js +1 -2
  164. package/dist/routes/rest/types.js.map +1 -1
  165. package/dist/routes/rest/utilities/sanitizeCollectionID.js +14 -11
  166. package/dist/routes/rest/utilities/sanitizeCollectionID.js.map +1 -1
  167. package/dist/scss/app.scss +4 -4
  168. package/dist/scss/type.scss +4 -4
  169. package/dist/templates/Default/NavHamburger/index.js +18 -6
  170. package/dist/templates/Default/NavHamburger/index.js.map +1 -1
  171. package/dist/templates/Default/Wrapper/index.js +42 -13
  172. package/dist/templates/Default/Wrapper/index.js.map +1 -1
  173. package/dist/templates/Default/index.js +54 -47
  174. package/dist/templates/Default/index.js.map +1 -1
  175. package/dist/templates/Minimal/index.js +16 -16
  176. package/dist/templates/Minimal/index.js.map +1 -1
  177. package/dist/utilities/addDataAndFileToRequest.js +40 -35
  178. package/dist/utilities/addDataAndFileToRequest.js.map +1 -1
  179. package/dist/utilities/addLocalesToRequest.js +44 -36
  180. package/dist/utilities/addLocalesToRequest.js.map +1 -1
  181. package/dist/utilities/createPayloadRequest.js +85 -74
  182. package/dist/utilities/createPayloadRequest.js.map +1 -1
  183. package/dist/utilities/getNextRequestI18n.js +13 -11
  184. package/dist/utilities/getNextRequestI18n.js.map +1 -1
  185. package/dist/utilities/getPayloadHMR.d.ts +1 -1
  186. package/dist/utilities/getPayloadHMR.d.ts.map +1 -1
  187. package/dist/utilities/getPayloadHMR.js +91 -94
  188. package/dist/utilities/getPayloadHMR.js.map +1 -1
  189. package/dist/utilities/getRequestLanguage.js +16 -13
  190. package/dist/utilities/getRequestLanguage.js.map +1 -1
  191. package/dist/utilities/getRequestLocales.js +27 -24
  192. package/dist/utilities/getRequestLocales.js.map +1 -1
  193. package/dist/utilities/getRequestTheme.js +16 -16
  194. package/dist/utilities/getRequestTheme.js.map +1 -1
  195. package/dist/utilities/headersWithCors.js +21 -30
  196. package/dist/utilities/headersWithCors.js.map +1 -1
  197. package/dist/utilities/initPage/handleAdminPage.js +46 -42
  198. package/dist/utilities/initPage/handleAdminPage.js.map +1 -1
  199. package/dist/utilities/initPage/handleAuthRedirect.js +45 -32
  200. package/dist/utilities/initPage/handleAuthRedirect.js.map +1 -1
  201. package/dist/utilities/initPage/index.js +146 -120
  202. package/dist/utilities/initPage/index.js.map +1 -1
  203. package/dist/utilities/initPage/shared.js +26 -25
  204. package/dist/utilities/initPage/shared.js.map +1 -1
  205. package/dist/utilities/initPage/types.js +1 -2
  206. package/dist/utilities/initPage/types.js.map +1 -1
  207. package/dist/utilities/mergeHeaders.js +8 -9
  208. package/dist/utilities/mergeHeaders.js.map +1 -1
  209. package/dist/utilities/meta.js +66 -68
  210. package/dist/utilities/meta.js.map +1 -1
  211. package/dist/utilities/timestamp.js +4 -5
  212. package/dist/utilities/timestamp.js.map +1 -1
  213. package/dist/views/API/LocaleSelector/index.d.ts.map +1 -1
  214. package/dist/views/API/LocaleSelector/index.js +38 -11
  215. package/dist/views/API/LocaleSelector/index.js.map +1 -1
  216. package/dist/views/API/RenderJSON/index.js +124 -112
  217. package/dist/views/API/RenderJSON/index.js.map +1 -1
  218. package/dist/views/API/index.client.js +190 -202
  219. package/dist/views/API/index.client.js.map +1 -1
  220. package/dist/views/API/index.js +2 -3
  221. package/dist/views/API/index.js.map +1 -1
  222. package/dist/views/API/meta.js +22 -18
  223. package/dist/views/API/meta.js.map +1 -1
  224. package/dist/views/Account/Settings/LanguageSelector.js +45 -12
  225. package/dist/views/Account/Settings/LanguageSelector.js.map +1 -1
  226. package/dist/views/Account/Settings/index.js +21 -28
  227. package/dist/views/Account/Settings/index.js.map +1 -1
  228. package/dist/views/Account/ToggleTheme/index.js +51 -30
  229. package/dist/views/Account/ToggleTheme/index.js.map +1 -1
  230. package/dist/views/Account/index.client.js +32 -16
  231. package/dist/views/Account/index.client.js.map +1 -1
  232. package/dist/views/Account/index.js +99 -68
  233. package/dist/views/Account/index.js.map +1 -1
  234. package/dist/views/Account/meta.js +12 -8
  235. package/dist/views/Account/meta.js.map +1 -1
  236. package/dist/views/CreateFirstUser/index.client.js +95 -57
  237. package/dist/views/CreateFirstUser/index.client.js.map +1 -1
  238. package/dist/views/CreateFirstUser/index.js +42 -28
  239. package/dist/views/CreateFirstUser/index.js.map +1 -1
  240. package/dist/views/CreateFirstUser/meta.js +12 -8
  241. package/dist/views/CreateFirstUser/meta.js.map +1 -1
  242. package/dist/views/Dashboard/Default/index.js +132 -115
  243. package/dist/views/Dashboard/Default/index.js.map +1 -1
  244. package/dist/views/Dashboard/index.js +61 -52
  245. package/dist/views/Dashboard/index.js.map +1 -1
  246. package/dist/views/Dashboard/meta.js +16 -12
  247. package/dist/views/Dashboard/meta.js.map +1 -1
  248. package/dist/views/Document/getCustomViewByKey.js +2 -3
  249. package/dist/views/Document/getCustomViewByKey.js.map +1 -1
  250. package/dist/views/Document/getCustomViewByRoute.js +30 -27
  251. package/dist/views/Document/getCustomViewByRoute.js.map +1 -1
  252. package/dist/views/Document/getDocumentData.js +34 -28
  253. package/dist/views/Document/getDocumentData.js.map +1 -1
  254. package/dist/views/Document/getDocumentPermissions.js +83 -74
  255. package/dist/views/Document/getDocumentPermissions.js.map +1 -1
  256. package/dist/views/Document/getMetaBySegment.js +113 -107
  257. package/dist/views/Document/getMetaBySegment.js.map +1 -1
  258. package/dist/views/Document/getViewsFromConfig.js +309 -331
  259. package/dist/views/Document/getViewsFromConfig.js.map +1 -1
  260. package/dist/views/Document/index.d.ts.map +1 -1
  261. package/dist/views/Document/index.js +193 -159
  262. package/dist/views/Document/index.js.map +1 -1
  263. package/dist/views/Document/meta.js +1 -2
  264. package/dist/views/Document/meta.js.map +1 -1
  265. package/dist/views/Edit/Default/Auth/APIKey.js +118 -132
  266. package/dist/views/Edit/Default/Auth/APIKey.js.map +1 -1
  267. package/dist/views/Edit/Default/Auth/index.js +293 -196
  268. package/dist/views/Edit/Default/Auth/index.js.map +1 -1
  269. package/dist/views/Edit/Default/Auth/types.js +1 -2
  270. package/dist/views/Edit/Default/Auth/types.js.map +1 -1
  271. package/dist/views/Edit/Default/SetDocumentStepNav/index.js +121 -70
  272. package/dist/views/Edit/Default/SetDocumentStepNav/index.js.map +1 -1
  273. package/dist/views/Edit/Default/SetDocumentTitle/index.js +74 -29
  274. package/dist/views/Edit/Default/SetDocumentTitle/index.js.map +1 -1
  275. package/dist/views/Edit/Default/index.js +190 -187
  276. package/dist/views/Edit/Default/index.js.map +1 -1
  277. package/dist/views/Edit/Default/types.js +1 -2
  278. package/dist/views/Edit/Default/types.js.map +1 -1
  279. package/dist/views/Edit/index.client.js +45 -21
  280. package/dist/views/Edit/index.client.js.map +1 -1
  281. package/dist/views/Edit/index.js +2 -3
  282. package/dist/views/Edit/index.js.map +1 -1
  283. package/dist/views/Edit/meta.js +43 -35
  284. package/dist/views/Edit/meta.js.map +1 -1
  285. package/dist/views/Edit/sanitizeEditViewProps.js +8 -9
  286. package/dist/views/Edit/sanitizeEditViewProps.js.map +1 -1
  287. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +151 -94
  288. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -1
  289. package/dist/views/ForgotPassword/index.js +59 -46
  290. package/dist/views/ForgotPassword/index.js.map +1 -1
  291. package/dist/views/ForgotPassword/meta.js +12 -8
  292. package/dist/views/ForgotPassword/meta.js.map +1 -1
  293. package/dist/views/List/Default/index.js +348 -208
  294. package/dist/views/List/Default/index.js.map +1 -1
  295. package/dist/views/List/Default/types.js +1 -2
  296. package/dist/views/List/Default/types.js.map +1 -1
  297. package/dist/views/List/index.js +153 -137
  298. package/dist/views/List/index.js.map +1 -1
  299. package/dist/views/List/meta.js +20 -17
  300. package/dist/views/List/meta.js.map +1 -1
  301. package/dist/views/LivePreview/Context/collisionDetection.js +24 -21
  302. package/dist/views/LivePreview/Context/collisionDetection.js.map +1 -1
  303. package/dist/views/LivePreview/Context/context.d.ts +2 -1
  304. package/dist/views/LivePreview/Context/context.d.ts.map +1 -1
  305. package/dist/views/LivePreview/Context/context.js +39 -36
  306. package/dist/views/LivePreview/Context/context.js.map +1 -1
  307. package/dist/views/LivePreview/Context/index.js +134 -142
  308. package/dist/views/LivePreview/Context/index.js.map +1 -1
  309. package/dist/views/LivePreview/Context/sizeReducer.js +18 -19
  310. package/dist/views/LivePreview/Context/sizeReducer.js.map +1 -1
  311. package/dist/views/LivePreview/Device/index.d.ts.map +1 -1
  312. package/dist/views/LivePreview/Device/index.js +78 -71
  313. package/dist/views/LivePreview/Device/index.js.map +1 -1
  314. package/dist/views/LivePreview/DeviceContainer/index.js +47 -23
  315. package/dist/views/LivePreview/DeviceContainer/index.js.map +1 -1
  316. package/dist/views/LivePreview/IFrame/index.js +21 -16
  317. package/dist/views/LivePreview/IFrame/index.js.map +1 -1
  318. package/dist/views/LivePreview/Preview/index.js +145 -92
  319. package/dist/views/LivePreview/Preview/index.js.map +1 -1
  320. package/dist/views/LivePreview/Toolbar/Controls/index.js +136 -115
  321. package/dist/views/LivePreview/Toolbar/Controls/index.js.map +1 -1
  322. package/dist/views/LivePreview/Toolbar/SizeInput/index.js +89 -51
  323. package/dist/views/LivePreview/Toolbar/SizeInput/index.js.map +1 -1
  324. package/dist/views/LivePreview/Toolbar/index.js +82 -50
  325. package/dist/views/LivePreview/Toolbar/index.js.map +1 -1
  326. package/dist/views/LivePreview/ToolbarArea/index.js +32 -10
  327. package/dist/views/LivePreview/ToolbarArea/index.js.map +1 -1
  328. package/dist/views/LivePreview/index.client.js +316 -160
  329. package/dist/views/LivePreview/index.client.js.map +1 -1
  330. package/dist/views/LivePreview/index.js +67 -55
  331. package/dist/views/LivePreview/index.js.map +1 -1
  332. package/dist/views/LivePreview/meta.js +14 -9
  333. package/dist/views/LivePreview/meta.js.map +1 -1
  334. package/dist/views/LivePreview/usePopupWindow.js +91 -94
  335. package/dist/views/LivePreview/usePopupWindow.js.map +1 -1
  336. package/dist/views/Login/LoginField/index.js +83 -39
  337. package/dist/views/Login/LoginField/index.js.map +1 -1
  338. package/dist/views/Login/LoginForm/index.js +130 -66
  339. package/dist/views/Login/LoginForm/index.js.map +1 -1
  340. package/dist/views/Login/index.js +77 -54
  341. package/dist/views/Login/index.js.map +1 -1
  342. package/dist/views/Login/meta.js +12 -8
  343. package/dist/views/Login/meta.js.map +1 -1
  344. package/dist/views/Logout/LogoutClient.js +84 -39
  345. package/dist/views/Logout/LogoutClient.js.map +1 -1
  346. package/dist/views/Logout/index.js +29 -16
  347. package/dist/views/Logout/index.js.map +1 -1
  348. package/dist/views/Logout/meta.js +11 -7
  349. package/dist/views/Logout/meta.js.map +1 -1
  350. package/dist/views/NotFound/index.client.js +78 -40
  351. package/dist/views/NotFound/index.client.js.map +1 -1
  352. package/dist/views/NotFound/index.js +47 -37
  353. package/dist/views/NotFound/index.js.map +1 -1
  354. package/dist/views/NotFound/meta.js +9 -7
  355. package/dist/views/NotFound/meta.js.map +1 -1
  356. package/dist/views/ResetPassword/index.client.js +97 -59
  357. package/dist/views/ResetPassword/index.client.js.map +1 -1
  358. package/dist/views/ResetPassword/index.js +68 -53
  359. package/dist/views/ResetPassword/index.js.map +1 -1
  360. package/dist/views/ResetPassword/meta.js +12 -8
  361. package/dist/views/ResetPassword/meta.js.map +1 -1
  362. package/dist/views/Root/generateCustomViewMetadata.js +21 -19
  363. package/dist/views/Root/generateCustomViewMetadata.js.map +1 -1
  364. package/dist/views/Root/getCustomViewByRoute.js +42 -31
  365. package/dist/views/Root/getCustomViewByRoute.js.map +1 -1
  366. package/dist/views/Root/getViewFromConfig.js +162 -156
  367. package/dist/views/Root/getViewFromConfig.js.map +1 -1
  368. package/dist/views/Root/index.js +99 -82
  369. package/dist/views/Root/index.js.map +1 -1
  370. package/dist/views/Root/isPathMatchingRoute.js +18 -13
  371. package/dist/views/Root/isPathMatchingRoute.js.map +1 -1
  372. package/dist/views/Root/meta.js +141 -136
  373. package/dist/views/Root/meta.js.map +1 -1
  374. package/dist/views/Unauthorized/index.js +32 -22
  375. package/dist/views/Unauthorized/index.js.map +1 -1
  376. package/dist/views/Unauthorized/meta.js +12 -8
  377. package/dist/views/Unauthorized/meta.js.map +1 -1
  378. package/dist/views/Verify/index.js +58 -43
  379. package/dist/views/Verify/index.js.map +1 -1
  380. package/dist/views/Verify/meta.js +12 -8
  381. package/dist/views/Verify/meta.js.map +1 -1
  382. package/dist/views/Version/Default/SetStepNav.d.ts.map +1 -1
  383. package/dist/views/Version/Default/SetStepNav.js +147 -103
  384. package/dist/views/Version/Default/SetStepNav.js.map +1 -1
  385. package/dist/views/Version/Default/index.js +198 -114
  386. package/dist/views/Version/Default/index.js.map +1 -1
  387. package/dist/views/Version/Default/types.js +1 -2
  388. package/dist/views/Version/Default/types.js.map +1 -1
  389. package/dist/views/Version/RenderFieldsToDiff/Label/index.js +6 -5
  390. package/dist/views/Version/RenderFieldsToDiff/Label/index.js.map +1 -1
  391. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.d.ts.map +1 -1
  392. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +65 -69
  393. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
  394. package/dist/views/Version/RenderFieldsToDiff/fields/Nested/index.d.ts.map +1 -1
  395. package/dist/views/Version/RenderFieldsToDiff/fields/Nested/index.js +34 -31
  396. package/dist/views/Version/RenderFieldsToDiff/fields/Nested/index.js.map +1 -1
  397. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js +108 -78
  398. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js.map +1 -1
  399. package/dist/views/Version/RenderFieldsToDiff/fields/Select/DiffViewer/index.js +17 -11
  400. package/dist/views/Version/RenderFieldsToDiff/fields/Select/DiffViewer/index.js.map +1 -1
  401. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.d.ts.map +1 -1
  402. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js +40 -38
  403. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js.map +1 -1
  404. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.d.ts.map +1 -1
  405. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js +42 -32
  406. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js.map +1 -1
  407. package/dist/views/Version/RenderFieldsToDiff/fields/Text/DiffViewer/index.js +17 -11
  408. package/dist/views/Version/RenderFieldsToDiff/fields/Text/DiffViewer/index.js.map +1 -1
  409. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.d.ts.map +1 -1
  410. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js +34 -31
  411. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js.map +1 -1
  412. package/dist/views/Version/RenderFieldsToDiff/fields/diffMethods.js +4 -5
  413. package/dist/views/Version/RenderFieldsToDiff/fields/diffMethods.js.map +1 -1
  414. package/dist/views/Version/RenderFieldsToDiff/fields/index.js +20 -21
  415. package/dist/views/Version/RenderFieldsToDiff/fields/index.js.map +1 -1
  416. package/dist/views/Version/RenderFieldsToDiff/fields/styles.js +23 -24
  417. package/dist/views/Version/RenderFieldsToDiff/fields/styles.js.map +1 -1
  418. package/dist/views/Version/RenderFieldsToDiff/fields/types.js +1 -2
  419. package/dist/views/Version/RenderFieldsToDiff/fields/types.js.map +1 -1
  420. package/dist/views/Version/RenderFieldsToDiff/index.js +102 -97
  421. package/dist/views/Version/RenderFieldsToDiff/index.js.map +1 -1
  422. package/dist/views/Version/RenderFieldsToDiff/types.js +1 -2
  423. package/dist/views/Version/RenderFieldsToDiff/types.js.map +1 -1
  424. package/dist/views/Version/Restore/index.js +107 -110
  425. package/dist/views/Version/Restore/index.js.map +1 -1
  426. package/dist/views/Version/Restore/types.js +1 -2
  427. package/dist/views/Version/Restore/types.js.map +1 -1
  428. package/dist/views/Version/SelectComparison/index.js +130 -138
  429. package/dist/views/Version/SelectComparison/index.js.map +1 -1
  430. package/dist/views/Version/SelectComparison/types.js +1 -2
  431. package/dist/views/Version/SelectComparison/types.js.map +1 -1
  432. package/dist/views/Version/SelectLocales/index.js +58 -30
  433. package/dist/views/Version/SelectLocales/index.js.map +1 -1
  434. package/dist/views/Version/SelectLocales/types.js +1 -2
  435. package/dist/views/Version/SelectLocales/types.js.map +1 -1
  436. package/dist/views/Version/index.js +126 -105
  437. package/dist/views/Version/index.js.map +1 -1
  438. package/dist/views/Version/meta.js +49 -43
  439. package/dist/views/Version/meta.js.map +1 -1
  440. package/dist/views/Versions/buildColumns.js +87 -82
  441. package/dist/views/Versions/buildColumns.js.map +1 -1
  442. package/dist/views/Versions/cells/AutosaveCell/index.js +69 -42
  443. package/dist/views/Versions/cells/AutosaveCell/index.js.map +1 -1
  444. package/dist/views/Versions/cells/CreatedAt/index.js +70 -17
  445. package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
  446. package/dist/views/Versions/cells/ID/index.js +17 -5
  447. package/dist/views/Versions/cells/ID/index.js.map +1 -1
  448. package/dist/views/Versions/getLatestVersion.js +33 -29
  449. package/dist/views/Versions/getLatestVersion.js.map +1 -1
  450. package/dist/views/Versions/index.client.js +80 -77
  451. package/dist/views/Versions/index.client.js.map +1 -1
  452. package/dist/views/Versions/index.js +148 -127
  453. package/dist/views/Versions/index.js.map +1 -1
  454. package/dist/views/Versions/meta.js +43 -37
  455. package/dist/views/Versions/meta.js.map +1 -1
  456. package/dist/views/Versions/types.js +1 -2
  457. package/dist/views/Versions/types.js.map +1 -1
  458. package/dist/withPayload.js +83 -117
  459. package/dist/withPayload.js.map +1 -1
  460. package/package.json +20 -10
  461. package/dist/cjs/withPayload.cjs +0 -145
  462. package/dist/cjs/withPayload.cjs.map +0 -1
@@ -3,46 +3,52 @@ import httpStatus from 'http-status';
3
3
  import { updateOperation } from 'payload';
4
4
  import { isNumber } from 'payload/shared';
5
5
  import { headersWithCors } from '../../../utilities/headersWithCors.js';
6
- export const update = async ({ collection, req })=>{
7
- const { depth, draft, where } = req.query;
8
- const result = await updateOperation({
9
- collection,
10
- data: req.data,
11
- depth: isNumber(depth) ? Number(depth) : undefined,
12
- draft: draft === 'true',
13
- req,
14
- where
15
- });
16
- const headers = headersWithCors({
17
- headers: new Headers(),
18
- req
19
- });
20
- if (result.errors.length === 0) {
21
- const message = req.t('general:updatedCountSuccessfully', {
22
- count: result.docs.length,
23
- label: getTranslation(collection.config.labels[result.docs.length > 1 ? 'plural' : 'singular'], req.i18n)
24
- });
25
- return Response.json({
26
- ...result,
27
- message
28
- }, {
29
- headers,
30
- status: httpStatus.OK
31
- });
32
- }
33
- const total = result.docs.length + result.errors.length;
34
- const message = req.t('error:unableToUpdateCount', {
35
- count: result.errors.length,
36
- label: getTranslation(collection.config.labels[total > 1 ? 'plural' : 'singular'], req.i18n),
37
- total
6
+ export const update = async ({
7
+ collection,
8
+ req
9
+ }) => {
10
+ const {
11
+ depth,
12
+ draft,
13
+ where
14
+ } = req.query;
15
+ const result = await updateOperation({
16
+ collection,
17
+ data: req.data,
18
+ depth: isNumber(depth) ? Number(depth) : undefined,
19
+ draft: draft === 'true',
20
+ req,
21
+ where
22
+ });
23
+ const headers = headersWithCors({
24
+ headers: new Headers(),
25
+ req
26
+ });
27
+ if (result.errors.length === 0) {
28
+ const message = req.t('general:updatedCountSuccessfully', {
29
+ count: result.docs.length,
30
+ label: getTranslation(collection.config.labels[result.docs.length > 1 ? 'plural' : 'singular'], req.i18n)
38
31
  });
39
32
  return Response.json({
40
- ...result,
41
- message
33
+ ...result,
34
+ message
42
35
  }, {
43
- headers,
44
- status: httpStatus.BAD_REQUEST
36
+ headers,
37
+ status: httpStatus.OK
45
38
  });
39
+ }
40
+ const total = result.docs.length + result.errors.length;
41
+ const message = req.t('error:unableToUpdateCount', {
42
+ count: result.errors.length,
43
+ label: getTranslation(collection.config.labels[total > 1 ? 'plural' : 'singular'], req.i18n),
44
+ total
45
+ });
46
+ return Response.json({
47
+ ...result,
48
+ message
49
+ }, {
50
+ headers,
51
+ status: httpStatus.BAD_REQUEST
52
+ });
46
53
  };
47
-
48
54
  //# sourceMappingURL=update.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/routes/rest/collections/update.ts"],"sourcesContent":["import type { Where } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport httpStatus from 'http-status'\nimport { updateOperation } from 'payload'\nimport { isNumber } from 'payload/shared'\n\nimport type { CollectionRouteHandler } from '../types.js'\n\nimport { headersWithCors } from '../../../utilities/headersWithCors.js'\n\nexport const update: CollectionRouteHandler = async ({ collection, req }) => {\n const { depth, draft, where } = req.query as {\n depth?: string\n draft?: string\n where?: Where\n }\n\n const result = await updateOperation({\n collection,\n data: req.data,\n depth: isNumber(depth) ? Number(depth) : undefined,\n draft: draft === 'true',\n req,\n where,\n })\n\n const headers = headersWithCors({\n headers: new Headers(),\n req,\n })\n\n if (result.errors.length === 0) {\n const message = req.t('general:updatedCountSuccessfully', {\n count: result.docs.length,\n label: getTranslation(\n collection.config.labels[result.docs.length > 1 ? 'plural' : 'singular'],\n req.i18n,\n ),\n })\n\n return Response.json(\n {\n ...result,\n message,\n },\n {\n headers,\n status: httpStatus.OK,\n },\n )\n }\n\n const total = result.docs.length + result.errors.length\n const message = req.t('error:unableToUpdateCount', {\n count: result.errors.length,\n label: getTranslation(collection.config.labels[total > 1 ? 'plural' : 'singular'], req.i18n),\n total,\n })\n\n return Response.json(\n {\n ...result,\n message,\n },\n {\n headers,\n status: httpStatus.BAD_REQUEST,\n },\n )\n}\n"],"names":["getTranslation","httpStatus","updateOperation","isNumber","headersWithCors","update","collection","req","depth","draft","where","query","result","data","Number","undefined","headers","Headers","errors","length","message","t","count","docs","label","config","labels","i18n","Response","json","status","OK","total","BAD_REQUEST"],"mappings":"AAEA,SAASA,cAAc,QAAQ,2BAA0B;AACzD,OAAOC,gBAAgB,cAAa;AACpC,SAASC,eAAe,QAAQ,UAAS;AACzC,SAASC,QAAQ,QAAQ,iBAAgB;AAIzC,SAASC,eAAe,QAAQ,wCAAuC;AAEvE,OAAO,MAAMC,SAAiC,OAAO,EAAEC,UAAU,EAAEC,GAAG,EAAE;IACtE,MAAM,EAAEC,KAAK,EAAEC,KAAK,EAAEC,KAAK,EAAE,GAAGH,IAAII,KAAK;IAMzC,MAAMC,SAAS,MAAMV,gBAAgB;QACnCI;QACAO,MAAMN,IAAIM,IAAI;QACdL,OAAOL,SAASK,SAASM,OAAON,SAASO;QACzCN,OAAOA,UAAU;QACjBF;QACAG;IACF;IAEA,MAAMM,UAAUZ,gBAAgB;QAC9BY,SAAS,IAAIC;QACbV;IACF;IAEA,IAAIK,OAAOM,MAAM,CAACC,MAAM,KAAK,GAAG;QAC9B,MAAMC,UAAUb,IAAIc,CAAC,CAAC,oCAAoC;YACxDC,OAAOV,OAAOW,IAAI,CAACJ,MAAM;YACzBK,OAAOxB,eACLM,WAAWmB,MAAM,CAACC,MAAM,CAACd,OAAOW,IAAI,CAACJ,MAAM,GAAG,IAAI,WAAW,WAAW,EACxEZ,IAAIoB,IAAI;QAEZ;QAEA,OAAOC,SAASC,IAAI,CAClB;YACE,GAAGjB,MAAM;YACTQ;QACF,GACA;YACEJ;YACAc,QAAQ7B,WAAW8B,EAAE;QACvB;IAEJ;IAEA,MAAMC,QAAQpB,OAAOW,IAAI,CAACJ,MAAM,GAAGP,OAAOM,MAAM,CAACC,MAAM;IACvD,MAAMC,UAAUb,IAAIc,CAAC,CAAC,6BAA6B;QACjDC,OAAOV,OAAOM,MAAM,CAACC,MAAM;QAC3BK,OAAOxB,eAAeM,WAAWmB,MAAM,CAACC,MAAM,CAACM,QAAQ,IAAI,WAAW,WAAW,EAAEzB,IAAIoB,IAAI;QAC3FK;IACF;IAEA,OAAOJ,SAASC,IAAI,CAClB;QACE,GAAGjB,MAAM;QACTQ;IACF,GACA;QACEJ;QACAc,QAAQ7B,WAAWgC,WAAW;IAChC;AAEJ,EAAC"}
1
+ {"version":3,"file":"update.js","names":["getTranslation","httpStatus","updateOperation","isNumber","headersWithCors","update","collection","req","depth","draft","where","query","result","data","Number","undefined","headers","Headers","errors","length","message","t","count","docs","label","config","labels","i18n","Response","json","status","OK","total","BAD_REQUEST"],"sources":["../../../../src/routes/rest/collections/update.ts"],"sourcesContent":["import type { Where } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport httpStatus from 'http-status'\nimport { updateOperation } from 'payload'\nimport { isNumber } from 'payload/shared'\n\nimport type { CollectionRouteHandler } from '../types.js'\n\nimport { headersWithCors } from '../../../utilities/headersWithCors.js'\n\nexport const update: CollectionRouteHandler = async ({ collection, req }) => {\n const { depth, draft, where } = req.query as {\n depth?: string\n draft?: string\n where?: Where\n }\n\n const result = await updateOperation({\n collection,\n data: req.data,\n depth: isNumber(depth) ? Number(depth) : undefined,\n draft: draft === 'true',\n req,\n where,\n })\n\n const headers = headersWithCors({\n headers: new Headers(),\n req,\n })\n\n if (result.errors.length === 0) {\n const message = req.t('general:updatedCountSuccessfully', {\n count: result.docs.length,\n label: getTranslation(\n collection.config.labels[result.docs.length > 1 ? 'plural' : 'singular'],\n req.i18n,\n ),\n })\n\n return Response.json(\n {\n ...result,\n message,\n },\n {\n headers,\n status: httpStatus.OK,\n },\n )\n }\n\n const total = result.docs.length + result.errors.length\n const message = req.t('error:unableToUpdateCount', {\n count: result.errors.length,\n label: getTranslation(collection.config.labels[total > 1 ? 'plural' : 'singular'], req.i18n),\n total,\n })\n\n return Response.json(\n {\n ...result,\n message,\n },\n {\n headers,\n status: httpStatus.BAD_REQUEST,\n },\n )\n}\n"],"mappings":"AAEA,SAASA,cAAc,QAAQ;AAC/B,OAAOC,UAAA,MAAgB;AACvB,SAASC,eAAe,QAAQ;AAChC,SAASC,QAAQ,QAAQ;AAIzB,SAASC,eAAe,QAAQ;AAEhC,OAAO,MAAMC,MAAA,GAAiC,MAAAA,CAAO;EAAEC,UAAU;EAAEC;AAAG,CAAE;EACtE,MAAM;IAAEC,KAAK;IAAEC,KAAK;IAAEC;EAAK,CAAE,GAAGH,GAAA,CAAII,KAAK;EAMzC,MAAMC,MAAA,GAAS,MAAMV,eAAA,CAAgB;IACnCI,UAAA;IACAO,IAAA,EAAMN,GAAA,CAAIM,IAAI;IACdL,KAAA,EAAOL,QAAA,CAASK,KAAA,IAASM,MAAA,CAAON,KAAA,IAASO,SAAA;IACzCN,KAAA,EAAOA,KAAA,KAAU;IACjBF,GAAA;IACAG;EACF;EAEA,MAAMM,OAAA,GAAUZ,eAAA,CAAgB;IAC9BY,OAAA,EAAS,IAAIC,OAAA;IACbV;EACF;EAEA,IAAIK,MAAA,CAAOM,MAAM,CAACC,MAAM,KAAK,GAAG;IAC9B,MAAMC,OAAA,GAAUb,GAAA,CAAIc,CAAC,CAAC,oCAAoC;MACxDC,KAAA,EAAOV,MAAA,CAAOW,IAAI,CAACJ,MAAM;MACzBK,KAAA,EAAOxB,cAAA,CACLM,UAAA,CAAWmB,MAAM,CAACC,MAAM,CAACd,MAAA,CAAOW,IAAI,CAACJ,MAAM,GAAG,IAAI,WAAW,WAAW,EACxEZ,GAAA,CAAIoB,IAAI;IAEZ;IAEA,OAAOC,QAAA,CAASC,IAAI,CAClB;MACE,GAAGjB,MAAM;MACTQ;IACF,GACA;MACEJ,OAAA;MACAc,MAAA,EAAQ7B,UAAA,CAAW8B;IACrB;EAEJ;EAEA,MAAMC,KAAA,GAAQpB,MAAA,CAAOW,IAAI,CAACJ,MAAM,GAAGP,MAAA,CAAOM,MAAM,CAACC,MAAM;EACvD,MAAMC,OAAA,GAAUb,GAAA,CAAIc,CAAC,CAAC,6BAA6B;IACjDC,KAAA,EAAOV,MAAA,CAAOM,MAAM,CAACC,MAAM;IAC3BK,KAAA,EAAOxB,cAAA,CAAeM,UAAA,CAAWmB,MAAM,CAACC,MAAM,CAACM,KAAA,GAAQ,IAAI,WAAW,WAAW,EAAEzB,GAAA,CAAIoB,IAAI;IAC3FK;EACF;EAEA,OAAOJ,QAAA,CAASC,IAAI,CAClB;IACE,GAAGjB,MAAM;IACTQ;EACF,GACA;IACEJ,OAAA;IACAc,MAAA,EAAQ7B,UAAA,CAAWgC;EACrB;AAEJ","ignoreList":[]}
@@ -3,38 +3,43 @@ import { updateByIDOperation } from 'payload';
3
3
  import { isNumber } from 'payload/shared';
4
4
  import { headersWithCors } from '../../../utilities/headersWithCors.js';
5
5
  import { sanitizeCollectionID } from '../utilities/sanitizeCollectionID.js';
6
- export const updateByID = async ({ id: incomingID, collection, req })=>{
7
- const { searchParams } = req;
8
- const depth = searchParams.get('depth');
9
- const autosave = searchParams.get('autosave') === 'true';
10
- const draft = searchParams.get('draft') === 'true';
11
- const id = sanitizeCollectionID({
12
- id: incomingID,
13
- collectionSlug: collection.config.slug,
14
- payload: req.payload
15
- });
16
- const doc = await updateByIDOperation({
17
- id,
18
- autosave,
19
- collection,
20
- data: req.data,
21
- depth: isNumber(depth) ? Number(depth) : undefined,
22
- draft,
23
- req
24
- });
25
- let message = req.t('general:updatedSuccessfully');
26
- if (draft) message = req.t('version:draftSavedSuccessfully');
27
- if (autosave) message = req.t('version:autosavedSuccessfully');
28
- return Response.json({
29
- doc,
30
- message
31
- }, {
32
- headers: headersWithCors({
33
- headers: new Headers(),
34
- req
35
- }),
36
- status: httpStatus.OK
37
- });
6
+ export const updateByID = async ({
7
+ id: incomingID,
8
+ collection,
9
+ req
10
+ }) => {
11
+ const {
12
+ searchParams
13
+ } = req;
14
+ const depth = searchParams.get('depth');
15
+ const autosave = searchParams.get('autosave') === 'true';
16
+ const draft = searchParams.get('draft') === 'true';
17
+ const id = sanitizeCollectionID({
18
+ id: incomingID,
19
+ collectionSlug: collection.config.slug,
20
+ payload: req.payload
21
+ });
22
+ const doc = await updateByIDOperation({
23
+ id,
24
+ autosave,
25
+ collection,
26
+ data: req.data,
27
+ depth: isNumber(depth) ? Number(depth) : undefined,
28
+ draft,
29
+ req
30
+ });
31
+ let message = req.t('general:updatedSuccessfully');
32
+ if (draft) message = req.t('version:draftSavedSuccessfully');
33
+ if (autosave) message = req.t('version:autosavedSuccessfully');
34
+ return Response.json({
35
+ doc,
36
+ message
37
+ }, {
38
+ headers: headersWithCors({
39
+ headers: new Headers(),
40
+ req
41
+ }),
42
+ status: httpStatus.OK
43
+ });
38
44
  };
39
-
40
45
  //# sourceMappingURL=updateByID.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/routes/rest/collections/updateByID.ts"],"sourcesContent":["import httpStatus from 'http-status'\nimport { updateByIDOperation } from 'payload'\nimport { isNumber } from 'payload/shared'\n\nimport type { CollectionRouteHandlerWithID } from '../types.js'\n\nimport { headersWithCors } from '../../../utilities/headersWithCors.js'\nimport { sanitizeCollectionID } from '../utilities/sanitizeCollectionID.js'\n\nexport const updateByID: CollectionRouteHandlerWithID = async ({\n id: incomingID,\n collection,\n req,\n}) => {\n const { searchParams } = req\n const depth = searchParams.get('depth')\n const autosave = searchParams.get('autosave') === 'true'\n const draft = searchParams.get('draft') === 'true'\n\n const id = sanitizeCollectionID({\n id: incomingID,\n collectionSlug: collection.config.slug,\n payload: req.payload,\n })\n\n const doc = await updateByIDOperation({\n id,\n autosave,\n collection,\n data: req.data,\n depth: isNumber(depth) ? Number(depth) : undefined,\n draft,\n req,\n })\n\n let message = req.t('general:updatedSuccessfully')\n\n if (draft) message = req.t('version:draftSavedSuccessfully')\n if (autosave) message = req.t('version:autosavedSuccessfully')\n\n return Response.json(\n {\n doc,\n message,\n },\n {\n headers: headersWithCors({\n headers: new Headers(),\n req,\n }),\n status: httpStatus.OK,\n },\n )\n}\n"],"names":["httpStatus","updateByIDOperation","isNumber","headersWithCors","sanitizeCollectionID","updateByID","id","incomingID","collection","req","searchParams","depth","get","autosave","draft","collectionSlug","config","slug","payload","doc","data","Number","undefined","message","t","Response","json","headers","Headers","status","OK"],"mappings":"AAAA,OAAOA,gBAAgB,cAAa;AACpC,SAASC,mBAAmB,QAAQ,UAAS;AAC7C,SAASC,QAAQ,QAAQ,iBAAgB;AAIzC,SAASC,eAAe,QAAQ,wCAAuC;AACvE,SAASC,oBAAoB,QAAQ,uCAAsC;AAE3E,OAAO,MAAMC,aAA2C,OAAO,EAC7DC,IAAIC,UAAU,EACdC,UAAU,EACVC,GAAG,EACJ;IACC,MAAM,EAAEC,YAAY,EAAE,GAAGD;IACzB,MAAME,QAAQD,aAAaE,GAAG,CAAC;IAC/B,MAAMC,WAAWH,aAAaE,GAAG,CAAC,gBAAgB;IAClD,MAAME,QAAQJ,aAAaE,GAAG,CAAC,aAAa;IAE5C,MAAMN,KAAKF,qBAAqB;QAC9BE,IAAIC;QACJQ,gBAAgBP,WAAWQ,MAAM,CAACC,IAAI;QACtCC,SAAST,IAAIS,OAAO;IACtB;IAEA,MAAMC,MAAM,MAAMlB,oBAAoB;QACpCK;QACAO;QACAL;QACAY,MAAMX,IAAIW,IAAI;QACdT,OAAOT,SAASS,SAASU,OAAOV,SAASW;QACzCR;QACAL;IACF;IAEA,IAAIc,UAAUd,IAAIe,CAAC,CAAC;IAEpB,IAAIV,OAAOS,UAAUd,IAAIe,CAAC,CAAC;IAC3B,IAAIX,UAAUU,UAAUd,IAAIe,CAAC,CAAC;IAE9B,OAAOC,SAASC,IAAI,CAClB;QACEP;QACAI;IACF,GACA;QACEI,SAASxB,gBAAgB;YACvBwB,SAAS,IAAIC;YACbnB;QACF;QACAoB,QAAQ7B,WAAW8B,EAAE;IACvB;AAEJ,EAAC"}
1
+ {"version":3,"file":"updateByID.js","names":["httpStatus","updateByIDOperation","isNumber","headersWithCors","sanitizeCollectionID","updateByID","id","incomingID","collection","req","searchParams","depth","get","autosave","draft","collectionSlug","config","slug","payload","doc","data","Number","undefined","message","t","Response","json","headers","Headers","status","OK"],"sources":["../../../../src/routes/rest/collections/updateByID.ts"],"sourcesContent":["import httpStatus from 'http-status'\nimport { updateByIDOperation } from 'payload'\nimport { isNumber } from 'payload/shared'\n\nimport type { CollectionRouteHandlerWithID } from '../types.js'\n\nimport { headersWithCors } from '../../../utilities/headersWithCors.js'\nimport { sanitizeCollectionID } from '../utilities/sanitizeCollectionID.js'\n\nexport const updateByID: CollectionRouteHandlerWithID = async ({\n id: incomingID,\n collection,\n req,\n}) => {\n const { searchParams } = req\n const depth = searchParams.get('depth')\n const autosave = searchParams.get('autosave') === 'true'\n const draft = searchParams.get('draft') === 'true'\n\n const id = sanitizeCollectionID({\n id: incomingID,\n collectionSlug: collection.config.slug,\n payload: req.payload,\n })\n\n const doc = await updateByIDOperation({\n id,\n autosave,\n collection,\n data: req.data,\n depth: isNumber(depth) ? Number(depth) : undefined,\n draft,\n req,\n })\n\n let message = req.t('general:updatedSuccessfully')\n\n if (draft) message = req.t('version:draftSavedSuccessfully')\n if (autosave) message = req.t('version:autosavedSuccessfully')\n\n return Response.json(\n {\n doc,\n message,\n },\n {\n headers: headersWithCors({\n headers: new Headers(),\n req,\n }),\n status: httpStatus.OK,\n },\n )\n}\n"],"mappings":"AAAA,OAAOA,UAAA,MAAgB;AACvB,SAASC,mBAAmB,QAAQ;AACpC,SAASC,QAAQ,QAAQ;AAIzB,SAASC,eAAe,QAAQ;AAChC,SAASC,oBAAoB,QAAQ;AAErC,OAAO,MAAMC,UAAA,GAA2C,MAAAA,CAAO;EAC7DC,EAAA,EAAIC,UAAU;EACdC,UAAU;EACVC;AAAG,CACJ;EACC,MAAM;IAAEC;EAAY,CAAE,GAAGD,GAAA;EACzB,MAAME,KAAA,GAAQD,YAAA,CAAaE,GAAG,CAAC;EAC/B,MAAMC,QAAA,GAAWH,YAAA,CAAaE,GAAG,CAAC,gBAAgB;EAClD,MAAME,KAAA,GAAQJ,YAAA,CAAaE,GAAG,CAAC,aAAa;EAE5C,MAAMN,EAAA,GAAKF,oBAAA,CAAqB;IAC9BE,EAAA,EAAIC,UAAA;IACJQ,cAAA,EAAgBP,UAAA,CAAWQ,MAAM,CAACC,IAAI;IACtCC,OAAA,EAAST,GAAA,CAAIS;EACf;EAEA,MAAMC,GAAA,GAAM,MAAMlB,mBAAA,CAAoB;IACpCK,EAAA;IACAO,QAAA;IACAL,UAAA;IACAY,IAAA,EAAMX,GAAA,CAAIW,IAAI;IACdT,KAAA,EAAOT,QAAA,CAASS,KAAA,IAASU,MAAA,CAAOV,KAAA,IAASW,SAAA;IACzCR,KAAA;IACAL;EACF;EAEA,IAAIc,OAAA,GAAUd,GAAA,CAAIe,CAAC,CAAC;EAEpB,IAAIV,KAAA,EAAOS,OAAA,GAAUd,GAAA,CAAIe,CAAC,CAAC;EAC3B,IAAIX,QAAA,EAAUU,OAAA,GAAUd,GAAA,CAAIe,CAAC,CAAC;EAE9B,OAAOC,QAAA,CAASC,IAAI,CAClB;IACEP,GAAA;IACAI;EACF,GACA;IACEI,OAAA,EAASxB,eAAA,CAAgB;MACvBwB,OAAA,EAAS,IAAIC,OAAA;MACbnB;IACF;IACAoB,MAAA,EAAQ7B,UAAA,CAAW8B;EACrB;AAEJ","ignoreList":[]}
@@ -1,50 +1,52 @@
1
1
  import { Forbidden, executeAccess } from 'payload';
2
2
  import { endpointsAreDisabled } from '../checkEndpoints.js';
3
- export async function checkFileAccess({ collection, filename, req }) {
4
- const { config } = collection;
5
- const disableEndpoints = endpointsAreDisabled({
6
- endpoints: config.endpoints,
7
- request: req
8
- });
9
- if (disableEndpoints) return disableEndpoints;
10
- const accessResult = await executeAccess({
11
- isReadingStaticFile: true,
12
- req
13
- }, config.access.read);
14
- if (typeof accessResult === 'object') {
15
- const queryToBuild = {
16
- and: [
17
- {
18
- or: [
19
- {
20
- filename: {
21
- equals: filename
22
- }
23
- }
24
- ]
25
- },
26
- accessResult
27
- ]
28
- };
29
- if (config.upload.imageSizes) {
30
- config.upload.imageSizes.forEach(({ name })=>{
31
- queryToBuild.and[0].or.push({
32
- [`sizes.${name}.filename`]: {
33
- equals: filename
34
- }
35
- });
36
- });
37
- }
38
- const doc = await req.payload.db.findOne({
39
- collection: config.slug,
40
- req,
41
- where: queryToBuild
3
+ export async function checkFileAccess({
4
+ collection,
5
+ filename,
6
+ req
7
+ }) {
8
+ const {
9
+ config
10
+ } = collection;
11
+ const disableEndpoints = endpointsAreDisabled({
12
+ endpoints: config.endpoints,
13
+ request: req
14
+ });
15
+ if (disableEndpoints) return disableEndpoints;
16
+ const accessResult = await executeAccess({
17
+ isReadingStaticFile: true,
18
+ req
19
+ }, config.access.read);
20
+ if (typeof accessResult === 'object') {
21
+ const queryToBuild = {
22
+ and: [{
23
+ or: [{
24
+ filename: {
25
+ equals: filename
26
+ }
27
+ }]
28
+ }, accessResult]
29
+ };
30
+ if (config.upload.imageSizes) {
31
+ config.upload.imageSizes.forEach(({
32
+ name
33
+ }) => {
34
+ queryToBuild.and[0].or.push({
35
+ [`sizes.${name}.filename`]: {
36
+ equals: filename
37
+ }
42
38
  });
43
- if (!doc) {
44
- throw new Forbidden(req.t);
45
- }
46
- return doc;
39
+ });
40
+ }
41
+ const doc = await req.payload.db.findOne({
42
+ collection: config.slug,
43
+ req,
44
+ where: queryToBuild
45
+ });
46
+ if (!doc) {
47
+ throw new Forbidden(req.t);
47
48
  }
49
+ return doc;
50
+ }
48
51
  }
49
-
50
52
  //# sourceMappingURL=checkFileAccess.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/routes/rest/files/checkFileAccess.ts"],"sourcesContent":["import type { Collection, PayloadRequest, TypeWithID, Where } from 'payload'\n\nimport { Forbidden, executeAccess } from 'payload'\n\nimport { endpointsAreDisabled } from '../checkEndpoints.js'\n\nexport async function checkFileAccess({\n collection,\n filename,\n req,\n}: {\n collection: Collection\n filename: string\n req: PayloadRequest\n}): Promise<Response | TypeWithID> {\n const { config } = collection\n const disableEndpoints = endpointsAreDisabled({ endpoints: config.endpoints, request: req })\n if (disableEndpoints) return disableEndpoints\n\n const accessResult = await executeAccess({ isReadingStaticFile: true, req }, config.access.read)\n\n if (typeof accessResult === 'object') {\n const queryToBuild: Where = {\n and: [\n {\n or: [\n {\n filename: {\n equals: filename,\n },\n },\n ],\n },\n accessResult,\n ],\n }\n\n if (config.upload.imageSizes) {\n config.upload.imageSizes.forEach(({ name }) => {\n queryToBuild.and[0].or.push({\n [`sizes.${name}.filename`]: {\n equals: filename,\n },\n })\n })\n }\n\n const doc = await req.payload.db.findOne({\n collection: config.slug,\n req,\n where: queryToBuild,\n })\n\n if (!doc) {\n throw new Forbidden(req.t)\n }\n\n return doc\n }\n}\n"],"names":["Forbidden","executeAccess","endpointsAreDisabled","checkFileAccess","collection","filename","req","config","disableEndpoints","endpoints","request","accessResult","isReadingStaticFile","access","read","queryToBuild","and","or","equals","upload","imageSizes","forEach","name","push","doc","payload","db","findOne","slug","where","t"],"mappings":"AAEA,SAASA,SAAS,EAAEC,aAAa,QAAQ,UAAS;AAElD,SAASC,oBAAoB,QAAQ,uBAAsB;AAE3D,OAAO,eAAeC,gBAAgB,EACpCC,UAAU,EACVC,QAAQ,EACRC,GAAG,EAKJ;IACC,MAAM,EAAEC,MAAM,EAAE,GAAGH;IACnB,MAAMI,mBAAmBN,qBAAqB;QAAEO,WAAWF,OAAOE,SAAS;QAAEC,SAASJ;IAAI;IAC1F,IAAIE,kBAAkB,OAAOA;IAE7B,MAAMG,eAAe,MAAMV,cAAc;QAAEW,qBAAqB;QAAMN;IAAI,GAAGC,OAAOM,MAAM,CAACC,IAAI;IAE/F,IAAI,OAAOH,iBAAiB,UAAU;QACpC,MAAMI,eAAsB;YAC1BC,KAAK;gBACH;oBACEC,IAAI;wBACF;4BACEZ,UAAU;gCACRa,QAAQb;4BACV;wBACF;qBACD;gBACH;gBACAM;aACD;QACH;QAEA,IAAIJ,OAAOY,MAAM,CAACC,UAAU,EAAE;YAC5Bb,OAAOY,MAAM,CAACC,UAAU,CAACC,OAAO,CAAC,CAAC,EAAEC,IAAI,EAAE;gBACxCP,aAAaC,GAAG,CAAC,EAAE,CAACC,EAAE,CAACM,IAAI,CAAC;oBAC1B,CAAC,CAAC,MAAM,EAAED,KAAK,SAAS,CAAC,CAAC,EAAE;wBAC1BJ,QAAQb;oBACV;gBACF;YACF;QACF;QAEA,MAAMmB,MAAM,MAAMlB,IAAImB,OAAO,CAACC,EAAE,CAACC,OAAO,CAAC;YACvCvB,YAAYG,OAAOqB,IAAI;YACvBtB;YACAuB,OAAOd;QACT;QAEA,IAAI,CAACS,KAAK;YACR,MAAM,IAAIxB,UAAUM,IAAIwB,CAAC;QAC3B;QAEA,OAAON;IACT;AACF"}
1
+ {"version":3,"file":"checkFileAccess.js","names":["Forbidden","executeAccess","endpointsAreDisabled","checkFileAccess","collection","filename","req","config","disableEndpoints","endpoints","request","accessResult","isReadingStaticFile","access","read","queryToBuild","and","or","equals","upload","imageSizes","forEach","name","push","doc","payload","db","findOne","slug","where","t"],"sources":["../../../../src/routes/rest/files/checkFileAccess.ts"],"sourcesContent":["import type { Collection, PayloadRequest, TypeWithID, Where } from 'payload'\n\nimport { Forbidden, executeAccess } from 'payload'\n\nimport { endpointsAreDisabled } from '../checkEndpoints.js'\n\nexport async function checkFileAccess({\n collection,\n filename,\n req,\n}: {\n collection: Collection\n filename: string\n req: PayloadRequest\n}): Promise<Response | TypeWithID> {\n const { config } = collection\n const disableEndpoints = endpointsAreDisabled({ endpoints: config.endpoints, request: req })\n if (disableEndpoints) return disableEndpoints\n\n const accessResult = await executeAccess({ isReadingStaticFile: true, req }, config.access.read)\n\n if (typeof accessResult === 'object') {\n const queryToBuild: Where = {\n and: [\n {\n or: [\n {\n filename: {\n equals: filename,\n },\n },\n ],\n },\n accessResult,\n ],\n }\n\n if (config.upload.imageSizes) {\n config.upload.imageSizes.forEach(({ name }) => {\n queryToBuild.and[0].or.push({\n [`sizes.${name}.filename`]: {\n equals: filename,\n },\n })\n })\n }\n\n const doc = await req.payload.db.findOne({\n collection: config.slug,\n req,\n where: queryToBuild,\n })\n\n if (!doc) {\n throw new Forbidden(req.t)\n }\n\n return doc\n }\n}\n"],"mappings":"AAEA,SAASA,SAAS,EAAEC,aAAa,QAAQ;AAEzC,SAASC,oBAAoB,QAAQ;AAErC,OAAO,eAAeC,gBAAgB;EACpCC,UAAU;EACVC,QAAQ;EACRC;AAAG,CAKJ;EACC,MAAM;IAAEC;EAAM,CAAE,GAAGH,UAAA;EACnB,MAAMI,gBAAA,GAAmBN,oBAAA,CAAqB;IAAEO,SAAA,EAAWF,MAAA,CAAOE,SAAS;IAAEC,OAAA,EAASJ;EAAI;EAC1F,IAAIE,gBAAA,EAAkB,OAAOA,gBAAA;EAE7B,MAAMG,YAAA,GAAe,MAAMV,aAAA,CAAc;IAAEW,mBAAA,EAAqB;IAAMN;EAAI,GAAGC,MAAA,CAAOM,MAAM,CAACC,IAAI;EAE/F,IAAI,OAAOH,YAAA,KAAiB,UAAU;IACpC,MAAMI,YAAA,GAAsB;MAC1BC,GAAA,EAAK,CACH;QACEC,EAAA,EAAI,CACF;UACEZ,QAAA,EAAU;YACRa,MAAA,EAAQb;UACV;QACF;MAEJ,GACAM,YAAA;IAEJ;IAEA,IAAIJ,MAAA,CAAOY,MAAM,CAACC,UAAU,EAAE;MAC5Bb,MAAA,CAAOY,MAAM,CAACC,UAAU,CAACC,OAAO,CAAC,CAAC;QAAEC;MAAI,CAAE;QACxCP,YAAA,CAAaC,GAAG,CAAC,EAAE,CAACC,EAAE,CAACM,IAAI,CAAC;UAC1B,CAAC,SAASD,IAAA,WAAe,GAAG;YAC1BJ,MAAA,EAAQb;UACV;QACF;MACF;IACF;IAEA,MAAMmB,GAAA,GAAM,MAAMlB,GAAA,CAAImB,OAAO,CAACC,EAAE,CAACC,OAAO,CAAC;MACvCvB,UAAA,EAAYG,MAAA,CAAOqB,IAAI;MACvBtB,GAAA;MACAuB,KAAA,EAAOd;IACT;IAEA,IAAI,CAACS,GAAA,EAAK;MACR,MAAM,IAAIxB,SAAA,CAAUM,GAAA,CAAIwB,CAAC;IAC3B;IAEA,OAAON,GAAA;EACT;AACF","ignoreList":[]}
@@ -8,56 +8,59 @@ import { headersWithCors } from '../../../utilities/headersWithCors.js';
8
8
  import { routeError } from '../routeError.js';
9
9
  import { checkFileAccess } from './checkFileAccess.js';
10
10
  import { getFileTypeFallback } from './getFileTypeFallback.js';
11
- export const getFile = async ({ collection, filename, req })=>{
12
- try {
13
- if (!collection.config.upload) {
14
- throw new APIError(`This collection is not an upload collection: ${collection.config.slug}`, httpStatus.BAD_REQUEST);
15
- }
16
- const accessResult = await checkFileAccess({
17
- collection,
18
- filename,
19
- req
20
- });
21
- if (accessResult instanceof Response) return accessResult;
22
- if (collection.config.upload.handlers?.length) {
23
- let customResponse = null;
24
- for (const handler of collection.config.upload.handlers){
25
- customResponse = await handler(req, {
26
- doc: accessResult,
27
- params: {
28
- collection: collection.config.slug,
29
- filename
30
- }
31
- });
32
- }
33
- if (customResponse instanceof Response) return customResponse;
34
- }
35
- const fileDir = collection.config.upload?.staticDir || collection.config.slug;
36
- const filePath = path.resolve(`${fileDir}/${filename}`);
37
- const stats = await fsPromises.stat(filePath);
38
- const data = streamFile(filePath);
39
- const fileTypeResult = await fileTypeFromFile(filePath) || getFileTypeFallback(filePath);
40
- let headers = new Headers();
41
- headers.set('Content-Type', fileTypeResult.mime);
42
- headers.set('Content-Length', stats.size + '');
43
- headers = collection.config.upload?.modifyResponseHeaders ? collection.config.upload.modifyResponseHeaders({
44
- headers
45
- }) : headers;
46
- return new Response(data, {
47
- headers: headersWithCors({
48
- headers,
49
- req
50
- }),
51
- status: httpStatus.OK
52
- });
53
- } catch (err) {
54
- return routeError({
55
- collection,
56
- config: req.payload.config,
57
- err,
58
- req
11
+ export const getFile = async ({
12
+ collection,
13
+ filename,
14
+ req
15
+ }) => {
16
+ try {
17
+ if (!collection.config.upload) {
18
+ throw new APIError(`This collection is not an upload collection: ${collection.config.slug}`, httpStatus.BAD_REQUEST);
19
+ }
20
+ const accessResult = await checkFileAccess({
21
+ collection,
22
+ filename,
23
+ req
24
+ });
25
+ if (accessResult instanceof Response) return accessResult;
26
+ if (collection.config.upload.handlers?.length) {
27
+ let customResponse = null;
28
+ for (const handler of collection.config.upload.handlers) {
29
+ customResponse = await handler(req, {
30
+ doc: accessResult,
31
+ params: {
32
+ collection: collection.config.slug,
33
+ filename
34
+ }
59
35
  });
36
+ }
37
+ if (customResponse instanceof Response) return customResponse;
60
38
  }
39
+ const fileDir = collection.config.upload?.staticDir || collection.config.slug;
40
+ const filePath = path.resolve(`${fileDir}/${filename}`);
41
+ const stats = await fsPromises.stat(filePath);
42
+ const data = streamFile(filePath);
43
+ const fileTypeResult = (await fileTypeFromFile(filePath)) || getFileTypeFallback(filePath);
44
+ let headers = new Headers();
45
+ headers.set('Content-Type', fileTypeResult.mime);
46
+ headers.set('Content-Length', stats.size + '');
47
+ headers = collection.config.upload?.modifyResponseHeaders ? collection.config.upload.modifyResponseHeaders({
48
+ headers
49
+ }) : headers;
50
+ return new Response(data, {
51
+ headers: headersWithCors({
52
+ headers,
53
+ req
54
+ }),
55
+ status: httpStatus.OK
56
+ });
57
+ } catch (err) {
58
+ return routeError({
59
+ collection,
60
+ config: req.payload.config,
61
+ err,
62
+ req
63
+ });
64
+ }
61
65
  };
62
-
63
66
  //# sourceMappingURL=getFile.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/routes/rest/files/getFile.ts"],"sourcesContent":["import type { Collection, PayloadRequest } from 'payload'\n\nimport { fileTypeFromFile } from 'file-type'\nimport fsPromises from 'fs/promises'\nimport httpStatus from 'http-status'\nimport path from 'path'\nimport { APIError } from 'payload'\n\nimport { streamFile } from '../../../fetchAPI-stream-file/index.js'\nimport { headersWithCors } from '../../../utilities/headersWithCors.js'\nimport { routeError } from '../routeError.js'\nimport { checkFileAccess } from './checkFileAccess.js'\nimport { getFileTypeFallback } from './getFileTypeFallback.js'\n\n// /:collectionSlug/file/:filename\ntype Args = {\n collection: Collection\n filename: string\n req: PayloadRequest\n}\nexport const getFile = async ({ collection, filename, req }: Args): Promise<Response> => {\n try {\n if (!collection.config.upload) {\n throw new APIError(\n `This collection is not an upload collection: ${collection.config.slug}`,\n httpStatus.BAD_REQUEST,\n )\n }\n\n const accessResult = await checkFileAccess({\n collection,\n filename,\n req,\n })\n\n if (accessResult instanceof Response) return accessResult\n\n if (collection.config.upload.handlers?.length) {\n let customResponse = null\n for (const handler of collection.config.upload.handlers) {\n customResponse = await handler(req, {\n doc: accessResult,\n params: {\n collection: collection.config.slug,\n filename,\n },\n })\n }\n\n if (customResponse instanceof Response) return customResponse\n }\n\n const fileDir = collection.config.upload?.staticDir || collection.config.slug\n const filePath = path.resolve(`${fileDir}/${filename}`)\n const stats = await fsPromises.stat(filePath)\n const data = streamFile(filePath)\n const fileTypeResult = (await fileTypeFromFile(filePath)) || getFileTypeFallback(filePath)\n\n let headers = new Headers()\n headers.set('Content-Type', fileTypeResult.mime)\n headers.set('Content-Length', stats.size + '')\n headers = collection.config.upload?.modifyResponseHeaders\n ? collection.config.upload.modifyResponseHeaders({ headers })\n : headers\n\n return new Response(data, {\n headers: headersWithCors({\n headers,\n req,\n }),\n status: httpStatus.OK,\n })\n } catch (err) {\n return routeError({\n collection,\n config: req.payload.config,\n err,\n req,\n })\n }\n}\n"],"names":["fileTypeFromFile","fsPromises","httpStatus","path","APIError","streamFile","headersWithCors","routeError","checkFileAccess","getFileTypeFallback","getFile","collection","filename","req","config","upload","slug","BAD_REQUEST","accessResult","Response","handlers","length","customResponse","handler","doc","params","fileDir","staticDir","filePath","resolve","stats","stat","data","fileTypeResult","headers","Headers","set","mime","size","modifyResponseHeaders","status","OK","err","payload"],"mappings":"AAEA,SAASA,gBAAgB,QAAQ,YAAW;AAC5C,OAAOC,gBAAgB,cAAa;AACpC,OAAOC,gBAAgB,cAAa;AACpC,OAAOC,UAAU,OAAM;AACvB,SAASC,QAAQ,QAAQ,UAAS;AAElC,SAASC,UAAU,QAAQ,yCAAwC;AACnE,SAASC,eAAe,QAAQ,wCAAuC;AACvE,SAASC,UAAU,QAAQ,mBAAkB;AAC7C,SAASC,eAAe,QAAQ,uBAAsB;AACtD,SAASC,mBAAmB,QAAQ,2BAA0B;AAQ9D,OAAO,MAAMC,UAAU,OAAO,EAAEC,UAAU,EAAEC,QAAQ,EAAEC,GAAG,EAAQ;IAC/D,IAAI;QACF,IAAI,CAACF,WAAWG,MAAM,CAACC,MAAM,EAAE;YAC7B,MAAM,IAAIX,SACR,CAAC,6CAA6C,EAAEO,WAAWG,MAAM,CAACE,IAAI,CAAC,CAAC,EACxEd,WAAWe,WAAW;QAE1B;QAEA,MAAMC,eAAe,MAAMV,gBAAgB;YACzCG;YACAC;YACAC;QACF;QAEA,IAAIK,wBAAwBC,UAAU,OAAOD;QAE7C,IAAIP,WAAWG,MAAM,CAACC,MAAM,CAACK,QAAQ,EAAEC,QAAQ;YAC7C,IAAIC,iBAAiB;YACrB,KAAK,MAAMC,WAAWZ,WAAWG,MAAM,CAACC,MAAM,CAACK,QAAQ,CAAE;gBACvDE,iBAAiB,MAAMC,QAAQV,KAAK;oBAClCW,KAAKN;oBACLO,QAAQ;wBACNd,YAAYA,WAAWG,MAAM,CAACE,IAAI;wBAClCJ;oBACF;gBACF;YACF;YAEA,IAAIU,0BAA0BH,UAAU,OAAOG;QACjD;QAEA,MAAMI,UAAUf,WAAWG,MAAM,CAACC,MAAM,EAAEY,aAAahB,WAAWG,MAAM,CAACE,IAAI;QAC7E,MAAMY,WAAWzB,KAAK0B,OAAO,CAAC,CAAC,EAAEH,QAAQ,CAAC,EAAEd,SAAS,CAAC;QACtD,MAAMkB,QAAQ,MAAM7B,WAAW8B,IAAI,CAACH;QACpC,MAAMI,OAAO3B,WAAWuB;QACxB,MAAMK,iBAAiB,AAAC,MAAMjC,iBAAiB4B,aAAcnB,oBAAoBmB;QAEjF,IAAIM,UAAU,IAAIC;QAClBD,QAAQE,GAAG,CAAC,gBAAgBH,eAAeI,IAAI;QAC/CH,QAAQE,GAAG,CAAC,kBAAkBN,MAAMQ,IAAI,GAAG;QAC3CJ,UAAUvB,WAAWG,MAAM,CAACC,MAAM,EAAEwB,wBAChC5B,WAAWG,MAAM,CAACC,MAAM,CAACwB,qBAAqB,CAAC;YAAEL;QAAQ,KACzDA;QAEJ,OAAO,IAAIf,SAASa,MAAM;YACxBE,SAAS5B,gBAAgB;gBACvB4B;gBACArB;YACF;YACA2B,QAAQtC,WAAWuC,EAAE;QACvB;IACF,EAAE,OAAOC,KAAK;QACZ,OAAOnC,WAAW;YAChBI;YACAG,QAAQD,IAAI8B,OAAO,CAAC7B,MAAM;YAC1B4B;YACA7B;QACF;IACF;AACF,EAAC"}
1
+ {"version":3,"file":"getFile.js","names":["fileTypeFromFile","fsPromises","httpStatus","path","APIError","streamFile","headersWithCors","routeError","checkFileAccess","getFileTypeFallback","getFile","collection","filename","req","config","upload","slug","BAD_REQUEST","accessResult","Response","handlers","length","customResponse","handler","doc","params","fileDir","staticDir","filePath","resolve","stats","stat","data","fileTypeResult","headers","Headers","set","mime","size","modifyResponseHeaders","status","OK","err","payload"],"sources":["../../../../src/routes/rest/files/getFile.ts"],"sourcesContent":["import type { Collection, PayloadRequest } from 'payload'\n\nimport { fileTypeFromFile } from 'file-type'\nimport fsPromises from 'fs/promises'\nimport httpStatus from 'http-status'\nimport path from 'path'\nimport { APIError } from 'payload'\n\nimport { streamFile } from '../../../fetchAPI-stream-file/index.js'\nimport { headersWithCors } from '../../../utilities/headersWithCors.js'\nimport { routeError } from '../routeError.js'\nimport { checkFileAccess } from './checkFileAccess.js'\nimport { getFileTypeFallback } from './getFileTypeFallback.js'\n\n// /:collectionSlug/file/:filename\ntype Args = {\n collection: Collection\n filename: string\n req: PayloadRequest\n}\nexport const getFile = async ({ collection, filename, req }: Args): Promise<Response> => {\n try {\n if (!collection.config.upload) {\n throw new APIError(\n `This collection is not an upload collection: ${collection.config.slug}`,\n httpStatus.BAD_REQUEST,\n )\n }\n\n const accessResult = await checkFileAccess({\n collection,\n filename,\n req,\n })\n\n if (accessResult instanceof Response) return accessResult\n\n if (collection.config.upload.handlers?.length) {\n let customResponse = null\n for (const handler of collection.config.upload.handlers) {\n customResponse = await handler(req, {\n doc: accessResult,\n params: {\n collection: collection.config.slug,\n filename,\n },\n })\n }\n\n if (customResponse instanceof Response) return customResponse\n }\n\n const fileDir = collection.config.upload?.staticDir || collection.config.slug\n const filePath = path.resolve(`${fileDir}/${filename}`)\n const stats = await fsPromises.stat(filePath)\n const data = streamFile(filePath)\n const fileTypeResult = (await fileTypeFromFile(filePath)) || getFileTypeFallback(filePath)\n\n let headers = new Headers()\n headers.set('Content-Type', fileTypeResult.mime)\n headers.set('Content-Length', stats.size + '')\n headers = collection.config.upload?.modifyResponseHeaders\n ? collection.config.upload.modifyResponseHeaders({ headers })\n : headers\n\n return new Response(data, {\n headers: headersWithCors({\n headers,\n req,\n }),\n status: httpStatus.OK,\n })\n } catch (err) {\n return routeError({\n collection,\n config: req.payload.config,\n err,\n req,\n })\n }\n}\n"],"mappings":"AAEA,SAASA,gBAAgB,QAAQ;AACjC,OAAOC,UAAA,MAAgB;AACvB,OAAOC,UAAA,MAAgB;AACvB,OAAOC,IAAA,MAAU;AACjB,SAASC,QAAQ,QAAQ;AAEzB,SAASC,UAAU,QAAQ;AAC3B,SAASC,eAAe,QAAQ;AAChC,SAASC,UAAU,QAAQ;AAC3B,SAASC,eAAe,QAAQ;AAChC,SAASC,mBAAmB,QAAQ;AAQpC,OAAO,MAAMC,OAAA,GAAU,MAAAA,CAAO;EAAEC,UAAU;EAAEC,QAAQ;EAAEC;AAAG,CAAQ;EAC/D,IAAI;IACF,IAAI,CAACF,UAAA,CAAWG,MAAM,CAACC,MAAM,EAAE;MAC7B,MAAM,IAAIX,QAAA,CACR,gDAAgDO,UAAA,CAAWG,MAAM,CAACE,IAAI,EAAE,EACxEd,UAAA,CAAWe,WAAW;IAE1B;IAEA,MAAMC,YAAA,GAAe,MAAMV,eAAA,CAAgB;MACzCG,UAAA;MACAC,QAAA;MACAC;IACF;IAEA,IAAIK,YAAA,YAAwBC,QAAA,EAAU,OAAOD,YAAA;IAE7C,IAAIP,UAAA,CAAWG,MAAM,CAACC,MAAM,CAACK,QAAQ,EAAEC,MAAA,EAAQ;MAC7C,IAAIC,cAAA,GAAiB;MACrB,KAAK,MAAMC,OAAA,IAAWZ,UAAA,CAAWG,MAAM,CAACC,MAAM,CAACK,QAAQ,EAAE;QACvDE,cAAA,GAAiB,MAAMC,OAAA,CAAQV,GAAA,EAAK;UAClCW,GAAA,EAAKN,YAAA;UACLO,MAAA,EAAQ;YACNd,UAAA,EAAYA,UAAA,CAAWG,MAAM,CAACE,IAAI;YAClCJ;UACF;QACF;MACF;MAEA,IAAIU,cAAA,YAA0BH,QAAA,EAAU,OAAOG,cAAA;IACjD;IAEA,MAAMI,OAAA,GAAUf,UAAA,CAAWG,MAAM,CAACC,MAAM,EAAEY,SAAA,IAAahB,UAAA,CAAWG,MAAM,CAACE,IAAI;IAC7E,MAAMY,QAAA,GAAWzB,IAAA,CAAK0B,OAAO,CAAC,GAAGH,OAAA,IAAWd,QAAA,EAAU;IACtD,MAAMkB,KAAA,GAAQ,MAAM7B,UAAA,CAAW8B,IAAI,CAACH,QAAA;IACpC,MAAMI,IAAA,GAAO3B,UAAA,CAAWuB,QAAA;IACxB,MAAMK,cAAA,GAAiB,OAAOjC,gBAAA,CAAiB4B,QAAA,MAAcnB,mBAAA,CAAoBmB,QAAA;IAEjF,IAAIM,OAAA,GAAU,IAAIC,OAAA;IAClBD,OAAA,CAAQE,GAAG,CAAC,gBAAgBH,cAAA,CAAeI,IAAI;IAC/CH,OAAA,CAAQE,GAAG,CAAC,kBAAkBN,KAAA,CAAMQ,IAAI,GAAG;IAC3CJ,OAAA,GAAUvB,UAAA,CAAWG,MAAM,CAACC,MAAM,EAAEwB,qBAAA,GAChC5B,UAAA,CAAWG,MAAM,CAACC,MAAM,CAACwB,qBAAqB,CAAC;MAAEL;IAAQ,KACzDA,OAAA;IAEJ,OAAO,IAAIf,QAAA,CAASa,IAAA,EAAM;MACxBE,OAAA,EAAS5B,eAAA,CAAgB;QACvB4B,OAAA;QACArB;MACF;MACA2B,MAAA,EAAQtC,UAAA,CAAWuC;IACrB;EACF,EAAE,OAAOC,GAAA,EAAK;IACZ,OAAOnC,UAAA,CAAW;MAChBI,UAAA;MACAG,MAAA,EAAQD,GAAA,CAAI8B,OAAO,CAAC7B,MAAM;MAC1B4B,GAAA;MACA7B;IACF;EACF;AACF","ignoreList":[]}
@@ -1,21 +1,20 @@
1
1
  const extensionMap = {
2
- css: 'text/css',
3
- csv: 'text/csv',
4
- htm: 'text/html',
5
- html: 'text/html',
6
- js: 'application/javascript',
7
- json: 'application/json',
8
- md: 'text/markdown',
9
- svg: 'image/svg+xml',
10
- xml: 'application/xml',
11
- yml: 'application/x-yaml'
2
+ css: 'text/css',
3
+ csv: 'text/csv',
4
+ htm: 'text/html',
5
+ html: 'text/html',
6
+ js: 'application/javascript',
7
+ json: 'application/json',
8
+ md: 'text/markdown',
9
+ svg: 'image/svg+xml',
10
+ xml: 'application/xml',
11
+ yml: 'application/x-yaml'
12
12
  };
13
- export const getFileTypeFallback = (path)=>{
14
- const ext = path.split('.').pop() || 'txt';
15
- return {
16
- ext,
17
- mime: extensionMap[ext] || 'text/plain'
18
- };
13
+ export const getFileTypeFallback = path => {
14
+ const ext = path.split('.').pop() || 'txt';
15
+ return {
16
+ ext,
17
+ mime: extensionMap[ext] || 'text/plain'
18
+ };
19
19
  };
20
-
21
20
  //# sourceMappingURL=getFileTypeFallback.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/routes/rest/files/getFileTypeFallback.ts"],"sourcesContent":["type ReturnType = {\n ext: string\n mime: string\n}\n\nconst extensionMap: {\n [ext: string]: string\n} = {\n css: 'text/css',\n csv: 'text/csv',\n htm: 'text/html',\n html: 'text/html',\n js: 'application/javascript',\n json: 'application/json',\n md: 'text/markdown',\n svg: 'image/svg+xml',\n xml: 'application/xml',\n yml: 'application/x-yaml',\n}\n\nexport const getFileTypeFallback = (path: string): ReturnType => {\n const ext = path.split('.').pop() || 'txt'\n\n return {\n ext,\n mime: extensionMap[ext] || 'text/plain',\n }\n}\n"],"names":["extensionMap","css","csv","htm","html","js","json","md","svg","xml","yml","getFileTypeFallback","path","ext","split","pop","mime"],"mappings":"AAKA,MAAMA,eAEF;IACFC,KAAK;IACLC,KAAK;IACLC,KAAK;IACLC,MAAM;IACNC,IAAI;IACJC,MAAM;IACNC,IAAI;IACJC,KAAK;IACLC,KAAK;IACLC,KAAK;AACP;AAEA,OAAO,MAAMC,sBAAsB,CAACC;IAClC,MAAMC,MAAMD,KAAKE,KAAK,CAAC,KAAKC,GAAG,MAAM;IAErC,OAAO;QACLF;QACAG,MAAMhB,YAAY,CAACa,IAAI,IAAI;IAC7B;AACF,EAAC"}
1
+ {"version":3,"file":"getFileTypeFallback.js","names":["extensionMap","css","csv","htm","html","js","json","md","svg","xml","yml","getFileTypeFallback","path","ext","split","pop","mime"],"sources":["../../../../src/routes/rest/files/getFileTypeFallback.ts"],"sourcesContent":["type ReturnType = {\n ext: string\n mime: string\n}\n\nconst extensionMap: {\n [ext: string]: string\n} = {\n css: 'text/css',\n csv: 'text/csv',\n htm: 'text/html',\n html: 'text/html',\n js: 'application/javascript',\n json: 'application/json',\n md: 'text/markdown',\n svg: 'image/svg+xml',\n xml: 'application/xml',\n yml: 'application/x-yaml',\n}\n\nexport const getFileTypeFallback = (path: string): ReturnType => {\n const ext = path.split('.').pop() || 'txt'\n\n return {\n ext,\n mime: extensionMap[ext] || 'text/plain',\n }\n}\n"],"mappings":"AAKA,MAAMA,YAAA,GAEF;EACFC,GAAA,EAAK;EACLC,GAAA,EAAK;EACLC,GAAA,EAAK;EACLC,IAAA,EAAM;EACNC,EAAA,EAAI;EACJC,IAAA,EAAM;EACNC,EAAA,EAAI;EACJC,GAAA,EAAK;EACLC,GAAA,EAAK;EACLC,GAAA,EAAK;AACP;AAEA,OAAO,MAAMC,mBAAA,GAAuBC,IAAA;EAClC,MAAMC,GAAA,GAAMD,IAAA,CAAKE,KAAK,CAAC,KAAKC,GAAG,MAAM;EAErC,OAAO;IACLF,GAAA;IACAG,IAAA,EAAMhB,YAAY,CAACa,GAAA,CAAI,IAAI;EAC7B;AACF","ignoreList":[]}
@@ -1,18 +1,20 @@
1
1
  import httpStatus from 'http-status';
2
2
  import { docAccessOperationGlobal } from 'payload';
3
3
  import { headersWithCors } from '../../../utilities/headersWithCors.js';
4
- export const docAccess = async ({ globalConfig, req })=>{
5
- const result = await docAccessOperationGlobal({
6
- globalConfig,
7
- req
8
- });
9
- return Response.json(result, {
10
- headers: headersWithCors({
11
- headers: new Headers(),
12
- req
13
- }),
14
- status: httpStatus.OK
15
- });
4
+ export const docAccess = async ({
5
+ globalConfig,
6
+ req
7
+ }) => {
8
+ const result = await docAccessOperationGlobal({
9
+ globalConfig,
10
+ req
11
+ });
12
+ return Response.json(result, {
13
+ headers: headersWithCors({
14
+ headers: new Headers(),
15
+ req
16
+ }),
17
+ status: httpStatus.OK
18
+ });
16
19
  };
17
-
18
20
  //# sourceMappingURL=docAccess.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/routes/rest/globals/docAccess.ts"],"sourcesContent":["import httpStatus from 'http-status'\nimport { docAccessOperationGlobal } from 'payload'\n\nimport type { GlobalRouteHandler } from '../types.js'\n\nimport { headersWithCors } from '../../../utilities/headersWithCors.js'\n\nexport const docAccess: GlobalRouteHandler = async ({ globalConfig, req }) => {\n const result = await docAccessOperationGlobal({\n globalConfig,\n req,\n })\n\n return Response.json(result, {\n headers: headersWithCors({\n headers: new Headers(),\n req,\n }),\n status: httpStatus.OK,\n })\n}\n"],"names":["httpStatus","docAccessOperationGlobal","headersWithCors","docAccess","globalConfig","req","result","Response","json","headers","Headers","status","OK"],"mappings":"AAAA,OAAOA,gBAAgB,cAAa;AACpC,SAASC,wBAAwB,QAAQ,UAAS;AAIlD,SAASC,eAAe,QAAQ,wCAAuC;AAEvE,OAAO,MAAMC,YAAgC,OAAO,EAAEC,YAAY,EAAEC,GAAG,EAAE;IACvE,MAAMC,SAAS,MAAML,yBAAyB;QAC5CG;QACAC;IACF;IAEA,OAAOE,SAASC,IAAI,CAACF,QAAQ;QAC3BG,SAASP,gBAAgB;YACvBO,SAAS,IAAIC;YACbL;QACF;QACAM,QAAQX,WAAWY,EAAE;IACvB;AACF,EAAC"}
1
+ {"version":3,"file":"docAccess.js","names":["httpStatus","docAccessOperationGlobal","headersWithCors","docAccess","globalConfig","req","result","Response","json","headers","Headers","status","OK"],"sources":["../../../../src/routes/rest/globals/docAccess.ts"],"sourcesContent":["import httpStatus from 'http-status'\nimport { docAccessOperationGlobal } from 'payload'\n\nimport type { GlobalRouteHandler } from '../types.js'\n\nimport { headersWithCors } from '../../../utilities/headersWithCors.js'\n\nexport const docAccess: GlobalRouteHandler = async ({ globalConfig, req }) => {\n const result = await docAccessOperationGlobal({\n globalConfig,\n req,\n })\n\n return Response.json(result, {\n headers: headersWithCors({\n headers: new Headers(),\n req,\n }),\n status: httpStatus.OK,\n })\n}\n"],"mappings":"AAAA,OAAOA,UAAA,MAAgB;AACvB,SAASC,wBAAwB,QAAQ;AAIzC,SAASC,eAAe,QAAQ;AAEhC,OAAO,MAAMC,SAAA,GAAgC,MAAAA,CAAO;EAAEC,YAAY;EAAEC;AAAG,CAAE;EACvE,MAAMC,MAAA,GAAS,MAAML,wBAAA,CAAyB;IAC5CG,YAAA;IACAC;EACF;EAEA,OAAOE,QAAA,CAASC,IAAI,CAACF,MAAA,EAAQ;IAC3BG,OAAA,EAASP,eAAA,CAAgB;MACvBO,OAAA,EAAS,IAAIC,OAAA;MACbL;IACF;IACAM,MAAA,EAAQX,UAAA,CAAWY;EACrB;AACF","ignoreList":[]}
@@ -2,23 +2,27 @@ import httpStatus from 'http-status';
2
2
  import { findOneOperation } from 'payload';
3
3
  import { isNumber } from 'payload/shared';
4
4
  import { headersWithCors } from '../../../utilities/headersWithCors.js';
5
- export const findOne = async ({ globalConfig, req })=>{
6
- const { searchParams } = req;
7
- const depth = searchParams.get('depth');
8
- const result = await findOneOperation({
9
- slug: globalConfig.slug,
10
- depth: isNumber(depth) ? Number(depth) : undefined,
11
- draft: searchParams.get('draft') === 'true',
12
- globalConfig,
13
- req
14
- });
15
- return Response.json(result, {
16
- headers: headersWithCors({
17
- headers: new Headers(),
18
- req
19
- }),
20
- status: httpStatus.OK
21
- });
5
+ export const findOne = async ({
6
+ globalConfig,
7
+ req
8
+ }) => {
9
+ const {
10
+ searchParams
11
+ } = req;
12
+ const depth = searchParams.get('depth');
13
+ const result = await findOneOperation({
14
+ slug: globalConfig.slug,
15
+ depth: isNumber(depth) ? Number(depth) : undefined,
16
+ draft: searchParams.get('draft') === 'true',
17
+ globalConfig,
18
+ req
19
+ });
20
+ return Response.json(result, {
21
+ headers: headersWithCors({
22
+ headers: new Headers(),
23
+ req
24
+ }),
25
+ status: httpStatus.OK
26
+ });
22
27
  };
23
-
24
28
  //# sourceMappingURL=findOne.js.map