@payloadcms/next 3.0.0-alpha.61 → 3.0.0-alpha.62

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 (237) hide show
  1. package/dist/cjs/withPayload.cjs +95 -0
  2. package/dist/cjs/withPayload.cjs.map +1 -0
  3. package/dist/exports/routes.d.ts +1 -1
  4. package/dist/exports/routes.d.ts.map +1 -1
  5. package/dist/exports/routes.js +1 -1
  6. package/dist/exports/routes.js.map +1 -1
  7. package/dist/exports/utilities.d.ts +4 -1
  8. package/dist/exports/utilities.d.ts.map +1 -1
  9. package/dist/exports/utilities.js +4 -1
  10. package/dist/exports/utilities.js.map +1 -1
  11. package/dist/layouts/Root/index.d.ts.map +1 -1
  12. package/dist/layouts/Root/index.js +23 -1
  13. package/dist/layouts/Root/index.js.map +1 -1
  14. package/dist/next-fileupload/handlers.js.map +1 -1
  15. package/dist/next-fileupload/isEligibleRequest.js +1 -1
  16. package/dist/next-fileupload/isEligibleRequest.js.map +1 -1
  17. package/dist/next-fileupload/processMultipart.d.ts.map +1 -1
  18. package/dist/next-fileupload/processMultipart.js +29 -6
  19. package/dist/next-fileupload/processMultipart.js.map +1 -1
  20. package/dist/next-fileupload/utilities.d.ts.map +1 -1
  21. package/dist/next-fileupload/utilities.js +4 -4
  22. package/dist/next-fileupload/utilities.js.map +1 -1
  23. package/dist/prod/styles.css +1 -1
  24. package/dist/routes/graphql/handler.d.ts.map +1 -1
  25. package/dist/routes/graphql/handler.js +8 -3
  26. package/dist/routes/graphql/handler.js.map +1 -1
  27. package/dist/routes/rest/auth/access.d.ts.map +1 -1
  28. package/dist/routes/rest/auth/access.js +5 -0
  29. package/dist/routes/rest/auth/access.js.map +1 -1
  30. package/dist/routes/rest/auth/forgotPassword.d.ts.map +1 -1
  31. package/dist/routes/rest/auth/forgotPassword.js +7 -2
  32. package/dist/routes/rest/auth/forgotPassword.js.map +1 -1
  33. package/dist/routes/rest/auth/init.d.ts.map +1 -1
  34. package/dist/routes/rest/auth/init.js +6 -0
  35. package/dist/routes/rest/auth/init.js.map +1 -1
  36. package/dist/routes/rest/auth/login.d.ts.map +1 -1
  37. package/dist/routes/rest/auth/login.js +8 -5
  38. package/dist/routes/rest/auth/login.js.map +1 -1
  39. package/dist/routes/rest/auth/logout.d.ts.map +1 -1
  40. package/dist/routes/rest/auth/logout.js +12 -7
  41. package/dist/routes/rest/auth/logout.js.map +1 -1
  42. package/dist/routes/rest/auth/me.d.ts.map +1 -1
  43. package/dist/routes/rest/auth/me.js +5 -0
  44. package/dist/routes/rest/auth/me.js.map +1 -1
  45. package/dist/routes/rest/auth/refresh.d.ts.map +1 -1
  46. package/dist/routes/rest/auth/refresh.js +11 -7
  47. package/dist/routes/rest/auth/refresh.js.map +1 -1
  48. package/dist/routes/rest/auth/registerFirstUser.d.ts.map +1 -1
  49. package/dist/routes/rest/auth/registerFirstUser.js +17 -5
  50. package/dist/routes/rest/auth/registerFirstUser.js.map +1 -1
  51. package/dist/routes/rest/auth/resetPassword.d.ts.map +1 -1
  52. package/dist/routes/rest/auth/resetPassword.js +8 -5
  53. package/dist/routes/rest/auth/resetPassword.js.map +1 -1
  54. package/dist/routes/rest/auth/unlock.d.ts.map +1 -1
  55. package/dist/routes/rest/auth/unlock.js +7 -2
  56. package/dist/routes/rest/auth/unlock.js.map +1 -1
  57. package/dist/routes/rest/auth/verifyEmail.d.ts.map +1 -1
  58. package/dist/routes/rest/auth/verifyEmail.js +7 -2
  59. package/dist/routes/rest/auth/verifyEmail.js.map +1 -1
  60. package/dist/routes/rest/buildFormState.d.ts.map +1 -1
  61. package/dist/routes/rest/buildFormState.js +16 -1
  62. package/dist/routes/rest/buildFormState.js.map +1 -1
  63. package/dist/routes/rest/collections/count.d.ts +3 -0
  64. package/dist/routes/rest/collections/count.d.ts.map +1 -0
  65. package/dist/routes/rest/collections/count.js +15 -0
  66. package/dist/routes/rest/collections/count.js.map +1 -0
  67. package/dist/routes/rest/collections/create.d.ts.map +1 -1
  68. package/dist/routes/rest/collections/create.js +5 -0
  69. package/dist/routes/rest/collections/create.js.map +1 -1
  70. package/dist/routes/rest/collections/delete.d.ts.map +1 -1
  71. package/dist/routes/rest/collections/delete.js +7 -0
  72. package/dist/routes/rest/collections/delete.js.map +1 -1
  73. package/dist/routes/rest/collections/deleteByID.d.ts.map +1 -1
  74. package/dist/routes/rest/collections/deleteByID.js +14 -1
  75. package/dist/routes/rest/collections/deleteByID.js.map +1 -1
  76. package/dist/routes/rest/collections/docAccess.d.ts.map +1 -1
  77. package/dist/routes/rest/collections/docAccess.js +5 -0
  78. package/dist/routes/rest/collections/docAccess.js.map +1 -1
  79. package/dist/routes/rest/collections/duplicate.d.ts.map +1 -1
  80. package/dist/routes/rest/collections/duplicate.js +12 -1
  81. package/dist/routes/rest/collections/duplicate.js.map +1 -1
  82. package/dist/routes/rest/collections/find.d.ts.map +1 -1
  83. package/dist/routes/rest/collections/find.js +5 -0
  84. package/dist/routes/rest/collections/find.js.map +1 -1
  85. package/dist/routes/rest/collections/findByID.d.ts.map +1 -1
  86. package/dist/routes/rest/collections/findByID.js +12 -1
  87. package/dist/routes/rest/collections/findByID.js.map +1 -1
  88. package/dist/routes/rest/collections/findVersionByID.d.ts.map +1 -1
  89. package/dist/routes/rest/collections/findVersionByID.js +12 -1
  90. package/dist/routes/rest/collections/findVersionByID.js.map +1 -1
  91. package/dist/routes/rest/collections/findVersions.d.ts.map +1 -1
  92. package/dist/routes/rest/collections/findVersions.js +5 -0
  93. package/dist/routes/rest/collections/findVersions.js.map +1 -1
  94. package/dist/routes/rest/collections/preview.d.ts.map +1 -1
  95. package/dist/routes/rest/collections/preview.js +11 -2
  96. package/dist/routes/rest/collections/preview.js.map +1 -1
  97. package/dist/routes/rest/collections/restoreVersion.d.ts.map +1 -1
  98. package/dist/routes/rest/collections/restoreVersion.js +12 -1
  99. package/dist/routes/rest/collections/restoreVersion.js.map +1 -1
  100. package/dist/routes/rest/collections/update.d.ts.map +1 -1
  101. package/dist/routes/rest/collections/update.js +7 -0
  102. package/dist/routes/rest/collections/update.js.map +1 -1
  103. package/dist/routes/rest/collections/updateByID.d.ts.map +1 -1
  104. package/dist/routes/rest/collections/updateByID.js +12 -1
  105. package/dist/routes/rest/collections/updateByID.js.map +1 -1
  106. package/dist/routes/rest/files/getFile.d.ts.map +1 -1
  107. package/dist/routes/rest/files/getFile.js +15 -8
  108. package/dist/routes/rest/files/getFile.js.map +1 -1
  109. package/dist/routes/rest/files/getFileTypeFallback.d.ts +7 -0
  110. package/dist/routes/rest/files/getFileTypeFallback.d.ts.map +1 -0
  111. package/dist/routes/rest/files/getFileTypeFallback.js +21 -0
  112. package/dist/routes/rest/files/getFileTypeFallback.js.map +1 -0
  113. package/dist/routes/rest/globals/docAccess.d.ts.map +1 -1
  114. package/dist/routes/rest/globals/docAccess.js +5 -0
  115. package/dist/routes/rest/globals/docAccess.js.map +1 -1
  116. package/dist/routes/rest/globals/findOne.d.ts.map +1 -1
  117. package/dist/routes/rest/globals/findOne.js +5 -0
  118. package/dist/routes/rest/globals/findOne.js.map +1 -1
  119. package/dist/routes/rest/globals/findVersionByID.d.ts.map +1 -1
  120. package/dist/routes/rest/globals/findVersionByID.js +5 -0
  121. package/dist/routes/rest/globals/findVersionByID.js.map +1 -1
  122. package/dist/routes/rest/globals/findVersions.d.ts.map +1 -1
  123. package/dist/routes/rest/globals/findVersions.js +5 -0
  124. package/dist/routes/rest/globals/findVersions.js.map +1 -1
  125. package/dist/routes/rest/globals/preview.d.ts.map +1 -1
  126. package/dist/routes/rest/globals/preview.js +11 -2
  127. package/dist/routes/rest/globals/preview.js.map +1 -1
  128. package/dist/routes/rest/globals/restoreVersion.d.ts.map +1 -1
  129. package/dist/routes/rest/globals/restoreVersion.js +5 -0
  130. package/dist/routes/rest/globals/restoreVersion.js.map +1 -1
  131. package/dist/routes/rest/globals/update.d.ts.map +1 -1
  132. package/dist/routes/rest/globals/update.js +5 -0
  133. package/dist/routes/rest/globals/update.js.map +1 -1
  134. package/dist/routes/rest/index.d.ts +1 -0
  135. package/dist/routes/rest/index.d.ts.map +1 -1
  136. package/dist/routes/rest/index.js +51 -5
  137. package/dist/routes/rest/index.js.map +1 -1
  138. package/dist/routes/rest/routeError.d.ts +4 -3
  139. package/dist/routes/rest/routeError.d.ts.map +1 -1
  140. package/dist/routes/rest/routeError.js +23 -9
  141. package/dist/routes/rest/routeError.js.map +1 -1
  142. package/dist/routes/rest/utilities/sanitizeCollectionID.d.ts +9 -0
  143. package/dist/routes/rest/utilities/sanitizeCollectionID.d.ts.map +1 -0
  144. package/dist/routes/rest/utilities/sanitizeCollectionID.js +13 -0
  145. package/dist/routes/rest/utilities/sanitizeCollectionID.js.map +1 -0
  146. package/dist/scss/app.scss +2 -3
  147. package/dist/scss/vars.scss +0 -7
  148. package/dist/utilities/getDataAndFile.d.ts.map +1 -1
  149. package/dist/utilities/getDataAndFile.js +26 -42
  150. package/dist/utilities/getDataAndFile.js.map +1 -1
  151. package/dist/utilities/getNextRequestI18n.d.ts +11 -0
  152. package/dist/utilities/getNextRequestI18n.d.ts.map +1 -0
  153. package/dist/utilities/getNextRequestI18n.js +18 -0
  154. package/dist/utilities/getNextRequestI18n.js.map +1 -0
  155. package/dist/utilities/getPayloadHMR.d.ts.map +1 -1
  156. package/dist/utilities/getPayloadHMR.js +2 -1
  157. package/dist/utilities/getPayloadHMR.js.map +1 -1
  158. package/dist/utilities/getRequestLanguage.d.ts.map +1 -1
  159. package/dist/utilities/getRequestLanguage.js +13 -5
  160. package/dist/utilities/getRequestLanguage.js.map +1 -1
  161. package/dist/utilities/headersWithCors.d.ts +8 -0
  162. package/dist/utilities/headersWithCors.d.ts.map +1 -0
  163. package/dist/utilities/headersWithCors.js +17 -0
  164. package/dist/utilities/headersWithCors.js.map +1 -0
  165. package/dist/utilities/initPage.d.ts.map +1 -1
  166. package/dist/utilities/initPage.js +15 -2
  167. package/dist/utilities/initPage.js.map +1 -1
  168. package/dist/views/API/index.client.js +2 -2
  169. package/dist/views/API/index.client.js.map +1 -1
  170. package/dist/views/CreateFirstUser/index.client.js +2 -2
  171. package/dist/views/CreateFirstUser/index.client.js.map +1 -1
  172. package/dist/views/CreateFirstUser/index.d.ts.map +1 -1
  173. package/dist/views/CreateFirstUser/index.js +27 -1
  174. package/dist/views/CreateFirstUser/index.js.map +1 -1
  175. package/dist/views/Document/getMetaBySegment.js +2 -2
  176. package/dist/views/Document/getMetaBySegment.js.map +1 -1
  177. package/dist/views/Edit/Default/{SetStepNav → SetDocumentStepNav}/index.d.ts +1 -1
  178. package/dist/views/Edit/Default/SetDocumentStepNav/index.d.ts.map +1 -0
  179. package/dist/views/Edit/Default/{SetStepNav → SetDocumentStepNav}/index.js +12 -5
  180. package/dist/views/Edit/Default/SetDocumentStepNav/index.js.map +1 -0
  181. package/dist/views/Edit/Default/index.d.ts.map +1 -1
  182. package/dist/views/Edit/Default/index.js +5 -4
  183. package/dist/views/Edit/Default/index.js.map +1 -1
  184. package/dist/views/ForgotPassword/ForgotPasswordForm/index.d.ts +3 -0
  185. package/dist/views/ForgotPassword/ForgotPasswordForm/index.d.ts.map +1 -0
  186. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +55 -0
  187. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -0
  188. package/dist/views/ForgotPassword/index.d.ts.map +1 -1
  189. package/dist/views/ForgotPassword/index.js +3 -39
  190. package/dist/views/ForgotPassword/index.js.map +1 -1
  191. package/dist/views/List/index.js +2 -2
  192. package/dist/views/List/index.js.map +1 -1
  193. package/dist/views/LivePreview/Toolbar/Controls/index.d.ts.map +1 -1
  194. package/dist/views/LivePreview/Toolbar/Controls/index.js +6 -4
  195. package/dist/views/LivePreview/Toolbar/Controls/index.js.map +1 -1
  196. package/dist/views/LivePreview/index.client.js +2 -2
  197. package/dist/views/LivePreview/index.client.js.map +1 -1
  198. package/dist/views/Login/LoginForm/index.d.ts.map +1 -1
  199. package/dist/views/Login/LoginForm/index.js +26 -2
  200. package/dist/views/Login/LoginForm/index.js.map +1 -1
  201. package/dist/views/Logout/LogoutClient.d.ts.map +1 -1
  202. package/dist/views/Logout/LogoutClient.js +1 -2
  203. package/dist/views/Logout/LogoutClient.js.map +1 -1
  204. package/dist/views/NotFound/index.js +2 -2
  205. package/dist/views/NotFound/index.js.map +1 -1
  206. package/dist/views/Root/meta.js +2 -2
  207. package/dist/views/Root/meta.js.map +1 -1
  208. package/dist/views/Versions/index.js +3 -3
  209. package/dist/views/Versions/index.js.map +1 -1
  210. package/dist/withPayload.d.ts +1 -2
  211. package/dist/withPayload.d.ts.map +1 -1
  212. package/dist/withPayload.js +5 -1
  213. package/dist/withPayload.js.map +1 -1
  214. package/package.json +16 -13
  215. package/dist/prod/payload/SuisseIntl-Bold.woff +0 -0
  216. package/dist/prod/payload/SuisseIntl-Bold.woff2 +0 -0
  217. package/dist/prod/payload/SuisseIntl-Medium.woff +0 -0
  218. package/dist/prod/payload/SuisseIntl-Medium.woff2 +0 -0
  219. package/dist/prod/payload/SuisseIntl-SemiBold.woff +0 -0
  220. package/dist/prod/payload/SuisseIntl-SemiBold.woff2 +0 -0
  221. package/dist/prod/payload/SuisseIntl.woff +0 -0
  222. package/dist/prod/payload/SuisseIntl.woff2 +0 -0
  223. package/dist/prod/payload/merriweather-v30-latin-900.woff +0 -0
  224. package/dist/prod/payload/merriweather-v30-latin-900.woff2 +0 -0
  225. package/dist/prod/payload/merriweather-v30-latin-900italic.woff +0 -0
  226. package/dist/prod/payload/merriweather-v30-latin-900italic.woff2 +0 -0
  227. package/dist/prod/payload/merriweather-v30-latin-italic.woff +0 -0
  228. package/dist/prod/payload/merriweather-v30-latin-italic.woff2 +0 -0
  229. package/dist/prod/payload/merriweather-v30-latin-regular.woff +0 -0
  230. package/dist/prod/payload/merriweather-v30-latin-regular.woff2 +0 -0
  231. package/dist/scss/fonts.scss +0 -75
  232. package/dist/utilities/getNextI18n.d.ts +0 -7
  233. package/dist/utilities/getNextI18n.d.ts.map +0 -1
  234. package/dist/utilities/getNextI18n.js +0 -14
  235. package/dist/utilities/getNextI18n.js.map +0 -1
  236. package/dist/views/Edit/Default/SetStepNav/index.d.ts.map +0 -1
  237. package/dist/views/Edit/Default/SetStepNav/index.js.map +0 -1
