@payloadcms/next 3.0.0-beta.3 → 3.0.0-beta.31

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 (429) hide show
  1. package/dist/cjs/withPayload.cjs +2 -1
  2. package/dist/cjs/withPayload.cjs.map +1 -1
  3. package/dist/exports/routes.d.ts +1 -1
  4. package/dist/exports/routes.d.ts.map +1 -1
  5. package/dist/exports/routes.js +1 -1
  6. package/dist/exports/routes.js.map +1 -1
  7. package/dist/exports/utilities.d.ts +7 -1
  8. package/dist/exports/utilities.d.ts.map +1 -1
  9. package/dist/exports/utilities.js +7 -1
  10. package/dist/exports/utilities.js.map +1 -1
  11. package/dist/{next-fileupload → fetchAPI-multipart}/fileFactory.d.ts +2 -2
  12. package/dist/fetchAPI-multipart/fileFactory.d.ts.map +1 -0
  13. package/dist/fetchAPI-multipart/fileFactory.js.map +1 -0
  14. package/dist/{next-fileupload → fetchAPI-multipart}/handlers.d.ts +2 -2
  15. package/dist/fetchAPI-multipart/handlers.d.ts.map +1 -0
  16. package/dist/fetchAPI-multipart/handlers.js.map +1 -0
  17. package/dist/{next-fileupload → fetchAPI-multipart}/index.d.ts +8 -8
  18. package/dist/fetchAPI-multipart/index.d.ts.map +1 -0
  19. package/dist/{next-fileupload → fetchAPI-multipart}/index.js +1 -1
  20. package/dist/fetchAPI-multipart/index.js.map +1 -0
  21. package/dist/fetchAPI-multipart/isEligibleRequest.d.ts.map +1 -0
  22. package/dist/{next-fileupload → fetchAPI-multipart}/isEligibleRequest.js +1 -1
  23. package/dist/fetchAPI-multipart/isEligibleRequest.js.map +1 -0
  24. package/dist/fetchAPI-multipart/processMultipart.d.ts +8 -0
  25. package/dist/fetchAPI-multipart/processMultipart.d.ts.map +1 -0
  26. package/dist/{next-fileupload → fetchAPI-multipart}/processMultipart.js +29 -6
  27. package/dist/fetchAPI-multipart/processMultipart.js.map +1 -0
  28. package/dist/fetchAPI-multipart/processNested.d.ts.map +1 -0
  29. package/dist/{next-fileupload → fetchAPI-multipart}/processNested.js +2 -1
  30. package/dist/fetchAPI-multipart/processNested.js.map +1 -0
  31. package/dist/fetchAPI-multipart/uploadTimer.d.ts.map +1 -0
  32. package/dist/fetchAPI-multipart/uploadTimer.js.map +1 -0
  33. package/dist/{next-fileupload → fetchAPI-multipart}/utilities.d.ts +4 -4
  34. package/dist/fetchAPI-multipart/utilities.d.ts.map +1 -0
  35. package/dist/{next-fileupload → fetchAPI-multipart}/utilities.js +4 -4
  36. package/dist/fetchAPI-multipart/utilities.js.map +1 -0
  37. package/dist/fetchAPI-stream-file/index.d.ts.map +1 -0
  38. package/dist/fetchAPI-stream-file/index.js.map +1 -0
  39. package/dist/layouts/Root/index.d.ts.map +1 -1
  40. package/dist/layouts/Root/index.js +23 -1
  41. package/dist/layouts/Root/index.js.map +1 -1
  42. package/dist/prod/payload/payload-favicon-dark.png +0 -0
  43. package/dist/prod/payload/payload-favicon-light.png +0 -0
  44. package/dist/prod/styles.css +1 -1
  45. package/dist/routes/graphql/handler.d.ts.map +1 -1
  46. package/dist/routes/graphql/handler.js +22 -10
  47. package/dist/routes/graphql/handler.js.map +1 -1
  48. package/dist/routes/index.d.ts +1 -1
  49. package/dist/routes/index.d.ts.map +1 -1
  50. package/dist/routes/index.js +1 -1
  51. package/dist/routes/index.js.map +1 -1
  52. package/dist/routes/rest/auth/access.d.ts.map +1 -1
  53. package/dist/routes/rest/auth/access.js +5 -0
  54. package/dist/routes/rest/auth/access.js.map +1 -1
  55. package/dist/routes/rest/auth/forgotPassword.d.ts.map +1 -1
  56. package/dist/routes/rest/auth/forgotPassword.js +7 -2
  57. package/dist/routes/rest/auth/forgotPassword.js.map +1 -1
  58. package/dist/routes/rest/auth/init.d.ts.map +1 -1
  59. package/dist/routes/rest/auth/init.js +6 -0
  60. package/dist/routes/rest/auth/init.js.map +1 -1
  61. package/dist/routes/rest/auth/login.d.ts.map +1 -1
  62. package/dist/routes/rest/auth/login.js +8 -5
  63. package/dist/routes/rest/auth/login.js.map +1 -1
  64. package/dist/routes/rest/auth/logout.d.ts.map +1 -1
  65. package/dist/routes/rest/auth/logout.js +12 -7
  66. package/dist/routes/rest/auth/logout.js.map +1 -1
  67. package/dist/routes/rest/auth/me.d.ts.map +1 -1
  68. package/dist/routes/rest/auth/me.js +5 -0
  69. package/dist/routes/rest/auth/me.js.map +1 -1
  70. package/dist/routes/rest/auth/refresh.d.ts.map +1 -1
  71. package/dist/routes/rest/auth/refresh.js +11 -7
  72. package/dist/routes/rest/auth/refresh.js.map +1 -1
  73. package/dist/routes/rest/auth/registerFirstUser.d.ts.map +1 -1
  74. package/dist/routes/rest/auth/registerFirstUser.js +8 -5
  75. package/dist/routes/rest/auth/registerFirstUser.js.map +1 -1
  76. package/dist/routes/rest/auth/resetPassword.d.ts.map +1 -1
  77. package/dist/routes/rest/auth/resetPassword.js +8 -5
  78. package/dist/routes/rest/auth/resetPassword.js.map +1 -1
  79. package/dist/routes/rest/auth/unlock.d.ts.map +1 -1
  80. package/dist/routes/rest/auth/unlock.js +7 -2
  81. package/dist/routes/rest/auth/unlock.js.map +1 -1
  82. package/dist/routes/rest/auth/verifyEmail.d.ts.map +1 -1
  83. package/dist/routes/rest/auth/verifyEmail.js +7 -2
  84. package/dist/routes/rest/auth/verifyEmail.js.map +1 -1
  85. package/dist/routes/rest/buildFormState.d.ts +3 -3
  86. package/dist/routes/rest/buildFormState.d.ts.map +1 -1
  87. package/dist/routes/rest/buildFormState.js +42 -7
  88. package/dist/routes/rest/buildFormState.js.map +1 -1
  89. package/dist/routes/rest/collections/count.d.ts +3 -0
  90. package/dist/routes/rest/collections/count.d.ts.map +1 -0
  91. package/dist/routes/rest/collections/count.js +15 -0
  92. package/dist/routes/rest/collections/count.js.map +1 -0
  93. package/dist/routes/rest/collections/create.d.ts.map +1 -1
  94. package/dist/routes/rest/collections/create.js +5 -0
  95. package/dist/routes/rest/collections/create.js.map +1 -1
  96. package/dist/routes/rest/collections/delete.d.ts.map +1 -1
  97. package/dist/routes/rest/collections/delete.js +7 -0
  98. package/dist/routes/rest/collections/delete.js.map +1 -1
  99. package/dist/routes/rest/collections/deleteByID.d.ts.map +1 -1
  100. package/dist/routes/rest/collections/deleteByID.js +14 -1
  101. package/dist/routes/rest/collections/deleteByID.js.map +1 -1
  102. package/dist/routes/rest/collections/docAccess.d.ts.map +1 -1
  103. package/dist/routes/rest/collections/docAccess.js +5 -0
  104. package/dist/routes/rest/collections/docAccess.js.map +1 -1
  105. package/dist/routes/rest/collections/duplicate.d.ts.map +1 -1
  106. package/dist/routes/rest/collections/duplicate.js +12 -1
  107. package/dist/routes/rest/collections/duplicate.js.map +1 -1
  108. package/dist/routes/rest/collections/find.d.ts.map +1 -1
  109. package/dist/routes/rest/collections/find.js +5 -0
  110. package/dist/routes/rest/collections/find.js.map +1 -1
  111. package/dist/routes/rest/collections/findByID.d.ts.map +1 -1
  112. package/dist/routes/rest/collections/findByID.js +12 -1
  113. package/dist/routes/rest/collections/findByID.js.map +1 -1
  114. package/dist/routes/rest/collections/findVersionByID.d.ts.map +1 -1
  115. package/dist/routes/rest/collections/findVersionByID.js +12 -1
  116. package/dist/routes/rest/collections/findVersionByID.js.map +1 -1
  117. package/dist/routes/rest/collections/findVersions.d.ts.map +1 -1
  118. package/dist/routes/rest/collections/findVersions.js +5 -0
  119. package/dist/routes/rest/collections/findVersions.js.map +1 -1
  120. package/dist/routes/rest/collections/preview.d.ts.map +1 -1
  121. package/dist/routes/rest/collections/preview.js +11 -2
  122. package/dist/routes/rest/collections/preview.js.map +1 -1
  123. package/dist/routes/rest/collections/restoreVersion.d.ts.map +1 -1
  124. package/dist/routes/rest/collections/restoreVersion.js +12 -1
  125. package/dist/routes/rest/collections/restoreVersion.js.map +1 -1
  126. package/dist/routes/rest/collections/update.d.ts.map +1 -1
  127. package/dist/routes/rest/collections/update.js +7 -0
  128. package/dist/routes/rest/collections/update.js.map +1 -1
  129. package/dist/routes/rest/collections/updateByID.d.ts.map +1 -1
  130. package/dist/routes/rest/collections/updateByID.js +12 -1
  131. package/dist/routes/rest/collections/updateByID.js.map +1 -1
  132. package/dist/routes/rest/files/checkFileAccess.d.ts +3 -3
  133. package/dist/routes/rest/files/checkFileAccess.d.ts.map +1 -1
  134. package/dist/routes/rest/files/checkFileAccess.js +1 -0
  135. package/dist/routes/rest/files/checkFileAccess.js.map +1 -1
  136. package/dist/routes/rest/files/getFile.d.ts +2 -2
  137. package/dist/routes/rest/files/getFile.d.ts.map +1 -1
  138. package/dist/routes/rest/files/getFile.js +19 -10
  139. package/dist/routes/rest/files/getFile.js.map +1 -1
  140. package/dist/routes/rest/files/getFileTypeFallback.d.ts +7 -0
  141. package/dist/routes/rest/files/getFileTypeFallback.d.ts.map +1 -0
  142. package/dist/routes/rest/files/getFileTypeFallback.js +21 -0
  143. package/dist/routes/rest/files/getFileTypeFallback.js.map +1 -0
  144. package/dist/routes/rest/globals/docAccess.d.ts.map +1 -1
  145. package/dist/routes/rest/globals/docAccess.js +5 -0
  146. package/dist/routes/rest/globals/docAccess.js.map +1 -1
  147. package/dist/routes/rest/globals/findOne.d.ts.map +1 -1
  148. package/dist/routes/rest/globals/findOne.js +5 -0
  149. package/dist/routes/rest/globals/findOne.js.map +1 -1
  150. package/dist/routes/rest/globals/findVersionByID.d.ts.map +1 -1
  151. package/dist/routes/rest/globals/findVersionByID.js +5 -0
  152. package/dist/routes/rest/globals/findVersionByID.js.map +1 -1
  153. package/dist/routes/rest/globals/findVersions.d.ts.map +1 -1
  154. package/dist/routes/rest/globals/findVersions.js +5 -0
  155. package/dist/routes/rest/globals/findVersions.js.map +1 -1
  156. package/dist/routes/rest/globals/preview.d.ts.map +1 -1
  157. package/dist/routes/rest/globals/preview.js +11 -2
  158. package/dist/routes/rest/globals/preview.js.map +1 -1
  159. package/dist/routes/rest/globals/restoreVersion.d.ts.map +1 -1
  160. package/dist/routes/rest/globals/restoreVersion.js +5 -0
  161. package/dist/routes/rest/globals/restoreVersion.js.map +1 -1
  162. package/dist/routes/rest/globals/update.d.ts.map +1 -1
  163. package/dist/routes/rest/globals/update.js +5 -0
  164. package/dist/routes/rest/globals/update.js.map +1 -1
  165. package/dist/routes/rest/index.d.ts +1 -0
  166. package/dist/routes/rest/index.d.ts.map +1 -1
  167. package/dist/routes/rest/index.js +324 -213
  168. package/dist/routes/rest/index.js.map +1 -1
  169. package/dist/routes/rest/routeError.d.ts +5 -4
  170. package/dist/routes/rest/routeError.d.ts.map +1 -1
  171. package/dist/routes/rest/routeError.js +25 -11
  172. package/dist/routes/rest/routeError.js.map +1 -1
  173. package/dist/routes/rest/types.d.ts +7 -7
  174. package/dist/routes/rest/types.d.ts.map +1 -1
  175. package/dist/routes/rest/types.js.map +1 -1
  176. package/dist/routes/rest/utilities/sanitizeCollectionID.d.ts +9 -0
  177. package/dist/routes/rest/utilities/sanitizeCollectionID.d.ts.map +1 -0
  178. package/dist/routes/rest/utilities/sanitizeCollectionID.js +13 -0
  179. package/dist/routes/rest/utilities/sanitizeCollectionID.js.map +1 -0
  180. package/dist/scss/app.scss +2 -3
  181. package/dist/scss/vars.scss +0 -7
  182. package/dist/utilities/addDataAndFileToRequest.d.ts +11 -0
  183. package/dist/utilities/addDataAndFileToRequest.d.ts.map +1 -0
  184. package/dist/utilities/addDataAndFileToRequest.js +74 -0
  185. package/dist/utilities/addDataAndFileToRequest.js.map +1 -0
  186. package/dist/utilities/addLocalesToRequest.d.ts +20 -0
  187. package/dist/utilities/addLocalesToRequest.d.ts.map +1 -0
  188. package/dist/utilities/addLocalesToRequest.js +44 -0
  189. package/dist/utilities/addLocalesToRequest.js.map +1 -0
  190. package/dist/utilities/buildFieldSchemaMap/index.d.ts +2 -2
  191. package/dist/utilities/buildFieldSchemaMap/index.d.ts.map +1 -1
  192. package/dist/utilities/buildFieldSchemaMap/index.js.map +1 -1
  193. package/dist/utilities/buildFieldSchemaMap/traverseFields.d.ts +1 -1
  194. package/dist/utilities/buildFieldSchemaMap/traverseFields.d.ts.map +1 -1
  195. package/dist/utilities/buildFieldSchemaMap/traverseFields.js +3 -0
  196. package/dist/utilities/buildFieldSchemaMap/traverseFields.js.map +1 -1
  197. package/dist/utilities/createPayloadRequest.d.ts.map +1 -1
  198. package/dist/utilities/createPayloadRequest.js +15 -28
  199. package/dist/utilities/createPayloadRequest.js.map +1 -1
  200. package/dist/utilities/getDataAndFile.d.ts +2 -2
  201. package/dist/utilities/getDataAndFile.d.ts.map +1 -1
  202. package/dist/utilities/getDataAndFile.js +27 -43
  203. package/dist/utilities/getDataAndFile.js.map +1 -1
  204. package/dist/utilities/getNextRequestI18n.d.ts +1 -1
  205. package/dist/utilities/getNextRequestI18n.js +1 -1
  206. package/dist/utilities/getNextRequestI18n.js.map +1 -1
  207. package/dist/utilities/getPayloadHMR.d.ts +2 -1
  208. package/dist/utilities/getPayloadHMR.d.ts.map +1 -1
  209. package/dist/utilities/getPayloadHMR.js +22 -18
  210. package/dist/utilities/getPayloadHMR.js.map +1 -1
  211. package/dist/utilities/getRequestLanguage.d.ts +1 -1
  212. package/dist/utilities/getRequestLanguage.d.ts.map +1 -1
  213. package/dist/utilities/getRequestLanguage.js +3 -4
  214. package/dist/utilities/getRequestLanguage.js.map +1 -1
  215. package/dist/utilities/headersWithCors.d.ts +8 -0
  216. package/dist/utilities/headersWithCors.d.ts.map +1 -0
  217. package/dist/utilities/headersWithCors.js +17 -0
  218. package/dist/utilities/headersWithCors.js.map +1 -0
  219. package/dist/utilities/initPage/handleAdminPage.d.ts +13 -0
  220. package/dist/utilities/initPage/handleAdminPage.d.ts.map +1 -0
  221. package/dist/utilities/initPage/handleAdminPage.js +35 -0
  222. package/dist/utilities/initPage/handleAdminPage.js.map +1 -0
  223. package/dist/utilities/initPage/handleAuthRedirect.d.ts +9 -0
  224. package/dist/utilities/initPage/handleAuthRedirect.d.ts.map +1 -0
  225. package/dist/utilities/initPage/handleAuthRedirect.js +26 -0
  226. package/dist/utilities/initPage/handleAuthRedirect.js.map +1 -0
  227. package/dist/utilities/initPage/index.d.ts +4 -0
  228. package/dist/utilities/initPage/index.d.ts.map +1 -0
  229. package/dist/utilities/{initPage.js → initPage/index.js} +22 -31
  230. package/dist/utilities/initPage/index.js.map +1 -0
  231. package/dist/utilities/initPage/shared.d.ts +4 -0
  232. package/dist/utilities/initPage/shared.d.ts.map +1 -0
  233. package/dist/utilities/initPage/shared.js +17 -0
  234. package/dist/utilities/initPage/shared.js.map +1 -0
  235. package/dist/utilities/initPage/types.d.ts +24 -0
  236. package/dist/utilities/initPage/types.d.ts.map +1 -0
  237. package/dist/utilities/initPage/types.js +3 -0
  238. package/dist/utilities/initPage/types.js.map +1 -0
  239. package/dist/utilities/meta.d.ts.map +1 -1
  240. package/dist/utilities/meta.js +24 -11
  241. package/dist/utilities/meta.js.map +1 -1
  242. package/dist/views/API/RenderJSON/index.js +4 -1
  243. package/dist/views/API/RenderJSON/index.js.map +1 -1
  244. package/dist/views/API/index.client.js +8 -8
  245. package/dist/views/API/index.client.js.map +1 -1
  246. package/dist/views/API/meta.d.ts.map +1 -1
  247. package/dist/views/API/meta.js +1 -3
  248. package/dist/views/API/meta.js.map +1 -1
  249. package/dist/views/Account/index.d.ts.map +1 -1
  250. package/dist/views/Account/index.js +4 -2
  251. package/dist/views/Account/index.js.map +1 -1
  252. package/dist/views/Account/meta.d.ts.map +1 -1
  253. package/dist/views/Account/meta.js +1 -3
  254. package/dist/views/Account/meta.js.map +1 -1
  255. package/dist/views/CreateFirstUser/index.client.d.ts +3 -3
  256. package/dist/views/CreateFirstUser/index.client.d.ts.map +1 -1
  257. package/dist/views/CreateFirstUser/index.client.js +48 -6
  258. package/dist/views/CreateFirstUser/index.client.js.map +1 -1
  259. package/dist/views/CreateFirstUser/index.d.ts.map +1 -1
  260. package/dist/views/CreateFirstUser/index.js +9 -20
  261. package/dist/views/CreateFirstUser/index.js.map +1 -1
  262. package/dist/views/CreateFirstUser/index.scss +2 -12
  263. package/dist/views/CreateFirstUser/meta.d.ts.map +1 -1
  264. package/dist/views/CreateFirstUser/meta.js +1 -3
  265. package/dist/views/CreateFirstUser/meta.js.map +1 -1
  266. package/dist/views/Dashboard/Default/index.d.ts +2 -1
  267. package/dist/views/Dashboard/Default/index.d.ts.map +1 -1
  268. package/dist/views/Dashboard/Default/index.js +14 -7
  269. package/dist/views/Dashboard/Default/index.js.map +1 -1
  270. package/dist/views/Dashboard/index.d.ts.map +1 -1
  271. package/dist/views/Dashboard/index.js +3 -2
  272. package/dist/views/Dashboard/index.js.map +1 -1
  273. package/dist/views/Dashboard/meta.d.ts.map +1 -1
  274. package/dist/views/Dashboard/meta.js +1 -3
  275. package/dist/views/Dashboard/meta.js.map +1 -1
  276. package/dist/views/Document/index.d.ts.map +1 -1
  277. package/dist/views/Document/index.js +4 -2
  278. package/dist/views/Document/index.js.map +1 -1
  279. package/dist/views/Edit/Default/Auth/APIKey.d.ts +1 -0
  280. package/dist/views/Edit/Default/Auth/APIKey.d.ts.map +1 -1
  281. package/dist/views/Edit/Default/Auth/APIKey.js +13 -6
  282. package/dist/views/Edit/Default/Auth/APIKey.js.map +1 -1
  283. package/dist/views/Edit/Default/Auth/index.js +2 -1
  284. package/dist/views/Edit/Default/Auth/index.js.map +1 -1
  285. package/dist/views/Edit/Default/{SetStepNav → SetDocumentStepNav}/index.d.ts +1 -1
  286. package/dist/views/Edit/Default/SetDocumentStepNav/index.d.ts.map +1 -0
  287. package/dist/views/Edit/Default/{SetStepNav → SetDocumentStepNav}/index.js +12 -5
  288. package/dist/views/Edit/Default/SetDocumentStepNav/index.js.map +1 -0
  289. package/dist/views/Edit/Default/index.d.ts.map +1 -1
  290. package/dist/views/Edit/Default/index.js +6 -5
  291. package/dist/views/Edit/Default/index.js.map +1 -1
  292. package/dist/views/ForgotPassword/ForgotPasswordForm/index.d.ts +3 -0
  293. package/dist/views/ForgotPassword/ForgotPasswordForm/index.d.ts.map +1 -0
  294. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +58 -0
  295. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -0
  296. package/dist/views/ForgotPassword/index.d.ts.map +1 -1
  297. package/dist/views/ForgotPassword/index.js +3 -39
  298. package/dist/views/ForgotPassword/index.js.map +1 -1
  299. package/dist/views/ForgotPassword/meta.d.ts.map +1 -1
  300. package/dist/views/ForgotPassword/meta.js +1 -3
  301. package/dist/views/ForgotPassword/meta.js.map +1 -1
  302. package/dist/views/List/index.d.ts.map +1 -1
  303. package/dist/views/List/index.js +4 -3
  304. package/dist/views/List/index.js.map +1 -1
  305. package/dist/views/LivePreview/Preview/index.d.ts.map +1 -1
  306. package/dist/views/LivePreview/Preview/index.js +23 -0
  307. package/dist/views/LivePreview/Preview/index.js.map +1 -1
  308. package/dist/views/LivePreview/Toolbar/Controls/index.d.ts.map +1 -1
  309. package/dist/views/LivePreview/Toolbar/Controls/index.js +6 -4
  310. package/dist/views/LivePreview/Toolbar/Controls/index.js.map +1 -1
  311. package/dist/views/LivePreview/index.client.js +2 -2
  312. package/dist/views/LivePreview/index.client.js.map +1 -1
  313. package/dist/views/Login/LoginForm/index.d.ts.map +1 -1
  314. package/dist/views/Login/LoginForm/index.js +32 -2
  315. package/dist/views/Login/LoginForm/index.js.map +1 -1
  316. package/dist/views/Login/index.d.ts.map +1 -1
  317. package/dist/views/Login/index.js +15 -8
  318. package/dist/views/Login/index.js.map +1 -1
  319. package/dist/views/Login/meta.d.ts.map +1 -1
  320. package/dist/views/Login/meta.js +1 -3
  321. package/dist/views/Login/meta.js.map +1 -1
  322. package/dist/views/Logout/LogoutClient.d.ts.map +1 -1
  323. package/dist/views/Logout/LogoutClient.js +1 -2
  324. package/dist/views/Logout/LogoutClient.js.map +1 -1
  325. package/dist/views/Logout/meta.d.ts.map +1 -1
  326. package/dist/views/Logout/meta.js +1 -3
  327. package/dist/views/Logout/meta.js.map +1 -1
  328. package/dist/views/NotFound/index.d.ts.map +1 -1
  329. package/dist/views/NotFound/index.js +6 -4
  330. package/dist/views/NotFound/index.js.map +1 -1
  331. package/dist/views/NotFound/meta.d.ts.map +1 -1
  332. package/dist/views/NotFound/meta.js +1 -3
  333. package/dist/views/NotFound/meta.js.map +1 -1
  334. package/dist/views/ResetPassword/index.client.d.ts +7 -0
  335. package/dist/views/ResetPassword/index.client.d.ts.map +1 -0
  336. package/dist/views/ResetPassword/index.client.js +83 -0
  337. package/dist/views/ResetPassword/index.client.js.map +1 -0
  338. package/dist/views/ResetPassword/index.d.ts.map +1 -1
  339. package/dist/views/ResetPassword/index.js +6 -31
  340. package/dist/views/ResetPassword/index.js.map +1 -1
  341. package/dist/views/ResetPassword/index.scss +2 -12
  342. package/dist/views/ResetPassword/meta.d.ts.map +1 -1
  343. package/dist/views/ResetPassword/meta.js +1 -3
  344. package/dist/views/ResetPassword/meta.js.map +1 -1
  345. package/dist/views/Root/getViewFromConfig.d.ts +1 -1
  346. package/dist/views/Root/getViewFromConfig.d.ts.map +1 -1
  347. package/dist/views/Root/getViewFromConfig.js.map +1 -1
  348. package/dist/views/Root/index.d.ts.map +1 -1
  349. package/dist/views/Root/index.js +2 -2
  350. package/dist/views/Root/index.js.map +1 -1
  351. package/dist/views/Unauthorized/meta.d.ts.map +1 -1
  352. package/dist/views/Unauthorized/meta.js +1 -3
  353. package/dist/views/Unauthorized/meta.js.map +1 -1
  354. package/dist/views/Verify/index.d.ts.map +1 -1
  355. package/dist/views/Verify/index.js +2 -2
  356. package/dist/views/Verify/index.js.map +1 -1
  357. package/dist/views/Verify/meta.d.ts.map +1 -1
  358. package/dist/views/Verify/meta.js +1 -3
  359. package/dist/views/Verify/meta.js.map +1 -1
  360. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js.map +1 -1
  361. package/dist/views/Version/RenderFieldsToDiff/fields/index.d.ts +0 -2
  362. package/dist/views/Version/RenderFieldsToDiff/fields/index.d.ts.map +1 -1
  363. package/dist/views/Version/RenderFieldsToDiff/fields/types.d.ts +2 -2
  364. package/dist/views/Version/RenderFieldsToDiff/fields/types.d.ts.map +1 -1
  365. package/dist/views/Version/RenderFieldsToDiff/fields/types.js.map +1 -1
  366. package/dist/views/Version/RenderFieldsToDiff/types.d.ts +2 -2
  367. package/dist/views/Version/RenderFieldsToDiff/types.d.ts.map +1 -1
  368. package/dist/views/Version/RenderFieldsToDiff/types.js.map +1 -1
  369. package/dist/views/Version/Restore/index.d.ts.map +1 -1
  370. package/dist/views/Version/Restore/index.js +11 -8
  371. package/dist/views/Version/Restore/index.js.map +1 -1
  372. package/dist/views/Version/Restore/index.scss +4 -2
  373. package/dist/views/Versions/index.js +2 -2
  374. package/dist/views/Versions/index.js.map +1 -1
  375. package/dist/withPayload.d.ts.map +1 -1
  376. package/dist/withPayload.js +2 -1
  377. package/dist/withPayload.js.map +1 -1
  378. package/package.json +34 -33
  379. package/dist/next-fileupload/fileFactory.d.ts.map +0 -1
  380. package/dist/next-fileupload/fileFactory.js.map +0 -1
  381. package/dist/next-fileupload/handlers.d.ts.map +0 -1
  382. package/dist/next-fileupload/handlers.js.map +0 -1
  383. package/dist/next-fileupload/index.d.ts.map +0 -1
  384. package/dist/next-fileupload/index.js.map +0 -1
  385. package/dist/next-fileupload/isEligibleRequest.d.ts.map +0 -1
  386. package/dist/next-fileupload/isEligibleRequest.js.map +0 -1
  387. package/dist/next-fileupload/processMultipart.d.ts +0 -8
  388. package/dist/next-fileupload/processMultipart.d.ts.map +0 -1
  389. package/dist/next-fileupload/processMultipart.js.map +0 -1
  390. package/dist/next-fileupload/processNested.d.ts.map +0 -1
  391. package/dist/next-fileupload/processNested.js.map +0 -1
  392. package/dist/next-fileupload/uploadTimer.d.ts.map +0 -1
  393. package/dist/next-fileupload/uploadTimer.js.map +0 -1
  394. package/dist/next-fileupload/utilities.d.ts.map +0 -1
  395. package/dist/next-fileupload/utilities.js.map +0 -1
  396. package/dist/next-stream-file/index.d.ts.map +0 -1
  397. package/dist/next-stream-file/index.js.map +0 -1
  398. package/dist/prod/payload/SuisseIntl-Bold.woff +0 -0
  399. package/dist/prod/payload/SuisseIntl-Bold.woff2 +0 -0
  400. package/dist/prod/payload/SuisseIntl-Medium.woff +0 -0
  401. package/dist/prod/payload/SuisseIntl-Medium.woff2 +0 -0
  402. package/dist/prod/payload/SuisseIntl-SemiBold.woff +0 -0
  403. package/dist/prod/payload/SuisseIntl-SemiBold.woff2 +0 -0
  404. package/dist/prod/payload/SuisseIntl.woff +0 -0
  405. package/dist/prod/payload/SuisseIntl.woff2 +0 -0
  406. package/dist/prod/payload/merriweather-v30-latin-900.woff +0 -0
  407. package/dist/prod/payload/merriweather-v30-latin-900.woff2 +0 -0
  408. package/dist/prod/payload/merriweather-v30-latin-900italic.woff +0 -0
  409. package/dist/prod/payload/merriweather-v30-latin-900italic.woff2 +0 -0
  410. package/dist/prod/payload/merriweather-v30-latin-italic.woff +0 -0
  411. package/dist/prod/payload/merriweather-v30-latin-italic.woff2 +0 -0
  412. package/dist/prod/payload/merriweather-v30-latin-regular.woff +0 -0
  413. package/dist/prod/payload/merriweather-v30-latin-regular.woff2 +0 -0
  414. package/dist/scss/fonts.scss +0 -75
  415. package/dist/utilities/initPage.d.ts +0 -12
  416. package/dist/utilities/initPage.d.ts.map +0 -1
  417. package/dist/utilities/initPage.js.map +0 -1
  418. package/dist/views/Edit/Default/SetStepNav/index.d.ts.map +0 -1
  419. package/dist/views/Edit/Default/SetStepNav/index.js.map +0 -1
  420. package/src/index.js +0 -1
  421. /package/dist/{next-fileupload → fetchAPI-multipart}/fileFactory.js +0 -0
  422. /package/dist/{next-fileupload → fetchAPI-multipart}/handlers.js +0 -0
  423. /package/dist/{next-fileupload → fetchAPI-multipart}/isEligibleRequest.d.ts +0 -0
  424. /package/dist/{next-fileupload → fetchAPI-multipart}/processNested.d.ts +0 -0
  425. /package/dist/{next-fileupload → fetchAPI-multipart}/uploadTimer.d.ts +0 -0
  426. /package/dist/{next-fileupload → fetchAPI-multipart}/uploadTimer.js +0 -0
  427. /package/dist/{next-stream-file → fetchAPI-stream-file}/index.d.ts +0 -0
  428. /package/dist/{next-stream-file → fetchAPI-stream-file}/index.js +0 -0
  429. /package/dist/prod/payload/{favicon.svg → payload-favicon.svg} +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/routes/rest/index.ts"],"sourcesContent":["import type { Endpoint } from 'payload/config'\nimport type { Collection, GlobalConfig, PayloadRequest, SanitizedConfig } from 'payload/types'\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 { createPayloadRequest } from '../../utilities/createPayloadRequest.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 { 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 { routeError } from './routeError.js'\n\nconst endpoints = {\n collection: {\n DELETE: {\n delete: deleteDoc,\n deleteByID,\n },\n GET: {\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 },\n POST: {\n 'form-state': buildFormState,\n },\n },\n}\n\nconst handleCustomEndpoints = ({\n endpoints,\n entitySlug,\n payloadRequest,\n}: {\n endpoints: Endpoint[] | GlobalConfig['endpoints']\n entitySlug?: string\n payloadRequest: PayloadRequest\n}): Promise<Response> | Response => {\n if (endpoints && endpoints.length > 0) {\n let handlerParams = {}\n const { pathname } = payloadRequest\n const pathPrefix =\n payloadRequest.payload.config.routes.api + (entitySlug ? `/${entitySlug}` : '')\n\n const customEndpoint = endpoints.find((endpoint) => {\n if (endpoint.method === payloadRequest.method.toLowerCase()) {\n const pathMatchFn = match(`${pathPrefix}${endpoint.path}`, {\n decode: decodeURIComponent,\n })\n const tempParams = pathMatchFn(pathname)\n if (tempParams) {\n handlerParams = tempParams.params\n return true\n }\n }\n })\n\n if (customEndpoint) {\n payloadRequest.routeParams = handlerParams\n return customEndpoint.handler(payloadRequest)\n }\n }\n\n return null\n}\n\nconst RouteNotFoundResponse = (slug: string[]) =>\n Response.json(\n {\n message: `Route Not Found: \"${slug.join('/')}\"`,\n },\n { status: httpStatus.NOT_FOUND },\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 params: {\n collection: slug1,\n },\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 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 payloadRequest: req,\n })\n if (customEndpointResponse) return customEndpointResponse\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 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({ id: slug2, collection, req })\n }\n break\n case 3:\n if (slug2 === 'file') {\n // /:collection/file/:filename\n res = await endpoints.collection.GET.getFile({ collection, filename: slug3, req })\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 } else if (slug1 === 'globals') {\n const globalConfig = req.payload.config.globals.find((global) => global.slug === slug2)\n\n const disableEndpoints = endpointsAreDisabled({\n endpoints: globalConfig.endpoints,\n request,\n })\n\n if (disableEndpoints) return disableEndpoints\n\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: globalConfig.endpoints,\n entitySlug: `${slug1}/${slug2}`,\n payloadRequest: req,\n })\n\n if (customEndpointResponse) return customEndpointResponse\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 } else if (slug.length === 1 && slug1 in endpoints.root.GET) {\n res = await endpoints.root.GET[slug1]({ req })\n }\n\n if (res instanceof Response) return res\n\n // root routes\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: req.payload.config.endpoints,\n payloadRequest: req,\n })\n if (customEndpointResponse) return customEndpointResponse\n\n return RouteNotFoundResponse(slug)\n } catch (error) {\n return routeError({\n collection,\n err: error,\n req,\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 try {\n req = await createPayloadRequest({\n config,\n params: { collection: slug1 },\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 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 payloadRequest: req,\n })\n\n if (customEndpointResponse) return customEndpointResponse\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({ id: slug2, collection, req })\n }\n break\n }\n } else if (slug1 === 'globals' && slug2) {\n const globalConfig = req.payload.config.globals.find((global) => global.slug === slug2)\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 payloadRequest: req,\n })\n if (customEndpointResponse) return customEndpointResponse\n\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 } else if (slug.length === 1 && slug1 in endpoints.root.POST) {\n res = await endpoints.root.POST[slug1]({ req })\n }\n\n if (res instanceof Response) return res\n\n // root routes\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: req.payload.config.endpoints,\n payloadRequest: req,\n })\n if (customEndpointResponse) return customEndpointResponse\n\n return RouteNotFoundResponse(slug)\n } catch (error) {\n return routeError({\n collection,\n err: error,\n req,\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 params: {\n collection: slug1,\n },\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 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 payloadRequest: req,\n })\n if (customEndpointResponse) return customEndpointResponse\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({ id: slug2, collection, req })\n break\n }\n }\n\n if (res instanceof Response) return res\n\n // root routes\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: req.payload.config.endpoints,\n payloadRequest: req,\n })\n if (customEndpointResponse) return customEndpointResponse\n\n return RouteNotFoundResponse(slug)\n } catch (error) {\n return routeError({\n collection,\n err: error,\n req,\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 params: {\n collection: slug1,\n },\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 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 payloadRequest: req,\n })\n if (customEndpointResponse) return customEndpointResponse\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({ id: slug2, collection, req })\n break\n }\n }\n\n if (res instanceof Response) return res\n\n // root routes\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: req.payload.config.endpoints,\n payloadRequest: req,\n })\n if (customEndpointResponse) return customEndpointResponse\n\n return RouteNotFoundResponse(slug)\n } catch (error) {\n return routeError({\n collection,\n err: error,\n req,\n })\n }\n }\n"],"names":["httpStatus","match","createPayloadRequest","access","forgotPassword","init","login","logout","me","refresh","registerFirstUser","resetPassword","unlock","verifyEmail","buildFormState","endpointsAreDisabled","create","deleteDoc","deleteByID","docAccess","duplicate","find","findByID","findVersionByID","findVersions","preview","previewCollection","restoreVersion","update","updateByID","getFile","docAccessGlobal","findOne","findVersionByIdGlobal","findVersionsGlobal","previewGlobal","restoreVersionGlobal","updateGlobal","routeError","endpoints","collection","DELETE","delete","GET","versions","PATCH","POST","global","root","handleCustomEndpoints","entitySlug","payloadRequest","length","handlerParams","pathname","pathPrefix","payload","config","routes","api","customEndpoint","endpoint","method","toLowerCase","pathMatchFn","path","decode","decodeURIComponent","tempParams","params","routeParams","handler","RouteNotFoundResponse","slug","Response","json","message","join","status","NOT_FOUND","request","slug1","slug2","slug3","slug4","req","res","disableEndpoints","collections","customEndpointResponse","id","filename","globalConfig","globals","error","err","disableDuplicate"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
