@payloadcms/next 3.0.0-canary.ff8c8fd → 3.0.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 (617) hide show
  1. package/dist/cjs/withPayload.cjs +166 -0
  2. package/dist/cjs/withPayload.cjs.map +1 -0
  3. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.d.ts.map +1 -1
  4. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js +1 -0
  5. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js.map +1 -1
  6. package/dist/elements/DocumentHeader/Tabs/Tab/index.d.ts +1 -1
  7. package/dist/elements/DocumentHeader/Tabs/Tab/index.d.ts.map +1 -1
  8. package/dist/elements/DocumentHeader/Tabs/Tab/index.js +16 -18
  9. package/dist/elements/DocumentHeader/Tabs/Tab/index.js.map +1 -1
  10. package/dist/elements/DocumentHeader/Tabs/Tab/index.scss +70 -68
  11. package/dist/elements/DocumentHeader/Tabs/index.d.ts +2 -2
  12. package/dist/elements/DocumentHeader/Tabs/index.d.ts.map +1 -1
  13. package/dist/elements/DocumentHeader/Tabs/index.js +18 -17
  14. package/dist/elements/DocumentHeader/Tabs/index.js.map +1 -1
  15. package/dist/elements/DocumentHeader/Tabs/index.scss +41 -39
  16. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.d.ts.map +1 -1
  17. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js +16 -27
  18. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js.map +1 -1
  19. package/dist/elements/DocumentHeader/Tabs/tabs/index.d.ts +1 -1
  20. package/dist/elements/DocumentHeader/Tabs/tabs/index.d.ts.map +1 -1
  21. package/dist/elements/DocumentHeader/Tabs/tabs/index.js +3 -3
  22. package/dist/elements/DocumentHeader/Tabs/tabs/index.js.map +1 -1
  23. package/dist/elements/DocumentHeader/index.d.ts +2 -3
  24. package/dist/elements/DocumentHeader/index.d.ts.map +1 -1
  25. package/dist/elements/DocumentHeader/index.js +9 -12
  26. package/dist/elements/DocumentHeader/index.js.map +1 -1
  27. package/dist/elements/DocumentHeader/index.scss +44 -42
  28. package/dist/elements/FormHeader/index.d.ts +9 -0
  29. package/dist/elements/FormHeader/index.d.ts.map +1 -0
  30. package/dist/elements/FormHeader/index.js +20 -0
  31. package/dist/elements/FormHeader/index.js.map +1 -0
  32. package/dist/elements/FormHeader/index.scss +8 -0
  33. package/dist/elements/Logo/index.d.ts.map +1 -1
  34. package/dist/elements/Logo/index.js +5 -6
  35. package/dist/elements/Logo/index.js.map +1 -1
  36. package/dist/elements/Nav/NavWrapper/index.scss +21 -14
  37. package/dist/elements/Nav/getNavPrefs.d.ts +6 -0
  38. package/dist/elements/Nav/getNavPrefs.d.ts.map +1 -0
  39. package/dist/elements/Nav/getNavPrefs.js +26 -0
  40. package/dist/elements/Nav/getNavPrefs.js.map +1 -0
  41. package/dist/elements/Nav/index.client.d.ts +6 -1
  42. package/dist/elements/Nav/index.client.d.ts.map +1 -1
  43. package/dist/elements/Nav/index.client.js +45 -95
  44. package/dist/elements/Nav/index.client.js.map +1 -1
  45. package/dist/elements/Nav/index.d.ts.map +1 -1
  46. package/dist/elements/Nav/index.js +66 -23
  47. package/dist/elements/Nav/index.js.map +1 -1
  48. package/dist/elements/Nav/index.scss +127 -121
  49. package/dist/exports/layouts.d.ts +2 -1
  50. package/dist/exports/layouts.d.ts.map +1 -1
  51. package/dist/exports/layouts.js +2 -1
  52. package/dist/exports/layouts.js.map +1 -1
  53. package/dist/exports/routes.d.ts +1 -1
  54. package/dist/exports/routes.d.ts.map +1 -1
  55. package/dist/exports/routes.js +1 -1
  56. package/dist/exports/routes.js.map +1 -1
  57. package/dist/exports/utilities.d.ts +2 -1
  58. package/dist/exports/utilities.d.ts.map +1 -1
  59. package/dist/exports/utilities.js +3 -1
  60. package/dist/exports/utilities.js.map +1 -1
  61. package/dist/exports/views.d.ts +1 -3
  62. package/dist/exports/views.d.ts.map +1 -1
  63. package/dist/exports/views.js +1 -3
  64. package/dist/exports/views.js.map +1 -1
  65. package/dist/fetchAPI-multipart/fileFactory.d.ts +2 -1
  66. package/dist/fetchAPI-multipart/fileFactory.d.ts.map +1 -1
  67. package/dist/fetchAPI-multipart/fileFactory.js.map +1 -1
  68. package/dist/fetchAPI-multipart/handlers.d.ts +1 -1
  69. package/dist/fetchAPI-multipart/handlers.d.ts.map +1 -1
  70. package/dist/fetchAPI-multipart/handlers.js +3 -1
  71. package/dist/fetchAPI-multipart/handlers.js.map +1 -1
  72. package/dist/fetchAPI-multipart/index.d.ts +1 -101
  73. package/dist/fetchAPI-multipart/index.d.ts.map +1 -1
  74. package/dist/fetchAPI-multipart/index.js +1 -1
  75. package/dist/fetchAPI-multipart/index.js.map +1 -1
  76. package/dist/fetchAPI-multipart/isEligibleRequest.js +1 -1
  77. package/dist/fetchAPI-multipart/isEligibleRequest.js.map +1 -1
  78. package/dist/fetchAPI-multipart/processMultipart.d.ts +2 -1
  79. package/dist/fetchAPI-multipart/processMultipart.d.ts.map +1 -1
  80. package/dist/fetchAPI-multipart/processMultipart.js +9 -10
  81. package/dist/fetchAPI-multipart/processMultipart.js.map +1 -1
  82. package/dist/fetchAPI-multipart/processNested.d.ts.map +1 -1
  83. package/dist/fetchAPI-multipart/processNested.js +8 -4
  84. package/dist/fetchAPI-multipart/processNested.js.map +1 -1
  85. package/dist/fetchAPI-multipart/uploadTimer.d.ts.map +1 -1
  86. package/dist/fetchAPI-multipart/uploadTimer.js +3 -1
  87. package/dist/fetchAPI-multipart/uploadTimer.js.map +1 -1
  88. package/dist/fetchAPI-multipart/utilities.d.ts +1 -1
  89. package/dist/fetchAPI-multipart/utilities.d.ts.map +1 -1
  90. package/dist/fetchAPI-multipart/utilities.js +32 -12
  91. package/dist/fetchAPI-multipart/utilities.js.map +1 -1
  92. package/dist/layouts/Root/NestProviders.d.ts +11 -0
  93. package/dist/layouts/Root/NestProviders.d.ts.map +1 -0
  94. package/dist/layouts/Root/NestProviders.js +21 -0
  95. package/dist/layouts/Root/NestProviders.js.map +1 -0
  96. package/dist/layouts/Root/checkDependencies.d.ts +2 -0
  97. package/dist/layouts/Root/checkDependencies.d.ts.map +1 -0
  98. package/dist/layouts/Root/checkDependencies.js +49 -0
  99. package/dist/layouts/Root/checkDependencies.js.map +1 -0
  100. package/dist/layouts/Root/index.d.ts +4 -3
  101. package/dist/layouts/Root/index.d.ts.map +1 -1
  102. package/dist/layouts/Root/index.js +42 -71
  103. package/dist/layouts/Root/index.js.map +1 -1
  104. package/dist/prod/styles.css +1 -1
  105. package/dist/routes/graphql/handler.d.ts.map +1 -1
  106. package/dist/routes/graphql/handler.js +23 -11
  107. package/dist/routes/graphql/handler.js.map +1 -1
  108. package/dist/routes/rest/auth/login.js +2 -2
  109. package/dist/routes/rest/auth/login.js.map +1 -1
  110. package/dist/routes/rest/auth/logout.d.ts.map +1 -1
  111. package/dist/routes/rest/auth/logout.js +3 -2
  112. package/dist/routes/rest/auth/logout.js.map +1 -1
  113. package/dist/routes/rest/auth/refresh.js +2 -2
  114. package/dist/routes/rest/auth/refresh.js.map +1 -1
  115. package/dist/routes/rest/auth/registerFirstUser.js +2 -2
  116. package/dist/routes/rest/auth/registerFirstUser.js.map +1 -1
  117. package/dist/routes/rest/auth/resetPassword.js +2 -2
  118. package/dist/routes/rest/auth/resetPassword.js.map +1 -1
  119. package/dist/routes/rest/collections/create.d.ts.map +1 -1
  120. package/dist/routes/rest/collections/create.js +5 -1
  121. package/dist/routes/rest/collections/create.js.map +1 -1
  122. package/dist/routes/rest/collections/delete.d.ts.map +1 -1
  123. package/dist/routes/rest/collections/delete.js +8 -0
  124. package/dist/routes/rest/collections/delete.js.map +1 -1
  125. package/dist/routes/rest/collections/deleteByID.d.ts.map +1 -1
  126. package/dist/routes/rest/collections/deleteByID.js +7 -1
  127. package/dist/routes/rest/collections/deleteByID.js.map +1 -1
  128. package/dist/routes/rest/collections/duplicate.d.ts.map +1 -1
  129. package/dist/routes/rest/collections/duplicate.js +5 -1
  130. package/dist/routes/rest/collections/duplicate.js.map +1 -1
  131. package/dist/routes/rest/collections/find.d.ts.map +1 -1
  132. package/dist/routes/rest/collections/find.js +10 -1
  133. package/dist/routes/rest/collections/find.js.map +1 -1
  134. package/dist/routes/rest/collections/findByID.d.ts.map +1 -1
  135. package/dist/routes/rest/collections/findByID.js +7 -1
  136. package/dist/routes/rest/collections/findByID.js.map +1 -1
  137. package/dist/routes/rest/collections/findVersionByID.d.ts.map +1 -1
  138. package/dist/routes/rest/collections/findVersionByID.js +5 -1
  139. package/dist/routes/rest/collections/findVersionByID.js.map +1 -1
  140. package/dist/routes/rest/collections/findVersions.d.ts.map +1 -1
  141. package/dist/routes/rest/collections/findVersions.js +7 -1
  142. package/dist/routes/rest/collections/findVersions.js.map +1 -1
  143. package/dist/routes/rest/collections/restoreVersion.d.ts.map +1 -1
  144. package/dist/routes/rest/collections/restoreVersion.js +2 -0
  145. package/dist/routes/rest/collections/restoreVersion.js.map +1 -1
  146. package/dist/routes/rest/collections/update.d.ts.map +1 -1
  147. package/dist/routes/rest/collections/update.js +10 -0
  148. package/dist/routes/rest/collections/update.js.map +1 -1
  149. package/dist/routes/rest/collections/updateByID.d.ts.map +1 -1
  150. package/dist/routes/rest/collections/updateByID.js +15 -3
  151. package/dist/routes/rest/collections/updateByID.js.map +1 -1
  152. package/dist/routes/rest/files/checkFileAccess.d.ts.map +1 -1
  153. package/dist/routes/rest/files/checkFileAccess.js +7 -2
  154. package/dist/routes/rest/files/checkFileAccess.js.map +1 -1
  155. package/dist/routes/rest/files/getFile.d.ts.map +1 -1
  156. package/dist/routes/rest/files/getFile.js +6 -2
  157. package/dist/routes/rest/files/getFile.js.map +1 -1
  158. package/dist/routes/rest/globals/findOne.d.ts.map +1 -1
  159. package/dist/routes/rest/globals/findOne.js +5 -1
  160. package/dist/routes/rest/globals/findOne.js.map +1 -1
  161. package/dist/routes/rest/globals/findVersionByID.d.ts.map +1 -1
  162. package/dist/routes/rest/globals/findVersionByID.js +5 -1
  163. package/dist/routes/rest/globals/findVersionByID.js.map +1 -1
  164. package/dist/routes/rest/globals/findVersions.d.ts.map +1 -1
  165. package/dist/routes/rest/globals/findVersions.js +7 -1
  166. package/dist/routes/rest/globals/findVersions.js.map +1 -1
  167. package/dist/routes/rest/globals/restoreVersion.d.ts.map +1 -1
  168. package/dist/routes/rest/globals/restoreVersion.js +2 -0
  169. package/dist/routes/rest/globals/restoreVersion.js.map +1 -1
  170. package/dist/routes/rest/globals/update.d.ts.map +1 -1
  171. package/dist/routes/rest/globals/update.js +13 -3
  172. package/dist/routes/rest/globals/update.js.map +1 -1
  173. package/dist/routes/rest/index.d.ts +17 -12
  174. package/dist/routes/rest/index.d.ts.map +1 -1
  175. package/dist/routes/rest/index.js +132 -39
  176. package/dist/routes/rest/index.js.map +1 -1
  177. package/dist/routes/rest/og/image.d.ts +4 -2
  178. package/dist/routes/rest/og/image.d.ts.map +1 -1
  179. package/dist/routes/rest/og/image.js +14 -10
  180. package/dist/routes/rest/og/image.js.map +1 -1
  181. package/dist/routes/rest/og/index.d.ts.map +1 -1
  182. package/dist/routes/rest/og/index.js +7 -12
  183. package/dist/routes/rest/og/index.js.map +1 -1
  184. package/dist/routes/rest/routeError.d.ts +2 -7
  185. package/dist/routes/rest/routeError.d.ts.map +1 -1
  186. package/dist/routes/rest/routeError.js +43 -69
  187. package/dist/routes/rest/routeError.js.map +1 -1
  188. package/dist/routes/rest/utilities/sanitizeCollectionID.d.ts.map +1 -1
  189. package/dist/routes/rest/utilities/sanitizeCollectionID.js +6 -2
  190. package/dist/routes/rest/utilities/sanitizeCollectionID.js.map +1 -1
  191. package/dist/routes/rest/utilities/sanitizeJoinParams.d.ts +13 -0
  192. package/dist/routes/rest/utilities/sanitizeJoinParams.d.ts.map +1 -0
  193. package/dist/routes/rest/utilities/sanitizeJoinParams.js +21 -0
  194. package/dist/routes/rest/utilities/sanitizeJoinParams.js.map +1 -0
  195. package/dist/routes/rest/utilities/sanitizePopulate.d.ts +3 -0
  196. package/dist/routes/rest/utilities/sanitizePopulate.d.ts.map +1 -0
  197. package/dist/routes/rest/utilities/sanitizePopulate.js +11 -0
  198. package/dist/routes/rest/utilities/sanitizePopulate.js.map +1 -0
  199. package/dist/routes/rest/utilities/sanitizeSelect.d.ts +6 -0
  200. package/dist/routes/rest/utilities/sanitizeSelect.d.ts.map +1 -0
  201. package/dist/routes/rest/utilities/sanitizeSelect.js +17 -0
  202. package/dist/routes/rest/utilities/sanitizeSelect.js.map +1 -0
  203. package/dist/scss/app.scss +166 -162
  204. package/dist/scss/colors.scss +256 -254
  205. package/dist/scss/resets.scss +9 -7
  206. package/dist/scss/toastify.scss +42 -40
  207. package/dist/scss/toasts.scss +105 -103
  208. package/dist/scss/type.scss +80 -79
  209. package/dist/templates/Default/Wrapper/index.scss +37 -36
  210. package/dist/templates/Default/index.d.ts +2 -1
  211. package/dist/templates/Default/index.d.ts.map +1 -1
  212. package/dist/templates/Default/index.js +101 -31
  213. package/dist/templates/Default/index.js.map +1 -1
  214. package/dist/templates/Default/index.scss +62 -50
  215. package/dist/templates/Minimal/index.scss +22 -20
  216. package/dist/utilities/addDataAndFileToRequest.d.ts.map +1 -1
  217. package/dist/utilities/addDataAndFileToRequest.js.map +1 -1
  218. package/dist/utilities/addLocalesToRequest.d.ts.map +1 -1
  219. package/dist/utilities/addLocalesToRequest.js +24 -10
  220. package/dist/utilities/addLocalesToRequest.js.map +1 -1
  221. package/dist/utilities/createPayloadRequest.d.ts.map +1 -1
  222. package/dist/utilities/createPayloadRequest.js +21 -13
  223. package/dist/utilities/createPayloadRequest.js.map +1 -1
  224. package/dist/utilities/getClientConfig.d.ts +8 -0
  225. package/dist/utilities/getClientConfig.d.ts.map +1 -0
  226. package/dist/utilities/getClientConfig.js +16 -0
  227. package/dist/utilities/getClientConfig.js.map +1 -0
  228. package/dist/utilities/getNextRequestI18n.d.ts.map +1 -1
  229. package/dist/utilities/getNextRequestI18n.js +2 -2
  230. package/dist/utilities/getNextRequestI18n.js.map +1 -1
  231. package/dist/utilities/getPayloadHMR.d.ts +1 -2
  232. package/dist/utilities/getPayloadHMR.d.ts.map +1 -1
  233. package/dist/utilities/getPayloadHMR.js +4 -102
  234. package/dist/utilities/getPayloadHMR.js.map +1 -1
  235. package/dist/utilities/getRequestLocales.d.ts.map +1 -1
  236. package/dist/utilities/getRequestLocales.js +10 -6
  237. package/dist/utilities/getRequestLocales.js.map +1 -1
  238. package/dist/utilities/getRequestTheme.d.ts.map +1 -1
  239. package/dist/utilities/getRequestTheme.js +3 -0
  240. package/dist/utilities/getRequestTheme.js.map +1 -1
  241. package/dist/utilities/handleServerFunctions.d.ts +3 -0
  242. package/dist/utilities/handleServerFunctions.d.ts.map +1 -0
  243. package/dist/utilities/handleServerFunctions.js +35 -0
  244. package/dist/utilities/handleServerFunctions.js.map +1 -0
  245. package/dist/utilities/headersWithCors.d.ts.map +1 -1
  246. package/dist/utilities/headersWithCors.js.map +1 -1
  247. package/dist/utilities/initPage/handleAdminPage.d.ts +13 -11
  248. package/dist/utilities/initPage/handleAdminPage.d.ts.map +1 -1
  249. package/dist/utilities/initPage/handleAdminPage.js +16 -20
  250. package/dist/utilities/initPage/handleAdminPage.js.map +1 -1
  251. package/dist/utilities/initPage/handleAuthRedirect.d.ts +6 -3
  252. package/dist/utilities/initPage/handleAuthRedirect.d.ts.map +1 -1
  253. package/dist/utilities/initPage/handleAuthRedirect.js +23 -34
  254. package/dist/utilities/initPage/handleAuthRedirect.js.map +1 -1
  255. package/dist/utilities/initPage/index.d.ts +1 -1
  256. package/dist/utilities/initPage/index.d.ts.map +1 -1
  257. package/dist/utilities/initPage/index.js +57 -48
  258. package/dist/utilities/initPage/index.js.map +1 -1
  259. package/dist/utilities/initPage/isCustomAdminView.d.ts +10 -0
  260. package/dist/utilities/initPage/isCustomAdminView.d.ts.map +1 -0
  261. package/dist/utilities/initPage/isCustomAdminView.js +31 -0
  262. package/dist/utilities/initPage/isCustomAdminView.js.map +1 -0
  263. package/dist/utilities/initPage/shared.d.ts +2 -2
  264. package/dist/utilities/initPage/shared.d.ts.map +1 -1
  265. package/dist/utilities/initPage/shared.js +19 -13
  266. package/dist/utilities/initPage/shared.js.map +1 -1
  267. package/dist/utilities/initReq.d.ts +11 -0
  268. package/dist/utilities/initReq.d.ts.map +1 -0
  269. package/dist/utilities/initReq.js +45 -0
  270. package/dist/utilities/initReq.js.map +1 -0
  271. package/dist/utilities/timestamp.d.ts.map +1 -1
  272. package/dist/utilities/timestamp.js +3 -1
  273. package/dist/utilities/timestamp.js.map +1 -1
  274. package/dist/views/API/LocaleSelector/index.js +2 -2
  275. package/dist/views/API/LocaleSelector/index.js.map +1 -1
  276. package/dist/views/API/RenderJSON/index.d.ts +1 -1
  277. package/dist/views/API/RenderJSON/index.d.ts.map +1 -1
  278. package/dist/views/API/RenderJSON/index.js.map +1 -1
  279. package/dist/views/API/RenderJSON/index.scss +68 -66
  280. package/dist/views/API/index.client.d.ts.map +1 -1
  281. package/dist/views/API/index.client.js +16 -16
  282. package/dist/views/API/index.client.js.map +1 -1
  283. package/dist/views/API/index.scss +98 -96
  284. package/dist/views/Account/Settings/index.d.ts +2 -1
  285. package/dist/views/Account/Settings/index.d.ts.map +1 -1
  286. package/dist/views/Account/Settings/index.js +3 -3
  287. package/dist/views/Account/Settings/index.js.map +1 -1
  288. package/dist/views/Account/Settings/index.scss +37 -35
  289. package/dist/views/Account/ToggleTheme/index.d.ts.map +1 -1
  290. package/dist/views/Account/ToggleTheme/index.js +2 -0
  291. package/dist/views/Account/ToggleTheme/index.js.map +1 -1
  292. package/dist/views/Account/index.d.ts.map +1 -1
  293. package/dist/views/Account/index.js +86 -31
  294. package/dist/views/Account/index.js.map +1 -1
  295. package/dist/views/CreateFirstUser/index.client.d.ts +4 -2
  296. package/dist/views/CreateFirstUser/index.client.d.ts.map +1 -1
  297. package/dist/views/CreateFirstUser/index.client.js +86 -92
  298. package/dist/views/CreateFirstUser/index.client.js.map +1 -1
  299. package/dist/views/CreateFirstUser/index.d.ts.map +1 -1
  300. package/dist/views/CreateFirstUser/index.js +36 -4
  301. package/dist/views/CreateFirstUser/index.js.map +1 -1
  302. package/dist/views/CreateFirstUser/index.scss +18 -6
  303. package/dist/views/Dashboard/Default/index.d.ts +11 -2
  304. package/dist/views/Dashboard/Default/index.d.ts.map +1 -1
  305. package/dist/views/Dashboard/Default/index.js +70 -47
  306. package/dist/views/Dashboard/Default/index.js.map +1 -1
  307. package/dist/views/Dashboard/Default/index.scss +53 -46
  308. package/dist/views/Dashboard/index.d.ts.map +1 -1
  309. package/dist/views/Dashboard/index.js +57 -24
  310. package/dist/views/Dashboard/index.js.map +1 -1
  311. package/dist/views/Document/getDocPreferences.d.ts +11 -0
  312. package/dist/views/Document/getDocPreferences.d.ts.map +1 -0
  313. package/dist/views/Document/getDocPreferences.js +44 -0
  314. package/dist/views/Document/getDocPreferences.js.map +1 -0
  315. package/dist/views/Document/getDocumentData.d.ts +10 -8
  316. package/dist/views/Document/getDocumentData.d.ts.map +1 -1
  317. package/dist/views/Document/getDocumentData.js +35 -34
  318. package/dist/views/Document/getDocumentData.js.map +1 -1
  319. package/dist/views/Document/getDocumentPermissions.d.ts +2 -2
  320. package/dist/views/Document/getDocumentPermissions.d.ts.map +1 -1
  321. package/dist/views/Document/getDocumentPermissions.js +14 -8
  322. package/dist/views/Document/getDocumentPermissions.js.map +1 -1
  323. package/dist/views/Document/getIsLocked.d.ts +16 -0
  324. package/dist/views/Document/getIsLocked.d.ts.map +1 -0
  325. package/dist/views/Document/getIsLocked.js +55 -0
  326. package/dist/views/Document/getIsLocked.js.map +1 -0
  327. package/dist/views/Document/getMetaBySegment.d.ts +2 -2
  328. package/dist/views/Document/getMetaBySegment.d.ts.map +1 -1
  329. package/dist/views/Document/getMetaBySegment.js.map +1 -1
  330. package/dist/views/Document/getVersions.d.ts +19 -0
  331. package/dist/views/Document/getVersions.d.ts.map +1 -0
  332. package/dist/views/Document/getVersions.js +181 -0
  333. package/dist/views/Document/getVersions.js.map +1 -0
  334. package/dist/views/Document/getViewsFromConfig.d.ts +3 -3
  335. package/dist/views/Document/getViewsFromConfig.d.ts.map +1 -1
  336. package/dist/views/Document/getViewsFromConfig.js +30 -25
  337. package/dist/views/Document/getViewsFromConfig.js.map +1 -1
  338. package/dist/views/Document/handleServerFunction.d.ts +25 -0
  339. package/dist/views/Document/handleServerFunction.d.ts.map +1 -0
  340. package/dist/views/Document/handleServerFunction.js +159 -0
  341. package/dist/views/Document/handleServerFunction.js.map +1 -0
  342. package/dist/views/Document/index.d.ts +5 -1
  343. package/dist/views/Document/index.d.ts.map +1 -1
  344. package/dist/views/Document/index.js +184 -73
  345. package/dist/views/Document/index.js.map +1 -1
  346. package/dist/views/Document/renderDocumentSlots.d.ts +12 -0
  347. package/dist/views/Document/renderDocumentSlots.d.ts.map +1 -0
  348. package/dist/views/Document/renderDocumentSlots.js +92 -0
  349. package/dist/views/Document/renderDocumentSlots.js.map +1 -0
  350. package/dist/views/Edit/index.d.ts +3 -2
  351. package/dist/views/Edit/index.d.ts.map +1 -1
  352. package/dist/views/Edit/index.js +7 -3
  353. package/dist/views/Edit/index.js.map +1 -1
  354. package/dist/views/ForgotPassword/ForgotPasswordForm/index.d.ts.map +1 -1
  355. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +17 -12
  356. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -1
  357. package/dist/views/ForgotPassword/index.d.ts.map +1 -1
  358. package/dist/views/ForgotPassword/index.js +11 -9
  359. package/dist/views/ForgotPassword/index.js.map +1 -1
  360. package/dist/views/List/handleServerFunction.d.ts +27 -0
  361. package/dist/views/List/handleServerFunction.d.ts.map +1 -0
  362. package/dist/views/List/handleServerFunction.js +158 -0
  363. package/dist/views/List/handleServerFunction.js.map +1 -0
  364. package/dist/views/List/index.d.ts +12 -2
  365. package/dist/views/List/index.d.ts.map +1 -1
  366. package/dist/views/List/index.js +146 -85
  367. package/dist/views/List/index.js.map +1 -1
  368. package/dist/views/List/renderListViewSlots.d.ts +12 -0
  369. package/dist/views/List/renderListViewSlots.d.ts.map +1 -0
  370. package/dist/views/List/renderListViewSlots.js +56 -0
  371. package/dist/views/List/renderListViewSlots.js.map +1 -0
  372. package/dist/views/LivePreview/Context/context.d.ts +1 -1
  373. package/dist/views/LivePreview/Context/context.d.ts.map +1 -1
  374. package/dist/views/LivePreview/Context/context.js.map +1 -1
  375. package/dist/views/LivePreview/Context/index.d.ts.map +1 -1
  376. package/dist/views/LivePreview/Context/index.js +3 -1
  377. package/dist/views/LivePreview/Context/index.js.map +1 -1
  378. package/dist/views/LivePreview/Context/sizeReducer.d.ts +1 -1
  379. package/dist/views/LivePreview/Context/sizeReducer.d.ts.map +1 -1
  380. package/dist/views/LivePreview/Context/sizeReducer.js +4 -4
  381. package/dist/views/LivePreview/Context/sizeReducer.js.map +1 -1
  382. package/dist/views/LivePreview/Device/index.d.ts.map +1 -1
  383. package/dist/views/LivePreview/Device/index.js +6 -2
  384. package/dist/views/LivePreview/Device/index.js.map +1 -1
  385. package/dist/views/LivePreview/IFrame/index.scss +8 -6
  386. package/dist/views/LivePreview/Preview/index.scss +32 -30
  387. package/dist/views/LivePreview/Toolbar/Controls/index.js +1 -1
  388. package/dist/views/LivePreview/Toolbar/Controls/index.js.map +1 -1
  389. package/dist/views/LivePreview/Toolbar/Controls/index.scss +49 -47
  390. package/dist/views/LivePreview/Toolbar/SizeInput/index.d.ts.map +1 -1
  391. package/dist/views/LivePreview/Toolbar/SizeInput/index.js.map +1 -1
  392. package/dist/views/LivePreview/Toolbar/SizeInput/index.scss +11 -9
  393. package/dist/views/LivePreview/Toolbar/index.scss +33 -31
  394. package/dist/views/LivePreview/ToolbarArea/index.scss +5 -3
  395. package/dist/views/LivePreview/index.client.d.ts.map +1 -1
  396. package/dist/views/LivePreview/index.client.js +234 -210
  397. package/dist/views/LivePreview/index.client.js.map +1 -1
  398. package/dist/views/LivePreview/index.d.ts.map +1 -1
  399. package/dist/views/LivePreview/index.js +5 -36
  400. package/dist/views/LivePreview/index.js.map +1 -1
  401. package/dist/views/LivePreview/index.scss +48 -46
  402. package/dist/views/LivePreview/usePopupWindow.d.ts +1 -1
  403. package/dist/views/LivePreview/usePopupWindow.d.ts.map +1 -1
  404. package/dist/views/LivePreview/usePopupWindow.js +119 -74
  405. package/dist/views/LivePreview/usePopupWindow.js.map +1 -1
  406. package/dist/views/Login/LoginField/index.d.ts.map +1 -1
  407. package/dist/views/Login/LoginField/index.js +6 -1
  408. package/dist/views/Login/LoginField/index.js.map +1 -1
  409. package/dist/views/Login/LoginForm/index.d.ts.map +1 -1
  410. package/dist/views/Login/LoginForm/index.js +31 -13
  411. package/dist/views/Login/LoginForm/index.js.map +1 -1
  412. package/dist/views/Login/LoginForm/index.scss +8 -6
  413. package/dist/views/Login/index.d.ts.map +1 -1
  414. package/dist/views/Login/index.js +26 -20
  415. package/dist/views/Login/index.js.map +1 -1
  416. package/dist/views/Login/index.scss +8 -6
  417. package/dist/views/Logout/LogoutClient.d.ts +1 -0
  418. package/dist/views/Logout/LogoutClient.d.ts.map +1 -1
  419. package/dist/views/Logout/LogoutClient.js +82 -57
  420. package/dist/views/Logout/LogoutClient.js.map +1 -1
  421. package/dist/views/Logout/index.d.ts.map +1 -1
  422. package/dist/views/Logout/index.js +1 -1
  423. package/dist/views/Logout/index.js.map +1 -1
  424. package/dist/views/Logout/index.scss +19 -14
  425. package/dist/views/NotFound/index.client.d.ts.map +1 -1
  426. package/dist/views/NotFound/index.client.js +8 -5
  427. package/dist/views/NotFound/index.client.js.map +1 -1
  428. package/dist/views/NotFound/index.d.ts +5 -5
  429. package/dist/views/NotFound/index.d.ts.map +1 -1
  430. package/dist/views/NotFound/index.js +7 -2
  431. package/dist/views/NotFound/index.js.map +1 -1
  432. package/dist/views/NotFound/index.scss +41 -21
  433. package/dist/views/ResetPassword/ResetPasswordForm/index.d.ts +7 -0
  434. package/dist/views/ResetPassword/ResetPasswordForm/index.d.ts.map +1 -0
  435. package/dist/views/ResetPassword/{index.client.js → ResetPasswordForm/index.js} +26 -25
  436. package/dist/views/ResetPassword/ResetPasswordForm/index.js.map +1 -0
  437. package/dist/views/ResetPassword/index.d.ts.map +1 -1
  438. package/dist/views/ResetPassword/index.js +48 -45
  439. package/dist/views/ResetPassword/index.js.map +1 -1
  440. package/dist/views/ResetPassword/index.scss +9 -3
  441. package/dist/views/Root/getViewFromConfig.d.ts +3 -1
  442. package/dist/views/Root/getViewFromConfig.d.ts.map +1 -1
  443. package/dist/views/Root/getViewFromConfig.js +131 -16
  444. package/dist/views/Root/getViewFromConfig.js.map +1 -1
  445. package/dist/views/Root/index.d.ts +5 -5
  446. package/dist/views/Root/index.d.ts.map +1 -1
  447. package/dist/views/Root/index.js +44 -19
  448. package/dist/views/Root/index.js.map +1 -1
  449. package/dist/views/Root/isPathMatchingRoute.d.ts.map +1 -1
  450. package/dist/views/Root/isPathMatchingRoute.js +6 -2
  451. package/dist/views/Root/isPathMatchingRoute.js.map +1 -1
  452. package/dist/views/Root/meta.d.ts +5 -5
  453. package/dist/views/Root/meta.d.ts.map +1 -1
  454. package/dist/views/Root/meta.js +3 -2
  455. package/dist/views/Root/meta.js.map +1 -1
  456. package/dist/views/Unauthorized/index.d.ts.map +1 -1
  457. package/dist/views/Unauthorized/index.js +15 -8
  458. package/dist/views/Unauthorized/index.js.map +1 -1
  459. package/dist/views/Unauthorized/index.scss +4 -31
  460. package/dist/views/Verify/index.client.d.ts +7 -0
  461. package/dist/views/Verify/index.client.d.ts.map +1 -0
  462. package/dist/views/Verify/index.client.js +46 -0
  463. package/dist/views/Verify/index.client.js.map +1 -0
  464. package/dist/views/Verify/index.d.ts.map +1 -1
  465. package/dist/views/Verify/index.js +13 -11
  466. package/dist/views/Verify/index.js.map +1 -1
  467. package/dist/views/Verify/index.scss +13 -11
  468. package/dist/views/Version/Default/SetStepNav.js +23 -24
  469. package/dist/views/Version/Default/SetStepNav.js.map +1 -1
  470. package/dist/views/Version/Default/index.d.ts.map +1 -1
  471. package/dist/views/Version/Default/index.js +5 -5
  472. package/dist/views/Version/Default/index.js.map +1 -1
  473. package/dist/views/Version/Default/index.scss +52 -50
  474. package/dist/views/Version/Default/types.d.ts +2 -2
  475. package/dist/views/Version/Default/types.d.ts.map +1 -1
  476. package/dist/views/Version/Default/types.js.map +1 -1
  477. package/dist/views/Version/RenderFieldsToDiff/Label/index.scss +5 -3
  478. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.d.ts.map +1 -1
  479. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +4 -2
  480. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
  481. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.scss +29 -27
  482. package/dist/views/Version/RenderFieldsToDiff/fields/Nested/index.js +1 -1
  483. package/dist/views/Version/RenderFieldsToDiff/fields/Nested/index.js.map +1 -1
  484. package/dist/views/Version/RenderFieldsToDiff/fields/Nested/index.scss +11 -9
  485. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.scss +12 -10
  486. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.d.ts.map +1 -1
  487. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js +3 -1
  488. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js.map +1 -1
  489. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.scss +12 -10
  490. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.d.ts.map +1 -1
  491. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js +9 -3
  492. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js.map +1 -1
  493. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.scss +12 -10
  494. package/dist/views/Version/RenderFieldsToDiff/fields/types.d.ts +4 -2
  495. package/dist/views/Version/RenderFieldsToDiff/fields/types.d.ts.map +1 -1
  496. package/dist/views/Version/RenderFieldsToDiff/fields/types.js.map +1 -1
  497. package/dist/views/Version/RenderFieldsToDiff/index.d.ts.map +1 -1
  498. package/dist/views/Version/RenderFieldsToDiff/index.js +10 -6
  499. package/dist/views/Version/RenderFieldsToDiff/index.js.map +1 -1
  500. package/dist/views/Version/RenderFieldsToDiff/index.scss +12 -10
  501. package/dist/views/Version/RenderFieldsToDiff/types.d.ts +4 -2
  502. package/dist/views/Version/RenderFieldsToDiff/types.d.ts.map +1 -1
  503. package/dist/views/Version/RenderFieldsToDiff/types.js.map +1 -1
  504. package/dist/views/Version/Restore/index.d.ts.map +1 -1
  505. package/dist/views/Version/Restore/index.js +32 -30
  506. package/dist/views/Version/Restore/index.js.map +1 -1
  507. package/dist/views/Version/Restore/index.scss +60 -42
  508. package/dist/views/Version/SelectComparison/index.d.ts.map +1 -1
  509. package/dist/views/Version/SelectComparison/index.js +27 -4
  510. package/dist/views/Version/SelectComparison/index.js.map +1 -1
  511. package/dist/views/Version/SelectComparison/index.scss +12 -10
  512. package/dist/views/Version/SelectComparison/types.d.ts +1 -0
  513. package/dist/views/Version/SelectComparison/types.d.ts.map +1 -1
  514. package/dist/views/Version/SelectComparison/types.js.map +1 -1
  515. package/dist/views/Version/SelectLocales/index.d.ts.map +1 -1
  516. package/dist/views/Version/SelectLocales/index.js.map +1 -1
  517. package/dist/views/Version/SelectLocales/index.scss +6 -4
  518. package/dist/views/Version/index.d.ts.map +1 -1
  519. package/dist/views/Version/index.js +2 -0
  520. package/dist/views/Version/index.js.map +1 -1
  521. package/dist/views/Versions/buildColumns.d.ts +3 -2
  522. package/dist/views/Versions/buildColumns.d.ts.map +1 -1
  523. package/dist/views/Versions/buildColumns.js +47 -60
  524. package/dist/views/Versions/buildColumns.js.map +1 -1
  525. package/dist/views/Versions/cells/AutosaveCell/index.d.ts +7 -0
  526. package/dist/views/Versions/cells/AutosaveCell/index.d.ts.map +1 -1
  527. package/dist/views/Versions/cells/AutosaveCell/index.js +66 -27
  528. package/dist/views/Versions/cells/AutosaveCell/index.js.map +1 -1
  529. package/dist/views/Versions/cells/CreatedAt/index.d.ts +4 -0
  530. package/dist/views/Versions/cells/CreatedAt/index.d.ts.map +1 -1
  531. package/dist/views/Versions/cells/CreatedAt/index.js +43 -44
  532. package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
  533. package/dist/views/Versions/cells/ID/index.d.ts +3 -1
  534. package/dist/views/Versions/cells/ID/index.d.ts.map +1 -1
  535. package/dist/views/Versions/cells/ID/index.js +7 -19
  536. package/dist/views/Versions/cells/ID/index.js.map +1 -1
  537. package/dist/views/Versions/getLatestVersion.d.ts +1 -0
  538. package/dist/views/Versions/getLatestVersion.d.ts.map +1 -1
  539. package/dist/views/Versions/getLatestVersion.js +15 -4
  540. package/dist/views/Versions/getLatestVersion.js.map +1 -1
  541. package/dist/views/Versions/index.client.d.ts.map +1 -1
  542. package/dist/views/Versions/index.client.js +53 -51
  543. package/dist/views/Versions/index.client.js.map +1 -1
  544. package/dist/views/Versions/index.d.ts.map +1 -1
  545. package/dist/views/Versions/index.js +35 -13
  546. package/dist/views/Versions/index.js.map +1 -1
  547. package/dist/views/Versions/index.scss +78 -76
  548. package/dist/withPayload.d.ts.map +1 -1
  549. package/dist/withPayload.js +23 -5
  550. package/dist/withPayload.js.map +1 -1
  551. package/license.md +22 -0
  552. package/package.json +37 -22
  553. package/dist/cjs/withPayload.js +0 -111
  554. package/dist/cjs/withPayload.js.map +0 -1
  555. package/dist/elements/EmailAndUsername/index.d.ts +0 -14
  556. package/dist/elements/EmailAndUsername/index.d.ts.map +0 -1
  557. package/dist/elements/EmailAndUsername/index.js +0 -121
  558. package/dist/elements/EmailAndUsername/index.js.map +0 -1
  559. package/dist/elements/LeaveWithoutSaving/index.d.ts +0 -4
  560. package/dist/elements/LeaveWithoutSaving/index.d.ts.map +0 -1
  561. package/dist/elements/LeaveWithoutSaving/index.js +0 -162
  562. package/dist/elements/LeaveWithoutSaving/index.js.map +0 -1
  563. package/dist/elements/LeaveWithoutSaving/index.scss +0 -37
  564. package/dist/elements/LeaveWithoutSaving/usePreventLeave.d.ts +0 -9
  565. package/dist/elements/LeaveWithoutSaving/usePreventLeave.d.ts.map +0 -1
  566. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js +0 -134
  567. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js.map +0 -1
  568. package/dist/routes/rest/buildFormState.d.ts +0 -5
  569. package/dist/routes/rest/buildFormState.d.ts.map +0 -1
  570. package/dist/routes/rest/buildFormState.js +0 -46
  571. package/dist/routes/rest/buildFormState.js.map +0 -1
  572. package/dist/views/Edit/Default/Auth/APIKey.d.ts +0 -6
  573. package/dist/views/Edit/Default/Auth/APIKey.d.ts.map +0 -1
  574. package/dist/views/Edit/Default/Auth/APIKey.js +0 -131
  575. package/dist/views/Edit/Default/Auth/APIKey.js.map +0 -1
  576. package/dist/views/Edit/Default/Auth/index.d.ts +0 -5
  577. package/dist/views/Edit/Default/Auth/index.d.ts.map +0 -1
  578. package/dist/views/Edit/Default/Auth/index.js +0 -307
  579. package/dist/views/Edit/Default/Auth/index.js.map +0 -1
  580. package/dist/views/Edit/Default/Auth/index.scss +0 -76
  581. package/dist/views/Edit/Default/Auth/types.d.ts +0 -17
  582. package/dist/views/Edit/Default/Auth/types.d.ts.map +0 -1
  583. package/dist/views/Edit/Default/Auth/types.js +0 -2
  584. package/dist/views/Edit/Default/Auth/types.js.map +0 -1
  585. package/dist/views/Edit/Default/SetDocumentStepNav/index.d.ts +0 -11
  586. package/dist/views/Edit/Default/SetDocumentStepNav/index.d.ts.map +0 -1
  587. package/dist/views/Edit/Default/SetDocumentStepNav/index.js +0 -130
  588. package/dist/views/Edit/Default/SetDocumentStepNav/index.js.map +0 -1
  589. package/dist/views/Edit/Default/SetDocumentTitle/index.d.ts +0 -8
  590. package/dist/views/Edit/Default/SetDocumentTitle/index.d.ts.map +0 -1
  591. package/dist/views/Edit/Default/SetDocumentTitle/index.js +0 -81
  592. package/dist/views/Edit/Default/SetDocumentTitle/index.js.map +0 -1
  593. package/dist/views/Edit/Default/index.d.ts +0 -4
  594. package/dist/views/Edit/Default/index.d.ts.map +0 -1
  595. package/dist/views/Edit/Default/index.js +0 -212
  596. package/dist/views/Edit/Default/index.js.map +0 -1
  597. package/dist/views/Edit/Default/index.scss +0 -21
  598. package/dist/views/Edit/Default/types.d.ts +0 -6
  599. package/dist/views/Edit/Default/types.d.ts.map +0 -1
  600. package/dist/views/Edit/Default/types.js +0 -2
  601. package/dist/views/Edit/Default/types.js.map +0 -1
  602. package/dist/views/Edit/index.client.d.ts +0 -3
  603. package/dist/views/Edit/index.client.d.ts.map +0 -1
  604. package/dist/views/Edit/index.client.js +0 -54
  605. package/dist/views/Edit/index.client.js.map +0 -1
  606. package/dist/views/List/Default/index.d.ts +0 -4
  607. package/dist/views/List/Default/index.d.ts.map +0 -1
  608. package/dist/views/List/Default/index.js +0 -363
  609. package/dist/views/List/Default/index.js.map +0 -1
  610. package/dist/views/List/Default/index.scss +0 -177
  611. package/dist/views/List/Default/types.d.ts +0 -15
  612. package/dist/views/List/Default/types.d.ts.map +0 -1
  613. package/dist/views/List/Default/types.js +0 -2
  614. package/dist/views/List/Default/types.js.map +0 -1
  615. package/dist/views/ResetPassword/index.client.d.ts +0 -7
  616. package/dist/views/ResetPassword/index.client.d.ts.map +0 -1
  617. package/dist/views/ResetPassword/index.client.js.map +0 -1
