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

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 (461) hide show
  1. package/dist/cjs/withPayload.js +111 -0
  2. package/dist/cjs/withPayload.js.map +1 -0
  3. package/dist/config.js +0 -1
  4. package/dist/config.js.map +1 -1
  5. package/dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.js +15 -9
  6. package/dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.js.map +1 -1
  7. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js +100 -35
  8. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js.map +1 -1
  9. package/dist/elements/DocumentHeader/Tabs/Tab/index.js +74 -63
  10. package/dist/elements/DocumentHeader/Tabs/Tab/index.js.map +1 -1
  11. package/dist/elements/DocumentHeader/Tabs/getCustomViews.js +31 -35
  12. package/dist/elements/DocumentHeader/Tabs/getCustomViews.js.map +1 -1
  13. package/dist/elements/DocumentHeader/Tabs/getViewConfig.js +15 -12
  14. package/dist/elements/DocumentHeader/Tabs/getViewConfig.js.map +1 -1
  15. package/dist/elements/DocumentHeader/Tabs/index.js +86 -79
  16. package/dist/elements/DocumentHeader/Tabs/index.js.map +1 -1
  17. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js +32 -13
  18. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js.map +1 -1
  19. package/dist/elements/DocumentHeader/Tabs/tabs/index.js +60 -52
  20. package/dist/elements/DocumentHeader/Tabs/tabs/index.js.map +1 -1
  21. package/dist/elements/DocumentHeader/index.js +24 -23
  22. package/dist/elements/DocumentHeader/index.js.map +1 -1
  23. package/dist/elements/EmailAndUsername/index.js +107 -75
  24. package/dist/elements/EmailAndUsername/index.js.map +1 -1
  25. package/dist/elements/LeaveWithoutSaving/index.js +150 -83
  26. package/dist/elements/LeaveWithoutSaving/index.js.map +1 -1
  27. package/dist/elements/LeaveWithoutSaving/usePreventLeave.d.ts.map +1 -1
  28. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js +119 -101
  29. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js.map +1 -1
  30. package/dist/elements/Logo/index.js +36 -21
  31. package/dist/elements/Logo/index.js.map +1 -1
  32. package/dist/elements/Nav/NavHamburger/index.js +41 -13
  33. package/dist/elements/Nav/NavHamburger/index.js.map +1 -1
  34. package/dist/elements/Nav/NavWrapper/index.js +48 -16
  35. package/dist/elements/Nav/NavWrapper/index.js.map +1 -1
  36. package/dist/elements/Nav/index.client.js +149 -76
  37. package/dist/elements/Nav/index.client.js.map +1 -1
  38. package/dist/elements/Nav/index.js +56 -50
  39. package/dist/elements/Nav/index.js.map +1 -1
  40. package/dist/exports/layouts.js +0 -1
  41. package/dist/exports/layouts.js.map +1 -1
  42. package/dist/exports/routes.js +0 -1
  43. package/dist/exports/routes.js.map +1 -1
  44. package/dist/exports/templates.js +0 -1
  45. package/dist/exports/templates.js.map +1 -1
  46. package/dist/exports/utilities.js +0 -1
  47. package/dist/exports/utilities.js.map +1 -1
  48. package/dist/exports/views.js +0 -1
  49. package/dist/exports/views.js.map +1 -1
  50. package/dist/fetchAPI-multipart/fileFactory.js +35 -34
  51. package/dist/fetchAPI-multipart/fileFactory.js.map +1 -1
  52. package/dist/fetchAPI-multipart/handlers.js +77 -78
  53. package/dist/fetchAPI-multipart/handlers.js.map +1 -1
  54. package/dist/fetchAPI-multipart/index.js +33 -31
  55. package/dist/fetchAPI-multipart/index.js.map +1 -1
  56. package/dist/fetchAPI-multipart/isEligibleRequest.js +13 -21
  57. package/dist/fetchAPI-multipart/isEligibleRequest.js.map +1 -1
  58. package/dist/fetchAPI-multipart/processMultipart.js +158 -141
  59. package/dist/fetchAPI-multipart/processMultipart.js.map +1 -1
  60. package/dist/fetchAPI-multipart/processNested.js +23 -21
  61. package/dist/fetchAPI-multipart/processNested.js.map +1 -1
  62. package/dist/fetchAPI-multipart/uploadTimer.js +16 -17
  63. package/dist/fetchAPI-multipart/uploadTimer.js.map +1 -1
  64. package/dist/fetchAPI-multipart/utilities.js +166 -166
  65. package/dist/fetchAPI-multipart/utilities.js.map +1 -1
  66. package/dist/fetchAPI-stream-file/index.js +19 -17
  67. package/dist/fetchAPI-stream-file/index.js.map +1 -1
  68. package/dist/index.js +0 -1
  69. package/dist/index.js.map +1 -1
  70. package/dist/layouts/Root/index.js +118 -115
  71. package/dist/layouts/Root/index.js.map +1 -1
  72. package/dist/prod/styles.css +1 -1
  73. package/dist/routes/graphql/handler.js +109 -103
  74. package/dist/routes/graphql/handler.js.map +1 -1
  75. package/dist/routes/graphql/index.js +0 -1
  76. package/dist/routes/graphql/index.js.map +1 -1
  77. package/dist/routes/graphql/playground.js +23 -24
  78. package/dist/routes/graphql/playground.js.map +1 -1
  79. package/dist/routes/index.js +0 -1
  80. package/dist/routes/index.js.map +1 -1
  81. package/dist/routes/rest/auth/access.js +22 -21
  82. package/dist/routes/rest/auth/access.js.map +1 -1
  83. package/dist/routes/rest/auth/forgotPassword.js +29 -25
  84. package/dist/routes/rest/auth/forgotPassword.js.map +1 -1
  85. package/dist/routes/rest/auth/init.js +16 -14
  86. package/dist/routes/rest/auth/init.js.map +1 -1
  87. package/dist/routes/rest/auth/login.js +43 -38
  88. package/dist/routes/rest/auth/login.js.map +1 -1
  89. package/dist/routes/rest/auth/logout.js +31 -27
  90. package/dist/routes/rest/auth/logout.js.map +1 -1
  91. package/dist/routes/rest/auth/me.js +23 -21
  92. package/dist/routes/rest/auth/me.js.map +1 -1
  93. package/dist/routes/rest/auth/refresh.js +31 -27
  94. package/dist/routes/rest/auth/refresh.js.map +1 -1
  95. package/dist/routes/rest/auth/registerFirstUser.js +43 -38
  96. package/dist/routes/rest/auth/registerFirstUser.js.map +1 -1
  97. package/dist/routes/rest/auth/resetPassword.js +38 -33
  98. package/dist/routes/rest/auth/resetPassword.js.map +1 -1
  99. package/dist/routes/rest/auth/unlock.js +27 -23
  100. package/dist/routes/rest/auth/unlock.js.map +1 -1
  101. package/dist/routes/rest/auth/verifyEmail.js +22 -17
  102. package/dist/routes/rest/auth/verifyEmail.js.map +1 -1
  103. package/dist/routes/rest/buildFormState.js +38 -37
  104. package/dist/routes/rest/buildFormState.js.map +1 -1
  105. package/dist/routes/rest/checkEndpoints.js +11 -9
  106. package/dist/routes/rest/checkEndpoints.js.map +1 -1
  107. package/dist/routes/rest/collections/count.js +15 -11
  108. package/dist/routes/rest/collections/count.js.map +1 -1
  109. package/dist/routes/rest/collections/create.js +30 -26
  110. package/dist/routes/rest/collections/create.js.map +1 -1
  111. package/dist/routes/rest/collections/delete.js +40 -35
  112. package/dist/routes/rest/collections/delete.js.map +1 -1
  113. package/dist/routes/rest/collections/deleteByID.js +36 -31
  114. package/dist/routes/rest/collections/deleteByID.js.map +1 -1
  115. package/dist/routes/rest/collections/docAccess.js +17 -14
  116. package/dist/routes/rest/collections/docAccess.js.map +1 -1
  117. package/dist/routes/rest/collections/duplicate.js +36 -31
  118. package/dist/routes/rest/collections/duplicate.js.map +1 -1
  119. package/dist/routes/rest/collections/find.js +29 -20
  120. package/dist/routes/rest/collections/find.js.map +1 -1
  121. package/dist/routes/rest/collections/findByID.js +28 -23
  122. package/dist/routes/rest/collections/findByID.js.map +1 -1
  123. package/dist/routes/rest/collections/findVersionByID.js +27 -22
  124. package/dist/routes/rest/collections/findVersionByID.js.map +1 -1
  125. package/dist/routes/rest/collections/findVersions.js +27 -19
  126. package/dist/routes/rest/collections/findVersions.js.map +1 -1
  127. package/dist/routes/rest/collections/preview.js +39 -34
  128. package/dist/routes/rest/collections/preview.js.map +1 -1
  129. package/dist/routes/rest/collections/restoreVersion.js +32 -27
  130. package/dist/routes/rest/collections/restoreVersion.js.map +1 -1
  131. package/dist/routes/rest/collections/update.js +43 -37
  132. package/dist/routes/rest/collections/update.js.map +1 -1
  133. package/dist/routes/rest/collections/updateByID.js +38 -33
  134. package/dist/routes/rest/collections/updateByID.js.map +1 -1
  135. package/dist/routes/rest/files/checkFileAccess.js +46 -44
  136. package/dist/routes/rest/files/checkFileAccess.js.map +1 -1
  137. package/dist/routes/rest/files/getFile.js +52 -49
  138. package/dist/routes/rest/files/getFile.js.map +1 -1
  139. package/dist/routes/rest/files/getFileTypeFallback.js +16 -17
  140. package/dist/routes/rest/files/getFileTypeFallback.js.map +1 -1
  141. package/dist/routes/rest/globals/docAccess.js +15 -13
  142. package/dist/routes/rest/globals/docAccess.js.map +1 -1
  143. package/dist/routes/rest/globals/findOne.js +22 -18
  144. package/dist/routes/rest/globals/findOne.js.map +1 -1
  145. package/dist/routes/rest/globals/findVersionByID.js +22 -17
  146. package/dist/routes/rest/globals/findVersionByID.js.map +1 -1
  147. package/dist/routes/rest/globals/findVersions.js +27 -19
  148. package/dist/routes/rest/globals/findVersions.js.map +1 -1
  149. package/dist/routes/rest/globals/preview.js +38 -34
  150. package/dist/routes/rest/globals/preview.js.map +1 -1
  151. package/dist/routes/rest/globals/restoreVersion.js +27 -22
  152. package/dist/routes/rest/globals/restoreVersion.js.map +1 -1
  153. package/dist/routes/rest/globals/update.js +32 -28
  154. package/dist/routes/rest/globals/update.js.map +1 -1
  155. package/dist/routes/rest/index.js +651 -626
  156. package/dist/routes/rest/index.js.map +1 -1
  157. package/dist/routes/rest/og/image.js +74 -76
  158. package/dist/routes/rest/og/image.js.map +1 -1
  159. package/dist/routes/rest/og/index.js +60 -59
  160. package/dist/routes/rest/og/index.js.map +1 -1
  161. package/dist/routes/rest/routeError.js +102 -95
  162. package/dist/routes/rest/routeError.js.map +1 -1
  163. package/dist/routes/rest/types.js +1 -2
  164. package/dist/routes/rest/types.js.map +1 -1
  165. package/dist/routes/rest/utilities/sanitizeCollectionID.js +14 -11
  166. package/dist/routes/rest/utilities/sanitizeCollectionID.js.map +1 -1
  167. package/dist/scss/app.scss +4 -4
  168. package/dist/scss/type.scss +4 -4
  169. package/dist/templates/Default/NavHamburger/index.js +18 -6
  170. package/dist/templates/Default/NavHamburger/index.js.map +1 -1
  171. package/dist/templates/Default/Wrapper/index.js +42 -13
  172. package/dist/templates/Default/Wrapper/index.js.map +1 -1
  173. package/dist/templates/Default/index.js +54 -47
  174. package/dist/templates/Default/index.js.map +1 -1
  175. package/dist/templates/Minimal/index.js +16 -16
  176. package/dist/templates/Minimal/index.js.map +1 -1
  177. package/dist/utilities/addDataAndFileToRequest.js +40 -35
  178. package/dist/utilities/addDataAndFileToRequest.js.map +1 -1
  179. package/dist/utilities/addLocalesToRequest.js +44 -36
  180. package/dist/utilities/addLocalesToRequest.js.map +1 -1
  181. package/dist/utilities/createPayloadRequest.js +85 -74
  182. package/dist/utilities/createPayloadRequest.js.map +1 -1
  183. package/dist/utilities/getNextRequestI18n.js +13 -11
  184. package/dist/utilities/getNextRequestI18n.js.map +1 -1
  185. package/dist/utilities/getPayloadHMR.d.ts +1 -1
  186. package/dist/utilities/getPayloadHMR.d.ts.map +1 -1
  187. package/dist/utilities/getPayloadHMR.js +91 -94
  188. package/dist/utilities/getPayloadHMR.js.map +1 -1
  189. package/dist/utilities/getRequestLanguage.js +16 -13
  190. package/dist/utilities/getRequestLanguage.js.map +1 -1
  191. package/dist/utilities/getRequestLocales.js +27 -24
  192. package/dist/utilities/getRequestLocales.js.map +1 -1
  193. package/dist/utilities/getRequestTheme.js +16 -16
  194. package/dist/utilities/getRequestTheme.js.map +1 -1
  195. package/dist/utilities/headersWithCors.js +21 -30
  196. package/dist/utilities/headersWithCors.js.map +1 -1
  197. package/dist/utilities/initPage/handleAdminPage.js +46 -42
  198. package/dist/utilities/initPage/handleAdminPage.js.map +1 -1
  199. package/dist/utilities/initPage/handleAuthRedirect.js +45 -32
  200. package/dist/utilities/initPage/handleAuthRedirect.js.map +1 -1
  201. package/dist/utilities/initPage/index.js +146 -120
  202. package/dist/utilities/initPage/index.js.map +1 -1
  203. package/dist/utilities/initPage/shared.js +26 -25
  204. package/dist/utilities/initPage/shared.js.map +1 -1
  205. package/dist/utilities/initPage/types.js +1 -2
  206. package/dist/utilities/initPage/types.js.map +1 -1
  207. package/dist/utilities/mergeHeaders.js +8 -9
  208. package/dist/utilities/mergeHeaders.js.map +1 -1
  209. package/dist/utilities/meta.js +66 -68
  210. package/dist/utilities/meta.js.map +1 -1
  211. package/dist/utilities/timestamp.js +4 -5
  212. package/dist/utilities/timestamp.js.map +1 -1
  213. package/dist/views/API/LocaleSelector/index.d.ts.map +1 -1
  214. package/dist/views/API/LocaleSelector/index.js +38 -11
  215. package/dist/views/API/LocaleSelector/index.js.map +1 -1
  216. package/dist/views/API/RenderJSON/index.js +124 -112
  217. package/dist/views/API/RenderJSON/index.js.map +1 -1
  218. package/dist/views/API/index.client.js +190 -202
  219. package/dist/views/API/index.client.js.map +1 -1
  220. package/dist/views/API/index.js +2 -3
  221. package/dist/views/API/index.js.map +1 -1
  222. package/dist/views/API/meta.js +22 -18
  223. package/dist/views/API/meta.js.map +1 -1
  224. package/dist/views/Account/Settings/LanguageSelector.js +45 -12
  225. package/dist/views/Account/Settings/LanguageSelector.js.map +1 -1
  226. package/dist/views/Account/Settings/index.js +21 -28
  227. package/dist/views/Account/Settings/index.js.map +1 -1
  228. package/dist/views/Account/ToggleTheme/index.js +51 -30
  229. package/dist/views/Account/ToggleTheme/index.js.map +1 -1
  230. package/dist/views/Account/index.client.js +32 -16
  231. package/dist/views/Account/index.client.js.map +1 -1
  232. package/dist/views/Account/index.js +99 -68
  233. package/dist/views/Account/index.js.map +1 -1
  234. package/dist/views/Account/meta.js +12 -8
  235. package/dist/views/Account/meta.js.map +1 -1
  236. package/dist/views/CreateFirstUser/index.client.js +95 -57
  237. package/dist/views/CreateFirstUser/index.client.js.map +1 -1
  238. package/dist/views/CreateFirstUser/index.js +42 -28
  239. package/dist/views/CreateFirstUser/index.js.map +1 -1
  240. package/dist/views/CreateFirstUser/meta.js +12 -8
  241. package/dist/views/CreateFirstUser/meta.js.map +1 -1
  242. package/dist/views/Dashboard/Default/index.js +132 -115
  243. package/dist/views/Dashboard/Default/index.js.map +1 -1
  244. package/dist/views/Dashboard/index.js +61 -52
  245. package/dist/views/Dashboard/index.js.map +1 -1
  246. package/dist/views/Dashboard/meta.js +16 -12
  247. package/dist/views/Dashboard/meta.js.map +1 -1
  248. package/dist/views/Document/getCustomViewByKey.js +2 -3
  249. package/dist/views/Document/getCustomViewByKey.js.map +1 -1
  250. package/dist/views/Document/getCustomViewByRoute.js +30 -27
  251. package/dist/views/Document/getCustomViewByRoute.js.map +1 -1
  252. package/dist/views/Document/getDocumentData.js +34 -28
  253. package/dist/views/Document/getDocumentData.js.map +1 -1
  254. package/dist/views/Document/getDocumentPermissions.js +83 -74
  255. package/dist/views/Document/getDocumentPermissions.js.map +1 -1
  256. package/dist/views/Document/getMetaBySegment.js +113 -107
  257. package/dist/views/Document/getMetaBySegment.js.map +1 -1
  258. package/dist/views/Document/getViewsFromConfig.js +309 -331
  259. package/dist/views/Document/getViewsFromConfig.js.map +1 -1
  260. package/dist/views/Document/index.d.ts.map +1 -1
  261. package/dist/views/Document/index.js +193 -159
  262. package/dist/views/Document/index.js.map +1 -1
  263. package/dist/views/Document/meta.js +1 -2
  264. package/dist/views/Document/meta.js.map +1 -1
  265. package/dist/views/Edit/Default/Auth/APIKey.js +118 -132
  266. package/dist/views/Edit/Default/Auth/APIKey.js.map +1 -1
  267. package/dist/views/Edit/Default/Auth/index.js +293 -196
  268. package/dist/views/Edit/Default/Auth/index.js.map +1 -1
  269. package/dist/views/Edit/Default/Auth/types.js +1 -2
  270. package/dist/views/Edit/Default/Auth/types.js.map +1 -1
  271. package/dist/views/Edit/Default/SetDocumentStepNav/index.js +121 -70
  272. package/dist/views/Edit/Default/SetDocumentStepNav/index.js.map +1 -1
  273. package/dist/views/Edit/Default/SetDocumentTitle/index.js +74 -29
  274. package/dist/views/Edit/Default/SetDocumentTitle/index.js.map +1 -1
  275. package/dist/views/Edit/Default/index.js +190 -187
  276. package/dist/views/Edit/Default/index.js.map +1 -1
  277. package/dist/views/Edit/Default/types.js +1 -2
  278. package/dist/views/Edit/Default/types.js.map +1 -1
  279. package/dist/views/Edit/index.client.js +45 -21
  280. package/dist/views/Edit/index.client.js.map +1 -1
  281. package/dist/views/Edit/index.js +2 -3
  282. package/dist/views/Edit/index.js.map +1 -1
  283. package/dist/views/Edit/meta.js +43 -35
  284. package/dist/views/Edit/meta.js.map +1 -1
  285. package/dist/views/Edit/sanitizeEditViewProps.js +8 -9
  286. package/dist/views/Edit/sanitizeEditViewProps.js.map +1 -1
  287. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +151 -94
  288. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -1
  289. package/dist/views/ForgotPassword/index.js +59 -46
  290. package/dist/views/ForgotPassword/index.js.map +1 -1
  291. package/dist/views/ForgotPassword/meta.js +12 -8
  292. package/dist/views/ForgotPassword/meta.js.map +1 -1
  293. package/dist/views/List/Default/index.js +348 -208
  294. package/dist/views/List/Default/index.js.map +1 -1
  295. package/dist/views/List/Default/types.js +1 -2
  296. package/dist/views/List/Default/types.js.map +1 -1
  297. package/dist/views/List/index.js +153 -137
  298. package/dist/views/List/index.js.map +1 -1
  299. package/dist/views/List/meta.js +20 -17
  300. package/dist/views/List/meta.js.map +1 -1
  301. package/dist/views/LivePreview/Context/collisionDetection.js +24 -21
  302. package/dist/views/LivePreview/Context/collisionDetection.js.map +1 -1
  303. package/dist/views/LivePreview/Context/context.d.ts +2 -1
  304. package/dist/views/LivePreview/Context/context.d.ts.map +1 -1
  305. package/dist/views/LivePreview/Context/context.js +39 -36
  306. package/dist/views/LivePreview/Context/context.js.map +1 -1
  307. package/dist/views/LivePreview/Context/index.js +134 -142
  308. package/dist/views/LivePreview/Context/index.js.map +1 -1
  309. package/dist/views/LivePreview/Context/sizeReducer.js +18 -19
  310. package/dist/views/LivePreview/Context/sizeReducer.js.map +1 -1
  311. package/dist/views/LivePreview/Device/index.js +78 -71
  312. package/dist/views/LivePreview/Device/index.js.map +1 -1
  313. package/dist/views/LivePreview/DeviceContainer/index.js +47 -23
  314. package/dist/views/LivePreview/DeviceContainer/index.js.map +1 -1
  315. package/dist/views/LivePreview/IFrame/index.js +21 -16
  316. package/dist/views/LivePreview/IFrame/index.js.map +1 -1
  317. package/dist/views/LivePreview/Preview/index.js +145 -92
  318. package/dist/views/LivePreview/Preview/index.js.map +1 -1
  319. package/dist/views/LivePreview/Toolbar/Controls/index.js +136 -115
  320. package/dist/views/LivePreview/Toolbar/Controls/index.js.map +1 -1
  321. package/dist/views/LivePreview/Toolbar/SizeInput/index.js +89 -51
  322. package/dist/views/LivePreview/Toolbar/SizeInput/index.js.map +1 -1
  323. package/dist/views/LivePreview/Toolbar/index.js +82 -50
  324. package/dist/views/LivePreview/Toolbar/index.js.map +1 -1
  325. package/dist/views/LivePreview/ToolbarArea/index.js +32 -10
  326. package/dist/views/LivePreview/ToolbarArea/index.js.map +1 -1
  327. package/dist/views/LivePreview/index.client.js +316 -160
  328. package/dist/views/LivePreview/index.client.js.map +1 -1
  329. package/dist/views/LivePreview/index.js +67 -55
  330. package/dist/views/LivePreview/index.js.map +1 -1
  331. package/dist/views/LivePreview/meta.js +14 -9
  332. package/dist/views/LivePreview/meta.js.map +1 -1
  333. package/dist/views/LivePreview/usePopupWindow.js +91 -94
  334. package/dist/views/LivePreview/usePopupWindow.js.map +1 -1
  335. package/dist/views/Login/LoginField/index.js +83 -39
  336. package/dist/views/Login/LoginField/index.js.map +1 -1
  337. package/dist/views/Login/LoginForm/index.js +130 -66
  338. package/dist/views/Login/LoginForm/index.js.map +1 -1
  339. package/dist/views/Login/index.js +77 -54
  340. package/dist/views/Login/index.js.map +1 -1
  341. package/dist/views/Login/meta.js +12 -8
  342. package/dist/views/Login/meta.js.map +1 -1
  343. package/dist/views/Logout/LogoutClient.js +84 -39
  344. package/dist/views/Logout/LogoutClient.js.map +1 -1
  345. package/dist/views/Logout/index.js +29 -16
  346. package/dist/views/Logout/index.js.map +1 -1
  347. package/dist/views/Logout/meta.js +11 -7
  348. package/dist/views/Logout/meta.js.map +1 -1
  349. package/dist/views/NotFound/index.client.js +78 -40
  350. package/dist/views/NotFound/index.client.js.map +1 -1
  351. package/dist/views/NotFound/index.js +47 -37
  352. package/dist/views/NotFound/index.js.map +1 -1
  353. package/dist/views/NotFound/meta.js +9 -7
  354. package/dist/views/NotFound/meta.js.map +1 -1
  355. package/dist/views/ResetPassword/index.client.js +97 -59
  356. package/dist/views/ResetPassword/index.client.js.map +1 -1
  357. package/dist/views/ResetPassword/index.js +68 -53
  358. package/dist/views/ResetPassword/index.js.map +1 -1
  359. package/dist/views/ResetPassword/meta.js +12 -8
  360. package/dist/views/ResetPassword/meta.js.map +1 -1
  361. package/dist/views/Root/generateCustomViewMetadata.js +21 -19
  362. package/dist/views/Root/generateCustomViewMetadata.js.map +1 -1
  363. package/dist/views/Root/getCustomViewByRoute.js +42 -31
  364. package/dist/views/Root/getCustomViewByRoute.js.map +1 -1
  365. package/dist/views/Root/getViewFromConfig.js +162 -156
  366. package/dist/views/Root/getViewFromConfig.js.map +1 -1
  367. package/dist/views/Root/index.js +99 -82
  368. package/dist/views/Root/index.js.map +1 -1
  369. package/dist/views/Root/isPathMatchingRoute.js +18 -13
  370. package/dist/views/Root/isPathMatchingRoute.js.map +1 -1
  371. package/dist/views/Root/meta.js +141 -136
  372. package/dist/views/Root/meta.js.map +1 -1
  373. package/dist/views/Unauthorized/index.js +32 -22
  374. package/dist/views/Unauthorized/index.js.map +1 -1
  375. package/dist/views/Unauthorized/meta.js +12 -8
  376. package/dist/views/Unauthorized/meta.js.map +1 -1
  377. package/dist/views/Verify/index.js +58 -43
  378. package/dist/views/Verify/index.js.map +1 -1
  379. package/dist/views/Verify/meta.js +12 -8
  380. package/dist/views/Verify/meta.js.map +1 -1
  381. package/dist/views/Version/Default/SetStepNav.d.ts.map +1 -1
  382. package/dist/views/Version/Default/SetStepNav.js +147 -103
  383. package/dist/views/Version/Default/SetStepNav.js.map +1 -1
  384. package/dist/views/Version/Default/index.js +198 -114
  385. package/dist/views/Version/Default/index.js.map +1 -1
  386. package/dist/views/Version/Default/types.js +1 -2
  387. package/dist/views/Version/Default/types.js.map +1 -1
  388. package/dist/views/Version/RenderFieldsToDiff/Label/index.js +6 -5
  389. package/dist/views/Version/RenderFieldsToDiff/Label/index.js.map +1 -1
  390. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.d.ts.map +1 -1
  391. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +65 -69
  392. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
  393. package/dist/views/Version/RenderFieldsToDiff/fields/Nested/index.d.ts.map +1 -1
  394. package/dist/views/Version/RenderFieldsToDiff/fields/Nested/index.js +34 -31
  395. package/dist/views/Version/RenderFieldsToDiff/fields/Nested/index.js.map +1 -1
  396. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js +108 -78
  397. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js.map +1 -1
  398. package/dist/views/Version/RenderFieldsToDiff/fields/Select/DiffViewer/index.js +17 -11
  399. package/dist/views/Version/RenderFieldsToDiff/fields/Select/DiffViewer/index.js.map +1 -1
  400. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.d.ts.map +1 -1
  401. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js +40 -38
  402. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js.map +1 -1
  403. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.d.ts.map +1 -1
  404. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js +42 -32
  405. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js.map +1 -1
  406. package/dist/views/Version/RenderFieldsToDiff/fields/Text/DiffViewer/index.js +17 -11
  407. package/dist/views/Version/RenderFieldsToDiff/fields/Text/DiffViewer/index.js.map +1 -1
  408. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.d.ts.map +1 -1
  409. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js +34 -31
  410. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js.map +1 -1
  411. package/dist/views/Version/RenderFieldsToDiff/fields/diffMethods.js +4 -5
  412. package/dist/views/Version/RenderFieldsToDiff/fields/diffMethods.js.map +1 -1
  413. package/dist/views/Version/RenderFieldsToDiff/fields/index.js +20 -21
  414. package/dist/views/Version/RenderFieldsToDiff/fields/index.js.map +1 -1
  415. package/dist/views/Version/RenderFieldsToDiff/fields/styles.js +23 -24
  416. package/dist/views/Version/RenderFieldsToDiff/fields/styles.js.map +1 -1
  417. package/dist/views/Version/RenderFieldsToDiff/fields/types.js +1 -2
  418. package/dist/views/Version/RenderFieldsToDiff/fields/types.js.map +1 -1
  419. package/dist/views/Version/RenderFieldsToDiff/index.js +102 -97
  420. package/dist/views/Version/RenderFieldsToDiff/index.js.map +1 -1
  421. package/dist/views/Version/RenderFieldsToDiff/types.js +1 -2
  422. package/dist/views/Version/RenderFieldsToDiff/types.js.map +1 -1
  423. package/dist/views/Version/Restore/index.js +107 -110
  424. package/dist/views/Version/Restore/index.js.map +1 -1
  425. package/dist/views/Version/Restore/types.js +1 -2
  426. package/dist/views/Version/Restore/types.js.map +1 -1
  427. package/dist/views/Version/SelectComparison/index.js +130 -138
  428. package/dist/views/Version/SelectComparison/index.js.map +1 -1
  429. package/dist/views/Version/SelectComparison/types.js +1 -2
  430. package/dist/views/Version/SelectComparison/types.js.map +1 -1
  431. package/dist/views/Version/SelectLocales/index.js +58 -30
  432. package/dist/views/Version/SelectLocales/index.js.map +1 -1
  433. package/dist/views/Version/SelectLocales/types.js +1 -2
  434. package/dist/views/Version/SelectLocales/types.js.map +1 -1
  435. package/dist/views/Version/index.js +126 -105
  436. package/dist/views/Version/index.js.map +1 -1
  437. package/dist/views/Version/meta.js +49 -43
  438. package/dist/views/Version/meta.js.map +1 -1
  439. package/dist/views/Versions/buildColumns.js +87 -82
  440. package/dist/views/Versions/buildColumns.js.map +1 -1
  441. package/dist/views/Versions/cells/AutosaveCell/index.js +69 -42
  442. package/dist/views/Versions/cells/AutosaveCell/index.js.map +1 -1
  443. package/dist/views/Versions/cells/CreatedAt/index.js +70 -17
  444. package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
  445. package/dist/views/Versions/cells/ID/index.js +17 -5
  446. package/dist/views/Versions/cells/ID/index.js.map +1 -1
  447. package/dist/views/Versions/getLatestVersion.js +33 -29
  448. package/dist/views/Versions/getLatestVersion.js.map +1 -1
  449. package/dist/views/Versions/index.client.js +80 -77
  450. package/dist/views/Versions/index.client.js.map +1 -1
  451. package/dist/views/Versions/index.js +148 -127
  452. package/dist/views/Versions/index.js.map +1 -1
  453. package/dist/views/Versions/meta.js +43 -37
  454. package/dist/views/Versions/meta.js.map +1 -1
  455. package/dist/views/Versions/types.js +1 -2
  456. package/dist/views/Versions/types.js.map +1 -1
  457. package/dist/withPayload.js +83 -117
  458. package/dist/withPayload.js.map +1 -1
  459. package/package.json +20 -10
  460. package/dist/cjs/withPayload.cjs +0 -145
  461. package/dist/cjs/withPayload.cjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/routes/rest/index.ts"],"sourcesContent":["import type { Collection, Endpoint, GlobalConfig, PayloadRequest, SanitizedConfig } from 'payload'\n\nimport httpStatus from 'http-status'\nimport { match } from 'path-to-regexp'\n\nimport type {\n CollectionRouteHandler,\n CollectionRouteHandlerWithID,\n GlobalRouteHandler,\n GlobalRouteHandlerWithID,\n} from './types.js'\n\nimport { addDataAndFileToRequest } from '../../utilities/addDataAndFileToRequest.js'\nimport { addLocalesToRequestFromData } from '../../utilities/addLocalesToRequest.js'\nimport { createPayloadRequest } from '../../utilities/createPayloadRequest.js'\nimport { headersWithCors } from '../../utilities/headersWithCors.js'\nimport { mergeHeaders } from '../../utilities/mergeHeaders.js'\nimport { access } from './auth/access.js'\nimport { forgotPassword } from './auth/forgotPassword.js'\nimport { init } from './auth/init.js'\nimport { login } from './auth/login.js'\nimport { logout } from './auth/logout.js'\nimport { me } from './auth/me.js'\nimport { refresh } from './auth/refresh.js'\nimport { registerFirstUser } from './auth/registerFirstUser.js'\nimport { resetPassword } from './auth/resetPassword.js'\nimport { unlock } from './auth/unlock.js'\nimport { verifyEmail } from './auth/verifyEmail.js'\nimport { buildFormState } from './buildFormState.js'\nimport { endpointsAreDisabled } from './checkEndpoints.js'\nimport { count } from './collections/count.js'\nimport { create } from './collections/create.js'\nimport { deleteDoc } from './collections/delete.js'\nimport { deleteByID } from './collections/deleteByID.js'\nimport { docAccess } from './collections/docAccess.js'\nimport { duplicate } from './collections/duplicate.js'\nimport { find } from './collections/find.js'\nimport { findByID } from './collections/findByID.js'\nimport { findVersionByID } from './collections/findVersionByID.js'\nimport { findVersions } from './collections/findVersions.js'\nimport { preview as previewCollection } from './collections/preview.js'\nimport { restoreVersion } from './collections/restoreVersion.js'\nimport { update } from './collections/update.js'\nimport { updateByID } from './collections/updateByID.js'\nimport { getFile } from './files/getFile.js'\nimport { docAccess as docAccessGlobal } from './globals/docAccess.js'\nimport { findOne } from './globals/findOne.js'\nimport { findVersionByID as findVersionByIdGlobal } from './globals/findVersionByID.js'\nimport { findVersions as findVersionsGlobal } from './globals/findVersions.js'\nimport { preview as previewGlobal } from './globals/preview.js'\nimport { restoreVersion as restoreVersionGlobal } from './globals/restoreVersion.js'\nimport { update as updateGlobal } from './globals/update.js'\nimport { generateOGImage } from './og/index.js'\nimport { routeError } from './routeError.js'\n\nconst endpoints = {\n collection: {\n DELETE: {\n delete: deleteDoc,\n deleteByID,\n },\n GET: {\n count,\n 'doc-access-by-id': docAccess,\n 'doc-versions-by-id': findVersionByID,\n find,\n findByID,\n getFile,\n init,\n me,\n preview: previewCollection,\n versions: findVersions,\n },\n PATCH: {\n update,\n updateByID,\n },\n POST: {\n access: docAccess,\n create,\n 'doc-access-by-id': docAccess,\n 'doc-verify-by-id': verifyEmail,\n 'doc-versions-by-id': restoreVersion,\n duplicate,\n 'first-register': registerFirstUser,\n 'forgot-password': forgotPassword,\n login,\n logout,\n 'refresh-token': refresh,\n 'reset-password': resetPassword,\n unlock,\n },\n },\n global: {\n GET: {\n 'doc-access': docAccessGlobal,\n 'doc-versions': findVersionsGlobal,\n 'doc-versions-by-id': findVersionByIdGlobal,\n findOne,\n preview: previewGlobal,\n },\n POST: {\n 'doc-access': docAccessGlobal,\n 'doc-versions-by-id': restoreVersionGlobal,\n update: updateGlobal,\n },\n },\n root: {\n GET: {\n access,\n og: generateOGImage,\n },\n POST: {\n 'form-state': buildFormState,\n },\n },\n}\n\nconst handleCustomEndpoints = async ({\n endpoints,\n entitySlug,\n req,\n}: {\n endpoints: Endpoint[] | GlobalConfig['endpoints']\n entitySlug?: string\n req: PayloadRequest\n}): Promise<Response> => {\n if (endpoints && endpoints.length > 0) {\n let handlerParams = {}\n const { pathname } = req\n\n /*\n * This makes sure the next.js basePath property is supported. If basePath is used, payload config.routes.api should include it. This makes all outgoing frontend request\n * target the correct API endpoint starting with basePath, which is good!\n *\n * The incoming request (here) will not include the basePath though, as it's automatically stripped by Next.js. Since we are adding the basePath to the pathPrefix below though\n * (from req.payload.config.routes.api) we need to add it to pathname, which does not contain the basePath. Otherwise, no endpoint will be matched if basePath is set.\n */\n let adjustedPathname = pathname\n\n if (process.env.NEXT_BASE_PATH) {\n adjustedPathname = process.env.NEXT_BASE_PATH + pathname\n }\n\n const pathPrefix = req.payload.config.routes.api + (entitySlug ? `/${entitySlug}` : '')\n\n const customEndpoint = endpoints.find((endpoint) => {\n if (endpoint.method === req.method.toLowerCase()) {\n const pathMatchFn = match(`${pathPrefix}${endpoint.path}`, {\n decode: decodeURIComponent,\n })\n\n const tempParams = pathMatchFn(adjustedPathname)\n if (tempParams) {\n handlerParams = tempParams.params\n return true\n }\n }\n })\n\n if (customEndpoint) {\n req.routeParams = {\n ...req.routeParams,\n ...handlerParams,\n }\n const res = await customEndpoint.handler(req)\n\n if (res instanceof Response) {\n if (req.responseHeaders) {\n const mergedResponse = new Response(res.body, {\n headers: mergeHeaders(req.responseHeaders, res.headers),\n status: res.status,\n statusText: res.statusText,\n })\n\n return mergedResponse\n }\n\n return res\n }\n }\n }\n\n return null\n}\n\nconst RouteNotFoundResponse = ({ slug, req }: { req: PayloadRequest; slug: string[] }) =>\n Response.json(\n {\n message: `Route Not Found: \"${slug.join('/')}\"`,\n },\n {\n headers: headersWithCors({\n headers: new Headers(),\n req,\n }),\n status: httpStatus.NOT_FOUND,\n },\n )\n\nexport const OPTIONS =\n (config: Promise<SanitizedConfig> | SanitizedConfig) => async (request: Request) => {\n let req: PayloadRequest\n\n try {\n req = await createPayloadRequest({\n config,\n request,\n })\n\n return Response.json(\n {},\n {\n headers: headersWithCors({\n headers: new Headers(),\n req,\n }),\n status: 200,\n },\n )\n } catch (error) {\n return routeError({\n config,\n err: error,\n req: req || request,\n })\n }\n }\n\nexport const GET =\n (config: Promise<SanitizedConfig> | SanitizedConfig) =>\n async (request: Request, { params: { slug } }: { params: { slug: string[] } }) => {\n const [slug1, slug2, slug3, slug4] = slug\n let req: PayloadRequest\n let res: Response\n let collection: Collection\n\n try {\n req = await createPayloadRequest({\n config,\n request,\n })\n\n const disableEndpoints = endpointsAreDisabled({\n endpoints: req.payload.config.endpoints,\n request,\n })\n\n if (disableEndpoints) return disableEndpoints\n\n collection = req.payload.collections?.[slug1]\n\n if (collection) {\n req.routeParams.collection = slug1\n const disableEndpoints = endpointsAreDisabled({\n endpoints: collection.config.endpoints,\n request,\n })\n if (disableEndpoints) return disableEndpoints\n\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: collection.config.endpoints,\n entitySlug: slug1,\n req,\n })\n\n if (customEndpointResponse) {\n return customEndpointResponse\n } else {\n await addDataAndFileToRequest(req)\n addLocalesToRequestFromData(req)\n\n switch (slug.length) {\n case 1:\n // /:collection\n res = await endpoints.collection.GET.find({ collection, req })\n break\n case 2:\n if (slug2 in endpoints.collection.GET) {\n // /:collection/init\n // /:collection/me\n // /:collection/versions\n // /:collection/count\n res = await (endpoints.collection.GET[slug2] as CollectionRouteHandler)({\n collection,\n req,\n })\n } else {\n // /:collection/:id\n res = await endpoints.collection.GET.findByID({\n id: slug2,\n collection,\n req,\n })\n }\n break\n case 3:\n if (slug2 === 'file') {\n // /:collection/file/:filename\n res = await endpoints.collection.GET.getFile({\n collection,\n filename: slug3,\n req,\n })\n } else if (slug3 in endpoints.collection.GET) {\n // /:collection/:id/preview\n res = await (endpoints.collection.GET[slug3] as CollectionRouteHandlerWithID)({\n id: slug2,\n collection,\n req,\n })\n } else if (`doc-${slug2}-by-id` in endpoints.collection.GET) {\n // /:collection/access/:id\n // /:collection/versions/:id\n res = await (\n endpoints.collection.GET[`doc-${slug2}-by-id`] as CollectionRouteHandlerWithID\n )({ id: slug3, collection, req })\n }\n break\n }\n }\n } else if (slug1 === 'globals') {\n const globalConfig = req.payload.config.globals.find((global) => global.slug === slug2)\n req.routeParams.global = globalConfig.slug\n\n const disableEndpoints = endpointsAreDisabled({\n endpoints: globalConfig.endpoints,\n request,\n })\n if (disableEndpoints) return disableEndpoints\n\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: globalConfig.endpoints,\n entitySlug: `${slug1}/${slug2}`,\n req,\n })\n\n if (customEndpointResponse) {\n return customEndpointResponse\n } else {\n await addDataAndFileToRequest(req)\n addLocalesToRequestFromData(req)\n\n switch (slug.length) {\n case 2:\n // /globals/:slug\n res = await endpoints.global.GET.findOne({ globalConfig, req })\n break\n case 3:\n if (slug3 in endpoints.global.GET) {\n // /globals/:slug/preview\n res = await (endpoints.global.GET[slug3] as GlobalRouteHandler)({\n globalConfig,\n req,\n })\n } else if (`doc-${slug3}` in endpoints.global.GET) {\n // /globals/:slug/access\n // /globals/:slug/versions\n // /globals/:slug/preview\n res = await (endpoints.global.GET?.[`doc-${slug3}`] as GlobalRouteHandler)({\n globalConfig,\n req,\n })\n }\n break\n case 4:\n if (`doc-${slug3}-by-id` in endpoints.global.GET) {\n // /globals/:slug/versions/:id\n res = await (\n endpoints.global.GET?.[`doc-${slug3}-by-id`] as GlobalRouteHandlerWithID\n )({\n id: slug4,\n globalConfig,\n req,\n })\n }\n break\n }\n }\n } else if (slug.length === 1 && slug1 in endpoints.root.GET) {\n await addDataAndFileToRequest(req)\n addLocalesToRequestFromData(req)\n res = await endpoints.root.GET[slug1]({ req })\n }\n\n if (res instanceof Response) {\n if (req.responseHeaders) {\n const mergedResponse = new Response(res.body, {\n headers: mergeHeaders(req.responseHeaders, res.headers),\n status: res.status,\n statusText: res.statusText,\n })\n\n return mergedResponse\n }\n\n return res\n }\n\n // root routes\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: req.payload.config.endpoints,\n req,\n })\n\n if (customEndpointResponse) return customEndpointResponse\n\n return RouteNotFoundResponse({\n slug,\n req,\n })\n } catch (error) {\n return routeError({\n collection,\n config,\n err: error,\n req: req || request,\n })\n }\n }\n\nexport const POST =\n (config: Promise<SanitizedConfig> | SanitizedConfig) =>\n async (request: Request, { params: { slug } }: { params: { slug: string[] } }) => {\n const [slug1, slug2, slug3, slug4] = slug\n let req: PayloadRequest\n let res: Response\n let collection: Collection\n\n const overrideHttpMethod = request.headers.get('X-HTTP-Method-Override')\n if (overrideHttpMethod === 'GET') {\n return await GET(config)(request, { params: { slug } })\n }\n\n try {\n req = await createPayloadRequest({\n config,\n request,\n })\n\n collection = req.payload.collections?.[slug1]\n\n const disableEndpoints = endpointsAreDisabled({\n endpoints: req.payload.config.endpoints,\n request,\n })\n\n if (disableEndpoints) return disableEndpoints\n\n if (collection) {\n req.routeParams.collection = slug1\n const disableEndpoints = endpointsAreDisabled({\n endpoints: collection.config.endpoints,\n request,\n })\n if (disableEndpoints) return disableEndpoints\n\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: collection.config.endpoints,\n entitySlug: slug1,\n req,\n })\n\n if (customEndpointResponse) {\n return customEndpointResponse\n } else {\n await addDataAndFileToRequest(req)\n addLocalesToRequestFromData(req)\n\n switch (slug.length) {\n case 1:\n // /:collection\n res = await endpoints.collection.POST.create({ collection, req })\n break\n case 2:\n if (slug2 in endpoints.collection.POST) {\n // /:collection/login\n // /:collection/logout\n // /:collection/unlock\n // /:collection/access\n // /:collection/first-register\n // /:collection/forgot-password\n // /:collection/reset-password\n // /:collection/refresh-token\n\n res = await (endpoints.collection.POST?.[slug2] as CollectionRouteHandler)({\n collection,\n req,\n })\n }\n break\n case 3:\n if (`doc-${slug2}-by-id` in endpoints.collection.POST) {\n // /:collection/access/:id\n // /:collection/versions/:id\n // /:collection/verify/:token (\"doc-verify-by-id\" uses id as token internally)\n res = await (\n endpoints.collection.POST[`doc-${slug2}-by-id`] as CollectionRouteHandlerWithID\n )({ id: slug3, collection, req })\n } else if (slug3 === 'duplicate' && collection.config.disableDuplicate !== true) {\n // /:collection/:id/duplicate\n res = await endpoints.collection.POST.duplicate({\n id: slug2,\n collection,\n req,\n })\n }\n break\n }\n }\n } else if (slug1 === 'globals' && slug2) {\n const globalConfig = req.payload.config.globals.find((global) => global.slug === slug2)\n req.routeParams.global = globalConfig.slug\n\n const disableEndpoints = endpointsAreDisabled({\n endpoints: globalConfig.endpoints,\n request,\n })\n if (disableEndpoints) return disableEndpoints\n\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: globalConfig.endpoints,\n entitySlug: `${slug1}/${slug2}`,\n req,\n })\n\n if (customEndpointResponse) {\n return customEndpointResponse\n } else {\n await addDataAndFileToRequest(req)\n addLocalesToRequestFromData(req)\n switch (slug.length) {\n case 2:\n // /globals/:slug\n res = await endpoints.global.POST.update({ globalConfig, req })\n break\n case 3:\n if (`doc-${slug3}` in endpoints.global.POST) {\n // /globals/:slug/access\n res = await (endpoints.global.POST?.[`doc-${slug3}`] as GlobalRouteHandler)({\n globalConfig,\n req,\n })\n }\n break\n case 4:\n if (`doc-${slug3}-by-id` in endpoints.global.POST) {\n // /globals/:slug/versions/:id\n res = await (\n endpoints.global.POST?.[`doc-${slug3}-by-id`] as GlobalRouteHandlerWithID\n )({\n id: slug4,\n globalConfig,\n req,\n })\n }\n break\n default:\n res = new Response('Route Not Found', { status: 404 })\n }\n }\n } else if (slug.length === 1 && slug1 in endpoints.root.POST) {\n await addDataAndFileToRequest(req)\n addLocalesToRequestFromData(req)\n res = await endpoints.root.POST[slug1]({ req })\n }\n\n if (res instanceof Response) {\n if (req.responseHeaders) {\n const mergedResponse = new Response(res.body, {\n headers: mergeHeaders(req.responseHeaders, res.headers),\n status: res.status,\n statusText: res.statusText,\n })\n\n return mergedResponse\n }\n\n return res\n }\n\n // root routes\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: req.payload.config.endpoints,\n req,\n })\n\n if (customEndpointResponse) return customEndpointResponse\n\n return RouteNotFoundResponse({\n slug,\n req,\n })\n } catch (error) {\n return routeError({\n collection,\n config,\n err: error,\n req: req || request,\n })\n }\n }\n\nexport const DELETE =\n (config: Promise<SanitizedConfig> | SanitizedConfig) =>\n async (request: Request, { params: { slug } }: { params: { slug: string[] } }) => {\n const [slug1, slug2] = slug\n let req: PayloadRequest\n let res: Response\n let collection: Collection\n\n try {\n req = await createPayloadRequest({\n config,\n request,\n })\n collection = req.payload.collections?.[slug1]\n\n const disableEndpoints = endpointsAreDisabled({\n endpoints: req.payload.config.endpoints,\n request,\n })\n if (disableEndpoints) return disableEndpoints\n\n if (collection) {\n req.routeParams.collection = slug1\n\n const disableEndpoints = endpointsAreDisabled({\n endpoints: collection.config.endpoints,\n request,\n })\n if (disableEndpoints) return disableEndpoints\n\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: collection.config.endpoints,\n entitySlug: slug1,\n req,\n })\n if (customEndpointResponse) {\n return customEndpointResponse\n } else {\n await addDataAndFileToRequest(req)\n addLocalesToRequestFromData(req)\n\n switch (slug.length) {\n case 1:\n // /:collection\n res = await endpoints.collection.DELETE.delete({ collection, req })\n break\n case 2:\n // /:collection/:id\n res = await endpoints.collection.DELETE.deleteByID({\n id: slug2,\n collection,\n req,\n })\n break\n }\n }\n }\n\n if (res instanceof Response) {\n if (req.responseHeaders) {\n const mergedResponse = new Response(res.body, {\n headers: mergeHeaders(req.responseHeaders, res.headers),\n status: res.status,\n statusText: res.statusText,\n })\n\n return mergedResponse\n }\n\n return res\n }\n\n // root routes\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: req.payload.config.endpoints,\n req,\n })\n\n if (customEndpointResponse) return customEndpointResponse\n\n return RouteNotFoundResponse({\n slug,\n req,\n })\n } catch (error) {\n return routeError({\n collection,\n config,\n err: error,\n req: req || request,\n })\n }\n }\n\nexport const PATCH =\n (config: Promise<SanitizedConfig> | SanitizedConfig) =>\n async (request: Request, { params: { slug } }: { params: { slug: string[] } }) => {\n const [slug1, slug2] = slug\n let req: PayloadRequest\n let res: Response\n let collection: Collection\n\n try {\n req = await createPayloadRequest({\n config,\n request,\n })\n collection = req.payload.collections?.[slug1]\n\n const disableEndpoints = endpointsAreDisabled({\n endpoints: req.payload.config.endpoints,\n request,\n })\n if (disableEndpoints) return disableEndpoints\n\n if (collection) {\n req.routeParams.collection = slug1\n\n const disableEndpoints = endpointsAreDisabled({\n endpoints: collection.config.endpoints,\n request,\n })\n if (disableEndpoints) return disableEndpoints\n\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: collection.config.endpoints,\n entitySlug: slug1,\n req,\n })\n\n if (customEndpointResponse) {\n return customEndpointResponse\n } else {\n await addDataAndFileToRequest(req)\n addLocalesToRequestFromData(req)\n\n switch (slug.length) {\n case 1:\n // /:collection\n res = await endpoints.collection.PATCH.update({ collection, req })\n break\n case 2:\n // /:collection/:id\n res = await endpoints.collection.PATCH.updateByID({\n id: slug2,\n collection,\n req,\n })\n break\n }\n }\n }\n\n if (res instanceof Response) {\n if (req.responseHeaders) {\n const mergedResponse = new Response(res.body, {\n headers: mergeHeaders(req.responseHeaders, res.headers),\n status: res.status,\n statusText: res.statusText,\n })\n\n return mergedResponse\n }\n\n return res\n }\n\n // root routes\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: req.payload.config.endpoints,\n req,\n })\n\n if (customEndpointResponse) return customEndpointResponse\n\n return RouteNotFoundResponse({\n slug,\n req,\n })\n } catch (error) {\n return routeError({\n collection,\n config,\n err: error,\n req: req || request,\n })\n }\n }\n"],"names":["httpStatus","match","addDataAndFileToRequest","addLocalesToRequestFromData","createPayloadRequest","headersWithCors","mergeHeaders","access","forgotPassword","init","login","logout","me","refresh","registerFirstUser","resetPassword","unlock","verifyEmail","buildFormState","endpointsAreDisabled","count","create","deleteDoc","deleteByID","docAccess","duplicate","find","findByID","findVersionByID","findVersions","preview","previewCollection","restoreVersion","update","updateByID","getFile","docAccessGlobal","findOne","findVersionByIdGlobal","findVersionsGlobal","previewGlobal","restoreVersionGlobal","updateGlobal","generateOGImage","routeError","endpoints","collection","DELETE","delete","GET","versions","PATCH","POST","global","root","og","handleCustomEndpoints","entitySlug","req","length","handlerParams","pathname","adjustedPathname","process","env","NEXT_BASE_PATH","pathPrefix","payload","config","routes","api","customEndpoint","endpoint","method","toLowerCase","pathMatchFn","path","decode","decodeURIComponent","tempParams","params","routeParams","res","handler","Response","responseHeaders","mergedResponse","body","headers","status","statusText","RouteNotFoundResponse","slug","json","message","join","Headers","NOT_FOUND","OPTIONS","request","error","err","slug1","slug2","slug3","slug4","disableEndpoints","collections","customEndpointResponse","id","filename","globalConfig","globals","overrideHttpMethod","get","disableDuplicate"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["httpStatus","match","addDataAndFileToRequest","addLocalesToRequestFromData","createPayloadRequest","headersWithCors","mergeHeaders","access","forgotPassword","init","login","logout","me","refresh","registerFirstUser","resetPassword","unlock","verifyEmail","buildFormState","endpointsAreDisabled","count","create","deleteDoc","deleteByID","docAccess","duplicate","find","findByID","findVersionByID","findVersions","preview","previewCollection","restoreVersion","update","updateByID","getFile","docAccessGlobal","findOne","findVersionByIdGlobal","findVersionsGlobal","previewGlobal","restoreVersionGlobal","updateGlobal","generateOGImage","routeError","endpoints","collection","DELETE","delete","GET","versions","PATCH","POST","global","root","og","handleCustomEndpoints","entitySlug","req","length","handlerParams","pathname","adjustedPathname","process","env","NEXT_BASE_PATH","pathPrefix","payload","config","routes","api","customEndpoint","endpoint","method","toLowerCase","pathMatchFn","path","decode","decodeURIComponent","tempParams","params","routeParams","res","handler","Response","responseHeaders","mergedResponse","body","headers","status","statusText","RouteNotFoundResponse","slug","json","message","join","Headers","NOT_FOUND","OPTIONS","request","error","err","slug1","slug2","slug3","slug4","disableEndpoints","collections","customEndpointResponse","id","filename","globalConfig","globals","overrideHttpMethod","get","disableDuplicate"],"sources":["../../../src/routes/rest/index.ts"],"sourcesContent":["import type { Collection, Endpoint, GlobalConfig, PayloadRequest, SanitizedConfig } from 'payload'\n\nimport httpStatus from 'http-status'\nimport { match } from 'path-to-regexp'\n\nimport type {\n CollectionRouteHandler,\n CollectionRouteHandlerWithID,\n GlobalRouteHandler,\n GlobalRouteHandlerWithID,\n} from './types.js'\n\nimport { addDataAndFileToRequest } from '../../utilities/addDataAndFileToRequest.js'\nimport { addLocalesToRequestFromData } from '../../utilities/addLocalesToRequest.js'\nimport { createPayloadRequest } from '../../utilities/createPayloadRequest.js'\nimport { headersWithCors } from '../../utilities/headersWithCors.js'\nimport { mergeHeaders } from '../../utilities/mergeHeaders.js'\nimport { access } from './auth/access.js'\nimport { forgotPassword } from './auth/forgotPassword.js'\nimport { init } from './auth/init.js'\nimport { login } from './auth/login.js'\nimport { logout } from './auth/logout.js'\nimport { me } from './auth/me.js'\nimport { refresh } from './auth/refresh.js'\nimport { registerFirstUser } from './auth/registerFirstUser.js'\nimport { resetPassword } from './auth/resetPassword.js'\nimport { unlock } from './auth/unlock.js'\nimport { verifyEmail } from './auth/verifyEmail.js'\nimport { buildFormState } from './buildFormState.js'\nimport { endpointsAreDisabled } from './checkEndpoints.js'\nimport { count } from './collections/count.js'\nimport { create } from './collections/create.js'\nimport { deleteDoc } from './collections/delete.js'\nimport { deleteByID } from './collections/deleteByID.js'\nimport { docAccess } from './collections/docAccess.js'\nimport { duplicate } from './collections/duplicate.js'\nimport { find } from './collections/find.js'\nimport { findByID } from './collections/findByID.js'\nimport { findVersionByID } from './collections/findVersionByID.js'\nimport { findVersions } from './collections/findVersions.js'\nimport { preview as previewCollection } from './collections/preview.js'\nimport { restoreVersion } from './collections/restoreVersion.js'\nimport { update } from './collections/update.js'\nimport { updateByID } from './collections/updateByID.js'\nimport { getFile } from './files/getFile.js'\nimport { docAccess as docAccessGlobal } from './globals/docAccess.js'\nimport { findOne } from './globals/findOne.js'\nimport { findVersionByID as findVersionByIdGlobal } from './globals/findVersionByID.js'\nimport { findVersions as findVersionsGlobal } from './globals/findVersions.js'\nimport { preview as previewGlobal } from './globals/preview.js'\nimport { restoreVersion as restoreVersionGlobal } from './globals/restoreVersion.js'\nimport { update as updateGlobal } from './globals/update.js'\nimport { generateOGImage } from './og/index.js'\nimport { routeError } from './routeError.js'\n\nconst endpoints = {\n collection: {\n DELETE: {\n delete: deleteDoc,\n deleteByID,\n },\n GET: {\n count,\n 'doc-access-by-id': docAccess,\n 'doc-versions-by-id': findVersionByID,\n find,\n findByID,\n getFile,\n init,\n me,\n preview: previewCollection,\n versions: findVersions,\n },\n PATCH: {\n update,\n updateByID,\n },\n POST: {\n access: docAccess,\n create,\n 'doc-access-by-id': docAccess,\n 'doc-verify-by-id': verifyEmail,\n 'doc-versions-by-id': restoreVersion,\n duplicate,\n 'first-register': registerFirstUser,\n 'forgot-password': forgotPassword,\n login,\n logout,\n 'refresh-token': refresh,\n 'reset-password': resetPassword,\n unlock,\n },\n },\n global: {\n GET: {\n 'doc-access': docAccessGlobal,\n 'doc-versions': findVersionsGlobal,\n 'doc-versions-by-id': findVersionByIdGlobal,\n findOne,\n preview: previewGlobal,\n },\n POST: {\n 'doc-access': docAccessGlobal,\n 'doc-versions-by-id': restoreVersionGlobal,\n update: updateGlobal,\n },\n },\n root: {\n GET: {\n access,\n og: generateOGImage,\n },\n POST: {\n 'form-state': buildFormState,\n },\n },\n}\n\nconst handleCustomEndpoints = async ({\n endpoints,\n entitySlug,\n req,\n}: {\n endpoints: Endpoint[] | GlobalConfig['endpoints']\n entitySlug?: string\n req: PayloadRequest\n}): Promise<Response> => {\n if (endpoints && endpoints.length > 0) {\n let handlerParams = {}\n const { pathname } = req\n\n /*\n * This makes sure the next.js basePath property is supported. If basePath is used, payload config.routes.api should include it. This makes all outgoing frontend request\n * target the correct API endpoint starting with basePath, which is good!\n *\n * The incoming request (here) will not include the basePath though, as it's automatically stripped by Next.js. Since we are adding the basePath to the pathPrefix below though\n * (from req.payload.config.routes.api) we need to add it to pathname, which does not contain the basePath. Otherwise, no endpoint will be matched if basePath is set.\n */\n let adjustedPathname = pathname\n\n if (process.env.NEXT_BASE_PATH) {\n adjustedPathname = process.env.NEXT_BASE_PATH + pathname\n }\n\n const pathPrefix = req.payload.config.routes.api + (entitySlug ? `/${entitySlug}` : '')\n\n const customEndpoint = endpoints.find((endpoint) => {\n if (endpoint.method === req.method.toLowerCase()) {\n const pathMatchFn = match(`${pathPrefix}${endpoint.path}`, {\n decode: decodeURIComponent,\n })\n\n const tempParams = pathMatchFn(adjustedPathname)\n if (tempParams) {\n handlerParams = tempParams.params\n return true\n }\n }\n })\n\n if (customEndpoint) {\n req.routeParams = {\n ...req.routeParams,\n ...handlerParams,\n }\n const res = await customEndpoint.handler(req)\n\n if (res instanceof Response) {\n if (req.responseHeaders) {\n const mergedResponse = new Response(res.body, {\n headers: mergeHeaders(req.responseHeaders, res.headers),\n status: res.status,\n statusText: res.statusText,\n })\n\n return mergedResponse\n }\n\n return res\n }\n }\n }\n\n return null\n}\n\nconst RouteNotFoundResponse = ({ slug, req }: { req: PayloadRequest; slug: string[] }) =>\n Response.json(\n {\n message: `Route Not Found: \"${slug.join('/')}\"`,\n },\n {\n headers: headersWithCors({\n headers: new Headers(),\n req,\n }),\n status: httpStatus.NOT_FOUND,\n },\n )\n\nexport const OPTIONS =\n (config: Promise<SanitizedConfig> | SanitizedConfig) => async (request: Request) => {\n let req: PayloadRequest\n\n try {\n req = await createPayloadRequest({\n config,\n request,\n })\n\n return Response.json(\n {},\n {\n headers: headersWithCors({\n headers: new Headers(),\n req,\n }),\n status: 200,\n },\n )\n } catch (error) {\n return routeError({\n config,\n err: error,\n req: req || request,\n })\n }\n }\n\nexport const GET =\n (config: Promise<SanitizedConfig> | SanitizedConfig) =>\n async (request: Request, { params: { slug } }: { params: { slug: string[] } }) => {\n const [slug1, slug2, slug3, slug4] = slug\n let req: PayloadRequest\n let res: Response\n let collection: Collection\n\n try {\n req = await createPayloadRequest({\n config,\n request,\n })\n\n const disableEndpoints = endpointsAreDisabled({\n endpoints: req.payload.config.endpoints,\n request,\n })\n\n if (disableEndpoints) return disableEndpoints\n\n collection = req.payload.collections?.[slug1]\n\n if (collection) {\n req.routeParams.collection = slug1\n const disableEndpoints = endpointsAreDisabled({\n endpoints: collection.config.endpoints,\n request,\n })\n if (disableEndpoints) return disableEndpoints\n\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: collection.config.endpoints,\n entitySlug: slug1,\n req,\n })\n\n if (customEndpointResponse) {\n return customEndpointResponse\n } else {\n await addDataAndFileToRequest(req)\n addLocalesToRequestFromData(req)\n\n switch (slug.length) {\n case 1:\n // /:collection\n res = await endpoints.collection.GET.find({ collection, req })\n break\n case 2:\n if (slug2 in endpoints.collection.GET) {\n // /:collection/init\n // /:collection/me\n // /:collection/versions\n // /:collection/count\n res = await (endpoints.collection.GET[slug2] as CollectionRouteHandler)({\n collection,\n req,\n })\n } else {\n // /:collection/:id\n res = await endpoints.collection.GET.findByID({\n id: slug2,\n collection,\n req,\n })\n }\n break\n case 3:\n if (slug2 === 'file') {\n // /:collection/file/:filename\n res = await endpoints.collection.GET.getFile({\n collection,\n filename: slug3,\n req,\n })\n } else if (slug3 in endpoints.collection.GET) {\n // /:collection/:id/preview\n res = await (endpoints.collection.GET[slug3] as CollectionRouteHandlerWithID)({\n id: slug2,\n collection,\n req,\n })\n } else if (`doc-${slug2}-by-id` in endpoints.collection.GET) {\n // /:collection/access/:id\n // /:collection/versions/:id\n res = await (\n endpoints.collection.GET[`doc-${slug2}-by-id`] as CollectionRouteHandlerWithID\n )({ id: slug3, collection, req })\n }\n break\n }\n }\n } else if (slug1 === 'globals') {\n const globalConfig = req.payload.config.globals.find((global) => global.slug === slug2)\n req.routeParams.global = globalConfig.slug\n\n const disableEndpoints = endpointsAreDisabled({\n endpoints: globalConfig.endpoints,\n request,\n })\n if (disableEndpoints) return disableEndpoints\n\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: globalConfig.endpoints,\n entitySlug: `${slug1}/${slug2}`,\n req,\n })\n\n if (customEndpointResponse) {\n return customEndpointResponse\n } else {\n await addDataAndFileToRequest(req)\n addLocalesToRequestFromData(req)\n\n switch (slug.length) {\n case 2:\n // /globals/:slug\n res = await endpoints.global.GET.findOne({ globalConfig, req })\n break\n case 3:\n if (slug3 in endpoints.global.GET) {\n // /globals/:slug/preview\n res = await (endpoints.global.GET[slug3] as GlobalRouteHandler)({\n globalConfig,\n req,\n })\n } else if (`doc-${slug3}` in endpoints.global.GET) {\n // /globals/:slug/access\n // /globals/:slug/versions\n // /globals/:slug/preview\n res = await (endpoints.global.GET?.[`doc-${slug3}`] as GlobalRouteHandler)({\n globalConfig,\n req,\n })\n }\n break\n case 4:\n if (`doc-${slug3}-by-id` in endpoints.global.GET) {\n // /globals/:slug/versions/:id\n res = await (\n endpoints.global.GET?.[`doc-${slug3}-by-id`] as GlobalRouteHandlerWithID\n )({\n id: slug4,\n globalConfig,\n req,\n })\n }\n break\n }\n }\n } else if (slug.length === 1 && slug1 in endpoints.root.GET) {\n await addDataAndFileToRequest(req)\n addLocalesToRequestFromData(req)\n res = await endpoints.root.GET[slug1]({ req })\n }\n\n if (res instanceof Response) {\n if (req.responseHeaders) {\n const mergedResponse = new Response(res.body, {\n headers: mergeHeaders(req.responseHeaders, res.headers),\n status: res.status,\n statusText: res.statusText,\n })\n\n return mergedResponse\n }\n\n return res\n }\n\n // root routes\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: req.payload.config.endpoints,\n req,\n })\n\n if (customEndpointResponse) return customEndpointResponse\n\n return RouteNotFoundResponse({\n slug,\n req,\n })\n } catch (error) {\n return routeError({\n collection,\n config,\n err: error,\n req: req || request,\n })\n }\n }\n\nexport const POST =\n (config: Promise<SanitizedConfig> | SanitizedConfig) =>\n async (request: Request, { params: { slug } }: { params: { slug: string[] } }) => {\n const [slug1, slug2, slug3, slug4] = slug\n let req: PayloadRequest\n let res: Response\n let collection: Collection\n\n const overrideHttpMethod = request.headers.get('X-HTTP-Method-Override')\n if (overrideHttpMethod === 'GET') {\n return await GET(config)(request, { params: { slug } })\n }\n\n try {\n req = await createPayloadRequest({\n config,\n request,\n })\n\n collection = req.payload.collections?.[slug1]\n\n const disableEndpoints = endpointsAreDisabled({\n endpoints: req.payload.config.endpoints,\n request,\n })\n\n if (disableEndpoints) return disableEndpoints\n\n if (collection) {\n req.routeParams.collection = slug1\n const disableEndpoints = endpointsAreDisabled({\n endpoints: collection.config.endpoints,\n request,\n })\n if (disableEndpoints) return disableEndpoints\n\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: collection.config.endpoints,\n entitySlug: slug1,\n req,\n })\n\n if (customEndpointResponse) {\n return customEndpointResponse\n } else {\n await addDataAndFileToRequest(req)\n addLocalesToRequestFromData(req)\n\n switch (slug.length) {\n case 1:\n // /:collection\n res = await endpoints.collection.POST.create({ collection, req })\n break\n case 2:\n if (slug2 in endpoints.collection.POST) {\n // /:collection/login\n // /:collection/logout\n // /:collection/unlock\n // /:collection/access\n // /:collection/first-register\n // /:collection/forgot-password\n // /:collection/reset-password\n // /:collection/refresh-token\n\n res = await (endpoints.collection.POST?.[slug2] as CollectionRouteHandler)({\n collection,\n req,\n })\n }\n break\n case 3:\n if (`doc-${slug2}-by-id` in endpoints.collection.POST) {\n // /:collection/access/:id\n // /:collection/versions/:id\n // /:collection/verify/:token (\"doc-verify-by-id\" uses id as token internally)\n res = await (\n endpoints.collection.POST[`doc-${slug2}-by-id`] as CollectionRouteHandlerWithID\n )({ id: slug3, collection, req })\n } else if (slug3 === 'duplicate' && collection.config.disableDuplicate !== true) {\n // /:collection/:id/duplicate\n res = await endpoints.collection.POST.duplicate({\n id: slug2,\n collection,\n req,\n })\n }\n break\n }\n }\n } else if (slug1 === 'globals' && slug2) {\n const globalConfig = req.payload.config.globals.find((global) => global.slug === slug2)\n req.routeParams.global = globalConfig.slug\n\n const disableEndpoints = endpointsAreDisabled({\n endpoints: globalConfig.endpoints,\n request,\n })\n if (disableEndpoints) return disableEndpoints\n\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: globalConfig.endpoints,\n entitySlug: `${slug1}/${slug2}`,\n req,\n })\n\n if (customEndpointResponse) {\n return customEndpointResponse\n } else {\n await addDataAndFileToRequest(req)\n addLocalesToRequestFromData(req)\n switch (slug.length) {\n case 2:\n // /globals/:slug\n res = await endpoints.global.POST.update({ globalConfig, req })\n break\n case 3:\n if (`doc-${slug3}` in endpoints.global.POST) {\n // /globals/:slug/access\n res = await (endpoints.global.POST?.[`doc-${slug3}`] as GlobalRouteHandler)({\n globalConfig,\n req,\n })\n }\n break\n case 4:\n if (`doc-${slug3}-by-id` in endpoints.global.POST) {\n // /globals/:slug/versions/:id\n res = await (\n endpoints.global.POST?.[`doc-${slug3}-by-id`] as GlobalRouteHandlerWithID\n )({\n id: slug4,\n globalConfig,\n req,\n })\n }\n break\n default:\n res = new Response('Route Not Found', { status: 404 })\n }\n }\n } else if (slug.length === 1 && slug1 in endpoints.root.POST) {\n await addDataAndFileToRequest(req)\n addLocalesToRequestFromData(req)\n res = await endpoints.root.POST[slug1]({ req })\n }\n\n if (res instanceof Response) {\n if (req.responseHeaders) {\n const mergedResponse = new Response(res.body, {\n headers: mergeHeaders(req.responseHeaders, res.headers),\n status: res.status,\n statusText: res.statusText,\n })\n\n return mergedResponse\n }\n\n return res\n }\n\n // root routes\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: req.payload.config.endpoints,\n req,\n })\n\n if (customEndpointResponse) return customEndpointResponse\n\n return RouteNotFoundResponse({\n slug,\n req,\n })\n } catch (error) {\n return routeError({\n collection,\n config,\n err: error,\n req: req || request,\n })\n }\n }\n\nexport const DELETE =\n (config: Promise<SanitizedConfig> | SanitizedConfig) =>\n async (request: Request, { params: { slug } }: { params: { slug: string[] } }) => {\n const [slug1, slug2] = slug\n let req: PayloadRequest\n let res: Response\n let collection: Collection\n\n try {\n req = await createPayloadRequest({\n config,\n request,\n })\n collection = req.payload.collections?.[slug1]\n\n const disableEndpoints = endpointsAreDisabled({\n endpoints: req.payload.config.endpoints,\n request,\n })\n if (disableEndpoints) return disableEndpoints\n\n if (collection) {\n req.routeParams.collection = slug1\n\n const disableEndpoints = endpointsAreDisabled({\n endpoints: collection.config.endpoints,\n request,\n })\n if (disableEndpoints) return disableEndpoints\n\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: collection.config.endpoints,\n entitySlug: slug1,\n req,\n })\n if (customEndpointResponse) {\n return customEndpointResponse\n } else {\n await addDataAndFileToRequest(req)\n addLocalesToRequestFromData(req)\n\n switch (slug.length) {\n case 1:\n // /:collection\n res = await endpoints.collection.DELETE.delete({ collection, req })\n break\n case 2:\n // /:collection/:id\n res = await endpoints.collection.DELETE.deleteByID({\n id: slug2,\n collection,\n req,\n })\n break\n }\n }\n }\n\n if (res instanceof Response) {\n if (req.responseHeaders) {\n const mergedResponse = new Response(res.body, {\n headers: mergeHeaders(req.responseHeaders, res.headers),\n status: res.status,\n statusText: res.statusText,\n })\n\n return mergedResponse\n }\n\n return res\n }\n\n // root routes\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: req.payload.config.endpoints,\n req,\n })\n\n if (customEndpointResponse) return customEndpointResponse\n\n return RouteNotFoundResponse({\n slug,\n req,\n })\n } catch (error) {\n return routeError({\n collection,\n config,\n err: error,\n req: req || request,\n })\n }\n }\n\nexport const PATCH =\n (config: Promise<SanitizedConfig> | SanitizedConfig) =>\n async (request: Request, { params: { slug } }: { params: { slug: string[] } }) => {\n const [slug1, slug2] = slug\n let req: PayloadRequest\n let res: Response\n let collection: Collection\n\n try {\n req = await createPayloadRequest({\n config,\n request,\n })\n collection = req.payload.collections?.[slug1]\n\n const disableEndpoints = endpointsAreDisabled({\n endpoints: req.payload.config.endpoints,\n request,\n })\n if (disableEndpoints) return disableEndpoints\n\n if (collection) {\n req.routeParams.collection = slug1\n\n const disableEndpoints = endpointsAreDisabled({\n endpoints: collection.config.endpoints,\n request,\n })\n if (disableEndpoints) return disableEndpoints\n\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: collection.config.endpoints,\n entitySlug: slug1,\n req,\n })\n\n if (customEndpointResponse) {\n return customEndpointResponse\n } else {\n await addDataAndFileToRequest(req)\n addLocalesToRequestFromData(req)\n\n switch (slug.length) {\n case 1:\n // /:collection\n res = await endpoints.collection.PATCH.update({ collection, req })\n break\n case 2:\n // /:collection/:id\n res = await endpoints.collection.PATCH.updateByID({\n id: slug2,\n collection,\n req,\n })\n break\n }\n }\n }\n\n if (res instanceof Response) {\n if (req.responseHeaders) {\n const mergedResponse = new Response(res.body, {\n headers: mergeHeaders(req.responseHeaders, res.headers),\n status: res.status,\n statusText: res.statusText,\n })\n\n return mergedResponse\n }\n\n return res\n }\n\n // root routes\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: req.payload.config.endpoints,\n req,\n })\n\n if (customEndpointResponse) return customEndpointResponse\n\n return RouteNotFoundResponse({\n slug,\n req,\n })\n } catch (error) {\n return routeError({\n collection,\n config,\n err: error,\n req: req || request,\n })\n }\n }\n"],"mappings":"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","ignoreList":[]}
@@ -1,83 +1,81 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { RenderComponent } from '@payloadcms/ui/shared';
3
3
  import React from 'react';
4
- export const OGImage = ({ Icon, description, fontFamily = 'Arial, sans-serif', leader, title })=>{
5
- return /*#__PURE__*/ _jsxs("div", {
4
+ export const OGImage = ({
5
+ Icon,
6
+ description,
7
+ fontFamily = 'Arial, sans-serif',
8
+ leader,
9
+ title
10
+ }) => {
11
+ return /*#__PURE__*/_jsxs("div", {
12
+ style: {
13
+ backgroundColor: '#000',
14
+ color: '#fff',
15
+ display: 'flex',
16
+ flexDirection: 'column',
17
+ fontFamily,
18
+ height: '100%',
19
+ justifyContent: 'space-between',
20
+ padding: '100px',
21
+ width: '100%'
22
+ },
23
+ children: [/*#__PURE__*/_jsxs("div", {
24
+ style: {
25
+ display: 'flex',
26
+ flexDirection: 'column',
27
+ flexGrow: 1,
28
+ fontSize: 50,
29
+ height: '100%'
30
+ },
31
+ children: [leader && /*#__PURE__*/_jsx("div", {
6
32
  style: {
7
- backgroundColor: '#000',
8
- color: '#fff',
9
- display: 'flex',
10
- flexDirection: 'column',
11
- fontFamily,
12
- height: '100%',
13
- justifyContent: 'space-between',
14
- padding: '100px',
15
- width: '100%'
33
+ fontSize: 30,
34
+ marginBottom: 10
16
35
  },
17
- children: [
18
- /*#__PURE__*/ _jsxs("div", {
19
- style: {
20
- display: 'flex',
21
- flexDirection: 'column',
22
- flexGrow: 1,
23
- fontSize: 50,
24
- height: '100%'
25
- },
26
- children: [
27
- leader && /*#__PURE__*/ _jsx("div", {
28
- style: {
29
- fontSize: 30,
30
- marginBottom: 10
31
- },
32
- children: leader
33
- }),
34
- /*#__PURE__*/ _jsx("p", {
35
- style: {
36
- WebkitBoxOrient: 'vertical',
37
- WebkitLineClamp: 2,
38
- display: '-webkit-box',
39
- fontSize: 90,
40
- lineHeight: 1,
41
- marginBottom: 0,
42
- marginTop: 0,
43
- textOverflow: 'ellipsis'
44
- },
45
- children: title
46
- }),
47
- description && /*#__PURE__*/ _jsx("p", {
48
- style: {
49
- WebkitBoxOrient: 'vertical',
50
- WebkitLineClamp: 2,
51
- display: '-webkit-box',
52
- flexGrow: 1,
53
- fontSize: 30,
54
- lineHeight: 1,
55
- marginBottom: 0,
56
- marginTop: 40,
57
- textOverflow: 'ellipsis'
58
- },
59
- children: description
60
- })
61
- ]
62
- }),
63
- /*#__PURE__*/ _jsx("div", {
64
- style: {
65
- alignItems: 'flex-end',
66
- display: 'flex',
67
- flexShrink: 0,
68
- height: '38px',
69
- justifyContent: 'center',
70
- width: '38px'
71
- },
72
- children: /*#__PURE__*/ _jsx(RenderComponent, {
73
- clientProps: {
74
- fill: 'white'
75
- },
76
- mappedComponent: Icon
77
- })
78
- })
79
- ]
80
- });
36
+ children: leader
37
+ }), /*#__PURE__*/_jsx("p", {
38
+ style: {
39
+ WebkitBoxOrient: 'vertical',
40
+ WebkitLineClamp: 2,
41
+ display: '-webkit-box',
42
+ fontSize: 90,
43
+ lineHeight: 1,
44
+ marginBottom: 0,
45
+ marginTop: 0,
46
+ textOverflow: 'ellipsis'
47
+ },
48
+ children: title
49
+ }), description && /*#__PURE__*/_jsx("p", {
50
+ style: {
51
+ WebkitBoxOrient: 'vertical',
52
+ WebkitLineClamp: 2,
53
+ display: '-webkit-box',
54
+ flexGrow: 1,
55
+ fontSize: 30,
56
+ lineHeight: 1,
57
+ marginBottom: 0,
58
+ marginTop: 40,
59
+ textOverflow: 'ellipsis'
60
+ },
61
+ children: description
62
+ })]
63
+ }), /*#__PURE__*/_jsx("div", {
64
+ style: {
65
+ alignItems: 'flex-end',
66
+ display: 'flex',
67
+ flexShrink: 0,
68
+ height: '38px',
69
+ justifyContent: 'center',
70
+ width: '38px'
71
+ },
72
+ children: /*#__PURE__*/_jsx(RenderComponent, {
73
+ clientProps: {
74
+ fill: 'white'
75
+ },
76
+ mappedComponent: Icon
77
+ })
78
+ })]
79
+ });
81
80
  };
82
-
83
81
  //# sourceMappingURL=image.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/routes/rest/og/image.tsx"],"sourcesContent":["import type { MappedComponent } from 'payload'\n\nimport { RenderComponent } from '@payloadcms/ui/shared'\nimport React from 'react'\n\nexport const OGImage: React.FC<{\n Icon: MappedComponent\n description?: string\n fontFamily?: string\n leader?: string\n title?: string\n}> = ({ Icon, description, fontFamily = 'Arial, sans-serif', leader, title }) => {\n return (\n <div\n style={{\n backgroundColor: '#000',\n color: '#fff',\n display: 'flex',\n flexDirection: 'column',\n fontFamily,\n height: '100%',\n justifyContent: 'space-between',\n padding: '100px',\n width: '100%',\n }}\n >\n <div\n style={{\n display: 'flex',\n flexDirection: 'column',\n flexGrow: 1,\n fontSize: 50,\n height: '100%',\n }}\n >\n {leader && (\n <div\n style={{\n fontSize: 30,\n marginBottom: 10,\n }}\n >\n {leader}\n </div>\n )}\n <p\n style={{\n WebkitBoxOrient: 'vertical',\n WebkitLineClamp: 2,\n display: '-webkit-box',\n fontSize: 90,\n lineHeight: 1,\n marginBottom: 0,\n marginTop: 0,\n textOverflow: 'ellipsis',\n }}\n >\n {title}\n </p>\n {description && (\n <p\n style={{\n WebkitBoxOrient: 'vertical',\n WebkitLineClamp: 2,\n display: '-webkit-box',\n flexGrow: 1,\n fontSize: 30,\n lineHeight: 1,\n marginBottom: 0,\n marginTop: 40,\n textOverflow: 'ellipsis',\n }}\n >\n {description}\n </p>\n )}\n </div>\n <div\n style={{\n alignItems: 'flex-end',\n display: 'flex',\n flexShrink: 0,\n height: '38px',\n justifyContent: 'center',\n width: '38px',\n }}\n >\n <RenderComponent\n clientProps={{\n fill: 'white',\n }}\n mappedComponent={Icon}\n />\n </div>\n </div>\n )\n}\n"],"names":["RenderComponent","React","OGImage","Icon","description","fontFamily","leader","title","div","style","backgroundColor","color","display","flexDirection","height","justifyContent","padding","width","flexGrow","fontSize","marginBottom","p","WebkitBoxOrient","WebkitLineClamp","lineHeight","marginTop","textOverflow","alignItems","flexShrink","clientProps","fill","mappedComponent"],"mappings":";AAEA,SAASA,eAAe,QAAQ,wBAAuB;AACvD,OAAOC,WAAW,QAAO;AAEzB,OAAO,MAAMC,UAMR,CAAC,EAAEC,IAAI,EAAEC,WAAW,EAAEC,aAAa,mBAAmB,EAAEC,MAAM,EAAEC,KAAK,EAAE;IAC1E,qBACE,MAACC;QACCC,OAAO;YACLC,iBAAiB;YACjBC,OAAO;YACPC,SAAS;YACTC,eAAe;YACfR;YACAS,QAAQ;YACRC,gBAAgB;YAChBC,SAAS;YACTC,OAAO;QACT;;0BAEA,MAACT;gBACCC,OAAO;oBACLG,SAAS;oBACTC,eAAe;oBACfK,UAAU;oBACVC,UAAU;oBACVL,QAAQ;gBACV;;oBAECR,wBACC,KAACE;wBACCC,OAAO;4BACLU,UAAU;4BACVC,cAAc;wBAChB;kCAECd;;kCAGL,KAACe;wBACCZ,OAAO;4BACLa,iBAAiB;4BACjBC,iBAAiB;4BACjBX,SAAS;4BACTO,UAAU;4BACVK,YAAY;4BACZJ,cAAc;4BACdK,WAAW;4BACXC,cAAc;wBAChB;kCAECnB;;oBAEFH,6BACC,KAACiB;wBACCZ,OAAO;4BACLa,iBAAiB;4BACjBC,iBAAiB;4BACjBX,SAAS;4BACTM,UAAU;4BACVC,UAAU;4BACVK,YAAY;4BACZJ,cAAc;4BACdK,WAAW;4BACXC,cAAc;wBAChB;kCAECtB;;;;0BAIP,KAACI;gBACCC,OAAO;oBACLkB,YAAY;oBACZf,SAAS;oBACTgB,YAAY;oBACZd,QAAQ;oBACRC,gBAAgB;oBAChBE,OAAO;gBACT;0BAEA,cAAA,KAACjB;oBACC6B,aAAa;wBACXC,MAAM;oBACR;oBACAC,iBAAiB5B;;;;;AAK3B,EAAC"}
1
+ {"version":3,"file":"image.js","names":["RenderComponent","React","OGImage","Icon","description","fontFamily","leader","title","_jsxs","style","backgroundColor","color","display","flexDirection","height","justifyContent","padding","width","flexGrow","fontSize","_jsx","marginBottom","WebkitBoxOrient","WebkitLineClamp","lineHeight","marginTop","textOverflow","alignItems","flexShrink","clientProps","fill","mappedComponent"],"sources":["../../../../src/routes/rest/og/image.tsx"],"sourcesContent":["import type { MappedComponent } from 'payload'\n\nimport { RenderComponent } from '@payloadcms/ui/shared'\nimport React from 'react'\n\nexport const OGImage: React.FC<{\n Icon: MappedComponent\n description?: string\n fontFamily?: string\n leader?: string\n title?: string\n}> = ({ Icon, description, fontFamily = 'Arial, sans-serif', leader, title }) => {\n return (\n <div\n style={{\n backgroundColor: '#000',\n color: '#fff',\n display: 'flex',\n flexDirection: 'column',\n fontFamily,\n height: '100%',\n justifyContent: 'space-between',\n padding: '100px',\n width: '100%',\n }}\n >\n <div\n style={{\n display: 'flex',\n flexDirection: 'column',\n flexGrow: 1,\n fontSize: 50,\n height: '100%',\n }}\n >\n {leader && (\n <div\n style={{\n fontSize: 30,\n marginBottom: 10,\n }}\n >\n {leader}\n </div>\n )}\n <p\n style={{\n WebkitBoxOrient: 'vertical',\n WebkitLineClamp: 2,\n display: '-webkit-box',\n fontSize: 90,\n lineHeight: 1,\n marginBottom: 0,\n marginTop: 0,\n textOverflow: 'ellipsis',\n }}\n >\n {title}\n </p>\n {description && (\n <p\n style={{\n WebkitBoxOrient: 'vertical',\n WebkitLineClamp: 2,\n display: '-webkit-box',\n flexGrow: 1,\n fontSize: 30,\n lineHeight: 1,\n marginBottom: 0,\n marginTop: 40,\n textOverflow: 'ellipsis',\n }}\n >\n {description}\n </p>\n )}\n </div>\n <div\n style={{\n alignItems: 'flex-end',\n display: 'flex',\n flexShrink: 0,\n height: '38px',\n justifyContent: 'center',\n width: '38px',\n }}\n >\n <RenderComponent\n clientProps={{\n fill: 'white',\n }}\n mappedComponent={Icon}\n />\n </div>\n </div>\n )\n}\n"],"mappings":";AAEA,SAASA,eAAe,QAAQ;AAChC,OAAOC,KAAA,MAAW;AAElB,OAAO,MAAMC,OAAA,GAMRA,CAAC;EAAEC,IAAI;EAAEC,WAAW;EAAEC,UAAA,GAAa,mBAAmB;EAAEC,MAAM;EAAEC;AAAK,CAAE;EAC1E,oBACEC,KAAA,CAAC;IACCC,KAAA,EAAO;MACLC,eAAA,EAAiB;MACjBC,KAAA,EAAO;MACPC,OAAA,EAAS;MACTC,aAAA,EAAe;MACfR,UAAA;MACAS,MAAA,EAAQ;MACRC,cAAA,EAAgB;MAChBC,OAAA,EAAS;MACTC,KAAA,EAAO;IACT;4BAEAT,KAAA,CAAC;MACCC,KAAA,EAAO;QACLG,OAAA,EAAS;QACTC,aAAA,EAAe;QACfK,QAAA,EAAU;QACVC,QAAA,EAAU;QACVL,MAAA,EAAQ;MACV;iBAECR,MAAA,iBACCc,IAAA,CAAC;QACCX,KAAA,EAAO;UACLU,QAAA,EAAU;UACVE,YAAA,EAAc;QAChB;kBAECf;uBAGLc,IAAA,CAAC;QACCX,KAAA,EAAO;UACLa,eAAA,EAAiB;UACjBC,eAAA,EAAiB;UACjBX,OAAA,EAAS;UACTO,QAAA,EAAU;UACVK,UAAA,EAAY;UACZH,YAAA,EAAc;UACdI,SAAA,EAAW;UACXC,YAAA,EAAc;QAChB;kBAECnB;UAEFH,WAAA,iBACCgB,IAAA,CAAC;QACCX,KAAA,EAAO;UACLa,eAAA,EAAiB;UACjBC,eAAA,EAAiB;UACjBX,OAAA,EAAS;UACTM,QAAA,EAAU;UACVC,QAAA,EAAU;UACVK,UAAA,EAAY;UACZH,YAAA,EAAc;UACdI,SAAA,EAAW;UACXC,YAAA,EAAc;QAChB;kBAECtB;;qBAIPgB,IAAA,CAAC;MACCX,KAAA,EAAO;QACLkB,UAAA,EAAY;QACZf,OAAA,EAAS;QACTgB,UAAA,EAAY;QACZd,MAAA,EAAQ;QACRC,cAAA,EAAgB;QAChBE,KAAA,EAAO;MACT;gBAEA,aAAAG,IAAA,CAACpB,eAAA;QACC6B,WAAA,EAAa;UACXC,IAAA,EAAM;QACR;QACAC,eAAA,EAAiB5B;;;;AAK3B","ignoreList":[]}
@@ -11,67 +11,68 @@ const filename = fileURLToPath(import.meta.url);
11
11
  const dirname = path.dirname(filename);
12
12
  export const runtime = 'nodejs';
13
13
  export const contentType = 'image/png';
14
- export const generateOGImage = async ({ req })=>{
15
- const config = req.payload.config;
16
- if (config.admin.meta.defaultOGImageType === 'off') {
17
- return NextResponse.json({
18
- error: `Open Graph images are disabled`
19
- }, {
20
- status: 400
21
- });
22
- }
14
+ export const generateOGImage = async ({
15
+ req
16
+ }) => {
17
+ const config = req.payload.config;
18
+ if (config.admin.meta.defaultOGImageType === 'off') {
19
+ return NextResponse.json({
20
+ error: `Open Graph images are disabled`
21
+ }, {
22
+ status: 400
23
+ });
24
+ }
25
+ try {
26
+ const {
27
+ searchParams
28
+ } = new URL(req.url);
29
+ const hasTitle = searchParams.has('title');
30
+ const title = hasTitle ? searchParams.get('title')?.slice(0, 100) : '';
31
+ const hasLeader = searchParams.has('leader');
32
+ const leader = hasLeader ? searchParams.get('leader')?.slice(0, 100).replace('-', ' ') : '';
33
+ const description = searchParams.has('description') ? searchParams.get('description') : '';
34
+ const createMappedComponent = getCreateMappedComponent({
35
+ importMap: req.payload.importMap,
36
+ serverProps: {}
37
+ });
38
+ const mappedIcon = createMappedComponent(config.admin?.components?.graphics?.Icon, undefined, PayloadIcon, 'config.admin.components.graphics.Icon');
39
+ let fontData;
23
40
  try {
24
- const { searchParams } = new URL(req.url);
25
- const hasTitle = searchParams.has('title');
26
- const title = hasTitle ? searchParams.get('title')?.slice(0, 100) : '';
27
- const hasLeader = searchParams.has('leader');
28
- const leader = hasLeader ? searchParams.get('leader')?.slice(0, 100).replace('-', ' ') : '';
29
- const description = searchParams.has('description') ? searchParams.get('description') : '';
30
- const createMappedComponent = getCreateMappedComponent({
31
- importMap: req.payload.importMap,
32
- serverProps: {}
33
- });
34
- const mappedIcon = createMappedComponent(config.admin?.components?.graphics?.Icon, undefined, PayloadIcon, 'config.admin.components.graphics.Icon');
35
- let fontData;
36
- try {
37
- // TODO: replace with `.woff2` file when supported
38
- // See https://github.com/vercel/next.js/issues/63935
39
- // Or better yet, use a CDN like Google Fonts if ever supported
40
- fontData = fs.readFile(path.join(dirname, 'roboto-regular.woff'));
41
- } catch (e) {
42
- console.error(`Error reading font file or not readable: ${e.message}`) // eslint-disable-line no-console
43
- ;
44
- }
45
- const fontFamily = 'Roboto, sans-serif';
46
- return new ImageResponse(/*#__PURE__*/ _jsx(OGImage, {
47
- Icon: mappedIcon,
48
- description: description,
49
- fontFamily: fontFamily,
50
- leader: leader,
51
- title: title
52
- }), {
53
- ...fontData ? {
54
- fonts: [
55
- {
56
- name: 'Roboto',
57
- data: await fontData,
58
- style: 'normal',
59
- weight: 400
60
- }
61
- ]
62
- } : {},
63
- height: 630,
64
- width: 1200
65
- });
41
+ // TODO: replace with `.woff2` file when supported
42
+ // See https://github.com/vercel/next.js/issues/63935
43
+ // Or better yet, use a CDN like Google Fonts if ever supported
44
+ fontData = fs.readFile(path.join(dirname, 'roboto-regular.woff'));
66
45
  } catch (e) {
67
- console.error(`${e.message}`) // eslint-disable-line no-console
68
- ;
69
- return NextResponse.json({
70
- error: `Internal Server Error: ${e.message}`
71
- }, {
72
- status: 500
73
- });
46
+ console.error(`Error reading font file or not readable: ${e.message}`) // eslint-disable-line no-console
47
+ ;
74
48
  }
49
+ const fontFamily = 'Roboto, sans-serif';
50
+ return new ImageResponse( /*#__PURE__*/_jsx(OGImage, {
51
+ Icon: mappedIcon,
52
+ description: description,
53
+ fontFamily: fontFamily,
54
+ leader: leader,
55
+ title: title
56
+ }), {
57
+ ...(fontData ? {
58
+ fonts: [{
59
+ name: 'Roboto',
60
+ data: await fontData,
61
+ style: 'normal',
62
+ weight: 400
63
+ }]
64
+ } : {}),
65
+ height: 630,
66
+ width: 1200
67
+ });
68
+ } catch (e) {
69
+ console.error(`${e.message}`) // eslint-disable-line no-console
70
+ ;
71
+ return NextResponse.json({
72
+ error: `Internal Server Error: ${e.message}`
73
+ }, {
74
+ status: 500
75
+ });
76
+ }
75
77
  };
76
-
77
78
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/routes/rest/og/index.tsx"],"sourcesContent":["import type { PayloadRequest } from 'payload'\n\nimport { PayloadIcon, getCreateMappedComponent } from '@payloadcms/ui/shared'\nimport fs from 'fs/promises'\nimport { ImageResponse } from 'next/og.js'\nimport { NextResponse } from 'next/server.js'\nimport path from 'path'\nimport React from 'react'\nimport { fileURLToPath } from 'url'\n\nimport { OGImage } from './image.js'\n\nconst filename = fileURLToPath(import.meta.url)\nconst dirname = path.dirname(filename)\n\nexport const runtime = 'nodejs'\n\nexport const contentType = 'image/png'\n\nexport const generateOGImage = async ({ req }: { req: PayloadRequest }) => {\n const config = req.payload.config\n\n if (config.admin.meta.defaultOGImageType === 'off') {\n return NextResponse.json({ error: `Open Graph images are disabled` }, { status: 400 })\n }\n\n try {\n const { searchParams } = new URL(req.url)\n\n const hasTitle = searchParams.has('title')\n const title = hasTitle ? searchParams.get('title')?.slice(0, 100) : ''\n const hasLeader = searchParams.has('leader')\n const leader = hasLeader ? searchParams.get('leader')?.slice(0, 100).replace('-', ' ') : ''\n const description = searchParams.has('description') ? searchParams.get('description') : ''\n\n const createMappedComponent = getCreateMappedComponent({\n importMap: req.payload.importMap,\n serverProps: {},\n })\n\n const mappedIcon = createMappedComponent(\n config.admin?.components?.graphics?.Icon,\n undefined,\n PayloadIcon,\n 'config.admin.components.graphics.Icon',\n )\n\n let fontData\n\n try {\n // TODO: replace with `.woff2` file when supported\n // See https://github.com/vercel/next.js/issues/63935\n // Or better yet, use a CDN like Google Fonts if ever supported\n fontData = fs.readFile(path.join(dirname, 'roboto-regular.woff'))\n } catch (e) {\n console.error(`Error reading font file or not readable: ${e.message}`) // eslint-disable-line no-console\n }\n\n const fontFamily = 'Roboto, sans-serif'\n\n return new ImageResponse(\n (\n <OGImage\n Icon={mappedIcon}\n description={description}\n fontFamily={fontFamily}\n leader={leader}\n title={title}\n />\n ),\n {\n ...(fontData\n ? {\n fonts: [\n {\n name: 'Roboto',\n data: await fontData,\n style: 'normal',\n weight: 400,\n },\n ],\n }\n : {}),\n height: 630,\n width: 1200,\n },\n )\n } catch (e: any) {\n console.error(`${e.message}`) // eslint-disable-line no-console\n return NextResponse.json({ error: `Internal Server Error: ${e.message}` }, { status: 500 })\n }\n}\n"],"names":["PayloadIcon","getCreateMappedComponent","fs","ImageResponse","NextResponse","path","React","fileURLToPath","OGImage","filename","url","dirname","runtime","contentType","generateOGImage","req","config","payload","admin","meta","defaultOGImageType","json","error","status","searchParams","URL","hasTitle","has","title","get","slice","hasLeader","leader","replace","description","createMappedComponent","importMap","serverProps","mappedIcon","components","graphics","Icon","undefined","fontData","readFile","join","e","console","message","fontFamily","fonts","name","data","style","weight","height","width"],"mappings":";AAEA,SAASA,WAAW,EAAEC,wBAAwB,QAAQ,wBAAuB;AAC7E,OAAOC,QAAQ,cAAa;AAC5B,SAASC,aAAa,QAAQ,aAAY;AAC1C,SAASC,YAAY,QAAQ,iBAAgB;AAC7C,OAAOC,UAAU,OAAM;AACvB,OAAOC,WAAW,QAAO;AACzB,SAASC,aAAa,QAAQ,MAAK;AAEnC,SAASC,OAAO,QAAQ,aAAY;AAEpC,MAAMC,WAAWF,cAAc,YAAYG,GAAG;AAC9C,MAAMC,UAAUN,KAAKM,OAAO,CAACF;AAE7B,OAAO,MAAMG,UAAU,SAAQ;AAE/B,OAAO,MAAMC,cAAc,YAAW;AAEtC,OAAO,MAAMC,kBAAkB,OAAO,EAAEC,GAAG,EAA2B;IACpE,MAAMC,SAASD,IAAIE,OAAO,CAACD,MAAM;IAEjC,IAAIA,OAAOE,KAAK,CAACC,IAAI,CAACC,kBAAkB,KAAK,OAAO;QAClD,OAAOhB,aAAaiB,IAAI,CAAC;YAAEC,OAAO,CAAC,8BAA8B,CAAC;QAAC,GAAG;YAAEC,QAAQ;QAAI;IACtF;IAEA,IAAI;QACF,MAAM,EAAEC,YAAY,EAAE,GAAG,IAAIC,IAAIV,IAAIL,GAAG;QAExC,MAAMgB,WAAWF,aAAaG,GAAG,CAAC;QAClC,MAAMC,QAAQF,WAAWF,aAAaK,GAAG,CAAC,UAAUC,MAAM,GAAG,OAAO;QACpE,MAAMC,YAAYP,aAAaG,GAAG,CAAC;QACnC,MAAMK,SAASD,YAAYP,aAAaK,GAAG,CAAC,WAAWC,MAAM,GAAG,KAAKG,QAAQ,KAAK,OAAO;QACzF,MAAMC,cAAcV,aAAaG,GAAG,CAAC,iBAAiBH,aAAaK,GAAG,CAAC,iBAAiB;QAExF,MAAMM,wBAAwBlC,yBAAyB;YACrDmC,WAAWrB,IAAIE,OAAO,CAACmB,SAAS;YAChCC,aAAa,CAAC;QAChB;QAEA,MAAMC,aAAaH,sBACjBnB,OAAOE,KAAK,EAAEqB,YAAYC,UAAUC,MACpCC,WACA1C,aACA;QAGF,IAAI2C;QAEJ,IAAI;YACF,kDAAkD;YAClD,qDAAqD;YACrD,+DAA+D;YAC/DA,WAAWzC,GAAG0C,QAAQ,CAACvC,KAAKwC,IAAI,CAAClC,SAAS;QAC5C,EAAE,OAAOmC,GAAG;YACVC,QAAQzB,KAAK,CAAC,CAAC,yCAAyC,EAAEwB,EAAEE,OAAO,CAAC,CAAC,EAAE,iCAAiC;;QAC1G;QAEA,MAAMC,aAAa;QAEnB,OAAO,IAAI9C,4BAEP,KAACK;YACCiC,MAAMH;YACNJ,aAAaA;YACbe,YAAYA;YACZjB,QAAQA;YACRJ,OAAOA;YAGX;YACE,GAAIe,WACA;gBACEO,OAAO;oBACL;wBACEC,MAAM;wBACNC,MAAM,MAAMT;wBACZU,OAAO;wBACPC,QAAQ;oBACV;iBACD;YACH,IACA,CAAC,CAAC;YACNC,QAAQ;YACRC,OAAO;QACT;IAEJ,EAAE,OAAOV,GAAQ;QACfC,QAAQzB,KAAK,CAAC,CAAC,EAAEwB,EAAEE,OAAO,CAAC,CAAC,EAAE,iCAAiC;;QAC/D,OAAO5C,aAAaiB,IAAI,CAAC;YAAEC,OAAO,CAAC,uBAAuB,EAAEwB,EAAEE,OAAO,CAAC,CAAC;QAAC,GAAG;YAAEzB,QAAQ;QAAI;IAC3F;AACF,EAAC"}
1
+ {"version":3,"file":"index.js","names":["PayloadIcon","getCreateMappedComponent","fs","ImageResponse","NextResponse","path","React","fileURLToPath","OGImage","filename","import","meta","url","dirname","runtime","contentType","generateOGImage","req","config","payload","admin","defaultOGImageType","json","error","status","searchParams","URL","hasTitle","has","title","get","slice","hasLeader","leader","replace","description","createMappedComponent","importMap","serverProps","mappedIcon","components","graphics","Icon","undefined","fontData","readFile","join","e","console","message","fontFamily","_jsx","fonts","name","data","style","weight","height","width"],"sources":["../../../../src/routes/rest/og/index.tsx"],"sourcesContent":["import type { PayloadRequest } from 'payload'\n\nimport { PayloadIcon, getCreateMappedComponent } from '@payloadcms/ui/shared'\nimport fs from 'fs/promises'\nimport { ImageResponse } from 'next/og.js'\nimport { NextResponse } from 'next/server.js'\nimport path from 'path'\nimport React from 'react'\nimport { fileURLToPath } from 'url'\n\nimport { OGImage } from './image.js'\n\nconst filename = fileURLToPath(import.meta.url)\nconst dirname = path.dirname(filename)\n\nexport const runtime = 'nodejs'\n\nexport const contentType = 'image/png'\n\nexport const generateOGImage = async ({ req }: { req: PayloadRequest }) => {\n const config = req.payload.config\n\n if (config.admin.meta.defaultOGImageType === 'off') {\n return NextResponse.json({ error: `Open Graph images are disabled` }, { status: 400 })\n }\n\n try {\n const { searchParams } = new URL(req.url)\n\n const hasTitle = searchParams.has('title')\n const title = hasTitle ? searchParams.get('title')?.slice(0, 100) : ''\n const hasLeader = searchParams.has('leader')\n const leader = hasLeader ? searchParams.get('leader')?.slice(0, 100).replace('-', ' ') : ''\n const description = searchParams.has('description') ? searchParams.get('description') : ''\n\n const createMappedComponent = getCreateMappedComponent({\n importMap: req.payload.importMap,\n serverProps: {},\n })\n\n const mappedIcon = createMappedComponent(\n config.admin?.components?.graphics?.Icon,\n undefined,\n PayloadIcon,\n 'config.admin.components.graphics.Icon',\n )\n\n let fontData\n\n try {\n // TODO: replace with `.woff2` file when supported\n // See https://github.com/vercel/next.js/issues/63935\n // Or better yet, use a CDN like Google Fonts if ever supported\n fontData = fs.readFile(path.join(dirname, 'roboto-regular.woff'))\n } catch (e) {\n console.error(`Error reading font file or not readable: ${e.message}`) // eslint-disable-line no-console\n }\n\n const fontFamily = 'Roboto, sans-serif'\n\n return new ImageResponse(\n (\n <OGImage\n Icon={mappedIcon}\n description={description}\n fontFamily={fontFamily}\n leader={leader}\n title={title}\n />\n ),\n {\n ...(fontData\n ? {\n fonts: [\n {\n name: 'Roboto',\n data: await fontData,\n style: 'normal',\n weight: 400,\n },\n ],\n }\n : {}),\n height: 630,\n width: 1200,\n },\n )\n } catch (e: any) {\n console.error(`${e.message}`) // eslint-disable-line no-console\n return NextResponse.json({ error: `Internal Server Error: ${e.message}` }, { status: 500 })\n }\n}\n"],"mappings":"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","ignoreList":[]}