@payloadcms/next 3.0.0-beta.110 → 3.0.0-beta.112

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 (150) hide show
  1. package/dist/elements/FormHeader/index.d.ts +9 -0
  2. package/dist/elements/FormHeader/index.d.ts.map +1 -0
  3. package/dist/elements/FormHeader/index.js +20 -0
  4. package/dist/elements/FormHeader/index.js.map +1 -0
  5. package/dist/elements/FormHeader/index.scss +6 -0
  6. package/dist/exports/utilities.d.ts +1 -0
  7. package/dist/exports/utilities.d.ts.map +1 -1
  8. package/dist/exports/utilities.js +1 -0
  9. package/dist/exports/utilities.js.map +1 -1
  10. package/dist/layouts/Root/index.js +6 -6
  11. package/dist/layouts/Root/index.js.map +1 -1
  12. package/dist/prod/styles.css +1 -1
  13. package/dist/routes/rest/auth/login.js +2 -2
  14. package/dist/routes/rest/auth/login.js.map +1 -1
  15. package/dist/routes/rest/auth/logout.d.ts.map +1 -1
  16. package/dist/routes/rest/auth/logout.js +3 -2
  17. package/dist/routes/rest/auth/logout.js.map +1 -1
  18. package/dist/routes/rest/auth/refresh.js +2 -2
  19. package/dist/routes/rest/auth/refresh.js.map +1 -1
  20. package/dist/routes/rest/auth/registerFirstUser.js +2 -2
  21. package/dist/routes/rest/auth/registerFirstUser.js.map +1 -1
  22. package/dist/routes/rest/auth/resetPassword.js +2 -2
  23. package/dist/routes/rest/auth/resetPassword.js.map +1 -1
  24. package/dist/routes/rest/index.d.ts +12 -12
  25. package/dist/routes/rest/index.d.ts.map +1 -1
  26. package/dist/routes/rest/index.js +17 -15
  27. package/dist/routes/rest/index.js.map +1 -1
  28. package/dist/scss/app.scss +166 -162
  29. package/dist/scss/colors.scss +256 -254
  30. package/dist/scss/resets.scss +9 -7
  31. package/dist/scss/toastify.scss +42 -40
  32. package/dist/scss/toasts.scss +105 -103
  33. package/dist/scss/type.scss +80 -79
  34. package/dist/utilities/getNextRequestI18n.js +2 -2
  35. package/dist/utilities/getNextRequestI18n.js.map +1 -1
  36. package/dist/utilities/initPage/handleAdminPage.d.ts +11 -11
  37. package/dist/utilities/initPage/handleAdminPage.d.ts.map +1 -1
  38. package/dist/utilities/initPage/handleAdminPage.js +7 -20
  39. package/dist/utilities/initPage/handleAdminPage.js.map +1 -1
  40. package/dist/utilities/initPage/handleAuthRedirect.d.ts +6 -3
  41. package/dist/utilities/initPage/handleAuthRedirect.d.ts.map +1 -1
  42. package/dist/utilities/initPage/handleAuthRedirect.js +23 -36
  43. package/dist/utilities/initPage/handleAuthRedirect.js.map +1 -1
  44. package/dist/utilities/initPage/index.d.ts +1 -1
  45. package/dist/utilities/initPage/index.d.ts.map +1 -1
  46. package/dist/utilities/initPage/index.js +21 -10
  47. package/dist/utilities/initPage/index.js.map +1 -1
  48. package/dist/utilities/initPage/shared.d.ts +2 -2
  49. package/dist/utilities/initPage/shared.d.ts.map +1 -1
  50. package/dist/utilities/initPage/shared.js +18 -13
  51. package/dist/utilities/initPage/shared.js.map +1 -1
  52. package/dist/utilities/initReq.js +1 -1
  53. package/dist/utilities/initReq.js.map +1 -1
  54. package/dist/views/API/index.scss +98 -96
  55. package/dist/views/Account/Settings/index.scss +37 -35
  56. package/dist/views/CreateFirstUser/index.client.d.ts.map +1 -1
  57. package/dist/views/CreateFirstUser/index.client.js +1 -1
  58. package/dist/views/CreateFirstUser/index.client.js.map +1 -1
  59. package/dist/views/CreateFirstUser/index.scss +13 -11
  60. package/dist/views/Dashboard/Default/index.scss +51 -49
  61. package/dist/views/Edit/Default/Auth/index.scss +56 -54
  62. package/dist/views/Edit/Default/index.js +2 -2
  63. package/dist/views/Edit/Default/index.js.map +1 -1
  64. package/dist/views/Edit/Default/index.scss +15 -13
  65. package/dist/views/ForgotPassword/ForgotPasswordForm/index.d.ts.map +1 -1
  66. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +9 -11
  67. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -1
  68. package/dist/views/ForgotPassword/index.d.ts.map +1 -1
  69. package/dist/views/ForgotPassword/index.js +6 -6
  70. package/dist/views/ForgotPassword/index.js.map +1 -1
  71. package/dist/views/List/Default/index.scss +136 -134
  72. package/dist/views/LivePreview/IFrame/index.scss +8 -6
  73. package/dist/views/LivePreview/Preview/index.scss +32 -30
  74. package/dist/views/LivePreview/Toolbar/Controls/index.scss +49 -47
  75. package/dist/views/LivePreview/Toolbar/SizeInput/index.scss +11 -9
  76. package/dist/views/LivePreview/Toolbar/index.scss +33 -31
  77. package/dist/views/LivePreview/ToolbarArea/index.scss +5 -3
  78. package/dist/views/LivePreview/index.client.js +2 -2
  79. package/dist/views/LivePreview/index.client.js.map +1 -1
  80. package/dist/views/LivePreview/index.scss +48 -46
  81. package/dist/views/Login/LoginForm/index.js +1 -1
  82. package/dist/views/Login/LoginForm/index.js.map +1 -1
  83. package/dist/views/Login/LoginForm/index.scss +8 -6
  84. package/dist/views/Login/index.scss +8 -6
  85. package/dist/views/Logout/LogoutClient.d.ts.map +1 -1
  86. package/dist/views/Logout/LogoutClient.js +77 -55
  87. package/dist/views/Logout/LogoutClient.js.map +1 -1
  88. package/dist/views/Logout/index.scss +17 -15
  89. package/dist/views/NotFound/index.d.ts +5 -5
  90. package/dist/views/NotFound/index.d.ts.map +1 -1
  91. package/dist/views/NotFound/index.js +4 -2
  92. package/dist/views/NotFound/index.js.map +1 -1
  93. package/dist/views/NotFound/index.scss +38 -36
  94. package/dist/views/ResetPassword/ResetPasswordForm/index.d.ts +7 -0
  95. package/dist/views/ResetPassword/ResetPasswordForm/index.d.ts.map +1 -0
  96. package/dist/views/ResetPassword/{index.client.js → ResetPasswordForm/index.js} +16 -19
  97. package/dist/views/ResetPassword/ResetPasswordForm/index.js.map +1 -0
  98. package/dist/views/ResetPassword/index.d.ts.map +1 -1
  99. package/dist/views/ResetPassword/index.js +17 -10
  100. package/dist/views/ResetPassword/index.js.map +1 -1
  101. package/dist/views/ResetPassword/index.scss +6 -26
  102. package/dist/views/Root/getViewFromConfig.d.ts.map +1 -1
  103. package/dist/views/Root/getViewFromConfig.js +0 -6
  104. package/dist/views/Root/getViewFromConfig.js.map +1 -1
  105. package/dist/views/Root/index.d.ts +5 -5
  106. package/dist/views/Root/index.d.ts.map +1 -1
  107. package/dist/views/Root/index.js +9 -4
  108. package/dist/views/Root/index.js.map +1 -1
  109. package/dist/views/Root/meta.d.ts +5 -5
  110. package/dist/views/Root/meta.d.ts.map +1 -1
  111. package/dist/views/Root/meta.js +2 -1
  112. package/dist/views/Root/meta.js.map +1 -1
  113. package/dist/views/Unauthorized/index.d.ts.map +1 -1
  114. package/dist/views/Unauthorized/index.js +14 -7
  115. package/dist/views/Unauthorized/index.js.map +1 -1
  116. package/dist/views/Unauthorized/index.scss +4 -31
  117. package/dist/views/Verify/index.client.d.ts +7 -0
  118. package/dist/views/Verify/index.client.d.ts.map +1 -0
  119. package/dist/views/Verify/index.client.js +46 -0
  120. package/dist/views/Verify/index.client.js.map +1 -0
  121. package/dist/views/Verify/index.d.ts.map +1 -1
  122. package/dist/views/Verify/index.js +12 -11
  123. package/dist/views/Verify/index.js.map +1 -1
  124. package/dist/views/Verify/index.scss +13 -11
  125. package/dist/views/Version/Default/index.scss +52 -50
  126. package/dist/views/Version/RenderFieldsToDiff/Label/index.scss +5 -3
  127. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.scss +29 -27
  128. package/dist/views/Version/RenderFieldsToDiff/fields/Nested/index.scss +11 -9
  129. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.scss +12 -10
  130. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.scss +12 -10
  131. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.scss +12 -10
  132. package/dist/views/Version/RenderFieldsToDiff/index.scss +12 -10
  133. package/dist/views/Version/Restore/index.scss +57 -55
  134. package/dist/views/Version/SelectComparison/index.scss +12 -10
  135. package/dist/views/Version/SelectLocales/index.scss +6 -4
  136. package/dist/views/Version/index.d.ts.map +1 -1
  137. package/dist/views/Version/index.js +2 -0
  138. package/dist/views/Version/index.js.map +1 -1
  139. package/dist/views/Versions/getLatestVersion.d.ts +1 -0
  140. package/dist/views/Versions/getLatestVersion.d.ts.map +1 -1
  141. package/dist/views/Versions/getLatestVersion.js +14 -3
  142. package/dist/views/Versions/getLatestVersion.js.map +1 -1
  143. package/dist/views/Versions/index.d.ts.map +1 -1
  144. package/dist/views/Versions/index.js +2 -0
  145. package/dist/views/Versions/index.js.map +1 -1
  146. package/dist/views/Versions/index.scss +78 -76
  147. package/package.json +9 -9
  148. package/dist/views/ResetPassword/index.client.d.ts +0 -7
  149. package/dist/views/ResetPassword/index.client.d.ts.map +0 -1
  150. package/dist/views/ResetPassword/index.client.js.map +0 -1
@@ -26,8 +26,8 @@ export const login = async ({
26
26
  req
27
27
  });
28
28
  const cookie = generatePayloadCookie({
29
- collectionConfig: collection.config,
30
- payload: req.payload,
29
+ collectionAuthConfig: collection.config.auth,
30
+ cookiePrefix: req.payload.config.cookiePrefix,
31
31
  token: result.token
32
32
  });
