@payloadcms/next 3.0.0-beta.125 → 3.0.0-beta.127

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 (72) hide show
  1. package/dist/routes/rest/collections/create.d.ts.map +1 -1
  2. package/dist/routes/rest/collections/create.js +2 -0
  3. package/dist/routes/rest/collections/create.js.map +1 -1
  4. package/dist/routes/rest/collections/delete.d.ts.map +1 -1
  5. package/dist/routes/rest/collections/delete.js +3 -0
  6. package/dist/routes/rest/collections/delete.js.map +1 -1
  7. package/dist/routes/rest/collections/deleteByID.d.ts.map +1 -1
  8. package/dist/routes/rest/collections/deleteByID.js +2 -0
  9. package/dist/routes/rest/collections/deleteByID.js.map +1 -1
  10. package/dist/routes/rest/collections/duplicate.d.ts.map +1 -1
  11. package/dist/routes/rest/collections/duplicate.js +2 -0
  12. package/dist/routes/rest/collections/duplicate.js.map +1 -1
  13. package/dist/routes/rest/collections/find.d.ts.map +1 -1
  14. package/dist/routes/rest/collections/find.js +3 -0
  15. package/dist/routes/rest/collections/find.js.map +1 -1
  16. package/dist/routes/rest/collections/findByID.d.ts.map +1 -1
  17. package/dist/routes/rest/collections/findByID.js +2 -0
  18. package/dist/routes/rest/collections/findByID.js.map +1 -1
  19. package/dist/routes/rest/collections/findVersionByID.d.ts.map +1 -1
  20. package/dist/routes/rest/collections/findVersionByID.js +2 -0
  21. package/dist/routes/rest/collections/findVersionByID.js.map +1 -1
  22. package/dist/routes/rest/collections/findVersions.d.ts.map +1 -1
  23. package/dist/routes/rest/collections/findVersions.js +3 -0
  24. package/dist/routes/rest/collections/findVersions.js.map +1 -1
  25. package/dist/routes/rest/collections/restoreVersion.d.ts.map +1 -1
  26. package/dist/routes/rest/collections/restoreVersion.js +2 -0
  27. package/dist/routes/rest/collections/restoreVersion.js.map +1 -1
  28. package/dist/routes/rest/collections/update.d.ts.map +1 -1
  29. package/dist/routes/rest/collections/update.js +3 -0
  30. package/dist/routes/rest/collections/update.js.map +1 -1
  31. package/dist/routes/rest/collections/updateByID.d.ts.map +1 -1
  32. package/dist/routes/rest/collections/updateByID.js +2 -0
  33. package/dist/routes/rest/collections/updateByID.js.map +1 -1
  34. package/dist/routes/rest/globals/findOne.d.ts.map +1 -1
  35. package/dist/routes/rest/globals/findOne.js +2 -0
  36. package/dist/routes/rest/globals/findOne.js.map +1 -1
  37. package/dist/routes/rest/globals/findVersionByID.d.ts.map +1 -1
  38. package/dist/routes/rest/globals/findVersionByID.js +2 -0
  39. package/dist/routes/rest/globals/findVersionByID.js.map +1 -1
  40. package/dist/routes/rest/globals/findVersions.d.ts.map +1 -1
  41. package/dist/routes/rest/globals/findVersions.js +3 -0
  42. package/dist/routes/rest/globals/findVersions.js.map +1 -1
  43. package/dist/routes/rest/globals/restoreVersion.d.ts.map +1 -1
  44. package/dist/routes/rest/globals/restoreVersion.js +2 -0
  45. package/dist/routes/rest/globals/restoreVersion.js.map +1 -1
  46. package/dist/routes/rest/globals/update.d.ts.map +1 -1
  47. package/dist/routes/rest/globals/update.js +2 -0
  48. package/dist/routes/rest/globals/update.js.map +1 -1
  49. package/dist/routes/rest/og/index.js +2 -4
  50. package/dist/routes/rest/og/index.js.map +1 -1
  51. package/dist/routes/rest/utilities/sanitizePopulate.d.ts +3 -0
  52. package/dist/routes/rest/utilities/sanitizePopulate.d.ts.map +1 -0
  53. package/dist/routes/rest/utilities/sanitizePopulate.js +11 -0
  54. package/dist/routes/rest/utilities/sanitizePopulate.js.map +1 -0
  55. package/dist/utilities/initPage/handleAuthRedirect.js +2 -2
  56. package/dist/utilities/initPage/handleAuthRedirect.js.map +1 -1
  57. package/dist/views/Document/getDocumentData.js +4 -2
  58. package/dist/views/Document/getDocumentData.js.map +1 -1
  59. package/dist/views/Document/getDocumentPermissions.js +2 -4
  60. package/dist/views/Document/getDocumentPermissions.js.map +1 -1
  61. package/dist/views/Login/index.js +1 -1
  62. package/dist/views/Login/index.js.map +1 -1
  63. package/dist/views/Logout/LogoutClient.d.ts.map +1 -1
  64. package/dist/views/Logout/LogoutClient.js +5 -4
  65. package/dist/views/Logout/LogoutClient.js.map +1 -1
  66. package/dist/views/Version/Restore/index.js +1 -1
  67. package/dist/views/Version/Restore/index.js.map +1 -1
  68. package/dist/views/Versions/getLatestVersion.js +1 -1
  69. package/dist/views/Versions/getLatestVersion.js.map +1 -1
  70. package/dist/views/Versions/index.js +2 -4
  71. package/dist/views/Versions/index.js.map +1 -1
  72. package/package.json +6 -6
