@payloadcms/next 3.0.0-canary.a192632 → 3.0.0-canary.a5aaf21

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 (614) 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.d.ts.map +1 -1
  10. package/dist/elements/DocumentHeader/Tabs/Tab/index.js +75 -64
  11. package/dist/elements/DocumentHeader/Tabs/Tab/index.js.map +1 -1
  12. package/dist/elements/DocumentHeader/Tabs/getCustomViews.js +31 -35
  13. package/dist/elements/DocumentHeader/Tabs/getCustomViews.js.map +1 -1
  14. package/dist/elements/DocumentHeader/Tabs/getViewConfig.js +15 -12
  15. package/dist/elements/DocumentHeader/Tabs/getViewConfig.js.map +1 -1
  16. package/dist/elements/DocumentHeader/Tabs/index.d.ts.map +1 -1
  17. package/dist/elements/DocumentHeader/Tabs/index.js +95 -82
  18. package/dist/elements/DocumentHeader/Tabs/index.js.map +1 -1
  19. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.d.ts.map +1 -1
  20. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js +37 -14
  21. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js.map +1 -1
  22. package/dist/elements/DocumentHeader/Tabs/tabs/index.d.ts +1 -1
  23. package/dist/elements/DocumentHeader/Tabs/tabs/index.d.ts.map +1 -1
  24. package/dist/elements/DocumentHeader/Tabs/tabs/index.js +60 -52
  25. package/dist/elements/DocumentHeader/Tabs/tabs/index.js.map +1 -1
  26. package/dist/elements/DocumentHeader/index.d.ts.map +1 -1
  27. package/dist/elements/DocumentHeader/index.js +24 -23
  28. package/dist/elements/DocumentHeader/index.js.map +1 -1
  29. package/dist/elements/DocumentHeader/index.scss +5 -2
  30. package/dist/elements/DocumentLocked/index.d.ts +12 -0
  31. package/dist/elements/DocumentLocked/index.d.ts.map +1 -0
  32. package/dist/elements/DocumentLocked/index.js +142 -0
  33. package/dist/elements/DocumentLocked/index.js.map +1 -0
  34. package/dist/elements/DocumentLocked/index.scss +37 -0
  35. package/dist/elements/DocumentTakeOver/index.d.ts +8 -0
  36. package/dist/elements/DocumentTakeOver/index.d.ts.map +1 -0
  37. package/dist/elements/DocumentTakeOver/index.js +98 -0
  38. package/dist/elements/DocumentTakeOver/index.js.map +1 -0
  39. package/dist/elements/DocumentTakeOver/index.scss +37 -0
  40. package/dist/elements/EmailAndUsername/index.d.ts +1 -1
  41. package/dist/elements/EmailAndUsername/index.d.ts.map +1 -1
  42. package/dist/elements/EmailAndUsername/index.js +107 -75
  43. package/dist/elements/EmailAndUsername/index.js.map +1 -1
  44. package/dist/elements/LeaveWithoutSaving/index.d.ts.map +1 -1
  45. package/dist/elements/LeaveWithoutSaving/index.js +150 -76
  46. package/dist/elements/LeaveWithoutSaving/index.js.map +1 -1
  47. package/dist/elements/LeaveWithoutSaving/index.scss +3 -3
  48. package/dist/elements/LeaveWithoutSaving/usePreventLeave.d.ts +2 -1
  49. package/dist/elements/LeaveWithoutSaving/usePreventLeave.d.ts.map +1 -1
  50. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js +121 -99
  51. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js.map +1 -1
  52. package/dist/elements/Logo/index.js +37 -22
  53. package/dist/elements/Logo/index.js.map +1 -1
  54. package/dist/elements/Nav/NavHamburger/index.js +41 -13
  55. package/dist/elements/Nav/NavHamburger/index.js.map +1 -1
  56. package/dist/elements/Nav/NavWrapper/index.d.ts.map +1 -1
  57. package/dist/elements/Nav/NavWrapper/index.js +48 -14
  58. package/dist/elements/Nav/NavWrapper/index.js.map +1 -1
  59. package/dist/elements/Nav/NavWrapper/index.scss +9 -1
  60. package/dist/elements/Nav/index.client.d.ts.map +1 -1
  61. package/dist/elements/Nav/index.client.js +149 -76
  62. package/dist/elements/Nav/index.client.js.map +1 -1
  63. package/dist/elements/Nav/index.d.ts.map +1 -1
  64. package/dist/elements/Nav/index.js +57 -51
  65. package/dist/elements/Nav/index.js.map +1 -1
  66. package/dist/elements/Nav/index.scss +9 -2
  67. package/dist/exports/layouts.d.ts +1 -1
  68. package/dist/exports/layouts.d.ts.map +1 -1
  69. package/dist/exports/layouts.js +1 -2
  70. package/dist/exports/layouts.js.map +1 -1
  71. package/dist/exports/routes.js +0 -1
  72. package/dist/exports/routes.js.map +1 -1
  73. package/dist/exports/templates.js +0 -1
  74. package/dist/exports/templates.js.map +1 -1
  75. package/dist/exports/utilities.js +0 -1
  76. package/dist/exports/utilities.js.map +1 -1
  77. package/dist/exports/views.d.ts +1 -1
  78. package/dist/exports/views.d.ts.map +1 -1
  79. package/dist/exports/views.js +1 -2
  80. package/dist/exports/views.js.map +1 -1
  81. package/dist/fetchAPI-multipart/fileFactory.d.ts +2 -1
  82. package/dist/fetchAPI-multipart/fileFactory.d.ts.map +1 -1
  83. package/dist/fetchAPI-multipart/fileFactory.js +35 -34
  84. package/dist/fetchAPI-multipart/fileFactory.js.map +1 -1
  85. package/dist/fetchAPI-multipart/handlers.d.ts +1 -1
  86. package/dist/fetchAPI-multipart/handlers.d.ts.map +1 -1
  87. package/dist/fetchAPI-multipart/handlers.js +79 -78
  88. package/dist/fetchAPI-multipart/handlers.js.map +1 -1
  89. package/dist/fetchAPI-multipart/index.d.ts +1 -101
  90. package/dist/fetchAPI-multipart/index.d.ts.map +1 -1
  91. package/dist/fetchAPI-multipart/index.js +33 -31
  92. package/dist/fetchAPI-multipart/index.js.map +1 -1
  93. package/dist/fetchAPI-multipart/isEligibleRequest.js +13 -21
  94. package/dist/fetchAPI-multipart/isEligibleRequest.js.map +1 -1
  95. package/dist/fetchAPI-multipart/processMultipart.d.ts +2 -1
  96. package/dist/fetchAPI-multipart/processMultipart.d.ts.map +1 -1
  97. package/dist/fetchAPI-multipart/processMultipart.js +159 -141
  98. package/dist/fetchAPI-multipart/processMultipart.js.map +1 -1
  99. package/dist/fetchAPI-multipart/processNested.d.ts.map +1 -1
  100. package/dist/fetchAPI-multipart/processNested.js +26 -20
  101. package/dist/fetchAPI-multipart/processNested.js.map +1 -1
  102. package/dist/fetchAPI-multipart/uploadTimer.d.ts.map +1 -1
  103. package/dist/fetchAPI-multipart/uploadTimer.js +18 -17
  104. package/dist/fetchAPI-multipart/uploadTimer.js.map +1 -1
  105. package/dist/fetchAPI-multipart/utilities.d.ts +1 -1
  106. package/dist/fetchAPI-multipart/utilities.d.ts.map +1 -1
  107. package/dist/fetchAPI-multipart/utilities.js +185 -165
  108. package/dist/fetchAPI-multipart/utilities.js.map +1 -1
  109. package/dist/fetchAPI-stream-file/index.js +19 -17
  110. package/dist/fetchAPI-stream-file/index.js.map +1 -1
  111. package/dist/index.js +0 -1
  112. package/dist/index.js.map +1 -1
  113. package/dist/layouts/Root/index.d.ts.map +1 -1
  114. package/dist/layouts/Root/index.js +151 -88
  115. package/dist/layouts/Root/index.js.map +1 -1
  116. package/dist/prod/styles.css +1 -1
  117. package/dist/routes/graphql/handler.js +109 -103
  118. package/dist/routes/graphql/handler.js.map +1 -1
  119. package/dist/routes/graphql/index.js +0 -1
  120. package/dist/routes/graphql/index.js.map +1 -1
  121. package/dist/routes/graphql/playground.js +23 -24
  122. package/dist/routes/graphql/playground.js.map +1 -1
  123. package/dist/routes/index.js +0 -1
  124. package/dist/routes/index.js.map +1 -1
  125. package/dist/routes/rest/auth/access.js +22 -21
  126. package/dist/routes/rest/auth/access.js.map +1 -1
  127. package/dist/routes/rest/auth/forgotPassword.js +29 -25
  128. package/dist/routes/rest/auth/forgotPassword.js.map +1 -1
  129. package/dist/routes/rest/auth/init.js +16 -14
  130. package/dist/routes/rest/auth/init.js.map +1 -1
  131. package/dist/routes/rest/auth/login.js +43 -38
  132. package/dist/routes/rest/auth/login.js.map +1 -1
  133. package/dist/routes/rest/auth/logout.js +31 -27
  134. package/dist/routes/rest/auth/logout.js.map +1 -1
  135. package/dist/routes/rest/auth/me.js +23 -21
  136. package/dist/routes/rest/auth/me.js.map +1 -1
  137. package/dist/routes/rest/auth/refresh.js +31 -27
  138. package/dist/routes/rest/auth/refresh.js.map +1 -1
  139. package/dist/routes/rest/auth/registerFirstUser.js +43 -38
  140. package/dist/routes/rest/auth/registerFirstUser.js.map +1 -1
  141. package/dist/routes/rest/auth/resetPassword.js +38 -33
  142. package/dist/routes/rest/auth/resetPassword.js.map +1 -1
  143. package/dist/routes/rest/auth/unlock.js +27 -23
  144. package/dist/routes/rest/auth/unlock.js.map +1 -1
  145. package/dist/routes/rest/auth/verifyEmail.js +22 -17
  146. package/dist/routes/rest/auth/verifyEmail.js.map +1 -1
  147. package/dist/routes/rest/buildFormState.js +38 -37
  148. package/dist/routes/rest/buildFormState.js.map +1 -1
  149. package/dist/routes/rest/checkEndpoints.js +11 -9
  150. package/dist/routes/rest/checkEndpoints.js.map +1 -1
  151. package/dist/routes/rest/collections/count.js +15 -11
  152. package/dist/routes/rest/collections/count.js.map +1 -1
  153. package/dist/routes/rest/collections/create.js +30 -26
  154. package/dist/routes/rest/collections/create.js.map +1 -1
  155. package/dist/routes/rest/collections/delete.js +40 -35
  156. package/dist/routes/rest/collections/delete.js.map +1 -1
  157. package/dist/routes/rest/collections/deleteByID.js +36 -31
  158. package/dist/routes/rest/collections/deleteByID.js.map +1 -1
  159. package/dist/routes/rest/collections/docAccess.js +17 -14
  160. package/dist/routes/rest/collections/docAccess.js.map +1 -1
  161. package/dist/routes/rest/collections/duplicate.js +36 -31
  162. package/dist/routes/rest/collections/duplicate.js.map +1 -1
  163. package/dist/routes/rest/collections/find.d.ts.map +1 -1
  164. package/dist/routes/rest/collections/find.js +32 -20
  165. package/dist/routes/rest/collections/find.js.map +1 -1
  166. package/dist/routes/rest/collections/findByID.d.ts.map +1 -1
  167. package/dist/routes/rest/collections/findByID.js +30 -23
  168. package/dist/routes/rest/collections/findByID.js.map +1 -1
  169. package/dist/routes/rest/collections/findVersionByID.js +27 -22
  170. package/dist/routes/rest/collections/findVersionByID.js.map +1 -1
  171. package/dist/routes/rest/collections/findVersions.js +27 -19
  172. package/dist/routes/rest/collections/findVersions.js.map +1 -1
  173. package/dist/routes/rest/collections/preview.js +39 -34
  174. package/dist/routes/rest/collections/preview.js.map +1 -1
  175. package/dist/routes/rest/collections/restoreVersion.js +32 -27
  176. package/dist/routes/rest/collections/restoreVersion.js.map +1 -1
  177. package/dist/routes/rest/collections/update.js +43 -37
  178. package/dist/routes/rest/collections/update.js.map +1 -1
  179. package/dist/routes/rest/collections/updateByID.d.ts.map +1 -1
  180. package/dist/routes/rest/collections/updateByID.js +44 -33
  181. package/dist/routes/rest/collections/updateByID.js.map +1 -1
  182. package/dist/routes/rest/files/checkFileAccess.d.ts.map +1 -1
  183. package/dist/routes/rest/files/checkFileAccess.js +52 -45
  184. package/dist/routes/rest/files/checkFileAccess.js.map +1 -1
  185. package/dist/routes/rest/files/getFile.d.ts.map +1 -1
  186. package/dist/routes/rest/files/getFile.js +56 -49
  187. package/dist/routes/rest/files/getFile.js.map +1 -1
  188. package/dist/routes/rest/files/getFileTypeFallback.js +16 -17
  189. package/dist/routes/rest/files/getFileTypeFallback.js.map +1 -1
  190. package/dist/routes/rest/globals/docAccess.js +15 -13
  191. package/dist/routes/rest/globals/docAccess.js.map +1 -1
  192. package/dist/routes/rest/globals/findOne.js +22 -18
  193. package/dist/routes/rest/globals/findOne.js.map +1 -1
  194. package/dist/routes/rest/globals/findVersionByID.js +22 -17
  195. package/dist/routes/rest/globals/findVersionByID.js.map +1 -1
  196. package/dist/routes/rest/globals/findVersions.js +27 -19
  197. package/dist/routes/rest/globals/findVersions.js.map +1 -1
  198. package/dist/routes/rest/globals/preview.js +38 -34
  199. package/dist/routes/rest/globals/preview.js.map +1 -1
  200. package/dist/routes/rest/globals/restoreVersion.js +27 -22
  201. package/dist/routes/rest/globals/restoreVersion.js.map +1 -1
  202. package/dist/routes/rest/globals/update.d.ts.map +1 -1
  203. package/dist/routes/rest/globals/update.js +38 -28
  204. package/dist/routes/rest/globals/update.js.map +1 -1
  205. package/dist/routes/rest/index.d.ts.map +1 -1
  206. package/dist/routes/rest/index.js +679 -626
  207. package/dist/routes/rest/index.js.map +1 -1
  208. package/dist/routes/rest/og/image.d.ts +1 -1
  209. package/dist/routes/rest/og/image.d.ts.map +1 -1
  210. package/dist/routes/rest/og/image.js +74 -76
  211. package/dist/routes/rest/og/image.js.map +1 -1
  212. package/dist/routes/rest/og/index.js +61 -60
  213. package/dist/routes/rest/og/index.js.map +1 -1
  214. package/dist/routes/rest/routeError.js +102 -95
  215. package/dist/routes/rest/routeError.js.map +1 -1
  216. package/dist/routes/rest/types.js +1 -2
  217. package/dist/routes/rest/types.js.map +1 -1
  218. package/dist/routes/rest/utilities/sanitizeCollectionID.d.ts.map +1 -1
  219. package/dist/routes/rest/utilities/sanitizeCollectionID.js +18 -11
  220. package/dist/routes/rest/utilities/sanitizeCollectionID.js.map +1 -1
  221. package/dist/routes/rest/utilities/sanitizeJoinParams.d.ts +13 -0
  222. package/dist/routes/rest/utilities/sanitizeJoinParams.d.ts.map +1 -0
  223. package/dist/routes/rest/utilities/sanitizeJoinParams.js +17 -0
  224. package/dist/routes/rest/utilities/sanitizeJoinParams.js.map +1 -0
  225. package/dist/scss/app.scss +4 -4
  226. package/dist/scss/toasts.scss +15 -14
  227. package/dist/scss/type.scss +4 -4
  228. package/dist/templates/Default/NavHamburger/index.js +18 -6
  229. package/dist/templates/Default/NavHamburger/index.js.map +1 -1
  230. package/dist/templates/Default/Wrapper/index.d.ts.map +1 -1
  231. package/dist/templates/Default/Wrapper/index.js +42 -11
  232. package/dist/templates/Default/Wrapper/index.js.map +1 -1
  233. package/dist/templates/Default/Wrapper/index.scss +36 -5
  234. package/dist/templates/Default/index.d.ts.map +1 -1
  235. package/dist/templates/Default/index.js +71 -50
  236. package/dist/templates/Default/index.js.map +1 -1
  237. package/dist/templates/Default/index.scss +14 -4
  238. package/dist/templates/Minimal/index.js +16 -16
  239. package/dist/templates/Minimal/index.js.map +1 -1
  240. package/dist/templates/Minimal/index.scss +2 -2
  241. package/dist/utilities/addDataAndFileToRequest.d.ts.map +1 -1
  242. package/dist/utilities/addDataAndFileToRequest.js +40 -35
  243. package/dist/utilities/addDataAndFileToRequest.js.map +1 -1
  244. package/dist/utilities/addLocalesToRequest.d.ts.map +1 -1
  245. package/dist/utilities/addLocalesToRequest.js +48 -36
  246. package/dist/utilities/addLocalesToRequest.js.map +1 -1
  247. package/dist/utilities/createPayloadRequest.d.ts.map +1 -1
  248. package/dist/utilities/createPayloadRequest.js +90 -73
  249. package/dist/utilities/createPayloadRequest.js.map +1 -1
  250. package/dist/utilities/getNextRequestI18n.d.ts.map +1 -1
  251. package/dist/utilities/getNextRequestI18n.js +13 -11
  252. package/dist/utilities/getNextRequestI18n.js.map +1 -1
  253. package/dist/utilities/getPayloadHMR.d.ts +2 -2
  254. package/dist/utilities/getPayloadHMR.d.ts.map +1 -1
  255. package/dist/utilities/getPayloadHMR.js +91 -93
  256. package/dist/utilities/getPayloadHMR.js.map +1 -1
  257. package/dist/utilities/getRequestLanguage.js +16 -13
  258. package/dist/utilities/getRequestLanguage.js.map +1 -1
  259. package/dist/utilities/getRequestLocales.js +27 -24
  260. package/dist/utilities/getRequestLocales.js.map +1 -1
  261. package/dist/utilities/getRequestTheme.d.ts.map +1 -1
  262. package/dist/utilities/getRequestTheme.js +16 -16
  263. package/dist/utilities/getRequestTheme.js.map +1 -1
  264. package/dist/utilities/headersWithCors.d.ts.map +1 -1
  265. package/dist/utilities/headersWithCors.js +21 -30
  266. package/dist/utilities/headersWithCors.js.map +1 -1
  267. package/dist/utilities/initPage/handleAdminPage.js +46 -42
  268. package/dist/utilities/initPage/handleAdminPage.js.map +1 -1
  269. package/dist/utilities/initPage/handleAuthRedirect.d.ts.map +1 -1
  270. package/dist/utilities/initPage/handleAuthRedirect.js +47 -32
  271. package/dist/utilities/initPage/handleAuthRedirect.js.map +1 -1
  272. package/dist/utilities/initPage/index.d.ts.map +1 -1
  273. package/dist/utilities/initPage/index.js +140 -122
  274. package/dist/utilities/initPage/index.js.map +1 -1
  275. package/dist/utilities/initPage/shared.js +26 -25
  276. package/dist/utilities/initPage/shared.js.map +1 -1
  277. package/dist/utilities/initPage/types.js +1 -2
  278. package/dist/utilities/initPage/types.js.map +1 -1
  279. package/dist/utilities/initReq.d.ts +11 -0
  280. package/dist/utilities/initReq.d.ts.map +1 -0
  281. package/dist/utilities/initReq.js +46 -0
  282. package/dist/utilities/initReq.js.map +1 -0
  283. package/dist/utilities/mergeHeaders.js +8 -9
  284. package/dist/utilities/mergeHeaders.js.map +1 -1
  285. package/dist/utilities/meta.js +66 -65
  286. package/dist/utilities/meta.js.map +1 -1
  287. package/dist/utilities/timestamp.d.ts.map +1 -1
  288. package/dist/utilities/timestamp.js +6 -5
  289. package/dist/utilities/timestamp.js.map +1 -1
  290. package/dist/views/API/LocaleSelector/index.d.ts.map +1 -1
  291. package/dist/views/API/LocaleSelector/index.js +38 -11
  292. package/dist/views/API/LocaleSelector/index.js.map +1 -1
  293. package/dist/views/API/RenderJSON/index.d.ts +1 -1
  294. package/dist/views/API/RenderJSON/index.d.ts.map +1 -1
  295. package/dist/views/API/RenderJSON/index.js +124 -112
  296. package/dist/views/API/RenderJSON/index.js.map +1 -1
  297. package/dist/views/API/index.client.d.ts.map +1 -1
  298. package/dist/views/API/index.client.js +190 -202
  299. package/dist/views/API/index.client.js.map +1 -1
  300. package/dist/views/API/index.js +2 -3
  301. package/dist/views/API/index.js.map +1 -1
  302. package/dist/views/API/meta.d.ts.map +1 -1
  303. package/dist/views/API/meta.js +22 -14
  304. package/dist/views/API/meta.js.map +1 -1
  305. package/dist/views/Account/Settings/LanguageSelector.js +45 -12
  306. package/dist/views/Account/Settings/LanguageSelector.js.map +1 -1
  307. package/dist/views/Account/Settings/index.d.ts +3 -3
  308. package/dist/views/Account/Settings/index.d.ts.map +1 -1
  309. package/dist/views/Account/Settings/index.js +21 -27
  310. package/dist/views/Account/Settings/index.js.map +1 -1
  311. package/dist/views/Account/ToggleTheme/index.js +51 -30
  312. package/dist/views/Account/ToggleTheme/index.js.map +1 -1
  313. package/dist/views/Account/index.client.js +32 -16
  314. package/dist/views/Account/index.client.js.map +1 -1
  315. package/dist/views/Account/index.d.ts.map +1 -1
  316. package/dist/views/Account/index.js +100 -69
  317. package/dist/views/Account/index.js.map +1 -1
  318. package/dist/views/Account/meta.js +12 -8
  319. package/dist/views/Account/meta.js.map +1 -1
  320. package/dist/views/CreateFirstUser/index.client.d.ts +1 -1
  321. package/dist/views/CreateFirstUser/index.client.d.ts.map +1 -1
  322. package/dist/views/CreateFirstUser/index.client.js +98 -57
  323. package/dist/views/CreateFirstUser/index.client.js.map +1 -1
  324. package/dist/views/CreateFirstUser/index.d.ts.map +1 -1
  325. package/dist/views/CreateFirstUser/index.js +42 -28
  326. package/dist/views/CreateFirstUser/index.js.map +1 -1
  327. package/dist/views/CreateFirstUser/index.scss +10 -0
  328. package/dist/views/CreateFirstUser/meta.js +12 -8
  329. package/dist/views/CreateFirstUser/meta.js.map +1 -1
  330. package/dist/views/Dashboard/Default/index.d.ts +8 -1
  331. package/dist/views/Dashboard/Default/index.d.ts.map +1 -1
  332. package/dist/views/Dashboard/Default/index.js +146 -117
  333. package/dist/views/Dashboard/Default/index.js.map +1 -1
  334. package/dist/views/Dashboard/Default/index.scss +5 -0
  335. package/dist/views/Dashboard/index.d.ts.map +1 -1
  336. package/dist/views/Dashboard/index.js +76 -52
  337. package/dist/views/Dashboard/index.js.map +1 -1
  338. package/dist/views/Dashboard/meta.js +16 -12
  339. package/dist/views/Dashboard/meta.js.map +1 -1
  340. package/dist/views/Document/getCustomViewByKey.js +2 -3
  341. package/dist/views/Document/getCustomViewByKey.js.map +1 -1
  342. package/dist/views/Document/getCustomViewByRoute.d.ts +4 -1
  343. package/dist/views/Document/getCustomViewByRoute.d.ts.map +1 -1
  344. package/dist/views/Document/getCustomViewByRoute.js +30 -17
  345. package/dist/views/Document/getCustomViewByRoute.js.map +1 -1
  346. package/dist/views/Document/getDocumentData.d.ts +5 -2
  347. package/dist/views/Document/getDocumentData.d.ts.map +1 -1
  348. package/dist/views/Document/getDocumentData.js +45 -28
  349. package/dist/views/Document/getDocumentData.js.map +1 -1
  350. package/dist/views/Document/getDocumentPermissions.js +83 -74
  351. package/dist/views/Document/getDocumentPermissions.js.map +1 -1
  352. package/dist/views/Document/getMetaBySegment.d.ts +4 -3
  353. package/dist/views/Document/getMetaBySegment.d.ts.map +1 -1
  354. package/dist/views/Document/getMetaBySegment.js +114 -63
  355. package/dist/views/Document/getMetaBySegment.js.map +1 -1
  356. package/dist/views/Document/getViewsFromConfig.d.ts +9 -3
  357. package/dist/views/Document/getViewsFromConfig.d.ts.map +1 -1
  358. package/dist/views/Document/getViewsFromConfig.js +308 -301
  359. package/dist/views/Document/getViewsFromConfig.js.map +1 -1
  360. package/dist/views/Document/index.d.ts.map +1 -1
  361. package/dist/views/Document/index.js +194 -161
  362. package/dist/views/Document/index.js.map +1 -1
  363. package/dist/views/Document/meta.js +1 -2
  364. package/dist/views/Document/meta.js.map +1 -1
  365. package/dist/views/Edit/Default/Auth/APIKey.d.ts.map +1 -1
  366. package/dist/views/Edit/Default/Auth/APIKey.js +118 -131
  367. package/dist/views/Edit/Default/Auth/APIKey.js.map +1 -1
  368. package/dist/views/Edit/Default/Auth/index.d.ts.map +1 -1
  369. package/dist/views/Edit/Default/Auth/index.js +293 -194
  370. package/dist/views/Edit/Default/Auth/index.js.map +1 -1
  371. package/dist/views/Edit/Default/Auth/types.d.ts +1 -1
  372. package/dist/views/Edit/Default/Auth/types.d.ts.map +1 -1
  373. package/dist/views/Edit/Default/Auth/types.js +1 -2
  374. package/dist/views/Edit/Default/Auth/types.js.map +1 -1
  375. package/dist/views/Edit/Default/SetDocumentStepNav/index.d.ts.map +1 -1
  376. package/dist/views/Edit/Default/SetDocumentStepNav/index.js +121 -70
  377. package/dist/views/Edit/Default/SetDocumentStepNav/index.js.map +1 -1
  378. package/dist/views/Edit/Default/SetDocumentTitle/index.js +74 -29
  379. package/dist/views/Edit/Default/SetDocumentTitle/index.js.map +1 -1
  380. package/dist/views/Edit/Default/index.d.ts.map +1 -1
  381. package/dist/views/Edit/Default/index.js +354 -179
  382. package/dist/views/Edit/Default/index.js.map +1 -1
  383. package/dist/views/Edit/Default/types.js +1 -2
  384. package/dist/views/Edit/Default/types.js.map +1 -1
  385. package/dist/views/Edit/index.client.js +45 -21
  386. package/dist/views/Edit/index.client.js.map +1 -1
  387. package/dist/views/Edit/index.js +2 -3
  388. package/dist/views/Edit/index.js.map +1 -1
  389. package/dist/views/Edit/meta.d.ts.map +1 -1
  390. package/dist/views/Edit/meta.js +43 -24
  391. package/dist/views/Edit/meta.js.map +1 -1
  392. package/dist/views/Edit/sanitizeEditViewProps.js +8 -9
  393. package/dist/views/Edit/sanitizeEditViewProps.js.map +1 -1
  394. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +154 -94
  395. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -1
  396. package/dist/views/ForgotPassword/index.js +59 -46
  397. package/dist/views/ForgotPassword/index.js.map +1 -1
  398. package/dist/views/ForgotPassword/meta.js +12 -8
  399. package/dist/views/ForgotPassword/meta.js.map +1 -1
  400. package/dist/views/List/Default/index.d.ts.map +1 -1
  401. package/dist/views/List/Default/index.js +374 -196
  402. package/dist/views/List/Default/index.js.map +1 -1
  403. package/dist/views/List/Default/index.scss +5 -13
  404. package/dist/views/List/Default/types.js +1 -2
  405. package/dist/views/List/Default/types.js.map +1 -1
  406. package/dist/views/List/index.d.ts.map +1 -1
  407. package/dist/views/List/index.js +155 -138
  408. package/dist/views/List/index.js.map +1 -1
  409. package/dist/views/List/meta.js +20 -17
  410. package/dist/views/List/meta.js.map +1 -1
  411. package/dist/views/LivePreview/Context/collisionDetection.js +24 -21
  412. package/dist/views/LivePreview/Context/collisionDetection.js.map +1 -1
  413. package/dist/views/LivePreview/Context/context.d.ts +3 -2
  414. package/dist/views/LivePreview/Context/context.d.ts.map +1 -1
  415. package/dist/views/LivePreview/Context/context.js +39 -36
  416. package/dist/views/LivePreview/Context/context.js.map +1 -1
  417. package/dist/views/LivePreview/Context/index.d.ts.map +1 -1
  418. package/dist/views/LivePreview/Context/index.js +136 -142
  419. package/dist/views/LivePreview/Context/index.js.map +1 -1
  420. package/dist/views/LivePreview/Context/sizeReducer.js +18 -19
  421. package/dist/views/LivePreview/Context/sizeReducer.js.map +1 -1
  422. package/dist/views/LivePreview/Device/index.d.ts.map +1 -1
  423. package/dist/views/LivePreview/Device/index.js +82 -71
  424. package/dist/views/LivePreview/Device/index.js.map +1 -1
  425. package/dist/views/LivePreview/DeviceContainer/index.js +47 -23
  426. package/dist/views/LivePreview/DeviceContainer/index.js.map +1 -1
  427. package/dist/views/LivePreview/IFrame/index.js +21 -16
  428. package/dist/views/LivePreview/IFrame/index.js.map +1 -1
  429. package/dist/views/LivePreview/Preview/index.js +145 -92
  430. package/dist/views/LivePreview/Preview/index.js.map +1 -1
  431. package/dist/views/LivePreview/Toolbar/Controls/index.js +137 -116
  432. package/dist/views/LivePreview/Toolbar/Controls/index.js.map +1 -1
  433. package/dist/views/LivePreview/Toolbar/SizeInput/index.d.ts.map +1 -1
  434. package/dist/views/LivePreview/Toolbar/SizeInput/index.js +89 -51
  435. package/dist/views/LivePreview/Toolbar/SizeInput/index.js.map +1 -1
  436. package/dist/views/LivePreview/Toolbar/index.js +82 -50
  437. package/dist/views/LivePreview/Toolbar/index.js.map +1 -1
  438. package/dist/views/LivePreview/ToolbarArea/index.js +32 -10
  439. package/dist/views/LivePreview/ToolbarArea/index.js.map +1 -1
  440. package/dist/views/LivePreview/index.client.d.ts.map +1 -1
  441. package/dist/views/LivePreview/index.client.js +319 -160
  442. package/dist/views/LivePreview/index.client.js.map +1 -1
  443. package/dist/views/LivePreview/index.js +67 -55
  444. package/dist/views/LivePreview/index.js.map +1 -1
  445. package/dist/views/LivePreview/meta.d.ts.map +1 -1
  446. package/dist/views/LivePreview/meta.js +14 -8
  447. package/dist/views/LivePreview/meta.js.map +1 -1
  448. package/dist/views/LivePreview/usePopupWindow.d.ts +1 -1
  449. package/dist/views/LivePreview/usePopupWindow.d.ts.map +1 -1
  450. package/dist/views/LivePreview/usePopupWindow.js +133 -91
  451. package/dist/views/LivePreview/usePopupWindow.js.map +1 -1
  452. package/dist/views/Login/LoginField/index.js +83 -39
  453. package/dist/views/Login/LoginField/index.js.map +1 -1
  454. package/dist/views/Login/LoginForm/index.d.ts.map +1 -1
  455. package/dist/views/Login/LoginForm/index.js +147 -67
  456. package/dist/views/Login/LoginForm/index.js.map +1 -1
  457. package/dist/views/Login/index.d.ts.map +1 -1
  458. package/dist/views/Login/index.js +78 -55
  459. package/dist/views/Login/index.js.map +1 -1
  460. package/dist/views/Login/meta.js +12 -8
  461. package/dist/views/Login/meta.js.map +1 -1
  462. package/dist/views/Logout/LogoutClient.d.ts +1 -0
  463. package/dist/views/Logout/LogoutClient.d.ts.map +1 -1
  464. package/dist/views/Logout/LogoutClient.js +86 -39
  465. package/dist/views/Logout/LogoutClient.js.map +1 -1
  466. package/dist/views/Logout/index.d.ts.map +1 -1
  467. package/dist/views/Logout/index.js +29 -16
  468. package/dist/views/Logout/index.js.map +1 -1
  469. package/dist/views/Logout/index.scss +12 -9
  470. package/dist/views/Logout/meta.js +11 -7
  471. package/dist/views/Logout/meta.js.map +1 -1
  472. package/dist/views/NotFound/index.client.d.ts.map +1 -1
  473. package/dist/views/NotFound/index.client.js +81 -40
  474. package/dist/views/NotFound/index.client.js.map +1 -1
  475. package/dist/views/NotFound/index.d.ts.map +1 -1
  476. package/dist/views/NotFound/index.js +47 -37
  477. package/dist/views/NotFound/index.js.map +1 -1
  478. package/dist/views/NotFound/index.scss +18 -0
  479. package/dist/views/NotFound/meta.js +9 -7
  480. package/dist/views/NotFound/meta.js.map +1 -1
  481. package/dist/views/ResetPassword/index.client.d.ts.map +1 -1
  482. package/dist/views/ResetPassword/index.client.js +101 -60
  483. package/dist/views/ResetPassword/index.client.js.map +1 -1
  484. package/dist/views/ResetPassword/index.d.ts.map +1 -1
  485. package/dist/views/ResetPassword/index.js +65 -56
  486. package/dist/views/ResetPassword/index.js.map +1 -1
  487. package/dist/views/ResetPassword/index.scss +28 -2
  488. package/dist/views/ResetPassword/meta.js +12 -8
  489. package/dist/views/ResetPassword/meta.js.map +1 -1
  490. package/dist/views/Root/generateCustomViewMetadata.d.ts +11 -0
  491. package/dist/views/Root/generateCustomViewMetadata.d.ts.map +1 -0
  492. package/dist/views/Root/generateCustomViewMetadata.js +25 -0
  493. package/dist/views/Root/generateCustomViewMetadata.js.map +1 -0
  494. package/dist/views/Root/getCustomViewByRoute.d.ts +6 -2
  495. package/dist/views/Root/getCustomViewByRoute.d.ts.map +1 -1
  496. package/dist/views/Root/getCustomViewByRoute.js +42 -16
  497. package/dist/views/Root/getCustomViewByRoute.js.map +1 -1
  498. package/dist/views/Root/getViewFromConfig.d.ts.map +1 -1
  499. package/dist/views/Root/getViewFromConfig.js +164 -158
  500. package/dist/views/Root/getViewFromConfig.js.map +1 -1
  501. package/dist/views/Root/index.js +100 -83
  502. package/dist/views/Root/index.js.map +1 -1
  503. package/dist/views/Root/isPathMatchingRoute.d.ts.map +1 -1
  504. package/dist/views/Root/isPathMatchingRoute.js +22 -13
  505. package/dist/views/Root/isPathMatchingRoute.js.map +1 -1
  506. package/dist/views/Root/meta.d.ts.map +1 -1
  507. package/dist/views/Root/meta.js +143 -121
  508. package/dist/views/Root/meta.js.map +1 -1
  509. package/dist/views/Unauthorized/index.js +32 -22
  510. package/dist/views/Unauthorized/index.js.map +1 -1
  511. package/dist/views/Unauthorized/meta.js +12 -8
  512. package/dist/views/Unauthorized/meta.js.map +1 -1
  513. package/dist/views/Verify/index.d.ts.map +1 -1
  514. package/dist/views/Verify/index.js +59 -43
  515. package/dist/views/Verify/index.js.map +1 -1
  516. package/dist/views/Verify/meta.js +12 -8
  517. package/dist/views/Verify/meta.js.map +1 -1
  518. package/dist/views/Version/Default/SetStepNav.d.ts.map +1 -1
  519. package/dist/views/Version/Default/SetStepNav.js +147 -103
  520. package/dist/views/Version/Default/SetStepNav.js.map +1 -1
  521. package/dist/views/Version/Default/index.d.ts.map +1 -1
  522. package/dist/views/Version/Default/index.js +200 -114
  523. package/dist/views/Version/Default/index.js.map +1 -1
  524. package/dist/views/Version/Default/types.js +1 -2
  525. package/dist/views/Version/Default/types.js.map +1 -1
  526. package/dist/views/Version/RenderFieldsToDiff/Label/index.js +6 -5
  527. package/dist/views/Version/RenderFieldsToDiff/Label/index.js.map +1 -1
  528. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.d.ts.map +1 -1
  529. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +68 -70
  530. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
  531. package/dist/views/Version/RenderFieldsToDiff/fields/Nested/index.d.ts.map +1 -1
  532. package/dist/views/Version/RenderFieldsToDiff/fields/Nested/index.js +35 -32
  533. package/dist/views/Version/RenderFieldsToDiff/fields/Nested/index.js.map +1 -1
  534. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js +108 -78
  535. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js.map +1 -1
  536. package/dist/views/Version/RenderFieldsToDiff/fields/Select/DiffViewer/index.js +17 -11
  537. package/dist/views/Version/RenderFieldsToDiff/fields/Select/DiffViewer/index.js.map +1 -1
  538. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.d.ts.map +1 -1
  539. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js +42 -38
  540. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js.map +1 -1
  541. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.d.ts.map +1 -1
  542. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js +42 -32
  543. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js.map +1 -1
  544. package/dist/views/Version/RenderFieldsToDiff/fields/Text/DiffViewer/index.js +17 -11
  545. package/dist/views/Version/RenderFieldsToDiff/fields/Text/DiffViewer/index.js.map +1 -1
  546. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.d.ts.map +1 -1
  547. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js +39 -30
  548. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js.map +1 -1
  549. package/dist/views/Version/RenderFieldsToDiff/fields/diffMethods.js +4 -5
  550. package/dist/views/Version/RenderFieldsToDiff/fields/diffMethods.js.map +1 -1
  551. package/dist/views/Version/RenderFieldsToDiff/fields/index.d.ts +2 -2
  552. package/dist/views/Version/RenderFieldsToDiff/fields/index.js +20 -21
  553. package/dist/views/Version/RenderFieldsToDiff/fields/index.js.map +1 -1
  554. package/dist/views/Version/RenderFieldsToDiff/fields/styles.js +23 -24
  555. package/dist/views/Version/RenderFieldsToDiff/fields/styles.js.map +1 -1
  556. package/dist/views/Version/RenderFieldsToDiff/fields/types.js +1 -2
  557. package/dist/views/Version/RenderFieldsToDiff/fields/types.js.map +1 -1
  558. package/dist/views/Version/RenderFieldsToDiff/index.d.ts.map +1 -1
  559. package/dist/views/Version/RenderFieldsToDiff/index.js +106 -97
  560. package/dist/views/Version/RenderFieldsToDiff/index.js.map +1 -1
  561. package/dist/views/Version/RenderFieldsToDiff/types.js +1 -2
  562. package/dist/views/Version/RenderFieldsToDiff/types.js.map +1 -1
  563. package/dist/views/Version/Restore/index.d.ts.map +1 -1
  564. package/dist/views/Version/Restore/index.js +116 -111
  565. package/dist/views/Version/Restore/index.js.map +1 -1
  566. package/dist/views/Version/Restore/index.scss +26 -10
  567. package/dist/views/Version/Restore/types.js +1 -2
  568. package/dist/views/Version/Restore/types.js.map +1 -1
  569. package/dist/views/Version/SelectComparison/index.d.ts.map +1 -1
  570. package/dist/views/Version/SelectComparison/index.js +153 -138
  571. package/dist/views/Version/SelectComparison/index.js.map +1 -1
  572. package/dist/views/Version/SelectComparison/types.d.ts +1 -0
  573. package/dist/views/Version/SelectComparison/types.d.ts.map +1 -1
  574. package/dist/views/Version/SelectComparison/types.js +1 -2
  575. package/dist/views/Version/SelectComparison/types.js.map +1 -1
  576. package/dist/views/Version/SelectLocales/index.d.ts.map +1 -1
  577. package/dist/views/Version/SelectLocales/index.js +58 -30
  578. package/dist/views/Version/SelectLocales/index.js.map +1 -1
  579. package/dist/views/Version/SelectLocales/types.js +1 -2
  580. package/dist/views/Version/SelectLocales/types.js.map +1 -1
  581. package/dist/views/Version/index.js +126 -105
  582. package/dist/views/Version/index.js.map +1 -1
  583. package/dist/views/Version/meta.d.ts.map +1 -1
  584. package/dist/views/Version/meta.js +50 -39
  585. package/dist/views/Version/meta.js.map +1 -1
  586. package/dist/views/Versions/buildColumns.d.ts.map +1 -1
  587. package/dist/views/Versions/buildColumns.js +95 -75
  588. package/dist/views/Versions/buildColumns.js.map +1 -1
  589. package/dist/views/Versions/cells/AutosaveCell/index.d.ts.map +1 -1
  590. package/dist/views/Versions/cells/AutosaveCell/index.js +98 -43
  591. package/dist/views/Versions/cells/AutosaveCell/index.js.map +1 -1
  592. package/dist/views/Versions/cells/CreatedAt/index.d.ts.map +1 -1
  593. package/dist/views/Versions/cells/CreatedAt/index.js +70 -17
  594. package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
  595. package/dist/views/Versions/cells/ID/index.js +17 -5
  596. package/dist/views/Versions/cells/ID/index.js.map +1 -1
  597. package/dist/views/Versions/getLatestVersion.js +33 -29
  598. package/dist/views/Versions/getLatestVersion.js.map +1 -1
  599. package/dist/views/Versions/index.client.js +80 -77
  600. package/dist/views/Versions/index.client.js.map +1 -1
  601. package/dist/views/Versions/index.d.ts.map +1 -1
  602. package/dist/views/Versions/index.js +168 -126
  603. package/dist/views/Versions/index.js.map +1 -1
  604. package/dist/views/Versions/meta.d.ts.map +1 -1
  605. package/dist/views/Versions/meta.js +44 -33
  606. package/dist/views/Versions/meta.js.map +1 -1
  607. package/dist/views/Versions/types.js +1 -2
  608. package/dist/views/Versions/types.js.map +1 -1
  609. package/dist/withPayload.d.ts.map +1 -1
  610. package/dist/withPayload.js +83 -117
  611. package/dist/withPayload.js.map +1 -1
  612. package/package.json +38 -20
  613. package/dist/cjs/withPayload.cjs +0 -145
  614. package/dist/cjs/withPayload.cjs.map +0 -1