@@ -1,15 +1,20 @@
1
1
  import httpStatus from 'http-status';
2
2
  import { verifyEmailOperation } from 'payload/operations';
3
+ import { headersWithCors } from '../../../utilities/headersWithCors.js';
3
4
  export const verifyEmail = async ({ id, collection, req })=>{
5
+ const { t } = req;
4
6
  await verifyEmailOperation({
5
7
  collection,
6
8
  req,
7
9
  token: id
8
10
  });
9
11
  return Response.json({
10
- // TODO(translate)
11
- message: 'Email verified successfully.'
12
+ message: t('authentication:emailVerified')
12
13
  }, {
14
+ headers: headersWithCors({
15
+ headers: new Headers(),
16
+ req
17
+ }),
13
18
  status: httpStatus.OK
14
19
  });
15
20
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/routes/rest/auth/verifyEmail.ts"],"sourcesContent":["import httpStatus from 'http-status'\nimport { verifyEmailOperation } from 'payload/operations'\n\nimport type { CollectionRouteHandlerWithID } from '../types.js'\n\nexport const verifyEmail: CollectionRouteHandlerWithID = async ({ id, collection, req }) => {\n await verifyEmailOperation({\n collection,\n req,\n token: id,\n })\n\n return Response.json(\n {\n // TODO(translate)\n message: 'Email verified successfully.',\n },\n {\n status: httpStatus.OK,\n },\n )\n}\n"],"names":["httpStatus","verifyEmailOperation","verifyEmail","id","collection","req","token","Response","json","message","status","OK"],"rangeMappings":";;;;;;;;;;;;;;","mappings":"AAAA,OAAOA,gBAAgB,cAAa;AACpC,SAASC,oBAAoB,QAAQ,qBAAoB;AAIzD,OAAO,MAAMC,cAA4C,OAAO,EAAEC,EAAE,EAAEC,UAAU,EAAEC,GAAG,EAAE;IACrF,MAAMJ,qBAAqB;QACzBG;QACAC;QACAC,OAAOH;IACT;IAEA,OAAOI,SAASC,IAAI,CAClB;QACE,kBAAkB;QAClBC,SAAS;IACX,GACA;QACEC,QAAQV,WAAWW,EAAE;IACvB;AAEJ,EAAC"}
1
+ {"version":3,"sources":["../../../../src/routes/rest/auth/verifyEmail.ts"],"sourcesContent":["import httpStatus from 'http-status'\nimport { verifyEmailOperation } from 'payload/operations'\n\nimport type { CollectionRouteHandlerWithID } from '../types.js'\n\nimport { headersWithCors } from '../../../utilities/headersWithCors.js'\n\nexport const verifyEmail: CollectionRouteHandlerWithID = async ({ id, collection, req }) => {\n const { t } = req\n await verifyEmailOperation({\n collection,\n req,\n token: id,\n })\n\n return Response.json(\n {\n message: t('authentication:emailVerified'),\n },\n {\n headers: headersWithCors({\n headers: new Headers(),\n req,\n }),\n status: httpStatus.OK,\n },\n )\n}\n"],"names":["httpStatus","verifyEmailOperation","headersWithCors","verifyEmail","id","collection","req","t","token","Response","json","message","headers","Headers","status","OK"],"rangeMappings":";;;;;;;;;;;;;;;;;;;","mappings":"AAAA,OAAOA,gBAAgB,cAAa;AACpC,SAASC,oBAAoB,QAAQ,qBAAoB;AAIzD,SAASC,eAAe,QAAQ,wCAAuC;AAEvE,OAAO,MAAMC,cAA4C,OAAO,EAAEC,EAAE,EAAEC,UAAU,EAAEC,GAAG,EAAE;IACrF,MAAM,EAAEC,CAAC,EAAE,GAAGD;IACd,MAAML,qBAAqB;QACzBI;QACAC;QACAE,OAAOJ;IACT;IAEA,OAAOK,SAASC,IAAI,CAClB;QACEC,SAASJ,EAAE;IACb,GACA;QACEK,SAASV,gBAAgB;YACvBU,SAAS,IAAIC;YACbP;QACF;QACAQ,QAAQd,WAAWe,EAAE;IACvB;AAEJ,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"buildFormState.d.ts","sourceRoot":"","sources":["../../../src/routes/rest/buildFormState.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAA8B,cAAc,EAAc,MAAM,eAAe,CAAA;AAM3F,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8CAA8C,CAAA;AAWlF,eAAO,MAAM,iBAAiB,QAAS,cAAc,mBAQpD,CAAA;AAED,eAAO,MAAM,cAAc,YAAmB;IAAE,GAAG,EAAE,cAAc,CAAA;CAAE,sBA8KpE,CAAA"}
1
+ {"version":3,"file":"buildFormState.d.ts","sourceRoot":"","sources":["../../../src/routes/rest/buildFormState.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAA8B,cAAc,EAAc,MAAM,eAAe,CAAA;AAM3F,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8CAA8C,CAAA;AAYlF,eAAO,MAAM,iBAAiB,QAAS,cAAc,mBAQpD,CAAA;AAED,eAAO,MAAM,cAAc,YAAmB;IAAE,GAAG,EAAE,cAAc,CAAA;CAAE,sBAmMpE,CAAA"}
@@ -2,6 +2,7 @@ import { buildStateFromSchema } from '@payloadcms/ui/forms/buildStateFromSchema'
2
2
  import { reduceFieldsToValues } from '@payloadcms/ui/utilities/reduceFieldsToValues';
3
3
  import httpStatus from 'http-status';
4
4
  import { buildFieldSchemaMap } from '../../utilities/buildFieldSchemaMap/index.js';
5
+ import { headersWithCors } from '../../utilities/headersWithCors.js';
5
6
  let cached = global._payload_fieldSchemaMap;
6
7
  if (!cached) {
7
8
  // eslint-disable-next-line no-multi-assign
@@ -15,6 +16,10 @@ export const getFieldSchemaMap = (req)=>{
15
16
  return cached;
16
17
  };
17
18
  export const buildFormState = async ({ req })=>{
19
+ const headers = headersWithCors({
20
+ headers: new Headers(),
21
+ req
22
+ });
18
23
  try {
19
24
  const reqData = req.data;
20
25
  const { collectionSlug, formState, globalSlug, locale, operation, schemaPath } = reqData;
@@ -30,17 +35,20 @@ export const buildFormState = async ({ req })=>{
30
35
  });
31
36
  if (!canAccessAdmin) {
32
37
  return Response.json(null, {
38
+ headers,
33
39
  status: httpStatus.UNAUTHORIZED
34
40
  });
35
41
  }
36
42
  // Match the user collection to the global admin config
37
43
  } else if (adminUserSlug !== incomingUserSlug) {
38
44
  return Response.json(null, {
45
+ headers,
39
46
  status: httpStatus.UNAUTHORIZED
40
47
  });
41
48
  }
42
49
  } else {
43
50
  return Response.json(null, {
51
+ headers,
44
52
  status: httpStatus.UNAUTHORIZED
45
53
  });
46
54
  }
@@ -61,6 +69,7 @@ export const buildFormState = async ({ req })=>{
61
69
  return Response.json({
62
70
  message: 'Could not find field schema for given path'
63
71
  }, {
72
+ headers,
64
73
  status: httpStatus.BAD_REQUEST
65
74
  });
66
75
  }
@@ -117,7 +126,7 @@ export const buildFormState = async ({ req })=>{
117
126
  user: req.user
118
127
  });
119
128
  }
120
- if (globalSlug) {
129
+ if (globalSlug && schemaPath === globalSlug) {
121
130
  resolvedData = await req.payload.findGlobal({
122
131
  slug: globalSlug,
123
132
  depth: 0,
@@ -145,13 +154,19 @@ export const buildFormState = async ({ req })=>{
145
154
  },
146
155
  req
147
156
  });
157
+ // Maintain form state of file
158
+ if (collectionSlug && req.payload.collections[collectionSlug]?.config?.upload && formState && formState.file) {
159
+ result.file = formState.file;
160
+ }
148
161
  return Response.json(result, {
162
+ headers,
149
163
  status: httpStatus.OK
150
164
  });
151
165
  } catch (err) {
152
166
  return Response.json({
153
167
  message: 'There was an error building form state'
154
168
  }, {
169
+ headers,
155
170
  status: httpStatus.BAD_REQUEST
156
171
  });
157
172
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/routes/rest/buildFormState.ts"],"sourcesContent":["import type { BuildFormStateArgs } from '@payloadcms/ui/forms/buildStateFromSchema'\nimport type { DocumentPreferences, Field, PayloadRequest, TypeWithID } from 'payload/types'\n\nimport { buildStateFromSchema } from '@payloadcms/ui/forms/buildStateFromSchema'\nimport { reduceFieldsToValues } from '@payloadcms/ui/utilities/reduceFieldsToValues'\nimport httpStatus from 'http-status'\n\nimport type { FieldSchemaMap } from '../../utilities/buildFieldSchemaMap/types.js'\n\nimport { buildFieldSchemaMap } from '../../utilities/buildFieldSchemaMap/index.js'\n\nlet cached = global._payload_fieldSchemaMap\n\nif (!cached) {\n // eslint-disable-next-line no-multi-assign\n cached = global._payload_fieldSchemaMap = null\n}\n\nexport const getFieldSchemaMap = (req: PayloadRequest): FieldSchemaMap => {\n if (cached && process.env.NODE_ENV !== 'development') {\n return cached\n }\n\n cached = buildFieldSchemaMap(req)\n\n return cached\n}\n\nexport const buildFormState = async ({ req }: { req: PayloadRequest }) => {\n try {\n const reqData: BuildFormStateArgs = req.data as BuildFormStateArgs\n const { collectionSlug, formState, globalSlug, locale, operation, schemaPath } = reqData\n\n const incomingUserSlug = req.user?.collection\n const adminUserSlug = req.payload.config.admin.user\n\n // If we have a user slug, test it against the functions\n if (incomingUserSlug) {\n const adminAccessFunction = req.payload.collections[incomingUserSlug].config.access?.admin\n\n // Run the admin access function from the config if it exists\n if (adminAccessFunction) {\n const canAccessAdmin = await adminAccessFunction({ req })\n\n if (!canAccessAdmin) {\n return Response.json(null, {\n status: httpStatus.UNAUTHORIZED,\n })\n }\n // Match the user collection to the global admin config\n } else if (adminUserSlug !== incomingUserSlug) {\n return Response.json(null, {\n status: httpStatus.UNAUTHORIZED,\n })\n }\n } else {\n return Response.json(null, {\n status: httpStatus.UNAUTHORIZED,\n })\n }\n\n const fieldSchemaMap = getFieldSchemaMap(req)\n\n const id = collectionSlug ? reqData.id : undefined\n const schemaPathSegments = schemaPath.split('.')\n\n let fieldSchema: Field[]\n\n if (schemaPathSegments.length === 1) {\n if (req.payload.collections[schemaPath]) {\n fieldSchema = req.payload.collections[schemaPath].config.fields\n } else {\n fieldSchema = req.payload.config.globals.find(\n (global) => global.slug === schemaPath,\n )?.fields\n }\n } else if (fieldSchemaMap.has(schemaPath)) {\n fieldSchema = fieldSchemaMap.get(schemaPath)\n }\n\n if (!fieldSchema) {\n return Response.json(\n {\n message: 'Could not find field schema for given path',\n },\n {\n status: httpStatus.BAD_REQUEST,\n },\n )\n }\n\n let docPreferences = reqData.docPreferences\n let data = reqData.data\n\n const promises: {\n data?: Promise<void>\n preferences?: Promise<void>\n } = {}\n\n // If the request does not include doc preferences,\n // we should fetch them. This is useful for DocumentInfoProvider\n // as it reduces the amount of client-side fetches necessary\n // when we fetch data for the Edit view\n if (!docPreferences) {\n let preferencesKey\n\n if (collectionSlug && id) {\n preferencesKey = `collection-${collectionSlug}-${id}`\n }\n\n if (globalSlug) {\n preferencesKey = `global-${globalSlug}`\n }\n\n if (preferencesKey) {\n const fetchPreferences = async () => {\n const preferencesResult = (await req.payload.find({\n collection: 'payload-preferences',\n depth: 0,\n limit: 1,\n where: {\n key: {\n equals: preferencesKey,\n },\n },\n })) as unknown as { docs: { value: DocumentPreferences }[] }\n\n if (preferencesResult?.docs?.[0]?.value) docPreferences = preferencesResult.docs[0].value\n }\n\n promises.preferences = fetchPreferences()\n }\n }\n\n // If there is a form state,\n // then we can deduce data from that form state\n if (formState) data = reduceFieldsToValues(formState, true)\n\n // If we do not have data at this point,\n // we can fetch it. This is useful for DocumentInfoProvider\n // to reduce the amount of fetches required\n if (!data) {\n const fetchData = async () => {\n let resolvedData: TypeWithID\n\n if (collectionSlug && id) {\n resolvedData = await req.payload.findByID({\n id,\n collection: collectionSlug,\n depth: 0,\n draft: true,\n fallbackLocale: null,\n locale,\n overrideAccess: false,\n user: req.user,\n })\n }\n\n if (globalSlug) {\n resolvedData = await req.payload.findGlobal({\n slug: globalSlug,\n depth: 0,\n draft: true,\n fallbackLocale: null,\n locale,\n overrideAccess: false,\n user: req.user,\n })\n }\n\n data = resolvedData\n }\n\n promises.data = fetchData()\n }\n\n if (Object.keys(promises).length > 0) {\n await Promise.all(Object.values(promises))\n }\n\n const result = await buildStateFromSchema({\n id,\n data,\n fieldSchema,\n operation,\n preferences: docPreferences || { fields: {} },\n req,\n })\n\n return Response.json(result, {\n status: httpStatus.OK,\n })\n } catch (err) {\n return Response.json(\n {\n message: 'There was an error building form state',\n },\n {\n status: httpStatus.BAD_REQUEST,\n },\n )\n }\n}\n"],"names":["buildStateFromSchema","reduceFieldsToValues","httpStatus","buildFieldSchemaMap","cached","global","_payload_fieldSchemaMap","getFieldSchemaMap","req","process","env","NODE_ENV","buildFormState","reqData","data","collectionSlug","formState","globalSlug","locale","operation","schemaPath","incomingUserSlug","user","collection","adminUserSlug","payload","config","admin","adminAccessFunction","collections","access","canAccessAdmin","Response","json","status","UNAUTHORIZED","fieldSchemaMap","id","undefined","schemaPathSegments","split","fieldSchema","length","fields","globals","find","slug","has","get","message","BAD_REQUEST","docPreferences","promises","preferencesKey","fetchPreferences","preferencesResult","depth","limit","where","key","equals","docs","value","preferences","fetchData","resolvedData","findByID","draft","fallbackLocale","overrideAccess","findGlobal","Object","keys","Promise","all","values","result","OK","err"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
1
+ {"version":3,"sources":["../../../src/routes/rest/buildFormState.ts"],"sourcesContent":["import type { BuildFormStateArgs } from '@payloadcms/ui/forms/buildStateFromSchema'\nimport type { DocumentPreferences, Field, PayloadRequest, TypeWithID } from 'payload/types'\n\nimport { buildStateFromSchema } from '@payloadcms/ui/forms/buildStateFromSchema'\nimport { reduceFieldsToValues } from '@payloadcms/ui/utilities/reduceFieldsToValues'\nimport httpStatus from 'http-status'\n\nimport type { FieldSchemaMap } from '../../utilities/buildFieldSchemaMap/types.js'\n\nimport { buildFieldSchemaMap } from '../../utilities/buildFieldSchemaMap/index.js'\nimport { headersWithCors } from '../../utilities/headersWithCors.js'\n\nlet cached = global._payload_fieldSchemaMap\n\nif (!cached) {\n // eslint-disable-next-line no-multi-assign\n cached = global._payload_fieldSchemaMap = null\n}\n\nexport const getFieldSchemaMap = (req: PayloadRequest): FieldSchemaMap => {\n if (cached && process.env.NODE_ENV !== 'development') {\n return cached\n }\n\n cached = buildFieldSchemaMap(req)\n\n return cached\n}\n\nexport const buildFormState = async ({ req }: { req: PayloadRequest }) => {\n const headers = headersWithCors({\n headers: new Headers(),\n req,\n })\n\n try {\n const reqData: BuildFormStateArgs = req.data as BuildFormStateArgs\n const { collectionSlug, formState, globalSlug, locale, operation, schemaPath } = reqData\n\n const incomingUserSlug = req.user?.collection\n const adminUserSlug = req.payload.config.admin.user\n\n // If we have a user slug, test it against the functions\n if (incomingUserSlug) {\n const adminAccessFunction = req.payload.collections[incomingUserSlug].config.access?.admin\n\n // Run the admin access function from the config if it exists\n if (adminAccessFunction) {\n const canAccessAdmin = await adminAccessFunction({ req })\n\n if (!canAccessAdmin) {\n return Response.json(null, {\n headers,\n status: httpStatus.UNAUTHORIZED,\n })\n }\n // Match the user collection to the global admin config\n } else if (adminUserSlug !== incomingUserSlug) {\n return Response.json(null, {\n headers,\n status: httpStatus.UNAUTHORIZED,\n })\n }\n } else {\n return Response.json(null, {\n headers,\n status: httpStatus.UNAUTHORIZED,\n })\n }\n\n const fieldSchemaMap = getFieldSchemaMap(req)\n\n const id = collectionSlug ? reqData.id : undefined\n const schemaPathSegments = schemaPath.split('.')\n\n let fieldSchema: Field[]\n\n if (schemaPathSegments.length === 1) {\n if (req.payload.collections[schemaPath]) {\n fieldSchema = req.payload.collections[schemaPath].config.fields\n } else {\n fieldSchema = req.payload.config.globals.find(\n (global) => global.slug === schemaPath,\n )?.fields\n }\n } else if (fieldSchemaMap.has(schemaPath)) {\n fieldSchema = fieldSchemaMap.get(schemaPath)\n }\n\n if (!fieldSchema) {\n return Response.json(\n {\n message: 'Could not find field schema for given path',\n },\n {\n headers,\n status: httpStatus.BAD_REQUEST,\n },\n )\n }\n\n let docPreferences = reqData.docPreferences\n let data = reqData.data\n\n const promises: {\n data?: Promise<void>\n preferences?: Promise<void>\n } = {}\n\n // If the request does not include doc preferences,\n // we should fetch them. This is useful for DocumentInfoProvider\n // as it reduces the amount of client-side fetches necessary\n // when we fetch data for the Edit view\n if (!docPreferences) {\n let preferencesKey\n\n if (collectionSlug && id) {\n preferencesKey = `collection-${collectionSlug}-${id}`\n }\n\n if (globalSlug) {\n preferencesKey = `global-${globalSlug}`\n }\n\n if (preferencesKey) {\n const fetchPreferences = async () => {\n const preferencesResult = (await req.payload.find({\n collection: 'payload-preferences',\n depth: 0,\n limit: 1,\n where: {\n key: {\n equals: preferencesKey,\n },\n },\n })) as unknown as { docs: { value: DocumentPreferences }[] }\n\n if (preferencesResult?.docs?.[0]?.value) docPreferences = preferencesResult.docs[0].value\n }\n\n promises.preferences = fetchPreferences()\n }\n }\n\n // If there is a form state,\n // then we can deduce data from that form state\n if (formState) data = reduceFieldsToValues(formState, true)\n\n // If we do not have data at this point,\n // we can fetch it. This is useful for DocumentInfoProvider\n // to reduce the amount of fetches required\n if (!data) {\n const fetchData = async () => {\n let resolvedData: TypeWithID\n\n if (collectionSlug && id) {\n resolvedData = await req.payload.findByID({\n id,\n collection: collectionSlug,\n depth: 0,\n draft: true,\n fallbackLocale: null,\n locale,\n overrideAccess: false,\n user: req.user,\n })\n }\n\n if (globalSlug && schemaPath === globalSlug) {\n resolvedData = await req.payload.findGlobal({\n slug: globalSlug,\n depth: 0,\n draft: true,\n fallbackLocale: null,\n locale,\n overrideAccess: false,\n user: req.user,\n })\n }\n\n data = resolvedData\n }\n\n promises.data = fetchData()\n }\n\n if (Object.keys(promises).length > 0) {\n await Promise.all(Object.values(promises))\n }\n\n const result = await buildStateFromSchema({\n id,\n data,\n fieldSchema,\n operation,\n preferences: docPreferences || { fields: {} },\n req,\n })\n\n // Maintain form state of file\n if (\n collectionSlug &&\n req.payload.collections[collectionSlug]?.config?.upload &&\n formState &&\n formState.file\n ) {\n result.file = formState.file\n }\n\n return Response.json(result, {\n headers,\n status: httpStatus.OK,\n })\n } catch (err) {\n return Response.json(\n {\n message: 'There was an error building form state',\n },\n {\n headers,\n status: httpStatus.BAD_REQUEST,\n },\n )\n }\n}\n"],"names":["buildStateFromSchema","reduceFieldsToValues","httpStatus","buildFieldSchemaMap","headersWithCors","cached","global","_payload_fieldSchemaMap","getFieldSchemaMap","req","process","env","NODE_ENV","buildFormState","headers","Headers","reqData","data","collectionSlug","formState","globalSlug","locale","operation","schemaPath","incomingUserSlug","user","collection","adminUserSlug","payload","config","admin","adminAccessFunction","collections","access","canAccessAdmin","Response","json","status","UNAUTHORIZED","fieldSchemaMap","id","undefined","schemaPathSegments","split","fieldSchema","length","fields","globals","find","slug","has","get","message","BAD_REQUEST","docPreferences","promises","preferencesKey","fetchPreferences","preferencesResult","depth","limit","where","key","equals","docs","value","preferences","fetchData","resolvedData","findByID","draft","fallbackLocale","overrideAccess","findGlobal","Object","keys","Promise","all","values","result","upload","file","OK","err"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { CollectionRouteHandler } from '../types.js';
2
+ export declare const count: CollectionRouteHandler;
3
+ //# sourceMappingURL=count.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"count.d.ts","sourceRoot":"","sources":["../../../../src/routes/rest/collections/count.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAEzD,eAAO,MAAM,KAAK,EAAE,sBAcnB,CAAA"}
@@ -0,0 +1,15 @@
1
+ import httpStatus from 'http-status';
2
+ import { countOperation } from 'payload/operations';
3
+ export const count = async ({ collection, req })=>{
4
+ const { where } = req.query;
5
+ const result = await countOperation({
6
+ collection,
7
+ req,
8
+ where
9
+ });
10
+ return Response.json(result, {
11
+ status: httpStatus.OK
12
+ });
13
+ };
14
+
15
+ //# sourceMappingURL=count.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/routes/rest/collections/count.ts"],"sourcesContent":["import type { Where } from 'payload/types'\n\nimport httpStatus from 'http-status'\nimport { countOperation } from 'payload/operations'\n\nimport type { CollectionRouteHandler } from '../types.js'\n\nexport const count: CollectionRouteHandler = async ({ collection, req }) => {\n const { where } = req.query as {\n where?: Where\n }\n\n const result = await countOperation({\n collection,\n req,\n where,\n })\n\n return Response.json(result, {\n status: httpStatus.OK,\n })\n}\n"],"names":["httpStatus","countOperation","count","collection","req","where","query","result","Response","json","status","OK"],"rangeMappings":";;;;;;;;;;;;","mappings":"AAEA,OAAOA,gBAAgB,cAAa;AACpC,SAASC,cAAc,QAAQ,qBAAoB;AAInD,OAAO,MAAMC,QAAgC,OAAO,EAAEC,UAAU,EAAEC,GAAG,EAAE;IACrE,MAAM,EAAEC,KAAK,EAAE,GAAGD,IAAIE,KAAK;IAI3B,MAAMC,SAAS,MAAMN,eAAe;QAClCE;QACAC;QACAC;IACF;IAEA,OAAOG,SAASC,IAAI,CAACF,QAAQ;QAC3BG,QAAQV,WAAWW,EAAE;IACvB;AACF,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../../src/routes/rest/collections/create.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAEzD,eAAO,MAAM,MAAM,EAAE,sBA0BpB,CAAA"}
1
+ {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../../src/routes/rest/collections/create.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAIzD,eAAO,MAAM,MAAM,EAAE,sBA8BpB,CAAA"}
@@ -2,6 +2,7 @@ import { getTranslation } from '@payloadcms/translations';
2
2
  import httpStatus from 'http-status';
3
3
  import { createOperation } from 'payload/operations';
4
4
  import { isNumber } from 'payload/utilities';
5
+ import { headersWithCors } from '../../../utilities/headersWithCors.js';
5
6
  export const create = async ({ collection, req })=>{
6
7
  const { searchParams } = req;
7
8
  const autosave = searchParams.get('autosave') === 'true';
@@ -21,6 +22,10 @@ export const create = async ({ collection, req })=>{
21
22
  label: getTranslation(collection.config.labels.singular, req.i18n)
22
23
  })
23
24
  }, {
25
+ headers: headersWithCors({
26
+ headers: new Headers(),
27
+ req
28
+ }),
24
29
  status: httpStatus.CREATED
25
30
  });
26
31
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/routes/rest/collections/create.ts"],"sourcesContent":["import { getTranslation } from '@payloadcms/translations'\nimport httpStatus from 'http-status'\nimport { createOperation } from 'payload/operations'\nimport { isNumber } from 'payload/utilities'\n\nimport type { CollectionRouteHandler } from '../types.js'\n\nexport const create: CollectionRouteHandler = async ({ collection, req }) => {\n const { searchParams } = req\n const autosave = searchParams.get('autosave') === 'true'\n const draft = searchParams.get('draft') === 'true'\n const depth = searchParams.get('depth')\n\n const doc = await createOperation({\n autosave,\n collection,\n data: req.data,\n depth: isNumber(depth) ? depth : undefined,\n draft,\n req,\n })\n\n return Response.json(\n {\n doc,\n message: req.t('general:successfullyCreated', {\n label: getTranslation(collection.config.labels.singular, req.i18n),\n }),\n },\n {\n status: httpStatus.CREATED,\n },\n )\n}\n"],"names":["getTranslation","httpStatus","createOperation","isNumber","create","collection","req","searchParams","autosave","get","draft","depth","doc","data","undefined","Response","json","message","t","label","config","labels","singular","i18n","status","CREATED"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,SAASA,cAAc,QAAQ,2BAA0B;AACzD,OAAOC,gBAAgB,cAAa;AACpC,SAASC,eAAe,QAAQ,qBAAoB;AACpD,SAASC,QAAQ,QAAQ,oBAAmB;AAI5C,OAAO,MAAMC,SAAiC,OAAO,EAAEC,UAAU,EAAEC,GAAG,EAAE;IACtE,MAAM,EAAEC,YAAY,EAAE,GAAGD;IACzB,MAAME,WAAWD,aAAaE,GAAG,CAAC,gBAAgB;IAClD,MAAMC,QAAQH,aAAaE,GAAG,CAAC,aAAa;IAC5C,MAAME,QAAQJ,aAAaE,GAAG,CAAC;IAE/B,MAAMG,MAAM,MAAMV,gBAAgB;QAChCM;QACAH;QACAQ,MAAMP,IAAIO,IAAI;QACdF,OAAOR,SAASQ,SAASA,QAAQG;QACjCJ;QACAJ;IACF;IAEA,OAAOS,SAASC,IAAI,CAClB;QACEJ;QACAK,SAASX,IAAIY,CAAC,CAAC,+BAA+B;YAC5CC,OAAOnB,eAAeK,WAAWe,MAAM,CAACC,MAAM,CAACC,QAAQ,EAAEhB,IAAIiB,IAAI;QACnE;IACF,GACA;QACEC,QAAQvB,WAAWwB,OAAO;IAC5B;AAEJ,EAAC"}
1
+ {"version":3,"sources":["../../../../src/routes/rest/collections/create.ts"],"sourcesContent":["import { getTranslation } from '@payloadcms/translations'\nimport httpStatus from 'http-status'\nimport { createOperation } from 'payload/operations'\nimport { isNumber } from 'payload/utilities'\n\nimport type { CollectionRouteHandler } from '../types.js'\n\nimport { headersWithCors } from '../../../utilities/headersWithCors.js'\n\nexport const create: CollectionRouteHandler = async ({ collection, req }) => {\n const { searchParams } = req\n const autosave = searchParams.get('autosave') === 'true'\n const draft = searchParams.get('draft') === 'true'\n const depth = searchParams.get('depth')\n\n const doc = await createOperation({\n autosave,\n collection,\n data: req.data,\n depth: isNumber(depth) ? depth : undefined,\n draft,\n req,\n })\n\n return Response.json(\n {\n doc,\n message: req.t('general:successfullyCreated', {\n label: getTranslation(collection.config.labels.singular, req.i18n),\n }),\n },\n {\n headers: headersWithCors({\n headers: new Headers(),\n req,\n }),\n status: httpStatus.CREATED,\n },\n )\n}\n"],"names":["getTranslation","httpStatus","createOperation","isNumber","headersWithCors","create","collection","req","searchParams","autosave","get","draft","depth","doc","data","undefined","Response","json","message","t","label","config","labels","singular","i18n","headers","Headers","status","CREATED"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,SAASA,cAAc,QAAQ,2BAA0B;AACzD,OAAOC,gBAAgB,cAAa;AACpC,SAASC,eAAe,QAAQ,qBAAoB;AACpD,SAASC,QAAQ,QAAQ,oBAAmB;AAI5C,SAASC,eAAe,QAAQ,wCAAuC;AAEvE,OAAO,MAAMC,SAAiC,OAAO,EAAEC,UAAU,EAAEC,GAAG,EAAE;IACtE,MAAM,EAAEC,YAAY,EAAE,GAAGD;IACzB,MAAME,WAAWD,aAAaE,GAAG,CAAC,gBAAgB;IAClD,MAAMC,QAAQH,aAAaE,GAAG,CAAC,aAAa;IAC5C,MAAME,QAAQJ,aAAaE,GAAG,CAAC;IAE/B,MAAMG,MAAM,MAAMX,gBAAgB;QAChCO;QACAH;QACAQ,MAAMP,IAAIO,IAAI;QACdF,OAAOT,SAASS,SAASA,QAAQG;QACjCJ;QACAJ;IACF;IAEA,OAAOS,SAASC,IAAI,CAClB;QACEJ;QACAK,SAASX,IAAIY,CAAC,CAAC,+BAA+B;YAC5CC,OAAOpB,eAAeM,WAAWe,MAAM,CAACC,MAAM,CAACC,QAAQ,EAAEhB,IAAIiB,IAAI;QACnE;IACF,GACA;QACEC,SAASrB,gBAAgB;YACvBqB,SAAS,IAAIC;YACbnB;QACF;QACAoB,QAAQ1B,WAAW2B,OAAO;IAC5B;AAEJ,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../../src/routes/rest/collections/delete.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAEzD,eAAO,MAAM,SAAS,EAAE,sBAkDvB,CAAA"}
1
+ {"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../../src/routes/rest/collections/delete.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAIzD,eAAO,MAAM,SAAS,EAAE,sBAyDvB,CAAA"}
@@ -2,6 +2,7 @@ import { getTranslation } from '@payloadcms/translations';
2
2
  import httpStatus from 'http-status';
3
3
  import { deleteOperation } from 'payload/operations';
4
4
  import { isNumber } from 'payload/utilities';
5
+ import { headersWithCors } from '../../../utilities/headersWithCors.js';
5
6
  export const deleteDoc = async ({ collection, req })=>{
6
7
  const { depth, where } = req.query;
7
8
  const result = await deleteOperation({
@@ -10,6 +11,10 @@ export const deleteDoc = async ({ collection, req })=>{
10
11
  req,
11
12
  where
12
13
  });
14
+ const headers = headersWithCors({
15
+ headers: new Headers(),
16
+ req
17
+ });
13
18
  if (result.errors.length === 0) {
14
19
  const message = req.t('general:deletedCountSuccessfully', {
15
20
  count: result.docs.length,
@@ -19,6 +24,7 @@ export const deleteDoc = async ({ collection, req })=>{
19
24
  ...result,
20
25
  message
21
26
  }, {
27
+ headers,
22
28
  status: httpStatus.OK
23
29
  });
24
30
  }
@@ -32,6 +38,7 @@ export const deleteDoc = async ({ collection, req })=>{
32
38
  ...result,
33
39
  message
34
40
  }, {
41
+ headers,
35
42
  status: httpStatus.BAD_REQUEST
36
43
  });
37
44
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/routes/rest/collections/delete.ts"],"sourcesContent":["import type { Where } from 'payload/types'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport httpStatus from 'http-status'\nimport { deleteOperation } from 'payload/operations'\nimport { isNumber } from 'payload/utilities'\n\nimport type { CollectionRouteHandler } from '../types.js'\n\nexport const deleteDoc: CollectionRouteHandler = async ({ collection, req }) => {\n const { depth, where } = req.query as {\n depth?: string\n where?: Where\n }\n\n const result = await deleteOperation({\n collection,\n depth: isNumber(depth) ? Number(depth) : undefined,\n req,\n where,\n })\n\n if (result.errors.length === 0) {\n const message = req.t('general:deletedCountSuccessfully', {\n count: result.docs.length,\n label: getTranslation(\n collection.config.labels[result.docs.length > 1 ? 'plural' : 'singular'],\n req.i18n,\n ),\n })\n\n return Response.json(\n {\n ...result,\n message,\n },\n {\n status: httpStatus.OK,\n },\n )\n }\n\n const total = result.docs.length + result.errors.length\n\n const message = req.t('error:unableToDeleteCount', {\n count: result.errors.length,\n label: getTranslation(collection.config.labels[total > 1 ? 'plural' : 'singular'], req.i18n),\n total,\n })\n\n return Response.json(\n {\n ...result,\n message,\n },\n {\n status: httpStatus.BAD_REQUEST,\n },\n )\n}\n"],"names":["getTranslation","httpStatus","deleteOperation","isNumber","deleteDoc","collection","req","depth","where","query","result","Number","undefined","errors","length","message","t","count","docs","label","config","labels","i18n","Response","json","status","OK","total","BAD_REQUEST"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAEA,SAASA,cAAc,QAAQ,2BAA0B;AACzD,OAAOC,gBAAgB,cAAa;AACpC,SAASC,eAAe,QAAQ,qBAAoB;AACpD,SAASC,QAAQ,QAAQ,oBAAmB;AAI5C,OAAO,MAAMC,YAAoC,OAAO,EAAEC,UAAU,EAAEC,GAAG,EAAE;IACzE,MAAM,EAAEC,KAAK,EAAEC,KAAK,EAAE,GAAGF,IAAIG,KAAK;IAKlC,MAAMC,SAAS,MAAMR,gBAAgB;QACnCG;QACAE,OAAOJ,SAASI,SAASI,OAAOJ,SAASK;QACzCN;QACAE;IACF;IAEA,IAAIE,OAAOG,MAAM,CAACC,MAAM,KAAK,GAAG;QAC9B,MAAMC,UAAUT,IAAIU,CAAC,CAAC,oCAAoC;YACxDC,OAAOP,OAAOQ,IAAI,CAACJ,MAAM;YACzBK,OAAOnB,eACLK,WAAWe,MAAM,CAACC,MAAM,CAACX,OAAOQ,IAAI,CAACJ,MAAM,GAAG,IAAI,WAAW,WAAW,EACxER,IAAIgB,IAAI;QAEZ;QAEA,OAAOC,SAASC,IAAI,CAClB;YACE,GAAGd,MAAM;YACTK;QACF,GACA;YACEU,QAAQxB,WAAWyB,EAAE;QACvB;IAEJ;IAEA,MAAMC,QAAQjB,OAAOQ,IAAI,CAACJ,MAAM,GAAGJ,OAAOG,MAAM,CAACC,MAAM;IAEvD,MAAMC,UAAUT,IAAIU,CAAC,CAAC,6BAA6B;QACjDC,OAAOP,OAAOG,MAAM,CAACC,MAAM;QAC3BK,OAAOnB,eAAeK,WAAWe,MAAM,CAACC,MAAM,CAACM,QAAQ,IAAI,WAAW,WAAW,EAAErB,IAAIgB,IAAI;QAC3FK;IACF;IAEA,OAAOJ,SAASC,IAAI,CAClB;QACE,GAAGd,MAAM;QACTK;IACF,GACA;QACEU,QAAQxB,WAAW2B,WAAW;IAChC;AAEJ,EAAC"}
1
+ {"version":3,"sources":["../../../../src/routes/rest/collections/delete.ts"],"sourcesContent":["import type { Where } from 'payload/types'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport httpStatus from 'http-status'\nimport { deleteOperation } from 'payload/operations'\nimport { isNumber } from 'payload/utilities'\n\nimport type { CollectionRouteHandler } from '../types.js'\n\nimport { headersWithCors } from '../../../utilities/headersWithCors.js'\n\nexport const deleteDoc: CollectionRouteHandler = async ({ collection, req }) => {\n const { depth, where } = req.query as {\n depth?: string\n where?: Where\n }\n\n const result = await deleteOperation({\n collection,\n depth: isNumber(depth) ? Number(depth) : undefined,\n req,\n where,\n })\n\n const headers = headersWithCors({\n headers: new Headers(),\n req,\n })\n\n if (result.errors.length === 0) {\n const message = req.t('general:deletedCountSuccessfully', {\n count: result.docs.length,\n label: getTranslation(\n collection.config.labels[result.docs.length > 1 ? 'plural' : 'singular'],\n req.i18n,\n ),\n })\n\n return Response.json(\n {\n ...result,\n message,\n },\n {\n headers,\n status: httpStatus.OK,\n },\n )\n }\n\n const total = result.docs.length + result.errors.length\n\n const message = req.t('error:unableToDeleteCount', {\n count: result.errors.length,\n label: getTranslation(collection.config.labels[total > 1 ? 'plural' : 'singular'], req.i18n),\n total,\n })\n\n return Response.json(\n {\n ...result,\n message,\n },\n {\n headers,\n status: httpStatus.BAD_REQUEST,\n },\n )\n}\n"],"names":["getTranslation","httpStatus","deleteOperation","isNumber","headersWithCors","deleteDoc","collection","req","depth","where","query","result","Number","undefined","headers","Headers","errors","length","message","t","count","docs","label","config","labels","i18n","Response","json","status","OK","total","BAD_REQUEST"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAEA,SAASA,cAAc,QAAQ,2BAA0B;AACzD,OAAOC,gBAAgB,cAAa;AACpC,SAASC,eAAe,QAAQ,qBAAoB;AACpD,SAASC,QAAQ,QAAQ,oBAAmB;AAI5C,SAASC,eAAe,QAAQ,wCAAuC;AAEvE,OAAO,MAAMC,YAAoC,OAAO,EAAEC,UAAU,EAAEC,GAAG,EAAE;IACzE,MAAM,EAAEC,KAAK,EAAEC,KAAK,EAAE,GAAGF,IAAIG,KAAK;IAKlC,MAAMC,SAAS,MAAMT,gBAAgB;QACnCI;QACAE,OAAOL,SAASK,SAASI,OAAOJ,SAASK;QACzCN;QACAE;IACF;IAEA,MAAMK,UAAUV,gBAAgB;QAC9BU,SAAS,IAAIC;QACbR;IACF;IAEA,IAAII,OAAOK,MAAM,CAACC,MAAM,KAAK,GAAG;QAC9B,MAAMC,UAAUX,IAAIY,CAAC,CAAC,oCAAoC;YACxDC,OAAOT,OAAOU,IAAI,CAACJ,MAAM;YACzBK,OAAOtB,eACLM,WAAWiB,MAAM,CAACC,MAAM,CAACb,OAAOU,IAAI,CAACJ,MAAM,GAAG,IAAI,WAAW,WAAW,EACxEV,IAAIkB,IAAI;QAEZ;QAEA,OAAOC,SAASC,IAAI,CAClB;YACE,GAAGhB,MAAM;YACTO;QACF,GACA;YACEJ;YACAc,QAAQ3B,WAAW4B,EAAE;QACvB;IAEJ;IAEA,MAAMC,QAAQnB,OAAOU,IAAI,CAACJ,MAAM,GAAGN,OAAOK,MAAM,CAACC,MAAM;IAEvD,MAAMC,UAAUX,IAAIY,CAAC,CAAC,6BAA6B;QACjDC,OAAOT,OAAOK,MAAM,CAACC,MAAM;QAC3BK,OAAOtB,eAAeM,WAAWiB,MAAM,CAACC,MAAM,CAACM,QAAQ,IAAI,WAAW,WAAW,EAAEvB,IAAIkB,IAAI;QAC3FK;IACF;IAEA,OAAOJ,SAASC,IAAI,CAClB;QACE,GAAGhB,MAAM;QACTO;IACF,GACA;QACEJ;QACAc,QAAQ3B,WAAW8B,WAAW;IAChC;AAEJ,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"deleteByID.d.ts","sourceRoot":"","sources":["../../../../src/routes/rest/collections/deleteByID.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,aAAa,CAAA;AAE/D,eAAO,MAAM,UAAU,EAAE,4BA8BxB,CAAA"}
1
+ {"version":3,"file":"deleteByID.d.ts","sourceRoot":"","sources":["../../../../src/routes/rest/collections/deleteByID.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,aAAa,CAAA;AAK/D,eAAO,MAAM,UAAU,EAAE,4BAgDxB,CAAA"}
@@ -1,19 +1,31 @@
1
1
  import httpStatus from 'http-status';
2
2
  import { deleteByIDOperation } from 'payload/operations';
3
3
  import { isNumber } from 'payload/utilities';
4
- export const deleteByID = async ({ id, collection, req })=>{
4
+ import { headersWithCors } from '../../../utilities/headersWithCors.js';
5
+ import { sanitizeCollectionID } from '../utilities/sanitizeCollectionID.js';
6
+ export const deleteByID = async ({ id: incomingID, collection, req })=>{
5
7
  const { searchParams } = req;
6
8
  const depth = searchParams.get('depth');
9
+ const id = sanitizeCollectionID({
10
+ id: incomingID,
11
+ collectionSlug: collection.config.slug,
12
+ payload: req.payload
13
+ });
7
14
  const doc = await deleteByIDOperation({
8
15
  id,
9
16
  collection,
10
17
  depth: isNumber(depth) ? depth : undefined,
11
18
  req
12
19
  });
20
+ const headers = headersWithCors({
21
+ headers: new Headers(),
22
+ req
23
+ });
13
24
  if (!doc) {
14
25
  return Response.json({
15
26
  message: req.t('general:notFound')
16
27
  }, {
28
+ headers,
17
29
  status: httpStatus.NOT_FOUND
18
30
  });
19
31
  }
@@ -21,6 +33,7 @@ export const deleteByID = async ({ id, collection, req })=>{
21
33
  doc,
22
34
  message: req.t('general:deletedSuccessfully')
23
35
  }, {
36
+ headers,
24
37
  status: httpStatus.OK
25
38
  });
26
39
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/routes/rest/collections/deleteByID.ts"],"sourcesContent":["import httpStatus from 'http-status'\nimport { deleteByIDOperation } from 'payload/operations'\nimport { isNumber } from 'payload/utilities'\n\nimport type { CollectionRouteHandlerWithID } from '../types.js'\n\nexport const deleteByID: CollectionRouteHandlerWithID = async ({ id, collection, req }) => {\n const { searchParams } = req\n const depth = searchParams.get('depth')\n const doc = await deleteByIDOperation({\n id,\n collection,\n depth: isNumber(depth) ? depth : undefined,\n req,\n })\n\n if (!doc) {\n return Response.json(\n {\n message: req.t('general:notFound'),\n },\n {\n status: httpStatus.NOT_FOUND,\n },\n )\n }\n\n return Response.json(\n {\n doc,\n message: req.t('general:deletedSuccessfully'),\n },\n {\n status: httpStatus.OK,\n },\n )\n}\n"],"names":["httpStatus","deleteByIDOperation","isNumber","deleteByID","id","collection","req","searchParams","depth","get","doc","undefined","Response","json","message","t","status","NOT_FOUND","OK"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,OAAOA,gBAAgB,cAAa;AACpC,SAASC,mBAAmB,QAAQ,qBAAoB;AACxD,SAASC,QAAQ,QAAQ,oBAAmB;AAI5C,OAAO,MAAMC,aAA2C,OAAO,EAAEC,EAAE,EAAEC,UAAU,EAAEC,GAAG,EAAE;IACpF,MAAM,EAAEC,YAAY,EAAE,GAAGD;IACzB,MAAME,QAAQD,aAAaE,GAAG,CAAC;IAC/B,MAAMC,MAAM,MAAMT,oBAAoB;QACpCG;QACAC;QACAG,OAAON,SAASM,SAASA,QAAQG;QACjCL;IACF;IAEA,IAAI,CAACI,KAAK;QACR,OAAOE,SAASC,IAAI,CAClB;YACEC,SAASR,IAAIS,CAAC,CAAC;QACjB,GACA;YACEC,QAAQhB,WAAWiB,SAAS;QAC9B;IAEJ;IAEA,OAAOL,SAASC,IAAI,CAClB;QACEH;QACAI,SAASR,IAAIS,CAAC,CAAC;IACjB,GACA;QACEC,QAAQhB,WAAWkB,EAAE;IACvB;AAEJ,EAAC"}
1
+ {"version":3,"sources":["../../../../src/routes/rest/collections/deleteByID.ts"],"sourcesContent":["import httpStatus from 'http-status'\nimport { deleteByIDOperation } from 'payload/operations'\nimport { isNumber } from 'payload/utilities'\n\nimport type { CollectionRouteHandlerWithID } from '../types.js'\n\nimport { headersWithCors } from '../../../utilities/headersWithCors.js'\nimport { sanitizeCollectionID } from '../utilities/sanitizeCollectionID.js'\n\nexport const deleteByID: CollectionRouteHandlerWithID = async ({\n id: incomingID,\n collection,\n req,\n}) => {\n const { searchParams } = req\n const depth = searchParams.get('depth')\n\n const id = sanitizeCollectionID({\n id: incomingID,\n collectionSlug: collection.config.slug,\n payload: req.payload,\n })\n\n const doc = await deleteByIDOperation({\n id,\n collection,\n depth: isNumber(depth) ? depth : undefined,\n req,\n })\n\n const headers = headersWithCors({\n headers: new Headers(),\n req,\n })\n\n if (!doc) {\n return Response.json(\n {\n message: req.t('general:notFound'),\n },\n {\n headers,\n status: httpStatus.NOT_FOUND,\n },\n )\n }\n\n return Response.json(\n {\n doc,\n message: req.t('general:deletedSuccessfully'),\n },\n {\n headers,\n status: httpStatus.OK,\n },\n )\n}\n"],"names":["httpStatus","deleteByIDOperation","isNumber","headersWithCors","sanitizeCollectionID","deleteByID","id","incomingID","collection","req","searchParams","depth","get","collectionSlug","config","slug","payload","doc","undefined","headers","Headers","Response","json","message","t","status","NOT_FOUND","OK"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,OAAOA,gBAAgB,cAAa;AACpC,SAASC,mBAAmB,QAAQ,qBAAoB;AACxD,SAASC,QAAQ,QAAQ,oBAAmB;AAI5C,SAASC,eAAe,QAAQ,wCAAuC;AACvE,SAASC,oBAAoB,QAAQ,uCAAsC;AAE3E,OAAO,MAAMC,aAA2C,OAAO,EAC7DC,IAAIC,UAAU,EACdC,UAAU,EACVC,GAAG,EACJ;IACC,MAAM,EAAEC,YAAY,EAAE,GAAGD;IACzB,MAAME,QAAQD,aAAaE,GAAG,CAAC;IAE/B,MAAMN,KAAKF,qBAAqB;QAC9BE,IAAIC;QACJM,gBAAgBL,WAAWM,MAAM,CAACC,IAAI;QACtCC,SAASP,IAAIO,OAAO;IACtB;IAEA,MAAMC,MAAM,MAAMhB,oBAAoB;QACpCK;QACAE;QACAG,OAAOT,SAASS,SAASA,QAAQO;QACjCT;IACF;IAEA,MAAMU,UAAUhB,gBAAgB;QAC9BgB,SAAS,IAAIC;QACbX;IACF;IAEA,IAAI,CAACQ,KAAK;QACR,OAAOI,SAASC,IAAI,CAClB;YACEC,SAASd,IAAIe,CAAC,CAAC;QACjB,GACA;YACEL;YACAM,QAAQzB,WAAW0B,SAAS;QAC9B;IAEJ;IAEA,OAAOL,SAASC,IAAI,CAClB;QACEL;QACAM,SAASd,IAAIe,CAAC,CAAC;IACjB,GACA;QACEL;QACAM,QAAQzB,WAAW2B,EAAE;IACvB;AAEJ,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"docAccess.d.ts","sourceRoot":"","sources":["../../../../src/routes/rest/collections/docAccess.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,aAAa,CAAA;AAE/D,eAAO,MAAM,SAAS,EAAE,4BAUvB,CAAA"}
1
+ {"version":3,"file":"docAccess.d.ts","sourceRoot":"","sources":["../../../../src/routes/rest/collections/docAccess.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,aAAa,CAAA;AAI/D,eAAO,MAAM,SAAS,EAAE,4BAcvB,CAAA"}
@@ -1,5 +1,6 @@
1
1
  import httpStatus from 'http-status';
2
2
  import { docAccessOperation } from 'payload/operations';
3
+ import { headersWithCors } from '../../../utilities/headersWithCors.js';
3
4
  export const docAccess = async ({ id, collection, req })=>{
4
5
  const result = await docAccessOperation({
5
6
  id,
@@ -7,6 +8,10 @@ export const docAccess = async ({ id, collection, req })=>{
7
8
  req
8
9
  });
9
10
  return Response.json(result, {
11
+ headers: headersWithCors({
12
+ headers: new Headers(),
13
+ req
14
+ }),
10
15
  status: httpStatus.OK
11
16
  });
12
17
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/routes/rest/collections/docAccess.ts"],"sourcesContent":["import httpStatus from 'http-status'\nimport { docAccessOperation } from 'payload/operations'\n\nimport type { CollectionRouteHandlerWithID } from '../types.js'\n\nexport const docAccess: CollectionRouteHandlerWithID = async ({ id, collection, req }) => {\n const result = await docAccessOperation({\n id,\n collection,\n req,\n })\n\n return Response.json(result, {\n status: httpStatus.OK,\n })\n}\n"],"names":["httpStatus","docAccessOperation","docAccess","id","collection","req","result","Response","json","status","OK"],"rangeMappings":";;;;;;;;;;;","mappings":"AAAA,OAAOA,gBAAgB,cAAa;AACpC,SAASC,kBAAkB,QAAQ,qBAAoB;AAIvD,OAAO,MAAMC,YAA0C,OAAO,EAAEC,EAAE,EAAEC,UAAU,EAAEC,GAAG,EAAE;IACnF,MAAMC,SAAS,MAAML,mBAAmB;QACtCE;QACAC;QACAC;IACF;IAEA,OAAOE,SAASC,IAAI,CAACF,QAAQ;QAC3BG,QAAQT,WAAWU,EAAE;IACvB;AACF,EAAC"}
1
+ {"version":3,"sources":["../../../../src/routes/rest/collections/docAccess.ts"],"sourcesContent":["import httpStatus from 'http-status'\nimport { docAccessOperation } from 'payload/operations'\n\nimport type { CollectionRouteHandlerWithID } from '../types.js'\n\nimport { headersWithCors } from '../../../utilities/headersWithCors.js'\n\nexport const docAccess: CollectionRouteHandlerWithID = async ({ id, collection, req }) => {\n const result = await docAccessOperation({\n id,\n collection,\n req,\n })\n\n return Response.json(result, {\n headers: headersWithCors({\n headers: new Headers(),\n req,\n }),\n status: httpStatus.OK,\n })\n}\n"],"names":["httpStatus","docAccessOperation","headersWithCors","docAccess","id","collection","req","result","Response","json","headers","Headers","status","OK"],"rangeMappings":";;;;;;;;;;;;;;;;","mappings":"AAAA,OAAOA,gBAAgB,cAAa;AACpC,SAASC,kBAAkB,QAAQ,qBAAoB;AAIvD,SAASC,eAAe,QAAQ,wCAAuC;AAEvE,OAAO,MAAMC,YAA0C,OAAO,EAAEC,EAAE,EAAEC,UAAU,EAAEC,GAAG,EAAE;IACnF,MAAMC,SAAS,MAAMN,mBAAmB;QACtCG;QACAC;QACAC;IACF;IAEA,OAAOE,SAASC,IAAI,CAACF,QAAQ;QAC3BG,SAASR,gBAAgB;YACvBQ,SAAS,IAAIC;YACbL;QACF;QACAM,QAAQZ,WAAWa,EAAE;IACvB;AACF,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"duplicate.d.ts","sourceRoot":"","sources":["../../../../src/routes/rest/collections/duplicate.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,aAAa,CAAA;AAE/D,eAAO,MAAM,SAAS,EAAE,4BA2BvB,CAAA"}
1
+ {"version":3,"file":"duplicate.d.ts","sourceRoot":"","sources":["../../../../src/routes/rest/collections/duplicate.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,aAAa,CAAA;AAK/D,eAAO,MAAM,SAAS,EAAE,4BAyCvB,CAAA"}
@@ -2,11 +2,18 @@ import { getTranslation } from '@payloadcms/translations';
2
2
  import httpStatus from 'http-status';
3
3
  import { duplicateOperation } from 'payload/operations';
4
4
  import { isNumber } from 'payload/utilities';
5
- export const duplicate = async ({ id, collection, req })=>{
5
+ import { headersWithCors } from '../../../utilities/headersWithCors.js';
6
+ import { sanitizeCollectionID } from '../utilities/sanitizeCollectionID.js';
7
+ export const duplicate = async ({ id: incomingID, collection, req })=>{
6
8
  const { searchParams } = req;
7
9
  const depth = searchParams.get('depth');
8
10
  // draft defaults to true, unless explicitly set requested as false to prevent the newly duplicated document from being published
9
11
  const draft = searchParams.get('draft') !== 'false';
12
+ const id = sanitizeCollectionID({
13
+ id: incomingID,
14
+ collectionSlug: collection.config.slug,
15
+ payload: req.payload
16
+ });
10
17
  const doc = await duplicateOperation({
11
18
  id,
12
19
  collection,
@@ -21,6 +28,10 @@ export const duplicate = async ({ id, collection, req })=>{
21
28
  doc,
22
29
  message
23
30
  }, {
31
+ headers: headersWithCors({
32
+ headers: new Headers(),
33
+ req
34
+ }),
24
35
  status: httpStatus.OK
25
36
  });
26
37
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/routes/rest/collections/duplicate.ts"],"sourcesContent":["import { getTranslation } from '@payloadcms/translations'\nimport httpStatus from 'http-status'\nimport { duplicateOperation } from 'payload/operations'\nimport { isNumber } from 'payload/utilities'\n\nimport type { CollectionRouteHandlerWithID } from '../types.js'\n\nexport const duplicate: CollectionRouteHandlerWithID = async ({ id, collection, req }) => {\n const { searchParams } = req\n const depth = searchParams.get('depth')\n // draft defaults to true, unless explicitly set requested as false to prevent the newly duplicated document from being published\n const draft = searchParams.get('draft') !== 'false'\n\n const doc = await duplicateOperation({\n id,\n collection,\n depth: isNumber(depth) ? Number(depth) : undefined,\n draft,\n req,\n })\n\n const message = req.t('general:successfullyDuplicated', {\n label: getTranslation(collection.config.labels.singular, req.i18n),\n })\n\n return Response.json(\n {\n doc,\n message,\n },\n {\n status: httpStatus.OK,\n },\n )\n}\n"],"names":["getTranslation","httpStatus","duplicateOperation","isNumber","duplicate","id","collection","req","searchParams","depth","get","draft","doc","Number","undefined","message","t","label","config","labels","singular","i18n","Response","json","status","OK"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,SAASA,cAAc,QAAQ,2BAA0B;AACzD,OAAOC,gBAAgB,cAAa;AACpC,SAASC,kBAAkB,QAAQ,qBAAoB;AACvD,SAASC,QAAQ,QAAQ,oBAAmB;AAI5C,OAAO,MAAMC,YAA0C,OAAO,EAAEC,EAAE,EAAEC,UAAU,EAAEC,GAAG,EAAE;IACnF,MAAM,EAAEC,YAAY,EAAE,GAAGD;IACzB,MAAME,QAAQD,aAAaE,GAAG,CAAC;IAC/B,iIAAiI;IACjI,MAAMC,QAAQH,aAAaE,GAAG,CAAC,aAAa;IAE5C,MAAME,MAAM,MAAMV,mBAAmB;QACnCG;QACAC;QACAG,OAAON,SAASM,SAASI,OAAOJ,SAASK;QACzCH;QACAJ;IACF;IAEA,MAAMQ,UAAUR,IAAIS,CAAC,CAAC,kCAAkC;QACtDC,OAAOjB,eAAeM,WAAWY,MAAM,CAACC,MAAM,CAACC,QAAQ,EAAEb,IAAIc,IAAI;IACnE;IAEA,OAAOC,SAASC,IAAI,CAClB;QACEX;QACAG;IACF,GACA;QACES,QAAQvB,WAAWwB,EAAE;IACvB;AAEJ,EAAC"}
1
+ {"version":3,"sources":["../../../../src/routes/rest/collections/duplicate.ts"],"sourcesContent":["import { getTranslation } from '@payloadcms/translations'\nimport httpStatus from 'http-status'\nimport { duplicateOperation } from 'payload/operations'\nimport { isNumber } from 'payload/utilities'\n\nimport type { CollectionRouteHandlerWithID } from '../types.js'\n\nimport { headersWithCors } from '../../../utilities/headersWithCors.js'\nimport { sanitizeCollectionID } from '../utilities/sanitizeCollectionID.js'\n\nexport const duplicate: CollectionRouteHandlerWithID = async ({\n id: incomingID,\n collection,\n req,\n}) => {\n const { searchParams } = req\n const depth = searchParams.get('depth')\n // draft defaults to true, unless explicitly set requested as false to prevent the newly duplicated document from being published\n const draft = searchParams.get('draft') !== 'false'\n\n const id = sanitizeCollectionID({\n id: incomingID,\n collectionSlug: collection.config.slug,\n payload: req.payload,\n })\n\n const doc = await duplicateOperation({\n id,\n collection,\n depth: isNumber(depth) ? Number(depth) : undefined,\n draft,\n req,\n })\n\n const message = req.t('general:successfullyDuplicated', {\n label: getTranslation(collection.config.labels.singular, req.i18n),\n })\n\n return Response.json(\n {\n doc,\n message,\n },\n {\n headers: headersWithCors({\n headers: new Headers(),\n req,\n }),\n status: httpStatus.OK,\n },\n )\n}\n"],"names":["getTranslation","httpStatus","duplicateOperation","isNumber","headersWithCors","sanitizeCollectionID","duplicate","id","incomingID","collection","req","searchParams","depth","get","draft","collectionSlug","config","slug","payload","doc","Number","undefined","message","t","label","labels","singular","i18n","Response","json","headers","Headers","status","OK"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,SAASA,cAAc,QAAQ,2BAA0B;AACzD,OAAOC,gBAAgB,cAAa;AACpC,SAASC,kBAAkB,QAAQ,qBAAoB;AACvD,SAASC,QAAQ,QAAQ,oBAAmB;AAI5C,SAASC,eAAe,QAAQ,wCAAuC;AACvE,SAASC,oBAAoB,QAAQ,uCAAsC;AAE3E,OAAO,MAAMC,YAA0C,OAAO,EAC5DC,IAAIC,UAAU,EACdC,UAAU,EACVC,GAAG,EACJ;IACC,MAAM,EAAEC,YAAY,EAAE,GAAGD;IACzB,MAAME,QAAQD,aAAaE,GAAG,CAAC;IAC/B,iIAAiI;IACjI,MAAMC,QAAQH,aAAaE,GAAG,CAAC,aAAa;IAE5C,MAAMN,KAAKF,qBAAqB;QAC9BE,IAAIC;QACJO,gBAAgBN,WAAWO,MAAM,CAACC,IAAI;QACtCC,SAASR,IAAIQ,OAAO;IACtB;IAEA,MAAMC,MAAM,MAAMjB,mBAAmB;QACnCK;QACAE;QACAG,OAAOT,SAASS,SAASQ,OAAOR,SAASS;QACzCP;QACAJ;IACF;IAEA,MAAMY,UAAUZ,IAAIa,CAAC,CAAC,kCAAkC;QACtDC,OAAOxB,eAAeS,WAAWO,MAAM,CAACS,MAAM,CAACC,QAAQ,EAAEhB,IAAIiB,IAAI;IACnE;IAEA,OAAOC,SAASC,IAAI,CAClB;QACEV;QACAG;IACF,GACA;QACEQ,SAAS1B,gBAAgB;YACvB0B,SAAS,IAAIC;YACbrB;QACF;QACAsB,QAAQ/B,WAAWgC,EAAE;IACvB;AAEJ,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"find.d.ts","sourceRoot":"","sources":["../../../../src/routes/rest/collections/find.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAEzD,eAAO,MAAM,IAAI,EAAE,sBAwBlB,CAAA"}
1
+ {"version":3,"file":"find.d.ts","sourceRoot":"","sources":["../../../../src/routes/rest/collections/find.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAIzD,eAAO,MAAM,IAAI,EAAE,sBA4BlB,CAAA"}
@@ -1,6 +1,7 @@
1
1
  import httpStatus from 'http-status';
2
2
  import { findOperation } from 'payload/operations';
3
3
  import { isNumber } from 'payload/utilities';
4
+ import { headersWithCors } from '../../../utilities/headersWithCors.js';
4
5
  export const find = async ({ collection, req })=>{
5
6
  const { depth, draft, limit, page, sort, where } = req.query;
6
7
  const result = await findOperation({
@@ -14,6 +15,10 @@ export const find = async ({ collection, req })=>{
14
15
  where
15
16
  });
16
17
  return Response.json(result, {
18
+ headers: headersWithCors({
19
+ headers: new Headers(),
20
+ req
21
+ }),
17
22
  status: httpStatus.OK
18
23
  });
19
24
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/routes/rest/collections/find.ts"],"sourcesContent":["import type { Where } from 'payload/types'\n\nimport httpStatus from 'http-status'\nimport { findOperation } from 'payload/operations'\nimport { isNumber } from 'payload/utilities'\n\nimport type { CollectionRouteHandler } from '../types.js'\n\nexport const find: CollectionRouteHandler = async ({ collection, req }) => {\n const { depth, draft, limit, page, sort, where } = req.query as {\n depth?: string\n draft?: string\n limit?: string\n page?: string\n sort?: string\n where?: Where\n }\n\n const result = await findOperation({\n collection,\n depth: isNumber(depth) ? Number(depth) : undefined,\n draft: draft === 'true',\n limit: isNumber(limit) ? Number(limit) : undefined,\n page: isNumber(page) ? Number(page) : undefined,\n req,\n sort,\n where,\n })\n\n return Response.json(result, {\n status: httpStatus.OK,\n })\n}\n"],"names":["httpStatus","findOperation","isNumber","find","collection","req","depth","draft","limit","page","sort","where","query","result","Number","undefined","Response","json","status","OK"],"rangeMappings":";;;;;;;;;;;;;;;;;;","mappings":"AAEA,OAAOA,gBAAgB,cAAa;AACpC,SAASC,aAAa,QAAQ,qBAAoB;AAClD,SAASC,QAAQ,QAAQ,oBAAmB;AAI5C,OAAO,MAAMC,OAA+B,OAAO,EAAEC,UAAU,EAAEC,GAAG,EAAE;IACpE,MAAM,EAAEC,KAAK,EAAEC,KAAK,EAAEC,KAAK,EAAEC,IAAI,EAAEC,IAAI,EAAEC,KAAK,EAAE,GAAGN,IAAIO,KAAK;IAS5D,MAAMC,SAAS,MAAMZ,cAAc;QACjCG;QACAE,OAAOJ,SAASI,SAASQ,OAAOR,SAASS;QACzCR,OAAOA,UAAU;QACjBC,OAAON,SAASM,SAASM,OAAON,SAASO;QACzCN,MAAMP,SAASO,QAAQK,OAAOL,QAAQM;QACtCV;QACAK;QACAC;IACF;IAEA,OAAOK,SAASC,IAAI,CAACJ,QAAQ;QAC3BK,QAAQlB,WAAWmB,EAAE;IACvB;AACF,EAAC"}
1
+ {"version":3,"sources":["../../../../src/routes/rest/collections/find.ts"],"sourcesContent":["import type { Where } from 'payload/types'\n\nimport httpStatus from 'http-status'\nimport { findOperation } from 'payload/operations'\nimport { isNumber } from 'payload/utilities'\n\nimport type { CollectionRouteHandler } from '../types.js'\n\nimport { headersWithCors } from '../../../utilities/headersWithCors.js'\n\nexport const find: CollectionRouteHandler = async ({ collection, req }) => {\n const { depth, draft, limit, page, sort, where } = req.query as {\n depth?: string\n draft?: string\n limit?: string\n page?: string\n sort?: string\n where?: Where\n }\n\n const result = await findOperation({\n collection,\n depth: isNumber(depth) ? Number(depth) : undefined,\n draft: draft === 'true',\n limit: isNumber(limit) ? Number(limit) : undefined,\n page: isNumber(page) ? Number(page) : undefined,\n req,\n sort,\n where,\n })\n\n return Response.json(result, {\n headers: headersWithCors({\n headers: new Headers(),\n req,\n }),\n status: httpStatus.OK,\n })\n}\n"],"names":["httpStatus","findOperation","isNumber","headersWithCors","find","collection","req","depth","draft","limit","page","sort","where","query","result","Number","undefined","Response","json","headers","Headers","status","OK"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAEA,OAAOA,gBAAgB,cAAa;AACpC,SAASC,aAAa,QAAQ,qBAAoB;AAClD,SAASC,QAAQ,QAAQ,oBAAmB;AAI5C,SAASC,eAAe,QAAQ,wCAAuC;AAEvE,OAAO,MAAMC,OAA+B,OAAO,EAAEC,UAAU,EAAEC,GAAG,EAAE;IACpE,MAAM,EAAEC,KAAK,EAAEC,KAAK,EAAEC,KAAK,EAAEC,IAAI,EAAEC,IAAI,EAAEC,KAAK,EAAE,GAAGN,IAAIO,KAAK;IAS5D,MAAMC,SAAS,MAAMb,cAAc;QACjCI;QACAE,OAAOL,SAASK,SAASQ,OAAOR,SAASS;QACzCR,OAAOA,UAAU;QACjBC,OAAOP,SAASO,SAASM,OAAON,SAASO;QACzCN,MAAMR,SAASQ,QAAQK,OAAOL,QAAQM;QACtCV;QACAK;QACAC;IACF;IAEA,OAAOK,SAASC,IAAI,CAACJ,QAAQ;QAC3BK,SAAShB,gBAAgB;YACvBgB,SAAS,IAAIC;YACbd;QACF;QACAe,QAAQrB,WAAWsB,EAAE;IACvB;AACF,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"findByID.d.ts","sourceRoot":"","sources":["../../../../src/routes/rest/collections/findByID.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,aAAa,CAAA;AAE/D,eAAO,MAAM,QAAQ,EAAE,4BAetB,CAAA"}
1
+ {"version":3,"file":"findByID.d.ts","sourceRoot":"","sources":["../../../../src/routes/rest/collections/findByID.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,aAAa,CAAA;AAK/D,eAAO,MAAM,QAAQ,EAAE,4BA6BtB,CAAA"}
@@ -1,9 +1,16 @@
1
1
  import httpStatus from 'http-status';
2
2
  import { findByIDOperation } from 'payload/operations';
3
3
  import { isNumber } from 'payload/utilities';
4
- export const findByID = async ({ id, collection, req })=>{
4
+ import { headersWithCors } from '../../../utilities/headersWithCors.js';
5
+ import { sanitizeCollectionID } from '../utilities/sanitizeCollectionID.js';
6
+ export const findByID = async ({ id: incomingID, collection, req })=>{
5
7
  const { searchParams } = req;
6
8
  const depth = searchParams.get('depth');
9
+ const id = sanitizeCollectionID({
10
+ id: incomingID,
11
+ collectionSlug: collection.config.slug,
12
+ payload: req.payload
13
+ });
7
14
  const result = await findByIDOperation({
8
15
  id,
9
16
  collection,
@@ -12,6 +19,10 @@ export const findByID = async ({ id, collection, req })=>{
12
19
  req
13
20
  });
14
21
  return Response.json(result, {
22
+ headers: headersWithCors({
23
+ headers: new Headers(),
24
+ req
25
+ }),
15
26
  status: httpStatus.OK
16
27
  });
17
28
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/routes/rest/collections/findByID.ts"],"sourcesContent":["import httpStatus from 'http-status'\nimport { findByIDOperation } from 'payload/operations'\nimport { isNumber } from 'payload/utilities'\n\nimport type { CollectionRouteHandlerWithID } from '../types.js'\n\nexport const findByID: CollectionRouteHandlerWithID = async ({ id, collection, req }) => {\n const { searchParams } = req\n const depth = searchParams.get('depth')\n\n const result = await findByIDOperation({\n id,\n collection,\n depth: isNumber(depth) ? Number(depth) : undefined,\n draft: searchParams.get('draft') === 'true',\n req,\n })\n\n return Response.json(result, {\n status: httpStatus.OK,\n })\n}\n"],"names":["httpStatus","findByIDOperation","isNumber","findByID","id","collection","req","searchParams","depth","get","result","Number","undefined","draft","Response","json","status","OK"],"rangeMappings":";;;;;;;;;;;;;;;;","mappings":"AAAA,OAAOA,gBAAgB,cAAa;AACpC,SAASC,iBAAiB,QAAQ,qBAAoB;AACtD,SAASC,QAAQ,QAAQ,oBAAmB;AAI5C,OAAO,MAAMC,WAAyC,OAAO,EAAEC,EAAE,EAAEC,UAAU,EAAEC,GAAG,EAAE;IAClF,MAAM,EAAEC,YAAY,EAAE,GAAGD;IACzB,MAAME,QAAQD,aAAaE,GAAG,CAAC;IAE/B,MAAMC,SAAS,MAAMT,kBAAkB;QACrCG;QACAC;QACAG,OAAON,SAASM,SAASG,OAAOH,SAASI;QACzCC,OAAON,aAAaE,GAAG,CAAC,aAAa;QACrCH;IACF;IAEA,OAAOQ,SAASC,IAAI,CAACL,QAAQ;QAC3BM,QAAQhB,WAAWiB,EAAE;IACvB;AACF,EAAC"}
1
+ {"version":3,"sources":["../../../../src/routes/rest/collections/findByID.ts"],"sourcesContent":["import httpStatus from 'http-status'\nimport { findByIDOperation } from 'payload/operations'\nimport { isNumber } from 'payload/utilities'\n\nimport type { CollectionRouteHandlerWithID } from '../types.js'\n\nimport { headersWithCors } from '../../../utilities/headersWithCors.js'\nimport { sanitizeCollectionID } from '../utilities/sanitizeCollectionID.js'\n\nexport const findByID: CollectionRouteHandlerWithID = async ({\n id: incomingID,\n collection,\n req,\n}) => {\n const { searchParams } = req\n const depth = searchParams.get('depth')\n\n const id = sanitizeCollectionID({\n id: incomingID,\n collectionSlug: collection.config.slug,\n payload: req.payload,\n })\n\n const result = await findByIDOperation({\n id,\n collection,\n depth: isNumber(depth) ? Number(depth) : undefined,\n draft: searchParams.get('draft') === 'true',\n req,\n })\n\n return Response.json(result, {\n headers: headersWithCors({\n headers: new Headers(),\n req,\n }),\n status: httpStatus.OK,\n })\n}\n"],"names":["httpStatus","findByIDOperation","isNumber","headersWithCors","sanitizeCollectionID","findByID","id","incomingID","collection","req","searchParams","depth","get","collectionSlug","config","slug","payload","result","Number","undefined","draft","Response","json","headers","Headers","status","OK"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,OAAOA,gBAAgB,cAAa;AACpC,SAASC,iBAAiB,QAAQ,qBAAoB;AACtD,SAASC,QAAQ,QAAQ,oBAAmB;AAI5C,SAASC,eAAe,QAAQ,wCAAuC;AACvE,SAASC,oBAAoB,QAAQ,uCAAsC;AAE3E,OAAO,MAAMC,WAAyC,OAAO,EAC3DC,IAAIC,UAAU,EACdC,UAAU,EACVC,GAAG,EACJ;IACC,MAAM,EAAEC,YAAY,EAAE,GAAGD;IACzB,MAAME,QAAQD,aAAaE,GAAG,CAAC;IAE/B,MAAMN,KAAKF,qBAAqB;QAC9BE,IAAIC;QACJM,gBAAgBL,WAAWM,MAAM,CAACC,IAAI;QACtCC,SAASP,IAAIO,OAAO;IACtB;IAEA,MAAMC,SAAS,MAAMhB,kBAAkB;QACrCK;QACAE;QACAG,OAAOT,SAASS,SAASO,OAAOP,SAASQ;QACzCC,OAAOV,aAAaE,GAAG,CAAC,aAAa;QACrCH;IACF;IAEA,OAAOY,SAASC,IAAI,CAACL,QAAQ;QAC3BM,SAASpB,gBAAgB;YACvBoB,SAAS,IAAIC;YACbf;QACF;QACAgB,QAAQzB,WAAW0B,EAAE;IACvB;AACF,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"findVersionByID.d.ts","sourceRoot":"","sources":["../../../../src/routes/rest/collections/findVersionByID.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,aAAa,CAAA;AAE/D,eAAO,MAAM,eAAe,EAAE,4BAc7B,CAAA"}
1
+ {"version":3,"file":"findVersionByID.d.ts","sourceRoot":"","sources":["../../../../src/routes/rest/collections/findVersionByID.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,aAAa,CAAA;AAK/D,eAAO,MAAM,eAAe,EAAE,4BA4B7B,CAAA"}
@@ -1,9 +1,16 @@
1
1
  import httpStatus from 'http-status';
2
2
  import { findVersionByIDOperation } from 'payload/operations';
3
3
  import { isNumber } from 'payload/utilities';
4
- export const findVersionByID = async ({ id, collection, req })=>{
4
+ import { headersWithCors } from '../../../utilities/headersWithCors.js';
5
+ import { sanitizeCollectionID } from '../utilities/sanitizeCollectionID.js';
6
+ export const findVersionByID = async ({ id: incomingID, collection, req })=>{
5
7
  const { searchParams } = req;
6
8
  const depth = searchParams.get('depth');
9
+ const id = sanitizeCollectionID({
10
+ id: incomingID,
11
+ collectionSlug: collection.config.slug,
12
+ payload: req.payload
13
+ });
7
14
  const result = await findVersionByIDOperation({
8
15
  id,
9
16
  collection,
@@ -11,6 +18,10 @@ export const findVersionByID = async ({ id, collection, req })=>{
11
18
  req
12
19
  });
13
20
  return Response.json(result, {
21
+ headers: headersWithCors({
22
+ headers: new Headers(),
23
+ req
24
+ }),
14
25
  status: httpStatus.OK
15
26
  });
16
27
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/routes/rest/collections/findVersionByID.ts"],"sourcesContent":["import httpStatus from 'http-status'\nimport { findVersionByIDOperation } from 'payload/operations'\nimport { isNumber } from 'payload/utilities'\n\nimport type { CollectionRouteHandlerWithID } from '../types.js'\n\nexport const findVersionByID: CollectionRouteHandlerWithID = async ({ id, collection, req }) => {\n const { searchParams } = req\n const depth = searchParams.get('depth')\n\n const result = await findVersionByIDOperation({\n id,\n collection,\n depth: isNumber(depth) ? Number(depth) : undefined,\n req,\n })\n\n return Response.json(result, {\n status: httpStatus.OK,\n })\n}\n"],"names":["httpStatus","findVersionByIDOperation","isNumber","findVersionByID","id","collection","req","searchParams","depth","get","result","Number","undefined","Response","json","status","OK"],"rangeMappings":";;;;;;;;;;;;;;;","mappings":"AAAA,OAAOA,gBAAgB,cAAa;AACpC,SAASC,wBAAwB,QAAQ,qBAAoB;AAC7D,SAASC,QAAQ,QAAQ,oBAAmB;AAI5C,OAAO,MAAMC,kBAAgD,OAAO,EAAEC,EAAE,EAAEC,UAAU,EAAEC,GAAG,EAAE;IACzF,MAAM,EAAEC,YAAY,EAAE,GAAGD;IACzB,MAAME,QAAQD,aAAaE,GAAG,CAAC;IAE/B,MAAMC,SAAS,MAAMT,yBAAyB;QAC5CG;QACAC;QACAG,OAAON,SAASM,SAASG,OAAOH,SAASI;QACzCN;IACF;IAEA,OAAOO,SAASC,IAAI,CAACJ,QAAQ;QAC3BK,QAAQf,WAAWgB,EAAE;IACvB;AACF,EAAC"}
1
+ {"version":3,"sources":["../../../../src/routes/rest/collections/findVersionByID.ts"],"sourcesContent":["import httpStatus from 'http-status'\nimport { findVersionByIDOperation } from 'payload/operations'\nimport { isNumber } from 'payload/utilities'\n\nimport type { CollectionRouteHandlerWithID } from '../types.js'\n\nimport { headersWithCors } from '../../../utilities/headersWithCors.js'\nimport { sanitizeCollectionID } from '../utilities/sanitizeCollectionID.js'\n\nexport const findVersionByID: CollectionRouteHandlerWithID = async ({\n id: incomingID,\n collection,\n req,\n}) => {\n const { searchParams } = req\n const depth = searchParams.get('depth')\n\n const id = sanitizeCollectionID({\n id: incomingID,\n collectionSlug: collection.config.slug,\n payload: req.payload,\n })\n\n const result = await findVersionByIDOperation({\n id,\n collection,\n depth: isNumber(depth) ? Number(depth) : undefined,\n req,\n })\n\n return Response.json(result, {\n headers: headersWithCors({\n headers: new Headers(),\n req,\n }),\n status: httpStatus.OK,\n })\n}\n"],"names":["httpStatus","findVersionByIDOperation","isNumber","headersWithCors","sanitizeCollectionID","findVersionByID","id","incomingID","collection","req","searchParams","depth","get","collectionSlug","config","slug","payload","result","Number","undefined","Response","json","headers","Headers","status","OK"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,OAAOA,gBAAgB,cAAa;AACpC,SAASC,wBAAwB,QAAQ,qBAAoB;AAC7D,SAASC,QAAQ,QAAQ,oBAAmB;AAI5C,SAASC,eAAe,QAAQ,wCAAuC;AACvE,SAASC,oBAAoB,QAAQ,uCAAsC;AAE3E,OAAO,MAAMC,kBAAgD,OAAO,EAClEC,IAAIC,UAAU,EACdC,UAAU,EACVC,GAAG,EACJ;IACC,MAAM,EAAEC,YAAY,EAAE,GAAGD;IACzB,MAAME,QAAQD,aAAaE,GAAG,CAAC;IAE/B,MAAMN,KAAKF,qBAAqB;QAC9BE,IAAIC;QACJM,gBAAgBL,WAAWM,MAAM,CAACC,IAAI;QACtCC,SAASP,IAAIO,OAAO;IACtB;IAEA,MAAMC,SAAS,MAAMhB,yBAAyB;QAC5CK;QACAE;QACAG,OAAOT,SAASS,SAASO,OAAOP,SAASQ;QACzCV;IACF;IAEA,OAAOW,SAASC,IAAI,CAACJ,QAAQ;QAC3BK,SAASnB,gBAAgB;YACvBmB,SAAS,IAAIC;YACbd;QACF;QACAe,QAAQxB,WAAWyB,EAAE;IACvB;AACF,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"findVersions.d.ts","sourceRoot":"","sources":["../../../../src/routes/rest/collections/findVersions.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAEzD,eAAO,MAAM,YAAY,EAAE,sBAsB1B,CAAA"}
1
+ {"version":3,"file":"findVersions.d.ts","sourceRoot":"","sources":["../../../../src/routes/rest/collections/findVersions.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAIzD,eAAO,MAAM,YAAY,EAAE,sBA0B1B,CAAA"}