@payloadcms/next 3.0.0-beta.124 → 3.0.0-beta.126

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 (82) hide show
  1. package/dist/cjs/withPayload.cjs +12 -1
  2. package/dist/cjs/withPayload.cjs.map +1 -1
  3. package/dist/exports/routes.d.ts +1 -1
  4. package/dist/exports/routes.d.ts.map +1 -1
  5. package/dist/exports/routes.js +1 -1
  6. package/dist/exports/routes.js.map +1 -1
  7. package/dist/routes/rest/collections/create.d.ts.map +1 -1
  8. package/dist/routes/rest/collections/create.js +2 -0
  9. package/dist/routes/rest/collections/create.js.map +1 -1
  10. package/dist/routes/rest/collections/delete.d.ts.map +1 -1
  11. package/dist/routes/rest/collections/delete.js +3 -0
  12. package/dist/routes/rest/collections/delete.js.map +1 -1
  13. package/dist/routes/rest/collections/deleteByID.d.ts.map +1 -1
  14. package/dist/routes/rest/collections/deleteByID.js +2 -0
  15. package/dist/routes/rest/collections/deleteByID.js.map +1 -1
  16. package/dist/routes/rest/collections/duplicate.d.ts.map +1 -1
  17. package/dist/routes/rest/collections/duplicate.js +2 -0
  18. package/dist/routes/rest/collections/duplicate.js.map +1 -1
  19. package/dist/routes/rest/collections/find.d.ts.map +1 -1
  20. package/dist/routes/rest/collections/find.js +3 -0
  21. package/dist/routes/rest/collections/find.js.map +1 -1
  22. package/dist/routes/rest/collections/findByID.d.ts.map +1 -1
  23. package/dist/routes/rest/collections/findByID.js +2 -0
  24. package/dist/routes/rest/collections/findByID.js.map +1 -1
  25. package/dist/routes/rest/collections/findVersionByID.d.ts.map +1 -1
  26. package/dist/routes/rest/collections/findVersionByID.js +2 -0
  27. package/dist/routes/rest/collections/findVersionByID.js.map +1 -1
  28. package/dist/routes/rest/collections/findVersions.d.ts.map +1 -1
  29. package/dist/routes/rest/collections/findVersions.js +3 -0
  30. package/dist/routes/rest/collections/findVersions.js.map +1 -1
  31. package/dist/routes/rest/collections/restoreVersion.d.ts.map +1 -1
  32. package/dist/routes/rest/collections/restoreVersion.js +2 -0
  33. package/dist/routes/rest/collections/restoreVersion.js.map +1 -1
  34. package/dist/routes/rest/collections/update.d.ts.map +1 -1
  35. package/dist/routes/rest/collections/update.js +3 -0
  36. package/dist/routes/rest/collections/update.js.map +1 -1
  37. package/dist/routes/rest/collections/updateByID.d.ts.map +1 -1
  38. package/dist/routes/rest/collections/updateByID.js +2 -0
  39. package/dist/routes/rest/collections/updateByID.js.map +1 -1
  40. package/dist/routes/rest/globals/findOne.d.ts.map +1 -1
  41. package/dist/routes/rest/globals/findOne.js +2 -0
  42. package/dist/routes/rest/globals/findOne.js.map +1 -1
  43. package/dist/routes/rest/globals/findVersionByID.d.ts.map +1 -1
  44. package/dist/routes/rest/globals/findVersionByID.js +2 -0
  45. package/dist/routes/rest/globals/findVersionByID.js.map +1 -1
  46. package/dist/routes/rest/globals/findVersions.d.ts.map +1 -1
  47. package/dist/routes/rest/globals/findVersions.js +3 -0
  48. package/dist/routes/rest/globals/findVersions.js.map +1 -1
  49. package/dist/routes/rest/globals/restoreVersion.d.ts.map +1 -1
  50. package/dist/routes/rest/globals/restoreVersion.js +2 -0
  51. package/dist/routes/rest/globals/restoreVersion.js.map +1 -1
  52. package/dist/routes/rest/globals/update.d.ts.map +1 -1
  53. package/dist/routes/rest/globals/update.js +2 -0
  54. package/dist/routes/rest/globals/update.js.map +1 -1
  55. package/dist/routes/rest/index.d.ts +5 -0
  56. package/dist/routes/rest/index.d.ts.map +1 -1
  57. package/dist/routes/rest/index.js +73 -0
  58. package/dist/routes/rest/index.js.map +1 -1
  59. package/dist/routes/rest/og/index.js +2 -4
  60. package/dist/routes/rest/og/index.js.map +1 -1
  61. package/dist/routes/rest/utilities/sanitizeJoinParams.d.ts +1 -1
  62. package/dist/routes/rest/utilities/sanitizeJoinParams.d.ts.map +1 -1
  63. package/dist/routes/rest/utilities/sanitizeJoinParams.js +9 -5
  64. package/dist/routes/rest/utilities/sanitizeJoinParams.js.map +1 -1
  65. package/dist/routes/rest/utilities/sanitizePopulate.d.ts +3 -0
  66. package/dist/routes/rest/utilities/sanitizePopulate.d.ts.map +1 -0
  67. package/dist/routes/rest/utilities/sanitizePopulate.js +11 -0
  68. package/dist/routes/rest/utilities/sanitizePopulate.js.map +1 -0
  69. package/dist/views/Document/getDocumentData.js +4 -2
  70. package/dist/views/Document/getDocumentData.js.map +1 -1
  71. package/dist/views/Document/getDocumentPermissions.js +2 -4
  72. package/dist/views/Document/getDocumentPermissions.js.map +1 -1
  73. package/dist/views/Version/Restore/index.js +1 -1
  74. package/dist/views/Version/Restore/index.js.map +1 -1
  75. package/dist/views/Versions/getLatestVersion.js +1 -1
  76. package/dist/views/Versions/getLatestVersion.js.map +1 -1
  77. package/dist/views/Versions/index.js +2 -4
  78. package/dist/views/Versions/index.js.map +1 -1
  79. package/dist/withPayload.d.ts.map +1 -1
  80. package/dist/withPayload.js +9 -1
  81. package/dist/withPayload.js.map +1 -1
  82. package/package.json +6 -6