@@ -43,662 +43,715 @@ import { update as updateGlobal } from './globals/update.js';
43
43
  import { generateOGImage } from './og/index.js';
44
44
  import { routeError } from './routeError.js';
45
45
  const endpoints = {
46
- collection: {
47
- DELETE: {
48
- delete: deleteDoc,
49
- deleteByID
50
- },
51
- GET: {
52
- count,
53
- 'doc-access-by-id': docAccess,
54
- 'doc-versions-by-id': findVersionByID,
55
- find,
56
- findByID,
57
- getFile,
58
- init,
59
- me,
60
- preview: previewCollection,
61
- versions: findVersions
62
- },
63
- PATCH: {
64
- update,
65
- updateByID
66
- },
67
- POST: {
68
- access: docAccess,
69
- create,
70
- 'doc-access-by-id': docAccess,
71
- 'doc-verify-by-id': verifyEmail,
72
- 'doc-versions-by-id': restoreVersion,
73
- duplicate,
74
- 'first-register': registerFirstUser,
75
- 'forgot-password': forgotPassword,
76
- login,
77
- logout,
78
- 'refresh-token': refresh,
79
- 'reset-password': resetPassword,
80
- unlock
81
- }
46
+ collection: {
47
+ DELETE: {
48
+ delete: deleteDoc,
49
+ deleteByID
82
50
  },
83
- global: {
84
- GET: {
85
- 'doc-access': docAccessGlobal,
86
- 'doc-versions': findVersionsGlobal,
87
- 'doc-versions-by-id': findVersionByIdGlobal,
88
- findOne,
89
- preview: previewGlobal
90
- },
91
- POST: {
92
- 'doc-access': docAccessGlobal,
93
- 'doc-versions-by-id': restoreVersionGlobal,
94
- update: updateGlobal
95
- }
51
+ GET: {
52
+ count,
53
+ 'doc-access-by-id': docAccess,
54
+ 'doc-versions-by-id': findVersionByID,
55
+ find,
56
+ findByID,
57
+ getFile,
58
+ init,
59
+ me,
60
+ preview: previewCollection,
61
+ versions: findVersions
96
62
  },
97
- root: {
98
- GET: {
99
- access,
100
- og: generateOGImage
101
- },
102
- POST: {
103
- 'form-state': buildFormState
104
- }
63
+ PATCH: {
64
+ update,
65
+ updateByID
66
+ },
67
+ POST: {
68
+ access: docAccess,
69
+ create,
70
+ 'doc-access-by-id': docAccess,
71
+ 'doc-verify-by-id': verifyEmail,
72
+ 'doc-versions-by-id': restoreVersion,
73
+ duplicate,
74
+ 'first-register': registerFirstUser,
75
+ 'forgot-password': forgotPassword,
76
+ login,
77
+ logout,
78
+ 'refresh-token': refresh,
79
+ 'reset-password': resetPassword,
80
+ unlock
81
+ }
82
+ },
83
+ global: {
84
+ GET: {
85
+ 'doc-access': docAccessGlobal,
86
+ 'doc-versions': findVersionsGlobal,
87
+ 'doc-versions-by-id': findVersionByIdGlobal,
88
+ findOne,
89
+ preview: previewGlobal
90
+ },
91
+ POST: {
92
+ 'doc-access': docAccessGlobal,
93
+ 'doc-versions-by-id': restoreVersionGlobal,
94
+ update: updateGlobal
95
+ }
96
+ },
97
+ root: {
98
+ GET: {
99
+ access,
100
+ og: generateOGImage
101
+ },
102
+ POST: {
103
+ 'form-state': buildFormState
105
104
  }
105
+ }
106
106
  };
107
- const handleCustomEndpoints = async ({ endpoints, entitySlug, req })=>{
108
- if (endpoints && endpoints.length > 0) {
109
- let handlerParams = {};
110
- const { pathname } = req;
111
- /*
112
- * 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
113
- * target the correct API endpoint starting with basePath, which is good!
114
- *
115
- * 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
116
- * (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.
117
- */ let adjustedPathname = pathname;
118
- if (process.env.NEXT_BASE_PATH) {
119
- adjustedPathname = process.env.NEXT_BASE_PATH + pathname;
120
- }
121
- const pathPrefix = req.payload.config.routes.api + (entitySlug ? `/${entitySlug}` : '');
122
- const customEndpoint = endpoints.find((endpoint)=>{
123
- if (endpoint.method === req.method.toLowerCase()) {
124
- const pathMatchFn = match(`${pathPrefix}${endpoint.path}`, {
125
- decode: decodeURIComponent
126
- });
127
- const tempParams = pathMatchFn(adjustedPathname);
128
- if (tempParams) {
129
- handlerParams = tempParams.params;
130
- return true;
131
- }
132
- }
107
+ const handleCustomEndpoints = async ({
108
+ endpoints,
109
+ entitySlug,
110
+ req
111
+ }) => {
112
+ if (endpoints && endpoints.length > 0) {
113
+ let handlerParams = {};
114
+ const {
115
+ pathname
116
+ } = req;
117
+ /*
118
+ * 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
119
+ * target the correct API endpoint starting with basePath, which is good!
120
+ *
121
+ * 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
122
+ * (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.
123
+ */
124
+ let adjustedPathname = pathname;
125
+ if (process.env.NEXT_BASE_PATH) {
126
+ adjustedPathname = process.env.NEXT_BASE_PATH + pathname;
127
+ }
128
+ const pathPrefix = req.payload.config.routes.api + (entitySlug ? `/${entitySlug}` : '');
129
+ const customEndpoint = endpoints.find(endpoint => {
130
+ if (endpoint.method === req.method.toLowerCase()) {
131
+ const pathMatchFn = match(`${pathPrefix}${endpoint.path}`, {
132
+ decode: decodeURIComponent
133
133
  });
134
- if (customEndpoint) {
135
- req.routeParams = {
136
- ...req.routeParams,
137
- ...handlerParams
138
- };
139
- const res = await customEndpoint.handler(req);
140
- if (res instanceof Response) {
141
- if (req.responseHeaders) {
142
- const mergedResponse = new Response(res.body, {
143
- headers: mergeHeaders(req.responseHeaders, res.headers),
144
- status: res.status,
145
- statusText: res.statusText
146
- });
147
- return mergedResponse;
148
- }
149
- return res;
150
- }
134
+ const tempParams = pathMatchFn(adjustedPathname);
135
+ if (tempParams) {
136
+ handlerParams = tempParams.params;
137
+ return true;
138
+ }
139
+ }
140
+ });
141
+ if (customEndpoint) {
142
+ req.routeParams = {
143
+ ...req.routeParams,
144
+ ...handlerParams
145
+ };
146
+ const res = await customEndpoint.handler(req);
147
+ if (res instanceof Response) {
148
+ if (req.responseHeaders) {
149
+ const mergedResponse = new Response(res.body, {
150
+ headers: mergeHeaders(req.responseHeaders, res.headers),
151
+ status: res.status,
152
+ statusText: res.statusText
153
+ });
154
+ return mergedResponse;
151
155
  }
156
+ return res;
157
+ }
152
158
  }
153
- return null;
159
+ }
160
+ return null;
154
161
  };
155
- const RouteNotFoundResponse = ({ slug, req })=>Response.json({
156
- message: `Route Not Found: "${slug.join('/')}"`
157
- }, {
158
- headers: headersWithCors({
159
- headers: new Headers(),
160
- req
161
- }),
162
- status: httpStatus.NOT_FOUND
162
+ const RouteNotFoundResponse = ({
163
+ slug,
164
+ req
165
+ }) => Response.json({
166
+ message: `Route Not Found: "${slug.join('/')}"`
167
+ }, {
168
+ headers: headersWithCors({
169
+ headers: new Headers(),
170
+ req
171
+ }),
172
+ status: httpStatus.NOT_FOUND
173
+ });
174
+ export const OPTIONS = config => async request => {
175
+ let req;
176
+ try {
177
+ req = await createPayloadRequest({
178
+ config,
179
+ request
163
180
  });
164
- export const OPTIONS = (config)=>async (request)=>{
165
- let req;
166
- try {
167
- req = await createPayloadRequest({
168
- config,
169
- request
170
- });
171
- return Response.json({}, {
172
- headers: headersWithCors({
173
- headers: new Headers(),
174
- req
175
- }),
176
- status: 200
177
- });
178
- } catch (error) {
179
- return routeError({
180
- config,
181
- err: error,
182
- req: req || request
183
- });
184
- }
185
- };
186
- export const GET = (config)=>async (request, { params: { slug } })=>{
187
- const [slug1, slug2, slug3, slug4] = slug;
188
- let req;
189
- let res;
190
- let collection;
191
- try {
192
- req = await createPayloadRequest({
193
- config,
194
- request
195
- });
196
- const disableEndpoints = endpointsAreDisabled({
197
- endpoints: req.payload.config.endpoints,
198
- request
181
+ return Response.json({}, {
182
+ headers: headersWithCors({
183
+ headers: new Headers(),
184
+ req
185
+ }),
186
+ status: 200
187
+ });
188
+ } catch (error) {
189
+ return routeError({
190
+ config,
191
+ err: error,
192
+ req: req || request
193
+ });
194
+ }
195
+ };
196
+ export const GET = config => async (request, {
197
+ params: {
198
+ slug
199
+ }
200
+ }) => {
201
+ const [slug1, slug2, slug3, slug4] = slug;
202
+ let req;
203
+ let res;
204
+ let collection;
205
+ try {
206
+ req = await createPayloadRequest({
207
+ config,
208
+ request
209
+ });
210
+ const disableEndpoints = endpointsAreDisabled({
211
+ endpoints: req.payload.config.endpoints,
212
+ request
213
+ });
214
+ if (disableEndpoints) {
215
+ return disableEndpoints;
216
+ }
217
+ collection = req.payload.collections?.[slug1];
218
+ if (collection) {
219
+ req.routeParams.collection = slug1;
220
+ const disableEndpoints = endpointsAreDisabled({
221
+ endpoints: collection.config.endpoints,
222
+ request
223
+ });
224
+ if (disableEndpoints) {
225
+ return disableEndpoints;
226
+ }
227
+ const customEndpointResponse = await handleCustomEndpoints({
228
+ endpoints: collection.config.endpoints,
229
+ entitySlug: slug1,
230
+ req
231
+ });
232
+ if (customEndpointResponse) {
233
+ return customEndpointResponse;
234
+ } else {
235
+ await addDataAndFileToRequest(req);
236
+ addLocalesToRequestFromData(req);
237
+ switch (slug.length) {
238
+ case 1:
239
+ // /:collection
240
+ res = await endpoints.collection.GET.find({
241
+ collection,
242
+ req
199
243
  });
200
- if (disableEndpoints) return disableEndpoints;
201
- collection = req.payload.collections?.[slug1];
202
- if (collection) {
203
- req.routeParams.collection = slug1;
204
- const disableEndpoints = endpointsAreDisabled({
205
- endpoints: collection.config.endpoints,
206
- request
207
- });
208
- if (disableEndpoints) return disableEndpoints;
209
- const customEndpointResponse = await handleCustomEndpoints({
210
- endpoints: collection.config.endpoints,
211
- entitySlug: slug1,
212
- req
213
- });
214
- if (customEndpointResponse) {
215
- return customEndpointResponse;
216
- } else {
217
- await addDataAndFileToRequest(req);
218
- addLocalesToRequestFromData(req);
219
- switch(slug.length){
220
- case 1:
221
- // /:collection
222
- res = await endpoints.collection.GET.find({
223
- collection,
224
- req
225
- });
226
- break;
227
- case 2:
228
- if (slug2 in endpoints.collection.GET) {
229
- // /:collection/init
230
- // /:collection/me
231
- // /:collection/versions
232
- // /:collection/count
233
- res = await endpoints.collection.GET[slug2]({
234
- collection,
235
- req
236
- });
237
- } else {
238
- // /:collection/:id
239
- res = await endpoints.collection.GET.findByID({
240
- id: slug2,
241
- collection,
242
- req
243
- });
244
- }
245
- break;
246
- case 3:
247
- if (slug2 === 'file') {
248
- // /:collection/file/:filename
249
- res = await endpoints.collection.GET.getFile({
250
- collection,
251
- filename: slug3,
252
- req
253
- });
254
- } else if (slug3 in endpoints.collection.GET) {
255
- // /:collection/:id/preview
256
- res = await endpoints.collection.GET[slug3]({
257
- id: slug2,
258
- collection,
259
- req
260
- });
261
- } else if (`doc-${slug2}-by-id` in endpoints.collection.GET) {
262
- // /:collection/access/:id
263
- // /:collection/versions/:id
264
- res = await endpoints.collection.GET[`doc-${slug2}-by-id`]({
265
- id: slug3,
266
- collection,
267
- req
268
- });
269
- }
270
- break;
271
- }
272
- }
273
- } else if (slug1 === 'globals') {
274
- const globalConfig = req.payload.config.globals.find((global)=>global.slug === slug2);
275
- req.routeParams.global = globalConfig.slug;
276
- const disableEndpoints = endpointsAreDisabled({
277
- endpoints: globalConfig.endpoints,
278
- request
279
- });
280
- if (disableEndpoints) return disableEndpoints;
281
- const customEndpointResponse = await handleCustomEndpoints({
282
- endpoints: globalConfig.endpoints,
283
- entitySlug: `${slug1}/${slug2}`,
284
- req
285
- });
286
- if (customEndpointResponse) {
287
- return customEndpointResponse;
288
- } else {
289
- await addDataAndFileToRequest(req);
290
- addLocalesToRequestFromData(req);
291
- switch(slug.length){
292
- case 2:
293
- // /globals/:slug
294
- res = await endpoints.global.GET.findOne({
295
- globalConfig,
296
- req
297
- });
298
- break;
299
- case 3:
300
- if (slug3 in endpoints.global.GET) {
301
- // /globals/:slug/preview
302
- res = await endpoints.global.GET[slug3]({
303
- globalConfig,
304
- req
305
- });
306
- } else if (`doc-${slug3}` in endpoints.global.GET) {
307
- // /globals/:slug/access
308
- // /globals/:slug/versions
309
- // /globals/:slug/preview
310
- res = await (endpoints.global.GET?.[`doc-${slug3}`])({
311
- globalConfig,
312
- req
313
- });
314
- }
315
- break;
316
- case 4:
317
- if (`doc-${slug3}-by-id` in endpoints.global.GET) {
318
- // /globals/:slug/versions/:id
319
- res = await (endpoints.global.GET?.[`doc-${slug3}-by-id`])({
320
- id: slug4,
321
- globalConfig,
322
- req
323
- });
324
- }
325
- break;
326
- }
327
- }
328
- } else if (slug.length === 1 && slug1 in endpoints.root.GET) {
329
- await addDataAndFileToRequest(req);
330
- addLocalesToRequestFromData(req);
331
- res = await endpoints.root.GET[slug1]({
332
- req
333
- });
334
- }
335
- if (res instanceof Response) {
336
- if (req.responseHeaders) {
337
- const mergedResponse = new Response(res.body, {
338
- headers: mergeHeaders(req.responseHeaders, res.headers),
339
- status: res.status,
340
- statusText: res.statusText
341
- });
342
- return mergedResponse;
343
- }
344
- return res;
244
+ break;
245
+ case 2:
246
+ if (slug2 in endpoints.collection.GET) {
247
+ // /:collection/init
248
+ // /:collection/me
249
+ // /:collection/versions
250
+ // /:collection/count
251
+ res = await endpoints.collection.GET[slug2]({
252
+ collection,
253
+ req
254
+ });
255
+ } else {
256
+ // /:collection/:id
257
+ res = await endpoints.collection.GET.findByID({
258
+ id: slug2,
259
+ collection,
260
+ req
261
+ });
345
262
  }
346
- // root routes
347
- const customEndpointResponse = await handleCustomEndpoints({
348
- endpoints: req.payload.config.endpoints,
263
+ break;
264
+ case 3:
265
+ if (slug2 === 'file') {
266
+ // /:collection/file/:filename
267
+ res = await endpoints.collection.GET.getFile({
268
+ collection,
269
+ filename: slug3,
349
270
  req
350
- });
351
- if (customEndpointResponse) return customEndpointResponse;
352
- return RouteNotFoundResponse({
353
- slug,
271
+ });
272
+ } else if (slug3 in endpoints.collection.GET) {
273
+ // /:collection/:id/preview
274
+ res = await endpoints.collection.GET[slug3]({
275
+ id: slug2,
276
+ collection,
354
277
  req
355
- });
356
- } catch (error) {
357
- return routeError({
278
+ });
279
+ } else if (`doc-${slug2}-by-id` in endpoints.collection.GET) {
280
+ // /:collection/access/:id
281
+ // /:collection/versions/:id
282
+ res = await endpoints.collection.GET[`doc-${slug2}-by-id`]({
283
+ id: slug3,
358
284
  collection,
359
- config,
360
- err: error,
361
- req: req || request
362
- });
363
- }
364
- };
365
- export const POST = (config)=>async (request, { params: { slug } })=>{
366
- const [slug1, slug2, slug3, slug4] = slug;
367
- let req;
368
- let res;
369
- let collection;
370
- const overrideHttpMethod = request.headers.get('X-HTTP-Method-Override');
371
- if (overrideHttpMethod === 'GET') {
372
- return await GET(config)(request, {
373
- params: {
374
- slug
375
- }
376
- });
285
+ req
286
+ });
287
+ }
288
+ break;
377
289
  }
378
- try {
379
- req = await createPayloadRequest({
380
- config,
381
- request
290
+ }
291
+ } else if (slug1 === 'globals') {
292
+ const globalConfig = req.payload.config.globals.find(global => global.slug === slug2);
293
+ req.routeParams.global = globalConfig.slug;
294
+ const disableEndpoints = endpointsAreDisabled({
295
+ endpoints: globalConfig.endpoints,
296
+ request
297
+ });
298
+ if (disableEndpoints) {
299
+ return disableEndpoints;
300
+ }
301
+ const customEndpointResponse = await handleCustomEndpoints({
302
+ endpoints: globalConfig.endpoints,
303
+ entitySlug: `${slug1}/${slug2}`,
304
+ req
305
+ });
306
+ if (customEndpointResponse) {
307
+ return customEndpointResponse;
308
+ } else {
309
+ await addDataAndFileToRequest(req);
310
+ addLocalesToRequestFromData(req);
311
+ switch (slug.length) {
312
+ case 2:
313
+ // /globals/:slug
314
+ res = await endpoints.global.GET.findOne({
315
+ globalConfig,
316
+ req
382
317
  });
383
- collection = req.payload.collections?.[slug1];
384
- const disableEndpoints = endpointsAreDisabled({
385
- endpoints: req.payload.config.endpoints,
386
- request
387
- });
388
- if (disableEndpoints) return disableEndpoints;
389
- if (collection) {
390
- req.routeParams.collection = slug1;
391
- const disableEndpoints = endpointsAreDisabled({
392
- endpoints: collection.config.endpoints,
393
- request
394
- });
395
- if (disableEndpoints) return disableEndpoints;
396
- const customEndpointResponse = await handleCustomEndpoints({
397
- endpoints: collection.config.endpoints,
398
- entitySlug: slug1,
399
- req
400
- });
401
- if (customEndpointResponse) {
402
- return customEndpointResponse;
403
- } else {
404
- await addDataAndFileToRequest(req);
405
- addLocalesToRequestFromData(req);
406
- switch(slug.length){
407
- case 1:
408
- // /:collection
409
- res = await endpoints.collection.POST.create({
410
- collection,
411
- req
412
- });
413
- break;
414
- case 2:
415
- if (slug2 in endpoints.collection.POST) {
416
- // /:collection/login
417
- // /:collection/logout
418
- // /:collection/unlock
419
- // /:collection/access
420
- // /:collection/first-register
421
- // /:collection/forgot-password
422
- // /:collection/reset-password
423
- // /:collection/refresh-token
424
- res = await (endpoints.collection.POST?.[slug2])({
425
- collection,
426
- req
427
- });
428
- }
429
- break;
430
- case 3:
431
- if (`doc-${slug2}-by-id` in endpoints.collection.POST) {
432
- // /:collection/access/:id
433
- // /:collection/versions/:id
434
- // /:collection/verify/:token ("doc-verify-by-id" uses id as token internally)
435
- res = await endpoints.collection.POST[`doc-${slug2}-by-id`]({
436
- id: slug3,
437
- collection,
438
- req
439
- });
440
- } else if (slug3 === 'duplicate' && collection.config.disableDuplicate !== true) {
441
- // /:collection/:id/duplicate
442
- res = await endpoints.collection.POST.duplicate({
443
- id: slug2,
444
- collection,
445
- req
446
- });
447
- }
448
- break;
449
- }
450
- }
451
- } else if (slug1 === 'globals' && slug2) {
452
- const globalConfig = req.payload.config.globals.find((global)=>global.slug === slug2);
453
- req.routeParams.global = globalConfig.slug;
454
- const disableEndpoints = endpointsAreDisabled({
455
- endpoints: globalConfig.endpoints,
456
- request
457
- });
458
- if (disableEndpoints) return disableEndpoints;
459
- const customEndpointResponse = await handleCustomEndpoints({
460
- endpoints: globalConfig.endpoints,
461
- entitySlug: `${slug1}/${slug2}`,
462
- req
463
- });
464
- if (customEndpointResponse) {
465
- return customEndpointResponse;
466
- } else {
467
- await addDataAndFileToRequest(req);
468
- addLocalesToRequestFromData(req);
469
- switch(slug.length){
470
- case 2:
471
- // /globals/:slug
472
- res = await endpoints.global.POST.update({
473
- globalConfig,
474
- req
475
- });
476
- break;
477
- case 3:
478
- if (`doc-${slug3}` in endpoints.global.POST) {
479
- // /globals/:slug/access
480
- res = await (endpoints.global.POST?.[`doc-${slug3}`])({
481
- globalConfig,
482
- req
483
- });
484
- }
485
- break;
486
- case 4:
487
- if (`doc-${slug3}-by-id` in endpoints.global.POST) {
488
- // /globals/:slug/versions/:id
489
- res = await (endpoints.global.POST?.[`doc-${slug3}-by-id`])({
490
- id: slug4,
491
- globalConfig,
492
- req
493
- });
494
- }
495
- break;
496
- default:
497
- res = new Response('Route Not Found', {
498
- status: 404
499
- });
500
- }
501
- }
502
- } else if (slug.length === 1 && slug1 in endpoints.root.POST) {
503
- await addDataAndFileToRequest(req);
504
- addLocalesToRequestFromData(req);
505
- res = await endpoints.root.POST[slug1]({
506
- req
507
- });
508
- }
509
- if (res instanceof Response) {
510
- if (req.responseHeaders) {
511
- const mergedResponse = new Response(res.body, {
512
- headers: mergeHeaders(req.responseHeaders, res.headers),
513
- status: res.status,
514
- statusText: res.statusText
515
- });
516
- return mergedResponse;
517
- }
518
- return res;
318
+ break;
319
+ case 3:
320
+ if (slug3 in endpoints.global.GET) {
321
+ // /globals/:slug/preview
322
+ res = await endpoints.global.GET[slug3]({
323
+ globalConfig,
324
+ req
325
+ });
326
+ } else if (`doc-${slug3}` in endpoints.global.GET) {
327
+ // /globals/:slug/access
328
+ // /globals/:slug/versions
329
+ // /globals/:slug/preview
330
+ res = await (endpoints.global.GET?.[`doc-${slug3}`])({
331
+ globalConfig,
332
+ req
333
+ });
519
334
  }
520
- // root routes
521
- const customEndpointResponse = await handleCustomEndpoints({
522
- endpoints: req.payload.config.endpoints,
335
+ break;
336
+ case 4:
337
+ if (`doc-${slug3}-by-id` in endpoints.global.GET) {
338
+ // /globals/:slug/versions/:id
339
+ res = await (endpoints.global.GET?.[`doc-${slug3}-by-id`])({
340
+ id: slug4,
341
+ globalConfig,
523
342
  req
343
+ });
344
+ }
345
+ break;
346
+ }
347
+ }
348
+ } else if (slug.length === 1 && slug1 in endpoints.root.GET) {
349
+ await addDataAndFileToRequest(req);
350
+ addLocalesToRequestFromData(req);
351
+ res = await endpoints.root.GET[slug1]({
352
+ req
353
+ });
354
+ }
355
+ if (res instanceof Response) {
356
+ if (req.responseHeaders) {
357
+ const mergedResponse = new Response(res.body, {
358
+ headers: mergeHeaders(req.responseHeaders, res.headers),
359
+ status: res.status,
360
+ statusText: res.statusText
361
+ });
362
+ return mergedResponse;
363
+ }
364
+ return res;
365
+ }
366
+ // root routes
367
+ const customEndpointResponse = await handleCustomEndpoints({
368
+ endpoints: req.payload.config.endpoints,
369
+ req
370
+ });
371
+ if (customEndpointResponse) {
372
+ return customEndpointResponse;
373
+ }
374
+ return RouteNotFoundResponse({
375
+ slug,
376
+ req
377
+ });
378
+ } catch (error) {
379
+ return routeError({
380
+ collection,
381
+ config,
382
+ err: error,
383
+ req: req || request
384
+ });
385
+ }
386
+ };
387
+ export const POST = config => async (request, {
388
+ params: {
389
+ slug
390
+ }
391
+ }) => {
392
+ const [slug1, slug2, slug3, slug4] = slug;
393
+ let req;
394
+ let res;
395
+ let collection;
396
+ const overrideHttpMethod = request.headers.get('X-HTTP-Method-Override');
397
+ if (overrideHttpMethod === 'GET') {
398
+ return await GET(config)(request, {
399
+ params: {
400
+ slug
401
+ }
402
+ });
403
+ }
404
+ try {
405
+ req = await createPayloadRequest({
406
+ config,
407
+ request
408
+ });
409
+ collection = req.payload.collections?.[slug1];
410
+ const disableEndpoints = endpointsAreDisabled({
411
+ endpoints: req.payload.config.endpoints,
412
+ request
413
+ });
414
+ if (disableEndpoints) {
415
+ return disableEndpoints;
416
+ }
417
+ if (collection) {
418
+ req.routeParams.collection = slug1;
419
+ const disableEndpoints = endpointsAreDisabled({
420
+ endpoints: collection.config.endpoints,
421
+ request
422
+ });
423
+ if (disableEndpoints) {
424
+ return disableEndpoints;
425
+ }
426
+ const customEndpointResponse = await handleCustomEndpoints({
427
+ endpoints: collection.config.endpoints,
428
+ entitySlug: slug1,
429
+ req
430
+ });
431
+ if (customEndpointResponse) {
432
+ return customEndpointResponse;
433
+ } else {
434
+ await addDataAndFileToRequest(req);
435
+ addLocalesToRequestFromData(req);
436
+ switch (slug.length) {
437
+ case 1:
438
+ // /:collection
439
+ res = await endpoints.collection.POST.create({
440
+ collection,
441
+ req
524
442
  });
525
- if (customEndpointResponse) return customEndpointResponse;
526
- return RouteNotFoundResponse({
527
- slug,
443
+ break;
444
+ case 2:
445
+ if (slug2 in endpoints.collection.POST) {
446
+ // /:collection/login
447
+ // /:collection/logout
448
+ // /:collection/unlock
449
+ // /:collection/access
450
+ // /:collection/first-register
451
+ // /:collection/forgot-password
452
+ // /:collection/reset-password
453
+ // /:collection/refresh-token
454
+ res = await (endpoints.collection.POST?.[slug2])({
455
+ collection,
528
456
  req
529
- });
530
- } catch (error) {
531
- return routeError({
457
+ });
458
+ }
459
+ break;
460
+ case 3:
461
+ if (`doc-${slug2}-by-id` in endpoints.collection.POST) {
462
+ // /:collection/access/:id
463
+ // /:collection/versions/:id
464
+ // /:collection/verify/:token ("doc-verify-by-id" uses id as token internally)
465
+ res = await endpoints.collection.POST[`doc-${slug2}-by-id`]({
466
+ id: slug3,
532
467
  collection,
533
- config,
534
- err: error,
535
- req: req || request
536
- });
468
+ req
469
+ });
470
+ } else if (slug3 === 'duplicate' && collection.config.disableDuplicate !== true) {
471
+ // /:collection/:id/duplicate
472
+ res = await endpoints.collection.POST.duplicate({
473
+ id: slug2,
474
+ collection,
475
+ req
476
+ });
477
+ }
478
+ break;
537
479
  }
538
- };
539
- export const DELETE = (config)=>async (request, { params: { slug } })=>{
540
- const [slug1, slug2] = slug;
541
- let req;
542
- let res;
543
- let collection;
544
- try {
545
- req = await createPayloadRequest({
546
- config,
547
- request
548
- });
549
- collection = req.payload.collections?.[slug1];
550
- const disableEndpoints = endpointsAreDisabled({
551
- endpoints: req.payload.config.endpoints,
552
- request
480
+ }
481
+ } else if (slug1 === 'globals' && slug2) {
482
+ const globalConfig = req.payload.config.globals.find(global => global.slug === slug2);
483
+ req.routeParams.global = globalConfig.slug;
484
+ const disableEndpoints = endpointsAreDisabled({
485
+ endpoints: globalConfig.endpoints,
486
+ request
487
+ });
488
+ if (disableEndpoints) {
489
+ return disableEndpoints;
490
+ }
491
+ const customEndpointResponse = await handleCustomEndpoints({
492
+ endpoints: globalConfig.endpoints,
493
+ entitySlug: `${slug1}/${slug2}`,
494
+ req
495
+ });
496
+ if (customEndpointResponse) {
497
+ return customEndpointResponse;
498
+ } else {
499
+ await addDataAndFileToRequest(req);
500
+ addLocalesToRequestFromData(req);
501
+ switch (slug.length) {
502
+ case 2:
503
+ // /globals/:slug
504
+ res = await endpoints.global.POST.update({
505
+ globalConfig,
506
+ req
553
507
  });
554
- if (disableEndpoints) return disableEndpoints;
555
- if (collection) {
556
- req.routeParams.collection = slug1;
557
- const disableEndpoints = endpointsAreDisabled({
558
- endpoints: collection.config.endpoints,
559
- request
560
- });
561
- if (disableEndpoints) return disableEndpoints;
562
- const customEndpointResponse = await handleCustomEndpoints({
563
- endpoints: collection.config.endpoints,
564
- entitySlug: slug1,
565
- req
566
- });
567
- if (customEndpointResponse) {
568
- return customEndpointResponse;
569
- } else {
570
- await addDataAndFileToRequest(req);
571
- addLocalesToRequestFromData(req);
572
- switch(slug.length){
573
- case 1:
574
- // /:collection
575
- res = await endpoints.collection.DELETE.delete({
576
- collection,
577
- req
578
- });
579
- break;
580
- case 2:
581
- // /:collection/:id
582
- res = await endpoints.collection.DELETE.deleteByID({
583
- id: slug2,
584
- collection,
585
- req
586
- });
587
- break;
588
- }
589
- }
590
- }
591
- if (res instanceof Response) {
592
- if (req.responseHeaders) {
593
- const mergedResponse = new Response(res.body, {
594
- headers: mergeHeaders(req.responseHeaders, res.headers),
595
- status: res.status,
596
- statusText: res.statusText
597
- });
598
- return mergedResponse;
599
- }
600
- return res;
601
- }
602
- // root routes
603
- const customEndpointResponse = await handleCustomEndpoints({
604
- endpoints: req.payload.config.endpoints,
508
+ break;
509
+ case 3:
510
+ if (`doc-${slug3}` in endpoints.global.POST) {
511
+ // /globals/:slug/access
512
+ res = await (endpoints.global.POST?.[`doc-${slug3}`])({
513
+ globalConfig,
605
514
  req
606
- });
607
- if (customEndpointResponse) return customEndpointResponse;
608
- return RouteNotFoundResponse({
609
- slug,
515
+ });
516
+ }
517
+ break;
518
+ case 4:
519
+ if (`doc-${slug3}-by-id` in endpoints.global.POST) {
520
+ // /globals/:slug/versions/:id
521
+ res = await (endpoints.global.POST?.[`doc-${slug3}-by-id`])({
522
+ id: slug4,
523
+ globalConfig,
610
524
  req
611
- });
612
- } catch (error) {
613
- return routeError({
614
- collection,
615
- config,
616
- err: error,
617
- req: req || request
525
+ });
526
+ }
527
+ break;
528
+ default:
529
+ res = new Response('Route Not Found', {
530
+ status: 404
618
531
  });
619
532
  }
620
- };
621
- export const PATCH = (config)=>async (request, { params: { slug } })=>{
622
- const [slug1, slug2] = slug;
623
- let req;
624
- let res;
625
- let collection;
626
- try {
627
- req = await createPayloadRequest({
628
- config,
629
- request
630
- });
631
- collection = req.payload.collections?.[slug1];
632
- const disableEndpoints = endpointsAreDisabled({
633
- endpoints: req.payload.config.endpoints,
634
- request
533
+ }
534
+ } else if (slug.length === 1 && slug1 in endpoints.root.POST) {
535
+ await addDataAndFileToRequest(req);
536
+ addLocalesToRequestFromData(req);
537
+ res = await endpoints.root.POST[slug1]({
538
+ req
539
+ });
540
+ }
541
+ if (res instanceof Response) {
542
+ if (req.responseHeaders) {
543
+ const mergedResponse = new Response(res.body, {
544
+ headers: mergeHeaders(req.responseHeaders, res.headers),
545
+ status: res.status,
546
+ statusText: res.statusText
547
+ });
548
+ return mergedResponse;
549
+ }
550
+ return res;
551
+ }
552
+ // root routes
553
+ const customEndpointResponse = await handleCustomEndpoints({
554
+ endpoints: req.payload.config.endpoints,
555
+ req
556
+ });
557
+ if (customEndpointResponse) {
558
+ return customEndpointResponse;
559
+ }
560
+ return RouteNotFoundResponse({
561
+ slug,
562
+ req
563
+ });
564
+ } catch (error) {
565
+ return routeError({
566
+ collection,
567
+ config,
568
+ err: error,
569
+ req: req || request
570
+ });
571
+ }
572
+ };
573
+ export const DELETE = config => async (request, {
574
+ params: {
575
+ slug
576
+ }
577
+ }) => {
578
+ const [slug1, slug2] = slug;
579
+ let req;
580
+ let res;
581
+ let collection;
582
+ try {
583
+ req = await createPayloadRequest({
584
+ config,
585
+ request
586
+ });
587
+ collection = req.payload.collections?.[slug1];
588
+ const disableEndpoints = endpointsAreDisabled({
589
+ endpoints: req.payload.config.endpoints,
590
+ request
591
+ });
592
+ if (disableEndpoints) {
593
+ return disableEndpoints;
594
+ }
595
+ if (collection) {
596
+ req.routeParams.collection = slug1;
597
+ const disableEndpoints = endpointsAreDisabled({
598
+ endpoints: collection.config.endpoints,
599
+ request
600
+ });
601
+ if (disableEndpoints) {
602
+ return disableEndpoints;
603
+ }
604
+ const customEndpointResponse = await handleCustomEndpoints({
605
+ endpoints: collection.config.endpoints,
606
+ entitySlug: slug1,
607
+ req
608
+ });
609
+ if (customEndpointResponse) {
610
+ return customEndpointResponse;
611
+ } else {
612
+ await addDataAndFileToRequest(req);
613
+ addLocalesToRequestFromData(req);
614
+ switch (slug.length) {
615
+ case 1:
616
+ // /:collection
617
+ res = await endpoints.collection.DELETE.delete({
618
+ collection,
619
+ req
635
620
  });
636
- if (disableEndpoints) return disableEndpoints;
637
- if (collection) {
638
- req.routeParams.collection = slug1;
639
- const disableEndpoints = endpointsAreDisabled({
640
- endpoints: collection.config.endpoints,
641
- request
642
- });
643
- if (disableEndpoints) return disableEndpoints;
644
- const customEndpointResponse = await handleCustomEndpoints({
645
- endpoints: collection.config.endpoints,
646
- entitySlug: slug1,
647
- req
648
- });
649
- if (customEndpointResponse) {
650
- return customEndpointResponse;
651
- } else {
652
- await addDataAndFileToRequest(req);
653
- addLocalesToRequestFromData(req);
654
- switch(slug.length){
655
- case 1:
656
- // /:collection
657
- res = await endpoints.collection.PATCH.update({
658
- collection,
659
- req
660
- });
661
- break;
662
- case 2:
663
- // /:collection/:id
664
- res = await endpoints.collection.PATCH.updateByID({
665
- id: slug2,
666
- collection,
667
- req
668
- });
669
- break;
670
- }
671
- }
672
- }
673
- if (res instanceof Response) {
674
- if (req.responseHeaders) {
675
- const mergedResponse = new Response(res.body, {
676
- headers: mergeHeaders(req.responseHeaders, res.headers),
677
- status: res.status,
678
- statusText: res.statusText
679
- });
680
- return mergedResponse;
681
- }
682
- return res;
683
- }
684
- // root routes
685
- const customEndpointResponse = await handleCustomEndpoints({
686
- endpoints: req.payload.config.endpoints,
687
- req
621
+ break;
622
+ case 2:
623
+ // /:collection/:id
624
+ res = await endpoints.collection.DELETE.deleteByID({
625
+ id: slug2,
626
+ collection,
627
+ req
688
628
  });
689
- if (customEndpointResponse) return customEndpointResponse;
690
- return RouteNotFoundResponse({
691
- slug,
692
- req
629
+ break;
630
+ }
631
+ }
632
+ }
633
+ if (res instanceof Response) {
634
+ if (req.responseHeaders) {
635
+ const mergedResponse = new Response(res.body, {
636
+ headers: mergeHeaders(req.responseHeaders, res.headers),
637
+ status: res.status,
638
+ statusText: res.statusText
639
+ });
640
+ return mergedResponse;
641
+ }
642
+ return res;
643
+ }
644
+ // root routes
645
+ const customEndpointResponse = await handleCustomEndpoints({
646
+ endpoints: req.payload.config.endpoints,
647
+ req
648
+ });
649
+ if (customEndpointResponse) {
650
+ return customEndpointResponse;
651
+ }
652
+ return RouteNotFoundResponse({
653
+ slug,
654
+ req
655
+ });
656
+ } catch (error) {
657
+ return routeError({
658
+ collection,
659
+ config,
660
+ err: error,
661
+ req: req || request
662
+ });
663
+ }
664
+ };
665
+ export const PATCH = config => async (request, {
666
+ params: {
667
+ slug
668
+ }
669
+ }) => {
670
+ const [slug1, slug2] = slug;
671
+ let req;
672
+ let res;
673
+ let collection;
674
+ try {
675
+ req = await createPayloadRequest({
676
+ config,
677
+ request
678
+ });
679
+ collection = req.payload.collections?.[slug1];
680
+ const disableEndpoints = endpointsAreDisabled({
681
+ endpoints: req.payload.config.endpoints,
682
+ request
683
+ });
684
+ if (disableEndpoints) {
685
+ return disableEndpoints;
686
+ }
687
+ if (collection) {
688
+ req.routeParams.collection = slug1;
689
+ const disableEndpoints = endpointsAreDisabled({
690
+ endpoints: collection.config.endpoints,
691
+ request
692
+ });
693
+ if (disableEndpoints) {
694
+ return disableEndpoints;
695
+ }
696
+ const customEndpointResponse = await handleCustomEndpoints({
697
+ endpoints: collection.config.endpoints,
698
+ entitySlug: slug1,
699
+ req
700
+ });
701
+ if (customEndpointResponse) {
702
+ return customEndpointResponse;
703
+ } else {
704
+ await addDataAndFileToRequest(req);
705
+ addLocalesToRequestFromData(req);
706
+ switch (slug.length) {
707
+ case 1:
708
+ // /:collection
709
+ res = await endpoints.collection.PATCH.update({
710
+ collection,
711
+ req
693
712
  });
694
- } catch (error) {
695
- return routeError({
696
- collection,
697
- config,
698
- err: error,
699
- req: req || request
713
+ break;
714
+ case 2:
715
+ // /:collection/:id
716
+ res = await endpoints.collection.PATCH.updateByID({
717
+ id: slug2,
718
+ collection,
719
+ req
700
720
  });
721
+ break;
701
722
  }
702
- };
703
-
723
+ }
724
+ }
725
+ if (res instanceof Response) {
726
+ if (req.responseHeaders) {
727
+ const mergedResponse = new Response(res.body, {
728
+ headers: mergeHeaders(req.responseHeaders, res.headers),
729
+ status: res.status,
730
+ statusText: res.statusText
731
+ });
732
+ return mergedResponse;
733
+ }
734
+ return res;
735
+ }
736
+ // root routes
737
+ const customEndpointResponse = await handleCustomEndpoints({
738
+ endpoints: req.payload.config.endpoints,
739
+ req
740
+ });
741
+ if (customEndpointResponse) {
742
+ return customEndpointResponse;
743
+ }
744
+ return RouteNotFoundResponse({
745
+ slug,
746
+ req
747
+ });
748
+ } catch (error) {
749
+ return routeError({
750
+ collection,
751
+ config,
752
+ err: error,
753
+ req: req || request
754
+ });
755
+ }
756
+ };
704
757
  //# sourceMappingURL=index.js.map