@@ -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":[]}
@@ -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
  }, {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["getCreateMappedComponent","PayloadIcon","fs","ImageResponse","NextResponse","path","React","fileURLToPath","OGImage","filename","import","meta","url","dirname","runtime","contentType","generateOGImage","req","config","payload","admin","defaultOGImageType","json","error","status","searchParams","URL","hasTitle","has","title","get","slice","hasLeader","leader","replace","description","createMappedComponent","importMap","serverProps","mappedIcon","components","graphics","Icon","undefined","fontData","readFile","join","e","console","message","fontFamily","_jsx","fonts","name","data","style","weight","height","width"],"sources":["../../../../src/routes/rest/og/index.tsx"],"sourcesContent":["import type { PayloadRequest } from 'payload'\n\nimport { getCreateMappedComponent, PayloadIcon } from '@payloadcms/ui/shared'\nimport fs from 'fs/promises'\nimport { ImageResponse } from 'next/og.js'\nimport { NextResponse } from 'next/server.js'\nimport path from 'path'\nimport React from 'react'\nimport { fileURLToPath } from 'url'\n\nimport { OGImage } from './image.js'\n\nconst filename = fileURLToPath(import.meta.url)\nconst dirname = path.dirname(filename)\n\nexport const runtime = 'nodejs'\n\nexport const contentType = 'image/png'\n\nexport const generateOGImage = async ({ req }: { req: PayloadRequest }) => {\n const config = req.payload.config\n\n if (config.admin.meta.defaultOGImageType === 'off') {\n return NextResponse.json({ error: `Open Graph images are disabled` }, { status: 400 })\n }\n\n try {\n const { searchParams } = new URL(req.url)\n\n const hasTitle = searchParams.has('title')\n const title = hasTitle ? searchParams.get('title')?.slice(0, 100) : ''\n const hasLeader = searchParams.has('leader')\n const leader = hasLeader ? searchParams.get('leader')?.slice(0, 100).replace('-', ' ') : ''\n const description = searchParams.has('description') ? searchParams.get('description') : ''\n\n const createMappedComponent = getCreateMappedComponent({\n importMap: req.payload.importMap,\n serverProps: {},\n })\n\n const mappedIcon = createMappedComponent(\n config.admin?.components?.graphics?.Icon,\n undefined,\n PayloadIcon,\n 'config.admin.components.graphics.Icon',\n )\n\n let fontData\n\n try {\n // TODO: replace with `.woff2` file when supported\n // See https://github.com/vercel/next.js/issues/63935\n // Or better yet, use a CDN like Google Fonts if ever supported\n fontData = fs.readFile(path.join(dirname, 'roboto-regular.woff'))\n } catch (e) {\n console.error(`Error reading font file or not readable: ${e.message}`) // eslint-disable-line no-console\n }\n\n const fontFamily = 'Roboto, sans-serif'\n\n return new ImageResponse(\n (\n <OGImage\n description={description}\n fontFamily={fontFamily}\n Icon={mappedIcon}\n leader={leader}\n title={title}\n />\n ),\n {\n ...(fontData\n ? {\n fonts: [\n {\n name: 'Roboto',\n data: await fontData,\n style: 'normal',\n weight: 400,\n },\n ],\n }\n : {}),\n height: 630,\n width: 1200,\n },\n )\n } catch (e: any) {\n console.error(`${e.message}`) // eslint-disable-line no-console\n return NextResponse.json({ error: `Internal Server Error: ${e.message}` }, { status: 500 })\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["getCreateMappedComponent","PayloadIcon","fs","ImageResponse","NextResponse","path","React","fileURLToPath","OGImage","filename","import","meta","url","dirname","runtime","contentType","generateOGImage","req","config","payload","admin","defaultOGImageType","json","error","status","searchParams","URL","hasTitle","has","title","get","slice","hasLeader","leader","replace","description","createMappedComponent","importMap","serverProps","mappedIcon","components","graphics","Icon","undefined","fontData","readFile","join","e","logger","message","fontFamily","_jsx","fonts","name","data","style","weight","height","width"],"sources":["../../../../src/routes/rest/og/index.tsx"],"sourcesContent":["import type { PayloadRequest } from 'payload'\n\nimport { getCreateMappedComponent, PayloadIcon } from '@payloadcms/ui/shared'\nimport fs from 'fs/promises'\nimport { ImageResponse } from 'next/og.js'\nimport { NextResponse } from 'next/server.js'\nimport path from 'path'\nimport React from 'react'\nimport { fileURLToPath } from 'url'\n\nimport { OGImage } from './image.js'\n\nconst filename = fileURLToPath(import.meta.url)\nconst dirname = path.dirname(filename)\n\nexport const runtime = 'nodejs'\n\nexport const contentType = 'image/png'\n\nexport const generateOGImage = async ({ req }: { req: PayloadRequest }) => {\n const config = req.payload.config\n\n if (config.admin.meta.defaultOGImageType === 'off') {\n return NextResponse.json({ error: `Open Graph images are disabled` }, { status: 400 })\n }\n\n try {\n const { searchParams } = new URL(req.url)\n\n const hasTitle = searchParams.has('title')\n const title = hasTitle ? searchParams.get('title')?.slice(0, 100) : ''\n const hasLeader = searchParams.has('leader')\n const leader = hasLeader ? searchParams.get('leader')?.slice(0, 100).replace('-', ' ') : ''\n const description = searchParams.has('description') ? searchParams.get('description') : ''\n\n const createMappedComponent = getCreateMappedComponent({\n importMap: req.payload.importMap,\n serverProps: {},\n })\n\n const mappedIcon = createMappedComponent(\n config.admin?.components?.graphics?.Icon,\n undefined,\n PayloadIcon,\n 'config.admin.components.graphics.Icon',\n )\n\n let fontData\n\n try {\n // TODO: replace with `.woff2` file when supported\n // See https://github.com/vercel/next.js/issues/63935\n // Or better yet, use a CDN like Google Fonts if ever supported\n fontData = fs.readFile(path.join(dirname, 'roboto-regular.woff'))\n } catch (e) {\n req.payload.logger.error(`Error reading font file or not readable: ${e.message}`)\n }\n\n const fontFamily = 'Roboto, sans-serif'\n\n return new ImageResponse(\n (\n <OGImage\n description={description}\n fontFamily={fontFamily}\n Icon={mappedIcon}\n leader={leader}\n title={title}\n />\n ),\n {\n ...(fontData\n ? {\n fonts: [\n {\n name: 'Roboto',\n data: await fontData,\n style: 'normal',\n weight: 400,\n },\n ],\n }\n : {}),\n height: 630,\n width: 1200,\n },\n )\n } catch (e: any) {\n req.payload.logger.error(`Error generating Open Graph image: ${e.message}`)\n return NextResponse.json({ error: `Internal Server Error: ${e.message}` }, { status: 500 })\n }\n}\n"],"mappings":";AAEA,SAASA,wBAAwB,EAAEC,WAAW,QAAQ;AACtD,OAAOC,EAAA,MAAQ;AACf,SAASC,aAAa,QAAQ;AAC9B,SAASC,YAAY,QAAQ;AAC7B,OAAOC,IAAA,MAAU;AACjB,OAAOC,KAAA,MAAW;AAClB,SAASC,aAAa,QAAQ;AAE9B,SAASC,OAAO,QAAQ;AAExB,MAAMC,QAAA,GAAWF,aAAA,CAAcG,MAAA,CAAAC,IAAA,CAAYC,GAAG;AAC9C,MAAMC,OAAA,GAAUR,IAAA,CAAKQ,OAAO,CAACJ,QAAA;AAE7B,OAAO,MAAMK,OAAA,GAAU;AAEvB,OAAO,MAAMC,WAAA,GAAc;AAE3B,OAAO,MAAMC,eAAA,GAAkB,MAAAA,CAAO;EAAEC;AAAG,CAA2B;EACpE,MAAMC,MAAA,GAASD,GAAA,CAAIE,OAAO,CAACD,MAAM;EAEjC,IAAIA,MAAA,CAAOE,KAAK,CAACT,IAAI,CAACU,kBAAkB,KAAK,OAAO;IAClD,OAAOjB,YAAA,CAAakB,IAAI,CAAC;MAAEC,KAAA,EAAO;IAAiC,GAAG;MAAEC,MAAA,EAAQ;IAAI;EACtF;EAEA,IAAI;IACF,MAAM;MAAEC;IAAY,CAAE,GAAG,IAAIC,GAAA,CAAIT,GAAA,CAAIL,GAAG;IAExC,MAAMe,QAAA,GAAWF,YAAA,CAAaG,GAAG,CAAC;IAClC,MAAMC,KAAA,GAAQF,QAAA,GAAWF,YAAA,CAAaK,GAAG,CAAC,UAAUC,KAAA,CAAM,GAAG,OAAO;IACpE,MAAMC,SAAA,GAAYP,YAAA,CAAaG,GAAG,CAAC;IACnC,MAAMK,MAAA,GAASD,SAAA,GAAYP,YAAA,CAAaK,GAAG,CAAC,WAAWC,KAAA,CAAM,GAAG,KAAKG,OAAA,CAAQ,KAAK,OAAO;IACzF,MAAMC,WAAA,GAAcV,YAAA,CAAaG,GAAG,CAAC,iBAAiBH,YAAA,CAAaK,GAAG,CAAC,iBAAiB;IAExF,MAAMM,qBAAA,GAAwBpC,wBAAA,CAAyB;MACrDqC,SAAA,EAAWpB,GAAA,CAAIE,OAAO,CAACkB,SAAS;MAChCC,WAAA,EAAa,CAAC;IAChB;IAEA,MAAMC,UAAA,GAAaH,qBAAA,CACjBlB,MAAA,CAAOE,KAAK,EAAEoB,UAAA,EAAYC,QAAA,EAAUC,IAAA,EACpCC,SAAA,EACA1C,WAAA,EACA;IAGF,IAAI2C,QAAA;IAEJ,IAAI;MACF;MACA;MACA;MACAA,QAAA,GAAW1C,EAAA,CAAG2C,QAAQ,CAACxC,IAAA,CAAKyC,IAAI,CAACjC,OAAA,EAAS;IAC5C,EAAE,OAAOkC,CAAA,EAAG;MACV9B,GAAA,CAAIE,OAAO,CAAC6B,MAAM,CAACzB,KAAK,CAAC,4CAA4CwB,CAAA,CAAEE,OAAO,EAAE;IAClF;IAEA,MAAMC,UAAA,GAAa;IAEnB,OAAO,IAAI/C,aAAA,eAEPgD,IAAA,CAAC3C,OAAA;MACC2B,WAAA,EAAaA,WAAA;MACbe,UAAA,EAAYA,UAAA;MACZR,IAAA,EAAMH,UAAA;MACNN,MAAA,EAAQA,MAAA;MACRJ,KAAA,EAAOA;QAGX;MACE,IAAIe,QAAA,GACA;QACEQ,KAAA,EAAO,CACL;UACEC,IAAA,EAAM;UACNC,IAAA,EAAM,MAAMV,QAAA;UACZW,KAAA,EAAO;UACPC,MAAA,EAAQ;QACV;MAEJ,IACA,CAAC,CAAC;MACNC,MAAA,EAAQ;MACRC,KAAA,EAAO;IACT;EAEJ,EAAE,OAAOX,CAAA,EAAQ;IACf9B,GAAA,CAAIE,OAAO,CAAC6B,MAAM,CAACzB,KAAK,CAAC,sCAAsCwB,CAAA,CAAEE,OAAO,EAAE;IAC1E,OAAO7C,YAAA,CAAakB,IAAI,CAAC;MAAEC,KAAA,EAAO,0BAA0BwB,CAAA,CAAEE,OAAO;IAAG,GAAG;MAAEzB,MAAA,EAAQ;IAAI;EAC3F;AACF","ignoreList":[]}
@@ -0,0 +1,3 @@
1
+ import type { PopulateType } from 'payload';
2
+ export declare const sanitizePopulate: (unsanitizedPopulate: unknown) => PopulateType | undefined;
3
+ //# sourceMappingURL=sanitizePopulate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sanitizePopulate.d.ts","sourceRoot":"","sources":["../../../../src/routes/rest/utilities/sanitizePopulate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAI3C,eAAO,MAAM,gBAAgB,wBAAyB,OAAO,KAAG,YAAY,GAAG,SAU9E,CAAA"}
@@ -0,0 +1,11 @@
1
+ import { sanitizeSelect } from './sanitizeSelect.js';
2
+ export const sanitizePopulate = unsanitizedPopulate => {
3
+ if (!unsanitizedPopulate || typeof unsanitizedPopulate !== 'object') {
4
+ return;
5
+ }
6
+ for (const k in unsanitizedPopulate) {
7
+ unsanitizedPopulate[k] = sanitizeSelect(unsanitizedPopulate[k]);
8
+ }
9
+ return unsanitizedPopulate;
10
+ };
11
+ //# sourceMappingURL=sanitizePopulate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sanitizePopulate.js","names":["sanitizeSelect","sanitizePopulate","unsanitizedPopulate","k"],"sources":["../../../../src/routes/rest/utilities/sanitizePopulate.ts"],"sourcesContent":["import type { PopulateType } from 'payload'\n\nimport { sanitizeSelect } from './sanitizeSelect.js'\n\nexport const sanitizePopulate = (unsanitizedPopulate: unknown): PopulateType | undefined => {\n if (!unsanitizedPopulate || typeof unsanitizedPopulate !== 'object') {\n return\n }\n\n for (const k in unsanitizedPopulate) {\n unsanitizedPopulate[k] = sanitizeSelect(unsanitizedPopulate[k])\n }\n\n return unsanitizedPopulate as PopulateType\n}\n"],"mappings":"AAEA,SAASA,cAAc,QAAQ;AAE/B,OAAO,MAAMC,gBAAA,GAAoBC,mBAAA;EAC/B,IAAI,CAACA,mBAAA,IAAuB,OAAOA,mBAAA,KAAwB,UAAU;IACnE;EACF;EAEA,KAAK,MAAMC,CAAA,IAAKD,mBAAA,EAAqB;IACnCA,mBAAmB,CAACC,CAAA,CAAE,GAAGH,cAAA,CAAeE,mBAAmB,CAACC,CAAA,CAAE;EAChE;EAEA,OAAOD,mBAAA;AACT","ignoreList":[]}
@@ -20,9 +20,9 @@ export const handleAuthRedirect = ({
20
20
  if (searchParams && 'redirect' in searchParams) {
21
21
  delete searchParams.redirect;
22
22
  }
23
- const redirectRoute = encodeURIComponent(route + Object.keys(searchParams ?? {}).length ? `${qs.stringify(searchParams, {
23
+ const redirectRoute = (route !== adminRoute ? route : '') + (Object.keys(searchParams ?? {}).length > 0 ? `${qs.stringify(searchParams, {
24
24
  addQueryPrefix: true
25
- })}` : undefined);
25
+ })}` : '');
26
26
  const redirectTo = formatAdminURL({
27
27
  adminRoute,
28
28
  path: user ? unauthorizedRoute : loginRouteFromConfig
@@ -1 +1 @@
1
- {"version":3,"file":"handleAuthRedirect.js","names":["formatAdminURL","qs","handleAuthRedirect","config","route","searchParams","user","admin","routes","login","loginRouteFromConfig","unauthorized","unauthorizedRoute","adminRoute","redirect","redirectRoute","encodeURIComponent","Object","keys","length","stringify","addQueryPrefix","undefined","redirectTo","path","parsedLoginRouteSearchParams","parse","split","searchParamsWithRedirect"],"sources":["../../../src/utilities/initPage/handleAuthRedirect.ts"],"sourcesContent":["import type { User } from 'payload'\n\nimport { formatAdminURL } from '@payloadcms/ui/shared'\nimport * as qs from 'qs-esm'\n\ntype Args = {\n config\n route: string\n searchParams: { [key: string]: string | string[] }\n user?: User\n}\nexport const handleAuthRedirect = ({ config, route, searchParams, user }: Args): string => {\n const {\n admin: {\n routes: { login: loginRouteFromConfig, unauthorized: unauthorizedRoute },\n },\n routes: { admin: adminRoute },\n } = config\n\n if (searchParams && 'redirect' in searchParams) {\n delete searchParams.redirect\n }\n\n const redirectRoute = encodeURIComponent(\n route + Object.keys(searchParams ?? {}).length\n ? `${qs.stringify(searchParams, { addQueryPrefix: true })}`\n : undefined,\n )\n\n const redirectTo = formatAdminURL({\n adminRoute,\n path: user ? unauthorizedRoute : loginRouteFromConfig,\n })\n\n const parsedLoginRouteSearchParams = qs.parse(redirectTo.split('?')[1] ?? '')\n\n const searchParamsWithRedirect = `${qs.stringify(\n {\n ...parsedLoginRouteSearchParams,\n ...(redirectRoute ? { redirect: redirectRoute } : {}),\n },\n { addQueryPrefix: true },\n )}`\n\n return `${redirectTo.split('?')[0]}${searchParamsWithRedirect}`\n}\n"],"mappings":"AAEA,SAASA,cAAc,QAAQ;AAC/B,YAAYC,EAAA,MAAQ;AAQpB,OAAO,MAAMC,kBAAA,GAAqBA,CAAC;EAAEC,MAAM;EAAEC,KAAK;EAAEC,YAAY;EAAEC;AAAI,CAAQ;EAC5E,MAAM;IACJC,KAAA,EAAO;MACLC,MAAA,EAAQ;QAAEC,KAAA,EAAOC,oBAAoB;QAAEC,YAAA,EAAcC;MAAiB;IAAE,CACzE;IACDJ,MAAA,EAAQ;MAAED,KAAA,EAAOM;IAAU;EAAE,CAC9B,GAAGV,MAAA;EAEJ,IAAIE,YAAA,IAAgB,cAAcA,YAAA,EAAc;IAC9C,OAAOA,YAAA,CAAaS,QAAQ;EAC9B;EAEA,MAAMC,aAAA,GAAgBC,kBAAA,CACpBZ,KAAA,GAAQa,MAAA,CAAOC,IAAI,CAACb,YAAA,IAAgB,CAAC,GAAGc,MAAM,GAC1C,GAAGlB,EAAA,CAAGmB,SAAS,CAACf,YAAA,EAAc;IAAEgB,cAAA,EAAgB;EAAK,IAAI,GACzDC,SAAA;EAGN,MAAMC,UAAA,GAAavB,cAAA,CAAe;IAChCa,UAAA;IACAW,IAAA,EAAMlB,IAAA,GAAOM,iBAAA,GAAoBF;EACnC;EAEA,MAAMe,4BAAA,GAA+BxB,EAAA,CAAGyB,KAAK,CAACH,UAAA,CAAWI,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI;EAE1E,MAAMC,wBAAA,GAA2B,GAAG3B,EAAA,CAAGmB,SAAS,CAC9C;IACE,GAAGK,4BAA4B;IAC/B,IAAIV,aAAA,GAAgB;MAAED,QAAA,EAAUC;IAAc,IAAI,CAAC,CAAC;EACtD,GACA;IAAEM,cAAA,EAAgB;EAAK,IACtB;EAEH,OAAO,GAAGE,UAAA,CAAWI,KAAK,CAAC,IAAI,CAAC,EAAE,GAAGC,wBAAA,EAA0B;AACjE","ignoreList":[]}
1
+ {"version":3,"file":"handleAuthRedirect.js","names":["formatAdminURL","qs","handleAuthRedirect","config","route","searchParams","user","admin","routes","login","loginRouteFromConfig","unauthorized","unauthorizedRoute","adminRoute","redirect","redirectRoute","Object","keys","length","stringify","addQueryPrefix","redirectTo","path","parsedLoginRouteSearchParams","parse","split","searchParamsWithRedirect"],"sources":["../../../src/utilities/initPage/handleAuthRedirect.ts"],"sourcesContent":["import type { User } from 'payload'\n\nimport { formatAdminURL } from '@payloadcms/ui/shared'\nimport * as qs from 'qs-esm'\n\ntype Args = {\n config\n route: string\n searchParams: { [key: string]: string | string[] }\n user?: User\n}\nexport const handleAuthRedirect = ({ config, route, searchParams, user }: Args): string => {\n const {\n admin: {\n routes: { login: loginRouteFromConfig, unauthorized: unauthorizedRoute },\n },\n routes: { admin: adminRoute },\n } = config\n\n if (searchParams && 'redirect' in searchParams) {\n delete searchParams.redirect\n }\n\n const redirectRoute =\n (route !== adminRoute ? route : '') +\n (Object.keys(searchParams ?? {}).length > 0\n ? `${qs.stringify(searchParams, { addQueryPrefix: true })}`\n : '')\n\n const redirectTo = formatAdminURL({\n adminRoute,\n path: user ? unauthorizedRoute : loginRouteFromConfig,\n })\n\n const parsedLoginRouteSearchParams = qs.parse(redirectTo.split('?')[1] ?? '')\n\n const searchParamsWithRedirect = `${qs.stringify(\n {\n ...parsedLoginRouteSearchParams,\n ...(redirectRoute ? { redirect: redirectRoute } : {}),\n },\n { addQueryPrefix: true },\n )}`\n\n return `${redirectTo.split('?')[0]}${searchParamsWithRedirect}`\n}\n"],"mappings":"AAEA,SAASA,cAAc,QAAQ;AAC/B,YAAYC,EAAA,MAAQ;AAQpB,OAAO,MAAMC,kBAAA,GAAqBA,CAAC;EAAEC,MAAM;EAAEC,KAAK;EAAEC,YAAY;EAAEC;AAAI,CAAQ;EAC5E,MAAM;IACJC,KAAA,EAAO;MACLC,MAAA,EAAQ;QAAEC,KAAA,EAAOC,oBAAoB;QAAEC,YAAA,EAAcC;MAAiB;IAAE,CACzE;IACDJ,MAAA,EAAQ;MAAED,KAAA,EAAOM;IAAU;EAAE,CAC9B,GAAGV,MAAA;EAEJ,IAAIE,YAAA,IAAgB,cAAcA,YAAA,EAAc;IAC9C,OAAOA,YAAA,CAAaS,QAAQ;EAC9B;EAEA,MAAMC,aAAA,GACJ,CAACX,KAAA,KAAUS,UAAA,GAAaT,KAAA,GAAQ,EAAC,KAChCY,MAAA,CAAOC,IAAI,CAACZ,YAAA,IAAgB,CAAC,GAAGa,MAAM,GAAG,IACtC,GAAGjB,EAAA,CAAGkB,SAAS,CAACd,YAAA,EAAc;IAAEe,cAAA,EAAgB;EAAK,IAAI,GACzD,EAAC;EAEP,MAAMC,UAAA,GAAarB,cAAA,CAAe;IAChCa,UAAA;IACAS,IAAA,EAAMhB,IAAA,GAAOM,iBAAA,GAAoBF;EACnC;EAEA,MAAMa,4BAAA,GAA+BtB,EAAA,CAAGuB,KAAK,CAACH,UAAA,CAAWI,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI;EAE1E,MAAMC,wBAAA,GAA2B,GAAGzB,EAAA,CAAGkB,SAAS,CAC9C;IACE,GAAGI,4BAA4B;IAC/B,IAAIR,aAAA,GAAgB;MAAED,QAAA,EAAUC;IAAc,IAAI,CAAC,CAAC;EACtD,GACA;IAAEK,cAAA,EAAgB;EAAK,IACtB;EAEH,OAAO,GAAGC,UAAA,CAAWI,KAAK,CAAC,IAAI,CAAC,EAAE,GAAGC,wBAAA,EAA0B;AACjE","ignoreList":[]}
@@ -32,8 +32,10 @@ export const getDocumentData = async args => {
32
32
  formState
33
33
  };
34
34
  } catch (error) {
35
- console.error('Error getting document data', error) // eslint-disable-line no-console
36
- ;
35
+ req.payload.logger.error({
36
+ err: error,
37
+ msg: 'Error getting document data'
38
+ });
37
39
  return {
38
40
  data: null,
39
41
  formState: {
@@ -1 +1 @@
1
- {"version":3,"file":"getDocumentData.js","names":["buildFormState","reduceFieldsToValues","getDocumentData","args","id","collectionConfig","globalConfig","locale","req","schemaPath","schemaPathFromProps","slug","state","formState","data","collectionSlug","globalSlug","code","operation","error","console","fields","initialValue","undefined","valid","value"],"sources":["../../../src/views/Document/getDocumentData.tsx"],"sourcesContent":["import type {\n Data,\n FormState,\n Locale,\n PayloadRequest,\n SanitizedCollectionConfig,\n SanitizedGlobalConfig,\n} from 'payload'\n\nimport { buildFormState } from '@payloadcms/ui/utilities/buildFormState'\nimport { reduceFieldsToValues } from 'payload/shared'\n\nexport const getDocumentData = async (args: {\n collectionConfig?: SanitizedCollectionConfig\n globalConfig?: SanitizedGlobalConfig\n id?: number | string\n locale: Locale\n req: PayloadRequest\n schemaPath?: string\n}): Promise<{\n data: Data\n formState: FormState\n}> => {\n const { id, collectionConfig, globalConfig, locale, req, schemaPath: schemaPathFromProps } = args\n\n const schemaPath = schemaPathFromProps || collectionConfig?.slug || globalConfig?.slug\n\n try {\n const { state: formState } = await buildFormState({\n req: {\n ...req,\n data: {\n id,\n collectionSlug: collectionConfig?.slug,\n globalSlug: globalConfig?.slug,\n locale: locale?.code,\n operation: (collectionConfig && id) || globalConfig ? 'update' : 'create',\n schemaPath,\n },\n },\n })\n\n const data = reduceFieldsToValues(formState, true)\n\n return {\n data,\n formState,\n }\n } catch (error) {\n console.error('Error getting document data', error) // eslint-disable-line no-console\n return {\n data: null,\n formState: {\n fields: {\n initialValue: undefined,\n valid: false,\n value: undefined,\n },\n },\n }\n }\n}\n"],"mappings":"AASA,SAASA,cAAc,QAAQ;AAC/B,SAASC,oBAAoB,QAAQ;AAErC,OAAO,MAAMC,eAAA,GAAkB,MAAOC,IAAA;EAWpC,MAAM;IAAEC,EAAE;IAAEC,gBAAgB;IAAEC,YAAY;IAAEC,MAAM;IAAEC,GAAG;IAAEC,UAAA,EAAYC;EAAmB,CAAE,GAAGP,IAAA;EAE7F,MAAMM,UAAA,GAAaC,mBAAA,IAAuBL,gBAAA,EAAkBM,IAAA,IAAQL,YAAA,EAAcK,IAAA;EAElF,IAAI;IACF,MAAM;MAAEC,KAAA,EAAOC;IAAS,CAAE,GAAG,MAAMb,cAAA,CAAe;MAChDQ,GAAA,EAAK;QACH,GAAGA,GAAG;QACNM,IAAA,EAAM;UACJV,EAAA;UACAW,cAAA,EAAgBV,gBAAA,EAAkBM,IAAA;UAClCK,UAAA,EAAYV,YAAA,EAAcK,IAAA;UAC1BJ,MAAA,EAAQA,MAAA,EAAQU,IAAA;UAChBC,SAAA,EAAWb,gBAAC,IAAoBD,EAAA,IAAOE,YAAA,GAAe,WAAW;UACjEG;QACF;MACF;IACF;IAEA,MAAMK,IAAA,GAAOb,oBAAA,CAAqBY,SAAA,EAAW;IAE7C,OAAO;MACLC,IAAA;MACAD;IACF;EACF,EAAE,OAAOM,KAAA,EAAO;IACdC,OAAA,CAAQD,KAAK,CAAC,+BAA+BA,KAAA,EAAO;IAAA;IACpD,OAAO;MACLL,IAAA,EAAM;MACND,SAAA,EAAW;QACTQ,MAAA,EAAQ;UACNC,YAAA,EAAcC,SAAA;UACdC,KAAA,EAAO;UACPC,KAAA,EAAOF;QACT;MACF;IACF;EACF;AACF","ignoreList":[]}
1
+ {"version":3,"file":"getDocumentData.js","names":["buildFormState","reduceFieldsToValues","getDocumentData","args","id","collectionConfig","globalConfig","locale","req","schemaPath","schemaPathFromProps","slug","state","formState","data","collectionSlug","globalSlug","code","operation","error","payload","logger","err","msg","fields","initialValue","undefined","valid","value"],"sources":["../../../src/views/Document/getDocumentData.tsx"],"sourcesContent":["import type {\n Data,\n FormState,\n Locale,\n PayloadRequest,\n SanitizedCollectionConfig,\n SanitizedGlobalConfig,\n} from 'payload'\n\nimport { buildFormState } from '@payloadcms/ui/utilities/buildFormState'\nimport { reduceFieldsToValues } from 'payload/shared'\n\nexport const getDocumentData = async (args: {\n collectionConfig?: SanitizedCollectionConfig\n globalConfig?: SanitizedGlobalConfig\n id?: number | string\n locale: Locale\n req: PayloadRequest\n schemaPath?: string\n}): Promise<{\n data: Data\n formState: FormState\n}> => {\n const { id, collectionConfig, globalConfig, locale, req, schemaPath: schemaPathFromProps } = args\n\n const schemaPath = schemaPathFromProps || collectionConfig?.slug || globalConfig?.slug\n\n try {\n const { state: formState } = await buildFormState({\n req: {\n ...req,\n data: {\n id,\n collectionSlug: collectionConfig?.slug,\n globalSlug: globalConfig?.slug,\n locale: locale?.code,\n operation: (collectionConfig && id) || globalConfig ? 'update' : 'create',\n schemaPath,\n },\n },\n })\n\n const data = reduceFieldsToValues(formState, true)\n\n return {\n data,\n formState,\n }\n } catch (error) {\n req.payload.logger.error({ err: error, msg: 'Error getting document data' })\n return {\n data: null,\n formState: {\n fields: {\n initialValue: undefined,\n valid: false,\n value: undefined,\n },\n },\n }\n }\n}\n"],"mappings":"AASA,SAASA,cAAc,QAAQ;AAC/B,SAASC,oBAAoB,QAAQ;AAErC,OAAO,MAAMC,eAAA,GAAkB,MAAOC,IAAA;EAWpC,MAAM;IAAEC,EAAE;IAAEC,gBAAgB;IAAEC,YAAY;IAAEC,MAAM;IAAEC,GAAG;IAAEC,UAAA,EAAYC;EAAmB,CAAE,GAAGP,IAAA;EAE7F,MAAMM,UAAA,GAAaC,mBAAA,IAAuBL,gBAAA,EAAkBM,IAAA,IAAQL,YAAA,EAAcK,IAAA;EAElF,IAAI;IACF,MAAM;MAAEC,KAAA,EAAOC;IAAS,CAAE,GAAG,MAAMb,cAAA,CAAe;MAChDQ,GAAA,EAAK;QACH,GAAGA,GAAG;QACNM,IAAA,EAAM;UACJV,EAAA;UACAW,cAAA,EAAgBV,gBAAA,EAAkBM,IAAA;UAClCK,UAAA,EAAYV,YAAA,EAAcK,IAAA;UAC1BJ,MAAA,EAAQA,MAAA,EAAQU,IAAA;UAChBC,SAAA,EAAWb,gBAAC,IAAoBD,EAAA,IAAOE,YAAA,GAAe,WAAW;UACjEG;QACF;MACF;IACF;IAEA,MAAMK,IAAA,GAAOb,oBAAA,CAAqBY,SAAA,EAAW;IAE7C,OAAO;MACLC,IAAA;MACAD;IACF;EACF,EAAE,OAAOM,KAAA,EAAO;IACdX,GAAA,CAAIY,OAAO,CAACC,MAAM,CAACF,KAAK,CAAC;MAAEG,GAAA,EAAKH,KAAA;MAAOI,GAAA,EAAK;IAA8B;IAC1E,OAAO;MACLT,IAAA,EAAM;MACND,SAAA,EAAW;QACTW,MAAA,EAAQ;UACNC,YAAA,EAAcC,SAAA;UACdC,KAAA,EAAO;UACPC,KAAA,EAAOF;QACT;MACF;IACF;EACF;AACF","ignoreList":[]}
@@ -43,8 +43,7 @@ export const getDocumentPermissions = async args => {
43
43
  }) => update?.permission);
44
44
  }
45
45
  } catch (error) {
46
- console.error(error) // eslint-disable-line no-console
47
- ;
46
+ req.payload.logger.error(error);
48
47
  }
49
48
  }
50
49
  if (globalConfig) {
@@ -71,8 +70,7 @@ export const getDocumentPermissions = async args => {
71
70
  }) => update?.permission);
72
71
  }
73
72
  } catch (error) {
74
- console.error(error) // eslint-disable-line no-console
75
- ;
73
+ req.payload.logger.error(error);
76
74
  }
77
75
  }
78
76
  const hasSavePermission = getHasSavePermission({
@@ -1 +1 @@
1
- {"version":3,"file":"getDocumentPermissions.js","names":["hasSavePermission","getHasSavePermission","isEditing","getIsEditing","docAccessOperation","docAccessOperationGlobal","getDocumentPermissions","args","id","collectionConfig","data","globalConfig","req","docPermissions","hasPublishPermission","toString","collection","config","_status","versions","drafts","then","update","permission","error","console","collectionSlug","slug","globalSlug"],"sources":["../../../src/views/Document/getDocumentPermissions.tsx"],"sourcesContent":["import type {\n Data,\n DocumentPermissions,\n PayloadRequest,\n SanitizedCollectionConfig,\n SanitizedGlobalConfig,\n} from 'payload'\n\nimport {\n hasSavePermission as getHasSavePermission,\n isEditing as getIsEditing,\n} from '@payloadcms/ui/shared'\nimport { docAccessOperation, docAccessOperationGlobal } from 'payload'\n\nexport const getDocumentPermissions = async (args: {\n collectionConfig?: SanitizedCollectionConfig\n data: Data\n globalConfig?: SanitizedGlobalConfig\n id?: number | string\n req: PayloadRequest\n}): Promise<{\n docPermissions: DocumentPermissions\n hasPublishPermission: boolean\n hasSavePermission: boolean\n}> => {\n const { id, collectionConfig, data = {}, globalConfig, req } = args\n\n let docPermissions: DocumentPermissions\n let hasPublishPermission = false\n\n if (collectionConfig) {\n try {\n docPermissions = await docAccessOperation({\n id: id?.toString(),\n collection: {\n config: collectionConfig,\n },\n req: {\n ...req,\n data: {\n ...data,\n _status: 'draft',\n },\n },\n })\n\n if (collectionConfig.versions?.drafts) {\n hasPublishPermission = await docAccessOperation({\n id: id?.toString(),\n collection: {\n config: collectionConfig,\n },\n req: {\n ...req,\n data: {\n ...data,\n _status: 'published',\n },\n },\n }).then(({ update }) => update?.permission)\n }\n } catch (error) {\n console.error(error) // eslint-disable-line no-console\n }\n }\n\n if (globalConfig) {\n try {\n docPermissions = await docAccessOperationGlobal({\n globalConfig,\n req: {\n ...req,\n data,\n },\n })\n\n if (globalConfig.versions?.drafts) {\n hasPublishPermission = await docAccessOperationGlobal({\n globalConfig,\n req: {\n ...req,\n data: {\n ...data,\n _status: 'published',\n },\n },\n }).then(({ update }) => update?.permission)\n }\n } catch (error) {\n console.error(error) // eslint-disable-line no-console\n }\n }\n\n const hasSavePermission = getHasSavePermission({\n collectionSlug: collectionConfig?.slug,\n docPermissions,\n globalSlug: globalConfig?.slug,\n isEditing: getIsEditing({\n id,\n collectionSlug: collectionConfig?.slug,\n globalSlug: globalConfig?.slug,\n }),\n })\n\n return {\n docPermissions,\n hasPublishPermission,\n hasSavePermission,\n }\n}\n"],"mappings":"AAQA,SACEA,iBAAA,IAAqBC,oBAAoB,EACzCC,SAAA,IAAaC,YAAY,QACpB;AACP,SAASC,kBAAkB,EAAEC,wBAAwB,QAAQ;AAE7D,OAAO,MAAMC,sBAAA,GAAyB,MAAOC,IAAA;EAW3C,MAAM;IAAEC,EAAE;IAAEC,gBAAgB;IAAEC,IAAA,GAAO,CAAC,CAAC;IAAEC,YAAY;IAAEC;EAAG,CAAE,GAAGL,IAAA;EAE/D,IAAIM,cAAA;EACJ,IAAIC,oBAAA,GAAuB;EAE3B,IAAIL,gBAAA,EAAkB;IACpB,IAAI;MACFI,cAAA,GAAiB,MAAMT,kBAAA,CAAmB;QACxCI,EAAA,EAAIA,EAAA,EAAIO,QAAA;QACRC,UAAA,EAAY;UACVC,MAAA,EAAQR;QACV;QACAG,GAAA,EAAK;UACH,GAAGA,GAAG;UACNF,IAAA,EAAM;YACJ,GAAGA,IAAI;YACPQ,OAAA,EAAS;UACX;QACF;MACF;MAEA,IAAIT,gBAAA,CAAiBU,QAAQ,EAAEC,MAAA,EAAQ;QACrCN,oBAAA,GAAuB,MAAMV,kBAAA,CAAmB;UAC9CI,EAAA,EAAIA,EAAA,EAAIO,QAAA;UACRC,UAAA,EAAY;YACVC,MAAA,EAAQR;UACV;UACAG,GAAA,EAAK;YACH,GAAGA,GAAG;YACNF,IAAA,EAAM;cACJ,GAAGA,IAAI;cACPQ,OAAA,EAAS;YACX;UACF;QACF,GAAGG,IAAI,CAAC,CAAC;UAAEC;QAAM,CAAE,KAAKA,MAAA,EAAQC,UAAA;MAClC;IACF,EAAE,OAAOC,KAAA,EAAO;MACdC,OAAA,CAAQD,KAAK,CAACA,KAAA,EAAO;MAAA;IACvB;EACF;EAEA,IAAIb,YAAA,EAAc;IAChB,IAAI;MACFE,cAAA,GAAiB,MAAMR,wBAAA,CAAyB;QAC9CM,YAAA;QACAC,GAAA,EAAK;UACH,GAAGA,GAAG;UACNF;QACF;MACF;MAEA,IAAIC,YAAA,CAAaQ,QAAQ,EAAEC,MAAA,EAAQ;QACjCN,oBAAA,GAAuB,MAAMT,wBAAA,CAAyB;UACpDM,YAAA;UACAC,GAAA,EAAK;YACH,GAAGA,GAAG;YACNF,IAAA,EAAM;cACJ,GAAGA,IAAI;cACPQ,OAAA,EAAS;YACX;UACF;QACF,GAAGG,IAAI,CAAC,CAAC;UAAEC;QAAM,CAAE,KAAKA,MAAA,EAAQC,UAAA;MAClC;IACF,EAAE,OAAOC,KAAA,EAAO;MACdC,OAAA,CAAQD,KAAK,CAACA,KAAA,EAAO;MAAA;IACvB;EACF;EAEA,MAAMxB,iBAAA,GAAoBC,oBAAA,CAAqB;IAC7CyB,cAAA,EAAgBjB,gBAAA,EAAkBkB,IAAA;IAClCd,cAAA;IACAe,UAAA,EAAYjB,YAAA,EAAcgB,IAAA;IAC1BzB,SAAA,EAAWC,YAAA,CAAa;MACtBK,EAAA;MACAkB,cAAA,EAAgBjB,gBAAA,EAAkBkB,IAAA;MAClCC,UAAA,EAAYjB,YAAA,EAAcgB;IAC5B;EACF;EAEA,OAAO;IACLd,cAAA;IACAC,oBAAA;IACAd;EACF;AACF","ignoreList":[]}
1
+ {"version":3,"file":"getDocumentPermissions.js","names":["hasSavePermission","getHasSavePermission","isEditing","getIsEditing","docAccessOperation","docAccessOperationGlobal","getDocumentPermissions","args","id","collectionConfig","data","globalConfig","req","docPermissions","hasPublishPermission","toString","collection","config","_status","versions","drafts","then","update","permission","error","payload","logger","collectionSlug","slug","globalSlug"],"sources":["../../../src/views/Document/getDocumentPermissions.tsx"],"sourcesContent":["import type {\n Data,\n DocumentPermissions,\n PayloadRequest,\n SanitizedCollectionConfig,\n SanitizedGlobalConfig,\n} from 'payload'\n\nimport {\n hasSavePermission as getHasSavePermission,\n isEditing as getIsEditing,\n} from '@payloadcms/ui/shared'\nimport { docAccessOperation, docAccessOperationGlobal } from 'payload'\n\nexport const getDocumentPermissions = async (args: {\n collectionConfig?: SanitizedCollectionConfig\n data: Data\n globalConfig?: SanitizedGlobalConfig\n id?: number | string\n req: PayloadRequest\n}): Promise<{\n docPermissions: DocumentPermissions\n hasPublishPermission: boolean\n hasSavePermission: boolean\n}> => {\n const { id, collectionConfig, data = {}, globalConfig, req } = args\n\n let docPermissions: DocumentPermissions\n let hasPublishPermission = false\n\n if (collectionConfig) {\n try {\n docPermissions = await docAccessOperation({\n id: id?.toString(),\n collection: {\n config: collectionConfig,\n },\n req: {\n ...req,\n data: {\n ...data,\n _status: 'draft',\n },\n },\n })\n\n if (collectionConfig.versions?.drafts) {\n hasPublishPermission = await docAccessOperation({\n id: id?.toString(),\n collection: {\n config: collectionConfig,\n },\n req: {\n ...req,\n data: {\n ...data,\n _status: 'published',\n },\n },\n }).then(({ update }) => update?.permission)\n }\n } catch (error) {\n req.payload.logger.error(error)\n }\n }\n\n if (globalConfig) {\n try {\n docPermissions = await docAccessOperationGlobal({\n globalConfig,\n req: {\n ...req,\n data,\n },\n })\n\n if (globalConfig.versions?.drafts) {\n hasPublishPermission = await docAccessOperationGlobal({\n globalConfig,\n req: {\n ...req,\n data: {\n ...data,\n _status: 'published',\n },\n },\n }).then(({ update }) => update?.permission)\n }\n } catch (error) {\n req.payload.logger.error(error)\n }\n }\n\n const hasSavePermission = getHasSavePermission({\n collectionSlug: collectionConfig?.slug,\n docPermissions,\n globalSlug: globalConfig?.slug,\n isEditing: getIsEditing({\n id,\n collectionSlug: collectionConfig?.slug,\n globalSlug: globalConfig?.slug,\n }),\n })\n\n return {\n docPermissions,\n hasPublishPermission,\n hasSavePermission,\n }\n}\n"],"mappings":"AAQA,SACEA,iBAAA,IAAqBC,oBAAoB,EACzCC,SAAA,IAAaC,YAAY,QACpB;AACP,SAASC,kBAAkB,EAAEC,wBAAwB,QAAQ;AAE7D,OAAO,MAAMC,sBAAA,GAAyB,MAAOC,IAAA;EAW3C,MAAM;IAAEC,EAAE;IAAEC,gBAAgB;IAAEC,IAAA,GAAO,CAAC,CAAC;IAAEC,YAAY;IAAEC;EAAG,CAAE,GAAGL,IAAA;EAE/D,IAAIM,cAAA;EACJ,IAAIC,oBAAA,GAAuB;EAE3B,IAAIL,gBAAA,EAAkB;IACpB,IAAI;MACFI,cAAA,GAAiB,MAAMT,kBAAA,CAAmB;QACxCI,EAAA,EAAIA,EAAA,EAAIO,QAAA;QACRC,UAAA,EAAY;UACVC,MAAA,EAAQR;QACV;QACAG,GAAA,EAAK;UACH,GAAGA,GAAG;UACNF,IAAA,EAAM;YACJ,GAAGA,IAAI;YACPQ,OAAA,EAAS;UACX;QACF;MACF;MAEA,IAAIT,gBAAA,CAAiBU,QAAQ,EAAEC,MAAA,EAAQ;QACrCN,oBAAA,GAAuB,MAAMV,kBAAA,CAAmB;UAC9CI,EAAA,EAAIA,EAAA,EAAIO,QAAA;UACRC,UAAA,EAAY;YACVC,MAAA,EAAQR;UACV;UACAG,GAAA,EAAK;YACH,GAAGA,GAAG;YACNF,IAAA,EAAM;cACJ,GAAGA,IAAI;cACPQ,OAAA,EAAS;YACX;UACF;QACF,GAAGG,IAAI,CAAC,CAAC;UAAEC;QAAM,CAAE,KAAKA,MAAA,EAAQC,UAAA;MAClC;IACF,EAAE,OAAOC,KAAA,EAAO;MACdZ,GAAA,CAAIa,OAAO,CAACC,MAAM,CAACF,KAAK,CAACA,KAAA;IAC3B;EACF;EAEA,IAAIb,YAAA,EAAc;IAChB,IAAI;MACFE,cAAA,GAAiB,MAAMR,wBAAA,CAAyB;QAC9CM,YAAA;QACAC,GAAA,EAAK;UACH,GAAGA,GAAG;UACNF;QACF;MACF;MAEA,IAAIC,YAAA,CAAaQ,QAAQ,EAAEC,MAAA,EAAQ;QACjCN,oBAAA,GAAuB,MAAMT,wBAAA,CAAyB;UACpDM,YAAA;UACAC,GAAA,EAAK;YACH,GAAGA,GAAG;YACNF,IAAA,EAAM;cACJ,GAAGA,IAAI;cACPQ,OAAA,EAAS;YACX;UACF;QACF,GAAGG,IAAI,CAAC,CAAC;UAAEC;QAAM,CAAE,KAAKA,MAAA,EAAQC,UAAA;MAClC;IACF,EAAE,OAAOC,KAAA,EAAO;MACdZ,GAAA,CAAIa,OAAO,CAACC,MAAM,CAACF,KAAK,CAACA,KAAA;IAC3B;EACF;EAEA,MAAMxB,iBAAA,GAAoBC,oBAAA,CAAqB;IAC7C0B,cAAA,EAAgBlB,gBAAA,EAAkBmB,IAAA;IAClCf,cAAA;IACAgB,UAAA,EAAYlB,YAAA,EAAciB,IAAA;IAC1B1B,SAAA,EAAWC,YAAA,CAAa;MACtBK,EAAA;MACAmB,cAAA,EAAgBlB,gBAAA,EAAkBmB,IAAA;MAClCC,UAAA,EAAYlB,YAAA,EAAciB;IAC5B;EACF;EAEA,OAAO;IACLf,cAAA;IACAC,oBAAA;IACAd;EACF;AACF","ignoreList":[]}
@@ -52,7 +52,7 @@ export const LoginView = ({
52
52
  const mappedBeforeLogins = createMappedComponent(beforeLogin, undefined, undefined, 'beforeLogin');
53
53
  const mappedAfterLogins = createMappedComponent(afterLogin, undefined, undefined, 'afterLogin');
54
54
  if (user) {
55
- redirect(admin);
55
+ redirect(searchParams.redirect || admin);
56
56
  }
57
57
  const collectionConfig = collections.find(({
58
58
  slug
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["getCreateMappedComponent","RenderComponent","redirect","React","Fragment","Logo","LoginForm","generateLoginMetadata","loginBaseClass","LoginView","initPageResult","params","searchParams","locale","permissions","req","i18n","payload","config","user","admin","components","afterLogin","beforeLogin","userSlug","collections","routes","createMappedComponent","importMap","serverProps","mappedBeforeLogins","undefined","mappedAfterLogins","collectionConfig","find","slug","prefillAutoLogin","autoLogin","prefillOnly","prefillUsername","username","prefillEmail","email","prefillPassword","password","_jsxs","_jsx","className","mappedComponent","auth","disableLocalStrategy"],"sources":["../../../src/views/Login/index.tsx"],"sourcesContent":["import type { AdminViewProps } from 'payload'\n\nimport { getCreateMappedComponent, RenderComponent } from '@payloadcms/ui/shared'\nimport { redirect } from 'next/navigation.js'\nimport React, { Fragment } from 'react'\n\nimport { Logo } from '../../elements/Logo/index.js'\nimport './index.scss'\nimport { LoginForm } from './LoginForm/index.js'\n\nexport { generateLoginMetadata } from './meta.js'\n\nexport const loginBaseClass = 'login'\n\nexport const LoginView: React.FC<AdminViewProps> = ({ initPageResult, params, searchParams }) => {\n const { locale, permissions, req } = initPageResult\n\n const {\n i18n,\n payload: { config },\n payload,\n user,\n } = req\n\n const {\n admin: { components: { afterLogin, beforeLogin } = {}, user: userSlug },\n collections,\n routes: { admin },\n } = config\n\n const createMappedComponent = getCreateMappedComponent({\n importMap: payload.importMap,\n serverProps: {\n i18n,\n locale,\n params,\n payload,\n permissions,\n searchParams,\n user,\n },\n })\n\n const mappedBeforeLogins = createMappedComponent(beforeLogin, undefined, undefined, 'beforeLogin')\n\n const mappedAfterLogins = createMappedComponent(afterLogin, undefined, undefined, 'afterLogin')\n\n if (user) {\n redirect(admin)\n }\n\n const collectionConfig = collections.find(({ slug }) => slug === userSlug)\n\n const prefillAutoLogin =\n typeof config.admin?.autoLogin === 'object' && config.admin?.autoLogin.prefillOnly\n\n const prefillUsername =\n prefillAutoLogin && typeof config.admin?.autoLogin === 'object'\n ? config.admin?.autoLogin.username\n : undefined\n\n const prefillEmail =\n prefillAutoLogin && typeof config.admin?.autoLogin === 'object'\n ? config.admin?.autoLogin.email\n : undefined\n\n const prefillPassword =\n prefillAutoLogin && typeof config.admin?.autoLogin === 'object'\n ? config.admin?.autoLogin.password\n : undefined\n\n return (\n <Fragment>\n <div className={`${loginBaseClass}__brand`}>\n <Logo\n i18n={i18n}\n locale={locale}\n params={params}\n payload={payload}\n permissions={permissions}\n searchParams={searchParams}\n user={user}\n />\n </div>\n <RenderComponent mappedComponent={mappedBeforeLogins} />\n {!collectionConfig?.auth?.disableLocalStrategy && (\n <LoginForm\n prefillEmail={prefillEmail}\n prefillPassword={prefillPassword}\n prefillUsername={prefillUsername}\n searchParams={searchParams}\n />\n )}\n <RenderComponent mappedComponent={mappedAfterLogins} />\n </Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["getCreateMappedComponent","RenderComponent","redirect","React","Fragment","Logo","LoginForm","generateLoginMetadata","loginBaseClass","LoginView","initPageResult","params","searchParams","locale","permissions","req","i18n","payload","config","user","admin","components","afterLogin","beforeLogin","userSlug","collections","routes","createMappedComponent","importMap","serverProps","mappedBeforeLogins","undefined","mappedAfterLogins","collectionConfig","find","slug","prefillAutoLogin","autoLogin","prefillOnly","prefillUsername","username","prefillEmail","email","prefillPassword","password","_jsxs","_jsx","className","mappedComponent","auth","disableLocalStrategy"],"sources":["../../../src/views/Login/index.tsx"],"sourcesContent":["import type { AdminViewProps } from 'payload'\n\nimport { getCreateMappedComponent, RenderComponent } from '@payloadcms/ui/shared'\nimport { redirect } from 'next/navigation.js'\nimport React, { Fragment } from 'react'\n\nimport { Logo } from '../../elements/Logo/index.js'\nimport './index.scss'\nimport { LoginForm } from './LoginForm/index.js'\n\nexport { generateLoginMetadata } from './meta.js'\n\nexport const loginBaseClass = 'login'\n\nexport const LoginView: React.FC<AdminViewProps> = ({ initPageResult, params, searchParams }) => {\n const { locale, permissions, req } = initPageResult\n\n const {\n i18n,\n payload: { config },\n payload,\n user,\n } = req\n\n const {\n admin: { components: { afterLogin, beforeLogin } = {}, user: userSlug },\n collections,\n routes: { admin },\n } = config\n\n const createMappedComponent = getCreateMappedComponent({\n importMap: payload.importMap,\n serverProps: {\n i18n,\n locale,\n params,\n payload,\n permissions,\n searchParams,\n user,\n },\n })\n\n const mappedBeforeLogins = createMappedComponent(beforeLogin, undefined, undefined, 'beforeLogin')\n\n const mappedAfterLogins = createMappedComponent(afterLogin, undefined, undefined, 'afterLogin')\n\n if (user) {\n redirect((searchParams.redirect as string) || admin)\n }\n\n const collectionConfig = collections.find(({ slug }) => slug === userSlug)\n\n const prefillAutoLogin =\n typeof config.admin?.autoLogin === 'object' && config.admin?.autoLogin.prefillOnly\n\n const prefillUsername =\n prefillAutoLogin && typeof config.admin?.autoLogin === 'object'\n ? config.admin?.autoLogin.username\n : undefined\n\n const prefillEmail =\n prefillAutoLogin && typeof config.admin?.autoLogin === 'object'\n ? config.admin?.autoLogin.email\n : undefined\n\n const prefillPassword =\n prefillAutoLogin && typeof config.admin?.autoLogin === 'object'\n ? config.admin?.autoLogin.password\n : undefined\n\n return (\n <Fragment>\n <div className={`${loginBaseClass}__brand`}>\n <Logo\n i18n={i18n}\n locale={locale}\n params={params}\n payload={payload}\n permissions={permissions}\n searchParams={searchParams}\n user={user}\n />\n </div>\n <RenderComponent mappedComponent={mappedBeforeLogins} />\n {!collectionConfig?.auth?.disableLocalStrategy && (\n <LoginForm\n prefillEmail={prefillEmail}\n prefillPassword={prefillPassword}\n prefillUsername={prefillUsername}\n searchParams={searchParams}\n />\n )}\n <RenderComponent mappedComponent={mappedAfterLogins} />\n </Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"LogoutClient.d.ts","sourceRoot":"","sources":["../../../src/views/Logout/LogoutClient.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAoB,MAAM,OAAO,CAAA;AAExC,OAAO,cAAc,CAAA;AAMrB,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC;IAClC,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,QAAQ,EAAE,MAAM,CAAA;CACjB,CAgDA,CAAA"}
1
+ {"version":3,"file":"LogoutClient.d.ts","sourceRoot":"","sources":["../../../src/views/Logout/LogoutClient.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAoB,MAAM,OAAO,CAAA;AAExC,OAAO,cAAc,CAAA;AAMrB,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC;IAClC,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,QAAQ,EAAE,MAAM,CAAA;CACjB,CAiDA,CAAA"}
@@ -16,7 +16,11 @@ export const LogoutClient = props => {
16
16
  inactivity,
17
17
  redirect
18
18
  } = props;
19
- const [isLoggedOut, setIsLoggedOut] = React.useState(undefined);
19
+ const {
20
+ logOut,
21
+ user
22
+ } = useAuth();
23
+ const [isLoggedOut, setIsLoggedOut] = React.useState(!user);
20
24
  const logOutSuccessRef = React.useRef(false);
21
25
  let t0;
22
26
  if ($[0] !== adminRoute || $[1] !== inactivity || $[2] !== redirect) {
@@ -32,9 +36,6 @@ export const LogoutClient = props => {
32
36
  t0 = $[3];
33
37
  }
34
38
  const [loginRoute] = React.useState(t0);
35
- const {
36
- logOut
37
- } = useAuth();
38
39
  const {
39
40
  t
40
41
  } = useTranslation();
@@ -1 +1 @@
1
- {"version":3,"file":"LogoutClient.js","names":["c","_c","Button","LoadingOverlay","toast","useAuth","useTranslation","formatAdminURL","LinkImport","useRouter","React","useEffect","baseClass","Link","default","LogoutClient","props","$","adminRoute","inactivity","redirect","isLoggedOut","setIsLoggedOut","useState","undefined","logOutSuccessRef","useRef","t0","path","length","encodeURIComponent","loginRoute","logOut","t","router","t1","loggedOut","current","success","push","handleLogOut","t2","t3","t4","_jsxs","className","children","_jsx","buttonStyle","el","size","url","animationDuration","loadingText"],"sources":["../../../src/views/Logout/LogoutClient.tsx"],"sourcesContent":["'use client'\nimport { Button, LoadingOverlay, toast, useAuth, useTranslation } from '@payloadcms/ui'\nimport { formatAdminURL } from '@payloadcms/ui/shared'\nimport LinkImport from 'next/link.js'\nimport { useRouter } from 'next/navigation.js'\nimport React, { useEffect } from 'react'\n\nimport './index.scss'\n\nconst baseClass = 'logout'\n\nconst Link = (LinkImport.default || LinkImport) as unknown as typeof LinkImport.default\n\nexport const LogoutClient: React.FC<{\n adminRoute: string\n inactivity?: boolean\n redirect: string\n}> = (props) => {\n const { adminRoute, inactivity, redirect } = props\n\n const [isLoggedOut, setIsLoggedOut] = React.useState<boolean | undefined>(undefined)\n const logOutSuccessRef = React.useRef(false)\n const [loginRoute] = React.useState(() =>\n formatAdminURL({\n adminRoute,\n path: `/login${\n inactivity && redirect && redirect.length > 0\n ? `?redirect=${encodeURIComponent(redirect)}`\n : ''\n }`,\n }),\n )\n const { logOut } = useAuth()\n const { t } = useTranslation()\n const router = useRouter()\n\n const handleLogOut = React.useCallback(async () => {\n const loggedOut = await logOut()\n setIsLoggedOut(loggedOut)\n if (!inactivity && loggedOut && !logOutSuccessRef.current) {\n toast.success(t('authentication:loggedOutSuccessfully'))\n logOutSuccessRef.current = true\n router.push(loginRoute)\n return\n }\n }, [inactivity, logOut, loginRoute, router, t])\n\n useEffect(() => {\n if (!isLoggedOut) {\n void handleLogOut()\n }\n }, [handleLogOut, isLoggedOut])\n\n if (isLoggedOut && inactivity) {\n return (\n <div className={`${baseClass}__wrap`}>\n <h2>{t('authentication:loggedOutInactivity')}</h2>\n <Button buttonStyle=\"secondary\" el=\"link\" Link={Link} size=\"large\" url={loginRoute}>\n {t('authentication:logBackIn')}\n </Button>\n </div>\n )\n }\n\n return <LoadingOverlay animationDuration={'0ms'} loadingText={t('authentication:loggingOut')} />\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"LogoutClient.js","names":["c","_c","Button","LoadingOverlay","toast","useAuth","useTranslation","formatAdminURL","LinkImport","useRouter","React","useEffect","baseClass","Link","default","LogoutClient","props","$","adminRoute","inactivity","redirect","logOut","user","isLoggedOut","setIsLoggedOut","useState","logOutSuccessRef","useRef","t0","path","length","encodeURIComponent","loginRoute","t","router","t1","loggedOut","current","success","push","handleLogOut","t2","t3","t4","_jsxs","className","children","_jsx","buttonStyle","el","size","url","animationDuration","loadingText"],"sources":["../../../src/views/Logout/LogoutClient.tsx"],"sourcesContent":["'use client'\nimport { Button, LoadingOverlay, toast, useAuth, useTranslation } from '@payloadcms/ui'\nimport { formatAdminURL } from '@payloadcms/ui/shared'\nimport LinkImport from 'next/link.js'\nimport { useRouter } from 'next/navigation.js'\nimport React, { useEffect } from 'react'\n\nimport './index.scss'\n\nconst baseClass = 'logout'\n\nconst Link = (LinkImport.default || LinkImport) as unknown as typeof LinkImport.default\n\nexport const LogoutClient: React.FC<{\n adminRoute: string\n inactivity?: boolean\n redirect: string\n}> = (props) => {\n const { adminRoute, inactivity, redirect } = props\n\n const { logOut, user } = useAuth()\n const [isLoggedOut, setIsLoggedOut] = React.useState<boolean>(!user)\n const logOutSuccessRef = React.useRef(false)\n const [loginRoute] = React.useState(() =>\n formatAdminURL({\n adminRoute,\n path: `/login${\n inactivity && redirect && redirect.length > 0\n ? `?redirect=${encodeURIComponent(redirect)}`\n : ''\n }`,\n }),\n )\n\n const { t } = useTranslation()\n const router = useRouter()\n\n const handleLogOut = React.useCallback(async () => {\n const loggedOut = await logOut()\n setIsLoggedOut(loggedOut)\n if (!inactivity && loggedOut && !logOutSuccessRef.current) {\n toast.success(t('authentication:loggedOutSuccessfully'))\n logOutSuccessRef.current = true\n router.push(loginRoute)\n return\n }\n }, [inactivity, logOut, loginRoute, router, t])\n\n useEffect(() => {\n if (!isLoggedOut) {\n void handleLogOut()\n }\n }, [handleLogOut, isLoggedOut])\n\n if (isLoggedOut && inactivity) {\n return (\n <div className={`${baseClass}__wrap`}>\n <h2>{t('authentication:loggedOutInactivity')}</h2>\n <Button buttonStyle=\"secondary\" el=\"link\" Link={Link} size=\"large\" url={loginRoute}>\n {t('authentication:logBackIn')}\n </Button>\n </div>\n )\n }\n\n return <LoadingOverlay animationDuration={'0ms'} loadingText={t('authentication:loggingOut')} />\n}\n"],"mappings":"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","ignoreList":[]}
@@ -84,7 +84,7 @@ const Restore = ({
84
84
  className: [canRestoreAsDraft && `${baseClass}__button`].filter(Boolean).join(' '),
85
85
  onClick: () => toggleModal(modalSlug),
86
86
  size: "small",
87
- SubMenuPopupContent: canRestoreAsDraft && /*#__PURE__*/_jsx(PopupList.ButtonGroup, {
87
+ SubMenuPopupContent: () => canRestoreAsDraft && /*#__PURE__*/_jsx(PopupList.ButtonGroup, {
88
88
  children: /*#__PURE__*/_jsx(PopupList.Button, {
89
89
  onClick: () => [setDraft(true), toggleModal(modalSlug)],
90
90
  children: t('version:restoreAsDraft')
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["getTranslation","Button","Modal","PopupList","useConfig","useModal","useTranslation","formatAdminURL","requests","useRouter","React","Fragment","useCallback","useState","toast","baseClass","modalSlug","Restore","className","collectionSlug","globalSlug","label","originalDocID","status","versionDate","versionID","config","collections","routes","admin","adminRoute","api","apiRoute","serverURL","collectionConfig","find","collection","slug","toggleModal","processing","setProcessing","router","i18n","t","draft","setDraft","restoreMessage","fetchURL","redirectURL","canRestoreAsDraft","versions","drafts","path","handleRestore","res","post","headers","language","json","success","message","push","error","_jsxs","_jsx","filter","Boolean","join","buttonStyle","onClick","size","SubMenuPopupContent","ButtonGroup","undefined","type"],"sources":["../../../../src/views/Version/Restore/index.tsx"],"sourcesContent":["'use client'\nimport { getTranslation } from '@payloadcms/translations'\nimport {\n Button,\n ChevronIcon,\n Modal,\n Pill,\n Popup,\n PopupList,\n useConfig,\n useModal,\n useTranslation,\n} from '@payloadcms/ui'\nimport { formatAdminURL, requests } from '@payloadcms/ui/shared'\nimport { useRouter } from 'next/navigation.js'\nimport React, { Fragment, useCallback, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport type { Props } from './types.js'\n\nimport './index.scss'\n\nconst baseClass = 'restore-version'\nconst modalSlug = 'restore-version'\n\nconst Restore: React.FC<Props> = ({\n className,\n collectionSlug,\n globalSlug,\n label,\n originalDocID,\n status,\n versionDate,\n versionID,\n}) => {\n const {\n config: {\n collections,\n routes: { admin: adminRoute, api: apiRoute },\n serverURL,\n },\n } = useConfig()\n\n const collectionConfig = collections.find((collection) => collection.slug === collectionSlug)\n\n const { toggleModal } = useModal()\n const [processing, setProcessing] = useState(false)\n const router = useRouter()\n const { i18n, t } = useTranslation()\n const [draft, setDraft] = useState(false)\n\n const restoreMessage = t('version:aboutToRestoreGlobal', {\n label: getTranslation(label, i18n),\n versionDate,\n })\n\n let fetchURL = `${serverURL}${apiRoute}`\n let redirectURL: string\n\n const canRestoreAsDraft = status !== 'draft' && collectionConfig?.versions?.drafts\n\n if (collectionSlug) {\n fetchURL = `${fetchURL}/${collectionSlug}/versions/${versionID}?draft=${draft}`\n redirectURL = formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/${originalDocID}`,\n })\n }\n\n if (globalSlug) {\n fetchURL = `${fetchURL}/globals/${globalSlug}/versions/${versionID}?draft=${draft}`\n redirectURL = formatAdminURL({\n adminRoute,\n path: `/globals/${globalSlug}`,\n })\n }\n\n const handleRestore = useCallback(async () => {\n setProcessing(true)\n\n const res = await requests.post(fetchURL, {\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n\n if (res.status === 200) {\n const json = await res.json()\n toast.success(json.message)\n router.push(redirectURL)\n } else {\n toast.error(t('version:problemRestoringVersion'))\n }\n }, [fetchURL, redirectURL, t, i18n, router])\n return (\n <Fragment>\n <div className={[baseClass, className].filter(Boolean).join(' ')}>\n <Button\n buttonStyle=\"pill\"\n className={[canRestoreAsDraft && `${baseClass}__button`].filter(Boolean).join(' ')}\n onClick={() => toggleModal(modalSlug)}\n size=\"small\"\n SubMenuPopupContent={\n canRestoreAsDraft && (\n <PopupList.ButtonGroup>\n <PopupList.Button onClick={() => [setDraft(true), toggleModal(modalSlug)]}>\n {t('version:restoreAsDraft')}\n </PopupList.Button>\n </PopupList.ButtonGroup>\n )\n }\n >\n {t('version:restoreThisVersion')}\n </Button>\n </div>\n <Modal className={`${baseClass}__modal`} slug={modalSlug}>\n <div className={`${baseClass}__wrapper`}>\n <div className={`${baseClass}__content`}>\n <h1>{t('version:confirmVersionRestoration')}</h1>\n <p>{restoreMessage}</p>\n </div>\n <div className={`${baseClass}__controls`}>\n <Button\n buttonStyle=\"secondary\"\n onClick={processing ? undefined : () => toggleModal(modalSlug)}\n size=\"large\"\n type=\"button\"\n >\n {t('general:cancel')}\n </Button>\n <Button onClick={processing ? undefined : () => void handleRestore()}>\n {processing ? t('version:restoring') : t('general:confirm')}\n </Button>\n </div>\n </div>\n </Modal>\n </Fragment>\n )\n}\n\nexport default Restore\n"],"mappings":"AAAA;;;AACA,SAASA,cAAc,QAAQ;AAC/B,SACEC,MAAM,EAENC,KAAK,EAGLC,SAAS,EACTC,SAAS,EACTC,QAAQ,EACRC,cAAc,QACT;AACP,SAASC,cAAc,EAAEC,QAAQ,QAAQ;AACzC,SAASC,SAAS,QAAQ;AAC1B,OAAOC,KAAA,IAASC,QAAQ,EAAEC,WAAW,EAAEC,QAAQ,QAAQ;AACvD,SAASC,KAAK,QAAQ;AAMtB,MAAMC,SAAA,GAAY;AAClB,MAAMC,SAAA,GAAY;AAElB,MAAMC,OAAA,GAA2BA,CAAC;EAChCC,SAAS;EACTC,cAAc;EACdC,UAAU;EACVC,KAAK;EACLC,aAAa;EACbC,MAAM;EACNC,WAAW;EACXC;AAAS,CACV;EACC,MAAM;IACJC,MAAA,EAAQ;MACNC,WAAW;MACXC,MAAA,EAAQ;QAAEC,KAAA,EAAOC,UAAU;QAAEC,GAAA,EAAKC;MAAQ,CAAE;MAC5CC;IAAS;EACV,CACF,GAAG7B,SAAA;EAEJ,MAAM8B,gBAAA,GAAmBP,WAAA,CAAYQ,IAAI,CAAEC,UAAA,IAAeA,UAAA,CAAWC,IAAI,KAAKlB,cAAA;EAE9E,MAAM;IAAEmB;EAAW,CAAE,GAAGjC,QAAA;EACxB,MAAM,CAACkC,UAAA,EAAYC,aAAA,CAAc,GAAG3B,QAAA,CAAS;EAC7C,MAAM4B,MAAA,GAAShC,SAAA;EACf,MAAM;IAAEiC,IAAI;IAAEC;EAAC,CAAE,GAAGrC,cAAA;EACpB,MAAM,CAACsC,KAAA,EAAOC,QAAA,CAAS,GAAGhC,QAAA,CAAS;EAEnC,MAAMiC,cAAA,GAAiBH,CAAA,CAAE,gCAAgC;IACvDtB,KAAA,EAAOrB,cAAA,CAAeqB,KAAA,EAAOqB,IAAA;IAC7BlB;EACF;EAEA,IAAIuB,QAAA,GAAW,GAAGd,SAAA,GAAYD,QAAA,EAAU;EACxC,IAAIgB,WAAA;EAEJ,MAAMC,iBAAA,GAAoB1B,MAAA,KAAW,WAAWW,gBAAA,EAAkBgB,QAAA,EAAUC,MAAA;EAE5E,IAAIhC,cAAA,EAAgB;IAClB4B,QAAA,GAAW,GAAGA,QAAA,IAAY5B,cAAA,aAA2BM,SAAA,UAAmBmB,KAAA,EAAO;IAC/EI,WAAA,GAAczC,cAAA,CAAe;MAC3BuB,UAAA;MACAsB,IAAA,EAAM,gBAAgBjC,cAAA,IAAkBG,aAAA;IAC1C;EACF;EAEA,IAAIF,UAAA,EAAY;IACd2B,QAAA,GAAW,GAAGA,QAAA,YAAoB3B,UAAA,aAAuBK,SAAA,UAAmBmB,KAAA,EAAO;IACnFI,WAAA,GAAczC,cAAA,CAAe;MAC3BuB,UAAA;MACAsB,IAAA,EAAM,YAAYhC,UAAA;IACpB;EACF;EAEA,MAAMiC,aAAA,GAAgBzC,WAAA,CAAY;IAChC4B,aAAA,CAAc;IAEd,MAAMc,GAAA,GAAM,MAAM9C,QAAA,CAAS+C,IAAI,CAACR,QAAA,EAAU;MACxCS,OAAA,EAAS;QACP,mBAAmBd,IAAA,CAAKe;MAC1B;IACF;IAEA,IAAIH,GAAA,CAAI/B,MAAM,KAAK,KAAK;MACtB,MAAMmC,IAAA,GAAO,MAAMJ,GAAA,CAAII,IAAI;MAC3B5C,KAAA,CAAM6C,OAAO,CAACD,IAAA,CAAKE,OAAO;MAC1BnB,MAAA,CAAOoB,IAAI,CAACb,WAAA;IACd,OAAO;MACLlC,KAAA,CAAMgD,KAAK,CAACnB,CAAA,CAAE;IAChB;EACF,GAAG,CAACI,QAAA,EAAUC,WAAA,EAAaL,CAAA,EAAGD,IAAA,EAAMD,MAAA,CAAO;EAC3C,oBACEsB,KAAA,CAACpD,QAAA;4BACCqD,IAAA,CAAC;MAAI9C,SAAA,EAAW,CAACH,SAAA,EAAWG,SAAA,CAAU,CAAC+C,MAAM,CAACC,OAAA,EAASC,IAAI,CAAC;gBAC1D,aAAAH,IAAA,CAAC/D,MAAA;QACCmE,WAAA,EAAY;QACZlD,SAAA,EAAW,CAAC+B,iBAAA,IAAqB,GAAGlC,SAAA,UAAmB,CAAC,CAACkD,MAAM,CAACC,OAAA,EAASC,IAAI,CAAC;QAC9EE,OAAA,EAASA,CAAA,KAAM/B,WAAA,CAAYtB,SAAA;QAC3BsD,IAAA,EAAK;QACLC,mBAAA,EACEtB,iBAAA,iBACEe,IAAA,CAAC7D,SAAA,CAAUqE,WAAW;oBACpB,aAAAR,IAAA,CAAC7D,SAAA,CAAUF,MAAM;YAACoE,OAAA,EAASA,CAAA,KAAM,CAACxB,QAAA,CAAS,OAAOP,WAAA,CAAYtB,SAAA,EAAW;sBACtE2B,CAAA,CAAE;;;kBAMVA,CAAA,CAAE;;qBAGPqB,IAAA,CAAC9D,KAAA;MAAMgB,SAAA,EAAW,GAAGH,SAAA,SAAkB;MAAEsB,IAAA,EAAMrB,SAAA;gBAC7C,aAAA+C,KAAA,CAAC;QAAI7C,SAAA,EAAW,GAAGH,SAAA,WAAoB;gCACrCgD,KAAA,CAAC;UAAI7C,SAAA,EAAW,GAAGH,SAAA,WAAoB;kCACrCiD,IAAA,CAAC;sBAAIrB,CAAA,CAAE;2BACPqB,IAAA,CAAC;sBAAGlB;;yBAENiB,KAAA,CAAC;UAAI7C,SAAA,EAAW,GAAGH,SAAA,YAAqB;kCACtCiD,IAAA,CAAC/D,MAAA;YACCmE,WAAA,EAAY;YACZC,OAAA,EAAS9B,UAAA,GAAakC,SAAA,GAAY,MAAMnC,WAAA,CAAYtB,SAAA;YACpDsD,IAAA,EAAK;YACLI,IAAA,EAAK;sBAEJ/B,CAAA,CAAE;2BAELqB,IAAA,CAAC/D,MAAA;YAAOoE,OAAA,EAAS9B,UAAA,GAAakC,SAAA,GAAY,MAAM,KAAKpB,aAAA;sBAClDd,UAAA,GAAaI,CAAA,CAAE,uBAAuBA,CAAA,CAAE;;;;;;AAOvD;AAEA,eAAe1B,OAAA","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["getTranslation","Button","Modal","PopupList","useConfig","useModal","useTranslation","formatAdminURL","requests","useRouter","React","Fragment","useCallback","useState","toast","baseClass","modalSlug","Restore","className","collectionSlug","globalSlug","label","originalDocID","status","versionDate","versionID","config","collections","routes","admin","adminRoute","api","apiRoute","serverURL","collectionConfig","find","collection","slug","toggleModal","processing","setProcessing","router","i18n","t","draft","setDraft","restoreMessage","fetchURL","redirectURL","canRestoreAsDraft","versions","drafts","path","handleRestore","res","post","headers","language","json","success","message","push","error","_jsxs","_jsx","filter","Boolean","join","buttonStyle","onClick","size","SubMenuPopupContent","ButtonGroup","undefined","type"],"sources":["../../../../src/views/Version/Restore/index.tsx"],"sourcesContent":["'use client'\nimport { getTranslation } from '@payloadcms/translations'\nimport {\n Button,\n ChevronIcon,\n Modal,\n Pill,\n Popup,\n PopupList,\n useConfig,\n useModal,\n useTranslation,\n} from '@payloadcms/ui'\nimport { formatAdminURL, requests } from '@payloadcms/ui/shared'\nimport { useRouter } from 'next/navigation.js'\nimport React, { Fragment, useCallback, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport type { Props } from './types.js'\n\nimport './index.scss'\n\nconst baseClass = 'restore-version'\nconst modalSlug = 'restore-version'\n\nconst Restore: React.FC<Props> = ({\n className,\n collectionSlug,\n globalSlug,\n label,\n originalDocID,\n status,\n versionDate,\n versionID,\n}) => {\n const {\n config: {\n collections,\n routes: { admin: adminRoute, api: apiRoute },\n serverURL,\n },\n } = useConfig()\n\n const collectionConfig = collections.find((collection) => collection.slug === collectionSlug)\n\n const { toggleModal } = useModal()\n const [processing, setProcessing] = useState(false)\n const router = useRouter()\n const { i18n, t } = useTranslation()\n const [draft, setDraft] = useState(false)\n\n const restoreMessage = t('version:aboutToRestoreGlobal', {\n label: getTranslation(label, i18n),\n versionDate,\n })\n\n let fetchURL = `${serverURL}${apiRoute}`\n let redirectURL: string\n\n const canRestoreAsDraft = status !== 'draft' && collectionConfig?.versions?.drafts\n\n if (collectionSlug) {\n fetchURL = `${fetchURL}/${collectionSlug}/versions/${versionID}?draft=${draft}`\n redirectURL = formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/${originalDocID}`,\n })\n }\n\n if (globalSlug) {\n fetchURL = `${fetchURL}/globals/${globalSlug}/versions/${versionID}?draft=${draft}`\n redirectURL = formatAdminURL({\n adminRoute,\n path: `/globals/${globalSlug}`,\n })\n }\n\n const handleRestore = useCallback(async () => {\n setProcessing(true)\n\n const res = await requests.post(fetchURL, {\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n\n if (res.status === 200) {\n const json = await res.json()\n toast.success(json.message)\n router.push(redirectURL)\n } else {\n toast.error(t('version:problemRestoringVersion'))\n }\n }, [fetchURL, redirectURL, t, i18n, router])\n return (\n <Fragment>\n <div className={[baseClass, className].filter(Boolean).join(' ')}>\n <Button\n buttonStyle=\"pill\"\n className={[canRestoreAsDraft && `${baseClass}__button`].filter(Boolean).join(' ')}\n onClick={() => toggleModal(modalSlug)}\n size=\"small\"\n SubMenuPopupContent={() =>\n canRestoreAsDraft && (\n <PopupList.ButtonGroup>\n <PopupList.Button onClick={() => [setDraft(true), toggleModal(modalSlug)]}>\n {t('version:restoreAsDraft')}\n </PopupList.Button>\n </PopupList.ButtonGroup>\n )\n }\n >\n {t('version:restoreThisVersion')}\n </Button>\n </div>\n <Modal className={`${baseClass}__modal`} slug={modalSlug}>\n <div className={`${baseClass}__wrapper`}>\n <div className={`${baseClass}__content`}>\n <h1>{t('version:confirmVersionRestoration')}</h1>\n <p>{restoreMessage}</p>\n </div>\n <div className={`${baseClass}__controls`}>\n <Button\n buttonStyle=\"secondary\"\n onClick={processing ? undefined : () => toggleModal(modalSlug)}\n size=\"large\"\n type=\"button\"\n >\n {t('general:cancel')}\n </Button>\n <Button onClick={processing ? undefined : () => void handleRestore()}>\n {processing ? t('version:restoring') : t('general:confirm')}\n </Button>\n </div>\n </div>\n </Modal>\n </Fragment>\n )\n}\n\nexport default Restore\n"],"mappings":"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","ignoreList":[]}
@@ -42,7 +42,7 @@ export async function getLatestVersion(args) {
42
42
  updatedAt: response.docs[0].updatedAt
43
43
  };
44
44
  } catch (e) {
45
- console.error(e);
45
+ payload.logger.error(e);
46
46
  return null;
47
47
  }
48
48
  }
@@ -1 +1 @@
1
- {"version":3,"file":"getLatestVersion.js","names":["getLatestVersion","args","slug","type","parentID","payload","status","and","equals","push","parent","sharedOptions","depth","limit","sort","where","response","findVersions","collection","findGlobalVersions","docs","length","id","updatedAt","e","console","error"],"sources":["../../../src/views/Versions/getLatestVersion.ts"],"sourcesContent":["import type { Payload, Where } from 'payload'\n\ntype ReturnType = {\n id: string\n updatedAt: string\n} | null\n\ntype Args = {\n parentID?: number | string\n payload: Payload\n slug: string\n status: 'draft' | 'published'\n type: 'collection' | 'global'\n}\nexport async function getLatestVersion(args: Args): Promise<ReturnType> {\n const { slug, type = 'collection', parentID, payload, status } = args\n\n const and: Where[] = [\n {\n 'version._status': {\n equals: status,\n },\n },\n ]\n\n if (type === 'collection' && parentID) {\n and.push({\n parent: {\n equals: parentID,\n },\n })\n }\n\n try {\n const sharedOptions = {\n depth: 0,\n limit: 1,\n sort: '-updatedAt',\n where: {\n and,\n },\n }\n\n const response =\n type === 'collection'\n ? await payload.findVersions({\n collection: slug,\n ...sharedOptions,\n })\n : await payload.findGlobalVersions({\n slug,\n ...sharedOptions,\n })\n\n if (!response.docs.length) {\n return null\n }\n\n return {\n id: response.docs[0].id,\n updatedAt: response.docs[0].updatedAt,\n }\n } catch (e) {\n console.error(e)\n return null\n }\n}\n"],"mappings":"AAcA,OAAO,eAAeA,iBAAiBC,IAAU;EAC/C,MAAM;IAAEC,IAAI;IAAEC,IAAA,GAAO,YAAY;IAAEC,QAAQ;IAAEC,OAAO;IAAEC;EAAM,CAAE,GAAGL,IAAA;EAEjE,MAAMM,GAAA,GAAe,CACnB;IACE,mBAAmB;MACjBC,MAAA,EAAQF;IACV;EACF,EACD;EAED,IAAIH,IAAA,KAAS,gBAAgBC,QAAA,EAAU;IACrCG,GAAA,CAAIE,IAAI,CAAC;MACPC,MAAA,EAAQ;QACNF,MAAA,EAAQJ;MACV;IACF;EACF;EAEA,IAAI;IACF,MAAMO,aAAA,GAAgB;MACpBC,KAAA,EAAO;MACPC,KAAA,EAAO;MACPC,IAAA,EAAM;MACNC,KAAA,EAAO;QACLR;MACF;IACF;IAEA,MAAMS,QAAA,GACJb,IAAA,KAAS,eACL,MAAME,OAAA,CAAQY,YAAY,CAAC;MACzBC,UAAA,EAAYhB,IAAA;MACZ,GAAGS;IACL,KACA,MAAMN,OAAA,CAAQc,kBAAkB,CAAC;MAC/BjB,IAAA;MACA,GAAGS;IACL;IAEN,IAAI,CAACK,QAAA,CAASI,IAAI,CAACC,MAAM,EAAE;MACzB,OAAO;IACT;IAEA,OAAO;MACLC,EAAA,EAAIN,QAAA,CAASI,IAAI,CAAC,EAAE,CAACE,EAAE;MACvBC,SAAA,EAAWP,QAAA,CAASI,IAAI,CAAC,EAAE,CAACG;IAC9B;EACF,EAAE,OAAOC,CAAA,EAAG;IACVC,OAAA,CAAQC,KAAK,CAACF,CAAA;IACd,OAAO;EACT;AACF","ignoreList":[]}
1
+ {"version":3,"file":"getLatestVersion.js","names":["getLatestVersion","args","slug","type","parentID","payload","status","and","equals","push","parent","sharedOptions","depth","limit","sort","where","response","findVersions","collection","findGlobalVersions","docs","length","id","updatedAt","e","logger","error"],"sources":["../../../src/views/Versions/getLatestVersion.ts"],"sourcesContent":["import type { Payload, Where } from 'payload'\n\ntype ReturnType = {\n id: string\n updatedAt: string\n} | null\n\ntype Args = {\n parentID?: number | string\n payload: Payload\n slug: string\n status: 'draft' | 'published'\n type: 'collection' | 'global'\n}\nexport async function getLatestVersion(args: Args): Promise<ReturnType> {\n const { slug, type = 'collection', parentID, payload, status } = args\n\n const and: Where[] = [\n {\n 'version._status': {\n equals: status,\n },\n },\n ]\n\n if (type === 'collection' && parentID) {\n and.push({\n parent: {\n equals: parentID,\n },\n })\n }\n\n try {\n const sharedOptions = {\n depth: 0,\n limit: 1,\n sort: '-updatedAt',\n where: {\n and,\n },\n }\n\n const response =\n type === 'collection'\n ? await payload.findVersions({\n collection: slug,\n ...sharedOptions,\n })\n : await payload.findGlobalVersions({\n slug,\n ...sharedOptions,\n })\n\n if (!response.docs.length) {\n return null\n }\n\n return {\n id: response.docs[0].id,\n updatedAt: response.docs[0].updatedAt,\n }\n } catch (e) {\n payload.logger.error(e)\n return null\n }\n}\n"],"mappings":"AAcA,OAAO,eAAeA,iBAAiBC,IAAU;EAC/C,MAAM;IAAEC,IAAI;IAAEC,IAAA,GAAO,YAAY;IAAEC,QAAQ;IAAEC,OAAO;IAAEC;EAAM,CAAE,GAAGL,IAAA;EAEjE,MAAMM,GAAA,GAAe,CACnB;IACE,mBAAmB;MACjBC,MAAA,EAAQF;IACV;EACF,EACD;EAED,IAAIH,IAAA,KAAS,gBAAgBC,QAAA,EAAU;IACrCG,GAAA,CAAIE,IAAI,CAAC;MACPC,MAAA,EAAQ;QACNF,MAAA,EAAQJ;MACV;IACF;EACF;EAEA,IAAI;IACF,MAAMO,aAAA,GAAgB;MACpBC,KAAA,EAAO;MACPC,KAAA,EAAO;MACPC,IAAA,EAAM;MACNC,KAAA,EAAO;QACLR;MACF;IACF;IAEA,MAAMS,QAAA,GACJb,IAAA,KAAS,eACL,MAAME,OAAA,CAAQY,YAAY,CAAC;MACzBC,UAAA,EAAYhB,IAAA;MACZ,GAAGS;IACL,KACA,MAAMN,OAAA,CAAQc,kBAAkB,CAAC;MAC/BjB,IAAA;MACA,GAAGS;IACL;IAEN,IAAI,CAACK,QAAA,CAASI,IAAI,CAACC,MAAM,EAAE;MACzB,OAAO;IACT;IAEA,OAAO;MACLC,EAAA,EAAIN,QAAA,CAASI,IAAI,CAAC,EAAE,CAACE,EAAE;MACvBC,SAAA,EAAWP,QAAA,CAASI,IAAI,CAAC,EAAE,CAACG;IAC9B;EACF,EAAE,OAAOC,CAAA,EAAG;IACVnB,OAAA,CAAQoB,MAAM,CAACC,KAAK,CAACF,CAAA;IACrB,OAAO;EACT;AACF","ignoreList":[]}
@@ -91,8 +91,7 @@ export const VersionsView = async props => {
91
91
  });
92
92
  }
93
93
  } catch (error) {
94
- console.error(error) // eslint-disable-line no-console
95
- ;
94
+ payload.logger.error(error);
96
95
  }
97
96
  }
98
97
  if (globalSlug) {
@@ -129,8 +128,7 @@ export const VersionsView = async props => {
129
128
  });
130
129
  }
131
130
  } catch (error) {
132
- console.error(error) // eslint-disable-line no-console
133
- ;
131
+ payload.logger.error(error);
134
132
  }
135
133
  if (!versionsData) {
136
134
  return notFound();