@@ -2,6 +2,8 @@ import httpStatus from 'http-status';
2
2
  import { updateOperationGlobal } from 'payload';
3
3
  import { isNumber } from 'payload/shared';
4
4
  import { headersWithCors } from '../../../utilities/headersWithCors.js';
5
+ import { sanitizePopulate } from '../utilities/sanitizePopulate.js';
6
+ import { sanitizeSelect } from '../utilities/sanitizeSelect.js';
5
7
  export const update = async ({
6
8
  globalConfig,
7
9
  req
@@ -12,6 +14,7 @@ export const update = async ({
12
14
  const depth = searchParams.get('depth');
13
15
  const draft = searchParams.get('draft') === 'true';
14
16
  const autosave = searchParams.get('autosave') === 'true';
17
+ const publishSpecificLocale = req.query.publishSpecificLocale;
15
18
  const result = await updateOperationGlobal({
16
19
  slug: globalConfig.slug,
17
20
  autosave,
@@ -19,11 +22,18 @@ export const update = async ({
19
22
  depth: isNumber(depth) ? Number(depth) : undefined,
20
23
  draft,
21
24
  globalConfig,
22
- req
25
+ populate: sanitizePopulate(req.query.populate),
26
+ publishSpecificLocale,
27
+ req,
28
+ select: sanitizeSelect(req.query.select)
23
29
  });
24
30
  let message = req.t('general:updatedSuccessfully');
25
- if (draft) message = req.t('version:draftSavedSuccessfully');
26
- if (autosave) message = req.t('version:autosavedSuccessfully');
31
+ if (draft) {
32
+ message = req.t('version:draftSavedSuccessfully');
33
+ }
34
+ if (autosave) {
35
+ message = req.t('version:autosavedSuccessfully');
36
+ }
27
37
  return Response.json({
28
38
  message,
29
39
  result
@@ -1 +1 @@
1
- {"version":3,"file":"update.js","names":["httpStatus","updateOperationGlobal","isNumber","headersWithCors","update","globalConfig","req","searchParams","depth","get","draft","autosave","result","slug","data","Number","undefined","message","t","Response","json","headers","Headers","status","OK"],"sources":["../../../../src/routes/rest/globals/update.ts"],"sourcesContent":["import httpStatus from 'http-status'\nimport { updateOperationGlobal } from 'payload'\nimport { isNumber } from 'payload/shared'\n\nimport type { GlobalRouteHandler } from '../types.js'\n\nimport { headersWithCors } from '../../../utilities/headersWithCors.js'\n\nexport const update: GlobalRouteHandler = async ({ globalConfig, req }) => {\n const { searchParams } = req\n const depth = searchParams.get('depth')\n const draft = searchParams.get('draft') === 'true'\n const autosave = searchParams.get('autosave') === 'true'\n\n const result = await updateOperationGlobal({\n slug: globalConfig.slug,\n autosave,\n data: req.data,\n depth: isNumber(depth) ? Number(depth) : undefined,\n draft,\n globalConfig,\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 message,\n result,\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,qBAAqB,QAAQ;AACtC,SAASC,QAAQ,QAAQ;AAIzB,SAASC,eAAe,QAAQ;AAEhC,OAAO,MAAMC,MAAA,GAA6B,MAAAA,CAAO;EAAEC,YAAY;EAAEC;AAAG,CAAE;EACpE,MAAM;IAAEC;EAAY,CAAE,GAAGD,GAAA;EACzB,MAAME,KAAA,GAAQD,YAAA,CAAaE,GAAG,CAAC;EAC/B,MAAMC,KAAA,GAAQH,YAAA,CAAaE,GAAG,CAAC,aAAa;EAC5C,MAAME,QAAA,GAAWJ,YAAA,CAAaE,GAAG,CAAC,gBAAgB;EAElD,MAAMG,MAAA,GAAS,MAAMX,qBAAA,CAAsB;IACzCY,IAAA,EAAMR,YAAA,CAAaQ,IAAI;IACvBF,QAAA;IACAG,IAAA,EAAMR,GAAA,CAAIQ,IAAI;IACdN,KAAA,EAAON,QAAA,CAASM,KAAA,IAASO,MAAA,CAAOP,KAAA,IAASQ,SAAA;IACzCN,KAAA;IACAL,YAAA;IACAC;EACF;EAEA,IAAIW,OAAA,GAAUX,GAAA,CAAIY,CAAC,CAAC;EAEpB,IAAIR,KAAA,EAAOO,OAAA,GAAUX,GAAA,CAAIY,CAAC,CAAC;EAC3B,IAAIP,QAAA,EAAUM,OAAA,GAAUX,GAAA,CAAIY,CAAC,CAAC;EAE9B,OAAOC,QAAA,CAASC,IAAI,CAClB;IACEH,OAAA;IACAL;EACF,GACA;IACES,OAAA,EAASlB,eAAA,CAAgB;MACvBkB,OAAA,EAAS,IAAIC,OAAA;MACbhB;IACF;IACAiB,MAAA,EAAQvB,UAAA,CAAWwB;EACrB;AAEJ","ignoreList":[]}
1
+ {"version":3,"file":"update.js","names":["httpStatus","updateOperationGlobal","isNumber","headersWithCors","sanitizePopulate","sanitizeSelect","update","globalConfig","req","searchParams","depth","get","draft","autosave","publishSpecificLocale","query","result","slug","data","Number","undefined","populate","select","message","t","Response","json","headers","Headers","status","OK"],"sources":["../../../../src/routes/rest/globals/update.ts"],"sourcesContent":["import httpStatus from 'http-status'\nimport { updateOperationGlobal } from 'payload'\nimport { isNumber } from 'payload/shared'\n\nimport type { GlobalRouteHandler } from '../types.js'\n\nimport { headersWithCors } from '../../../utilities/headersWithCors.js'\nimport { sanitizePopulate } from '../utilities/sanitizePopulate.js'\nimport { sanitizeSelect } from '../utilities/sanitizeSelect.js'\n\nexport const update: GlobalRouteHandler = async ({ globalConfig, req }) => {\n const { searchParams } = req\n const depth = searchParams.get('depth')\n const draft = searchParams.get('draft') === 'true'\n const autosave = searchParams.get('autosave') === 'true'\n const publishSpecificLocale = req.query.publishSpecificLocale as string | undefined\n\n const result = await updateOperationGlobal({\n slug: globalConfig.slug,\n autosave,\n data: req.data,\n depth: isNumber(depth) ? Number(depth) : undefined,\n draft,\n globalConfig,\n populate: sanitizePopulate(req.query.populate),\n publishSpecificLocale,\n req,\n select: sanitizeSelect(req.query.select),\n })\n\n let message = req.t('general:updatedSuccessfully')\n\n if (draft) {\n message = req.t('version:draftSavedSuccessfully')\n }\n if (autosave) {\n message = req.t('version:autosavedSuccessfully')\n }\n\n return Response.json(\n {\n message,\n result,\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,qBAAqB,QAAQ;AACtC,SAASC,QAAQ,QAAQ;AAIzB,SAASC,eAAe,QAAQ;AAChC,SAASC,gBAAgB,QAAQ;AACjC,SAASC,cAAc,QAAQ;AAE/B,OAAO,MAAMC,MAAA,GAA6B,MAAAA,CAAO;EAAEC,YAAY;EAAEC;AAAG,CAAE;EACpE,MAAM;IAAEC;EAAY,CAAE,GAAGD,GAAA;EACzB,MAAME,KAAA,GAAQD,YAAA,CAAaE,GAAG,CAAC;EAC/B,MAAMC,KAAA,GAAQH,YAAA,CAAaE,GAAG,CAAC,aAAa;EAC5C,MAAME,QAAA,GAAWJ,YAAA,CAAaE,GAAG,CAAC,gBAAgB;EAClD,MAAMG,qBAAA,GAAwBN,GAAA,CAAIO,KAAK,CAACD,qBAAqB;EAE7D,MAAME,MAAA,GAAS,MAAMf,qBAAA,CAAsB;IACzCgB,IAAA,EAAMV,YAAA,CAAaU,IAAI;IACvBJ,QAAA;IACAK,IAAA,EAAMV,GAAA,CAAIU,IAAI;IACdR,KAAA,EAAOR,QAAA,CAASQ,KAAA,IAASS,MAAA,CAAOT,KAAA,IAASU,SAAA;IACzCR,KAAA;IACAL,YAAA;IACAc,QAAA,EAAUjB,gBAAA,CAAiBI,GAAA,CAAIO,KAAK,CAACM,QAAQ;IAC7CP,qBAAA;IACAN,GAAA;IACAc,MAAA,EAAQjB,cAAA,CAAeG,GAAA,CAAIO,KAAK,CAACO,MAAM;EACzC;EAEA,IAAIC,OAAA,GAAUf,GAAA,CAAIgB,CAAC,CAAC;EAEpB,IAAIZ,KAAA,EAAO;IACTW,OAAA,GAAUf,GAAA,CAAIgB,CAAC,CAAC;EAClB;EACA,IAAIX,QAAA,EAAU;IACZU,OAAA,GAAUf,GAAA,CAAIgB,CAAC,CAAC;EAClB;EAEA,OAAOC,QAAA,CAASC,IAAI,CAClB;IACEH,OAAA;IACAP;EACF,GACA;IACEW,OAAA,EAASxB,eAAA,CAAgB;MACvBwB,OAAA,EAAS,IAAIC,OAAA;MACbpB;IACF;IACAqB,MAAA,EAAQ7B,UAAA,CAAW8B;EACrB;AAEJ","ignoreList":[]}
@@ -1,23 +1,28 @@
1
1
  import type { SanitizedConfig } from 'payload';
2
2
  export declare const OPTIONS: (config: Promise<SanitizedConfig> | SanitizedConfig) => (request: Request) => Promise<Response>;
3
- export declare const GET: (config: Promise<SanitizedConfig> | SanitizedConfig) => (request: Request, { params: { slug } }: {
4
- params: {
3
+ export declare const GET: (config: Promise<SanitizedConfig> | SanitizedConfig) => (request: Request, { params: paramsPromise }: {
4
+ params: Promise<{
5
5
  slug: string[];
6
- };
6
+ }>;
7
7
  }) => Promise<Response>;
8
- export declare const POST: (config: Promise<SanitizedConfig> | SanitizedConfig) => (request: Request, { params: { slug } }: {
9
- params: {
8
+ export declare const POST: (config: Promise<SanitizedConfig> | SanitizedConfig) => (request: Request, { params: paramsPromise }: {
9
+ params: Promise<{
10
10
  slug: string[];
11
- };
11
+ }>;
12
12
  }) => Promise<Response>;
13
- export declare const DELETE: (config: Promise<SanitizedConfig> | SanitizedConfig) => (request: Request, { params: { slug } }: {
14
- params: {
13
+ export declare const DELETE: (config: Promise<SanitizedConfig> | SanitizedConfig) => (request: Request, { params: paramsPromise }: {
14
+ params: Promise<{
15
15
  slug: string[];
16
- };
16
+ }>;
17
17
  }) => Promise<Response>;
18
- export declare const PATCH: (config: Promise<SanitizedConfig> | SanitizedConfig) => (request: Request, { params: { slug } }: {
19
- params: {
18
+ export declare const PATCH: (config: Promise<SanitizedConfig> | SanitizedConfig) => (request: Request, { params: paramsPromise }: {
19
+ params: Promise<{
20
20
  slug: string[];
21
- };
21
+ }>;
22
+ }) => Promise<Response>;
23
+ export declare const PUT: (config: Promise<SanitizedConfig> | SanitizedConfig) => (request: Request, { params: paramsPromise }: {
24
+ params: Promise<{
25
+ slug: string[];
26
+ }>;
22
27
  }) => Promise<Response>;
23
28
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/routes/rest/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAsD,eAAe,EAAE,MAAM,SAAS,CAAA;AAwMlG,eAAO,MAAM,OAAO,WACT,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,eAAqB,OAAO,sBA0B9E,CAAA;AAEH,eAAO,MAAM,GAAG,WACL,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,eACnC,OAAO,wBAAwB;IAAE,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,EAAE,CAAA;KAAE,CAAA;CAAE,sBA4L5E,CAAA;AAEH,eAAO,MAAM,IAAI,WACN,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,eACnC,OAAO,wBAAwB;IAAE,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,EAAE,CAAA;KAAE,CAAA;CAAE,sBAkL5E,CAAA;AAEH,eAAO,MAAM,MAAM,WACR,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,eACnC,OAAO,wBAAwB;IAAE,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,EAAE,CAAA;KAAE,CAAA;CAAE,sBA0F5E,CAAA;AAEH,eAAO,MAAM,KAAK,WACP,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,eACnC,OAAO,wBAAwB;IAAE,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,EAAE,CAAA;KAAE,CAAA;CAAE,sBA2F5E,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/routes/rest/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAsD,eAAe,EAAE,MAAM,SAAS,CAAA;AAoMlG,eAAO,MAAM,OAAO,WACT,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,eAAqB,OAAO,sBA0B9E,CAAA;AAEH,eAAO,MAAM,GAAG,WACL,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,eACnC,OAAO,6BAA6B;IAAE,MAAM,EAAE,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAA;CAAE,sBAqM1F,CAAA;AAEH,eAAO,MAAM,IAAI,WACN,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,eACnC,OAAO,6BAA6B;IAAE,MAAM,EAAE,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAA;CAAE,sBAuL1F,CAAA;AAEH,eAAO,MAAM,MAAM,WACR,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,eACnC,OAAO,6BAA6B;IAAE,MAAM,EAAE,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAA;CAAE,sBAiG1F,CAAA;AAEH,eAAO,MAAM,KAAK,WACP,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,eACnC,OAAO,6BAA6B;IAAE,MAAM,EAAE,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAA;CAAE,sBAkG1F,CAAA;AAEH,eAAO,MAAM,GAAG,WACL,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,eACnC,OAAO,6BAA6B;IAAE,MAAM,EAAE,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAA;CAAE,sBAgF1F,CAAA"}
@@ -16,7 +16,6 @@ import { registerFirstUser } from './auth/registerFirstUser.js';
16
16
  import { resetPassword } from './auth/resetPassword.js';
17
17
  import { unlock } from './auth/unlock.js';
18
18
  import { verifyEmail } from './auth/verifyEmail.js';
19
- import { buildFormState } from './buildFormState.js';
20
19
  import { endpointsAreDisabled } from './checkEndpoints.js';
21
20
  import { count } from './collections/count.js';
22
21
  import { create } from './collections/create.js';
@@ -98,9 +97,6 @@ const endpoints = {
98
97
  GET: {
99
98
  access,
100
99
  og: generateOGImage
101
- },
102
- POST: {
103
- 'form-state': buildFormState
104
100
  }
105
101
  }
106
102
  };
@@ -194,10 +190,11 @@ export const OPTIONS = config => async request => {
194
190
  }
195
191
  };
196
192
  export const GET = config => async (request, {
197
- params: {
198
- slug
199
- }
193
+ params: paramsPromise
200
194
  }) => {
195
+ const {
196
+ slug
197
+ } = await paramsPromise;
201
198
  const [slug1, slug2, slug3, slug4] = slug;
202
199
  let req;
203
200
  let res;
@@ -211,7 +208,9 @@ export const GET = config => async (request, {
211
208
  endpoints: req.payload.config.endpoints,
212
209
  request
213
210
  });
214
- if (disableEndpoints) return disableEndpoints;
211
+ if (disableEndpoints) {
212
+ return disableEndpoints;
213
+ }
215
214
  collection = req.payload.collections?.[slug1];
216
215
  if (collection) {
217
216
  req.routeParams.collection = slug1;
@@ -219,7 +218,9 @@ export const GET = config => async (request, {
219
218
  endpoints: collection.config.endpoints,
220
219
  request
221
220
  });
222
- if (disableEndpoints) return disableEndpoints;
221
+ if (disableEndpoints) {
222
+ return disableEndpoints;
223
+ }
223
224
  const customEndpointResponse = await handleCustomEndpoints({
224
225
  endpoints: collection.config.endpoints,
225
226
  entitySlug: slug1,
@@ -291,7 +292,9 @@ export const GET = config => async (request, {
291
292
  endpoints: globalConfig.endpoints,
292
293
  request
293
294
  });
294
- if (disableEndpoints) return disableEndpoints;
295
+ if (disableEndpoints) {
296
+ return disableEndpoints;
297
+ }
295
298
  const customEndpointResponse = await handleCustomEndpoints({
296
299
  endpoints: globalConfig.endpoints,
297
300
  entitySlug: `${slug1}/${slug2}`,
@@ -362,7 +365,9 @@ export const GET = config => async (request, {
362
365
  endpoints: req.payload.config.endpoints,
363
366
  req
364
367
  });
365
- if (customEndpointResponse) return customEndpointResponse;
368
+ if (customEndpointResponse) {
369
+ return customEndpointResponse;
370
+ }
366
371
  return RouteNotFoundResponse({
367
372
  slug,
368
373
  req
@@ -377,10 +382,11 @@ export const GET = config => async (request, {
377
382
  }
378
383
  };
379
384
  export const POST = config => async (request, {
380
- params: {
381
- slug
382
- }
385
+ params: paramsPromise
383
386
  }) => {
387
+ const {
388
+ slug
389
+ } = await paramsPromise;
384
390
  const [slug1, slug2, slug3, slug4] = slug;
385
391
  let req;
386
392
  let res;
@@ -388,9 +394,7 @@ export const POST = config => async (request, {
388
394
  const overrideHttpMethod = request.headers.get('X-HTTP-Method-Override');
389
395
  if (overrideHttpMethod === 'GET') {
390
396
  return await GET(config)(request, {
391
- params: {
392
- slug
393
- }
397
+ params: paramsPromise
394
398
  });
395
399
  }
396
400
  try {
@@ -403,14 +407,18 @@ export const POST = config => async (request, {
403
407
  endpoints: req.payload.config.endpoints,
404
408
  request
405
409
  });
406
- if (disableEndpoints) return disableEndpoints;
410
+ if (disableEndpoints) {
411
+ return disableEndpoints;
412
+ }
407
413
  if (collection) {
408
414
  req.routeParams.collection = slug1;
409
415
  const disableEndpoints = endpointsAreDisabled({
410
416
  endpoints: collection.config.endpoints,
411
417
  request
412
418
  });
413
- if (disableEndpoints) return disableEndpoints;
419
+ if (disableEndpoints) {
420
+ return disableEndpoints;
421
+ }
414
422
  const customEndpointResponse = await handleCustomEndpoints({
415
423
  endpoints: collection.config.endpoints,
416
424
  entitySlug: slug1,
@@ -473,7 +481,9 @@ export const POST = config => async (request, {
473
481
  endpoints: globalConfig.endpoints,
474
482
  request
475
483
  });
476
- if (disableEndpoints) return disableEndpoints;
484
+ if (disableEndpoints) {
485
+ return disableEndpoints;
486
+ }
477
487
  const customEndpointResponse = await handleCustomEndpoints({
478
488
  endpoints: globalConfig.endpoints,
479
489
  entitySlug: `${slug1}/${slug2}`,
@@ -517,12 +527,6 @@ export const POST = config => async (request, {
517
527
  });
518
528
  }
519
529
  }
520
- } else if (slug.length === 1 && slug1 in endpoints.root.POST) {
521
- await addDataAndFileToRequest(req);
522
- addLocalesToRequestFromData(req);
523
- res = await endpoints.root.POST[slug1]({
524
- req
525
- });
526
530
  }
527
531
  if (res instanceof Response) {
528
532
  if (req.responseHeaders) {
@@ -540,7 +544,9 @@ export const POST = config => async (request, {
540
544
  endpoints: req.payload.config.endpoints,
541
545
  req
542
546
  });
543
- if (customEndpointResponse) return customEndpointResponse;
547
+ if (customEndpointResponse) {
548
+ return customEndpointResponse;
549
+ }
544
550
  return RouteNotFoundResponse({
545
551
  slug,
546
552
  req
@@ -555,10 +561,11 @@ export const POST = config => async (request, {
555
561
  }
556
562
  };
557
563
  export const DELETE = config => async (request, {
558
- params: {
559
- slug
560
- }
564
+ params: paramsPromise
561
565
  }) => {
566
+ const {
567
+ slug
568
+ } = await paramsPromise;
562
569
  const [slug1, slug2] = slug;
563
570
  let req;
564
571
  let res;
@@ -573,14 +580,18 @@ export const DELETE = config => async (request, {
573
580
  endpoints: req.payload.config.endpoints,
574
581
  request
575
582
  });
576
- if (disableEndpoints) return disableEndpoints;
583
+ if (disableEndpoints) {
584
+ return disableEndpoints;
585
+ }
577
586
  if (collection) {
578
587
  req.routeParams.collection = slug1;
579
588
  const disableEndpoints = endpointsAreDisabled({
580
589
  endpoints: collection.config.endpoints,
581
590
  request
582
591
  });
583
- if (disableEndpoints) return disableEndpoints;
592
+ if (disableEndpoints) {
593
+ return disableEndpoints;
594
+ }
584
595
  const customEndpointResponse = await handleCustomEndpoints({
585
596
  endpoints: collection.config.endpoints,
586
597
  entitySlug: slug1,
@@ -626,7 +637,9 @@ export const DELETE = config => async (request, {
626
637
  endpoints: req.payload.config.endpoints,
627
638
  req
628
639
  });
629
- if (customEndpointResponse) return customEndpointResponse;
640
+ if (customEndpointResponse) {
641
+ return customEndpointResponse;
642
+ }
630
643
  return RouteNotFoundResponse({
631
644
  slug,
632
645
  req
@@ -641,10 +654,11 @@ export const DELETE = config => async (request, {
641
654
  }
642
655
  };
643
656
  export const PATCH = config => async (request, {
644
- params: {
645
- slug
646
- }
657
+ params: paramsPromise
647
658
  }) => {
659
+ const {
660
+ slug
661
+ } = await paramsPromise;
648
662
  const [slug1, slug2] = slug;
649
663
  let req;
650
664
  let res;
@@ -659,14 +673,18 @@ export const PATCH = config => async (request, {
659
673
  endpoints: req.payload.config.endpoints,
660
674
  request
661
675
  });
662
- if (disableEndpoints) return disableEndpoints;
676
+ if (disableEndpoints) {
677
+ return disableEndpoints;
678
+ }
663
679
  if (collection) {
664
680
  req.routeParams.collection = slug1;
665
681
  const disableEndpoints = endpointsAreDisabled({
666
682
  endpoints: collection.config.endpoints,
667
683
  request
668
684
  });
669
- if (disableEndpoints) return disableEndpoints;
685
+ if (disableEndpoints) {
686
+ return disableEndpoints;
687
+ }
670
688
  const customEndpointResponse = await handleCustomEndpoints({
671
689
  endpoints: collection.config.endpoints,
672
690
  entitySlug: slug1,
@@ -712,7 +730,82 @@ export const PATCH = config => async (request, {
712
730
  endpoints: req.payload.config.endpoints,
713
731
  req
714
732
  });
715
- if (customEndpointResponse) return customEndpointResponse;
733
+ if (customEndpointResponse) {
734
+ return customEndpointResponse;
735
+ }
736
+ return RouteNotFoundResponse({
737
+ slug,
738
+ req
739
+ });
740
+ } catch (error) {
741
+ return routeError({
742
+ collection,
743
+ config,
744
+ err: error,
745
+ req: req || request
746
+ });
747
+ }
748
+ };
749
+ export const PUT = config => async (request, {
750
+ params: paramsPromise
751
+ }) => {
752
+ const {
753
+ slug
754
+ } = await paramsPromise;
755
+ const [slug1] = slug;
756
+ let req;
757
+ let res;
758
+ let collection;
759
+ try {
760
+ req = await createPayloadRequest({
761
+ config,
762
+ request
763
+ });
764
+ collection = req.payload.collections?.[slug1];
765
+ const disableEndpoints = endpointsAreDisabled({
766
+ endpoints: req.payload.config.endpoints,
767
+ request
768
+ });
769
+ if (disableEndpoints) {
770
+ return disableEndpoints;
771
+ }
772
+ if (collection) {
773
+ req.routeParams.collection = slug1;
774
+ const disableEndpoints = endpointsAreDisabled({
775
+ endpoints: collection.config.endpoints,
776
+ request
777
+ });
778
+ if (disableEndpoints) {
779
+ return disableEndpoints;
780
+ }
781
+ const customEndpointResponse = await handleCustomEndpoints({
782
+ endpoints: collection.config.endpoints,
783
+ entitySlug: slug1,
784
+ req
785
+ });
786
+ if (customEndpointResponse) {
787
+ return customEndpointResponse;
788
+ }
789
+ }
790
+ if (res instanceof Response) {
791
+ if (req.responseHeaders) {
792
+ const mergedResponse = new Response(res.body, {
793
+ headers: mergeHeaders(req.responseHeaders, res.headers),
794
+ status: res.status,
795
+ statusText: res.statusText
796
+ });
797
+ return mergedResponse;
798
+ }
799
+ return res;
800
+ }
801
+ // root routes
802
+ const customEndpointResponse = await handleCustomEndpoints({
803
+ endpoints: req.payload.config.endpoints,
804
+ req
805
+ });
806
+ if (customEndpointResponse) {
807
+ return customEndpointResponse;
808
+ }
716
809
  return RouteNotFoundResponse({
717
810
  slug,
718
811
  req
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["httpStatus","match","addDataAndFileToRequest","addLocalesToRequestFromData","createPayloadRequest","headersWithCors","mergeHeaders","access","forgotPassword","init","login","logout","me","refresh","registerFirstUser","resetPassword","unlock","verifyEmail","buildFormState","endpointsAreDisabled","count","create","deleteDoc","deleteByID","docAccess","duplicate","find","findByID","findVersionByID","findVersions","preview","previewCollection","restoreVersion","update","updateByID","getFile","docAccessGlobal","findOne","findVersionByIdGlobal","findVersionsGlobal","previewGlobal","restoreVersionGlobal","updateGlobal","generateOGImage","routeError","endpoints","collection","DELETE","delete","GET","versions","PATCH","POST","global","root","og","handleCustomEndpoints","entitySlug","req","length","handlerParams","pathname","adjustedPathname","process","env","NEXT_BASE_PATH","pathPrefix","payload","config","routes","api","customEndpoint","endpoint","method","toLowerCase","pathMatchFn","path","decode","decodeURIComponent","tempParams","params","routeParams","res","handler","Response","responseHeaders","mergedResponse","body","headers","status","statusText","RouteNotFoundResponse","slug","json","message","join","Headers","NOT_FOUND","OPTIONS","request","error","err","slug1","slug2","slug3","slug4","disableEndpoints","collections","customEndpointResponse","id","filename","globalConfig","globals","overrideHttpMethod","get","disableDuplicate"],"sources":["../../../src/routes/rest/index.ts"],"sourcesContent":["import type { Collection, Endpoint, GlobalConfig, PayloadRequest, SanitizedConfig } from 'payload'\n\nimport httpStatus from 'http-status'\nimport { match } from 'path-to-regexp'\n\nimport type {\n CollectionRouteHandler,\n CollectionRouteHandlerWithID,\n GlobalRouteHandler,\n GlobalRouteHandlerWithID,\n} from './types.js'\n\nimport { addDataAndFileToRequest } from '../../utilities/addDataAndFileToRequest.js'\nimport { addLocalesToRequestFromData } from '../../utilities/addLocalesToRequest.js'\nimport { createPayloadRequest } from '../../utilities/createPayloadRequest.js'\nimport { headersWithCors } from '../../utilities/headersWithCors.js'\nimport { mergeHeaders } from '../../utilities/mergeHeaders.js'\nimport { access } from './auth/access.js'\nimport { forgotPassword } from './auth/forgotPassword.js'\nimport { init } from './auth/init.js'\nimport { login } from './auth/login.js'\nimport { logout } from './auth/logout.js'\nimport { me } from './auth/me.js'\nimport { refresh } from './auth/refresh.js'\nimport { registerFirstUser } from './auth/registerFirstUser.js'\nimport { resetPassword } from './auth/resetPassword.js'\nimport { unlock } from './auth/unlock.js'\nimport { verifyEmail } from './auth/verifyEmail.js'\nimport { buildFormState } from './buildFormState.js'\nimport { endpointsAreDisabled } from './checkEndpoints.js'\nimport { count } from './collections/count.js'\nimport { create } from './collections/create.js'\nimport { deleteDoc } from './collections/delete.js'\nimport { deleteByID } from './collections/deleteByID.js'\nimport { docAccess } from './collections/docAccess.js'\nimport { duplicate } from './collections/duplicate.js'\nimport { find } from './collections/find.js'\nimport { findByID } from './collections/findByID.js'\nimport { findVersionByID } from './collections/findVersionByID.js'\nimport { findVersions } from './collections/findVersions.js'\nimport { preview as previewCollection } from './collections/preview.js'\nimport { restoreVersion } from './collections/restoreVersion.js'\nimport { update } from './collections/update.js'\nimport { updateByID } from './collections/updateByID.js'\nimport { getFile } from './files/getFile.js'\nimport { docAccess as docAccessGlobal } from './globals/docAccess.js'\nimport { findOne } from './globals/findOne.js'\nimport { findVersionByID as findVersionByIdGlobal } from './globals/findVersionByID.js'\nimport { findVersions as findVersionsGlobal } from './globals/findVersions.js'\nimport { preview as previewGlobal } from './globals/preview.js'\nimport { restoreVersion as restoreVersionGlobal } from './globals/restoreVersion.js'\nimport { update as updateGlobal } from './globals/update.js'\nimport { generateOGImage } from './og/index.js'\nimport { routeError } from './routeError.js'\n\nconst endpoints = {\n collection: {\n DELETE: {\n delete: deleteDoc,\n deleteByID,\n },\n GET: {\n count,\n 'doc-access-by-id': docAccess,\n 'doc-versions-by-id': findVersionByID,\n find,\n findByID,\n getFile,\n init,\n me,\n preview: previewCollection,\n versions: findVersions,\n },\n PATCH: {\n update,\n updateByID,\n },\n POST: {\n access: docAccess,\n create,\n 'doc-access-by-id': docAccess,\n 'doc-verify-by-id': verifyEmail,\n 'doc-versions-by-id': restoreVersion,\n duplicate,\n 'first-register': registerFirstUser,\n 'forgot-password': forgotPassword,\n login,\n logout,\n 'refresh-token': refresh,\n 'reset-password': resetPassword,\n unlock,\n },\n },\n global: {\n GET: {\n 'doc-access': docAccessGlobal,\n 'doc-versions': findVersionsGlobal,\n 'doc-versions-by-id': findVersionByIdGlobal,\n findOne,\n preview: previewGlobal,\n },\n POST: {\n 'doc-access': docAccessGlobal,\n 'doc-versions-by-id': restoreVersionGlobal,\n update: updateGlobal,\n },\n },\n root: {\n GET: {\n access,\n og: generateOGImage,\n },\n POST: {\n 'form-state': buildFormState,\n },\n },\n}\n\nconst handleCustomEndpoints = async ({\n endpoints,\n entitySlug,\n req,\n}: {\n endpoints: Endpoint[] | GlobalConfig['endpoints']\n entitySlug?: string\n req: PayloadRequest\n}): Promise<Response> => {\n if (endpoints && endpoints.length > 0) {\n let handlerParams = {}\n const { pathname } = req\n\n /*\n * This makes sure the next.js basePath property is supported. If basePath is used, payload config.routes.api should include it. This makes all outgoing frontend request\n * target the correct API endpoint starting with basePath, which is good!\n *\n * The incoming request (here) will not include the basePath though, as it's automatically stripped by Next.js. Since we are adding the basePath to the pathPrefix below though\n * (from req.payload.config.routes.api) we need to add it to pathname, which does not contain the basePath. Otherwise, no endpoint will be matched if basePath is set.\n */\n let adjustedPathname = pathname\n\n if (process.env.NEXT_BASE_PATH) {\n adjustedPathname = process.env.NEXT_BASE_PATH + pathname\n }\n\n const pathPrefix = req.payload.config.routes.api + (entitySlug ? `/${entitySlug}` : '')\n\n const customEndpoint = endpoints.find((endpoint) => {\n if (endpoint.method === req.method.toLowerCase()) {\n const pathMatchFn = match(`${pathPrefix}${endpoint.path}`, {\n decode: decodeURIComponent,\n })\n\n const tempParams = pathMatchFn(adjustedPathname)\n if (tempParams) {\n handlerParams = tempParams.params\n return true\n }\n }\n })\n\n if (customEndpoint) {\n req.routeParams = {\n ...req.routeParams,\n ...handlerParams,\n }\n const res = await customEndpoint.handler(req)\n\n if (res instanceof Response) {\n if (req.responseHeaders) {\n const mergedResponse = new Response(res.body, {\n headers: mergeHeaders(req.responseHeaders, res.headers),\n status: res.status,\n statusText: res.statusText,\n })\n\n return mergedResponse\n }\n\n return res\n }\n }\n }\n\n return null\n}\n\nconst RouteNotFoundResponse = ({ slug, req }: { req: PayloadRequest; slug: string[] }) =>\n Response.json(\n {\n message: `Route Not Found: \"${slug.join('/')}\"`,\n },\n {\n headers: headersWithCors({\n headers: new Headers(),\n req,\n }),\n status: httpStatus.NOT_FOUND,\n },\n )\n\nexport const OPTIONS =\n (config: Promise<SanitizedConfig> | SanitizedConfig) => async (request: Request) => {\n let req: PayloadRequest\n\n try {\n req = await createPayloadRequest({\n config,\n request,\n })\n\n return Response.json(\n {},\n {\n headers: headersWithCors({\n headers: new Headers(),\n req,\n }),\n status: 200,\n },\n )\n } catch (error) {\n return routeError({\n config,\n err: error,\n req: req || request,\n })\n }\n }\n\nexport const GET =\n (config: Promise<SanitizedConfig> | SanitizedConfig) =>\n async (request: Request, { params: { slug } }: { params: { slug: string[] } }) => {\n const [slug1, slug2, slug3, slug4] = slug\n let req: PayloadRequest\n let res: Response\n let collection: Collection\n\n try {\n req = await createPayloadRequest({\n config,\n request,\n })\n\n const disableEndpoints = endpointsAreDisabled({\n endpoints: req.payload.config.endpoints,\n request,\n })\n\n if (disableEndpoints) return disableEndpoints\n\n collection = req.payload.collections?.[slug1]\n\n if (collection) {\n req.routeParams.collection = slug1\n const disableEndpoints = endpointsAreDisabled({\n endpoints: collection.config.endpoints,\n request,\n })\n if (disableEndpoints) return disableEndpoints\n\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: collection.config.endpoints,\n entitySlug: slug1,\n req,\n })\n\n if (customEndpointResponse) {\n return customEndpointResponse\n } else {\n await addDataAndFileToRequest(req)\n addLocalesToRequestFromData(req)\n\n switch (slug.length) {\n case 1:\n // /:collection\n res = await endpoints.collection.GET.find({ collection, req })\n break\n case 2:\n if (slug2 in endpoints.collection.GET) {\n // /:collection/init\n // /:collection/me\n // /:collection/versions\n // /:collection/count\n res = await (endpoints.collection.GET[slug2] as CollectionRouteHandler)({\n collection,\n req,\n })\n } else {\n // /:collection/:id\n res = await endpoints.collection.GET.findByID({\n id: slug2,\n collection,\n req,\n })\n }\n break\n case 3:\n if (slug2 === 'file') {\n // /:collection/file/:filename\n res = await endpoints.collection.GET.getFile({\n collection,\n filename: slug3,\n req,\n })\n } else if (slug3 in endpoints.collection.GET) {\n // /:collection/:id/preview\n res = await (endpoints.collection.GET[slug3] as CollectionRouteHandlerWithID)({\n id: slug2,\n collection,\n req,\n })\n } else if (`doc-${slug2}-by-id` in endpoints.collection.GET) {\n // /:collection/access/:id\n // /:collection/versions/:id\n res = await (\n endpoints.collection.GET[`doc-${slug2}-by-id`] as CollectionRouteHandlerWithID\n )({ id: slug3, collection, req })\n }\n break\n }\n }\n } else if (slug1 === 'globals') {\n const globalConfig = req.payload.config.globals.find((global) => global.slug === slug2)\n req.routeParams.global = globalConfig.slug\n\n const disableEndpoints = endpointsAreDisabled({\n endpoints: globalConfig.endpoints,\n request,\n })\n if (disableEndpoints) return disableEndpoints\n\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: globalConfig.endpoints,\n entitySlug: `${slug1}/${slug2}`,\n req,\n })\n\n if (customEndpointResponse) {\n return customEndpointResponse\n } else {\n await addDataAndFileToRequest(req)\n addLocalesToRequestFromData(req)\n\n switch (slug.length) {\n case 2:\n // /globals/:slug\n res = await endpoints.global.GET.findOne({ globalConfig, req })\n break\n case 3:\n if (slug3 in endpoints.global.GET) {\n // /globals/:slug/preview\n res = await (endpoints.global.GET[slug3] as GlobalRouteHandler)({\n globalConfig,\n req,\n })\n } else if (`doc-${slug3}` in endpoints.global.GET) {\n // /globals/:slug/access\n // /globals/:slug/versions\n // /globals/:slug/preview\n res = await (endpoints.global.GET?.[`doc-${slug3}`] as GlobalRouteHandler)({\n globalConfig,\n req,\n })\n }\n break\n case 4:\n if (`doc-${slug3}-by-id` in endpoints.global.GET) {\n // /globals/:slug/versions/:id\n res = await (\n endpoints.global.GET?.[`doc-${slug3}-by-id`] as GlobalRouteHandlerWithID\n )({\n id: slug4,\n globalConfig,\n req,\n })\n }\n break\n }\n }\n } else if (slug.length === 1 && slug1 in endpoints.root.GET) {\n await addDataAndFileToRequest(req)\n addLocalesToRequestFromData(req)\n res = await endpoints.root.GET[slug1]({ req })\n }\n\n if (res instanceof Response) {\n if (req.responseHeaders) {\n const mergedResponse = new Response(res.body, {\n headers: mergeHeaders(req.responseHeaders, res.headers),\n status: res.status,\n statusText: res.statusText,\n })\n\n return mergedResponse\n }\n\n return res\n }\n\n // root routes\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: req.payload.config.endpoints,\n req,\n })\n\n if (customEndpointResponse) return customEndpointResponse\n\n return RouteNotFoundResponse({\n slug,\n req,\n })\n } catch (error) {\n return routeError({\n collection,\n config,\n err: error,\n req: req || request,\n })\n }\n }\n\nexport const POST =\n (config: Promise<SanitizedConfig> | SanitizedConfig) =>\n async (request: Request, { params: { slug } }: { params: { slug: string[] } }) => {\n const [slug1, slug2, slug3, slug4] = slug\n let req: PayloadRequest\n let res: Response\n let collection: Collection\n\n const overrideHttpMethod = request.headers.get('X-HTTP-Method-Override')\n if (overrideHttpMethod === 'GET') {\n return await GET(config)(request, { params: { slug } })\n }\n\n try {\n req = await createPayloadRequest({\n config,\n request,\n })\n\n collection = req.payload.collections?.[slug1]\n\n const disableEndpoints = endpointsAreDisabled({\n endpoints: req.payload.config.endpoints,\n request,\n })\n\n if (disableEndpoints) return disableEndpoints\n\n if (collection) {\n req.routeParams.collection = slug1\n const disableEndpoints = endpointsAreDisabled({\n endpoints: collection.config.endpoints,\n request,\n })\n if (disableEndpoints) return disableEndpoints\n\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: collection.config.endpoints,\n entitySlug: slug1,\n req,\n })\n\n if (customEndpointResponse) {\n return customEndpointResponse\n } else {\n await addDataAndFileToRequest(req)\n addLocalesToRequestFromData(req)\n\n switch (slug.length) {\n case 1:\n // /:collection\n res = await endpoints.collection.POST.create({ collection, req })\n break\n case 2:\n if (slug2 in endpoints.collection.POST) {\n // /:collection/login\n // /:collection/logout\n // /:collection/unlock\n // /:collection/access\n // /:collection/first-register\n // /:collection/forgot-password\n // /:collection/reset-password\n // /:collection/refresh-token\n\n res = await (endpoints.collection.POST?.[slug2] as CollectionRouteHandler)({\n collection,\n req,\n })\n }\n break\n case 3:\n if (`doc-${slug2}-by-id` in endpoints.collection.POST) {\n // /:collection/access/:id\n // /:collection/versions/:id\n // /:collection/verify/:token (\"doc-verify-by-id\" uses id as token internally)\n res = await (\n endpoints.collection.POST[`doc-${slug2}-by-id`] as CollectionRouteHandlerWithID\n )({ id: slug3, collection, req })\n } else if (slug3 === 'duplicate' && collection.config.disableDuplicate !== true) {\n // /:collection/:id/duplicate\n res = await endpoints.collection.POST.duplicate({\n id: slug2,\n collection,\n req,\n })\n }\n break\n }\n }\n } else if (slug1 === 'globals' && slug2) {\n const globalConfig = req.payload.config.globals.find((global) => global.slug === slug2)\n req.routeParams.global = globalConfig.slug\n\n const disableEndpoints = endpointsAreDisabled({\n endpoints: globalConfig.endpoints,\n request,\n })\n if (disableEndpoints) return disableEndpoints\n\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: globalConfig.endpoints,\n entitySlug: `${slug1}/${slug2}`,\n req,\n })\n\n if (customEndpointResponse) {\n return customEndpointResponse\n } else {\n await addDataAndFileToRequest(req)\n addLocalesToRequestFromData(req)\n switch (slug.length) {\n case 2:\n // /globals/:slug\n res = await endpoints.global.POST.update({ globalConfig, req })\n break\n case 3:\n if (`doc-${slug3}` in endpoints.global.POST) {\n // /globals/:slug/access\n res = await (endpoints.global.POST?.[`doc-${slug3}`] as GlobalRouteHandler)({\n globalConfig,\n req,\n })\n }\n break\n case 4:\n if (`doc-${slug3}-by-id` in endpoints.global.POST) {\n // /globals/:slug/versions/:id\n res = await (\n endpoints.global.POST?.[`doc-${slug3}-by-id`] as GlobalRouteHandlerWithID\n )({\n id: slug4,\n globalConfig,\n req,\n })\n }\n break\n default:\n res = new Response('Route Not Found', { status: 404 })\n }\n }\n } else if (slug.length === 1 && slug1 in endpoints.root.POST) {\n await addDataAndFileToRequest(req)\n addLocalesToRequestFromData(req)\n res = await endpoints.root.POST[slug1]({ req })\n }\n\n if (res instanceof Response) {\n if (req.responseHeaders) {\n const mergedResponse = new Response(res.body, {\n headers: mergeHeaders(req.responseHeaders, res.headers),\n status: res.status,\n statusText: res.statusText,\n })\n\n return mergedResponse\n }\n\n return res\n }\n\n // root routes\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: req.payload.config.endpoints,\n req,\n })\n\n if (customEndpointResponse) return customEndpointResponse\n\n return RouteNotFoundResponse({\n slug,\n req,\n })\n } catch (error) {\n return routeError({\n collection,\n config,\n err: error,\n req: req || request,\n })\n }\n }\n\nexport const DELETE =\n (config: Promise<SanitizedConfig> | SanitizedConfig) =>\n async (request: Request, { params: { slug } }: { params: { slug: string[] } }) => {\n const [slug1, slug2] = slug\n let req: PayloadRequest\n let res: Response\n let collection: Collection\n\n try {\n req = await createPayloadRequest({\n config,\n request,\n })\n collection = req.payload.collections?.[slug1]\n\n const disableEndpoints = endpointsAreDisabled({\n endpoints: req.payload.config.endpoints,\n request,\n })\n if (disableEndpoints) return disableEndpoints\n\n if (collection) {\n req.routeParams.collection = slug1\n\n const disableEndpoints = endpointsAreDisabled({\n endpoints: collection.config.endpoints,\n request,\n })\n if (disableEndpoints) return disableEndpoints\n\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: collection.config.endpoints,\n entitySlug: slug1,\n req,\n })\n if (customEndpointResponse) {\n return customEndpointResponse\n } else {\n await addDataAndFileToRequest(req)\n addLocalesToRequestFromData(req)\n\n switch (slug.length) {\n case 1:\n // /:collection\n res = await endpoints.collection.DELETE.delete({ collection, req })\n break\n case 2:\n // /:collection/:id\n res = await endpoints.collection.DELETE.deleteByID({\n id: slug2,\n collection,\n req,\n })\n break\n }\n }\n }\n\n if (res instanceof Response) {\n if (req.responseHeaders) {\n const mergedResponse = new Response(res.body, {\n headers: mergeHeaders(req.responseHeaders, res.headers),\n status: res.status,\n statusText: res.statusText,\n })\n\n return mergedResponse\n }\n\n return res\n }\n\n // root routes\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: req.payload.config.endpoints,\n req,\n })\n\n if (customEndpointResponse) return customEndpointResponse\n\n return RouteNotFoundResponse({\n slug,\n req,\n })\n } catch (error) {\n return routeError({\n collection,\n config,\n err: error,\n req: req || request,\n })\n }\n }\n\nexport const PATCH =\n (config: Promise<SanitizedConfig> | SanitizedConfig) =>\n async (request: Request, { params: { slug } }: { params: { slug: string[] } }) => {\n const [slug1, slug2] = slug\n let req: PayloadRequest\n let res: Response\n let collection: Collection\n\n try {\n req = await createPayloadRequest({\n config,\n request,\n })\n collection = req.payload.collections?.[slug1]\n\n const disableEndpoints = endpointsAreDisabled({\n endpoints: req.payload.config.endpoints,\n request,\n })\n if (disableEndpoints) return disableEndpoints\n\n if (collection) {\n req.routeParams.collection = slug1\n\n const disableEndpoints = endpointsAreDisabled({\n endpoints: collection.config.endpoints,\n request,\n })\n if (disableEndpoints) return disableEndpoints\n\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: collection.config.endpoints,\n entitySlug: slug1,\n req,\n })\n\n if (customEndpointResponse) {\n return customEndpointResponse\n } else {\n await addDataAndFileToRequest(req)\n addLocalesToRequestFromData(req)\n\n switch (slug.length) {\n case 1:\n // /:collection\n res = await endpoints.collection.PATCH.update({ collection, req })\n break\n case 2:\n // /:collection/:id\n res = await endpoints.collection.PATCH.updateByID({\n id: slug2,\n collection,\n req,\n })\n break\n }\n }\n }\n\n if (res instanceof Response) {\n if (req.responseHeaders) {\n const mergedResponse = new Response(res.body, {\n headers: mergeHeaders(req.responseHeaders, res.headers),\n status: res.status,\n statusText: res.statusText,\n })\n\n return mergedResponse\n }\n\n return res\n }\n\n // root routes\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: req.payload.config.endpoints,\n req,\n })\n\n if (customEndpointResponse) return customEndpointResponse\n\n return RouteNotFoundResponse({\n slug,\n req,\n })\n } catch (error) {\n return routeError({\n collection,\n config,\n err: error,\n req: req || request,\n })\n }\n }\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["httpStatus","match","addDataAndFileToRequest","addLocalesToRequestFromData","createPayloadRequest","headersWithCors","mergeHeaders","access","forgotPassword","init","login","logout","me","refresh","registerFirstUser","resetPassword","unlock","verifyEmail","endpointsAreDisabled","count","create","deleteDoc","deleteByID","docAccess","duplicate","find","findByID","findVersionByID","findVersions","preview","previewCollection","restoreVersion","update","updateByID","getFile","docAccessGlobal","findOne","findVersionByIdGlobal","findVersionsGlobal","previewGlobal","restoreVersionGlobal","updateGlobal","generateOGImage","routeError","endpoints","collection","DELETE","delete","GET","versions","PATCH","POST","global","root","og","handleCustomEndpoints","entitySlug","req","length","handlerParams","pathname","adjustedPathname","process","env","NEXT_BASE_PATH","pathPrefix","payload","config","routes","api","customEndpoint","endpoint","method","toLowerCase","pathMatchFn","path","decode","decodeURIComponent","tempParams","params","routeParams","res","handler","Response","responseHeaders","mergedResponse","body","headers","status","statusText","RouteNotFoundResponse","slug","json","message","join","Headers","NOT_FOUND","OPTIONS","request","error","err","paramsPromise","slug1","slug2","slug3","slug4","disableEndpoints","collections","customEndpointResponse","id","filename","globalConfig","globals","overrideHttpMethod","get","disableDuplicate","PUT"],"sources":["../../../src/routes/rest/index.ts"],"sourcesContent":["import type { Collection, Endpoint, GlobalConfig, PayloadRequest, SanitizedConfig } from 'payload'\n\nimport httpStatus from 'http-status'\nimport { match } from 'path-to-regexp'\n\nimport type {\n CollectionRouteHandler,\n CollectionRouteHandlerWithID,\n GlobalRouteHandler,\n GlobalRouteHandlerWithID,\n} from './types.js'\n\nimport { addDataAndFileToRequest } from '../../utilities/addDataAndFileToRequest.js'\nimport { addLocalesToRequestFromData } from '../../utilities/addLocalesToRequest.js'\nimport { createPayloadRequest } from '../../utilities/createPayloadRequest.js'\nimport { headersWithCors } from '../../utilities/headersWithCors.js'\nimport { mergeHeaders } from '../../utilities/mergeHeaders.js'\nimport { access } from './auth/access.js'\nimport { forgotPassword } from './auth/forgotPassword.js'\nimport { init } from './auth/init.js'\nimport { login } from './auth/login.js'\nimport { logout } from './auth/logout.js'\nimport { me } from './auth/me.js'\nimport { refresh } from './auth/refresh.js'\nimport { registerFirstUser } from './auth/registerFirstUser.js'\nimport { resetPassword } from './auth/resetPassword.js'\nimport { unlock } from './auth/unlock.js'\nimport { verifyEmail } from './auth/verifyEmail.js'\nimport { endpointsAreDisabled } from './checkEndpoints.js'\nimport { count } from './collections/count.js'\nimport { create } from './collections/create.js'\nimport { deleteDoc } from './collections/delete.js'\nimport { deleteByID } from './collections/deleteByID.js'\nimport { docAccess } from './collections/docAccess.js'\nimport { duplicate } from './collections/duplicate.js'\nimport { find } from './collections/find.js'\nimport { findByID } from './collections/findByID.js'\nimport { findVersionByID } from './collections/findVersionByID.js'\nimport { findVersions } from './collections/findVersions.js'\nimport { preview as previewCollection } from './collections/preview.js'\nimport { restoreVersion } from './collections/restoreVersion.js'\nimport { update } from './collections/update.js'\nimport { updateByID } from './collections/updateByID.js'\nimport { getFile } from './files/getFile.js'\nimport { docAccess as docAccessGlobal } from './globals/docAccess.js'\nimport { findOne } from './globals/findOne.js'\nimport { findVersionByID as findVersionByIdGlobal } from './globals/findVersionByID.js'\nimport { findVersions as findVersionsGlobal } from './globals/findVersions.js'\nimport { preview as previewGlobal } from './globals/preview.js'\nimport { restoreVersion as restoreVersionGlobal } from './globals/restoreVersion.js'\nimport { update as updateGlobal } from './globals/update.js'\nimport { generateOGImage } from './og/index.js'\nimport { routeError } from './routeError.js'\n\nconst endpoints = {\n collection: {\n DELETE: {\n delete: deleteDoc,\n deleteByID,\n },\n GET: {\n count,\n 'doc-access-by-id': docAccess,\n 'doc-versions-by-id': findVersionByID,\n find,\n findByID,\n getFile,\n init,\n me,\n preview: previewCollection,\n versions: findVersions,\n },\n PATCH: {\n update,\n updateByID,\n },\n POST: {\n access: docAccess,\n create,\n 'doc-access-by-id': docAccess,\n 'doc-verify-by-id': verifyEmail,\n 'doc-versions-by-id': restoreVersion,\n duplicate,\n 'first-register': registerFirstUser,\n 'forgot-password': forgotPassword,\n login,\n logout,\n 'refresh-token': refresh,\n 'reset-password': resetPassword,\n unlock,\n },\n },\n global: {\n GET: {\n 'doc-access': docAccessGlobal,\n 'doc-versions': findVersionsGlobal,\n 'doc-versions-by-id': findVersionByIdGlobal,\n findOne,\n preview: previewGlobal,\n },\n POST: {\n 'doc-access': docAccessGlobal,\n 'doc-versions-by-id': restoreVersionGlobal,\n update: updateGlobal,\n },\n },\n root: {\n GET: {\n access,\n og: generateOGImage,\n },\n },\n}\n\nconst handleCustomEndpoints = async ({\n endpoints,\n entitySlug,\n req,\n}: {\n endpoints: Endpoint[] | GlobalConfig['endpoints']\n entitySlug?: string\n req: PayloadRequest\n}): Promise<Response> => {\n if (endpoints && endpoints.length > 0) {\n let handlerParams = {}\n const { pathname } = req\n\n /*\n * This makes sure the next.js basePath property is supported. If basePath is used, payload config.routes.api should include it. This makes all outgoing frontend request\n * target the correct API endpoint starting with basePath, which is good!\n *\n * The incoming request (here) will not include the basePath though, as it's automatically stripped by Next.js. Since we are adding the basePath to the pathPrefix below though\n * (from req.payload.config.routes.api) we need to add it to pathname, which does not contain the basePath. Otherwise, no endpoint will be matched if basePath is set.\n */\n let adjustedPathname = pathname\n\n if (process.env.NEXT_BASE_PATH) {\n adjustedPathname = process.env.NEXT_BASE_PATH + pathname\n }\n\n const pathPrefix = req.payload.config.routes.api + (entitySlug ? `/${entitySlug}` : '')\n\n const customEndpoint = endpoints.find((endpoint) => {\n if (endpoint.method === req.method.toLowerCase()) {\n const pathMatchFn = match(`${pathPrefix}${endpoint.path}`, {\n decode: decodeURIComponent,\n })\n\n const tempParams = pathMatchFn(adjustedPathname)\n if (tempParams) {\n handlerParams = tempParams.params\n return true\n }\n }\n })\n\n if (customEndpoint) {\n req.routeParams = {\n ...req.routeParams,\n ...handlerParams,\n }\n const res = await customEndpoint.handler(req)\n\n if (res instanceof Response) {\n if (req.responseHeaders) {\n const mergedResponse = new Response(res.body, {\n headers: mergeHeaders(req.responseHeaders, res.headers),\n status: res.status,\n statusText: res.statusText,\n })\n\n return mergedResponse\n }\n\n return res\n }\n }\n }\n\n return null\n}\n\nconst RouteNotFoundResponse = ({ slug, req }: { req: PayloadRequest; slug: string[] }) =>\n Response.json(\n {\n message: `Route Not Found: \"${slug.join('/')}\"`,\n },\n {\n headers: headersWithCors({\n headers: new Headers(),\n req,\n }),\n status: httpStatus.NOT_FOUND,\n },\n )\n\nexport const OPTIONS =\n (config: Promise<SanitizedConfig> | SanitizedConfig) => async (request: Request) => {\n let req: PayloadRequest\n\n try {\n req = await createPayloadRequest({\n config,\n request,\n })\n\n return Response.json(\n {},\n {\n headers: headersWithCors({\n headers: new Headers(),\n req,\n }),\n status: 200,\n },\n )\n } catch (error) {\n return routeError({\n config,\n err: error,\n req: req || request,\n })\n }\n }\n\nexport const GET =\n (config: Promise<SanitizedConfig> | SanitizedConfig) =>\n async (request: Request, { params: paramsPromise }: { params: Promise<{ slug: string[] }> }) => {\n const { slug } = await paramsPromise\n const [slug1, slug2, slug3, slug4] = slug\n let req: PayloadRequest\n let res: Response\n let collection: Collection\n\n try {\n req = await createPayloadRequest({\n config,\n request,\n })\n\n const disableEndpoints = endpointsAreDisabled({\n endpoints: req.payload.config.endpoints,\n request,\n })\n\n if (disableEndpoints) {\n return disableEndpoints\n }\n\n collection = req.payload.collections?.[slug1]\n\n if (collection) {\n req.routeParams.collection = slug1\n const disableEndpoints = endpointsAreDisabled({\n endpoints: collection.config.endpoints,\n request,\n })\n if (disableEndpoints) {\n return disableEndpoints\n }\n\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: collection.config.endpoints,\n entitySlug: slug1,\n req,\n })\n\n if (customEndpointResponse) {\n return customEndpointResponse\n } else {\n await addDataAndFileToRequest(req)\n addLocalesToRequestFromData(req)\n\n switch (slug.length) {\n case 1:\n // /:collection\n res = await endpoints.collection.GET.find({ collection, req })\n break\n case 2:\n if (slug2 in endpoints.collection.GET) {\n // /:collection/init\n // /:collection/me\n // /:collection/versions\n // /:collection/count\n res = await (endpoints.collection.GET[slug2] as CollectionRouteHandler)({\n collection,\n req,\n })\n } else {\n // /:collection/:id\n res = await endpoints.collection.GET.findByID({\n id: slug2,\n collection,\n req,\n })\n }\n break\n case 3:\n if (slug2 === 'file') {\n // /:collection/file/:filename\n res = await endpoints.collection.GET.getFile({\n collection,\n filename: slug3,\n req,\n })\n } else if (slug3 in endpoints.collection.GET) {\n // /:collection/:id/preview\n res = await (endpoints.collection.GET[slug3] as CollectionRouteHandlerWithID)({\n id: slug2,\n collection,\n req,\n })\n } else if (`doc-${slug2}-by-id` in endpoints.collection.GET) {\n // /:collection/access/:id\n // /:collection/versions/:id\n res = await (\n endpoints.collection.GET[`doc-${slug2}-by-id`] as CollectionRouteHandlerWithID\n )({ id: slug3, collection, req })\n }\n break\n }\n }\n } else if (slug1 === 'globals') {\n const globalConfig = req.payload.config.globals.find((global) => global.slug === slug2)\n req.routeParams.global = globalConfig.slug\n\n const disableEndpoints = endpointsAreDisabled({\n endpoints: globalConfig.endpoints,\n request,\n })\n if (disableEndpoints) {\n return disableEndpoints\n }\n\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: globalConfig.endpoints,\n entitySlug: `${slug1}/${slug2}`,\n req,\n })\n\n if (customEndpointResponse) {\n return customEndpointResponse\n } else {\n await addDataAndFileToRequest(req)\n addLocalesToRequestFromData(req)\n\n switch (slug.length) {\n case 2:\n // /globals/:slug\n res = await endpoints.global.GET.findOne({ globalConfig, req })\n break\n case 3:\n if (slug3 in endpoints.global.GET) {\n // /globals/:slug/preview\n res = await (endpoints.global.GET[slug3] as GlobalRouteHandler)({\n globalConfig,\n req,\n })\n } else if (`doc-${slug3}` in endpoints.global.GET) {\n // /globals/:slug/access\n // /globals/:slug/versions\n // /globals/:slug/preview\n res = await (endpoints.global.GET?.[`doc-${slug3}`] as GlobalRouteHandler)({\n globalConfig,\n req,\n })\n }\n break\n case 4:\n if (`doc-${slug3}-by-id` in endpoints.global.GET) {\n // /globals/:slug/versions/:id\n res = await (\n endpoints.global.GET?.[`doc-${slug3}-by-id`] as GlobalRouteHandlerWithID\n )({\n id: slug4,\n globalConfig,\n req,\n })\n }\n break\n }\n }\n } else if (slug.length === 1 && slug1 in endpoints.root.GET) {\n await addDataAndFileToRequest(req)\n addLocalesToRequestFromData(req)\n res = await endpoints.root.GET[slug1]({ req })\n }\n\n if (res instanceof Response) {\n if (req.responseHeaders) {\n const mergedResponse = new Response(res.body, {\n headers: mergeHeaders(req.responseHeaders, res.headers),\n status: res.status,\n statusText: res.statusText,\n })\n\n return mergedResponse\n }\n\n return res\n }\n\n // root routes\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: req.payload.config.endpoints,\n req,\n })\n\n if (customEndpointResponse) {\n return customEndpointResponse\n }\n\n return RouteNotFoundResponse({\n slug,\n req,\n })\n } catch (error) {\n return routeError({\n collection,\n config,\n err: error,\n req: req || request,\n })\n }\n }\n\nexport const POST =\n (config: Promise<SanitizedConfig> | SanitizedConfig) =>\n async (request: Request, { params: paramsPromise }: { params: Promise<{ slug: string[] }> }) => {\n const { slug } = await paramsPromise\n const [slug1, slug2, slug3, slug4] = slug\n let req: PayloadRequest\n let res: Response\n let collection: Collection\n\n const overrideHttpMethod = request.headers.get('X-HTTP-Method-Override')\n if (overrideHttpMethod === 'GET') {\n return await GET(config)(request, { params: paramsPromise })\n }\n\n try {\n req = await createPayloadRequest({\n config,\n request,\n })\n\n collection = req.payload.collections?.[slug1]\n\n const disableEndpoints = endpointsAreDisabled({\n endpoints: req.payload.config.endpoints,\n request,\n })\n\n if (disableEndpoints) {\n return disableEndpoints\n }\n\n if (collection) {\n req.routeParams.collection = slug1\n const disableEndpoints = endpointsAreDisabled({\n endpoints: collection.config.endpoints,\n request,\n })\n if (disableEndpoints) {\n return disableEndpoints\n }\n\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: collection.config.endpoints,\n entitySlug: slug1,\n req,\n })\n\n if (customEndpointResponse) {\n return customEndpointResponse\n } else {\n await addDataAndFileToRequest(req)\n addLocalesToRequestFromData(req)\n\n switch (slug.length) {\n case 1:\n // /:collection\n res = await endpoints.collection.POST.create({ collection, req })\n break\n case 2:\n if (slug2 in endpoints.collection.POST) {\n // /:collection/login\n // /:collection/logout\n // /:collection/unlock\n // /:collection/access\n // /:collection/first-register\n // /:collection/forgot-password\n // /:collection/reset-password\n // /:collection/refresh-token\n\n res = await (endpoints.collection.POST?.[slug2] as CollectionRouteHandler)({\n collection,\n req,\n })\n }\n break\n case 3:\n if (`doc-${slug2}-by-id` in endpoints.collection.POST) {\n // /:collection/access/:id\n // /:collection/versions/:id\n // /:collection/verify/:token (\"doc-verify-by-id\" uses id as token internally)\n res = await (\n endpoints.collection.POST[`doc-${slug2}-by-id`] as CollectionRouteHandlerWithID\n )({ id: slug3, collection, req })\n } else if (slug3 === 'duplicate' && collection.config.disableDuplicate !== true) {\n // /:collection/:id/duplicate\n res = await endpoints.collection.POST.duplicate({\n id: slug2,\n collection,\n req,\n })\n }\n break\n }\n }\n } else if (slug1 === 'globals' && slug2) {\n const globalConfig = req.payload.config.globals.find((global) => global.slug === slug2)\n req.routeParams.global = globalConfig.slug\n\n const disableEndpoints = endpointsAreDisabled({\n endpoints: globalConfig.endpoints,\n request,\n })\n if (disableEndpoints) {\n return disableEndpoints\n }\n\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: globalConfig.endpoints,\n entitySlug: `${slug1}/${slug2}`,\n req,\n })\n\n if (customEndpointResponse) {\n return customEndpointResponse\n } else {\n await addDataAndFileToRequest(req)\n addLocalesToRequestFromData(req)\n switch (slug.length) {\n case 2:\n // /globals/:slug\n res = await endpoints.global.POST.update({ globalConfig, req })\n break\n case 3:\n if (`doc-${slug3}` in endpoints.global.POST) {\n // /globals/:slug/access\n res = await (endpoints.global.POST?.[`doc-${slug3}`] as GlobalRouteHandler)({\n globalConfig,\n req,\n })\n }\n break\n case 4:\n if (`doc-${slug3}-by-id` in endpoints.global.POST) {\n // /globals/:slug/versions/:id\n res = await (\n endpoints.global.POST?.[`doc-${slug3}-by-id`] as GlobalRouteHandlerWithID\n )({\n id: slug4,\n globalConfig,\n req,\n })\n }\n break\n default:\n res = new Response('Route Not Found', { status: 404 })\n }\n }\n }\n\n if (res instanceof Response) {\n if (req.responseHeaders) {\n const mergedResponse = new Response(res.body, {\n headers: mergeHeaders(req.responseHeaders, res.headers),\n status: res.status,\n statusText: res.statusText,\n })\n\n return mergedResponse\n }\n\n return res\n }\n\n // root routes\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: req.payload.config.endpoints,\n req,\n })\n\n if (customEndpointResponse) {\n return customEndpointResponse\n }\n\n return RouteNotFoundResponse({\n slug,\n req,\n })\n } catch (error) {\n return routeError({\n collection,\n config,\n err: error,\n req: req || request,\n })\n }\n }\n\nexport const DELETE =\n (config: Promise<SanitizedConfig> | SanitizedConfig) =>\n async (request: Request, { params: paramsPromise }: { params: Promise<{ slug: string[] }> }) => {\n const { slug } = await paramsPromise\n const [slug1, slug2] = slug\n let req: PayloadRequest\n let res: Response\n let collection: Collection\n\n try {\n req = await createPayloadRequest({\n config,\n request,\n })\n collection = req.payload.collections?.[slug1]\n\n const disableEndpoints = endpointsAreDisabled({\n endpoints: req.payload.config.endpoints,\n request,\n })\n if (disableEndpoints) {\n return disableEndpoints\n }\n\n if (collection) {\n req.routeParams.collection = slug1\n\n const disableEndpoints = endpointsAreDisabled({\n endpoints: collection.config.endpoints,\n request,\n })\n if (disableEndpoints) {\n return disableEndpoints\n }\n\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: collection.config.endpoints,\n entitySlug: slug1,\n req,\n })\n if (customEndpointResponse) {\n return customEndpointResponse\n } else {\n await addDataAndFileToRequest(req)\n addLocalesToRequestFromData(req)\n\n switch (slug.length) {\n case 1:\n // /:collection\n res = await endpoints.collection.DELETE.delete({ collection, req })\n break\n case 2:\n // /:collection/:id\n res = await endpoints.collection.DELETE.deleteByID({\n id: slug2,\n collection,\n req,\n })\n break\n }\n }\n }\n\n if (res instanceof Response) {\n if (req.responseHeaders) {\n const mergedResponse = new Response(res.body, {\n headers: mergeHeaders(req.responseHeaders, res.headers),\n status: res.status,\n statusText: res.statusText,\n })\n\n return mergedResponse\n }\n\n return res\n }\n\n // root routes\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: req.payload.config.endpoints,\n req,\n })\n\n if (customEndpointResponse) {\n return customEndpointResponse\n }\n\n return RouteNotFoundResponse({\n slug,\n req,\n })\n } catch (error) {\n return routeError({\n collection,\n config,\n err: error,\n req: req || request,\n })\n }\n }\n\nexport const PATCH =\n (config: Promise<SanitizedConfig> | SanitizedConfig) =>\n async (request: Request, { params: paramsPromise }: { params: Promise<{ slug: string[] }> }) => {\n const { slug } = await paramsPromise\n const [slug1, slug2] = slug\n let req: PayloadRequest\n let res: Response\n let collection: Collection\n\n try {\n req = await createPayloadRequest({\n config,\n request,\n })\n collection = req.payload.collections?.[slug1]\n\n const disableEndpoints = endpointsAreDisabled({\n endpoints: req.payload.config.endpoints,\n request,\n })\n if (disableEndpoints) {\n return disableEndpoints\n }\n\n if (collection) {\n req.routeParams.collection = slug1\n\n const disableEndpoints = endpointsAreDisabled({\n endpoints: collection.config.endpoints,\n request,\n })\n if (disableEndpoints) {\n return disableEndpoints\n }\n\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: collection.config.endpoints,\n entitySlug: slug1,\n req,\n })\n\n if (customEndpointResponse) {\n return customEndpointResponse\n } else {\n await addDataAndFileToRequest(req)\n addLocalesToRequestFromData(req)\n\n switch (slug.length) {\n case 1:\n // /:collection\n res = await endpoints.collection.PATCH.update({ collection, req })\n break\n case 2:\n // /:collection/:id\n res = await endpoints.collection.PATCH.updateByID({\n id: slug2,\n collection,\n req,\n })\n break\n }\n }\n }\n\n if (res instanceof Response) {\n if (req.responseHeaders) {\n const mergedResponse = new Response(res.body, {\n headers: mergeHeaders(req.responseHeaders, res.headers),\n status: res.status,\n statusText: res.statusText,\n })\n\n return mergedResponse\n }\n\n return res\n }\n\n // root routes\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: req.payload.config.endpoints,\n req,\n })\n\n if (customEndpointResponse) {\n return customEndpointResponse\n }\n\n return RouteNotFoundResponse({\n slug,\n req,\n })\n } catch (error) {\n return routeError({\n collection,\n config,\n err: error,\n req: req || request,\n })\n }\n }\n\nexport const PUT =\n (config: Promise<SanitizedConfig> | SanitizedConfig) =>\n async (request: Request, { params: paramsPromise }: { params: Promise<{ slug: string[] }> }) => {\n const { slug } = await paramsPromise\n const [slug1] = slug\n let req: PayloadRequest\n let res: Response\n let collection: Collection\n\n try {\n req = await createPayloadRequest({\n config,\n request,\n })\n collection = req.payload.collections?.[slug1]\n\n const disableEndpoints = endpointsAreDisabled({\n endpoints: req.payload.config.endpoints,\n request,\n })\n if (disableEndpoints) {\n return disableEndpoints\n }\n\n if (collection) {\n req.routeParams.collection = slug1\n\n const disableEndpoints = endpointsAreDisabled({\n endpoints: collection.config.endpoints,\n request,\n })\n if (disableEndpoints) {\n return disableEndpoints\n }\n\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: collection.config.endpoints,\n entitySlug: slug1,\n req,\n })\n\n if (customEndpointResponse) {\n return customEndpointResponse\n }\n }\n\n if (res instanceof Response) {\n if (req.responseHeaders) {\n const mergedResponse = new Response(res.body, {\n headers: mergeHeaders(req.responseHeaders, res.headers),\n status: res.status,\n statusText: res.statusText,\n })\n\n return mergedResponse\n }\n\n return res\n }\n\n // root routes\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: req.payload.config.endpoints,\n req,\n })\n\n if (customEndpointResponse) {\n return customEndpointResponse\n }\n\n return RouteNotFoundResponse({\n slug,\n req,\n })\n } catch (error) {\n return routeError({\n collection,\n config,\n err: error,\n req: req || request,\n })\n }\n }\n"],"mappings":"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","ignoreList":[]}