@payloadcms/next 3.0.0-beta.125 → 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 (65) 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/views/Document/getDocumentData.js +4 -2
  56. package/dist/views/Document/getDocumentData.js.map +1 -1
  57. package/dist/views/Document/getDocumentPermissions.js +2 -4
  58. package/dist/views/Document/getDocumentPermissions.js.map +1 -1
  59. package/dist/views/Version/Restore/index.js +1 -1
  60. package/dist/views/Version/Restore/index.js.map +1 -1
  61. package/dist/views/Versions/getLatestVersion.js +1 -1
  62. package/dist/views/Versions/getLatestVersion.js.map +1 -1
  63. package/dist/views/Versions/index.js +2 -4
  64. package/dist/views/Versions/index.js.map +1 -1
  65. 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":"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","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":[]}
@@ -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":[]}
@@ -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":"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","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();
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["Gutter","ListQueryProvider","notFound","isNumber","React","SetDocumentStepNav","buildVersionColumns","getLatestVersion","VersionsViewClient","baseClass","VersionsView","props","initPageResult","searchParams","collectionConfig","docID","id","globalConfig","req","i18n","payload","config","t","user","collectionSlug","slug","globalSlug","limit","page","sort","localization","routes","api","apiRoute","serverURL","versionsData","limitToUse","Number","undefined","latestPublishedVersion","latestDraftVersion","admin","pagination","defaultLimit","whereQuery","and","parent","equals","versions","drafts","push","snapshot","not_equals","findVersions","collection","depth","overrideAccess","parseInt","toString","where","type","parentID","status","error","console","findGlobalVersions","fetchURL","publishedNewerThanDraft","updatedAt","columns","pluralLabel","labels","plural","label","_jsxs","Fragment","_jsx","useAsTitle","view","className","data","defaultSort","modifySearchParams","paginationLimits","limits"],"sources":["../../../src/views/Versions/index.tsx"],"sourcesContent":["import type { EditViewComponent, PaginatedDocs, PayloadServerReactComponent } from 'payload'\n\nimport { Gutter, ListQueryProvider } from '@payloadcms/ui'\nimport { notFound } from 'next/navigation.js'\nimport { isNumber } from 'payload/shared'\nimport React from 'react'\n\nimport { SetDocumentStepNav } from '../Edit/Default/SetDocumentStepNav/index.js'\nimport { buildVersionColumns } from './buildColumns.js'\nimport { getLatestVersion } from './getLatestVersion.js'\nimport { VersionsViewClient } from './index.client.js'\nimport './index.scss'\n\nexport const baseClass = 'versions'\n\nexport const VersionsView: PayloadServerReactComponent<EditViewComponent> = async (props) => {\n const { initPageResult, searchParams } = props\n\n const {\n collectionConfig,\n docID: id,\n globalConfig,\n req,\n req: {\n i18n,\n payload,\n payload: { config },\n t,\n user,\n },\n } = initPageResult\n\n const collectionSlug = collectionConfig?.slug\n const globalSlug = globalConfig?.slug\n const { limit, page, sort } = searchParams\n\n const {\n localization,\n routes: { api: apiRoute },\n serverURL,\n } = config\n\n let versionsData: PaginatedDocs\n let limitToUse = isNumber(limit) ? Number(limit) : undefined\n let latestPublishedVersion = null\n let latestDraftVersion = null\n\n if (collectionSlug) {\n limitToUse = limitToUse || collectionConfig.admin.pagination.defaultLimit\n const whereQuery: {\n and: Array<{ parent?: { equals: number | string }; snapshot?: { not_equals: boolean } }>\n } = {\n and: [\n {\n parent: {\n equals: id,\n },\n },\n ],\n }\n\n if (localization && collectionConfig?.versions?.drafts) {\n whereQuery.and.push({\n snapshot: {\n not_equals: true,\n },\n })\n }\n\n try {\n versionsData = await payload.findVersions({\n collection: collectionSlug,\n depth: 0,\n limit: limitToUse,\n overrideAccess: false,\n page: page ? parseInt(page.toString(), 10) : undefined,\n req,\n sort: sort as string,\n user,\n where: whereQuery,\n })\n if (collectionConfig?.versions?.drafts) {\n latestDraftVersion = await getLatestVersion({\n slug: collectionSlug,\n type: 'collection',\n parentID: id,\n payload,\n status: 'draft',\n })\n latestPublishedVersion = await getLatestVersion({\n slug: collectionSlug,\n type: 'collection',\n parentID: id,\n payload,\n status: 'published',\n })\n }\n } catch (error) {\n console.error(error) // eslint-disable-line no-console\n }\n }\n\n if (globalSlug) {\n limitToUse = limitToUse || 10\n const whereQuery =\n localization && globalConfig?.versions?.drafts\n ? {\n snapshot: {\n not_equals: true,\n },\n }\n : {}\n\n try {\n versionsData = await payload.findGlobalVersions({\n slug: globalSlug,\n depth: 0,\n limit: limitToUse,\n overrideAccess: false,\n page: page ? parseInt(page as string, 10) : undefined,\n req,\n sort: sort as string,\n user,\n where: whereQuery,\n })\n\n if (globalConfig?.versions?.drafts) {\n latestDraftVersion = await getLatestVersion({\n slug: globalSlug,\n type: 'global',\n payload,\n status: 'draft',\n })\n latestPublishedVersion = await getLatestVersion({\n slug: globalSlug,\n type: 'global',\n payload,\n status: 'published',\n })\n }\n } catch (error) {\n console.error(error) // eslint-disable-line no-console\n }\n\n if (!versionsData) {\n return notFound()\n }\n }\n const fetchURL = collectionSlug\n ? `${serverURL}${apiRoute}/${collectionSlug}/versions`\n : globalSlug\n ? `${serverURL}${apiRoute}/globals/${globalSlug}/versions`\n : ''\n\n const publishedNewerThanDraft = latestPublishedVersion?.updatedAt > latestDraftVersion?.updatedAt\n\n if (publishedNewerThanDraft) {\n latestDraftVersion = {\n id: '',\n updatedAt: '',\n }\n }\n\n const columns = buildVersionColumns({\n collectionConfig,\n config,\n docID: id,\n globalConfig,\n i18n,\n latestDraftVersion: latestDraftVersion?.id,\n latestPublishedVersion: latestPublishedVersion?.id,\n })\n\n const pluralLabel = collectionConfig?.labels?.plural\n ? typeof collectionConfig.labels.plural === 'function'\n ? collectionConfig.labels.plural({ t })\n : collectionConfig.labels.plural\n : globalConfig?.label\n\n return (\n <React.Fragment>\n <SetDocumentStepNav\n collectionSlug={collectionConfig?.slug}\n globalSlug={globalConfig?.slug}\n id={id}\n pluralLabel={pluralLabel}\n useAsTitle={collectionConfig?.admin?.useAsTitle || globalConfig?.slug}\n view={i18n.t('version:versions')}\n />\n <main className={baseClass}>\n <Gutter className={`${baseClass}__wrap`}>\n <ListQueryProvider\n data={versionsData}\n defaultLimit={limitToUse}\n defaultSort={sort as string}\n modifySearchParams\n >\n <VersionsViewClient\n baseClass={baseClass}\n columns={columns}\n fetchURL={fetchURL}\n paginationLimits={collectionConfig?.admin?.pagination?.limits}\n />\n </ListQueryProvider>\n </Gutter>\n </main>\n </React.Fragment>\n )\n}\n"],"mappings":";AAEA,SAASA,MAAM,EAAEC,iBAAiB,QAAQ;AAC1C,SAASC,QAAQ,QAAQ;AACzB,SAASC,QAAQ,QAAQ;AACzB,OAAOC,KAAA,MAAW;AAElB,SAASC,kBAAkB,QAAQ;AACnC,SAASC,mBAAmB,QAAQ;AACpC,SAASC,gBAAgB,QAAQ;AACjC,SAASC,kBAAkB,QAAQ;AAGnC,OAAO,MAAMC,SAAA,GAAY;AAEzB,OAAO,MAAMC,YAAA,GAA+D,MAAOC,KAAA;EACjF,MAAM;IAAEC,cAAc;IAAEC;EAAY,CAAE,GAAGF,KAAA;EAEzC,MAAM;IACJG,gBAAgB;IAChBC,KAAA,EAAOC,EAAE;IACTC,YAAY;IACZC,GAAG;IACHA,GAAA,EAAK;MACHC,IAAI;MACJC,OAAO;MACPA,OAAA,EAAS;QAAEC;MAAM,CAAE;MACnBC,CAAC;MACDC;IAAI;EACL,CACF,GAAGX,cAAA;EAEJ,MAAMY,cAAA,GAAiBV,gBAAA,EAAkBW,IAAA;EACzC,MAAMC,UAAA,GAAaT,YAAA,EAAcQ,IAAA;EACjC,MAAM;IAAEE,KAAK;IAAEC,IAAI;IAAEC;EAAI,CAAE,GAAGhB,YAAA;EAE9B,MAAM;IACJiB,YAAY;IACZC,MAAA,EAAQ;MAAEC,GAAA,EAAKC;IAAQ,CAAE;IACzBC;EAAS,CACV,GAAGb,MAAA;EAEJ,IAAIc,YAAA;EACJ,IAAIC,UAAA,GAAajC,QAAA,CAASwB,KAAA,IAASU,MAAA,CAAOV,KAAA,IAASW,SAAA;EACnD,IAAIC,sBAAA,GAAyB;EAC7B,IAAIC,kBAAA,GAAqB;EAEzB,IAAIhB,cAAA,EAAgB;IAClBY,UAAA,GAAaA,UAAA,IAActB,gBAAA,CAAiB2B,KAAK,CAACC,UAAU,CAACC,YAAY;IACzE,MAAMC,UAAA,GAEF;MACFC,GAAA,EAAK,CACH;QACEC,MAAA,EAAQ;UACNC,MAAA,EAAQ/B;QACV;MACF;IAEJ;IAEA,IAAIc,YAAA,IAAgBhB,gBAAA,EAAkBkC,QAAA,EAAUC,MAAA,EAAQ;MACtDL,UAAA,CAAWC,GAAG,CAACK,IAAI,CAAC;QAClBC,QAAA,EAAU;UACRC,UAAA,EAAY;QACd;MACF;IACF;IAEA,IAAI;MACFjB,YAAA,GAAe,MAAMf,OAAA,CAAQiC,YAAY,CAAC;QACxCC,UAAA,EAAY9B,cAAA;QACZ+B,KAAA,EAAO;QACP5B,KAAA,EAAOS,UAAA;QACPoB,cAAA,EAAgB;QAChB5B,IAAA,EAAMA,IAAA,GAAO6B,QAAA,CAAS7B,IAAA,CAAK8B,QAAQ,IAAI,MAAMpB,SAAA;QAC7CpB,GAAA;QACAW,IAAA,EAAMA,IAAA;QACNN,IAAA;QACAoC,KAAA,EAAOf;MACT;MACA,IAAI9B,gBAAA,EAAkBkC,QAAA,EAAUC,MAAA,EAAQ;QACtCT,kBAAA,GAAqB,MAAMjC,gBAAA,CAAiB;UAC1CkB,IAAA,EAAMD,cAAA;UACNoC,IAAA,EAAM;UACNC,QAAA,EAAU7C,EAAA;UACVI,OAAA;UACA0C,MAAA,EAAQ;QACV;QACAvB,sBAAA,GAAyB,MAAMhC,gBAAA,CAAiB;UAC9CkB,IAAA,EAAMD,cAAA;UACNoC,IAAA,EAAM;UACNC,QAAA,EAAU7C,EAAA;UACVI,OAAA;UACA0C,MAAA,EAAQ;QACV;MACF;IACF,EAAE,OAAOC,KAAA,EAAO;MACdC,OAAA,CAAQD,KAAK,CAACA,KAAA,EAAO;MAAA;IACvB;EACF;EAEA,IAAIrC,UAAA,EAAY;IACdU,UAAA,GAAaA,UAAA,IAAc;IAC3B,MAAMQ,UAAA,GACJd,YAAA,IAAgBb,YAAA,EAAc+B,QAAA,EAAUC,MAAA,GACpC;MACEE,QAAA,EAAU;QACRC,UAAA,EAAY;MACd;IACF,IACA,CAAC;IAEP,IAAI;MACFjB,YAAA,GAAe,MAAMf,OAAA,CAAQ6C,kBAAkB,CAAC;QAC9CxC,IAAA,EAAMC,UAAA;QACN6B,KAAA,EAAO;QACP5B,KAAA,EAAOS,UAAA;QACPoB,cAAA,EAAgB;QAChB5B,IAAA,EAAMA,IAAA,GAAO6B,QAAA,CAAS7B,IAAA,EAAgB,MAAMU,SAAA;QAC5CpB,GAAA;QACAW,IAAA,EAAMA,IAAA;QACNN,IAAA;QACAoC,KAAA,EAAOf;MACT;MAEA,IAAI3B,YAAA,EAAc+B,QAAA,EAAUC,MAAA,EAAQ;QAClCT,kBAAA,GAAqB,MAAMjC,gBAAA,CAAiB;UAC1CkB,IAAA,EAAMC,UAAA;UACNkC,IAAA,EAAM;UACNxC,OAAA;UACA0C,MAAA,EAAQ;QACV;QACAvB,sBAAA,GAAyB,MAAMhC,gBAAA,CAAiB;UAC9CkB,IAAA,EAAMC,UAAA;UACNkC,IAAA,EAAM;UACNxC,OAAA;UACA0C,MAAA,EAAQ;QACV;MACF;IACF,EAAE,OAAOC,KAAA,EAAO;MACdC,OAAA,CAAQD,KAAK,CAACA,KAAA,EAAO;MAAA;IACvB;IAEA,IAAI,CAAC5B,YAAA,EAAc;MACjB,OAAOjC,QAAA;IACT;EACF;EACA,MAAMgE,QAAA,GAAW1C,cAAA,GACb,GAAGU,SAAA,GAAYD,QAAA,IAAYT,cAAA,WAAyB,GACpDE,UAAA,GACE,GAAGQ,SAAA,GAAYD,QAAA,YAAoBP,UAAA,WAAqB,GACxD;EAEN,MAAMyC,uBAAA,GAA0B5B,sBAAA,EAAwB6B,SAAA,GAAY5B,kBAAA,EAAoB4B,SAAA;EAExF,IAAID,uBAAA,EAAyB;IAC3B3B,kBAAA,GAAqB;MACnBxB,EAAA,EAAI;MACJoD,SAAA,EAAW;IACb;EACF;EAEA,MAAMC,OAAA,GAAU/D,mBAAA,CAAoB;IAClCQ,gBAAA;IACAO,MAAA;IACAN,KAAA,EAAOC,EAAA;IACPC,YAAA;IACAE,IAAA;IACAqB,kBAAA,EAAoBA,kBAAA,EAAoBxB,EAAA;IACxCuB,sBAAA,EAAwBA,sBAAA,EAAwBvB;EAClD;EAEA,MAAMsD,WAAA,GAAcxD,gBAAA,EAAkByD,MAAA,EAAQC,MAAA,GAC1C,OAAO1D,gBAAA,CAAiByD,MAAM,CAACC,MAAM,KAAK,aACxC1D,gBAAA,CAAiByD,MAAM,CAACC,MAAM,CAAC;IAAElD;EAAE,KACnCR,gBAAA,CAAiByD,MAAM,CAACC,MAAM,GAChCvD,YAAA,EAAcwD,KAAA;EAElB,oBACEC,KAAA,CAACtE,KAAA,CAAMuE,QAAQ;4BACbC,IAAA,CAACvE,kBAAA;MACCmB,cAAA,EAAgBV,gBAAA,EAAkBW,IAAA;MAClCC,UAAA,EAAYT,YAAA,EAAcQ,IAAA;MAC1BT,EAAA,EAAIA,EAAA;MACJsD,WAAA,EAAaA,WAAA;MACbO,UAAA,EAAY/D,gBAAA,EAAkB2B,KAAA,EAAOoC,UAAA,IAAc5D,YAAA,EAAcQ,IAAA;MACjEqD,IAAA,EAAM3D,IAAA,CAAKG,CAAC,CAAC;qBAEfsD,IAAA,CAAC;MAAKG,SAAA,EAAWtE,SAAA;gBACf,aAAAmE,IAAA,CAAC5E,MAAA;QAAO+E,SAAA,EAAW,GAAGtE,SAAA,QAAiB;kBACrC,aAAAmE,IAAA,CAAC3E,iBAAA;UACC+E,IAAA,EAAM7C,YAAA;UACNQ,YAAA,EAAcP,UAAA;UACd6C,WAAA,EAAapD,IAAA;UACbqD,kBAAkB;oBAElB,aAAAN,IAAA,CAACpE,kBAAA;YACCC,SAAA,EAAWA,SAAA;YACX4D,OAAA,EAASA,OAAA;YACTH,QAAA,EAAUA,QAAA;YACViB,gBAAA,EAAkBrE,gBAAA,EAAkB2B,KAAA,EAAOC,UAAA,EAAY0C;;;;;;AAOrE","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["Gutter","ListQueryProvider","notFound","isNumber","React","SetDocumentStepNav","buildVersionColumns","getLatestVersion","VersionsViewClient","baseClass","VersionsView","props","initPageResult","searchParams","collectionConfig","docID","id","globalConfig","req","i18n","payload","config","t","user","collectionSlug","slug","globalSlug","limit","page","sort","localization","routes","api","apiRoute","serverURL","versionsData","limitToUse","Number","undefined","latestPublishedVersion","latestDraftVersion","admin","pagination","defaultLimit","whereQuery","and","parent","equals","versions","drafts","push","snapshot","not_equals","findVersions","collection","depth","overrideAccess","parseInt","toString","where","type","parentID","status","error","logger","findGlobalVersions","fetchURL","publishedNewerThanDraft","updatedAt","columns","pluralLabel","labels","plural","label","_jsxs","Fragment","_jsx","useAsTitle","view","className","data","defaultSort","modifySearchParams","paginationLimits","limits"],"sources":["../../../src/views/Versions/index.tsx"],"sourcesContent":["import type { EditViewComponent, PaginatedDocs, PayloadServerReactComponent } from 'payload'\n\nimport { Gutter, ListQueryProvider } from '@payloadcms/ui'\nimport { notFound } from 'next/navigation.js'\nimport { isNumber } from 'payload/shared'\nimport React from 'react'\n\nimport { SetDocumentStepNav } from '../Edit/Default/SetDocumentStepNav/index.js'\nimport { buildVersionColumns } from './buildColumns.js'\nimport { getLatestVersion } from './getLatestVersion.js'\nimport { VersionsViewClient } from './index.client.js'\nimport './index.scss'\n\nexport const baseClass = 'versions'\n\nexport const VersionsView: PayloadServerReactComponent<EditViewComponent> = async (props) => {\n const { initPageResult, searchParams } = props\n\n const {\n collectionConfig,\n docID: id,\n globalConfig,\n req,\n req: {\n i18n,\n payload,\n payload: { config },\n t,\n user,\n },\n } = initPageResult\n\n const collectionSlug = collectionConfig?.slug\n const globalSlug = globalConfig?.slug\n const { limit, page, sort } = searchParams\n\n const {\n localization,\n routes: { api: apiRoute },\n serverURL,\n } = config\n\n let versionsData: PaginatedDocs\n let limitToUse = isNumber(limit) ? Number(limit) : undefined\n let latestPublishedVersion = null\n let latestDraftVersion = null\n\n if (collectionSlug) {\n limitToUse = limitToUse || collectionConfig.admin.pagination.defaultLimit\n const whereQuery: {\n and: Array<{ parent?: { equals: number | string }; snapshot?: { not_equals: boolean } }>\n } = {\n and: [\n {\n parent: {\n equals: id,\n },\n },\n ],\n }\n\n if (localization && collectionConfig?.versions?.drafts) {\n whereQuery.and.push({\n snapshot: {\n not_equals: true,\n },\n })\n }\n\n try {\n versionsData = await payload.findVersions({\n collection: collectionSlug,\n depth: 0,\n limit: limitToUse,\n overrideAccess: false,\n page: page ? parseInt(page.toString(), 10) : undefined,\n req,\n sort: sort as string,\n user,\n where: whereQuery,\n })\n if (collectionConfig?.versions?.drafts) {\n latestDraftVersion = await getLatestVersion({\n slug: collectionSlug,\n type: 'collection',\n parentID: id,\n payload,\n status: 'draft',\n })\n latestPublishedVersion = await getLatestVersion({\n slug: collectionSlug,\n type: 'collection',\n parentID: id,\n payload,\n status: 'published',\n })\n }\n } catch (error) {\n payload.logger.error(error)\n }\n }\n\n if (globalSlug) {\n limitToUse = limitToUse || 10\n const whereQuery =\n localization && globalConfig?.versions?.drafts\n ? {\n snapshot: {\n not_equals: true,\n },\n }\n : {}\n\n try {\n versionsData = await payload.findGlobalVersions({\n slug: globalSlug,\n depth: 0,\n limit: limitToUse,\n overrideAccess: false,\n page: page ? parseInt(page as string, 10) : undefined,\n req,\n sort: sort as string,\n user,\n where: whereQuery,\n })\n\n if (globalConfig?.versions?.drafts) {\n latestDraftVersion = await getLatestVersion({\n slug: globalSlug,\n type: 'global',\n payload,\n status: 'draft',\n })\n latestPublishedVersion = await getLatestVersion({\n slug: globalSlug,\n type: 'global',\n payload,\n status: 'published',\n })\n }\n } catch (error) {\n payload.logger.error(error)\n }\n\n if (!versionsData) {\n return notFound()\n }\n }\n const fetchURL = collectionSlug\n ? `${serverURL}${apiRoute}/${collectionSlug}/versions`\n : globalSlug\n ? `${serverURL}${apiRoute}/globals/${globalSlug}/versions`\n : ''\n\n const publishedNewerThanDraft = latestPublishedVersion?.updatedAt > latestDraftVersion?.updatedAt\n\n if (publishedNewerThanDraft) {\n latestDraftVersion = {\n id: '',\n updatedAt: '',\n }\n }\n\n const columns = buildVersionColumns({\n collectionConfig,\n config,\n docID: id,\n globalConfig,\n i18n,\n latestDraftVersion: latestDraftVersion?.id,\n latestPublishedVersion: latestPublishedVersion?.id,\n })\n\n const pluralLabel = collectionConfig?.labels?.plural\n ? typeof collectionConfig.labels.plural === 'function'\n ? collectionConfig.labels.plural({ t })\n : collectionConfig.labels.plural\n : globalConfig?.label\n\n return (\n <React.Fragment>\n <SetDocumentStepNav\n collectionSlug={collectionConfig?.slug}\n globalSlug={globalConfig?.slug}\n id={id}\n pluralLabel={pluralLabel}\n useAsTitle={collectionConfig?.admin?.useAsTitle || globalConfig?.slug}\n view={i18n.t('version:versions')}\n />\n <main className={baseClass}>\n <Gutter className={`${baseClass}__wrap`}>\n <ListQueryProvider\n data={versionsData}\n defaultLimit={limitToUse}\n defaultSort={sort as string}\n modifySearchParams\n >\n <VersionsViewClient\n baseClass={baseClass}\n columns={columns}\n fetchURL={fetchURL}\n paginationLimits={collectionConfig?.admin?.pagination?.limits}\n />\n </ListQueryProvider>\n </Gutter>\n </main>\n </React.Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@payloadcms/next",
3
- "version": "3.0.0-beta.125",
3
+ "version": "3.0.0-beta.126",
4
4
  "homepage": "https://payloadcms.com",
5
5
  "repository": {
6
6
  "type": "git",
@@ -71,9 +71,9 @@
71
71
  "sonner": "^1.5.0",
72
72
  "uuid": "10.0.0",
73
73
  "ws": "^8.16.0",
74
- "@payloadcms/graphql": "3.0.0-beta.125",
75
- "@payloadcms/ui": "3.0.0-beta.125",
76
- "@payloadcms/translations": "3.0.0-beta.125"
74
+ "@payloadcms/graphql": "3.0.0-beta.126",
75
+ "@payloadcms/translations": "3.0.0-beta.126",
76
+ "@payloadcms/ui": "3.0.0-beta.126"
77
77
  },
78
78
  "devDependencies": {
79
79
  "@babel/cli": "^7.24.5",
@@ -93,12 +93,12 @@
93
93
  "eslint-plugin-react-compiler": "0.0.0-experimental-7670337-20240918",
94
94
  "swc-plugin-transform-remove-imports": "1.15.0",
95
95
  "@payloadcms/eslint-config": "3.0.0-beta.112",
96
- "payload": "3.0.0-beta.125"
96
+ "payload": "3.0.0-beta.126"
97
97
  },
98
98
  "peerDependencies": {
99
99
  "graphql": "^16.8.1",
100
100
  "next": "^15.0.0",
101
- "payload": "3.0.0-beta.125"
101
+ "payload": "3.0.0-beta.126"
102
102
  },
103
103
  "engines": {
104
104
  "node": "^18.20.2 || >=20.9.0"