@@ -1 +1 @@
1
- {"version":3,"file":"updateByID.js","names":["httpStatus","updateByIDOperation","isNumber","headersWithCors","sanitizeCollectionID","sanitizeSelect","updateByID","id","incomingID","collection","req","searchParams","depth","get","autosave","draft","overrideLock","publishSpecificLocale","query","collectionSlug","config","slug","payload","doc","data","Number","undefined","Boolean","select","message","t","Response","json","headers","Headers","status","OK"],"sources":["../../../../src/routes/rest/collections/updateByID.ts"],"sourcesContent":["import httpStatus from 'http-status'\nimport { updateByIDOperation } from 'payload'\nimport { isNumber } from 'payload/shared'\n\nimport type { CollectionRouteHandlerWithID } from '../types.js'\n\nimport { headersWithCors } from '../../../utilities/headersWithCors.js'\nimport { sanitizeCollectionID } from '../utilities/sanitizeCollectionID.js'\nimport { sanitizeSelect } from '../utilities/sanitizeSelect.js'\n\nexport const updateByID: CollectionRouteHandlerWithID = async ({\n id: incomingID,\n collection,\n req,\n}) => {\n const { searchParams } = req\n const depth = searchParams.get('depth')\n const autosave = searchParams.get('autosave') === 'true'\n const draft = searchParams.get('draft') === 'true'\n const overrideLock = searchParams.get('overrideLock')\n const publishSpecificLocale = req.query.publishSpecificLocale as string | undefined\n\n const id = sanitizeCollectionID({\n id: incomingID,\n collectionSlug: collection.config.slug,\n payload: req.payload,\n })\n\n const doc = await updateByIDOperation({\n id,\n autosave,\n collection,\n data: req.data,\n depth: isNumber(depth) ? Number(depth) : undefined,\n draft,\n overrideLock: Boolean(overrideLock === 'true'),\n publishSpecificLocale,\n req,\n select: sanitizeSelect(req.query.select),\n })\n\n let message = req.t('general:updatedSuccessfully')\n\n if (draft) {\n message = req.t('version:draftSavedSuccessfully')\n }\n if (autosave) {\n message = req.t('version:autosavedSuccessfully')\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"],"mappings":"AAAA,OAAOA,UAAA,MAAgB;AACvB,SAASC,mBAAmB,QAAQ;AACpC,SAASC,QAAQ,QAAQ;AAIzB,SAASC,eAAe,QAAQ;AAChC,SAASC,oBAAoB,QAAQ;AACrC,SAASC,cAAc,QAAQ;AAE/B,OAAO,MAAMC,UAAA,GAA2C,MAAAA,CAAO;EAC7DC,EAAA,EAAIC,UAAU;EACdC,UAAU;EACVC;AAAG,CACJ;EACC,MAAM;IAAEC;EAAY,CAAE,GAAGD,GAAA;EACzB,MAAME,KAAA,GAAQD,YAAA,CAAaE,GAAG,CAAC;EAC/B,MAAMC,QAAA,GAAWH,YAAA,CAAaE,GAAG,CAAC,gBAAgB;EAClD,MAAME,KAAA,GAAQJ,YAAA,CAAaE,GAAG,CAAC,aAAa;EAC5C,MAAMG,YAAA,GAAeL,YAAA,CAAaE,GAAG,CAAC;EACtC,MAAMI,qBAAA,GAAwBP,GAAA,CAAIQ,KAAK,CAACD,qBAAqB;EAE7D,MAAMV,EAAA,GAAKH,oBAAA,CAAqB;IAC9BG,EAAA,EAAIC,UAAA;IACJW,cAAA,EAAgBV,UAAA,CAAWW,MAAM,CAACC,IAAI;IACtCC,OAAA,EAASZ,GAAA,CAAIY;EACf;EAEA,MAAMC,GAAA,GAAM,MAAMtB,mBAAA,CAAoB;IACpCM,EAAA;IACAO,QAAA;IACAL,UAAA;IACAe,IAAA,EAAMd,GAAA,CAAIc,IAAI;IACdZ,KAAA,EAAOV,QAAA,CAASU,KAAA,IAASa,MAAA,CAAOb,KAAA,IAASc,SAAA;IACzCX,KAAA;IACAC,YAAA,EAAcW,OAAA,CAAQX,YAAA,KAAiB;IACvCC,qBAAA;IACAP,GAAA;IACAkB,MAAA,EAAQvB,cAAA,CAAeK,GAAA,CAAIQ,KAAK,CAACU,MAAM;EACzC;EAEA,IAAIC,OAAA,GAAUnB,GAAA,CAAIoB,CAAC,CAAC;EAEpB,IAAIf,KAAA,EAAO;IACTc,OAAA,GAAUnB,GAAA,CAAIoB,CAAC,CAAC;EAClB;EACA,IAAIhB,QAAA,EAAU;IACZe,OAAA,GAAUnB,GAAA,CAAIoB,CAAC,CAAC;EAClB;EAEA,OAAOC,QAAA,CAASC,IAAI,CAClB;IACET,GAAA;IACAM;EACF,GACA;IACEI,OAAA,EAAS9B,eAAA,CAAgB;MACvB8B,OAAA,EAAS,IAAIC,OAAA;MACbxB;IACF;IACAyB,MAAA,EAAQnC,UAAA,CAAWoC;EACrB;AAEJ","ignoreList":[]}
1
+ {"version":3,"file":"updateByID.js","names":["httpStatus","updateByIDOperation","isNumber","headersWithCors","sanitizeCollectionID","sanitizePopulate","sanitizeSelect","updateByID","id","incomingID","collection","req","searchParams","depth","get","autosave","draft","overrideLock","publishSpecificLocale","query","collectionSlug","config","slug","payload","doc","data","Number","undefined","Boolean","populate","select","message","t","Response","json","headers","Headers","status","OK"],"sources":["../../../../src/routes/rest/collections/updateByID.ts"],"sourcesContent":["import httpStatus from 'http-status'\nimport { updateByIDOperation } from 'payload'\nimport { isNumber } from 'payload/shared'\n\nimport type { CollectionRouteHandlerWithID } from '../types.js'\n\nimport { headersWithCors } from '../../../utilities/headersWithCors.js'\nimport { sanitizeCollectionID } from '../utilities/sanitizeCollectionID.js'\nimport { sanitizePopulate } from '../utilities/sanitizePopulate.js'\nimport { sanitizeSelect } from '../utilities/sanitizeSelect.js'\n\nexport const updateByID: CollectionRouteHandlerWithID = async ({\n id: incomingID,\n collection,\n req,\n}) => {\n const { searchParams } = req\n const depth = searchParams.get('depth')\n const autosave = searchParams.get('autosave') === 'true'\n const draft = searchParams.get('draft') === 'true'\n const overrideLock = searchParams.get('overrideLock')\n const publishSpecificLocale = req.query.publishSpecificLocale as string | undefined\n\n const id = sanitizeCollectionID({\n id: incomingID,\n collectionSlug: collection.config.slug,\n payload: req.payload,\n })\n\n const doc = await updateByIDOperation({\n id,\n autosave,\n collection,\n data: req.data,\n depth: isNumber(depth) ? Number(depth) : undefined,\n draft,\n overrideLock: Boolean(overrideLock === 'true'),\n populate: sanitizePopulate(req.query.populate),\n publishSpecificLocale,\n req,\n select: sanitizeSelect(req.query.select),\n })\n\n let message = req.t('general:updatedSuccessfully')\n\n if (draft) {\n message = req.t('version:draftSavedSuccessfully')\n }\n if (autosave) {\n message = req.t('version:autosavedSuccessfully')\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"],"mappings":"AAAA,OAAOA,UAAA,MAAgB;AACvB,SAASC,mBAAmB,QAAQ;AACpC,SAASC,QAAQ,QAAQ;AAIzB,SAASC,eAAe,QAAQ;AAChC,SAASC,oBAAoB,QAAQ;AACrC,SAASC,gBAAgB,QAAQ;AACjC,SAASC,cAAc,QAAQ;AAE/B,OAAO,MAAMC,UAAA,GAA2C,MAAAA,CAAO;EAC7DC,EAAA,EAAIC,UAAU;EACdC,UAAU;EACVC;AAAG,CACJ;EACC,MAAM;IAAEC;EAAY,CAAE,GAAGD,GAAA;EACzB,MAAME,KAAA,GAAQD,YAAA,CAAaE,GAAG,CAAC;EAC/B,MAAMC,QAAA,GAAWH,YAAA,CAAaE,GAAG,CAAC,gBAAgB;EAClD,MAAME,KAAA,GAAQJ,YAAA,CAAaE,GAAG,CAAC,aAAa;EAC5C,MAAMG,YAAA,GAAeL,YAAA,CAAaE,GAAG,CAAC;EACtC,MAAMI,qBAAA,GAAwBP,GAAA,CAAIQ,KAAK,CAACD,qBAAqB;EAE7D,MAAMV,EAAA,GAAKJ,oBAAA,CAAqB;IAC9BI,EAAA,EAAIC,UAAA;IACJW,cAAA,EAAgBV,UAAA,CAAWW,MAAM,CAACC,IAAI;IACtCC,OAAA,EAASZ,GAAA,CAAIY;EACf;EAEA,MAAMC,GAAA,GAAM,MAAMvB,mBAAA,CAAoB;IACpCO,EAAA;IACAO,QAAA;IACAL,UAAA;IACAe,IAAA,EAAMd,GAAA,CAAIc,IAAI;IACdZ,KAAA,EAAOX,QAAA,CAASW,KAAA,IAASa,MAAA,CAAOb,KAAA,IAASc,SAAA;IACzCX,KAAA;IACAC,YAAA,EAAcW,OAAA,CAAQX,YAAA,KAAiB;IACvCY,QAAA,EAAUxB,gBAAA,CAAiBM,GAAA,CAAIQ,KAAK,CAACU,QAAQ;IAC7CX,qBAAA;IACAP,GAAA;IACAmB,MAAA,EAAQxB,cAAA,CAAeK,GAAA,CAAIQ,KAAK,CAACW,MAAM;EACzC;EAEA,IAAIC,OAAA,GAAUpB,GAAA,CAAIqB,CAAC,CAAC;EAEpB,IAAIhB,KAAA,EAAO;IACTe,OAAA,GAAUpB,GAAA,CAAIqB,CAAC,CAAC;EAClB;EACA,IAAIjB,QAAA,EAAU;IACZgB,OAAA,GAAUpB,GAAA,CAAIqB,CAAC,CAAC;EAClB;EAEA,OAAOC,QAAA,CAASC,IAAI,CAClB;IACEV,GAAA;IACAO;EACF,GACA;IACEI,OAAA,EAAShC,eAAA,CAAgB;MACvBgC,OAAA,EAAS,IAAIC,OAAA;MACbzB;IACF;IACA0B,MAAA,EAAQrC,UAAA,CAAWsC;EACrB;AAEJ","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"findOne.d.ts","sourceRoot":"","sources":["../../../../src/routes/rest/globals/findOne.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAKrD,eAAO,MAAM,OAAO,EAAE,kBAoBrB,CAAA"}
1
+ {"version":3,"file":"findOne.d.ts","sourceRoot":"","sources":["../../../../src/routes/rest/globals/findOne.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAMrD,eAAO,MAAM,OAAO,EAAE,kBAqBrB,CAAA"}
@@ -2,6 +2,7 @@ import httpStatus from 'http-status';
2
2
  import { findOneOperation } from 'payload';
3
3
  import { isNumber } from 'payload/shared';
4
4
  import { headersWithCors } from '../../../utilities/headersWithCors.js';
5
+ import { sanitizePopulate } from '../utilities/sanitizePopulate.js';
5
6
  import { sanitizeSelect } from '../utilities/sanitizeSelect.js';
6
7
  export const findOne = async ({
7
8
  globalConfig,
@@ -16,6 +17,7 @@ export const findOne = async ({
16
17
  depth: isNumber(depth) ? Number(depth) : undefined,
17
18
  draft: searchParams.get('draft') === 'true',
18
19
  globalConfig,
20
+ populate: sanitizePopulate(req.query.populate),
19
21
  req,
20
22
  select: sanitizeSelect(req.query.select)
21
23
  });
@@ -1 +1 @@
1
- {"version":3,"file":"findOne.js","names":["httpStatus","findOneOperation","isNumber","headersWithCors","sanitizeSelect","findOne","globalConfig","req","searchParams","depth","get","result","slug","Number","undefined","draft","select","query","Response","json","headers","Headers","status","OK"],"sources":["../../../../src/routes/rest/globals/findOne.ts"],"sourcesContent":["import httpStatus from 'http-status'\nimport { findOneOperation } from 'payload'\nimport { isNumber } from 'payload/shared'\n\nimport type { GlobalRouteHandler } from '../types.js'\n\nimport { headersWithCors } from '../../../utilities/headersWithCors.js'\nimport { sanitizeSelect } from '../utilities/sanitizeSelect.js'\n\nexport const findOne: GlobalRouteHandler = async ({ globalConfig, req }) => {\n const { searchParams } = req\n const depth = searchParams.get('depth')\n\n const result = await findOneOperation({\n slug: globalConfig.slug,\n depth: isNumber(depth) ? Number(depth) : undefined,\n draft: searchParams.get('draft') === 'true',\n globalConfig,\n req,\n select: sanitizeSelect(req.query.select),\n })\n\n return Response.json(result, {\n headers: headersWithCors({\n headers: new Headers(),\n req,\n }),\n status: httpStatus.OK,\n })\n}\n"],"mappings":"AAAA,OAAOA,UAAA,MAAgB;AACvB,SAASC,gBAAgB,QAAQ;AACjC,SAASC,QAAQ,QAAQ;AAIzB,SAASC,eAAe,QAAQ;AAChC,SAASC,cAAc,QAAQ;AAE/B,OAAO,MAAMC,OAAA,GAA8B,MAAAA,CAAO;EAAEC,YAAY;EAAEC;AAAG,CAAE;EACrE,MAAM;IAAEC;EAAY,CAAE,GAAGD,GAAA;EACzB,MAAME,KAAA,GAAQD,YAAA,CAAaE,GAAG,CAAC;EAE/B,MAAMC,MAAA,GAAS,MAAMV,gBAAA,CAAiB;IACpCW,IAAA,EAAMN,YAAA,CAAaM,IAAI;IACvBH,KAAA,EAAOP,QAAA,CAASO,KAAA,IAASI,MAAA,CAAOJ,KAAA,IAASK,SAAA;IACzCC,KAAA,EAAOP,YAAA,CAAaE,GAAG,CAAC,aAAa;IACrCJ,YAAA;IACAC,GAAA;IACAS,MAAA,EAAQZ,cAAA,CAAeG,GAAA,CAAIU,KAAK,CAACD,MAAM;EACzC;EAEA,OAAOE,QAAA,CAASC,IAAI,CAACR,MAAA,EAAQ;IAC3BS,OAAA,EAASjB,eAAA,CAAgB;MACvBiB,OAAA,EAAS,IAAIC,OAAA;MACbd;IACF;IACAe,MAAA,EAAQtB,UAAA,CAAWuB;EACrB;AACF","ignoreList":[]}
1
+ {"version":3,"file":"findOne.js","names":["httpStatus","findOneOperation","isNumber","headersWithCors","sanitizePopulate","sanitizeSelect","findOne","globalConfig","req","searchParams","depth","get","result","slug","Number","undefined","draft","populate","query","select","Response","json","headers","Headers","status","OK"],"sources":["../../../../src/routes/rest/globals/findOne.ts"],"sourcesContent":["import httpStatus from 'http-status'\nimport { findOneOperation } from 'payload'\nimport { isNumber } from 'payload/shared'\n\nimport type { GlobalRouteHandler } from '../types.js'\n\nimport { headersWithCors } from '../../../utilities/headersWithCors.js'\nimport { sanitizePopulate } from '../utilities/sanitizePopulate.js'\nimport { sanitizeSelect } from '../utilities/sanitizeSelect.js'\n\nexport const findOne: GlobalRouteHandler = async ({ globalConfig, req }) => {\n const { searchParams } = req\n const depth = searchParams.get('depth')\n\n const result = await findOneOperation({\n slug: globalConfig.slug,\n depth: isNumber(depth) ? Number(depth) : undefined,\n draft: searchParams.get('draft') === 'true',\n globalConfig,\n populate: sanitizePopulate(req.query.populate),\n req,\n select: sanitizeSelect(req.query.select),\n })\n\n return Response.json(result, {\n headers: headersWithCors({\n headers: new Headers(),\n req,\n }),\n status: httpStatus.OK,\n })\n}\n"],"mappings":"AAAA,OAAOA,UAAA,MAAgB;AACvB,SAASC,gBAAgB,QAAQ;AACjC,SAASC,QAAQ,QAAQ;AAIzB,SAASC,eAAe,QAAQ;AAChC,SAASC,gBAAgB,QAAQ;AACjC,SAASC,cAAc,QAAQ;AAE/B,OAAO,MAAMC,OAAA,GAA8B,MAAAA,CAAO;EAAEC,YAAY;EAAEC;AAAG,CAAE;EACrE,MAAM;IAAEC;EAAY,CAAE,GAAGD,GAAA;EACzB,MAAME,KAAA,GAAQD,YAAA,CAAaE,GAAG,CAAC;EAE/B,MAAMC,MAAA,GAAS,MAAMX,gBAAA,CAAiB;IACpCY,IAAA,EAAMN,YAAA,CAAaM,IAAI;IACvBH,KAAA,EAAOR,QAAA,CAASQ,KAAA,IAASI,MAAA,CAAOJ,KAAA,IAASK,SAAA;IACzCC,KAAA,EAAOP,YAAA,CAAaE,GAAG,CAAC,aAAa;IACrCJ,YAAA;IACAU,QAAA,EAAUb,gBAAA,CAAiBI,GAAA,CAAIU,KAAK,CAACD,QAAQ;IAC7CT,GAAA;IACAW,MAAA,EAAQd,cAAA,CAAeG,GAAA,CAAIU,KAAK,CAACC,MAAM;EACzC;EAEA,OAAOC,QAAA,CAASC,IAAI,CAACT,MAAA,EAAQ;IAC3BU,OAAA,EAASnB,eAAA,CAAgB;MACvBmB,OAAA,EAAS,IAAIC,OAAA;MACbf;IACF;IACAgB,MAAA,EAAQxB,UAAA,CAAWyB;EACrB;AACF","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"findVersionByID.d.ts","sourceRoot":"","sources":["../../../../src/routes/rest/globals/findVersionByID.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAA;AAK3D,eAAO,MAAM,eAAe,EAAE,wBAmB7B,CAAA"}
1
+ {"version":3,"file":"findVersionByID.d.ts","sourceRoot":"","sources":["../../../../src/routes/rest/globals/findVersionByID.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAA;AAM3D,eAAO,MAAM,eAAe,EAAE,wBAoB7B,CAAA"}
@@ -2,6 +2,7 @@ import httpStatus from 'http-status';
2
2
  import { findVersionByIDOperationGlobal } from 'payload';
3
3
  import { isNumber } from 'payload/shared';
4
4
  import { headersWithCors } from '../../../utilities/headersWithCors.js';
5
+ import { sanitizePopulate } from '../utilities/sanitizePopulate.js';
5
6
  import { sanitizeSelect } from '../utilities/sanitizeSelect.js';
6
7
  export const findVersionByID = async ({
7
8
  id,
@@ -16,6 +17,7 @@ export const findVersionByID = async ({
16
17
  id,
17
18
  depth: isNumber(depth) ? Number(depth) : undefined,
18
19
  globalConfig,
20
+ populate: sanitizePopulate(req.query.populate),
19
21
  req,
20
22
  select: sanitizeSelect(req.query.select)
21
23
  });
@@ -1 +1 @@
1
- {"version":3,"file":"findVersionByID.js","names":["httpStatus","findVersionByIDOperationGlobal","isNumber","headersWithCors","sanitizeSelect","findVersionByID","id","globalConfig","req","searchParams","depth","get","result","Number","undefined","select","query","Response","json","headers","Headers","status","OK"],"sources":["../../../../src/routes/rest/globals/findVersionByID.ts"],"sourcesContent":["import httpStatus from 'http-status'\nimport { findVersionByIDOperationGlobal } from 'payload'\nimport { isNumber } from 'payload/shared'\n\nimport type { GlobalRouteHandlerWithID } from '../types.js'\n\nimport { headersWithCors } from '../../../utilities/headersWithCors.js'\nimport { sanitizeSelect } from '../utilities/sanitizeSelect.js'\n\nexport const findVersionByID: GlobalRouteHandlerWithID = async ({ id, globalConfig, req }) => {\n const { searchParams } = req\n const depth = searchParams.get('depth')\n\n const result = await findVersionByIDOperationGlobal({\n id,\n depth: isNumber(depth) ? Number(depth) : undefined,\n globalConfig,\n req,\n select: sanitizeSelect(req.query.select),\n })\n\n return Response.json(result, {\n headers: headersWithCors({\n headers: new Headers(),\n req,\n }),\n status: httpStatus.OK,\n })\n}\n"],"mappings":"AAAA,OAAOA,UAAA,MAAgB;AACvB,SAASC,8BAA8B,QAAQ;AAC/C,SAASC,QAAQ,QAAQ;AAIzB,SAASC,eAAe,QAAQ;AAChC,SAASC,cAAc,QAAQ;AAE/B,OAAO,MAAMC,eAAA,GAA4C,MAAAA,CAAO;EAAEC,EAAE;EAAEC,YAAY;EAAEC;AAAG,CAAE;EACvF,MAAM;IAAEC;EAAY,CAAE,GAAGD,GAAA;EACzB,MAAME,KAAA,GAAQD,YAAA,CAAaE,GAAG,CAAC;EAE/B,MAAMC,MAAA,GAAS,MAAMX,8BAAA,CAA+B;IAClDK,EAAA;IACAI,KAAA,EAAOR,QAAA,CAASQ,KAAA,IAASG,MAAA,CAAOH,KAAA,IAASI,SAAA;IACzCP,YAAA;IACAC,GAAA;IACAO,MAAA,EAAQX,cAAA,CAAeI,GAAA,CAAIQ,KAAK,CAACD,MAAM;EACzC;EAEA,OAAOE,QAAA,CAASC,IAAI,CAACN,MAAA,EAAQ;IAC3BO,OAAA,EAAShB,eAAA,CAAgB;MACvBgB,OAAA,EAAS,IAAIC,OAAA;MACbZ;IACF;IACAa,MAAA,EAAQrB,UAAA,CAAWsB;EACrB;AACF","ignoreList":[]}
1
+ {"version":3,"file":"findVersionByID.js","names":["httpStatus","findVersionByIDOperationGlobal","isNumber","headersWithCors","sanitizePopulate","sanitizeSelect","findVersionByID","id","globalConfig","req","searchParams","depth","get","result","Number","undefined","populate","query","select","Response","json","headers","Headers","status","OK"],"sources":["../../../../src/routes/rest/globals/findVersionByID.ts"],"sourcesContent":["import httpStatus from 'http-status'\nimport { findVersionByIDOperationGlobal } from 'payload'\nimport { isNumber } from 'payload/shared'\n\nimport type { GlobalRouteHandlerWithID } from '../types.js'\n\nimport { headersWithCors } from '../../../utilities/headersWithCors.js'\nimport { sanitizePopulate } from '../utilities/sanitizePopulate.js'\nimport { sanitizeSelect } from '../utilities/sanitizeSelect.js'\n\nexport const findVersionByID: GlobalRouteHandlerWithID = async ({ id, globalConfig, req }) => {\n const { searchParams } = req\n const depth = searchParams.get('depth')\n\n const result = await findVersionByIDOperationGlobal({\n id,\n depth: isNumber(depth) ? Number(depth) : undefined,\n globalConfig,\n populate: sanitizePopulate(req.query.populate),\n req,\n select: sanitizeSelect(req.query.select),\n })\n\n return Response.json(result, {\n headers: headersWithCors({\n headers: new Headers(),\n req,\n }),\n status: httpStatus.OK,\n })\n}\n"],"mappings":"AAAA,OAAOA,UAAA,MAAgB;AACvB,SAASC,8BAA8B,QAAQ;AAC/C,SAASC,QAAQ,QAAQ;AAIzB,SAASC,eAAe,QAAQ;AAChC,SAASC,gBAAgB,QAAQ;AACjC,SAASC,cAAc,QAAQ;AAE/B,OAAO,MAAMC,eAAA,GAA4C,MAAAA,CAAO;EAAEC,EAAE;EAAEC,YAAY;EAAEC;AAAG,CAAE;EACvF,MAAM;IAAEC;EAAY,CAAE,GAAGD,GAAA;EACzB,MAAME,KAAA,GAAQD,YAAA,CAAaE,GAAG,CAAC;EAE/B,MAAMC,MAAA,GAAS,MAAMZ,8BAAA,CAA+B;IAClDM,EAAA;IACAI,KAAA,EAAOT,QAAA,CAASS,KAAA,IAASG,MAAA,CAAOH,KAAA,IAASI,SAAA;IACzCP,YAAA;IACAQ,QAAA,EAAUZ,gBAAA,CAAiBK,GAAA,CAAIQ,KAAK,CAACD,QAAQ;IAC7CP,GAAA;IACAS,MAAA,EAAQb,cAAA,CAAeI,GAAA,CAAIQ,KAAK,CAACC,MAAM;EACzC;EAEA,OAAOC,QAAA,CAASC,IAAI,CAACP,MAAA,EAAQ;IAC3BQ,OAAA,EAASlB,eAAA,CAAgB;MACvBkB,OAAA,EAAS,IAAIC,OAAA;MACbb;IACF;IACAc,MAAA,EAAQvB,UAAA,CAAWwB;EACrB;AACF","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"findVersions.d.ts","sourceRoot":"","sources":["../../../../src/routes/rest/globals/findVersions.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAKrD,eAAO,MAAM,YAAY,EAAE,kBA4B1B,CAAA"}
1
+ {"version":3,"file":"findVersions.d.ts","sourceRoot":"","sources":["../../../../src/routes/rest/globals/findVersions.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAMrD,eAAO,MAAM,YAAY,EAAE,kBA8B1B,CAAA"}
@@ -2,6 +2,7 @@ import httpStatus from 'http-status';
2
2
  import { findVersionsOperationGlobal } from 'payload';
3
3
  import { isNumber } from 'payload/shared';
4
4
  import { headersWithCors } from '../../../utilities/headersWithCors.js';
5
+ import { sanitizePopulate } from '../utilities/sanitizePopulate.js';
5
6
  import { sanitizeSelect } from '../utilities/sanitizeSelect.js';
6
7
  export const findVersions = async ({
7
8
  globalConfig,
@@ -11,6 +12,7 @@ export const findVersions = async ({
11
12
  depth,
12
13
  limit,
13
14
  page,
15
+ populate,
14
16
  select,
15
17
  sort,
16
18
  where
@@ -20,6 +22,7 @@ export const findVersions = async ({
20
22
  globalConfig,
21
23
  limit: isNumber(limit) ? Number(limit) : undefined,
22
24
  page: isNumber(page) ? Number(page) : undefined,
25
+ populate: sanitizePopulate(populate),
23
26
  req,
24
27
  select: sanitizeSelect(select),
25
28
  sort: typeof sort === 'string' ? sort.split(',') : undefined,
@@ -1 +1 @@
1
- {"version":3,"file":"findVersions.js","names":["httpStatus","findVersionsOperationGlobal","isNumber","headersWithCors","sanitizeSelect","findVersions","globalConfig","req","depth","limit","page","select","sort","where","query","result","Number","undefined","split","Response","json","headers","Headers","status","OK"],"sources":["../../../../src/routes/rest/globals/findVersions.ts"],"sourcesContent":["import type { Where } from 'payload'\n\nimport httpStatus from 'http-status'\nimport { findVersionsOperationGlobal } from 'payload'\nimport { isNumber } from 'payload/shared'\n\nimport type { GlobalRouteHandler } from '../types.js'\n\nimport { headersWithCors } from '../../../utilities/headersWithCors.js'\nimport { sanitizeSelect } from '../utilities/sanitizeSelect.js'\n\nexport const findVersions: GlobalRouteHandler = async ({ globalConfig, req }) => {\n const { depth, limit, page, select, sort, where } = req.query as {\n depth?: string\n limit?: string\n page?: string\n select?: Record<string, unknown>\n sort?: string\n where?: Where\n }\n\n const result = await findVersionsOperationGlobal({\n depth: isNumber(depth) ? Number(depth) : undefined,\n globalConfig,\n limit: isNumber(limit) ? Number(limit) : undefined,\n page: isNumber(page) ? Number(page) : undefined,\n req,\n select: sanitizeSelect(select),\n sort: typeof sort === 'string' ? sort.split(',') : undefined,\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"],"mappings":"AAEA,OAAOA,UAAA,MAAgB;AACvB,SAASC,2BAA2B,QAAQ;AAC5C,SAASC,QAAQ,QAAQ;AAIzB,SAASC,eAAe,QAAQ;AAChC,SAASC,cAAc,QAAQ;AAE/B,OAAO,MAAMC,YAAA,GAAmC,MAAAA,CAAO;EAAEC,YAAY;EAAEC;AAAG,CAAE;EAC1E,MAAM;IAAEC,KAAK;IAAEC,KAAK;IAAEC,IAAI;IAAEC,MAAM;IAAEC,IAAI;IAAEC;EAAK,CAAE,GAAGN,GAAA,CAAIO,KAAK;EAS7D,MAAMC,MAAA,GAAS,MAAMd,2BAAA,CAA4B;IAC/CO,KAAA,EAAON,QAAA,CAASM,KAAA,IAASQ,MAAA,CAAOR,KAAA,IAASS,SAAA;IACzCX,YAAA;IACAG,KAAA,EAAOP,QAAA,CAASO,KAAA,IAASO,MAAA,CAAOP,KAAA,IAASQ,SAAA;IACzCP,IAAA,EAAMR,QAAA,CAASQ,IAAA,IAAQM,MAAA,CAAON,IAAA,IAAQO,SAAA;IACtCV,GAAA;IACAI,MAAA,EAAQP,cAAA,CAAeO,MAAA;IACvBC,IAAA,EAAM,OAAOA,IAAA,KAAS,WAAWA,IAAA,CAAKM,KAAK,CAAC,OAAOD,SAAA;IACnDJ;EACF;EAEA,OAAOM,QAAA,CAASC,IAAI,CAACL,MAAA,EAAQ;IAC3BM,OAAA,EAASlB,eAAA,CAAgB;MACvBkB,OAAA,EAAS,IAAIC,OAAA;MACbf;IACF;IACAgB,MAAA,EAAQvB,UAAA,CAAWwB;EACrB;AACF","ignoreList":[]}
1
+ {"version":3,"file":"findVersions.js","names":["httpStatus","findVersionsOperationGlobal","isNumber","headersWithCors","sanitizePopulate","sanitizeSelect","findVersions","globalConfig","req","depth","limit","page","populate","select","sort","where","query","result","Number","undefined","split","Response","json","headers","Headers","status","OK"],"sources":["../../../../src/routes/rest/globals/findVersions.ts"],"sourcesContent":["import type { Where } from 'payload'\n\nimport httpStatus from 'http-status'\nimport { findVersionsOperationGlobal } from 'payload'\nimport { isNumber } from 'payload/shared'\n\nimport type { GlobalRouteHandler } from '../types.js'\n\nimport { headersWithCors } from '../../../utilities/headersWithCors.js'\nimport { sanitizePopulate } from '../utilities/sanitizePopulate.js'\nimport { sanitizeSelect } from '../utilities/sanitizeSelect.js'\n\nexport const findVersions: GlobalRouteHandler = async ({ globalConfig, req }) => {\n const { depth, limit, page, populate, select, sort, where } = req.query as {\n depth?: string\n limit?: string\n page?: string\n populate?: Record<string, unknown>\n select?: Record<string, unknown>\n sort?: string\n where?: Where\n }\n\n const result = await findVersionsOperationGlobal({\n depth: isNumber(depth) ? Number(depth) : undefined,\n globalConfig,\n limit: isNumber(limit) ? Number(limit) : undefined,\n page: isNumber(page) ? Number(page) : undefined,\n populate: sanitizePopulate(populate),\n req,\n select: sanitizeSelect(select),\n sort: typeof sort === 'string' ? sort.split(',') : undefined,\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"],"mappings":"AAEA,OAAOA,UAAA,MAAgB;AACvB,SAASC,2BAA2B,QAAQ;AAC5C,SAASC,QAAQ,QAAQ;AAIzB,SAASC,eAAe,QAAQ;AAChC,SAASC,gBAAgB,QAAQ;AACjC,SAASC,cAAc,QAAQ;AAE/B,OAAO,MAAMC,YAAA,GAAmC,MAAAA,CAAO;EAAEC,YAAY;EAAEC;AAAG,CAAE;EAC1E,MAAM;IAAEC,KAAK;IAAEC,KAAK;IAAEC,IAAI;IAAEC,QAAQ;IAAEC,MAAM;IAAEC,IAAI;IAAEC;EAAK,CAAE,GAAGP,GAAA,CAAIQ,KAAK;EAUvE,MAAMC,MAAA,GAAS,MAAMhB,2BAAA,CAA4B;IAC/CQ,KAAA,EAAOP,QAAA,CAASO,KAAA,IAASS,MAAA,CAAOT,KAAA,IAASU,SAAA;IACzCZ,YAAA;IACAG,KAAA,EAAOR,QAAA,CAASQ,KAAA,IAASQ,MAAA,CAAOR,KAAA,IAASS,SAAA;IACzCR,IAAA,EAAMT,QAAA,CAASS,IAAA,IAAQO,MAAA,CAAOP,IAAA,IAAQQ,SAAA;IACtCP,QAAA,EAAUR,gBAAA,CAAiBQ,QAAA;IAC3BJ,GAAA;IACAK,MAAA,EAAQR,cAAA,CAAeQ,MAAA;IACvBC,IAAA,EAAM,OAAOA,IAAA,KAAS,WAAWA,IAAA,CAAKM,KAAK,CAAC,OAAOD,SAAA;IACnDJ;EACF;EAEA,OAAOM,QAAA,CAASC,IAAI,CAACL,MAAA,EAAQ;IAC3BM,OAAA,EAASpB,eAAA,CAAgB;MACvBoB,OAAA,EAAS,IAAIC,OAAA;MACbhB;IACF;IACAiB,MAAA,EAAQzB,UAAA,CAAW0B;EACrB;AACF","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"restoreVersion.d.ts","sourceRoot":"","sources":["../../../../src/routes/rest/globals/restoreVersion.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAA;AAI3D,eAAO,MAAM,cAAc,EAAE,wBA0B5B,CAAA"}
1
+ {"version":3,"file":"restoreVersion.d.ts","sourceRoot":"","sources":["../../../../src/routes/rest/globals/restoreVersion.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAA;AAK3D,eAAO,MAAM,cAAc,EAAE,wBA2B5B,CAAA"}
@@ -2,6 +2,7 @@ import httpStatus from 'http-status';
2
2
  import { restoreVersionOperationGlobal } from 'payload';
3
3
  import { isNumber } from 'payload/shared';
4
4
  import { headersWithCors } from '../../../utilities/headersWithCors.js';
5
+ import { sanitizePopulate } from '../utilities/sanitizePopulate.js';
5
6
  export const restoreVersion = async ({
6
7
  id,
7
8
  globalConfig,
@@ -17,6 +18,7 @@ export const restoreVersion = async ({
17
18
  depth: isNumber(depth) ? Number(depth) : undefined,
18
19
  draft: draft === 'true' ? true : undefined,
19
20
  globalConfig,
21
+ populate: sanitizePopulate(req.query.populate),
20
22
  req
21
23
  });
22
24
  return Response.json({
@@ -1 +1 @@
1
- {"version":3,"file":"restoreVersion.js","names":["httpStatus","restoreVersionOperationGlobal","isNumber","headersWithCors","restoreVersion","id","globalConfig","req","searchParams","depth","get","draft","doc","Number","undefined","Response","json","message","t","headers","Headers","status","OK"],"sources":["../../../../src/routes/rest/globals/restoreVersion.ts"],"sourcesContent":["import httpStatus from 'http-status'\nimport { restoreVersionOperationGlobal } from 'payload'\nimport { isNumber } from 'payload/shared'\n\nimport type { GlobalRouteHandlerWithID } from '../types.js'\n\nimport { headersWithCors } from '../../../utilities/headersWithCors.js'\n\nexport const restoreVersion: GlobalRouteHandlerWithID = async ({ id, globalConfig, req }) => {\n const { searchParams } = req\n const depth = searchParams.get('depth')\n const draft = searchParams.get('draft')\n\n const doc = await restoreVersionOperationGlobal({\n id,\n depth: isNumber(depth) ? Number(depth) : undefined,\n draft: draft === 'true' ? true : undefined,\n globalConfig,\n req,\n })\n\n return Response.json(\n {\n doc,\n message: req.t('version:restoredSuccessfully'),\n },\n {\n headers: headersWithCors({\n headers: new Headers(),\n req,\n }),\n status: httpStatus.OK,\n },\n )\n}\n"],"mappings":"AAAA,OAAOA,UAAA,MAAgB;AACvB,SAASC,6BAA6B,QAAQ;AAC9C,SAASC,QAAQ,QAAQ;AAIzB,SAASC,eAAe,QAAQ;AAEhC,OAAO,MAAMC,cAAA,GAA2C,MAAAA,CAAO;EAAEC,EAAE;EAAEC,YAAY;EAAEC;AAAG,CAAE;EACtF,MAAM;IAAEC;EAAY,CAAE,GAAGD,GAAA;EACzB,MAAME,KAAA,GAAQD,YAAA,CAAaE,GAAG,CAAC;EAC/B,MAAMC,KAAA,GAAQH,YAAA,CAAaE,GAAG,CAAC;EAE/B,MAAME,GAAA,GAAM,MAAMX,6BAAA,CAA8B;IAC9CI,EAAA;IACAI,KAAA,EAAOP,QAAA,CAASO,KAAA,IAASI,MAAA,CAAOJ,KAAA,IAASK,SAAA;IACzCH,KAAA,EAAOA,KAAA,KAAU,SAAS,OAAOG,SAAA;IACjCR,YAAA;IACAC;EACF;EAEA,OAAOQ,QAAA,CAASC,IAAI,CAClB;IACEJ,GAAA;IACAK,OAAA,EAASV,GAAA,CAAIW,CAAC,CAAC;EACjB,GACA;IACEC,OAAA,EAAShB,eAAA,CAAgB;MACvBgB,OAAA,EAAS,IAAIC,OAAA;MACbb;IACF;IACAc,MAAA,EAAQrB,UAAA,CAAWsB;EACrB;AAEJ","ignoreList":[]}
1
+ {"version":3,"file":"restoreVersion.js","names":["httpStatus","restoreVersionOperationGlobal","isNumber","headersWithCors","sanitizePopulate","restoreVersion","id","globalConfig","req","searchParams","depth","get","draft","doc","Number","undefined","populate","query","Response","json","message","t","headers","Headers","status","OK"],"sources":["../../../../src/routes/rest/globals/restoreVersion.ts"],"sourcesContent":["import httpStatus from 'http-status'\nimport { restoreVersionOperationGlobal } from 'payload'\nimport { isNumber } from 'payload/shared'\n\nimport type { GlobalRouteHandlerWithID } from '../types.js'\n\nimport { headersWithCors } from '../../../utilities/headersWithCors.js'\nimport { sanitizePopulate } from '../utilities/sanitizePopulate.js'\n\nexport const restoreVersion: GlobalRouteHandlerWithID = async ({ id, globalConfig, req }) => {\n const { searchParams } = req\n const depth = searchParams.get('depth')\n const draft = searchParams.get('draft')\n\n const doc = await restoreVersionOperationGlobal({\n id,\n depth: isNumber(depth) ? Number(depth) : undefined,\n draft: draft === 'true' ? true : undefined,\n globalConfig,\n populate: sanitizePopulate(req.query.populate),\n req,\n })\n\n return Response.json(\n {\n doc,\n message: req.t('version:restoredSuccessfully'),\n },\n {\n headers: headersWithCors({\n headers: new Headers(),\n req,\n }),\n status: httpStatus.OK,\n },\n )\n}\n"],"mappings":"AAAA,OAAOA,UAAA,MAAgB;AACvB,SAASC,6BAA6B,QAAQ;AAC9C,SAASC,QAAQ,QAAQ;AAIzB,SAASC,eAAe,QAAQ;AAChC,SAASC,gBAAgB,QAAQ;AAEjC,OAAO,MAAMC,cAAA,GAA2C,MAAAA,CAAO;EAAEC,EAAE;EAAEC,YAAY;EAAEC;AAAG,CAAE;EACtF,MAAM;IAAEC;EAAY,CAAE,GAAGD,GAAA;EACzB,MAAME,KAAA,GAAQD,YAAA,CAAaE,GAAG,CAAC;EAC/B,MAAMC,KAAA,GAAQH,YAAA,CAAaE,GAAG,CAAC;EAE/B,MAAME,GAAA,GAAM,MAAMZ,6BAAA,CAA8B;IAC9CK,EAAA;IACAI,KAAA,EAAOR,QAAA,CAASQ,KAAA,IAASI,MAAA,CAAOJ,KAAA,IAASK,SAAA;IACzCH,KAAA,EAAOA,KAAA,KAAU,SAAS,OAAOG,SAAA;IACjCR,YAAA;IACAS,QAAA,EAAUZ,gBAAA,CAAiBI,GAAA,CAAIS,KAAK,CAACD,QAAQ;IAC7CR;EACF;EAEA,OAAOU,QAAA,CAASC,IAAI,CAClB;IACEN,GAAA;IACAO,OAAA,EAASZ,GAAA,CAAIa,CAAC,CAAC;EACjB,GACA;IACEC,OAAA,EAASnB,eAAA,CAAgB;MACvBmB,OAAA,EAAS,IAAIC,OAAA;MACbf;IACF;IACAgB,MAAA,EAAQxB,UAAA,CAAWyB;EACrB;AAEJ","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../../src/routes/rest/globals/update.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAKrD,eAAO,MAAM,MAAM,EAAE,kBAyCpB,CAAA"}
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../../src/routes/rest/globals/update.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAMrD,eAAO,MAAM,MAAM,EAAE,kBA0CpB,CAAA"}
@@ -2,6 +2,7 @@ import httpStatus from 'http-status';
2
2
  import { updateOperationGlobal } from 'payload';
3
3
  import { isNumber } from 'payload/shared';
4
4
  import { headersWithCors } from '../../../utilities/headersWithCors.js';
5
+ import { sanitizePopulate } from '../utilities/sanitizePopulate.js';
5
6
  import { sanitizeSelect } from '../utilities/sanitizeSelect.js';
6
7
  export const update = async ({
7
8
  globalConfig,
@@ -21,6 +22,7 @@ export const update = async ({
21
22
  depth: isNumber(depth) ? Number(depth) : undefined,
22
23
  draft,
23
24
  globalConfig,
25
+ populate: sanitizePopulate(req.query.populate),
24
26
  publishSpecificLocale,
25
27
  req,
26
28
  select: sanitizeSelect(req.query.select)
@@ -1 +1 @@
1
- {"version":3,"file":"update.js","names":["httpStatus","updateOperationGlobal","isNumber","headersWithCors","sanitizeSelect","update","globalConfig","req","searchParams","depth","get","draft","autosave","publishSpecificLocale","query","result","slug","data","Number","undefined","select","message","t","Response","json","headers","Headers","status","OK"],"sources":["../../../../src/routes/rest/globals/update.ts"],"sourcesContent":["import httpStatus from 'http-status'\nimport { updateOperationGlobal } from 'payload'\nimport { isNumber } from 'payload/shared'\n\nimport type { GlobalRouteHandler } from '../types.js'\n\nimport { headersWithCors } from '../../../utilities/headersWithCors.js'\nimport { sanitizeSelect } from '../utilities/sanitizeSelect.js'\n\nexport const update: GlobalRouteHandler = async ({ globalConfig, req }) => {\n const { searchParams } = req\n const depth = searchParams.get('depth')\n const draft = searchParams.get('draft') === 'true'\n const autosave = searchParams.get('autosave') === 'true'\n const publishSpecificLocale = req.query.publishSpecificLocale as string | undefined\n\n const result = await updateOperationGlobal({\n slug: globalConfig.slug,\n autosave,\n data: req.data,\n depth: isNumber(depth) ? Number(depth) : undefined,\n draft,\n globalConfig,\n publishSpecificLocale,\n req,\n select: sanitizeSelect(req.query.select),\n })\n\n let message = req.t('general:updatedSuccessfully')\n\n if (draft) {\n message = req.t('version:draftSavedSuccessfully')\n }\n if (autosave) {\n message = req.t('version:autosavedSuccessfully')\n }\n\n return Response.json(\n {\n message,\n result,\n },\n {\n headers: headersWithCors({\n headers: new Headers(),\n req,\n }),\n status: httpStatus.OK,\n },\n )\n}\n"],"mappings":"AAAA,OAAOA,UAAA,MAAgB;AACvB,SAASC,qBAAqB,QAAQ;AACtC,SAASC,QAAQ,QAAQ;AAIzB,SAASC,eAAe,QAAQ;AAChC,SAASC,cAAc,QAAQ;AAE/B,OAAO,MAAMC,MAAA,GAA6B,MAAAA,CAAO;EAAEC,YAAY;EAAEC;AAAG,CAAE;EACpE,MAAM;IAAEC;EAAY,CAAE,GAAGD,GAAA;EACzB,MAAME,KAAA,GAAQD,YAAA,CAAaE,GAAG,CAAC;EAC/B,MAAMC,KAAA,GAAQH,YAAA,CAAaE,GAAG,CAAC,aAAa;EAC5C,MAAME,QAAA,GAAWJ,YAAA,CAAaE,GAAG,CAAC,gBAAgB;EAClD,MAAMG,qBAAA,GAAwBN,GAAA,CAAIO,KAAK,CAACD,qBAAqB;EAE7D,MAAME,MAAA,GAAS,MAAMd,qBAAA,CAAsB;IACzCe,IAAA,EAAMV,YAAA,CAAaU,IAAI;IACvBJ,QAAA;IACAK,IAAA,EAAMV,GAAA,CAAIU,IAAI;IACdR,KAAA,EAAOP,QAAA,CAASO,KAAA,IAASS,MAAA,CAAOT,KAAA,IAASU,SAAA;IACzCR,KAAA;IACAL,YAAA;IACAO,qBAAA;IACAN,GAAA;IACAa,MAAA,EAAQhB,cAAA,CAAeG,GAAA,CAAIO,KAAK,CAACM,MAAM;EACzC;EAEA,IAAIC,OAAA,GAAUd,GAAA,CAAIe,CAAC,CAAC;EAEpB,IAAIX,KAAA,EAAO;IACTU,OAAA,GAAUd,GAAA,CAAIe,CAAC,CAAC;EAClB;EACA,IAAIV,QAAA,EAAU;IACZS,OAAA,GAAUd,GAAA,CAAIe,CAAC,CAAC;EAClB;EAEA,OAAOC,QAAA,CAASC,IAAI,CAClB;IACEH,OAAA;IACAN;EACF,GACA;IACEU,OAAA,EAAStB,eAAA,CAAgB;MACvBsB,OAAA,EAAS,IAAIC,OAAA;MACbnB;IACF;IACAoB,MAAA,EAAQ3B,UAAA,CAAW4B;EACrB;AAEJ","ignoreList":[]}
1
+ {"version":3,"file":"update.js","names":["httpStatus","updateOperationGlobal","isNumber","headersWithCors","sanitizePopulate","sanitizeSelect","update","globalConfig","req","searchParams","depth","get","draft","autosave","publishSpecificLocale","query","result","slug","data","Number","undefined","populate","select","message","t","Response","json","headers","Headers","status","OK"],"sources":["../../../../src/routes/rest/globals/update.ts"],"sourcesContent":["import httpStatus from 'http-status'\nimport { updateOperationGlobal } from 'payload'\nimport { isNumber } from 'payload/shared'\n\nimport type { GlobalRouteHandler } from '../types.js'\n\nimport { headersWithCors } from '../../../utilities/headersWithCors.js'\nimport { sanitizePopulate } from '../utilities/sanitizePopulate.js'\nimport { sanitizeSelect } from '../utilities/sanitizeSelect.js'\n\nexport const update: GlobalRouteHandler = async ({ globalConfig, req }) => {\n const { searchParams } = req\n const depth = searchParams.get('depth')\n const draft = searchParams.get('draft') === 'true'\n const autosave = searchParams.get('autosave') === 'true'\n const publishSpecificLocale = req.query.publishSpecificLocale as string | undefined\n\n const result = await updateOperationGlobal({\n slug: globalConfig.slug,\n autosave,\n data: req.data,\n depth: isNumber(depth) ? Number(depth) : undefined,\n draft,\n globalConfig,\n populate: sanitizePopulate(req.query.populate),\n publishSpecificLocale,\n req,\n select: sanitizeSelect(req.query.select),\n })\n\n let message = req.t('general:updatedSuccessfully')\n\n if (draft) {\n message = req.t('version:draftSavedSuccessfully')\n }\n if (autosave) {\n message = req.t('version:autosavedSuccessfully')\n }\n\n return Response.json(\n {\n message,\n result,\n },\n {\n headers: headersWithCors({\n headers: new Headers(),\n req,\n }),\n status: httpStatus.OK,\n },\n )\n}\n"],"mappings":"AAAA,OAAOA,UAAA,MAAgB;AACvB,SAASC,qBAAqB,QAAQ;AACtC,SAASC,QAAQ,QAAQ;AAIzB,SAASC,eAAe,QAAQ;AAChC,SAASC,gBAAgB,QAAQ;AACjC,SAASC,cAAc,QAAQ;AAE/B,OAAO,MAAMC,MAAA,GAA6B,MAAAA,CAAO;EAAEC,YAAY;EAAEC;AAAG,CAAE;EACpE,MAAM;IAAEC;EAAY,CAAE,GAAGD,GAAA;EACzB,MAAME,KAAA,GAAQD,YAAA,CAAaE,GAAG,CAAC;EAC/B,MAAMC,KAAA,GAAQH,YAAA,CAAaE,GAAG,CAAC,aAAa;EAC5C,MAAME,QAAA,GAAWJ,YAAA,CAAaE,GAAG,CAAC,gBAAgB;EAClD,MAAMG,qBAAA,GAAwBN,GAAA,CAAIO,KAAK,CAACD,qBAAqB;EAE7D,MAAME,MAAA,GAAS,MAAMf,qBAAA,CAAsB;IACzCgB,IAAA,EAAMV,YAAA,CAAaU,IAAI;IACvBJ,QAAA;IACAK,IAAA,EAAMV,GAAA,CAAIU,IAAI;IACdR,KAAA,EAAOR,QAAA,CAASQ,KAAA,IAASS,MAAA,CAAOT,KAAA,IAASU,SAAA;IACzCR,KAAA;IACAL,YAAA;IACAc,QAAA,EAAUjB,gBAAA,CAAiBI,GAAA,CAAIO,KAAK,CAACM,QAAQ;IAC7CP,qBAAA;IACAN,GAAA;IACAc,MAAA,EAAQjB,cAAA,CAAeG,GAAA,CAAIO,KAAK,CAACO,MAAM;EACzC;EAEA,IAAIC,OAAA,GAAUf,GAAA,CAAIgB,CAAC,CAAC;EAEpB,IAAIZ,KAAA,EAAO;IACTW,OAAA,GAAUf,GAAA,CAAIgB,CAAC,CAAC;EAClB;EACA,IAAIX,QAAA,EAAU;IACZU,OAAA,GAAUf,GAAA,CAAIgB,CAAC,CAAC;EAClB;EAEA,OAAOC,QAAA,CAASC,IAAI,CAClB;IACEH,OAAA;IACAP;EACF,GACA;IACEW,OAAA,EAASxB,eAAA,CAAgB;MACvBwB,OAAA,EAAS,IAAIC,OAAA;MACbpB;IACF;IACAqB,MAAA,EAAQ7B,UAAA,CAAW8B;EACrB;AAEJ","ignoreList":[]}
@@ -20,4 +20,9 @@ export declare const PATCH: (config: Promise<SanitizedConfig> | SanitizedConfig)
20
20
  slug: string[];
21
21
  }>;
22
22
  }) => Promise<Response>;
23
+ export declare const PUT: (config: Promise<SanitizedConfig> | SanitizedConfig) => (request: Request, { params: paramsPromise }: {
24
+ params: Promise<{
25
+ slug: string[];
26
+ }>;
27
+ }) => Promise<Response>;
23
28
  //# 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,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"}
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;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,sBAgF1F,CAAA"}
@@ -756,4 +756,77 @@ export const PATCH = config => async (request, {
756
756
  });
757
757
  }
758
758
  };
759
+ export const PUT = config => async (request, {
760
+ params: paramsPromise
761
+ }) => {
762
+ const {
763
+ slug
764
+ } = await paramsPromise;
765
+ const [slug1] = slug;
766
+ let req;
767
+ let res;
768
+ let collection;
769
+ try {
770
+ req = await createPayloadRequest({
771
+ config,
772
+ request
773
+ });
774
+ collection = req.payload.collections?.[slug1];
775
+ const disableEndpoints = endpointsAreDisabled({
776
+ endpoints: req.payload.config.endpoints,
777
+ request
778
+ });
779
+ if (disableEndpoints) {
780
+ return disableEndpoints;
781
+ }
782
+ if (collection) {
783
+ req.routeParams.collection = slug1;
784
+ const disableEndpoints = endpointsAreDisabled({
785
+ endpoints: collection.config.endpoints,
786
+ request
787
+ });
788
+ if (disableEndpoints) {
789
+ return disableEndpoints;
790
+ }
791
+ const customEndpointResponse = await handleCustomEndpoints({
792
+ endpoints: collection.config.endpoints,
793
+ entitySlug: slug1,
794
+ req
795
+ });
796
+ if (customEndpointResponse) {
797
+ return customEndpointResponse;
798
+ }
799
+ }
800
+ if (res instanceof Response) {
801
+ if (req.responseHeaders) {
802
+ const mergedResponse = new Response(res.body, {
803
+ headers: mergeHeaders(req.responseHeaders, res.headers),
804
+ status: res.status,
805
+ statusText: res.statusText
806
+ });
807
+ return mergedResponse;
808
+ }
809
+ return res;
810
+ }
811
+ // root routes
812
+ const customEndpointResponse = await handleCustomEndpoints({
813
+ endpoints: req.payload.config.endpoints,
814
+ req
815
+ });
816
+ if (customEndpointResponse) {
817
+ return customEndpointResponse;
818
+ }
819
+ return RouteNotFoundResponse({
820
+ slug,
821
+ req
822
+ });
823
+ } catch (error) {
824
+ return routeError({
825
+ collection,
826
+ config,
827
+ err: error,
828
+ req: req || request
829
+ });
830
+ }
831
+ };
759
832
  //# sourceMappingURL=index.js.map
@@ -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","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":[]}
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","PUT"],"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\nexport const PUT =\n (config: Promise<SanitizedConfig> | SanitizedConfig) =>\n async (request: Request, { params: paramsPromise }: { params: Promise<{ slug: string[] }> }) => {\n const { slug } = await paramsPromise\n const [slug1] = 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 }\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":[]}
@@ -43,8 +43,7 @@ export const generateOGImage = async ({
43
43
  // Or better yet, use a CDN like Google Fonts if ever supported
44
44
  fontData = fs.readFile(path.join(dirname, 'roboto-regular.woff'));
45
45
  } catch (e) {
46
- console.error(`Error reading font file or not readable: ${e.message}`) // eslint-disable-line no-console
47
- ;
46
+ req.payload.logger.error(`Error reading font file or not readable: ${e.message}`);
48
47
  }
49
48
  const fontFamily = 'Roboto, sans-serif';
50
49
  return new ImageResponse( /*#__PURE__*/_jsx(OGImage, {
@@ -66,8 +65,7 @@ export const generateOGImage = async ({
66
65
  width: 1200
67
66
  });
68
67
  } catch (e) {
69
- console.error(`${e.message}`) // eslint-disable-line no-console
70
- ;
68
+ req.payload.logger.error(`Error generating Open Graph image: ${e.message}`);
71
69
  return NextResponse.json({
72
70
  error: `Internal Server Error: ${e.message}`
73
71
  }, {