33
33
  if (collection.config.auth.removeTokenFromResponses) {
@@ -1 +1 @@
1
- {"version":3,"file":"login.js","names":["httpStatus","generatePayloadCookie","loginOperation","isNumber","headersWithCors","login","collection","req","searchParams","t","depth","get","authData","config","auth","loginWithUsername","email","data","password","username","result","Number","undefined","cookie","collectionConfig","payload","token","removeTokenFromResponses","Response","json","message","headers","Headers","status","OK"],"sources":["../../../../src/routes/rest/auth/login.ts"],"sourcesContent":["import httpStatus from 'http-status'\nimport { generatePayloadCookie, loginOperation } from 'payload'\nimport { isNumber } from 'payload/shared'\n\nimport type { CollectionRouteHandler } from '../types.js'\n\nimport { headersWithCors } from '../../../utilities/headersWithCors.js'\n\nexport const login: CollectionRouteHandler = async ({ collection, req }) => {\n const { searchParams, t } = req\n const depth = searchParams.get('depth')\n const authData =\n collection.config.auth?.loginWithUsername !== false\n ? {\n email: typeof req.data?.email === 'string' ? req.data.email : '',\n password: typeof req.data?.password === 'string' ? req.data.password : '',\n username: typeof req.data?.username === 'string' ? req.data.username : '',\n }\n : {\n email: typeof req.data?.email === 'string' ? req.data.email : '',\n password: typeof req.data?.password === 'string' ? req.data.password : '',\n }\n\n const result = await loginOperation({\n collection,\n data: authData,\n depth: isNumber(depth) ? Number(depth) : undefined,\n req,\n })\n\n const cookie = generatePayloadCookie({\n collectionConfig: collection.config,\n payload: req.payload,\n token: result.token,\n })\n\n if (collection.config.auth.removeTokenFromResponses) {\n delete result.token\n }\n\n return Response.json(\n {\n message: t('authentication:passed'),\n ...result,\n },\n {\n headers: headersWithCors({\n headers: new Headers({\n 'Set-Cookie': cookie,\n }),\n req,\n }),\n status: httpStatus.OK,\n },\n )\n}\n"],"mappings":"AAAA,OAAOA,UAAA,MAAgB;AACvB,SAASC,qBAAqB,EAAEC,cAAc,QAAQ;AACtD,SAASC,QAAQ,QAAQ;AAIzB,SAASC,eAAe,QAAQ;AAEhC,OAAO,MAAMC,KAAA,GAAgC,MAAAA,CAAO;EAAEC,UAAU;EAAEC;AAAG,CAAE;EACrE,MAAM;IAAEC,YAAY;IAAEC;EAAC,CAAE,GAAGF,GAAA;EAC5B,MAAMG,KAAA,GAAQF,YAAA,CAAaG,GAAG,CAAC;EAC/B,MAAMC,QAAA,GACJN,UAAA,CAAWO,MAAM,CAACC,IAAI,EAAEC,iBAAA,KAAsB,QAC1C;IACEC,KAAA,EAAO,OAAOT,GAAA,CAAIU,IAAI,EAAED,KAAA,KAAU,WAAWT,GAAA,CAAIU,IAAI,CAACD,KAAK,GAAG;IAC9DE,QAAA,EAAU,OAAOX,GAAA,CAAIU,IAAI,EAAEC,QAAA,KAAa,WAAWX,GAAA,CAAIU,IAAI,CAACC,QAAQ,GAAG;IACvEC,QAAA,EAAU,OAAOZ,GAAA,CAAIU,IAAI,EAAEE,QAAA,KAAa,WAAWZ,GAAA,CAAIU,IAAI,CAACE,QAAQ,GAAG;EACzE,IACA;IACEH,KAAA,EAAO,OAAOT,GAAA,CAAIU,IAAI,EAAED,KAAA,KAAU,WAAWT,GAAA,CAAIU,IAAI,CAACD,KAAK,GAAG;IAC9DE,QAAA,EAAU,OAAOX,GAAA,CAAIU,IAAI,EAAEC,QAAA,KAAa,WAAWX,GAAA,CAAIU,IAAI,CAACC,QAAQ,GAAG;EACzE;EAEN,MAAME,MAAA,GAAS,MAAMlB,cAAA,CAAe;IAClCI,UAAA;IACAW,IAAA,EAAML,QAAA;IACNF,KAAA,EAAOP,QAAA,CAASO,KAAA,IAASW,MAAA,CAAOX,KAAA,IAASY,SAAA;IACzCf;EACF;EAEA,MAAMgB,MAAA,GAAStB,qBAAA,CAAsB;IACnCuB,gBAAA,EAAkBlB,UAAA,CAAWO,MAAM;IACnCY,OAAA,EAASlB,GAAA,CAAIkB,OAAO;IACpBC,KAAA,EAAON,MAAA,CAAOM;EAChB;EAEA,IAAIpB,UAAA,CAAWO,MAAM,CAACC,IAAI,CAACa,wBAAwB,EAAE;IACnD,OAAOP,MAAA,CAAOM,KAAK;EACrB;EAEA,OAAOE,QAAA,CAASC,IAAI,CAClB;IACEC,OAAA,EAASrB,CAAA,CAAE;IACX,GAAGW;EACL,GACA;IACEW,OAAA,EAAS3B,eAAA,CAAgB;MACvB2B,OAAA,EAAS,IAAIC,OAAA,CAAQ;QACnB,cAAcT;MAChB;MACAhB;IACF;IACA0B,MAAA,EAAQjC,UAAA,CAAWkC;EACrB;AAEJ","ignoreList":[]}
1
+ {"version":3,"file":"login.js","names":["httpStatus","generatePayloadCookie","loginOperation","isNumber","headersWithCors","login","collection","req","searchParams","t","depth","get","authData","config","auth","loginWithUsername","email","data","password","username","result","Number","undefined","cookie","collectionAuthConfig","cookiePrefix","payload","token","removeTokenFromResponses","Response","json","message","headers","Headers","status","OK"],"sources":["../../../../src/routes/rest/auth/login.ts"],"sourcesContent":["import httpStatus from 'http-status'\nimport { generatePayloadCookie, loginOperation } from 'payload'\nimport { isNumber } from 'payload/shared'\n\nimport type { CollectionRouteHandler } from '../types.js'\n\nimport { headersWithCors } from '../../../utilities/headersWithCors.js'\n\nexport const login: CollectionRouteHandler = async ({ collection, req }) => {\n const { searchParams, t } = req\n const depth = searchParams.get('depth')\n const authData =\n collection.config.auth?.loginWithUsername !== false\n ? {\n email: typeof req.data?.email === 'string' ? req.data.email : '',\n password: typeof req.data?.password === 'string' ? req.data.password : '',\n username: typeof req.data?.username === 'string' ? req.data.username : '',\n }\n : {\n email: typeof req.data?.email === 'string' ? req.data.email : '',\n password: typeof req.data?.password === 'string' ? req.data.password : '',\n }\n\n const result = await loginOperation({\n collection,\n data: authData,\n depth: isNumber(depth) ? Number(depth) : undefined,\n req,\n })\n\n const cookie = generatePayloadCookie({\n collectionAuthConfig: collection.config.auth,\n cookiePrefix: req.payload.config.cookiePrefix,\n token: result.token,\n })\n\n if (collection.config.auth.removeTokenFromResponses) {\n delete result.token\n }\n\n return Response.json(\n {\n message: t('authentication:passed'),\n ...result,\n },\n {\n headers: headersWithCors({\n headers: new Headers({\n 'Set-Cookie': cookie,\n }),\n req,\n }),\n status: httpStatus.OK,\n },\n )\n}\n"],"mappings":"AAAA,OAAOA,UAAA,MAAgB;AACvB,SAASC,qBAAqB,EAAEC,cAAc,QAAQ;AACtD,SAASC,QAAQ,QAAQ;AAIzB,SAASC,eAAe,QAAQ;AAEhC,OAAO,MAAMC,KAAA,GAAgC,MAAAA,CAAO;EAAEC,UAAU;EAAEC;AAAG,CAAE;EACrE,MAAM;IAAEC,YAAY;IAAEC;EAAC,CAAE,GAAGF,GAAA;EAC5B,MAAMG,KAAA,GAAQF,YAAA,CAAaG,GAAG,CAAC;EAC/B,MAAMC,QAAA,GACJN,UAAA,CAAWO,MAAM,CAACC,IAAI,EAAEC,iBAAA,KAAsB,QAC1C;IACEC,KAAA,EAAO,OAAOT,GAAA,CAAIU,IAAI,EAAED,KAAA,KAAU,WAAWT,GAAA,CAAIU,IAAI,CAACD,KAAK,GAAG;IAC9DE,QAAA,EAAU,OAAOX,GAAA,CAAIU,IAAI,EAAEC,QAAA,KAAa,WAAWX,GAAA,CAAIU,IAAI,CAACC,QAAQ,GAAG;IACvEC,QAAA,EAAU,OAAOZ,GAAA,CAAIU,IAAI,EAAEE,QAAA,KAAa,WAAWZ,GAAA,CAAIU,IAAI,CAACE,QAAQ,GAAG;EACzE,IACA;IACEH,KAAA,EAAO,OAAOT,GAAA,CAAIU,IAAI,EAAED,KAAA,KAAU,WAAWT,GAAA,CAAIU,IAAI,CAACD,KAAK,GAAG;IAC9DE,QAAA,EAAU,OAAOX,GAAA,CAAIU,IAAI,EAAEC,QAAA,KAAa,WAAWX,GAAA,CAAIU,IAAI,CAACC,QAAQ,GAAG;EACzE;EAEN,MAAME,MAAA,GAAS,MAAMlB,cAAA,CAAe;IAClCI,UAAA;IACAW,IAAA,EAAML,QAAA;IACNF,KAAA,EAAOP,QAAA,CAASO,KAAA,IAASW,MAAA,CAAOX,KAAA,IAASY,SAAA;IACzCf;EACF;EAEA,MAAMgB,MAAA,GAAStB,qBAAA,CAAsB;IACnCuB,oBAAA,EAAsBlB,UAAA,CAAWO,MAAM,CAACC,IAAI;IAC5CW,YAAA,EAAclB,GAAA,CAAImB,OAAO,CAACb,MAAM,CAACY,YAAY;IAC7CE,KAAA,EAAOP,MAAA,CAAOO;EAChB;EAEA,IAAIrB,UAAA,CAAWO,MAAM,CAACC,IAAI,CAACc,wBAAwB,EAAE;IACnD,OAAOR,MAAA,CAAOO,KAAK;EACrB;EAEA,OAAOE,QAAA,CAASC,IAAI,CAClB;IACEC,OAAA,EAAStB,CAAA,CAAE;IACX,GAAGW;EACL,GACA;IACEY,OAAA,EAAS5B,eAAA,CAAgB;MACvB4B,OAAA,EAAS,IAAIC,OAAA,CAAQ;QACnB,cAAcV;MAChB;MACAhB;IACF;IACA2B,MAAA,EAAQlC,UAAA,CAAWmC;EACrB;AAEJ","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"logout.d.ts","sourceRoot":"","sources":["../../../../src/routes/rest/auth/logout.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAIzD,eAAO,MAAM,MAAM,EAAE,sBAwCpB,CAAA"}
1
+ {"version":3,"file":"logout.d.ts","sourceRoot":"","sources":["../../../../src/routes/rest/auth/logout.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAIzD,eAAO,MAAM,MAAM,EAAE,sBAyCpB,CAAA"}
@@ -25,8 +25,9 @@ export const logout = async ({
25
25
  });
26
26
  }
27
27
  const expiredCookie = generateExpiredPayloadCookie({
28
- collectionConfig: collection.config,
29
- payload: req.payload
28
+ collectionAuthConfig: collection.config.auth,
29
+ config: req.payload.config,
30
+ cookiePrefix: req.payload.config.cookiePrefix
30
31
  });
31
32
  headers.set('Set-Cookie', expiredCookie);
32
33
  return Response.json({
@@ -1 +1 @@
1
- {"version":3,"file":"logout.js","names":["httpStatus","generateExpiredPayloadCookie","logoutOperation","headersWithCors","logout","collection","req","t","result","headers","Headers","Response","json","message","status","BAD_REQUEST","expiredCookie","collectionConfig","config","payload","set","OK"],"sources":["../../../../src/routes/rest/auth/logout.ts"],"sourcesContent":["import httpStatus from 'http-status'\nimport { generateExpiredPayloadCookie, logoutOperation } from 'payload'\n\nimport type { CollectionRouteHandler } from '../types.js'\n\nimport { headersWithCors } from '../../../utilities/headersWithCors.js'\n\nexport const logout: CollectionRouteHandler = async ({ collection, req }) => {\n const { t } = req\n const result = await logoutOperation({\n collection,\n req,\n })\n\n const headers = headersWithCors({\n headers: new Headers(),\n req,\n })\n\n if (!result) {\n return Response.json(\n {\n message: t('error:logoutFailed'),\n },\n {\n headers,\n status: httpStatus.BAD_REQUEST,\n },\n )\n }\n\n const expiredCookie = generateExpiredPayloadCookie({\n collectionConfig: collection.config,\n payload: req.payload,\n })\n\n headers.set('Set-Cookie', expiredCookie)\n\n return Response.json(\n {\n message: t('authentication:logoutSuccessful'),\n },\n {\n headers,\n status: httpStatus.OK,\n },\n )\n}\n"],"mappings":"AAAA,OAAOA,UAAA,MAAgB;AACvB,SAASC,4BAA4B,EAAEC,eAAe,QAAQ;AAI9D,SAASC,eAAe,QAAQ;AAEhC,OAAO,MAAMC,MAAA,GAAiC,MAAAA,CAAO;EAAEC,UAAU;EAAEC;AAAG,CAAE;EACtE,MAAM;IAAEC;EAAC,CAAE,GAAGD,GAAA;EACd,MAAME,MAAA,GAAS,MAAMN,eAAA,CAAgB;IACnCG,UAAA;IACAC;EACF;EAEA,MAAMG,OAAA,GAAUN,eAAA,CAAgB;IAC9BM,OAAA,EAAS,IAAIC,OAAA;IACbJ;EACF;EAEA,IAAI,CAACE,MAAA,EAAQ;IACX,OAAOG,QAAA,CAASC,IAAI,CAClB;MACEC,OAAA,EAASN,CAAA,CAAE;IACb,GACA;MACEE,OAAA;MACAK,MAAA,EAAQd,UAAA,CAAWe;IACrB;EAEJ;EAEA,MAAMC,aAAA,GAAgBf,4BAAA,CAA6B;IACjDgB,gBAAA,EAAkBZ,UAAA,CAAWa,MAAM;IACnCC,OAAA,EAASb,GAAA,CAAIa;EACf;EAEAV,OAAA,CAAQW,GAAG,CAAC,cAAcJ,aAAA;EAE1B,OAAOL,QAAA,CAASC,IAAI,CAClB;IACEC,OAAA,EAASN,CAAA,CAAE;EACb,GACA;IACEE,OAAA;IACAK,MAAA,EAAQd,UAAA,CAAWqB;EACrB;AAEJ","ignoreList":[]}
1
+ {"version":3,"file":"logout.js","names":["httpStatus","generateExpiredPayloadCookie","logoutOperation","headersWithCors","logout","collection","req","t","result","headers","Headers","Response","json","message","status","BAD_REQUEST","expiredCookie","collectionAuthConfig","config","auth","payload","cookiePrefix","set","OK"],"sources":["../../../../src/routes/rest/auth/logout.ts"],"sourcesContent":["import httpStatus from 'http-status'\nimport { generateExpiredPayloadCookie, logoutOperation } from 'payload'\n\nimport type { CollectionRouteHandler } from '../types.js'\n\nimport { headersWithCors } from '../../../utilities/headersWithCors.js'\n\nexport const logout: CollectionRouteHandler = async ({ collection, req }) => {\n const { t } = req\n const result = await logoutOperation({\n collection,\n req,\n })\n\n const headers = headersWithCors({\n headers: new Headers(),\n req,\n })\n\n if (!result) {\n return Response.json(\n {\n message: t('error:logoutFailed'),\n },\n {\n headers,\n status: httpStatus.BAD_REQUEST,\n },\n )\n }\n\n const expiredCookie = generateExpiredPayloadCookie({\n collectionAuthConfig: collection.config.auth,\n config: req.payload.config,\n cookiePrefix: req.payload.config.cookiePrefix,\n })\n\n headers.set('Set-Cookie', expiredCookie)\n\n return Response.json(\n {\n message: t('authentication:logoutSuccessful'),\n },\n {\n headers,\n status: httpStatus.OK,\n },\n )\n}\n"],"mappings":"AAAA,OAAOA,UAAA,MAAgB;AACvB,SAASC,4BAA4B,EAAEC,eAAe,QAAQ;AAI9D,SAASC,eAAe,QAAQ;AAEhC,OAAO,MAAMC,MAAA,GAAiC,MAAAA,CAAO;EAAEC,UAAU;EAAEC;AAAG,CAAE;EACtE,MAAM;IAAEC;EAAC,CAAE,GAAGD,GAAA;EACd,MAAME,MAAA,GAAS,MAAMN,eAAA,CAAgB;IACnCG,UAAA;IACAC;EACF;EAEA,MAAMG,OAAA,GAAUN,eAAA,CAAgB;IAC9BM,OAAA,EAAS,IAAIC,OAAA;IACbJ;EACF;EAEA,IAAI,CAACE,MAAA,EAAQ;IACX,OAAOG,QAAA,CAASC,IAAI,CAClB;MACEC,OAAA,EAASN,CAAA,CAAE;IACb,GACA;MACEE,OAAA;MACAK,MAAA,EAAQd,UAAA,CAAWe;IACrB;EAEJ;EAEA,MAAMC,aAAA,GAAgBf,4BAAA,CAA6B;IACjDgB,oBAAA,EAAsBZ,UAAA,CAAWa,MAAM,CAACC,IAAI;IAC5CD,MAAA,EAAQZ,GAAA,CAAIc,OAAO,CAACF,MAAM;IAC1BG,YAAA,EAAcf,GAAA,CAAIc,OAAO,CAACF,MAAM,CAACG;EACnC;EAEAZ,OAAA,CAAQa,GAAG,CAAC,cAAcN,aAAA;EAE1B,OAAOL,QAAA,CAASC,IAAI,CAClB;IACEC,OAAA,EAASN,CAAA,CAAE;EACb,GACA;IACEE,OAAA;IACAK,MAAA,EAAQd,UAAA,CAAWuB;EACrB;AAEJ","ignoreList":[]}
@@ -18,8 +18,8 @@ export const refresh = async ({
18
18
  });
19
19
  if (result.setCookie) {
20
20
  const cookie = generatePayloadCookie({
21
- collectionConfig: collection.config,
22
- payload: req.payload,
21
+ collectionAuthConfig: collection.config.auth,
22
+ cookiePrefix: req.payload.config.cookiePrefix,
23
23
  token: result.refreshedToken
24
24
  });
25
25
  if (collection.config.auth.removeTokenFromResponses) {
@@ -1 +1 @@
1
- {"version":3,"file":"refresh.js","names":["httpStatus","generatePayloadCookie","refreshOperation","headersWithCors","refresh","collection","req","t","headers","Headers","result","setCookie","cookie","collectionConfig","config","payload","token","refreshedToken","auth","removeTokenFromResponses","set","Response","json","message","status","OK"],"sources":["../../../../src/routes/rest/auth/refresh.ts"],"sourcesContent":["import httpStatus from 'http-status'\nimport { generatePayloadCookie, refreshOperation } from 'payload'\n\nimport type { CollectionRouteHandler } from '../types.js'\n\nimport { headersWithCors } from '../../../utilities/headersWithCors.js'\n\nexport const refresh: CollectionRouteHandler = async ({ collection, req }) => {\n const { t } = req\n\n const headers = headersWithCors({\n headers: new Headers(),\n req,\n })\n\n const result = await refreshOperation({\n collection,\n req,\n })\n\n if (result.setCookie) {\n const cookie = generatePayloadCookie({\n collectionConfig: collection.config,\n payload: req.payload,\n token: result.refreshedToken,\n })\n\n if (collection.config.auth.removeTokenFromResponses) {\n delete result.refreshedToken\n }\n\n headers.set('Set-Cookie', cookie)\n }\n\n return Response.json(\n {\n message: t('authentication:tokenRefreshSuccessful'),\n ...result,\n },\n {\n headers,\n status: httpStatus.OK,\n },\n )\n}\n"],"mappings":"AAAA,OAAOA,UAAA,MAAgB;AACvB,SAASC,qBAAqB,EAAEC,gBAAgB,QAAQ;AAIxD,SAASC,eAAe,QAAQ;AAEhC,OAAO,MAAMC,OAAA,GAAkC,MAAAA,CAAO;EAAEC,UAAU;EAAEC;AAAG,CAAE;EACvE,MAAM;IAAEC;EAAC,CAAE,GAAGD,GAAA;EAEd,MAAME,OAAA,GAAUL,eAAA,CAAgB;IAC9BK,OAAA,EAAS,IAAIC,OAAA;IACbH;EACF;EAEA,MAAMI,MAAA,GAAS,MAAMR,gBAAA,CAAiB;IACpCG,UAAA;IACAC;EACF;EAEA,IAAII,MAAA,CAAOC,SAAS,EAAE;IACpB,MAAMC,MAAA,GAASX,qBAAA,CAAsB;MACnCY,gBAAA,EAAkBR,UAAA,CAAWS,MAAM;MACnCC,OAAA,EAAST,GAAA,CAAIS,OAAO;MACpBC,KAAA,EAAON,MAAA,CAAOO;IAChB;IAEA,IAAIZ,UAAA,CAAWS,MAAM,CAACI,IAAI,CAACC,wBAAwB,EAAE;MACnD,OAAOT,MAAA,CAAOO,cAAc;IAC9B;IAEAT,OAAA,CAAQY,GAAG,CAAC,cAAcR,MAAA;EAC5B;EAEA,OAAOS,QAAA,CAASC,IAAI,CAClB;IACEC,OAAA,EAAShB,CAAA,CAAE;IACX,GAAGG;EACL,GACA;IACEF,OAAA;IACAgB,MAAA,EAAQxB,UAAA,CAAWyB;EACrB;AAEJ","ignoreList":[]}
1
+ {"version":3,"file":"refresh.js","names":["httpStatus","generatePayloadCookie","refreshOperation","headersWithCors","refresh","collection","req","t","headers","Headers","result","setCookie","cookie","collectionAuthConfig","config","auth","cookiePrefix","payload","token","refreshedToken","removeTokenFromResponses","set","Response","json","message","status","OK"],"sources":["../../../../src/routes/rest/auth/refresh.ts"],"sourcesContent":["import httpStatus from 'http-status'\nimport { generatePayloadCookie, refreshOperation } from 'payload'\n\nimport type { CollectionRouteHandler } from '../types.js'\n\nimport { headersWithCors } from '../../../utilities/headersWithCors.js'\n\nexport const refresh: CollectionRouteHandler = async ({ collection, req }) => {\n const { t } = req\n\n const headers = headersWithCors({\n headers: new Headers(),\n req,\n })\n\n const result = await refreshOperation({\n collection,\n req,\n })\n\n if (result.setCookie) {\n const cookie = generatePayloadCookie({\n collectionAuthConfig: collection.config.auth,\n cookiePrefix: req.payload.config.cookiePrefix,\n token: result.refreshedToken,\n })\n\n if (collection.config.auth.removeTokenFromResponses) {\n delete result.refreshedToken\n }\n\n headers.set('Set-Cookie', cookie)\n }\n\n return Response.json(\n {\n message: t('authentication:tokenRefreshSuccessful'),\n ...result,\n },\n {\n headers,\n status: httpStatus.OK,\n },\n )\n}\n"],"mappings":"AAAA,OAAOA,UAAA,MAAgB;AACvB,SAASC,qBAAqB,EAAEC,gBAAgB,QAAQ;AAIxD,SAASC,eAAe,QAAQ;AAEhC,OAAO,MAAMC,OAAA,GAAkC,MAAAA,CAAO;EAAEC,UAAU;EAAEC;AAAG,CAAE;EACvE,MAAM;IAAEC;EAAC,CAAE,GAAGD,GAAA;EAEd,MAAME,OAAA,GAAUL,eAAA,CAAgB;IAC9BK,OAAA,EAAS,IAAIC,OAAA;IACbH;EACF;EAEA,MAAMI,MAAA,GAAS,MAAMR,gBAAA,CAAiB;IACpCG,UAAA;IACAC;EACF;EAEA,IAAII,MAAA,CAAOC,SAAS,EAAE;IACpB,MAAMC,MAAA,GAASX,qBAAA,CAAsB;MACnCY,oBAAA,EAAsBR,UAAA,CAAWS,MAAM,CAACC,IAAI;MAC5CC,YAAA,EAAcV,GAAA,CAAIW,OAAO,CAACH,MAAM,CAACE,YAAY;MAC7CE,KAAA,EAAOR,MAAA,CAAOS;IAChB;IAEA,IAAId,UAAA,CAAWS,MAAM,CAACC,IAAI,CAACK,wBAAwB,EAAE;MACnD,OAAOV,MAAA,CAAOS,cAAc;IAC9B;IAEAX,OAAA,CAAQa,GAAG,CAAC,cAAcT,MAAA;EAC5B;EAEA,OAAOU,QAAA,CAASC,IAAI,CAClB;IACEC,OAAA,EAASjB,CAAA,CAAE;IACX,GAAGG;EACL,GACA;IACEF,OAAA;IACAiB,MAAA,EAAQzB,UAAA,CAAW0B;EACrB;AAEJ","ignoreList":[]}
@@ -26,8 +26,8 @@ export const registerFirstUser = async ({
26
26
  req
27
27
  });
28
28
  const cookie = generatePayloadCookie({
29
- collectionConfig: collection.config,
30
- payload: req.payload,
29
+ collectionAuthConfig: collection.config.auth,
30
+ cookiePrefix: req.payload.config.cookiePrefix,
31
31
  token: result.token
32
32
  });
33
33
  return Response.json({
@@ -1 +1 @@
1
- {"version":3,"file":"registerFirstUser.js","names":["httpStatus","generatePayloadCookie","registerFirstUserOperation","headersWithCors","registerFirstUser","collection","req","data","t","authData","config","auth","loginWithUsername","email","password","username","result","cookie","collectionConfig","payload","token","Response","json","exp","message","user","headers","Headers","status","OK"],"sources":["../../../../src/routes/rest/auth/registerFirstUser.ts"],"sourcesContent":["import httpStatus from 'http-status'\nimport { generatePayloadCookie, registerFirstUserOperation } from 'payload'\n\nimport type { CollectionRouteHandler } from '../types.js'\n\nimport { headersWithCors } from '../../../utilities/headersWithCors.js'\n\nexport const registerFirstUser: CollectionRouteHandler = async ({ collection, req }) => {\n const { data, t } = req\n const authData = collection.config.auth?.loginWithUsername\n ? {\n email: typeof req.data?.email === 'string' ? req.data.email : '',\n password: typeof req.data?.password === 'string' ? req.data.password : '',\n username: typeof req.data?.username === 'string' ? req.data.username : '',\n }\n : {\n email: typeof req.data?.email === 'string' ? req.data.email : '',\n password: typeof req.data?.password === 'string' ? req.data.password : '',\n }\n\n const result = await registerFirstUserOperation({\n collection,\n data: {\n ...data,\n ...authData,\n },\n req,\n })\n\n const cookie = generatePayloadCookie({\n collectionConfig: collection.config,\n payload: req.payload,\n token: result.token,\n })\n\n return Response.json(\n {\n exp: result.exp,\n message: t('authentication:successfullyRegisteredFirstUser'),\n token: result.token,\n user: result.user,\n },\n {\n headers: headersWithCors({\n headers: new Headers({\n 'Set-Cookie': cookie,\n }),\n req,\n }),\n status: httpStatus.OK,\n },\n )\n}\n"],"mappings":"AAAA,OAAOA,UAAA,MAAgB;AACvB,SAASC,qBAAqB,EAAEC,0BAA0B,QAAQ;AAIlE,SAASC,eAAe,QAAQ;AAEhC,OAAO,MAAMC,iBAAA,GAA4C,MAAAA,CAAO;EAAEC,UAAU;EAAEC;AAAG,CAAE;EACjF,MAAM;IAAEC,IAAI;IAAEC;EAAC,CAAE,GAAGF,GAAA;EACpB,MAAMG,QAAA,GAAWJ,UAAA,CAAWK,MAAM,CAACC,IAAI,EAAEC,iBAAA,GACrC;IACEC,KAAA,EAAO,OAAOP,GAAA,CAAIC,IAAI,EAAEM,KAAA,KAAU,WAAWP,GAAA,CAAIC,IAAI,CAACM,KAAK,GAAG;IAC9DC,QAAA,EAAU,OAAOR,GAAA,CAAIC,IAAI,EAAEO,QAAA,KAAa,WAAWR,GAAA,CAAIC,IAAI,CAACO,QAAQ,GAAG;IACvEC,QAAA,EAAU,OAAOT,GAAA,CAAIC,IAAI,EAAEQ,QAAA,KAAa,WAAWT,GAAA,CAAIC,IAAI,CAACQ,QAAQ,GAAG;EACzE,IACA;IACEF,KAAA,EAAO,OAAOP,GAAA,CAAIC,IAAI,EAAEM,KAAA,KAAU,WAAWP,GAAA,CAAIC,IAAI,CAACM,KAAK,GAAG;IAC9DC,QAAA,EAAU,OAAOR,GAAA,CAAIC,IAAI,EAAEO,QAAA,KAAa,WAAWR,GAAA,CAAIC,IAAI,CAACO,QAAQ,GAAG;EACzE;EAEJ,MAAME,MAAA,GAAS,MAAMd,0BAAA,CAA2B;IAC9CG,UAAA;IACAE,IAAA,EAAM;MACJ,GAAGA,IAAI;MACP,GAAGE;IACL;IACAH;EACF;EAEA,MAAMW,MAAA,GAAShB,qBAAA,CAAsB;IACnCiB,gBAAA,EAAkBb,UAAA,CAAWK,MAAM;IACnCS,OAAA,EAASb,GAAA,CAAIa,OAAO;IACpBC,KAAA,EAAOJ,MAAA,CAAOI;EAChB;EAEA,OAAOC,QAAA,CAASC,IAAI,CAClB;IACEC,GAAA,EAAKP,MAAA,CAAOO,GAAG;IACfC,OAAA,EAAShB,CAAA,CAAE;IACXY,KAAA,EAAOJ,MAAA,CAAOI,KAAK;IACnBK,IAAA,EAAMT,MAAA,CAAOS;EACf,GACA;IACEC,OAAA,EAASvB,eAAA,CAAgB;MACvBuB,OAAA,EAAS,IAAIC,OAAA,CAAQ;QACnB,cAAcV;MAChB;MACAX;IACF;IACAsB,MAAA,EAAQ5B,UAAA,CAAW6B;EACrB;AAEJ","ignoreList":[]}
1
+ {"version":3,"file":"registerFirstUser.js","names":["httpStatus","generatePayloadCookie","registerFirstUserOperation","headersWithCors","registerFirstUser","collection","req","data","t","authData","config","auth","loginWithUsername","email","password","username","result","cookie","collectionAuthConfig","cookiePrefix","payload","token","Response","json","exp","message","user","headers","Headers","status","OK"],"sources":["../../../../src/routes/rest/auth/registerFirstUser.ts"],"sourcesContent":["import httpStatus from 'http-status'\nimport { generatePayloadCookie, registerFirstUserOperation } from 'payload'\n\nimport type { CollectionRouteHandler } from '../types.js'\n\nimport { headersWithCors } from '../../../utilities/headersWithCors.js'\n\nexport const registerFirstUser: CollectionRouteHandler = async ({ collection, req }) => {\n const { data, t } = req\n const authData = collection.config.auth?.loginWithUsername\n ? {\n email: typeof req.data?.email === 'string' ? req.data.email : '',\n password: typeof req.data?.password === 'string' ? req.data.password : '',\n username: typeof req.data?.username === 'string' ? req.data.username : '',\n }\n : {\n email: typeof req.data?.email === 'string' ? req.data.email : '',\n password: typeof req.data?.password === 'string' ? req.data.password : '',\n }\n\n const result = await registerFirstUserOperation({\n collection,\n data: {\n ...data,\n ...authData,\n },\n req,\n })\n\n const cookie = generatePayloadCookie({\n collectionAuthConfig: collection.config.auth,\n cookiePrefix: req.payload.config.cookiePrefix,\n token: result.token,\n })\n\n return Response.json(\n {\n exp: result.exp,\n message: t('authentication:successfullyRegisteredFirstUser'),\n token: result.token,\n user: result.user,\n },\n {\n headers: headersWithCors({\n headers: new Headers({\n 'Set-Cookie': cookie,\n }),\n req,\n }),\n status: httpStatus.OK,\n },\n )\n}\n"],"mappings":"AAAA,OAAOA,UAAA,MAAgB;AACvB,SAASC,qBAAqB,EAAEC,0BAA0B,QAAQ;AAIlE,SAASC,eAAe,QAAQ;AAEhC,OAAO,MAAMC,iBAAA,GAA4C,MAAAA,CAAO;EAAEC,UAAU;EAAEC;AAAG,CAAE;EACjF,MAAM;IAAEC,IAAI;IAAEC;EAAC,CAAE,GAAGF,GAAA;EACpB,MAAMG,QAAA,GAAWJ,UAAA,CAAWK,MAAM,CAACC,IAAI,EAAEC,iBAAA,GACrC;IACEC,KAAA,EAAO,OAAOP,GAAA,CAAIC,IAAI,EAAEM,KAAA,KAAU,WAAWP,GAAA,CAAIC,IAAI,CAACM,KAAK,GAAG;IAC9DC,QAAA,EAAU,OAAOR,GAAA,CAAIC,IAAI,EAAEO,QAAA,KAAa,WAAWR,GAAA,CAAIC,IAAI,CAACO,QAAQ,GAAG;IACvEC,QAAA,EAAU,OAAOT,GAAA,CAAIC,IAAI,EAAEQ,QAAA,KAAa,WAAWT,GAAA,CAAIC,IAAI,CAACQ,QAAQ,GAAG;EACzE,IACA;IACEF,KAAA,EAAO,OAAOP,GAAA,CAAIC,IAAI,EAAEM,KAAA,KAAU,WAAWP,GAAA,CAAIC,IAAI,CAACM,KAAK,GAAG;IAC9DC,QAAA,EAAU,OAAOR,GAAA,CAAIC,IAAI,EAAEO,QAAA,KAAa,WAAWR,GAAA,CAAIC,IAAI,CAACO,QAAQ,GAAG;EACzE;EAEJ,MAAME,MAAA,GAAS,MAAMd,0BAAA,CAA2B;IAC9CG,UAAA;IACAE,IAAA,EAAM;MACJ,GAAGA,IAAI;MACP,GAAGE;IACL;IACAH;EACF;EAEA,MAAMW,MAAA,GAAShB,qBAAA,CAAsB;IACnCiB,oBAAA,EAAsBb,UAAA,CAAWK,MAAM,CAACC,IAAI;IAC5CQ,YAAA,EAAcb,GAAA,CAAIc,OAAO,CAACV,MAAM,CAACS,YAAY;IAC7CE,KAAA,EAAOL,MAAA,CAAOK;EAChB;EAEA,OAAOC,QAAA,CAASC,IAAI,CAClB;IACEC,GAAA,EAAKR,MAAA,CAAOQ,GAAG;IACfC,OAAA,EAASjB,CAAA,CAAE;IACXa,KAAA,EAAOL,MAAA,CAAOK,KAAK;IACnBK,IAAA,EAAMV,MAAA,CAAOU;EACf,GACA;IACEC,OAAA,EAASxB,eAAA,CAAgB;MACvBwB,OAAA,EAAS,IAAIC,OAAA,CAAQ;QACnB,cAAcX;MAChB;MACAX;IACF;IACAuB,MAAA,EAAQ7B,UAAA,CAAW8B;EACrB;AAEJ","ignoreList":[]}
@@ -20,8 +20,8 @@ export const resetPassword = async ({
20
20
  req
21
21
  });
22
22
  const cookie = generatePayloadCookie({
23
- collectionConfig: collection.config,
24
- payload: req.payload,
23
+ collectionAuthConfig: collection.config.auth,
24
+ cookiePrefix: req.payload.config.cookiePrefix,
25
25
  token: result.token
26
26
  });
27
27
  if (collection.config.auth.removeTokenFromResponses) {
@@ -1 +1 @@
1
- {"version":3,"file":"resetPassword.js","names":["httpStatus","generatePayloadCookie","resetPasswordOperation","headersWithCors","resetPassword","collection","req","searchParams","t","depth","get","result","data","password","token","Number","undefined","cookie","collectionConfig","config","payload","auth","removeTokenFromResponses","Response","json","message","headers","Headers","status","OK"],"sources":["../../../../src/routes/rest/auth/resetPassword.ts"],"sourcesContent":["import httpStatus from 'http-status'\nimport { generatePayloadCookie, resetPasswordOperation } from 'payload'\n\nimport type { CollectionRouteHandler } from '../types.js'\n\nimport { headersWithCors } from '../../../utilities/headersWithCors.js'\n\nexport const resetPassword: CollectionRouteHandler = async ({ collection, req }) => {\n const { searchParams, t } = req\n const depth = searchParams.get('depth')\n\n const result = await resetPasswordOperation({\n collection,\n data: {\n password: typeof req.data?.password === 'string' ? req.data.password : '',\n token: typeof req.data?.token === 'string' ? req.data.token : '',\n },\n depth: depth ? Number(depth) : undefined,\n req,\n })\n\n const cookie = generatePayloadCookie({\n collectionConfig: collection.config,\n payload: req.payload,\n token: result.token,\n })\n\n if (collection.config.auth.removeTokenFromResponses) {\n delete result.token\n }\n\n return Response.json(\n {\n message: t('authentication:passwordResetSuccessfully'),\n ...result,\n },\n {\n headers: headersWithCors({\n headers: new Headers({\n 'Set-Cookie': cookie,\n }),\n req,\n }),\n status: httpStatus.OK,\n },\n )\n}\n"],"mappings":"AAAA,OAAOA,UAAA,MAAgB;AACvB,SAASC,qBAAqB,EAAEC,sBAAsB,QAAQ;AAI9D,SAASC,eAAe,QAAQ;AAEhC,OAAO,MAAMC,aAAA,GAAwC,MAAAA,CAAO;EAAEC,UAAU;EAAEC;AAAG,CAAE;EAC7E,MAAM;IAAEC,YAAY;IAAEC;EAAC,CAAE,GAAGF,GAAA;EAC5B,MAAMG,KAAA,GAAQF,YAAA,CAAaG,GAAG,CAAC;EAE/B,MAAMC,MAAA,GAAS,MAAMT,sBAAA,CAAuB;IAC1CG,UAAA;IACAO,IAAA,EAAM;MACJC,QAAA,EAAU,OAAOP,GAAA,CAAIM,IAAI,EAAEC,QAAA,KAAa,WAAWP,GAAA,CAAIM,IAAI,CAACC,QAAQ,GAAG;MACvEC,KAAA,EAAO,OAAOR,GAAA,CAAIM,IAAI,EAAEE,KAAA,KAAU,WAAWR,GAAA,CAAIM,IAAI,CAACE,KAAK,GAAG;IAChE;IACAL,KAAA,EAAOA,KAAA,GAAQM,MAAA,CAAON,KAAA,IAASO,SAAA;IAC/BV;EACF;EAEA,MAAMW,MAAA,GAAShB,qBAAA,CAAsB;IACnCiB,gBAAA,EAAkBb,UAAA,CAAWc,MAAM;IACnCC,OAAA,EAASd,GAAA,CAAIc,OAAO;IACpBN,KAAA,EAAOH,MAAA,CAAOG;EAChB;EAEA,IAAIT,UAAA,CAAWc,MAAM,CAACE,IAAI,CAACC,wBAAwB,EAAE;IACnD,OAAOX,MAAA,CAAOG,KAAK;EACrB;EAEA,OAAOS,QAAA,CAASC,IAAI,CAClB;IACEC,OAAA,EAASjB,CAAA,CAAE;IACX,GAAGG;EACL,GACA;IACEe,OAAA,EAASvB,eAAA,CAAgB;MACvBuB,OAAA,EAAS,IAAIC,OAAA,CAAQ;QACnB,cAAcV;MAChB;MACAX;IACF;IACAsB,MAAA,EAAQ5B,UAAA,CAAW6B;EACrB;AAEJ","ignoreList":[]}
1
+ {"version":3,"file":"resetPassword.js","names":["httpStatus","generatePayloadCookie","resetPasswordOperation","headersWithCors","resetPassword","collection","req","searchParams","t","depth","get","result","data","password","token","Number","undefined","cookie","collectionAuthConfig","config","auth","cookiePrefix","payload","removeTokenFromResponses","Response","json","message","headers","Headers","status","OK"],"sources":["../../../../src/routes/rest/auth/resetPassword.ts"],"sourcesContent":["import httpStatus from 'http-status'\nimport { generatePayloadCookie, resetPasswordOperation } from 'payload'\n\nimport type { CollectionRouteHandler } from '../types.js'\n\nimport { headersWithCors } from '../../../utilities/headersWithCors.js'\n\nexport const resetPassword: CollectionRouteHandler = async ({ collection, req }) => {\n const { searchParams, t } = req\n const depth = searchParams.get('depth')\n\n const result = await resetPasswordOperation({\n collection,\n data: {\n password: typeof req.data?.password === 'string' ? req.data.password : '',\n token: typeof req.data?.token === 'string' ? req.data.token : '',\n },\n depth: depth ? Number(depth) : undefined,\n req,\n })\n\n const cookie = generatePayloadCookie({\n collectionAuthConfig: collection.config.auth,\n cookiePrefix: req.payload.config.cookiePrefix,\n token: result.token,\n })\n\n if (collection.config.auth.removeTokenFromResponses) {\n delete result.token\n }\n\n return Response.json(\n {\n message: t('authentication:passwordResetSuccessfully'),\n ...result,\n },\n {\n headers: headersWithCors({\n headers: new Headers({\n 'Set-Cookie': cookie,\n }),\n req,\n }),\n status: httpStatus.OK,\n },\n )\n}\n"],"mappings":"AAAA,OAAOA,UAAA,MAAgB;AACvB,SAASC,qBAAqB,EAAEC,sBAAsB,QAAQ;AAI9D,SAASC,eAAe,QAAQ;AAEhC,OAAO,MAAMC,aAAA,GAAwC,MAAAA,CAAO;EAAEC,UAAU;EAAEC;AAAG,CAAE;EAC7E,MAAM;IAAEC,YAAY;IAAEC;EAAC,CAAE,GAAGF,GAAA;EAC5B,MAAMG,KAAA,GAAQF,YAAA,CAAaG,GAAG,CAAC;EAE/B,MAAMC,MAAA,GAAS,MAAMT,sBAAA,CAAuB;IAC1CG,UAAA;IACAO,IAAA,EAAM;MACJC,QAAA,EAAU,OAAOP,GAAA,CAAIM,IAAI,EAAEC,QAAA,KAAa,WAAWP,GAAA,CAAIM,IAAI,CAACC,QAAQ,GAAG;MACvEC,KAAA,EAAO,OAAOR,GAAA,CAAIM,IAAI,EAAEE,KAAA,KAAU,WAAWR,GAAA,CAAIM,IAAI,CAACE,KAAK,GAAG;IAChE;IACAL,KAAA,EAAOA,KAAA,GAAQM,MAAA,CAAON,KAAA,IAASO,SAAA;IAC/BV;EACF;EAEA,MAAMW,MAAA,GAAShB,qBAAA,CAAsB;IACnCiB,oBAAA,EAAsBb,UAAA,CAAWc,MAAM,CAACC,IAAI;IAC5CC,YAAA,EAAcf,GAAA,CAAIgB,OAAO,CAACH,MAAM,CAACE,YAAY;IAC7CP,KAAA,EAAOH,MAAA,CAAOG;EAChB;EAEA,IAAIT,UAAA,CAAWc,MAAM,CAACC,IAAI,CAACG,wBAAwB,EAAE;IACnD,OAAOZ,MAAA,CAAOG,KAAK;EACrB;EAEA,OAAOU,QAAA,CAASC,IAAI,CAClB;IACEC,OAAA,EAASlB,CAAA,CAAE;IACX,GAAGG;EACL,GACA;IACEgB,OAAA,EAASxB,eAAA,CAAgB;MACvBwB,OAAA,EAAS,IAAIC,OAAA,CAAQ;QACnB,cAAcX;MAChB;MACAX;IACF;IACAuB,MAAA,EAAQ7B,UAAA,CAAW8B;EACrB;AAEJ","ignoreList":[]}
@@ -1,23 +1,23 @@
1
1
  import type { SanitizedConfig } from 'payload';
2
2
  export declare const OPTIONS: (config: Promise<SanitizedConfig> | SanitizedConfig) => (request: Request) => Promise<Response>;
3
- export declare const GET: (config: Promise<SanitizedConfig> | SanitizedConfig) => (request: Request, { params: { slug } }: {
4
- params: {
3
+ export declare const GET: (config: Promise<SanitizedConfig> | SanitizedConfig) => (request: Request, { params: paramsPromise }: {
4
+ params: Promise<{
5
5
  slug: string[];
6
- };
6
+ }>;
7
7
  }) => Promise<Response>;
8
- export declare const POST: (config: Promise<SanitizedConfig> | SanitizedConfig) => (request: Request, { params: { slug } }: {
9
- params: {
8
+ export declare const POST: (config: Promise<SanitizedConfig> | SanitizedConfig) => (request: Request, { params: paramsPromise }: {
9
+ params: Promise<{
10
10
  slug: string[];
11
- };
11
+ }>;
12
12
  }) => Promise<Response>;
13
- export declare const DELETE: (config: Promise<SanitizedConfig> | SanitizedConfig) => (request: Request, { params: { slug } }: {
14
- params: {
13
+ export declare const DELETE: (config: Promise<SanitizedConfig> | SanitizedConfig) => (request: Request, { params: paramsPromise }: {
14
+ params: Promise<{
15
15
  slug: string[];
16
- };
16
+ }>;
17
17
  }) => Promise<Response>;
18
- export declare const PATCH: (config: Promise<SanitizedConfig> | SanitizedConfig) => (request: Request, { params: { slug } }: {
19
- params: {
18
+ export declare const PATCH: (config: Promise<SanitizedConfig> | SanitizedConfig) => (request: Request, { params: paramsPromise }: {
19
+ params: Promise<{
20
20
  slug: string[];
21
- };
21
+ }>;
22
22
  }) => Promise<Response>;
23
23
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/routes/rest/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAsD,eAAe,EAAE,MAAM,SAAS,CAAA;AAwMlG,eAAO,MAAM,OAAO,WACT,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,eAAqB,OAAO,sBA0B9E,CAAA;AAEH,eAAO,MAAM,GAAG,WACL,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,eACnC,OAAO,wBAAwB;IAAE,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,EAAE,CAAA;KAAE,CAAA;CAAE,sBAoM5E,CAAA;AAEH,eAAO,MAAM,IAAI,WACN,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,eACnC,OAAO,wBAAwB;IAAE,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,EAAE,CAAA;KAAE,CAAA;CAAE,sBA0L5E,CAAA;AAEH,eAAO,MAAM,MAAM,WACR,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,eACnC,OAAO,wBAAwB;IAAE,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,EAAE,CAAA;KAAE,CAAA;CAAE,sBAgG5E,CAAA;AAEH,eAAO,MAAM,KAAK,WACP,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,eACnC,OAAO,wBAAwB;IAAE,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,EAAE,CAAA;KAAE,CAAA;CAAE,sBAiG5E,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/routes/rest/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAsD,eAAe,EAAE,MAAM,SAAS,CAAA;AAwMlG,eAAO,MAAM,OAAO,WACT,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,eAAqB,OAAO,sBA0B9E,CAAA;AAEH,eAAO,MAAM,GAAG,WACL,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,eACnC,OAAO,6BAA6B;IAAE,MAAM,EAAE,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAA;CAAE,sBAqM1F,CAAA;AAEH,eAAO,MAAM,IAAI,WACN,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,eACnC,OAAO,6BAA6B;IAAE,MAAM,EAAE,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAA;CAAE,sBA2L1F,CAAA;AAEH,eAAO,MAAM,MAAM,WACR,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,eACnC,OAAO,6BAA6B;IAAE,MAAM,EAAE,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAA;CAAE,sBAiG1F,CAAA;AAEH,eAAO,MAAM,KAAK,WACP,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,eACnC,OAAO,6BAA6B;IAAE,MAAM,EAAE,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAA;CAAE,sBAkG1F,CAAA"}
@@ -194,10 +194,11 @@ export const OPTIONS = config => async request => {
194
194
  }
195
195
  };
196
196
  export const GET = config => async (request, {
197
- params: {
198
- slug
199
- }
197
+ params: paramsPromise
200
198
  }) => {
199
+ const {
200
+ slug
201
+ } = await paramsPromise;
201
202
  const [slug1, slug2, slug3, slug4] = slug;
202
203
  let req;
203
204
  let res;
@@ -385,10 +386,11 @@ export const GET = config => async (request, {
385
386
  }
386
387
  };
387
388
  export const POST = config => async (request, {
388
- params: {
389
- slug
390
- }
389
+ params: paramsPromise
391
390
  }) => {
391
+ const {
392
+ slug
393
+ } = await paramsPromise;
392
394
  const [slug1, slug2, slug3, slug4] = slug;
393
395
  let req;
394
396
  let res;
@@ -396,9 +398,7 @@ export const POST = config => async (request, {
396
398
  const overrideHttpMethod = request.headers.get('X-HTTP-Method-Override');
397
399
  if (overrideHttpMethod === 'GET') {
398
400
  return await GET(config)(request, {
399
- params: {
400
- slug
401
- }
401
+ params: paramsPromise
402
402
  });
403
403
  }
404
404
  try {
@@ -571,10 +571,11 @@ export const POST = config => async (request, {
571
571
  }
572
572
  };
573
573
  export const DELETE = config => async (request, {
574
- params: {
575
- slug
576
- }
574
+ params: paramsPromise
577
575
  }) => {
576
+ const {
577
+ slug
578
+ } = await paramsPromise;
578
579
  const [slug1, slug2] = slug;
579
580
  let req;
580
581
  let res;
@@ -663,10 +664,11 @@ export const DELETE = config => async (request, {
663
664
  }
664
665
  };
665
666
  export const PATCH = config => async (request, {
666
- params: {
667
- slug
668
- }
667
+ params: paramsPromise
669
668
  }) => {
669
+ const {
670
+ slug
671
+ } = await paramsPromise;
670
672
  const [slug1, slug2] = slug;
671
673
  let req;
672
674
  let res;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["httpStatus","match","addDataAndFileToRequest","addLocalesToRequestFromData","createPayloadRequest","headersWithCors","mergeHeaders","access","forgotPassword","init","login","logout","me","refresh","registerFirstUser","resetPassword","unlock","verifyEmail","buildFormState","endpointsAreDisabled","count","create","deleteDoc","deleteByID","docAccess","duplicate","find","findByID","findVersionByID","findVersions","preview","previewCollection","restoreVersion","update","updateByID","getFile","docAccessGlobal","findOne","findVersionByIdGlobal","findVersionsGlobal","previewGlobal","restoreVersionGlobal","updateGlobal","generateOGImage","routeError","endpoints","collection","DELETE","delete","GET","versions","PATCH","POST","global","root","og","handleCustomEndpoints","entitySlug","req","length","handlerParams","pathname","adjustedPathname","process","env","NEXT_BASE_PATH","pathPrefix","payload","config","routes","api","customEndpoint","endpoint","method","toLowerCase","pathMatchFn","path","decode","decodeURIComponent","tempParams","params","routeParams","res","handler","Response","responseHeaders","mergedResponse","body","headers","status","statusText","RouteNotFoundResponse","slug","json","message","join","Headers","NOT_FOUND","OPTIONS","request","error","err","slug1","slug2","slug3","slug4","disableEndpoints","collections","customEndpointResponse","id","filename","globalConfig","globals","overrideHttpMethod","get","disableDuplicate"],"sources":["../../../src/routes/rest/index.ts"],"sourcesContent":["import type { Collection, Endpoint, GlobalConfig, PayloadRequest, SanitizedConfig } from 'payload'\n\nimport httpStatus from 'http-status'\nimport { match } from 'path-to-regexp'\n\nimport type {\n CollectionRouteHandler,\n CollectionRouteHandlerWithID,\n GlobalRouteHandler,\n GlobalRouteHandlerWithID,\n} from './types.js'\n\nimport { addDataAndFileToRequest } from '../../utilities/addDataAndFileToRequest.js'\nimport { addLocalesToRequestFromData } from '../../utilities/addLocalesToRequest.js'\nimport { createPayloadRequest } from '../../utilities/createPayloadRequest.js'\nimport { headersWithCors } from '../../utilities/headersWithCors.js'\nimport { mergeHeaders } from '../../utilities/mergeHeaders.js'\nimport { access } from './auth/access.js'\nimport { forgotPassword } from './auth/forgotPassword.js'\nimport { init } from './auth/init.js'\nimport { login } from './auth/login.js'\nimport { logout } from './auth/logout.js'\nimport { me } from './auth/me.js'\nimport { refresh } from './auth/refresh.js'\nimport { registerFirstUser } from './auth/registerFirstUser.js'\nimport { resetPassword } from './auth/resetPassword.js'\nimport { unlock } from './auth/unlock.js'\nimport { verifyEmail } from './auth/verifyEmail.js'\nimport { buildFormState } from './buildFormState.js'\nimport { endpointsAreDisabled } from './checkEndpoints.js'\nimport { count } from './collections/count.js'\nimport { create } from './collections/create.js'\nimport { deleteDoc } from './collections/delete.js'\nimport { deleteByID } from './collections/deleteByID.js'\nimport { docAccess } from './collections/docAccess.js'\nimport { duplicate } from './collections/duplicate.js'\nimport { find } from './collections/find.js'\nimport { findByID } from './collections/findByID.js'\nimport { findVersionByID } from './collections/findVersionByID.js'\nimport { findVersions } from './collections/findVersions.js'\nimport { preview as previewCollection } from './collections/preview.js'\nimport { restoreVersion } from './collections/restoreVersion.js'\nimport { update } from './collections/update.js'\nimport { updateByID } from './collections/updateByID.js'\nimport { getFile } from './files/getFile.js'\nimport { docAccess as docAccessGlobal } from './globals/docAccess.js'\nimport { findOne } from './globals/findOne.js'\nimport { findVersionByID as findVersionByIdGlobal } from './globals/findVersionByID.js'\nimport { findVersions as findVersionsGlobal } from './globals/findVersions.js'\nimport { preview as previewGlobal } from './globals/preview.js'\nimport { restoreVersion as restoreVersionGlobal } from './globals/restoreVersion.js'\nimport { update as updateGlobal } from './globals/update.js'\nimport { generateOGImage } from './og/index.js'\nimport { routeError } from './routeError.js'\n\nconst endpoints = {\n collection: {\n DELETE: {\n delete: deleteDoc,\n deleteByID,\n },\n GET: {\n count,\n 'doc-access-by-id': docAccess,\n 'doc-versions-by-id': findVersionByID,\n find,\n findByID,\n getFile,\n init,\n me,\n preview: previewCollection,\n versions: findVersions,\n },\n PATCH: {\n update,\n updateByID,\n },\n POST: {\n access: docAccess,\n create,\n 'doc-access-by-id': docAccess,\n 'doc-verify-by-id': verifyEmail,\n 'doc-versions-by-id': restoreVersion,\n duplicate,\n 'first-register': registerFirstUser,\n 'forgot-password': forgotPassword,\n login,\n logout,\n 'refresh-token': refresh,\n 'reset-password': resetPassword,\n unlock,\n },\n },\n global: {\n GET: {\n 'doc-access': docAccessGlobal,\n 'doc-versions': findVersionsGlobal,\n 'doc-versions-by-id': findVersionByIdGlobal,\n findOne,\n preview: previewGlobal,\n },\n POST: {\n 'doc-access': docAccessGlobal,\n 'doc-versions-by-id': restoreVersionGlobal,\n update: updateGlobal,\n },\n },\n root: {\n GET: {\n access,\n og: generateOGImage,\n },\n POST: {\n 'form-state': buildFormState,\n },\n },\n}\n\nconst handleCustomEndpoints = async ({\n endpoints,\n entitySlug,\n req,\n}: {\n endpoints: Endpoint[] | GlobalConfig['endpoints']\n entitySlug?: string\n req: PayloadRequest\n}): Promise<Response> => {\n if (endpoints && endpoints.length > 0) {\n let handlerParams = {}\n const { pathname } = req\n\n /*\n * This makes sure the next.js basePath property is supported. If basePath is used, payload config.routes.api should include it. This makes all outgoing frontend request\n * target the correct API endpoint starting with basePath, which is good!\n *\n * The incoming request (here) will not include the basePath though, as it's automatically stripped by Next.js. Since we are adding the basePath to the pathPrefix below though\n * (from req.payload.config.routes.api) we need to add it to pathname, which does not contain the basePath. Otherwise, no endpoint will be matched if basePath is set.\n */\n let adjustedPathname = pathname\n\n if (process.env.NEXT_BASE_PATH) {\n adjustedPathname = process.env.NEXT_BASE_PATH + pathname\n }\n\n const pathPrefix = req.payload.config.routes.api + (entitySlug ? `/${entitySlug}` : '')\n\n const customEndpoint = endpoints.find((endpoint) => {\n if (endpoint.method === req.method.toLowerCase()) {\n const pathMatchFn = match(`${pathPrefix}${endpoint.path}`, {\n decode: decodeURIComponent,\n })\n\n const tempParams = pathMatchFn(adjustedPathname)\n if (tempParams) {\n handlerParams = tempParams.params\n return true\n }\n }\n })\n\n if (customEndpoint) {\n req.routeParams = {\n ...req.routeParams,\n ...handlerParams,\n }\n const res = await customEndpoint.handler(req)\n\n if (res instanceof Response) {\n if (req.responseHeaders) {\n const mergedResponse = new Response(res.body, {\n headers: mergeHeaders(req.responseHeaders, res.headers),\n status: res.status,\n statusText: res.statusText,\n })\n\n return mergedResponse\n }\n\n return res\n }\n }\n }\n\n return null\n}\n\nconst RouteNotFoundResponse = ({ slug, req }: { req: PayloadRequest; slug: string[] }) =>\n Response.json(\n {\n message: `Route Not Found: \"${slug.join('/')}\"`,\n },\n {\n headers: headersWithCors({\n headers: new Headers(),\n req,\n }),\n status: httpStatus.NOT_FOUND,\n },\n )\n\nexport const OPTIONS =\n (config: Promise<SanitizedConfig> | SanitizedConfig) => async (request: Request) => {\n let req: PayloadRequest\n\n try {\n req = await createPayloadRequest({\n config,\n request,\n })\n\n return Response.json(\n {},\n {\n headers: headersWithCors({\n headers: new Headers(),\n req,\n }),\n status: 200,\n },\n )\n } catch (error) {\n return routeError({\n config,\n err: error,\n req: req || request,\n })\n }\n }\n\nexport const GET =\n (config: Promise<SanitizedConfig> | SanitizedConfig) =>\n async (request: Request, { params: { slug } }: { params: { slug: string[] } }) => {\n const [slug1, slug2, slug3, slug4] = slug\n let req: PayloadRequest\n let res: Response\n let collection: Collection\n\n try {\n req = await createPayloadRequest({\n config,\n request,\n })\n\n const disableEndpoints = endpointsAreDisabled({\n endpoints: req.payload.config.endpoints,\n request,\n })\n\n if (disableEndpoints) {\n return disableEndpoints\n }\n\n collection = req.payload.collections?.[slug1]\n\n if (collection) {\n req.routeParams.collection = slug1\n const disableEndpoints = endpointsAreDisabled({\n endpoints: collection.config.endpoints,\n request,\n })\n if (disableEndpoints) {\n return disableEndpoints\n }\n\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: collection.config.endpoints,\n entitySlug: slug1,\n req,\n })\n\n if (customEndpointResponse) {\n return customEndpointResponse\n } else {\n await addDataAndFileToRequest(req)\n addLocalesToRequestFromData(req)\n\n switch (slug.length) {\n case 1:\n // /:collection\n res = await endpoints.collection.GET.find({ collection, req })\n break\n case 2:\n if (slug2 in endpoints.collection.GET) {\n // /:collection/init\n // /:collection/me\n // /:collection/versions\n // /:collection/count\n res = await (endpoints.collection.GET[slug2] as CollectionRouteHandler)({\n collection,\n req,\n })\n } else {\n // /:collection/:id\n res = await endpoints.collection.GET.findByID({\n id: slug2,\n collection,\n req,\n })\n }\n break\n case 3:\n if (slug2 === 'file') {\n // /:collection/file/:filename\n res = await endpoints.collection.GET.getFile({\n collection,\n filename: slug3,\n req,\n })\n } else if (slug3 in endpoints.collection.GET) {\n // /:collection/:id/preview\n res = await (endpoints.collection.GET[slug3] as CollectionRouteHandlerWithID)({\n id: slug2,\n collection,\n req,\n })\n } else if (`doc-${slug2}-by-id` in endpoints.collection.GET) {\n // /:collection/access/:id\n // /:collection/versions/:id\n res = await (\n endpoints.collection.GET[`doc-${slug2}-by-id`] as CollectionRouteHandlerWithID\n )({ id: slug3, collection, req })\n }\n break\n }\n }\n } else if (slug1 === 'globals') {\n const globalConfig = req.payload.config.globals.find((global) => global.slug === slug2)\n req.routeParams.global = globalConfig.slug\n\n const disableEndpoints = endpointsAreDisabled({\n endpoints: globalConfig.endpoints,\n request,\n })\n if (disableEndpoints) {\n return disableEndpoints\n }\n\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: globalConfig.endpoints,\n entitySlug: `${slug1}/${slug2}`,\n req,\n })\n\n if (customEndpointResponse) {\n return customEndpointResponse\n } else {\n await addDataAndFileToRequest(req)\n addLocalesToRequestFromData(req)\n\n switch (slug.length) {\n case 2:\n // /globals/:slug\n res = await endpoints.global.GET.findOne({ globalConfig, req })\n break\n case 3:\n if (slug3 in endpoints.global.GET) {\n // /globals/:slug/preview\n res = await (endpoints.global.GET[slug3] as GlobalRouteHandler)({\n globalConfig,\n req,\n })\n } else if (`doc-${slug3}` in endpoints.global.GET) {\n // /globals/:slug/access\n // /globals/:slug/versions\n // /globals/:slug/preview\n res = await (endpoints.global.GET?.[`doc-${slug3}`] as GlobalRouteHandler)({\n globalConfig,\n req,\n })\n }\n break\n case 4:\n if (`doc-${slug3}-by-id` in endpoints.global.GET) {\n // /globals/:slug/versions/:id\n res = await (\n endpoints.global.GET?.[`doc-${slug3}-by-id`] as GlobalRouteHandlerWithID\n )({\n id: slug4,\n globalConfig,\n req,\n })\n }\n break\n }\n }\n } else if (slug.length === 1 && slug1 in endpoints.root.GET) {\n await addDataAndFileToRequest(req)\n addLocalesToRequestFromData(req)\n res = await endpoints.root.GET[slug1]({ req })\n }\n\n if (res instanceof Response) {\n if (req.responseHeaders) {\n const mergedResponse = new Response(res.body, {\n headers: mergeHeaders(req.responseHeaders, res.headers),\n status: res.status,\n statusText: res.statusText,\n })\n\n return mergedResponse\n }\n\n return res\n }\n\n // root routes\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: req.payload.config.endpoints,\n req,\n })\n\n if (customEndpointResponse) {\n return customEndpointResponse\n }\n\n return RouteNotFoundResponse({\n slug,\n req,\n })\n } catch (error) {\n return routeError({\n collection,\n config,\n err: error,\n req: req || request,\n })\n }\n }\n\nexport const POST =\n (config: Promise<SanitizedConfig> | SanitizedConfig) =>\n async (request: Request, { params: { 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) {\n return disableEndpoints\n }\n\n if (collection) {\n req.routeParams.collection = slug1\n const disableEndpoints = endpointsAreDisabled({\n endpoints: collection.config.endpoints,\n request,\n })\n if (disableEndpoints) {\n return disableEndpoints\n }\n\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: collection.config.endpoints,\n entitySlug: slug1,\n req,\n })\n\n if (customEndpointResponse) {\n return customEndpointResponse\n } else {\n await addDataAndFileToRequest(req)\n addLocalesToRequestFromData(req)\n\n switch (slug.length) {\n case 1:\n // /:collection\n res = await endpoints.collection.POST.create({ collection, req })\n break\n case 2:\n if (slug2 in endpoints.collection.POST) {\n // /:collection/login\n // /:collection/logout\n // /:collection/unlock\n // /:collection/access\n // /:collection/first-register\n // /:collection/forgot-password\n // /:collection/reset-password\n // /:collection/refresh-token\n\n res = await (endpoints.collection.POST?.[slug2] as CollectionRouteHandler)({\n collection,\n req,\n })\n }\n break\n case 3:\n if (`doc-${slug2}-by-id` in endpoints.collection.POST) {\n // /:collection/access/:id\n // /:collection/versions/:id\n // /:collection/verify/:token (\"doc-verify-by-id\" uses id as token internally)\n res = await (\n endpoints.collection.POST[`doc-${slug2}-by-id`] as CollectionRouteHandlerWithID\n )({ id: slug3, collection, req })\n } else if (slug3 === 'duplicate' && collection.config.disableDuplicate !== true) {\n // /:collection/:id/duplicate\n res = await endpoints.collection.POST.duplicate({\n id: slug2,\n collection,\n req,\n })\n }\n break\n }\n }\n } else if (slug1 === 'globals' && slug2) {\n const globalConfig = req.payload.config.globals.find((global) => global.slug === slug2)\n req.routeParams.global = globalConfig.slug\n\n const disableEndpoints = endpointsAreDisabled({\n endpoints: globalConfig.endpoints,\n request,\n })\n if (disableEndpoints) {\n return disableEndpoints\n }\n\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: globalConfig.endpoints,\n entitySlug: `${slug1}/${slug2}`,\n req,\n })\n\n if (customEndpointResponse) {\n return customEndpointResponse\n } else {\n await addDataAndFileToRequest(req)\n addLocalesToRequestFromData(req)\n switch (slug.length) {\n case 2:\n // /globals/:slug\n res = await endpoints.global.POST.update({ globalConfig, req })\n break\n case 3:\n if (`doc-${slug3}` in endpoints.global.POST) {\n // /globals/:slug/access\n res = await (endpoints.global.POST?.[`doc-${slug3}`] as GlobalRouteHandler)({\n globalConfig,\n req,\n })\n }\n break\n case 4:\n if (`doc-${slug3}-by-id` in endpoints.global.POST) {\n // /globals/:slug/versions/:id\n res = await (\n endpoints.global.POST?.[`doc-${slug3}-by-id`] as GlobalRouteHandlerWithID\n )({\n id: slug4,\n globalConfig,\n req,\n })\n }\n break\n default:\n res = new Response('Route Not Found', { status: 404 })\n }\n }\n } 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) {\n return customEndpointResponse\n }\n\n return RouteNotFoundResponse({\n slug,\n req,\n })\n } catch (error) {\n return routeError({\n collection,\n config,\n err: error,\n req: req || request,\n })\n }\n }\n\nexport const DELETE =\n (config: Promise<SanitizedConfig> | SanitizedConfig) =>\n async (request: Request, { params: { 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) {\n return disableEndpoints\n }\n\n if (collection) {\n req.routeParams.collection = slug1\n\n const disableEndpoints = endpointsAreDisabled({\n endpoints: collection.config.endpoints,\n request,\n })\n if (disableEndpoints) {\n return disableEndpoints\n }\n\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: collection.config.endpoints,\n entitySlug: slug1,\n req,\n })\n if (customEndpointResponse) {\n return customEndpointResponse\n } else {\n await addDataAndFileToRequest(req)\n addLocalesToRequestFromData(req)\n\n switch (slug.length) {\n case 1:\n // /:collection\n res = await endpoints.collection.DELETE.delete({ collection, req })\n break\n case 2:\n // /:collection/:id\n res = await endpoints.collection.DELETE.deleteByID({\n id: slug2,\n collection,\n req,\n })\n break\n }\n }\n }\n\n if (res instanceof Response) {\n if (req.responseHeaders) {\n const mergedResponse = new Response(res.body, {\n headers: mergeHeaders(req.responseHeaders, res.headers),\n status: res.status,\n statusText: res.statusText,\n })\n\n return mergedResponse\n }\n\n return res\n }\n\n // root routes\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: req.payload.config.endpoints,\n req,\n })\n\n if (customEndpointResponse) {\n return customEndpointResponse\n }\n\n return RouteNotFoundResponse({\n slug,\n req,\n })\n } catch (error) {\n return routeError({\n collection,\n config,\n err: error,\n req: req || request,\n })\n }\n }\n\nexport const PATCH =\n (config: Promise<SanitizedConfig> | SanitizedConfig) =>\n async (request: Request, { params: { 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) {\n return disableEndpoints\n }\n\n if (collection) {\n req.routeParams.collection = slug1\n\n const disableEndpoints = endpointsAreDisabled({\n endpoints: collection.config.endpoints,\n request,\n })\n if (disableEndpoints) {\n return disableEndpoints\n }\n\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: collection.config.endpoints,\n entitySlug: slug1,\n req,\n })\n\n if (customEndpointResponse) {\n return customEndpointResponse\n } else {\n await addDataAndFileToRequest(req)\n addLocalesToRequestFromData(req)\n\n switch (slug.length) {\n case 1:\n // /:collection\n res = await endpoints.collection.PATCH.update({ collection, req })\n break\n case 2:\n // /:collection/:id\n res = await endpoints.collection.PATCH.updateByID({\n id: slug2,\n collection,\n req,\n })\n break\n }\n }\n }\n\n if (res instanceof Response) {\n if (req.responseHeaders) {\n const mergedResponse = new Response(res.body, {\n headers: mergeHeaders(req.responseHeaders, res.headers),\n status: res.status,\n statusText: res.statusText,\n })\n\n return mergedResponse\n }\n\n return res\n }\n\n // root routes\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: req.payload.config.endpoints,\n req,\n })\n\n if (customEndpointResponse) {\n return customEndpointResponse\n }\n\n return RouteNotFoundResponse({\n slug,\n req,\n })\n } catch (error) {\n return routeError({\n collection,\n config,\n err: error,\n req: req || request,\n })\n }\n }\n"],"mappings":"AAEA,OAAOA,UAAA,MAAgB;AACvB,SAASC,KAAK,QAAQ;AAStB,SAASC,uBAAuB,QAAQ;AACxC,SAASC,2BAA2B,QAAQ;AAC5C,SAASC,oBAAoB,QAAQ;AACrC,SAASC,eAAe,QAAQ;AAChC,SAASC,YAAY,QAAQ;AAC7B,SAASC,MAAM,QAAQ;AACvB,SAASC,cAAc,QAAQ;AAC/B,SAASC,IAAI,QAAQ;AACrB,SAASC,KAAK,QAAQ;AACtB,SAASC,MAAM,QAAQ;AACvB,SAASC,EAAE,QAAQ;AACnB,SAASC,OAAO,QAAQ;AACxB,SAASC,iBAAiB,QAAQ;AAClC,SAASC,aAAa,QAAQ;AAC9B,SAASC,MAAM,QAAQ;AACvB,SAASC,WAAW,QAAQ;AAC5B,SAASC,cAAc,QAAQ;AAC/B,SAASC,oBAAoB,QAAQ;AACrC,SAASC,KAAK,QAAQ;AACtB,SAASC,MAAM,QAAQ;AACvB,SAASC,SAAS,QAAQ;AAC1B,SAASC,UAAU,QAAQ;AAC3B,SAASC,SAAS,QAAQ;AAC1B,SAASC,SAAS,QAAQ;AAC1B,SAASC,IAAI,QAAQ;AACrB,SAASC,QAAQ,QAAQ;AACzB,SAASC,eAAe,QAAQ;AAChC,SAASC,YAAY,QAAQ;AAC7B,SAASC,OAAA,IAAWC,iBAAiB,QAAQ;AAC7C,SAASC,cAAc,QAAQ;AAC/B,SAASC,MAAM,QAAQ;AACvB,SAASC,UAAU,QAAQ;AAC3B,SAASC,OAAO,QAAQ;AACxB,SAASX,SAAA,IAAaY,eAAe,QAAQ;AAC7C,SAASC,OAAO,QAAQ;AACxB,SAAST,eAAA,IAAmBU,qBAAqB,QAAQ;AACzD,SAAST,YAAA,IAAgBU,kBAAkB,QAAQ;AACnD,SAAST,OAAA,IAAWU,aAAa,QAAQ;AACzC,SAASR,cAAA,IAAkBS,oBAAoB,QAAQ;AACvD,SAASR,MAAA,IAAUS,YAAY,QAAQ;AACvC,SAASC,eAAe,QAAQ;AAChC,SAASC,UAAU,QAAQ;AAE3B,MAAMC,SAAA,GAAY;EAChBC,UAAA,EAAY;IACVC,MAAA,EAAQ;MACNC,MAAA,EAAQ1B,SAAA;MACRC;IACF;IACA0B,GAAA,EAAK;MACH7B,KAAA;MACA,oBAAoBI,SAAA;MACpB,sBAAsBI,eAAA;MACtBF,IAAA;MACAC,QAAA;MACAQ,OAAA;MACA1B,IAAA;MACAG,EAAA;MACAkB,OAAA,EAASC,iBAAA;MACTmB,QAAA,EAAUrB;IACZ;IACAsB,KAAA,EAAO;MACLlB,MAAA;MACAC;IACF;IACAkB,IAAA,EAAM;MACJ7C,MAAA,EAAQiB,SAAA;MACRH,MAAA;MACA,oBAAoBG,SAAA;MACpB,oBAAoBP,WAAA;MACpB,sBAAsBe,cAAA;MACtBP,SAAA;MACA,kBAAkBX,iBAAA;MAClB,mBAAmBN,cAAA;MACnBE,KAAA;MACAC,MAAA;MACA,iBAAiBE,OAAA;MACjB,kBAAkBE,aAAA;MAClBC;IACF;EACF;EACAqC,MAAA,EAAQ;IACNJ,GAAA,EAAK;MACH,cAAcb,eAAA;MACd,gBAAgBG,kBAAA;MAChB,sBAAsBD,qBAAA;MACtBD,OAAA;MACAP,OAAA,EAASU;IACX;IACAY,IAAA,EAAM;MACJ,cAAchB,eAAA;MACd,sBAAsBK,oBAAA;MACtBR,MAAA,EAAQS;IACV;EACF;EACAY,IAAA,EAAM;IACJL,GAAA,EAAK;MACH1C,MAAA;MACAgD,EAAA,EAAIZ;IACN;IACAS,IAAA,EAAM;MACJ,cAAclC;IAChB;EACF;AACF;AAEA,MAAMsC,qBAAA,GAAwB,MAAAA,CAAO;EACnCX,SAAS;EACTY,UAAU;EACVC;AAAG,CAKJ;EACC,IAAIb,SAAA,IAAaA,SAAA,CAAUc,MAAM,GAAG,GAAG;IACrC,IAAIC,aAAA,GAAgB,CAAC;IACrB,MAAM;MAAEC;IAAQ,CAAE,GAAGH,GAAA;IAErB;;;;;;;IAOA,IAAII,gBAAA,GAAmBD,QAAA;IAEvB,IAAIE,OAAA,CAAQC,GAAG,CAACC,cAAc,EAAE;MAC9BH,gBAAA,GAAmBC,OAAA,CAAQC,GAAG,CAACC,cAAc,GAAGJ,QAAA;IAClD;IAEA,MAAMK,UAAA,GAAaR,GAAA,CAAIS,OAAO,CAACC,MAAM,CAACC,MAAM,CAACC,GAAG,IAAIb,UAAA,GAAa,IAAIA,UAAA,EAAY,GAAG,EAAC;IAErF,MAAMc,cAAA,GAAiB1B,SAAA,CAAUnB,IAAI,CAAE8C,QAAA;MACrC,IAAIA,QAAA,CAASC,MAAM,KAAKf,GAAA,CAAIe,MAAM,CAACC,WAAW,IAAI;QAChD,MAAMC,WAAA,GAAc1E,KAAA,CAAM,GAAGiE,UAAA,GAAaM,QAAA,CAASI,IAAI,EAAE,EAAE;UACzDC,MAAA,EAAQC;QACV;QAEA,MAAMC,UAAA,GAAaJ,WAAA,CAAYb,gBAAA;QAC/B,IAAIiB,UAAA,EAAY;UACdnB,aAAA,GAAgBmB,UAAA,CAAWC,MAAM;UACjC,OAAO;QACT;MACF;IACF;IAEA,IAAIT,cAAA,EAAgB;MAClBb,GAAA,CAAIuB,WAAW,GAAG;QAChB,GAAGvB,GAAA,CAAIuB,WAAW;QAClB,GAAGrB;MACL;MACA,MAAMsB,GAAA,GAAM,MAAMX,cAAA,CAAeY,OAAO,CAACzB,GAAA;MAEzC,IAAIwB,GAAA,YAAeE,QAAA,EAAU;QAC3B,IAAI1B,GAAA,CAAI2B,eAAe,EAAE;UACvB,MAAMC,cAAA,GAAiB,IAAIF,QAAA,CAASF,GAAA,CAAIK,IAAI,EAAE;YAC5CC,OAAA,EAASlF,YAAA,CAAaoD,GAAA,CAAI2B,eAAe,EAAEH,GAAA,CAAIM,OAAO;YACtDC,MAAA,EAAQP,GAAA,CAAIO,MAAM;YAClBC,UAAA,EAAYR,GAAA,CAAIQ;UAClB;UAEA,OAAOJ,cAAA;QACT;QAEA,OAAOJ,GAAA;MACT;IACF;EACF;EAEA,OAAO;AACT;AAEA,MAAMS,qBAAA,GAAwBA,CAAC;EAAEC,IAAI;EAAElC;AAAG,CAA2C,KACnF0B,QAAA,CAASS,IAAI,CACX;EACEC,OAAA,EAAS,qBAAqBF,IAAA,CAAKG,IAAI,CAAC;AAC1C,GACA;EACEP,OAAA,EAASnF,eAAA,CAAgB;IACvBmF,OAAA,EAAS,IAAIQ,OAAA;IACbtC;EACF;EACA+B,MAAA,EAAQzF,UAAA,CAAWiG;AACrB;AAGJ,OAAO,MAAMC,OAAA,GACV9B,MAAA,IAAuD,MAAO+B,OAAA;EAC7D,IAAIzC,GAAA;EAEJ,IAAI;IACFA,GAAA,GAAM,MAAMtD,oBAAA,CAAqB;MAC/BgE,MAAA;MACA+B;IACF;IAEA,OAAOf,QAAA,CAASS,IAAI,CAClB,CAAC,GACD;MACEL,OAAA,EAASnF,eAAA,CAAgB;QACvBmF,OAAA,EAAS,IAAIQ,OAAA;QACbtC;MACF;MACA+B,MAAA,EAAQ;IACV;EAEJ,EAAE,OAAOW,KAAA,EAAO;IACd,OAAOxD,UAAA,CAAW;MAChBwB,MAAA;MACAiC,GAAA,EAAKD,KAAA;MACL1C,GAAA,EAAKA,GAAA,IAAOyC;IACd;EACF;AACF;AAEF,OAAO,MAAMlD,GAAA,GACVmB,MAAA,IACD,OAAO+B,OAAA,EAAkB;EAAEnB,MAAA,EAAQ;IAAEY;EAAI;AAAE,CAAkC;EAC3E,MAAM,CAACU,KAAA,EAAOC,KAAA,EAAOC,KAAA,EAAOC,KAAA,CAAM,GAAGb,IAAA;EACrC,IAAIlC,GAAA;EACJ,IAAIwB,GAAA;EACJ,IAAIpC,UAAA;EAEJ,IAAI;IACFY,GAAA,GAAM,MAAMtD,oBAAA,CAAqB;MAC/BgE,MAAA;MACA+B;IACF;IAEA,MAAMO,gBAAA,GAAmBvF,oBAAA,CAAqB;MAC5C0B,SAAA,EAAWa,GAAA,CAAIS,OAAO,CAACC,MAAM,CAACvB,SAAS;MACvCsD;IACF;IAEA,IAAIO,gBAAA,EAAkB;MACpB,OAAOA,gBAAA;IACT;IAEA5D,UAAA,GAAaY,GAAA,CAAIS,OAAO,CAACwC,WAAW,GAAGL,KAAA,CAAM;IAE7C,IAAIxD,UAAA,EAAY;MACdY,GAAA,CAAIuB,WAAW,CAACnC,UAAU,GAAGwD,KAAA;MAC7B,MAAMI,gBAAA,GAAmBvF,oBAAA,CAAqB;QAC5C0B,SAAA,EAAWC,UAAA,CAAWsB,MAAM,CAACvB,SAAS;QACtCsD;MACF;MACA,IAAIO,gBAAA,EAAkB;QACpB,OAAOA,gBAAA;MACT;MAEA,MAAME,sBAAA,GAAyB,MAAMpD,qBAAA,CAAsB;QACzDX,SAAA,EAAWC,UAAA,CAAWsB,MAAM,CAACvB,SAAS;QACtCY,UAAA,EAAY6C,KAAA;QACZ5C;MACF;MAEA,IAAIkD,sBAAA,EAAwB;QAC1B,OAAOA,sBAAA;MACT,OAAO;QACL,MAAM1G,uBAAA,CAAwBwD,GAAA;QAC9BvD,2BAAA,CAA4BuD,GAAA;QAE5B,QAAQkC,IAAA,CAAKjC,MAAM;UACjB,KAAK;YACH;YACAuB,GAAA,GAAM,MAAMrC,SAAA,CAAUC,UAAU,CAACG,GAAG,CAACvB,IAAI,CAAC;cAAEoB,UAAA;cAAYY;YAAI;YAC5D;UACF,KAAK;YACH,IAAI6C,KAAA,IAAS1D,SAAA,CAAUC,UAAU,CAACG,GAAG,EAAE;cACrC;cACA;cACA;cACA;cACAiC,GAAA,GAAM,MAAMrC,SAAC,CAAUC,UAAU,CAACG,GAAG,CAACsD,KAAA,CAAM,CAA4B;gBACtEzD,UAAA;gBACAY;cACF;YACF,OAAO;cACL;cACAwB,GAAA,GAAM,MAAMrC,SAAA,CAAUC,UAAU,CAACG,GAAG,CAACtB,QAAQ,CAAC;gBAC5CkF,EAAA,EAAIN,KAAA;gBACJzD,UAAA;gBACAY;cACF;YACF;YACA;UACF,KAAK;YACH,IAAI6C,KAAA,KAAU,QAAQ;cACpB;cACArB,GAAA,GAAM,MAAMrC,SAAA,CAAUC,UAAU,CAACG,GAAG,CAACd,OAAO,CAAC;gBAC3CW,UAAA;gBACAgE,QAAA,EAAUN,KAAA;gBACV9C;cACF;YACF,OAAO,IAAI8C,KAAA,IAAS3D,SAAA,CAAUC,UAAU,CAACG,GAAG,EAAE;cAC5C;cACAiC,GAAA,GAAM,MAAMrC,SAAC,CAAUC,UAAU,CAACG,GAAG,CAACuD,KAAA,CAAM,CAAkC;gBAC5EK,EAAA,EAAIN,KAAA;gBACJzD,UAAA;gBACAY;cACF;YACF,OAAO,IAAI,OAAO6C,KAAA,QAAa,IAAI1D,SAAA,CAAUC,UAAU,CAACG,GAAG,EAAE;cAC3D;cACA;cACAiC,GAAA,GAAM,MAAMrC,SACV,CAAUC,UAAU,CAACG,GAAG,CAAC,OAAOsD,KAAA,QAAa,CAAC,CAC9C;gBAAEM,EAAA,EAAIL,KAAA;gBAAO1D,UAAA;gBAAYY;cAAI;YACjC;YACA;QACJ;MACF;IACF,OAAO,IAAI4C,KAAA,KAAU,WAAW;MAC9B,MAAMS,YAAA,GAAerD,GAAA,CAAIS,OAAO,CAACC,MAAM,CAAC4C,OAAO,CAACtF,IAAI,CAAE2B,MAAA,IAAWA,MAAA,CAAOuC,IAAI,KAAKW,KAAA;MACjF7C,GAAA,CAAIuB,WAAW,CAAC5B,MAAM,GAAG0D,YAAA,CAAanB,IAAI;MAE1C,MAAMc,gBAAA,GAAmBvF,oBAAA,CAAqB;QAC5C0B,SAAA,EAAWkE,YAAA,CAAalE,SAAS;QACjCsD;MACF;MACA,IAAIO,gBAAA,EAAkB;QACpB,OAAOA,gBAAA;MACT;MAEA,MAAME,sBAAA,GAAyB,MAAMpD,qBAAA,CAAsB;QACzDX,SAAA,EAAWkE,YAAA,CAAalE,SAAS;QACjCY,UAAA,EAAY,GAAG6C,KAAA,IAASC,KAAA,EAAO;QAC/B7C;MACF;MAEA,IAAIkD,sBAAA,EAAwB;QAC1B,OAAOA,sBAAA;MACT,OAAO;QACL,MAAM1G,uBAAA,CAAwBwD,GAAA;QAC9BvD,2BAAA,CAA4BuD,GAAA;QAE5B,QAAQkC,IAAA,CAAKjC,MAAM;UACjB,KAAK;YACH;YACAuB,GAAA,GAAM,MAAMrC,SAAA,CAAUQ,MAAM,CAACJ,GAAG,CAACZ,OAAO,CAAC;cAAE0E,YAAA;cAAcrD;YAAI;YAC7D;UACF,KAAK;YACH,IAAI8C,KAAA,IAAS3D,SAAA,CAAUQ,MAAM,CAACJ,GAAG,EAAE;cACjC;cACAiC,GAAA,GAAM,MAAMrC,SAAC,CAAUQ,MAAM,CAACJ,GAAG,CAACuD,KAAA,CAAM,CAAwB;gBAC9DO,YAAA;gBACArD;cACF;YACF,OAAO,IAAI,OAAO8C,KAAA,EAAO,IAAI3D,SAAA,CAAUQ,MAAM,CAACJ,GAAG,EAAE;cACjD;cACA;cACA;cACAiC,GAAA,GAAM,MAAM,CAACrC,SAAA,CAAUQ,MAAM,CAACJ,GAAG,GAAG,OAAOuD,KAAA,EAAO,CAAC,EAAwB;gBACzEO,YAAA;gBACArD;cACF;YACF;YACA;UACF,KAAK;YACH,IAAI,OAAO8C,KAAA,QAAa,IAAI3D,SAAA,CAAUQ,MAAM,CAACJ,GAAG,EAAE;cAChD;cACAiC,GAAA,GAAM,MAAM,CACVrC,SAAA,CAAUQ,MAAM,CAACJ,GAAG,GAAG,OAAOuD,KAAA,QAAa,CAAC,EAC5C;gBACAK,EAAA,EAAIJ,KAAA;gBACJM,YAAA;gBACArD;cACF;YACF;YACA;QACJ;MACF;IACF,OAAO,IAAIkC,IAAA,CAAKjC,MAAM,KAAK,KAAK2C,KAAA,IAASzD,SAAA,CAAUS,IAAI,CAACL,GAAG,EAAE;MAC3D,MAAM/C,uBAAA,CAAwBwD,GAAA;MAC9BvD,2BAAA,CAA4BuD,GAAA;MAC5BwB,GAAA,GAAM,MAAMrC,SAAA,CAAUS,IAAI,CAACL,GAAG,CAACqD,KAAA,CAAM,CAAC;QAAE5C;MAAI;IAC9C;IAEA,IAAIwB,GAAA,YAAeE,QAAA,EAAU;MAC3B,IAAI1B,GAAA,CAAI2B,eAAe,EAAE;QACvB,MAAMC,cAAA,GAAiB,IAAIF,QAAA,CAASF,GAAA,CAAIK,IAAI,EAAE;UAC5CC,OAAA,EAASlF,YAAA,CAAaoD,GAAA,CAAI2B,eAAe,EAAEH,GAAA,CAAIM,OAAO;UACtDC,MAAA,EAAQP,GAAA,CAAIO,MAAM;UAClBC,UAAA,EAAYR,GAAA,CAAIQ;QAClB;QAEA,OAAOJ,cAAA;MACT;MAEA,OAAOJ,GAAA;IACT;IAEA;IACA,MAAM0B,sBAAA,GAAyB,MAAMpD,qBAAA,CAAsB;MACzDX,SAAA,EAAWa,GAAA,CAAIS,OAAO,CAACC,MAAM,CAACvB,SAAS;MACvCa;IACF;IAEA,IAAIkD,sBAAA,EAAwB;MAC1B,OAAOA,sBAAA;IACT;IAEA,OAAOjB,qBAAA,CAAsB;MAC3BC,IAAA;MACAlC;IACF;EACF,EAAE,OAAO0C,KAAA,EAAO;IACd,OAAOxD,UAAA,CAAW;MAChBE,UAAA;MACAsB,MAAA;MACAiC,GAAA,EAAKD,KAAA;MACL1C,GAAA,EAAKA,GAAA,IAAOyC;IACd;EACF;AACF;AAEF,OAAO,MAAM/C,IAAA,GACVgB,MAAA,IACD,OAAO+B,OAAA,EAAkB;EAAEnB,MAAA,EAAQ;IAAEY;EAAI;AAAE,CAAkC;EAC3E,MAAM,CAACU,KAAA,EAAOC,KAAA,EAAOC,KAAA,EAAOC,KAAA,CAAM,GAAGb,IAAA;EACrC,IAAIlC,GAAA;EACJ,IAAIwB,GAAA;EACJ,IAAIpC,UAAA;EAEJ,MAAMmE,kBAAA,GAAqBd,OAAA,CAAQX,OAAO,CAAC0B,GAAG,CAAC;EAC/C,IAAID,kBAAA,KAAuB,OAAO;IAChC,OAAO,MAAMhE,GAAA,CAAImB,MAAA,EAAQ+B,OAAA,EAAS;MAAEnB,MAAA,EAAQ;QAAEY;MAAK;IAAE;EACvD;EAEA,IAAI;IACFlC,GAAA,GAAM,MAAMtD,oBAAA,CAAqB;MAC/BgE,MAAA;MACA+B;IACF;IAEArD,UAAA,GAAaY,GAAA,CAAIS,OAAO,CAACwC,WAAW,GAAGL,KAAA,CAAM;IAE7C,MAAMI,gBAAA,GAAmBvF,oBAAA,CAAqB;MAC5C0B,SAAA,EAAWa,GAAA,CAAIS,OAAO,CAACC,MAAM,CAACvB,SAAS;MACvCsD;IACF;IAEA,IAAIO,gBAAA,EAAkB;MACpB,OAAOA,gBAAA;IACT;IAEA,IAAI5D,UAAA,EAAY;MACdY,GAAA,CAAIuB,WAAW,CAACnC,UAAU,GAAGwD,KAAA;MAC7B,MAAMI,gBAAA,GAAmBvF,oBAAA,CAAqB;QAC5C0B,SAAA,EAAWC,UAAA,CAAWsB,MAAM,CAACvB,SAAS;QACtCsD;MACF;MACA,IAAIO,gBAAA,EAAkB;QACpB,OAAOA,gBAAA;MACT;MAEA,MAAME,sBAAA,GAAyB,MAAMpD,qBAAA,CAAsB;QACzDX,SAAA,EAAWC,UAAA,CAAWsB,MAAM,CAACvB,SAAS;QACtCY,UAAA,EAAY6C,KAAA;QACZ5C;MACF;MAEA,IAAIkD,sBAAA,EAAwB;QAC1B,OAAOA,sBAAA;MACT,OAAO;QACL,MAAM1G,uBAAA,CAAwBwD,GAAA;QAC9BvD,2BAAA,CAA4BuD,GAAA;QAE5B,QAAQkC,IAAA,CAAKjC,MAAM;UACjB,KAAK;YACH;YACAuB,GAAA,GAAM,MAAMrC,SAAA,CAAUC,UAAU,CAACM,IAAI,CAAC/B,MAAM,CAAC;cAAEyB,UAAA;cAAYY;YAAI;YAC/D;UACF,KAAK;YACH,IAAI6C,KAAA,IAAS1D,SAAA,CAAUC,UAAU,CAACM,IAAI,EAAE;cACtC;cACA;cACA;cACA;cACA;cACA;cACA;cACA;cAEA8B,GAAA,GAAM,MAAM,CAACrC,SAAA,CAAUC,UAAU,CAACM,IAAI,GAAGmD,KAAA,CAAM,EAA4B;gBACzEzD,UAAA;gBACAY;cACF;YACF;YACA;UACF,KAAK;YACH,IAAI,OAAO6C,KAAA,QAAa,IAAI1D,SAAA,CAAUC,UAAU,CAACM,IAAI,EAAE;cACrD;cACA;cACA;cACA8B,GAAA,GAAM,MAAMrC,SACV,CAAUC,UAAU,CAACM,IAAI,CAAC,OAAOmD,KAAA,QAAa,CAAC,CAC/C;gBAAEM,EAAA,EAAIL,KAAA;gBAAO1D,UAAA;gBAAYY;cAAI;YACjC,OAAO,IAAI8C,KAAA,KAAU,eAAe1D,UAAA,CAAWsB,MAAM,CAAC+C,gBAAgB,KAAK,MAAM;cAC/E;cACAjC,GAAA,GAAM,MAAMrC,SAAA,CAAUC,UAAU,CAACM,IAAI,CAAC3B,SAAS,CAAC;gBAC9CoF,EAAA,EAAIN,KAAA;gBACJzD,UAAA;gBACAY;cACF;YACF;YACA;QACJ;MACF;IACF,OAAO,IAAI4C,KAAA,KAAU,aAAaC,KAAA,EAAO;MACvC,MAAMQ,YAAA,GAAerD,GAAA,CAAIS,OAAO,CAACC,MAAM,CAAC4C,OAAO,CAACtF,IAAI,CAAE2B,MAAA,IAAWA,MAAA,CAAOuC,IAAI,KAAKW,KAAA;MACjF7C,GAAA,CAAIuB,WAAW,CAAC5B,MAAM,GAAG0D,YAAA,CAAanB,IAAI;MAE1C,MAAMc,gBAAA,GAAmBvF,oBAAA,CAAqB;QAC5C0B,SAAA,EAAWkE,YAAA,CAAalE,SAAS;QACjCsD;MACF;MACA,IAAIO,gBAAA,EAAkB;QACpB,OAAOA,gBAAA;MACT;MAEA,MAAME,sBAAA,GAAyB,MAAMpD,qBAAA,CAAsB;QACzDX,SAAA,EAAWkE,YAAA,CAAalE,SAAS;QACjCY,UAAA,EAAY,GAAG6C,KAAA,IAASC,KAAA,EAAO;QAC/B7C;MACF;MAEA,IAAIkD,sBAAA,EAAwB;QAC1B,OAAOA,sBAAA;MACT,OAAO;QACL,MAAM1G,uBAAA,CAAwBwD,GAAA;QAC9BvD,2BAAA,CAA4BuD,GAAA;QAC5B,QAAQkC,IAAA,CAAKjC,MAAM;UACjB,KAAK;YACH;YACAuB,GAAA,GAAM,MAAMrC,SAAA,CAAUQ,MAAM,CAACD,IAAI,CAACnB,MAAM,CAAC;cAAE8E,YAAA;cAAcrD;YAAI;YAC7D;UACF,KAAK;YACH,IAAI,OAAO8C,KAAA,EAAO,IAAI3D,SAAA,CAAUQ,MAAM,CAACD,IAAI,EAAE;cAC3C;cACA8B,GAAA,GAAM,MAAM,CAACrC,SAAA,CAAUQ,MAAM,CAACD,IAAI,GAAG,OAAOoD,KAAA,EAAO,CAAC,EAAwB;gBAC1EO,YAAA;gBACArD;cACF;YACF;YACA;UACF,KAAK;YACH,IAAI,OAAO8C,KAAA,QAAa,IAAI3D,SAAA,CAAUQ,MAAM,CAACD,IAAI,EAAE;cACjD;cACA8B,GAAA,GAAM,MAAM,CACVrC,SAAA,CAAUQ,MAAM,CAACD,IAAI,GAAG,OAAOoD,KAAA,QAAa,CAAC,EAC7C;gBACAK,EAAA,EAAIJ,KAAA;gBACJM,YAAA;gBACArD;cACF;YACF;YACA;UACF;YACEwB,GAAA,GAAM,IAAIE,QAAA,CAAS,mBAAmB;cAAEK,MAAA,EAAQ;YAAI;QACxD;MACF;IACF,OAAO,IAAIG,IAAA,CAAKjC,MAAM,KAAK,KAAK2C,KAAA,IAASzD,SAAA,CAAUS,IAAI,CAACF,IAAI,EAAE;MAC5D,MAAMlD,uBAAA,CAAwBwD,GAAA;MAC9BvD,2BAAA,CAA4BuD,GAAA;MAC5BwB,GAAA,GAAM,MAAMrC,SAAA,CAAUS,IAAI,CAACF,IAAI,CAACkD,KAAA,CAAM,CAAC;QAAE5C;MAAI;IAC/C;IAEA,IAAIwB,GAAA,YAAeE,QAAA,EAAU;MAC3B,IAAI1B,GAAA,CAAI2B,eAAe,EAAE;QACvB,MAAMC,cAAA,GAAiB,IAAIF,QAAA,CAASF,GAAA,CAAIK,IAAI,EAAE;UAC5CC,OAAA,EAASlF,YAAA,CAAaoD,GAAA,CAAI2B,eAAe,EAAEH,GAAA,CAAIM,OAAO;UACtDC,MAAA,EAAQP,GAAA,CAAIO,MAAM;UAClBC,UAAA,EAAYR,GAAA,CAAIQ;QAClB;QAEA,OAAOJ,cAAA;MACT;MAEA,OAAOJ,GAAA;IACT;IAEA;IACA,MAAM0B,sBAAA,GAAyB,MAAMpD,qBAAA,CAAsB;MACzDX,SAAA,EAAWa,GAAA,CAAIS,OAAO,CAACC,MAAM,CAACvB,SAAS;MACvCa;IACF;IAEA,IAAIkD,sBAAA,EAAwB;MAC1B,OAAOA,sBAAA;IACT;IAEA,OAAOjB,qBAAA,CAAsB;MAC3BC,IAAA;MACAlC;IACF;EACF,EAAE,OAAO0C,KAAA,EAAO;IACd,OAAOxD,UAAA,CAAW;MAChBE,UAAA;MACAsB,MAAA;MACAiC,GAAA,EAAKD,KAAA;MACL1C,GAAA,EAAKA,GAAA,IAAOyC;IACd;EACF;AACF;AAEF,OAAO,MAAMpD,MAAA,GACVqB,MAAA,IACD,OAAO+B,OAAA,EAAkB;EAAEnB,MAAA,EAAQ;IAAEY;EAAI;AAAE,CAAkC;EAC3E,MAAM,CAACU,KAAA,EAAOC,KAAA,CAAM,GAAGX,IAAA;EACvB,IAAIlC,GAAA;EACJ,IAAIwB,GAAA;EACJ,IAAIpC,UAAA;EAEJ,IAAI;IACFY,GAAA,GAAM,MAAMtD,oBAAA,CAAqB;MAC/BgE,MAAA;MACA+B;IACF;IACArD,UAAA,GAAaY,GAAA,CAAIS,OAAO,CAACwC,WAAW,GAAGL,KAAA,CAAM;IAE7C,MAAMI,gBAAA,GAAmBvF,oBAAA,CAAqB;MAC5C0B,SAAA,EAAWa,GAAA,CAAIS,OAAO,CAACC,MAAM,CAACvB,SAAS;MACvCsD;IACF;IACA,IAAIO,gBAAA,EAAkB;MACpB,OAAOA,gBAAA;IACT;IAEA,IAAI5D,UAAA,EAAY;MACdY,GAAA,CAAIuB,WAAW,CAACnC,UAAU,GAAGwD,KAAA;MAE7B,MAAMI,gBAAA,GAAmBvF,oBAAA,CAAqB;QAC5C0B,SAAA,EAAWC,UAAA,CAAWsB,MAAM,CAACvB,SAAS;QACtCsD;MACF;MACA,IAAIO,gBAAA,EAAkB;QACpB,OAAOA,gBAAA;MACT;MAEA,MAAME,sBAAA,GAAyB,MAAMpD,qBAAA,CAAsB;QACzDX,SAAA,EAAWC,UAAA,CAAWsB,MAAM,CAACvB,SAAS;QACtCY,UAAA,EAAY6C,KAAA;QACZ5C;MACF;MACA,IAAIkD,sBAAA,EAAwB;QAC1B,OAAOA,sBAAA;MACT,OAAO;QACL,MAAM1G,uBAAA,CAAwBwD,GAAA;QAC9BvD,2BAAA,CAA4BuD,GAAA;QAE5B,QAAQkC,IAAA,CAAKjC,MAAM;UACjB,KAAK;YACH;YACAuB,GAAA,GAAM,MAAMrC,SAAA,CAAUC,UAAU,CAACC,MAAM,CAACC,MAAM,CAAC;cAAEF,UAAA;cAAYY;YAAI;YACjE;UACF,KAAK;YACH;YACAwB,GAAA,GAAM,MAAMrC,SAAA,CAAUC,UAAU,CAACC,MAAM,CAACxB,UAAU,CAAC;cACjDsF,EAAA,EAAIN,KAAA;cACJzD,UAAA;cACAY;YACF;YACA;QACJ;MACF;IACF;IAEA,IAAIwB,GAAA,YAAeE,QAAA,EAAU;MAC3B,IAAI1B,GAAA,CAAI2B,eAAe,EAAE;QACvB,MAAMC,cAAA,GAAiB,IAAIF,QAAA,CAASF,GAAA,CAAIK,IAAI,EAAE;UAC5CC,OAAA,EAASlF,YAAA,CAAaoD,GAAA,CAAI2B,eAAe,EAAEH,GAAA,CAAIM,OAAO;UACtDC,MAAA,EAAQP,GAAA,CAAIO,MAAM;UAClBC,UAAA,EAAYR,GAAA,CAAIQ;QAClB;QAEA,OAAOJ,cAAA;MACT;MAEA,OAAOJ,GAAA;IACT;IAEA;IACA,MAAM0B,sBAAA,GAAyB,MAAMpD,qBAAA,CAAsB;MACzDX,SAAA,EAAWa,GAAA,CAAIS,OAAO,CAACC,MAAM,CAACvB,SAAS;MACvCa;IACF;IAEA,IAAIkD,sBAAA,EAAwB;MAC1B,OAAOA,sBAAA;IACT;IAEA,OAAOjB,qBAAA,CAAsB;MAC3BC,IAAA;MACAlC;IACF;EACF,EAAE,OAAO0C,KAAA,EAAO;IACd,OAAOxD,UAAA,CAAW;MAChBE,UAAA;MACAsB,MAAA;MACAiC,GAAA,EAAKD,KAAA;MACL1C,GAAA,EAAKA,GAAA,IAAOyC;IACd;EACF;AACF;AAEF,OAAO,MAAMhD,KAAA,GACViB,MAAA,IACD,OAAO+B,OAAA,EAAkB;EAAEnB,MAAA,EAAQ;IAAEY;EAAI;AAAE,CAAkC;EAC3E,MAAM,CAACU,KAAA,EAAOC,KAAA,CAAM,GAAGX,IAAA;EACvB,IAAIlC,GAAA;EACJ,IAAIwB,GAAA;EACJ,IAAIpC,UAAA;EAEJ,IAAI;IACFY,GAAA,GAAM,MAAMtD,oBAAA,CAAqB;MAC/BgE,MAAA;MACA+B;IACF;IACArD,UAAA,GAAaY,GAAA,CAAIS,OAAO,CAACwC,WAAW,GAAGL,KAAA,CAAM;IAE7C,MAAMI,gBAAA,GAAmBvF,oBAAA,CAAqB;MAC5C0B,SAAA,EAAWa,GAAA,CAAIS,OAAO,CAACC,MAAM,CAACvB,SAAS;MACvCsD;IACF;IACA,IAAIO,gBAAA,EAAkB;MACpB,OAAOA,gBAAA;IACT;IAEA,IAAI5D,UAAA,EAAY;MACdY,GAAA,CAAIuB,WAAW,CAACnC,UAAU,GAAGwD,KAAA;MAE7B,MAAMI,gBAAA,GAAmBvF,oBAAA,CAAqB;QAC5C0B,SAAA,EAAWC,UAAA,CAAWsB,MAAM,CAACvB,SAAS;QACtCsD;MACF;MACA,IAAIO,gBAAA,EAAkB;QACpB,OAAOA,gBAAA;MACT;MAEA,MAAME,sBAAA,GAAyB,MAAMpD,qBAAA,CAAsB;QACzDX,SAAA,EAAWC,UAAA,CAAWsB,MAAM,CAACvB,SAAS;QACtCY,UAAA,EAAY6C,KAAA;QACZ5C;MACF;MAEA,IAAIkD,sBAAA,EAAwB;QAC1B,OAAOA,sBAAA;MACT,OAAO;QACL,MAAM1G,uBAAA,CAAwBwD,GAAA;QAC9BvD,2BAAA,CAA4BuD,GAAA;QAE5B,QAAQkC,IAAA,CAAKjC,MAAM;UACjB,KAAK;YACH;YACAuB,GAAA,GAAM,MAAMrC,SAAA,CAAUC,UAAU,CAACK,KAAK,CAAClB,MAAM,CAAC;cAAEa,UAAA;cAAYY;YAAI;YAChE;UACF,KAAK;YACH;YACAwB,GAAA,GAAM,MAAMrC,SAAA,CAAUC,UAAU,CAACK,KAAK,CAACjB,UAAU,CAAC;cAChD2E,EAAA,EAAIN,KAAA;cACJzD,UAAA;cACAY;YACF;YACA;QACJ;MACF;IACF;IAEA,IAAIwB,GAAA,YAAeE,QAAA,EAAU;MAC3B,IAAI1B,GAAA,CAAI2B,eAAe,EAAE;QACvB,MAAMC,cAAA,GAAiB,IAAIF,QAAA,CAASF,GAAA,CAAIK,IAAI,EAAE;UAC5CC,OAAA,EAASlF,YAAA,CAAaoD,GAAA,CAAI2B,eAAe,EAAEH,GAAA,CAAIM,OAAO;UACtDC,MAAA,EAAQP,GAAA,CAAIO,MAAM;UAClBC,UAAA,EAAYR,GAAA,CAAIQ;QAClB;QAEA,OAAOJ,cAAA;MACT;MAEA,OAAOJ,GAAA;IACT;IAEA;IACA,MAAM0B,sBAAA,GAAyB,MAAMpD,qBAAA,CAAsB;MACzDX,SAAA,EAAWa,GAAA,CAAIS,OAAO,CAACC,MAAM,CAACvB,SAAS;MACvCa;IACF;IAEA,IAAIkD,sBAAA,EAAwB;MAC1B,OAAOA,sBAAA;IACT;IAEA,OAAOjB,qBAAA,CAAsB;MAC3BC,IAAA;MACAlC;IACF;EACF,EAAE,OAAO0C,KAAA,EAAO;IACd,OAAOxD,UAAA,CAAW;MAChBE,UAAA;MACAsB,MAAA;MACAiC,GAAA,EAAKD,KAAA;MACL1C,GAAA,EAAKA,GAAA,IAAOyC;IACd;EACF;AACF","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["httpStatus","match","addDataAndFileToRequest","addLocalesToRequestFromData","createPayloadRequest","headersWithCors","mergeHeaders","access","forgotPassword","init","login","logout","me","refresh","registerFirstUser","resetPassword","unlock","verifyEmail","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","paramsPromise","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: paramsPromise }: { params: Promise<{ slug: string[] }> }) => {\n const { slug } = await paramsPromise\n const [slug1, slug2, slug3, slug4] = slug\n let req: PayloadRequest\n let res: Response\n let collection: Collection\n\n try {\n req = await createPayloadRequest({\n config,\n request,\n })\n\n const disableEndpoints = endpointsAreDisabled({\n endpoints: req.payload.config.endpoints,\n request,\n })\n\n if (disableEndpoints) {\n return disableEndpoints\n }\n\n collection = req.payload.collections?.[slug1]\n\n if (collection) {\n req.routeParams.collection = slug1\n const disableEndpoints = endpointsAreDisabled({\n endpoints: collection.config.endpoints,\n request,\n })\n if (disableEndpoints) {\n return disableEndpoints\n }\n\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: collection.config.endpoints,\n entitySlug: slug1,\n req,\n })\n\n if (customEndpointResponse) {\n return customEndpointResponse\n } else {\n await addDataAndFileToRequest(req)\n addLocalesToRequestFromData(req)\n\n switch (slug.length) {\n case 1:\n // /:collection\n res = await endpoints.collection.GET.find({ collection, req })\n break\n case 2:\n if (slug2 in endpoints.collection.GET) {\n // /:collection/init\n // /:collection/me\n // /:collection/versions\n // /:collection/count\n res = await (endpoints.collection.GET[slug2] as CollectionRouteHandler)({\n collection,\n req,\n })\n } else {\n // /:collection/:id\n res = await endpoints.collection.GET.findByID({\n id: slug2,\n collection,\n req,\n })\n }\n break\n case 3:\n if (slug2 === 'file') {\n // /:collection/file/:filename\n res = await endpoints.collection.GET.getFile({\n collection,\n filename: slug3,\n req,\n })\n } else if (slug3 in endpoints.collection.GET) {\n // /:collection/:id/preview\n res = await (endpoints.collection.GET[slug3] as CollectionRouteHandlerWithID)({\n id: slug2,\n collection,\n req,\n })\n } else if (`doc-${slug2}-by-id` in endpoints.collection.GET) {\n // /:collection/access/:id\n // /:collection/versions/:id\n res = await (\n endpoints.collection.GET[`doc-${slug2}-by-id`] as CollectionRouteHandlerWithID\n )({ id: slug3, collection, req })\n }\n break\n }\n }\n } else if (slug1 === 'globals') {\n const globalConfig = req.payload.config.globals.find((global) => global.slug === slug2)\n req.routeParams.global = globalConfig.slug\n\n const disableEndpoints = endpointsAreDisabled({\n endpoints: globalConfig.endpoints,\n request,\n })\n if (disableEndpoints) {\n return disableEndpoints\n }\n\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: globalConfig.endpoints,\n entitySlug: `${slug1}/${slug2}`,\n req,\n })\n\n if (customEndpointResponse) {\n return customEndpointResponse\n } else {\n await addDataAndFileToRequest(req)\n addLocalesToRequestFromData(req)\n\n switch (slug.length) {\n case 2:\n // /globals/:slug\n res = await endpoints.global.GET.findOne({ globalConfig, req })\n break\n case 3:\n if (slug3 in endpoints.global.GET) {\n // /globals/:slug/preview\n res = await (endpoints.global.GET[slug3] as GlobalRouteHandler)({\n globalConfig,\n req,\n })\n } else if (`doc-${slug3}` in endpoints.global.GET) {\n // /globals/:slug/access\n // /globals/:slug/versions\n // /globals/:slug/preview\n res = await (endpoints.global.GET?.[`doc-${slug3}`] as GlobalRouteHandler)({\n globalConfig,\n req,\n })\n }\n break\n case 4:\n if (`doc-${slug3}-by-id` in endpoints.global.GET) {\n // /globals/:slug/versions/:id\n res = await (\n endpoints.global.GET?.[`doc-${slug3}-by-id`] as GlobalRouteHandlerWithID\n )({\n id: slug4,\n globalConfig,\n req,\n })\n }\n break\n }\n }\n } else if (slug.length === 1 && slug1 in endpoints.root.GET) {\n await addDataAndFileToRequest(req)\n addLocalesToRequestFromData(req)\n res = await endpoints.root.GET[slug1]({ req })\n }\n\n if (res instanceof Response) {\n if (req.responseHeaders) {\n const mergedResponse = new Response(res.body, {\n headers: mergeHeaders(req.responseHeaders, res.headers),\n status: res.status,\n statusText: res.statusText,\n })\n\n return mergedResponse\n }\n\n return res\n }\n\n // root routes\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: req.payload.config.endpoints,\n req,\n })\n\n if (customEndpointResponse) {\n return customEndpointResponse\n }\n\n return RouteNotFoundResponse({\n slug,\n req,\n })\n } catch (error) {\n return routeError({\n collection,\n config,\n err: error,\n req: req || request,\n })\n }\n }\n\nexport const POST =\n (config: Promise<SanitizedConfig> | SanitizedConfig) =>\n async (request: Request, { params: paramsPromise }: { params: Promise<{ slug: string[] }> }) => {\n const { slug } = await paramsPromise\n const [slug1, slug2, slug3, slug4] = slug\n let req: PayloadRequest\n let res: Response\n let collection: Collection\n\n const overrideHttpMethod = request.headers.get('X-HTTP-Method-Override')\n if (overrideHttpMethod === 'GET') {\n return await GET(config)(request, { params: paramsPromise })\n }\n\n try {\n req = await createPayloadRequest({\n config,\n request,\n })\n\n collection = req.payload.collections?.[slug1]\n\n const disableEndpoints = endpointsAreDisabled({\n endpoints: req.payload.config.endpoints,\n request,\n })\n\n if (disableEndpoints) {\n return disableEndpoints\n }\n\n if (collection) {\n req.routeParams.collection = slug1\n const disableEndpoints = endpointsAreDisabled({\n endpoints: collection.config.endpoints,\n request,\n })\n if (disableEndpoints) {\n return disableEndpoints\n }\n\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: collection.config.endpoints,\n entitySlug: slug1,\n req,\n })\n\n if (customEndpointResponse) {\n return customEndpointResponse\n } else {\n await addDataAndFileToRequest(req)\n addLocalesToRequestFromData(req)\n\n switch (slug.length) {\n case 1:\n // /:collection\n res = await endpoints.collection.POST.create({ collection, req })\n break\n case 2:\n if (slug2 in endpoints.collection.POST) {\n // /:collection/login\n // /:collection/logout\n // /:collection/unlock\n // /:collection/access\n // /:collection/first-register\n // /:collection/forgot-password\n // /:collection/reset-password\n // /:collection/refresh-token\n\n res = await (endpoints.collection.POST?.[slug2] as CollectionRouteHandler)({\n collection,\n req,\n })\n }\n break\n case 3:\n if (`doc-${slug2}-by-id` in endpoints.collection.POST) {\n // /:collection/access/:id\n // /:collection/versions/:id\n // /:collection/verify/:token (\"doc-verify-by-id\" uses id as token internally)\n res = await (\n endpoints.collection.POST[`doc-${slug2}-by-id`] as CollectionRouteHandlerWithID\n )({ id: slug3, collection, req })\n } else if (slug3 === 'duplicate' && collection.config.disableDuplicate !== true) {\n // /:collection/:id/duplicate\n res = await endpoints.collection.POST.duplicate({\n id: slug2,\n collection,\n req,\n })\n }\n break\n }\n }\n } else if (slug1 === 'globals' && slug2) {\n const globalConfig = req.payload.config.globals.find((global) => global.slug === slug2)\n req.routeParams.global = globalConfig.slug\n\n const disableEndpoints = endpointsAreDisabled({\n endpoints: globalConfig.endpoints,\n request,\n })\n if (disableEndpoints) {\n return disableEndpoints\n }\n\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: globalConfig.endpoints,\n entitySlug: `${slug1}/${slug2}`,\n req,\n })\n\n if (customEndpointResponse) {\n return customEndpointResponse\n } else {\n await addDataAndFileToRequest(req)\n addLocalesToRequestFromData(req)\n switch (slug.length) {\n case 2:\n // /globals/:slug\n res = await endpoints.global.POST.update({ globalConfig, req })\n break\n case 3:\n if (`doc-${slug3}` in endpoints.global.POST) {\n // /globals/:slug/access\n res = await (endpoints.global.POST?.[`doc-${slug3}`] as GlobalRouteHandler)({\n globalConfig,\n req,\n })\n }\n break\n case 4:\n if (`doc-${slug3}-by-id` in endpoints.global.POST) {\n // /globals/:slug/versions/:id\n res = await (\n endpoints.global.POST?.[`doc-${slug3}-by-id`] as GlobalRouteHandlerWithID\n )({\n id: slug4,\n globalConfig,\n req,\n })\n }\n break\n default:\n res = new Response('Route Not Found', { status: 404 })\n }\n }\n } 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) {\n return customEndpointResponse\n }\n\n return RouteNotFoundResponse({\n slug,\n req,\n })\n } catch (error) {\n return routeError({\n collection,\n config,\n err: error,\n req: req || request,\n })\n }\n }\n\nexport const DELETE =\n (config: Promise<SanitizedConfig> | SanitizedConfig) =>\n async (request: Request, { params: paramsPromise }: { params: Promise<{ slug: string[] }> }) => {\n const { slug } = await paramsPromise\n const [slug1, slug2] = slug\n let req: PayloadRequest\n let res: Response\n let collection: Collection\n\n try {\n req = await createPayloadRequest({\n config,\n request,\n })\n collection = req.payload.collections?.[slug1]\n\n const disableEndpoints = endpointsAreDisabled({\n endpoints: req.payload.config.endpoints,\n request,\n })\n if (disableEndpoints) {\n return disableEndpoints\n }\n\n if (collection) {\n req.routeParams.collection = slug1\n\n const disableEndpoints = endpointsAreDisabled({\n endpoints: collection.config.endpoints,\n request,\n })\n if (disableEndpoints) {\n return disableEndpoints\n }\n\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: collection.config.endpoints,\n entitySlug: slug1,\n req,\n })\n if (customEndpointResponse) {\n return customEndpointResponse\n } else {\n await addDataAndFileToRequest(req)\n addLocalesToRequestFromData(req)\n\n switch (slug.length) {\n case 1:\n // /:collection\n res = await endpoints.collection.DELETE.delete({ collection, req })\n break\n case 2:\n // /:collection/:id\n res = await endpoints.collection.DELETE.deleteByID({\n id: slug2,\n collection,\n req,\n })\n break\n }\n }\n }\n\n if (res instanceof Response) {\n if (req.responseHeaders) {\n const mergedResponse = new Response(res.body, {\n headers: mergeHeaders(req.responseHeaders, res.headers),\n status: res.status,\n statusText: res.statusText,\n })\n\n return mergedResponse\n }\n\n return res\n }\n\n // root routes\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: req.payload.config.endpoints,\n req,\n })\n\n if (customEndpointResponse) {\n return customEndpointResponse\n }\n\n return RouteNotFoundResponse({\n slug,\n req,\n })\n } catch (error) {\n return routeError({\n collection,\n config,\n err: error,\n req: req || request,\n })\n }\n }\n\nexport const PATCH =\n (config: Promise<SanitizedConfig> | SanitizedConfig) =>\n async (request: Request, { params: paramsPromise }: { params: Promise<{ slug: string[] }> }) => {\n const { slug } = await paramsPromise\n const [slug1, slug2] = slug\n let req: PayloadRequest\n let res: Response\n let collection: Collection\n\n try {\n req = await createPayloadRequest({\n config,\n request,\n })\n collection = req.payload.collections?.[slug1]\n\n const disableEndpoints = endpointsAreDisabled({\n endpoints: req.payload.config.endpoints,\n request,\n })\n if (disableEndpoints) {\n return disableEndpoints\n }\n\n if (collection) {\n req.routeParams.collection = slug1\n\n const disableEndpoints = endpointsAreDisabled({\n endpoints: collection.config.endpoints,\n request,\n })\n if (disableEndpoints) {\n return disableEndpoints\n }\n\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: collection.config.endpoints,\n entitySlug: slug1,\n req,\n })\n\n if (customEndpointResponse) {\n return customEndpointResponse\n } else {\n await addDataAndFileToRequest(req)\n addLocalesToRequestFromData(req)\n\n switch (slug.length) {\n case 1:\n // /:collection\n res = await endpoints.collection.PATCH.update({ collection, req })\n break\n case 2:\n // /:collection/:id\n res = await endpoints.collection.PATCH.updateByID({\n id: slug2,\n collection,\n req,\n })\n break\n }\n }\n }\n\n if (res instanceof Response) {\n if (req.responseHeaders) {\n const mergedResponse = new Response(res.body, {\n headers: mergeHeaders(req.responseHeaders, res.headers),\n status: res.status,\n statusText: res.statusText,\n })\n\n return mergedResponse\n }\n\n return res\n }\n\n // root routes\n const customEndpointResponse = await handleCustomEndpoints({\n endpoints: req.payload.config.endpoints,\n req,\n })\n\n if (customEndpointResponse) {\n return customEndpointResponse\n }\n\n return RouteNotFoundResponse({\n slug,\n req,\n })\n } catch (error) {\n return routeError({\n collection,\n config,\n err: error,\n req: req || request,\n })\n }\n }\n"],"mappings":"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","ignoreList":[]}