@payloadcms/ui 3.16.1-canary.9004205 → 3.17.0

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.
@@ -1,10 +1,14 @@
1
1
  import type { PayloadRequest, SchedulePublishTaskInput } from 'payload';
2
2
  export type SchedulePublishHandlerArgs = {
3
- date: Date;
3
+ date?: Date;
4
+ /**
5
+ * The job id to delete to remove a scheduled publish event
6
+ */
7
+ deleteID?: number | string;
4
8
  req: PayloadRequest;
5
9
  } & SchedulePublishTaskInput;
6
- export declare const schedulePublishHandler: ({ type, date, doc, global, locale, req, }: SchedulePublishHandlerArgs) => Promise<{
7
- error: string;
10
+ export declare const schedulePublishHandler: ({ type, date, deleteID, doc, global, locale, req, }: SchedulePublishHandlerArgs) => Promise<{
11
+ error: any;
8
12
  message?: undefined;
9
13
  } | {
10
14
  message: string;
@@ -1 +1 @@
1
- {"version":3,"file":"schedulePublishHandler.d.ts","sourceRoot":"","sources":["../../src/utilities/schedulePublishHandler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAA;AAEvE,MAAM,MAAM,0BAA0B,GAAG;IACvC,IAAI,EAAE,IAAI,CAAA;IACV,GAAG,EAAE,cAAc,CAAA;CACpB,GAAG,wBAAwB,CAAA;AAE5B,eAAO,MAAM,sBAAsB,8CAOhC,0BAA0B;;;;;;EAqD5B,CAAA"}
1
+ {"version":3,"file":"schedulePublishHandler.d.ts","sourceRoot":"","sources":["../../src/utilities/schedulePublishHandler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAA;AAEvE,MAAM,MAAM,0BAA0B,GAAG;IACvC,IAAI,CAAC,EAAE,IAAI,CAAA;IACX;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAC1B,GAAG,EAAE,cAAc,CAAA;CACpB,GAAG,wBAAwB,CAAA;AAE5B,eAAO,MAAM,sBAAsB,wDAQhC,0BAA0B;;;;;;EAkE5B,CAAA"}
@@ -1,6 +1,7 @@
1
1
  export const schedulePublishHandler = async ({
2
2
  type,
3
3
  date,
4
+ deleteID,
4
5
  doc,
5
6
  global,
6
7
  locale,
@@ -30,6 +31,17 @@ export const schedulePublishHandler = async ({
30
31
  throw new Error('Unauthorized');
31
32
  }
32
33
  try {
34
+ if (deleteID) {
35
+ await payload.delete({
36
+ collection: 'payload-jobs',
37
+ req,
38
+ where: {
39
+ id: {
40
+ equals: deleteID
41
+ }
42
+ }
43
+ });
44
+ }
33
45
  await payload.jobs.queue({
34
46
  input: {
35
47
  type,
@@ -42,9 +54,14 @@ export const schedulePublishHandler = async ({
42
54
  waitUntil: date
43
55
  });
44
56
  } catch (err) {
45
- let error = `Error scheduling ${type} for `;
46
- if (doc) {
47
- error += `document with ID ${doc.value} in collection ${doc.relationTo}`;
57
+ let error;
58
+ if (deleteID) {
59
+ error = `Error deleting scheduled publish event with ID ${deleteID}`;
60
+ } else {
61
+ error = `Error scheduling ${type} for `;
62
+ if (doc) {
63
+ error += `document with ID ${doc.value} in collection ${doc.relationTo}`;
64
+ }
48
65
  }
49
66
  payload.logger.error(error);
50
67
  payload.logger.error(err);
@@ -1 +1 @@
1
- {"version":3,"file":"schedulePublishHandler.js","names":["schedulePublishHandler","type","date","doc","global","locale","req","i18n","payload","user","incomingUserSlug","collection","adminUserSlug","config","admin","Error","adminAccessFunction","collections","access","canAccessAdmin","jobs","queue","input","id","task","waitUntil","err","error","value","relationTo","logger","message","t"],"sources":["../../src/utilities/schedulePublishHandler.ts"],"sourcesContent":["import type { PayloadRequest, SchedulePublishTaskInput } from 'payload'\n\nexport type SchedulePublishHandlerArgs = {\n date: Date\n req: PayloadRequest\n} & SchedulePublishTaskInput\n\nexport const schedulePublishHandler = async ({\n type,\n date,\n doc,\n global,\n locale,\n req,\n}: SchedulePublishHandlerArgs) => {\n const { i18n, payload, user } = req\n\n const incomingUserSlug = user?.collection\n\n const adminUserSlug = payload.config.admin.user\n\n if (!incomingUserSlug) {\n throw new Error('Unauthorized')\n }\n\n const adminAccessFunction = payload.collections[incomingUserSlug].config.access?.admin\n\n // Run the admin access function from the config if it exists\n if (adminAccessFunction) {\n const canAccessAdmin = await adminAccessFunction({ req })\n\n if (!canAccessAdmin) {\n throw new Error('Unauthorized')\n }\n // Match the user collection to the global admin config\n } else if (adminUserSlug !== incomingUserSlug) {\n throw new Error('Unauthorized')\n }\n\n try {\n await payload.jobs.queue({\n input: {\n type,\n doc,\n global,\n locale,\n user: user.id,\n },\n task: 'schedulePublish',\n waitUntil: date,\n })\n } catch (err) {\n let error = `Error scheduling ${type} for `\n\n if (doc) {\n error += `document with ID ${doc.value} in collection ${doc.relationTo}`\n }\n\n payload.logger.error(error)\n payload.logger.error(err)\n\n return {\n error,\n }\n }\n\n return { message: i18n.t('general:success') }\n}\n"],"mappings":"AAOA,OAAO,MAAMA,sBAAA,GAAyB,MAAAA,CAAO;EAC3CC,IAAI;EACJC,IAAI;EACJC,GAAG;EACHC,MAAM;EACNC,MAAM;EACNC;AAAG,CACwB;EAC3B,MAAM;IAAEC,IAAI;IAAEC,OAAO;IAAEC;EAAI,CAAE,GAAGH,GAAA;EAEhC,MAAMI,gBAAA,GAAmBD,IAAA,EAAME,UAAA;EAE/B,MAAMC,aAAA,GAAgBJ,OAAA,CAAQK,MAAM,CAACC,KAAK,CAACL,IAAI;EAE/C,IAAI,CAACC,gBAAA,EAAkB;IACrB,MAAM,IAAIK,KAAA,CAAM;EAClB;EAEA,MAAMC,mBAAA,GAAsBR,OAAA,CAAQS,WAAW,CAACP,gBAAA,CAAiB,CAACG,MAAM,CAACK,MAAM,EAAEJ,KAAA;EAEjF;EACA,IAAIE,mBAAA,EAAqB;IACvB,MAAMG,cAAA,GAAiB,MAAMH,mBAAA,CAAoB;MAAEV;IAAI;IAEvD,IAAI,CAACa,cAAA,EAAgB;MACnB,MAAM,IAAIJ,KAAA,CAAM;IAClB;IACA;EACF,OAAO,IAAIH,aAAA,KAAkBF,gBAAA,EAAkB;IAC7C,MAAM,IAAIK,KAAA,CAAM;EAClB;EAEA,IAAI;IACF,MAAMP,OAAA,CAAQY,IAAI,CAACC,KAAK,CAAC;MACvBC,KAAA,EAAO;QACLrB,IAAA;QACAE,GAAA;QACAC,MAAA;QACAC,MAAA;QACAI,IAAA,EAAMA,IAAA,CAAKc;MACb;MACAC,IAAA,EAAM;MACNC,SAAA,EAAWvB;IACb;EACF,EAAE,OAAOwB,GAAA,EAAK;IACZ,IAAIC,KAAA,GAAQ,oBAAoB1B,IAAA,OAAW;IAE3C,IAAIE,GAAA,EAAK;MACPwB,KAAA,IAAS,oBAAoBxB,GAAA,CAAIyB,KAAK,kBAAkBzB,GAAA,CAAI0B,UAAU,EAAE;IAC1E;IAEArB,OAAA,CAAQsB,MAAM,CAACH,KAAK,CAACA,KAAA;IACrBnB,OAAA,CAAQsB,MAAM,CAACH,KAAK,CAACD,GAAA;IAErB,OAAO;MACLC;IACF;EACF;EAEA,OAAO;IAAEI,OAAA,EAASxB,IAAA,CAAKyB,CAAC,CAAC;EAAmB;AAC9C","ignoreList":[]}
1
+ {"version":3,"file":"schedulePublishHandler.js","names":["schedulePublishHandler","type","date","deleteID","doc","global","locale","req","i18n","payload","user","incomingUserSlug","collection","adminUserSlug","config","admin","Error","adminAccessFunction","collections","access","canAccessAdmin","delete","where","id","equals","jobs","queue","input","task","waitUntil","err","error","value","relationTo","logger","message","t"],"sources":["../../src/utilities/schedulePublishHandler.ts"],"sourcesContent":["import type { PayloadRequest, SchedulePublishTaskInput } from 'payload'\n\nexport type SchedulePublishHandlerArgs = {\n date?: Date\n /**\n * The job id to delete to remove a scheduled publish event\n */\n deleteID?: number | string\n req: PayloadRequest\n} & SchedulePublishTaskInput\n\nexport const schedulePublishHandler = async ({\n type,\n date,\n deleteID,\n doc,\n global,\n locale,\n req,\n}: SchedulePublishHandlerArgs) => {\n const { i18n, payload, user } = req\n\n const incomingUserSlug = user?.collection\n\n const adminUserSlug = payload.config.admin.user\n\n if (!incomingUserSlug) {\n throw new Error('Unauthorized')\n }\n\n const adminAccessFunction = payload.collections[incomingUserSlug].config.access?.admin\n\n // Run the admin access function from the config if it exists\n if (adminAccessFunction) {\n const canAccessAdmin = await adminAccessFunction({ req })\n\n if (!canAccessAdmin) {\n throw new Error('Unauthorized')\n }\n // Match the user collection to the global admin config\n } else if (adminUserSlug !== incomingUserSlug) {\n throw new Error('Unauthorized')\n }\n\n try {\n if (deleteID) {\n await payload.delete({\n collection: 'payload-jobs',\n req,\n where: { id: { equals: deleteID } },\n })\n }\n\n await payload.jobs.queue({\n input: {\n type,\n doc,\n global,\n locale,\n user: user.id,\n },\n task: 'schedulePublish',\n waitUntil: date,\n })\n } catch (err) {\n let error\n\n if (deleteID) {\n error = `Error deleting scheduled publish event with ID ${deleteID}`\n } else {\n error = `Error scheduling ${type} for `\n if (doc) {\n error += `document with ID ${doc.value} in collection ${doc.relationTo}`\n }\n }\n\n payload.logger.error(error)\n payload.logger.error(err)\n\n return {\n error,\n }\n }\n\n return { message: i18n.t('general:success') }\n}\n"],"mappings":"AAWA,OAAO,MAAMA,sBAAA,GAAyB,MAAAA,CAAO;EAC3CC,IAAI;EACJC,IAAI;EACJC,QAAQ;EACRC,GAAG;EACHC,MAAM;EACNC,MAAM;EACNC;AAAG,CACwB;EAC3B,MAAM;IAAEC,IAAI;IAAEC,OAAO;IAAEC;EAAI,CAAE,GAAGH,GAAA;EAEhC,MAAMI,gBAAA,GAAmBD,IAAA,EAAME,UAAA;EAE/B,MAAMC,aAAA,GAAgBJ,OAAA,CAAQK,MAAM,CAACC,KAAK,CAACL,IAAI;EAE/C,IAAI,CAACC,gBAAA,EAAkB;IACrB,MAAM,IAAIK,KAAA,CAAM;EAClB;EAEA,MAAMC,mBAAA,GAAsBR,OAAA,CAAQS,WAAW,CAACP,gBAAA,CAAiB,CAACG,MAAM,CAACK,MAAM,EAAEJ,KAAA;EAEjF;EACA,IAAIE,mBAAA,EAAqB;IACvB,MAAMG,cAAA,GAAiB,MAAMH,mBAAA,CAAoB;MAAEV;IAAI;IAEvD,IAAI,CAACa,cAAA,EAAgB;MACnB,MAAM,IAAIJ,KAAA,CAAM;IAClB;IACA;EACF,OAAO,IAAIH,aAAA,KAAkBF,gBAAA,EAAkB;IAC7C,MAAM,IAAIK,KAAA,CAAM;EAClB;EAEA,IAAI;IACF,IAAIb,QAAA,EAAU;MACZ,MAAMM,OAAA,CAAQY,MAAM,CAAC;QACnBT,UAAA,EAAY;QACZL,GAAA;QACAe,KAAA,EAAO;UAAEC,EAAA,EAAI;YAAEC,MAAA,EAAQrB;UAAS;QAAE;MACpC;IACF;IAEA,MAAMM,OAAA,CAAQgB,IAAI,CAACC,KAAK,CAAC;MACvBC,KAAA,EAAO;QACL1B,IAAA;QACAG,GAAA;QACAC,MAAA;QACAC,MAAA;QACAI,IAAA,EAAMA,IAAA,CAAKa;MACb;MACAK,IAAA,EAAM;MACNC,SAAA,EAAW3B;IACb;EACF,EAAE,OAAO4B,GAAA,EAAK;IACZ,IAAIC,KAAA;IAEJ,IAAI5B,QAAA,EAAU;MACZ4B,KAAA,GAAQ,kDAAkD5B,QAAA,EAAU;IACtE,OAAO;MACL4B,KAAA,GAAQ,oBAAoB9B,IAAA,OAAW;MACvC,IAAIG,GAAA,EAAK;QACP2B,KAAA,IAAS,oBAAoB3B,GAAA,CAAI4B,KAAK,kBAAkB5B,GAAA,CAAI6B,UAAU,EAAE;MAC1E;IACF;IAEAxB,OAAA,CAAQyB,MAAM,CAACH,KAAK,CAACA,KAAA;IACrBtB,OAAA,CAAQyB,MAAM,CAACH,KAAK,CAACD,GAAA;IAErB,OAAO;MACLC;IACF;EACF;EAEA,OAAO;IAAEI,OAAA,EAAS3B,IAAA,CAAK4B,CAAC,CAAC;EAAmB;AAC9C","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@payloadcms/ui",
3
- "version": "3.16.1-canary.9004205",
3
+ "version": "3.17.0",
4
4
  "homepage": "https://payloadcms.com",
5
5
  "repository": {
6
6
  "type": "git",
@@ -132,7 +132,7 @@
132
132
  "ts-essentials": "10.0.3",
133
133
  "use-context-selector": "2.0.0",
134
134
  "uuid": "10.0.0",
135
- "@payloadcms/translations": "3.16.1-canary.9004205"
135
+ "@payloadcms/translations": "3.17.0"
136
136
  },
137
137
  "devDependencies": {
138
138
  "@babel/cli": "7.25.9",
@@ -149,14 +149,14 @@
149
149
  "esbuild": "0.24.0",
150
150
  "esbuild-sass-plugin": "3.3.1",
151
151
  "eslint-plugin-react-compiler": "19.0.0-beta-df7b47d-20241124",
152
- "@payloadcms/eslint-config": "3.9.0",
153
- "payload": "3.16.1-canary.9004205"
152
+ "payload": "3.17.0",
153
+ "@payloadcms/eslint-config": "3.9.0"
154
154
  },
155
155
  "peerDependencies": {
156
156
  "next": "^15.0.0",
157
157
  "react": "^19.0.0 || ^19.0.0-rc-65a56d0e-20241020",
158
158
  "react-dom": "^19.0.0 || ^19.0.0-rc-65a56d0e-20241020",
159
- "payload": "3.16.1-canary.9004205"
159
+ "payload": "3.17.0"
160
160
  },
161
161
  "engines": {
162
162
  "node": "^18.20.2 || >=20.9.0"