1
+ {"version":3,"sources":["../../../src/routes/rest/index.ts"],"sourcesContent":["import type { Endpoint } from 'payload/config'\nimport type {\n Collection,\n GlobalConfig,\n PayloadRequest,\n PayloadRequestData,\n SanitizedConfig,\n} from 'payload/types'\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 { 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 { 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 },\n POST: {\n 'form-state': buildFormState,\n },\n },\n}\n\nconst handleCustomEndpoints = ({\n endpoints,\n entitySlug,\n payloadRequest,\n}: {\n endpoints: Endpoint[] | GlobalConfig['endpoints']\n entitySlug?: string\n payloadRequest: PayloadRequest\n}): Promise<Response> | Response => {\n if (endpoints && endpoints.length > 0) {\n let handlerParams = {}\n const { pathname } = payloadRequest\n const pathPrefix =\n payloadRequest.payload.config.routes.api + (entitySlug ? `/${entitySlug}` : '')\n\n const customEndpoint = endpoints.find((endpoint) => {\n if (endpoint.method === payloadRequest.method.toLowerCase()) {\n const pathMatchFn = match(`${pathPrefix}${endpoint.path}`, {\n decode: decodeURIComponent,\n })\n const tempParams = pathMatchFn(pathname)\n if (tempParams) {\n handlerParams = tempParams.params\n return true\n }\n }\n })\n\n if (customEndpoint) {\n payloadRequest.routeParams = {\n ...payloadRequest.routeParams,\n ...handlerParams,\n }\n return customEndpoint.handler(payloadRequest)\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 | (PayloadRequest & PayloadRequestData)\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 payloadRequest: req,\n })\n if (customEndpointResponse) {\n return customEndpointResponse\n } else {\n const reqWithData = await addDataAndFileToRequest({ request: req })\n const payloadRequest = addLocalesToRequestFromData({ request: reqWithData })\n\n switch (slug.length) {\n case 1:\n // /:collection\n res = await endpoints.collection.GET.find({ collection, req: payloadRequest })\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: payloadRequest,\n })\n } else {\n // /:collection/:id\n res = await endpoints.collection.GET.findByID({\n id: slug2,\n collection,\n req: payloadRequest,\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: payloadRequest,\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: payloadRequest,\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: payloadRequest })\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 payloadRequest: req,\n })\n\n if (customEndpointResponse) {\n return customEndpointResponse\n } else {\n const reqWithData = await addDataAndFileToRequest({ request: req })\n const payloadRequest = addLocalesToRequestFromData({ request: reqWithData })\n\n switch (slug.length) {\n case 2:\n // /globals/:slug\n res = await endpoints.global.GET.findOne({ globalConfig, req: payloadRequest })\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: payloadRequest,\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: payloadRequest,\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: payloadRequest,\n })\n }\n break\n }\n }\n } else if (slug.length === 1 && slug1 in endpoints.root.GET) {\n const reqWithData = await addDataAndFileToRequest({ request: req })\n const payloadRequest = addLocalesToRequestFromData({ request: reqWithData })\n res = await endpoints.root.GET[slug1]({ req: payloadRequest })\n }\n\n if (res instanceof Response) return res\n\n // root routes\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: req.payload.config.endpoints,\n payloadRequest: req,\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 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 payloadRequest: req,\n })\n\n if (customEndpointResponse) {\n return customEndpointResponse\n } else {\n const reqWithData = await addDataAndFileToRequest({ request: req })\n const payloadRequest = addLocalesToRequestFromData({ request: reqWithData })\n\n switch (slug.length) {\n case 1:\n // /:collection\n res = await endpoints.collection.POST.create({ collection, req: payloadRequest })\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: payloadRequest,\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: payloadRequest })\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: payloadRequest,\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 payloadRequest: req,\n })\n\n if (customEndpointResponse) {\n return customEndpointResponse\n } else {\n const reqWithData = await addDataAndFileToRequest({ request: req })\n const payloadRequest = addLocalesToRequestFromData({ request: reqWithData })\n switch (slug.length) {\n case 2:\n // /globals/:slug\n res = await endpoints.global.POST.update({ globalConfig, req: payloadRequest })\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: payloadRequest,\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: payloadRequest,\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 const reqWithData = await addDataAndFileToRequest({ request: req })\n const payloadRequest = addLocalesToRequestFromData({ request: reqWithData })\n res = await endpoints.root.POST[slug1]({ req: payloadRequest })\n }\n\n if (res instanceof Response) return res\n\n // root routes\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: req.payload.config.endpoints,\n payloadRequest: req,\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 payloadRequest: req,\n })\n if (customEndpointResponse) {\n return customEndpointResponse\n } else {\n const reqWithData = await addDataAndFileToRequest({ request: req })\n const payloadRequest = addLocalesToRequestFromData({ request: reqWithData })\n\n switch (slug.length) {\n case 1:\n // /:collection\n res = await endpoints.collection.DELETE.delete({ collection, req: payloadRequest })\n break\n case 2:\n // /:collection/:id\n res = await endpoints.collection.DELETE.deleteByID({\n id: slug2,\n collection,\n req: payloadRequest,\n })\n break\n }\n }\n }\n\n if (res instanceof Response) return res\n\n // root routes\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: req.payload.config.endpoints,\n payloadRequest: req,\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 payloadRequest: req,\n })\n\n if (customEndpointResponse) {\n return customEndpointResponse\n } else {\n const reqWithData = await addDataAndFileToRequest({ request: req })\n const payloadRequest = addLocalesToRequestFromData({ request: reqWithData })\n\n switch (slug.length) {\n case 1:\n // /:collection\n res = await endpoints.collection.PATCH.update({ collection, req: payloadRequest })\n break\n case 2:\n // /:collection/:id\n res = await endpoints.collection.PATCH.updateByID({\n id: slug2,\n collection,\n req: payloadRequest,\n })\n break\n }\n }\n }\n\n if (res instanceof Response) return res\n\n // root routes\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: req.payload.config.endpoints,\n payloadRequest: req,\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"],"names":["httpStatus","match","addDataAndFileToRequest","addLocalesToRequestFromData","createPayloadRequest","headersWithCors","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","routeError","endpoints","collection","DELETE","delete","GET","versions","PATCH","POST","global","root","handleCustomEndpoints","entitySlug","payloadRequest","length","handlerParams","pathname","pathPrefix","payload","config","routes","api","customEndpoint","endpoint","method","toLowerCase","pathMatchFn","path","decode","decodeURIComponent","tempParams","params","routeParams","handler","RouteNotFoundResponse","slug","req","Response","json","message","join","headers","Headers","status","NOT_FOUND","OPTIONS","request","error","err","slug1","slug2","slug3","slug4","res","disableEndpoints","collections","customEndpointResponse","reqWithData","id","filename","globalConfig","globals","disableDuplicate"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -1,13 +1,14 @@
1
- import type { Collection, PayloadRequest } from 'payload/types';
1
+ import type { Collection, PayloadRequestWithData, SanitizedConfig } from 'payload/types';
2
2
  import { APIError } from 'payload/errors';
3
3
  export type ErrorResponse = {
4
4
  data?: any;
5
5
  errors: unknown[];
6
6
  stack?: string;
7
7
  };
8
- export declare const routeError: ({ collection, err, req, }: {
8
+ export declare const routeError: ({ collection, config: configArg, err, req, }: {
9
9
  collection?: Collection;
10
+ config: Promise<SanitizedConfig> | SanitizedConfig;
10
11
  err: APIError;
11
- req: PayloadRequest;
12
- }) => Response;
12
+ req: Partial<PayloadRequestWithData>;
13
+ }) => Promise<Response>;
13
14
  //# sourceMappingURL=routeError.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"routeError.d.ts","sourceRoot":"","sources":["../../../src/routes/rest/routeError.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAG/D,OAAO,EAAE,QAAQ,EAAmB,MAAM,gBAAgB,CAAA;AAE1D,MAAM,MAAM,aAAa,GAAG;IAAE,IAAI,CAAC,EAAE,GAAG,CAAC;IAAC,MAAM,EAAE,OAAO,EAAE,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AA+D7E,eAAO,MAAM,UAAU,8BAIpB;IACD,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,GAAG,EAAE,QAAQ,CAAA;IACb,GAAG,EAAE,cAAc,CAAA;CACpB,aAmDA,CAAA"}
1
+ {"version":3,"file":"routeError.d.ts","sourceRoot":"","sources":["../../../src/routes/rest/routeError.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAGxF,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAKzC,MAAM,MAAM,aAAa,GAAG;IAAE,IAAI,CAAC,EAAE,GAAG,CAAC;IAAC,MAAM,EAAE,OAAO,EAAE,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AA+D7E,eAAO,MAAM,UAAU,iDAKpB;IACD,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,MAAM,EAAE,QAAQ,eAAe,CAAC,GAAG,eAAe,CAAA;IAClD,GAAG,EAAE,QAAQ,CAAA;IACb,GAAG,EAAE,QAAQ,sBAAsB,CAAC,CAAA;CACrC,sBA8DA,CAAA"}
@@ -1,5 +1,7 @@
1
1
  import httpStatus from 'http-status';
2
2
  import { APIError } from 'payload/errors';
3
+ import { getPayloadHMR } from '../../utilities/getPayloadHMR.js';
4
+ import { headersWithCors } from '../../utilities/headersWithCors.js';
3
5
  const formatErrors = (incoming)=>{
4
6
  if (incoming) {
5
7
  // Cannot use `instanceof` to check error type: https://github.com/microsoft/TypeScript/issues/13965
@@ -52,16 +54,27 @@ const formatErrors = (incoming)=>{
52
54
  ]
53
55
  };
54
56
  };
55
- export const routeError = ({ collection, err, req })=>{
56
- if (!req?.payload) {
57
- return Response.json({
58
- message: err.message,
59
- stack: err.stack
60
- }, {
61
- status: httpStatus.INTERNAL_SERVER_ERROR
62
- });
57
+ export const routeError = async ({ collection, config: configArg, err, req })=>{
58
+ let payload = req?.payload;
59
+ if (!payload) {
60
+ try {
61
+ payload = await getPayloadHMR({
62
+ config: configArg
63
+ });
64
+ } catch (e) {
65
+ return Response.json({
66
+ message: 'There was an error initializing Payload'
67
+ }, {
68
+ status: httpStatus.INTERNAL_SERVER_ERROR
69
+ });
70
+ }
63
71
  }
64
- const { config, logger } = req.payload;
72
+ req.payload = payload;
73
+ const headers = headersWithCors({
74
+ headers: new Headers(),
75
+ req
76
+ });
77
+ const { config, logger } = payload;
65
78
  let response = formatErrors(err);
66
79
  let status = err.status || httpStatus.INTERNAL_SERVER_ERROR;
67
80
  logger.error(err.stack);
@@ -74,18 +87,19 @@ export const routeError = ({ collection, err, req })=>{
74
87
  response.stack = err.stack;
75
88
  }
76
89
  if (collection && typeof collection.config.hooks.afterError === 'function') {
77
- ({ response, status } = collection.config.hooks.afterError(err, response, req.context, collection.config) || {
90
+ ({ response, status } = collection.config.hooks.afterError(err, response, req?.context, collection.config) || {
78
91
  response,
79
92
  status
80
93
  });
81
94
  }
82
95
  if (typeof config.hooks.afterError === 'function') {
83
- ({ response, status } = config.hooks.afterError(err, response, req.context, collection?.config) || {
96
+ ({ response, status } = config.hooks.afterError(err, response, req?.context, collection?.config) || {
84
97
  response,
85
98
  status
86
99
  });
87
100
  }
88
101
  return Response.json(response, {
102
+ headers,
89
103
  status
90
104
  });
91
105
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/routes/rest/routeError.ts"],"sourcesContent":["import type { Collection, PayloadRequest } from 'payload/types'\n\nimport httpStatus from 'http-status'\nimport { APIError, ValidationError } from 'payload/errors'\n\nexport type ErrorResponse = { data?: any; errors: unknown[]; stack?: string }\n\nconst formatErrors = (incoming: { [key: string]: unknown } | APIError): ErrorResponse => {\n if (incoming) {\n // Cannot use `instanceof` to check error type: https://github.com/microsoft/TypeScript/issues/13965\n // Instead, get the prototype of the incoming error and check its constructor name\n const proto = Object.getPrototypeOf(incoming)\n\n // Payload 'ValidationError' and 'APIError'\n if (\n (proto.constructor.name === 'ValidationError' || proto.constructor.name === 'APIError') &&\n incoming.data\n ) {\n return {\n errors: [\n {\n name: incoming.name,\n data: incoming.data,\n message: incoming.message,\n },\n ],\n }\n }\n\n // Mongoose 'ValidationError': https://mongoosejs.com/docs/api/error.html#Error.ValidationError\n if (proto.constructor.name === 'ValidationError' && 'errors' in incoming && incoming.errors) {\n return {\n errors: Object.keys(incoming.errors).reduce((acc, key) => {\n acc.push({\n field: incoming.errors[key].path,\n message: incoming.errors[key].message,\n })\n return acc\n }, []),\n }\n }\n\n if (Array.isArray(incoming.message)) {\n return {\n errors: incoming.message,\n }\n }\n\n if (incoming.name) {\n return {\n errors: [\n {\n message: incoming.message,\n },\n ],\n }\n }\n }\n\n return {\n errors: [\n {\n message: 'An unknown error occurred.',\n },\n ],\n }\n}\n\nexport const routeError = ({\n collection,\n err,\n req,\n}: {\n collection?: Collection\n err: APIError\n req: PayloadRequest\n}) => {\n if (!req?.payload) {\n return Response.json(\n {\n message: err.message,\n stack: err.stack,\n },\n { status: httpStatus.INTERNAL_SERVER_ERROR },\n )\n }\n\n const { config, logger } = req.payload\n\n let response = formatErrors(err)\n\n let status = err.status || httpStatus.INTERNAL_SERVER_ERROR\n\n logger.error(err.stack)\n\n // Internal server errors can contain anything, including potentially sensitive data.\n // Therefore, error details will be hidden from the response unless `config.debug` is `true`\n if (!config.debug && status === httpStatus.INTERNAL_SERVER_ERROR) {\n response = formatErrors(new APIError('Something went wrong.'))\n }\n\n if (config.debug && config.debug === true) {\n response.stack = err.stack\n }\n\n if (collection && typeof collection.config.hooks.afterError === 'function') {\n ;({ response, status } = collection.config.hooks.afterError(\n err,\n response,\n req.context,\n collection.config,\n ) || { response, status })\n }\n\n if (typeof config.hooks.afterError === 'function') {\n ;({ response, status } = config.hooks.afterError(\n err,\n response,\n req.context,\n collection?.config,\n ) || {\n response,\n status,\n })\n }\n\n return Response.json(response, { status })\n}\n"],"names":["httpStatus","APIError","formatErrors","incoming","proto","Object","getPrototypeOf","constructor","name","data","errors","message","keys","reduce","acc","key","push","field","path","Array","isArray","routeError","collection","err","req","payload","Response","json","stack","status","INTERNAL_SERVER_ERROR","config","logger","response","error","debug","hooks","afterError","context"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
1
+ {"version":3,"sources":["../../../src/routes/rest/routeError.ts"],"sourcesContent":["import type { Collection, PayloadRequestWithData, SanitizedConfig } from 'payload/types'\n\nimport httpStatus from 'http-status'\nimport { APIError } from 'payload/errors'\n\nimport { getPayloadHMR } from '../../utilities/getPayloadHMR.js'\nimport { headersWithCors } from '../../utilities/headersWithCors.js'\n\nexport type ErrorResponse = { data?: any; errors: unknown[]; stack?: string }\n\nconst formatErrors = (incoming: { [key: string]: unknown } | APIError): ErrorResponse => {\n if (incoming) {\n // Cannot use `instanceof` to check error type: https://github.com/microsoft/TypeScript/issues/13965\n // Instead, get the prototype of the incoming error and check its constructor name\n const proto = Object.getPrototypeOf(incoming)\n\n // Payload 'ValidationError' and 'APIError'\n if (\n (proto.constructor.name === 'ValidationError' || proto.constructor.name === 'APIError') &&\n incoming.data\n ) {\n return {\n errors: [\n {\n name: incoming.name,\n data: incoming.data,\n message: incoming.message,\n },\n ],\n }\n }\n\n // Mongoose 'ValidationError': https://mongoosejs.com/docs/api/error.html#Error.ValidationError\n if (proto.constructor.name === 'ValidationError' && 'errors' in incoming && incoming.errors) {\n return {\n errors: Object.keys(incoming.errors).reduce((acc, key) => {\n acc.push({\n field: incoming.errors[key].path,\n message: incoming.errors[key].message,\n })\n return acc\n }, []),\n }\n }\n\n if (Array.isArray(incoming.message)) {\n return {\n errors: incoming.message,\n }\n }\n\n if (incoming.name) {\n return {\n errors: [\n {\n message: incoming.message,\n },\n ],\n }\n }\n }\n\n return {\n errors: [\n {\n message: 'An unknown error occurred.',\n },\n ],\n }\n}\n\nexport const routeError = async ({\n collection,\n config: configArg,\n err,\n req,\n}: {\n collection?: Collection\n config: Promise<SanitizedConfig> | SanitizedConfig\n err: APIError\n req: Partial<PayloadRequestWithData>\n}) => {\n let payload = req?.payload\n\n if (!payload) {\n try {\n payload = await getPayloadHMR({ config: configArg })\n } catch (e) {\n return Response.json(\n {\n message: 'There was an error initializing Payload',\n },\n { status: httpStatus.INTERNAL_SERVER_ERROR },\n )\n }\n }\n\n req.payload = payload\n const headers = headersWithCors({\n headers: new Headers(),\n req,\n })\n\n const { config, logger } = payload\n\n let response = formatErrors(err)\n\n let status = err.status || httpStatus.INTERNAL_SERVER_ERROR\n\n logger.error(err.stack)\n\n // Internal server errors can contain anything, including potentially sensitive data.\n // Therefore, error details will be hidden from the response unless `config.debug` is `true`\n if (!config.debug && status === httpStatus.INTERNAL_SERVER_ERROR) {\n response = formatErrors(new APIError('Something went wrong.'))\n }\n\n if (config.debug && config.debug === true) {\n response.stack = err.stack\n }\n\n if (collection && typeof collection.config.hooks.afterError === 'function') {\n ;({ response, status } = collection.config.hooks.afterError(\n err,\n response,\n req?.context,\n collection.config,\n ) || { response, status })\n }\n\n if (typeof config.hooks.afterError === 'function') {\n ;({ response, status } = config.hooks.afterError(\n err,\n response,\n req?.context,\n collection?.config,\n ) || {\n response,\n status,\n })\n }\n\n return Response.json(response, { headers, status })\n}\n"],"names":["httpStatus","APIError","getPayloadHMR","headersWithCors","formatErrors","incoming","proto","Object","getPrototypeOf","constructor","name","data","errors","message","keys","reduce","acc","key","push","field","path","Array","isArray","routeError","collection","config","configArg","err","req","payload","e","Response","json","status","INTERNAL_SERVER_ERROR","headers","Headers","logger","response","error","stack","debug","hooks","afterError","context"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -1,23 +1,23 @@
1
- import type { Collection, PayloadRequest, SanitizedGlobalConfig } from 'payload/types';
2
- export type BaseRouteHandler = ({ req }: {
3
- req: PayloadRequest;
1
+ import type { Collection, PayloadRequestWithData, SanitizedGlobalConfig } from 'payload/types';
2
+ export type BaseRouteHandler = ({ req, }: {
3
+ req: PayloadRequestWithData;
4
4
  }) => Promise<Response> | Response;
5
5
  export type CollectionRouteHandler = ({ collection, req, }: {
6
6
  collection: Collection;
7
- req: PayloadRequest;
7
+ req: PayloadRequestWithData;
8
8
  }) => Promise<Response> | Response;
9
9
  export type CollectionRouteHandlerWithID = ({ id, collection, req, }: {
10
10
  collection: Collection;
11
11
  id: string;
12
- req: PayloadRequest;
12
+ req: PayloadRequestWithData;
13
13
  }) => Promise<Response> | Response;
14
14
  export type GlobalRouteHandler = ({ globalConfig, req, }: {
15
15
  globalConfig: SanitizedGlobalConfig;
16
- req: PayloadRequest;
16
+ req: PayloadRequestWithData;
17
17
  }) => Promise<Response> | Response;
18
18
  export type GlobalRouteHandlerWithID = ({ id, globalConfig, req, }: {
19
19
  globalConfig: SanitizedGlobalConfig;
20
20
  id: string;
21
- req: PayloadRequest;
21
+ req: PayloadRequestWithData;
22
22
  }) => Promise<Response> | Response;
23
23
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/routes/rest/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAEtF,MAAM,MAAM,gBAAgB,GAAG,CAAC,EAAE,GAAG,EAAE,EAAE;IAAE,GAAG,EAAE,cAAc,CAAA;CAAE,KAAK,OAAO,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAA;AAEjG,MAAM,MAAM,sBAAsB,GAAG,CAAC,EACpC,UAAU,EACV,GAAG,GACJ,EAAE;IACD,UAAU,EAAE,UAAU,CAAA;IACtB,GAAG,EAAE,cAAc,CAAA;CACpB,KAAK,OAAO,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAA;AAElC,MAAM,MAAM,4BAA4B,GAAG,CAAC,EAC1C,EAAE,EACF,UAAU,EACV,GAAG,GACJ,EAAE;IACD,UAAU,EAAE,UAAU,CAAA;IACtB,EAAE,EAAE,MAAM,CAAA;IACV,GAAG,EAAE,cAAc,CAAA;CACpB,KAAK,OAAO,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAA;AAElC,MAAM,MAAM,kBAAkB,GAAG,CAAC,EAChC,YAAY,EACZ,GAAG,GACJ,EAAE;IACD,YAAY,EAAE,qBAAqB,CAAA;IACnC,GAAG,EAAE,cAAc,CAAA;CACpB,KAAK,OAAO,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAA;AAElC,MAAM,MAAM,wBAAwB,GAAG,CAAC,EACtC,EAAE,EACF,YAAY,EACZ,GAAG,GACJ,EAAE;IACD,YAAY,EAAE,qBAAqB,CAAA;IACnC,EAAE,EAAE,MAAM,CAAA;IACV,GAAG,EAAE,cAAc,CAAA;CACpB,KAAK,OAAO,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/routes/rest/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAE9F,MAAM,MAAM,gBAAgB,GAAG,CAAC,EAC9B,GAAG,GACJ,EAAE;IACD,GAAG,EAAE,sBAAsB,CAAA;CAC5B,KAAK,OAAO,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAA;AAElC,MAAM,MAAM,sBAAsB,GAAG,CAAC,EACpC,UAAU,EACV,GAAG,GACJ,EAAE;IACD,UAAU,EAAE,UAAU,CAAA;IACtB,GAAG,EAAE,sBAAsB,CAAA;CAC5B,KAAK,OAAO,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAA;AAElC,MAAM,MAAM,4BAA4B,GAAG,CAAC,EAC1C,EAAE,EACF,UAAU,EACV,GAAG,GACJ,EAAE;IACD,UAAU,EAAE,UAAU,CAAA;IACtB,EAAE,EAAE,MAAM,CAAA;IACV,GAAG,EAAE,sBAAsB,CAAA;CAC5B,KAAK,OAAO,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAA;AAElC,MAAM,MAAM,kBAAkB,GAAG,CAAC,EAChC,YAAY,EACZ,GAAG,GACJ,EAAE;IACD,YAAY,EAAE,qBAAqB,CAAA;IACnC,GAAG,EAAE,sBAAsB,CAAA;CAC5B,KAAK,OAAO,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAA;AAElC,MAAM,MAAM,wBAAwB,GAAG,CAAC,EACtC,EAAE,EACF,YAAY,EACZ,GAAG,GACJ,EAAE;IACD,YAAY,EAAE,qBAAqB,CAAA;IACnC,EAAE,EAAE,MAAM,CAAA;IACV,GAAG,EAAE,sBAAsB,CAAA;CAC5B,KAAK,OAAO,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/routes/rest/types.ts"],"sourcesContent":["import type { Collection, PayloadRequest, SanitizedGlobalConfig } from 'payload/types'\n\nexport type BaseRouteHandler = ({ req }: { req: PayloadRequest }) => Promise<Response> | Response\n\nexport type CollectionRouteHandler = ({\n collection,\n req,\n}: {\n collection: Collection\n req: PayloadRequest\n}) => Promise<Response> | Response\n\nexport type CollectionRouteHandlerWithID = ({\n id,\n collection,\n req,\n}: {\n collection: Collection\n id: string\n req: PayloadRequest\n}) => Promise<Response> | Response\n\nexport type GlobalRouteHandler = ({\n globalConfig,\n req,\n}: {\n globalConfig: SanitizedGlobalConfig\n req: PayloadRequest\n}) => Promise<Response> | Response\n\nexport type GlobalRouteHandlerWithID = ({\n id,\n globalConfig,\n req,\n}: {\n globalConfig: SanitizedGlobalConfig\n id: string\n req: PayloadRequest\n}) => Promise<Response> | Response\n"],"names":[],"rangeMappings":"","mappings":"AA8BA,WAQkC"}
1
+ {"version":3,"sources":["../../../src/routes/rest/types.ts"],"sourcesContent":["import type { Collection, PayloadRequestWithData, SanitizedGlobalConfig } from 'payload/types'\n\nexport type BaseRouteHandler = ({\n req,\n}: {\n req: PayloadRequestWithData\n}) => Promise<Response> | Response\n\nexport type CollectionRouteHandler = ({\n collection,\n req,\n}: {\n collection: Collection\n req: PayloadRequestWithData\n}) => Promise<Response> | Response\n\nexport type CollectionRouteHandlerWithID = ({\n id,\n collection,\n req,\n}: {\n collection: Collection\n id: string\n req: PayloadRequestWithData\n}) => Promise<Response> | Response\n\nexport type GlobalRouteHandler = ({\n globalConfig,\n req,\n}: {\n globalConfig: SanitizedGlobalConfig\n req: PayloadRequestWithData\n}) => Promise<Response> | Response\n\nexport type GlobalRouteHandlerWithID = ({\n id,\n globalConfig,\n req,\n}: {\n globalConfig: SanitizedGlobalConfig\n id: string\n req: PayloadRequestWithData\n}) => Promise<Response> | Response\n"],"names":[],"rangeMappings":"","mappings":"AAkCA,WAQkC"}
@@ -0,0 +1,9 @@
1
+ import type { Payload } from 'payload/types';
2
+ type Args = {
3
+ collectionSlug: string;
4
+ id: string;
5
+ payload: Payload;
6
+ };
7
+ export declare const sanitizeCollectionID: ({ id, collectionSlug, payload }: Args) => number | string;
8
+ export {};
9
+ //# sourceMappingURL=sanitizeCollectionID.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sanitizeCollectionID.d.ts","sourceRoot":"","sources":["../../../../src/routes/rest/utilities/sanitizeCollectionID.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAE5C,KAAK,IAAI,GAAG;IACV,cAAc,EAAE,MAAM,CAAA;IACtB,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,EAAE,OAAO,CAAA;CACjB,CAAA;AAED,eAAO,MAAM,oBAAoB,oCAAqC,IAAI,KAAG,MAAM,GAAG,MAcrF,CAAA"}
@@ -0,0 +1,13 @@
1
+ export const sanitizeCollectionID = ({ id, collectionSlug, payload })=>{
2
+ let sanitizedID = id;
3
+ const collection = payload.collections[collectionSlug];
4
+ // If default db ID type is a number, we should sanitize
5
+ let shouldSanitize = Boolean(payload.db.defaultIDType === 'number');
6
+ // UNLESS the customIDType for this collection is text.... then we leave it
7
+ if (shouldSanitize && collection.customIDType === 'text') shouldSanitize = false;
8
+ // If we still should sanitize, parse float
9
+ if (shouldSanitize) sanitizedID = parseFloat(sanitizedID);
10
+ return sanitizedID;
11
+ };
12
+
13
+ //# sourceMappingURL=sanitizeCollectionID.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/routes/rest/utilities/sanitizeCollectionID.ts"],"sourcesContent":["import type { Payload } from 'payload/types'\n\ntype Args = {\n collectionSlug: string\n id: string\n payload: Payload\n}\n\nexport const sanitizeCollectionID = ({ id, collectionSlug, payload }: Args): number | string => {\n let sanitizedID: number | string = id\n const collection = payload.collections[collectionSlug]\n\n // If default db ID type is a number, we should sanitize\n let shouldSanitize = Boolean(payload.db.defaultIDType === 'number')\n\n // UNLESS the customIDType for this collection is text.... then we leave it\n if (shouldSanitize && collection.customIDType === 'text') shouldSanitize = false\n\n // If we still should sanitize, parse float\n if (shouldSanitize) sanitizedID = parseFloat(sanitizedID)\n\n return sanitizedID\n}\n"],"names":["sanitizeCollectionID","id","collectionSlug","payload","sanitizedID","collection","collections","shouldSanitize","Boolean","db","defaultIDType","customIDType","parseFloat"],"rangeMappings":";;;;;;;;;;","mappings":"AAQA,OAAO,MAAMA,uBAAuB,CAAC,EAAEC,EAAE,EAAEC,cAAc,EAAEC,OAAO,EAAQ;IACxE,IAAIC,cAA+BH;IACnC,MAAMI,aAAaF,QAAQG,WAAW,CAACJ,eAAe;IAEtD,wDAAwD;IACxD,IAAIK,iBAAiBC,QAAQL,QAAQM,EAAE,CAACC,aAAa,KAAK;IAE1D,2EAA2E;IAC3E,IAAIH,kBAAkBF,WAAWM,YAAY,KAAK,QAAQJ,iBAAiB;IAE3E,2CAA2C;IAC3C,IAAIA,gBAAgBH,cAAcQ,WAAWR;IAE7C,OAAOA;AACT,EAAC"}
@@ -1,4 +1,3 @@
1
- @import './fonts.scss';
2
1
  @import './styles.scss';
3
2
  @import './toastify.scss';
4
3
  @import './colors.scss';
@@ -20,9 +19,9 @@
20
19
  --theme-overlay: rgba(5, 5, 5, 0.5);
21
20
  --theme-baseline: #{$baseline-px};
22
21
  --theme-baseline-body-size: #{$baseline-body-size};
23
- --font-body: 'Suisse Intl', system-ui;
22
+ --font-body: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial,
23
+ sans-serif;
24
24
  --font-mono: monospace;
25
- --font-serif: 'Merriweather', serif;
26
25
 
27
26
  --style-radius-s: #{$style-radius-s};
28
27
  --style-radius-m: #{$style-radius-m};
@@ -21,13 +21,6 @@ $baseline: math.div($baseline-px, $baseline-body-size) + rem;
21
21
  @return (math.div($baseline-px, $baseline-body-size) * $multiplier) + rem;
22
22
  }
23
23
 
24
- //////////////////////////////
25
- // FONTS (DEPRECATED. DO NOT USE. PREFER CSS VARIABLES)
26
- //////////////////////////////
27
-
28
- $font-body: 'Suisse Intl' !default;
29
- $font-mono: monospace !default;
30
-
31
24
  //////////////////////////////
32
25
  // COLORS (DEPRECATED. DO NOT USE. PREFER CSS VARIABLES)
33
26
  //////////////////////////////
@@ -0,0 +1,11 @@
1
+ import type { PayloadRequest, PayloadRequestData } from 'payload/types';
2
+ type ReturnType = PayloadRequest & PayloadRequestData;
3
+ type AddDataAndFileToRequest = (args: {
4
+ request: PayloadRequest;
5
+ }) => Promise<ReturnType>;
6
+ /**
7
+ * Mutates the Request to contain 'data' and 'file' if present
8
+ */
9
+ export declare const addDataAndFileToRequest: AddDataAndFileToRequest;
10
+ export {};
11
+ //# sourceMappingURL=addDataAndFileToRequest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"addDataAndFileToRequest.d.ts","sourceRoot":"","sources":["../../src/utilities/addDataAndFileToRequest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAWvE,KAAK,UAAU,GAAG,cAAc,GAAG,kBAAkB,CAAA;AACrD,KAAK,uBAAuB,GAAG,CAAC,IAAI,EAAE;IAAE,OAAO,EAAE,cAAc,CAAA;CAAE,KAAK,OAAO,CAAC,UAAU,CAAC,CAAA;AAEzF;;GAEG;AACH,eAAO,MAAM,uBAAuB,EAAE,uBAgFrC,CAAA"}
@@ -0,0 +1,74 @@
1
+ import { APIError } from 'payload/errors';
2
+ import { fetchAPIFileUpload } from '../fetchAPI-multipart/index.js';
3
+ const KB = 1024;
4
+ const MB = KB * KB;
5
+ /**
6
+ * Mutates the Request to contain 'data' and 'file' if present
7
+ */ export const addDataAndFileToRequest = async ({ request: incomingRequest })=>{
8
+ const config = incomingRequest.payload.config;
9
+ if (incomingRequest.method && [
10
+ 'PATCH',
11
+ 'POST',
12
+ 'PUT'
13
+ ].includes(incomingRequest.method.toUpperCase()) && incomingRequest.body) {
14
+ const [contentType] = (incomingRequest.headers.get('Content-Type') || '').split(';');
15
+ const mutableRequest = incomingRequest;
16
+ const bodyByteSize = parseInt(incomingRequest.headers.get('Content-Length') || '0', 10);
17
+ if (contentType === 'application/json') {
18
+ let data = {};
19
+ try {
20
+ data = await mutableRequest.json();
21
+ } catch (error) {
22
+ mutableRequest.payload.logger.error(error);
23
+ } finally{
24
+ mutableRequest.data = data;
25
+ mutableRequest.json = ()=>Promise.resolve(data);
26
+ }
27
+ } else if (bodyByteSize && contentType.includes('multipart/')) {
28
+ // body is <= 4MB
29
+ if (bodyByteSize <= 4 * MB) {
30
+ const formData = await mutableRequest.formData();
31
+ mutableRequest.formData = async ()=>Promise.resolve(formData);
32
+ const payloadData = formData.get('_payload');
33
+ if (typeof payloadData === 'string') {
34
+ mutableRequest.data = JSON.parse(payloadData);
35
+ }
36
+ const formFile = formData.get('file');
37
+ if (formFile instanceof Blob) {
38
+ const maxFileSizeLimit = config.upload.limits?.fileSize ?? undefined;
39
+ if (maxFileSizeLimit === undefined || maxFileSizeLimit && formFile.size <= maxFileSizeLimit) {
40
+ const fileBytes = await formFile.arrayBuffer();
41
+ const buffer = Buffer.from(fileBytes);
42
+ mutableRequest.file = {
43
+ name: formFile.name,
44
+ data: buffer,
45
+ mimetype: formFile.type,
46
+ size: formFile.size
47
+ };
48
+ } else if (config.upload?.abortOnLimit) {
49
+ throw new APIError('File size limit has been reached', 413);
50
+ }
51
+ }
52
+ } else {
53
+ // body is > 4MB
54
+ const { error, fields, files } = await fetchAPIFileUpload({
55
+ options: config.upload,
56
+ request: mutableRequest
57
+ });
58
+ if (error) {
59
+ throw new Error(error.message);
60
+ }
61
+ if (files?.file) {
62
+ mutableRequest.file = files.file;
63
+ }
64
+ if (fields?._payload && typeof fields._payload === 'string') {
65
+ mutableRequest.data = JSON.parse(fields._payload);
66
+ }
67
+ }
68
+ }
69
+ return mutableRequest;
70
+ }
71
+ return incomingRequest;
72
+ };
73
+
74
+ //# sourceMappingURL=addDataAndFileToRequest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/utilities/addDataAndFileToRequest.ts"],"sourcesContent":["import type { PayloadRequest, PayloadRequestData } from 'payload/types'\n\nimport { APIError } from 'payload/errors'\n\nimport type { FetchAPIFileUploadOptions } from '../fetchAPI-multipart/index.js'\n\nimport { fetchAPIFileUpload } from '../fetchAPI-multipart/index.js'\n\nconst KB = 1024\nconst MB = KB * KB\n\ntype ReturnType = PayloadRequest & PayloadRequestData\ntype AddDataAndFileToRequest = (args: { request: PayloadRequest }) => Promise<ReturnType>\n\n/**\n * Mutates the Request to contain 'data' and 'file' if present\n */\nexport const addDataAndFileToRequest: AddDataAndFileToRequest = async ({\n request: incomingRequest,\n}) => {\n const config = incomingRequest.payload.config\n\n if (\n incomingRequest.method &&\n ['PATCH', 'POST', 'PUT'].includes(incomingRequest.method.toUpperCase()) &&\n incomingRequest.body\n ) {\n const [contentType] = (incomingRequest.headers.get('Content-Type') || '').split(';')\n const mutableRequest = incomingRequest as ReturnType\n const bodyByteSize = parseInt(incomingRequest.headers.get('Content-Length') || '0', 10)\n\n if (contentType === 'application/json') {\n let data = {}\n try {\n data = await mutableRequest.json()\n } catch (error) {\n mutableRequest.payload.logger.error(error)\n } finally {\n mutableRequest.data = data\n mutableRequest.json = () => Promise.resolve(data)\n }\n } else if (bodyByteSize && contentType.includes('multipart/')) {\n // body is <= 4MB\n if (bodyByteSize <= 4 * MB) {\n const formData = await mutableRequest.formData()\n mutableRequest.formData = async () => Promise.resolve(formData)\n\n const payloadData = formData.get('_payload')\n if (typeof payloadData === 'string') {\n mutableRequest.data = JSON.parse(payloadData)\n }\n\n const formFile = formData.get('file')\n if (formFile instanceof Blob) {\n const maxFileSizeLimit = config.upload.limits?.fileSize ?? undefined\n if (\n maxFileSizeLimit === undefined ||\n (maxFileSizeLimit && formFile.size <= maxFileSizeLimit)\n ) {\n const fileBytes = await formFile.arrayBuffer()\n const buffer = Buffer.from(fileBytes)\n\n mutableRequest.file = {\n name: formFile.name,\n data: buffer,\n mimetype: formFile.type,\n size: formFile.size,\n }\n } else if (config.upload?.abortOnLimit) {\n throw new APIError('File size limit has been reached', 413)\n }\n }\n } else {\n // body is > 4MB\n const { error, fields, files } = await fetchAPIFileUpload({\n options: config.upload as FetchAPIFileUploadOptions,\n request: mutableRequest as Request,\n })\n\n if (error) {\n throw new Error(error.message)\n }\n\n if (files?.file) {\n mutableRequest.file = files.file\n }\n\n if (fields?._payload && typeof fields._payload === 'string') {\n mutableRequest.data = JSON.parse(fields._payload)\n }\n }\n }\n\n return mutableRequest\n }\n\n return incomingRequest\n}\n"],"names":["APIError","fetchAPIFileUpload","KB","MB","addDataAndFileToRequest","request","incomingRequest","config","payload","method","includes","toUpperCase","body","contentType","headers","get","split","mutableRequest","bodyByteSize","parseInt","data","json","error","logger","Promise","resolve","formData","payloadData","JSON","parse","formFile","Blob","maxFileSizeLimit","upload","limits","fileSize","undefined","size","fileBytes","arrayBuffer","buffer","Buffer","from","file","name","mimetype","type","abortOnLimit","fields","files","options","Error","message","_payload"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAEA,SAASA,QAAQ,QAAQ,iBAAgB;AAIzC,SAASC,kBAAkB,QAAQ,iCAAgC;AAEnE,MAAMC,KAAK;AACX,MAAMC,KAAKD,KAAKA;AAKhB;;CAEC,GACD,OAAO,MAAME,0BAAmD,OAAO,EACrEC,SAASC,eAAe,EACzB;IACC,MAAMC,SAASD,gBAAgBE,OAAO,CAACD,MAAM;IAE7C,IACED,gBAAgBG,MAAM,IACtB;QAAC;QAAS;QAAQ;KAAM,CAACC,QAAQ,CAACJ,gBAAgBG,MAAM,CAACE,WAAW,OACpEL,gBAAgBM,IAAI,EACpB;QACA,MAAM,CAACC,YAAY,GAAG,AAACP,CAAAA,gBAAgBQ,OAAO,CAACC,GAAG,CAAC,mBAAmB,EAAC,EAAGC,KAAK,CAAC;QAChF,MAAMC,iBAAiBX;QACvB,MAAMY,eAAeC,SAASb,gBAAgBQ,OAAO,CAACC,GAAG,CAAC,qBAAqB,KAAK;QAEpF,IAAIF,gBAAgB,oBAAoB;YACtC,IAAIO,OAAO,CAAC;YACZ,IAAI;gBACFA,OAAO,MAAMH,eAAeI,IAAI;YAClC,EAAE,OAAOC,OAAO;gBACdL,eAAeT,OAAO,CAACe,MAAM,CAACD,KAAK,CAACA;YACtC,SAAU;gBACRL,eAAeG,IAAI,GAAGA;gBACtBH,eAAeI,IAAI,GAAG,IAAMG,QAAQC,OAAO,CAACL;YAC9C;QACF,OAAO,IAAIF,gBAAgBL,YAAYH,QAAQ,CAAC,eAAe;YAC7D,iBAAiB;YACjB,IAAIQ,gBAAgB,IAAIf,IAAI;gBAC1B,MAAMuB,WAAW,MAAMT,eAAeS,QAAQ;gBAC9CT,eAAeS,QAAQ,GAAG,UAAYF,QAAQC,OAAO,CAACC;gBAEtD,MAAMC,cAAcD,SAASX,GAAG,CAAC;gBACjC,IAAI,OAAOY,gBAAgB,UAAU;oBACnCV,eAAeG,IAAI,GAAGQ,KAAKC,KAAK,CAACF;gBACnC;gBAEA,MAAMG,WAAWJ,SAASX,GAAG,CAAC;gBAC9B,IAAIe,oBAAoBC,MAAM;oBAC5B,MAAMC,mBAAmBzB,OAAO0B,MAAM,CAACC,MAAM,EAAEC,YAAYC;oBAC3D,IACEJ,qBAAqBI,aACpBJ,oBAAoBF,SAASO,IAAI,IAAIL,kBACtC;wBACA,MAAMM,YAAY,MAAMR,SAASS,WAAW;wBAC5C,MAAMC,SAASC,OAAOC,IAAI,CAACJ;wBAE3BrB,eAAe0B,IAAI,GAAG;4BACpBC,MAAMd,SAASc,IAAI;4BACnBxB,MAAMoB;4BACNK,UAAUf,SAASgB,IAAI;4BACvBT,MAAMP,SAASO,IAAI;wBACrB;oBACF,OAAO,IAAI9B,OAAO0B,MAAM,EAAEc,cAAc;wBACtC,MAAM,IAAI/C,SAAS,oCAAoC;oBACzD;gBACF;YACF,OAAO;gBACL,gBAAgB;gBAChB,MAAM,EAAEsB,KAAK,EAAE0B,MAAM,EAAEC,KAAK,EAAE,GAAG,MAAMhD,mBAAmB;oBACxDiD,SAAS3C,OAAO0B,MAAM;oBACtB5B,SAASY;gBACX;gBAEA,IAAIK,OAAO;oBACT,MAAM,IAAI6B,MAAM7B,MAAM8B,OAAO;gBAC/B;gBAEA,IAAIH,OAAON,MAAM;oBACf1B,eAAe0B,IAAI,GAAGM,MAAMN,IAAI;gBAClC;gBAEA,IAAIK,QAAQK,YAAY,OAAOL,OAAOK,QAAQ,KAAK,UAAU;oBAC3DpC,eAAeG,IAAI,GAAGQ,KAAKC,KAAK,CAACmB,OAAOK,QAAQ;gBAClD;YACF;QACF;QAEA,OAAOpC;IACT;IAEA,OAAOX;AACT,EAAC"}
@@ -0,0 +1,20 @@
1
+ import type { PayloadRequest, PayloadRequestData, PayloadRequestWithData, SanitizedConfig } from 'payload/types';
2
+ /**
3
+ * Mutates the Request to contain 'locale' and 'fallbackLocale' based on data or searchParams
4
+ */
5
+ type Args = {
6
+ request: PayloadRequest & PayloadRequestData;
7
+ };
8
+ export declare function addLocalesToRequestFromData({ request }: Args): PayloadRequestWithData;
9
+ type SanitizeLocalesArgs = {
10
+ fallbackLocale: string;
11
+ locale: string;
12
+ localization: SanitizedConfig['localization'];
13
+ };
14
+ type SanitizeLocalesReturn = {
15
+ fallbackLocale?: string;
16
+ locale?: string;
17
+ };
18
+ export declare const sanitizeLocales: ({ fallbackLocale, locale, localization, }: SanitizeLocalesArgs) => SanitizeLocalesReturn;
19
+ export {};
20
+ //# sourceMappingURL=addLocalesToRequest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"addLocalesToRequest.d.ts","sourceRoot":"","sources":["../../src/utilities/addLocalesToRequest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,kBAAkB,EAClB,sBAAsB,EACtB,eAAe,EAChB,MAAM,eAAe,CAAA;AAEtB;;GAEG;AACH,KAAK,IAAI,GAAG;IACV,OAAO,EAAE,cAAc,GAAG,kBAAkB,CAAA;CAC7C,CAAA;AACD,wBAAgB,2BAA2B,CAAC,EAAE,OAAO,EAAE,EAAE,IAAI,GAAG,sBAAsB,CAmCrF;AAED,KAAK,mBAAmB,GAAG;IACzB,cAAc,EAAE,MAAM,CAAA;IACtB,MAAM,EAAE,MAAM,CAAA;IACd,YAAY,EAAE,eAAe,CAAC,cAAc,CAAC,CAAA;CAC9C,CAAA;AACD,KAAK,qBAAqB,GAAG;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AACD,eAAO,MAAM,eAAe,8CAIzB,mBAAmB,KAAG,qBAiBxB,CAAA"}
@@ -0,0 +1,44 @@
1
+ export function addLocalesToRequestFromData({ request }) {
2
+ const { data, payload: { config } } = request;
3
+ if (data) {
4
+ let localeOnReq = request.locale;
5
+ let fallbackLocaleOnReq = request.fallbackLocale;
6
+ if (!localeOnReq && data?.locale && typeof data.locale === 'string') {
7
+ localeOnReq = data.locale;
8
+ }
9
+ if (!fallbackLocaleOnReq && data?.['fallback-locale'] && typeof data?.['fallback-locale'] === 'string') {
10
+ fallbackLocaleOnReq = data['fallback-locale'];
11
+ }
12
+ const { fallbackLocale, locale } = sanitizeLocales({
13
+ fallbackLocale: fallbackLocaleOnReq,
14
+ locale: localeOnReq,
15
+ localization: config.localization
16
+ });
17
+ const mutableRequest = request;
18
+ if (locale) mutableRequest.locale = locale;
19
+ if (fallbackLocale) mutableRequest.fallbackLocale = fallbackLocale;
20
+ return mutableRequest;
21
+ }
22
+ return request;
23
+ }
24
+ export const sanitizeLocales = ({ fallbackLocale, locale, localization })=>{
25
+ if ([
26
+ 'none',
27
+ 'null'
28
+ ].includes(fallbackLocale)) {
29
+ fallbackLocale = 'null';
30
+ } else if (localization && !localization.localeCodes.includes(fallbackLocale)) {
31
+ fallbackLocale = localization.defaultLocale;
32
+ }
33
+ if (locale === '*') {
34
+ locale = 'all';
35
+ } else if (localization && !localization.localeCodes.includes(locale)) {
36
+ locale = localization.defaultLocale;
37
+ }
38
+ return {
39
+ fallbackLocale,
40
+ locale
41
+ };
42
+ };
43
+
44
+ //# sourceMappingURL=addLocalesToRequest.js.map