From 9402fab5991e871afc45ed9bcb6fd83c66a25fec Mon Sep 17 00:00:00 2001 From: Aditya Bhardwaj Date: Wed, 12 Apr 2023 02:35:23 +0530 Subject: [PATCH 1/2] Modify cancel By data query return type --- src/definition/accessors/ISchedulerModify.ts | 2 +- src/server/accessors/SchedulerModify.ts | 4 ++-- src/server/bridges/SchedulerBridge.ts | 4 ++-- tests/test-data/bridges/schedulerBridge.ts | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/definition/accessors/ISchedulerModify.ts b/src/definition/accessors/ISchedulerModify.ts index a8b2a3fd0..c5bbdd711 100644 --- a/src/definition/accessors/ISchedulerModify.ts +++ b/src/definition/accessors/ISchedulerModify.ts @@ -44,5 +44,5 @@ export interface ISchedulerModify { * * @param {object} data */ - cancelJobByDataQuery(data: object): Promise; + cancelJobByDataQuery(data: object): Promise; } diff --git a/src/server/accessors/SchedulerModify.ts b/src/server/accessors/SchedulerModify.ts index 91b4333ca..1e69994dd 100644 --- a/src/server/accessors/SchedulerModify.ts +++ b/src/server/accessors/SchedulerModify.ts @@ -31,7 +31,7 @@ export class SchedulerModify implements ISchedulerModify { public async cancelAllJobs(): Promise { this.bridge.doCancelAllJobs(this.appId); } - public async cancelJobByDataQuery(data: object): Promise { - this.bridge.doCancelJobByDataQuery(data, this.appId); + public async cancelJobByDataQuery(data: object): Promise { + return this.bridge.doCancelJobByDataQuery(data, this.appId); } } diff --git a/src/server/bridges/SchedulerBridge.ts b/src/server/bridges/SchedulerBridge.ts index cc58a5ee5..389bd382a 100644 --- a/src/server/bridges/SchedulerBridge.ts +++ b/src/server/bridges/SchedulerBridge.ts @@ -46,7 +46,7 @@ export abstract class SchedulerBridge extends BaseBridge { } } - public async doCancelJobByDataQuery(data: object, appId: string): Promise { + public async doCancelJobByDataQuery(data: object, appId: string): Promise { if (this.hasDefaultPermission(appId)) { return this.cancelJobByDataQuery(data, appId); } @@ -58,7 +58,7 @@ export abstract class SchedulerBridge extends BaseBridge { protected abstract runNow(job: IRunNow, appId: string): Promise; protected abstract cancelJob(jobId: string, appId: string): Promise; protected abstract cancelAllJobs(appId: string): Promise; - protected abstract cancelJobByDataQuery(data: object, appId: string): Promise; + protected abstract cancelJobByDataQuery(data: object, appId: string): Promise; private hasDefaultPermission(appId: string): boolean { if (AppPermissionManager.hasPermission(appId, AppPermissions.scheduler.default)) { diff --git a/tests/test-data/bridges/schedulerBridge.ts b/tests/test-data/bridges/schedulerBridge.ts index 7b4695a16..baf18f203 100644 --- a/tests/test-data/bridges/schedulerBridge.ts +++ b/tests/test-data/bridges/schedulerBridge.ts @@ -21,7 +21,7 @@ export class TestSchedulerBridge extends SchedulerBridge { throw new Error('Method not implemented.'); } - public async cancelJobByDataQuery(data: object, appId: string): Promise { + public async cancelJobByDataQuery(data: object, appId: string): Promise { throw new Error('Method not implemented.'); } From 40f492ed8902f930df45a2d09c09c5c2c3485a44 Mon Sep 17 00:00:00 2001 From: Aditya Bhardwaj Date: Wed, 12 Apr 2023 02:35:31 +0530 Subject: [PATCH 2/2] Add build files --- definition/accessors/ISchedulerModify.d.ts | 2 +- definition/accessors/ISchedulerModify.js.map | 2 +- server/accessors/SchedulerModify.d.ts | 2 +- server/accessors/SchedulerModify.js | 2 +- server/accessors/SchedulerModify.js.map | 2 +- server/bridges/SchedulerBridge.d.ts | 4 ++-- server/bridges/SchedulerBridge.js.map | 2 +- 7 files changed, 8 insertions(+), 8 deletions(-) diff --git a/definition/accessors/ISchedulerModify.d.ts b/definition/accessors/ISchedulerModify.d.ts index 5ad950f0a..5b0cd7057 100644 --- a/definition/accessors/ISchedulerModify.d.ts +++ b/definition/accessors/ISchedulerModify.d.ts @@ -39,5 +39,5 @@ export interface ISchedulerModify { * * @param {object} data */ - cancelJobByDataQuery(data: object): Promise; + cancelJobByDataQuery(data: object): Promise; } diff --git a/definition/accessors/ISchedulerModify.js.map b/definition/accessors/ISchedulerModify.js.map index 8cddcede3..1c6b9495c 100644 --- a/definition/accessors/ISchedulerModify.js.map +++ b/definition/accessors/ISchedulerModify.js.map @@ -1 +1 @@ -{"version":3,"sources":["src/definition/accessors/ISchedulerModify.ts"],"names":[],"mappings":"","file":"ISchedulerModify.js","sourcesContent":["import {\n IOnetimeSchedule,\n IRecurringSchedule,\n IRunNow,\n} from '../scheduler';\n\n/**\n * This accessor provides methods to work with the Job Scheduler\n */\nexport interface ISchedulerModify {\n /**\n * Schedules a registered processor to run _once_.\n *\n * @param {IOnetimeSchedule} job\n * @returns jobid as string\n */\n scheduleOnce(job: IOnetimeSchedule): Promise;\n /**\n * Schedules a registered processor to run in recurrencly according to a given interval\n *\n * @param {IRecurringSchedule} job\n * @returns jobid as string\n */\n scheduleRecurring(job: IRecurringSchedule): Promise;\n /**\n * Schedules a registered processor to run now\n *\n * @param {IRunNow} job\n * @returns jobid as string\n */\n runNow(job: IRunNow): Promise;\n /**\n * Cancels a running job given its jobId\n *\n * @param {string} jobId\n */\n cancelJob(jobId: string): Promise;\n /**\n * Cancels all the running jobs from the app\n */\n cancelAllJobs(): Promise;\n /**\n * Cancels running jobs given its data query\n *\n * @param {object} data\n */\n cancelJobByDataQuery(data: object): Promise;\n}\n"]} \ No newline at end of file +{"version":3,"sources":["src/definition/accessors/ISchedulerModify.ts"],"names":[],"mappings":"","file":"ISchedulerModify.js","sourcesContent":["import {\n IOnetimeSchedule,\n IRecurringSchedule,\n IRunNow,\n} from '../scheduler';\n\n/**\n * This accessor provides methods to work with the Job Scheduler\n */\nexport interface ISchedulerModify {\n /**\n * Schedules a registered processor to run _once_.\n *\n * @param {IOnetimeSchedule} job\n * @returns jobid as string\n */\n scheduleOnce(job: IOnetimeSchedule): Promise;\n /**\n * Schedules a registered processor to run in recurrencly according to a given interval\n *\n * @param {IRecurringSchedule} job\n * @returns jobid as string\n */\n scheduleRecurring(job: IRecurringSchedule): Promise;\n /**\n * Schedules a registered processor to run now\n *\n * @param {IRunNow} job\n * @returns jobid as string\n */\n runNow(job: IRunNow): Promise;\n /**\n * Cancels a running job given its jobId\n *\n * @param {string} jobId\n */\n cancelJob(jobId: string): Promise;\n /**\n * Cancels all the running jobs from the app\n */\n cancelAllJobs(): Promise;\n /**\n * Cancels running jobs given its data query\n *\n * @param {object} data\n */\n cancelJobByDataQuery(data: object): Promise;\n}\n"]} \ No newline at end of file diff --git a/server/accessors/SchedulerModify.d.ts b/server/accessors/SchedulerModify.d.ts index 5d3481920..d7c1bbd3b 100644 --- a/server/accessors/SchedulerModify.d.ts +++ b/server/accessors/SchedulerModify.d.ts @@ -10,5 +10,5 @@ export declare class SchedulerModify implements ISchedulerModify { runNow(job: IRecurringSchedule): Promise; cancelJob(jobId: string): Promise; cancelAllJobs(): Promise; - cancelJobByDataQuery(data: object): Promise; + cancelJobByDataQuery(data: object): Promise; } diff --git a/server/accessors/SchedulerModify.js b/server/accessors/SchedulerModify.js index c1dc710d0..f2f85e45d 100644 --- a/server/accessors/SchedulerModify.js +++ b/server/accessors/SchedulerModify.js @@ -45,7 +45,7 @@ class SchedulerModify { } cancelJobByDataQuery(data) { return __awaiter(this, void 0, void 0, function* () { - this.bridge.doCancelJobByDataQuery(data, this.appId); + return this.bridge.doCancelJobByDataQuery(data, this.appId); }); } } diff --git a/server/accessors/SchedulerModify.js.map b/server/accessors/SchedulerModify.js.map index 12b2a4791..dc6dade39 100644 --- a/server/accessors/SchedulerModify.js.map +++ b/server/accessors/SchedulerModify.js.map @@ -1 +1 @@ -{"version":3,"sources":["src/server/accessors/SchedulerModify.ts"],"names":[],"mappings":";;;;;;;;;;;;AAOA,SAAS,iBAAiB,CAAC,KAAa,EAAE,KAAa;IACnD,OAAO,KAAK,CAAC,QAAQ,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAI,KAAM,IAAK,KAAM,EAAE,CAAC;AACzE,CAAC;AAED,MAAa,eAAe;IACxB,YAA6B,MAAuB,EAAmB,KAAa;QAAvD,WAAM,GAAN,MAAM,CAAiB;QAAmB,UAAK,GAAL,KAAK,CAAQ;IAAG,CAAC;IAE3E,YAAY,CAAC,GAAqB;;YAC3C,OAAO,IAAI,CAAC,MAAM,CAAC,cAAc,iCAAM,GAAG,KAAE,EAAE,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,KAAI,IAAI,CAAC,KAAK,CAAC,CAAC;QACzG,CAAC;KAAA;IAEY,iBAAiB,CAAC,GAAuB;;YAClD,OAAO,IAAI,CAAC,MAAM,CAAC,mBAAmB,iCAAM,GAAG,KAAE,EAAE,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,KAAI,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9G,CAAC;KAAA;IAEY,MAAM,CAAC,GAAuB;;YACvC,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,iCAAM,GAAG,KAAE,EAAE,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,KAAI,IAAI,CAAC,KAAK,CAAC,CAAC;QACnG,CAAC;KAAA;IAEY,SAAS,CAAC,KAAa;;YAChC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9E,CAAC;KAAA;IAEY,aAAa;;YACtB,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5C,CAAC;KAAA;IACY,oBAAoB,CAAC,IAAY;;YAC1C,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QACzD,CAAC;KAAA;CACJ;AAzBD,0CAyBC","file":"SchedulerModify.js","sourcesContent":["import { ISchedulerModify } from '../../definition/accessors';\nimport {\n IOnetimeSchedule,\n IRecurringSchedule,\n} from '../../definition/scheduler';\nimport { SchedulerBridge } from '../bridges';\n\nfunction createProcessorId(jobId: string, appId: string): string {\n return jobId.includes(`_${appId}`) ? jobId : `${ jobId }_${ appId }`;\n}\n\nexport class SchedulerModify implements ISchedulerModify {\n constructor(private readonly bridge: SchedulerBridge, private readonly appId: string) {}\n\n public async scheduleOnce(job: IOnetimeSchedule): Promise {\n return this.bridge.doScheduleOnce({ ...job, id: createProcessorId(job.id, this.appId) }, this.appId);\n }\n\n public async scheduleRecurring(job: IRecurringSchedule): Promise {\n return this.bridge.doScheduleRecurring({ ...job, id: createProcessorId(job.id, this.appId) }, this.appId);\n }\n\n public async runNow(job: IRecurringSchedule): Promise {\n return this.bridge.doRunNow({ ...job, id: createProcessorId(job.id, this.appId) }, this.appId);\n }\n\n public async cancelJob(jobId: string): Promise {\n this.bridge.doCancelJob(createProcessorId(jobId, this.appId), this.appId);\n }\n\n public async cancelAllJobs(): Promise {\n this.bridge.doCancelAllJobs(this.appId);\n }\n public async cancelJobByDataQuery(data: object): Promise {\n this.bridge.doCancelJobByDataQuery(data, this.appId);\n }\n}\n"]} \ No newline at end of file +{"version":3,"sources":["src/server/accessors/SchedulerModify.ts"],"names":[],"mappings":";;;;;;;;;;;;AAOA,SAAS,iBAAiB,CAAC,KAAa,EAAE,KAAa;IACnD,OAAO,KAAK,CAAC,QAAQ,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAI,KAAM,IAAK,KAAM,EAAE,CAAC;AACzE,CAAC;AAED,MAAa,eAAe;IACxB,YAA6B,MAAuB,EAAmB,KAAa;QAAvD,WAAM,GAAN,MAAM,CAAiB;QAAmB,UAAK,GAAL,KAAK,CAAQ;IAAG,CAAC;IAE3E,YAAY,CAAC,GAAqB;;YAC3C,OAAO,IAAI,CAAC,MAAM,CAAC,cAAc,iCAAM,GAAG,KAAE,EAAE,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,KAAI,IAAI,CAAC,KAAK,CAAC,CAAC;QACzG,CAAC;KAAA;IAEY,iBAAiB,CAAC,GAAuB;;YAClD,OAAO,IAAI,CAAC,MAAM,CAAC,mBAAmB,iCAAM,GAAG,KAAE,EAAE,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,KAAI,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9G,CAAC;KAAA;IAEY,MAAM,CAAC,GAAuB;;YACvC,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,iCAAM,GAAG,KAAE,EAAE,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,KAAI,IAAI,CAAC,KAAK,CAAC,CAAC;QACnG,CAAC;KAAA;IAEY,SAAS,CAAC,KAAa;;YAChC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9E,CAAC;KAAA;IAEY,aAAa;;YACtB,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5C,CAAC;KAAA;IACY,oBAAoB,CAAC,IAAY;;YAC1C,OAAO,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAChE,CAAC;KAAA;CACJ;AAzBD,0CAyBC","file":"SchedulerModify.js","sourcesContent":["import { ISchedulerModify } from '../../definition/accessors';\nimport {\n IOnetimeSchedule,\n IRecurringSchedule,\n} from '../../definition/scheduler';\nimport { SchedulerBridge } from '../bridges';\n\nfunction createProcessorId(jobId: string, appId: string): string {\n return jobId.includes(`_${appId}`) ? jobId : `${ jobId }_${ appId }`;\n}\n\nexport class SchedulerModify implements ISchedulerModify {\n constructor(private readonly bridge: SchedulerBridge, private readonly appId: string) {}\n\n public async scheduleOnce(job: IOnetimeSchedule): Promise {\n return this.bridge.doScheduleOnce({ ...job, id: createProcessorId(job.id, this.appId) }, this.appId);\n }\n\n public async scheduleRecurring(job: IRecurringSchedule): Promise {\n return this.bridge.doScheduleRecurring({ ...job, id: createProcessorId(job.id, this.appId) }, this.appId);\n }\n\n public async runNow(job: IRecurringSchedule): Promise {\n return this.bridge.doRunNow({ ...job, id: createProcessorId(job.id, this.appId) }, this.appId);\n }\n\n public async cancelJob(jobId: string): Promise {\n this.bridge.doCancelJob(createProcessorId(jobId, this.appId), this.appId);\n }\n\n public async cancelAllJobs(): Promise {\n this.bridge.doCancelAllJobs(this.appId);\n }\n public async cancelJobByDataQuery(data: object): Promise {\n return this.bridge.doCancelJobByDataQuery(data, this.appId);\n }\n}\n"]} \ No newline at end of file diff --git a/server/bridges/SchedulerBridge.d.ts b/server/bridges/SchedulerBridge.d.ts index 0901b701c..a7e0bbfd9 100644 --- a/server/bridges/SchedulerBridge.d.ts +++ b/server/bridges/SchedulerBridge.d.ts @@ -7,13 +7,13 @@ export declare abstract class SchedulerBridge extends BaseBridge { doRunNow(job: IRunNow, appId: string): Promise; doCancelJob(jobId: string, appId: string): Promise; doCancelAllJobs(appId: string): Promise; - doCancelJobByDataQuery(data: object, appId: string): Promise; + doCancelJobByDataQuery(data: object, appId: string): Promise; protected abstract registerProcessors(processors: Array, appId: string): Promise>; protected abstract scheduleOnce(job: IOnetimeSchedule, appId: string): Promise; protected abstract scheduleRecurring(job: IRecurringSchedule, appId: string): Promise; protected abstract runNow(job: IRunNow, appId: string): Promise; protected abstract cancelJob(jobId: string, appId: string): Promise; protected abstract cancelAllJobs(appId: string): Promise; - protected abstract cancelJobByDataQuery(data: object, appId: string): Promise; + protected abstract cancelJobByDataQuery(data: object, appId: string): Promise; private hasDefaultPermission; } diff --git a/server/bridges/SchedulerBridge.js.map b/server/bridges/SchedulerBridge.js.map index 1005c9c42..cb4e69298 100644 --- a/server/bridges/SchedulerBridge.js.map +++ b/server/bridges/SchedulerBridge.js.map @@ -1 +1 @@ -{"version":3,"sources":["src/server/bridges/SchedulerBridge.ts"],"names":[],"mappings":";;;;;;;;;;;;AAMA,2EAAwE;AACxE,2EAAwE;AACxE,kEAA+D;AAC/D,6CAA0C;AAE1C,MAAsB,eAAgB,SAAQ,uBAAU;IACvC,oBAAoB,CAAC,aAAgC,EAAE,EAAE,KAAa;;YAC/E,IAAI,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,EAAE;gBAClC,OAAO,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;aACrD;QACL,CAAC;KAAA;IAEY,cAAc,CAAC,GAAqB,EAAE,KAAa;;YAC5D,IAAI,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,EAAE;gBAClC,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;aACxC;QACL,CAAC;KAAA;IAEY,mBAAmB,CAAC,GAAuB,EAAE,KAAa;;YACnE,IAAI,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,EAAE;gBAClC,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;aAC7C;QACL,CAAC;KAAA;IAEY,QAAQ,CAAC,GAAY,EAAE,KAAa;;YAC7C,IAAI,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,EAAE;gBAClC,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;aAClC;QACL,CAAC;KAAA;IAEY,WAAW,CAAC,KAAa,EAAE,KAAa;;YACjD,IAAI,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,EAAE;gBAClC,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;aACvC;QACL,CAAC;KAAA;IAEY,eAAe,CAAC,KAAa;;YACtC,IAAI,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,EAAE;gBAClC,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;aACpC;QACL,CAAC;KAAA;IAEY,sBAAsB,CAAC,IAAY,EAAE,KAAa;;YAC3D,IAAI,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,EAAE;gBAClC,OAAO,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;aACjD;QACL,CAAC;KAAA;IAUO,oBAAoB,CAAC,KAAa;QACtC,IAAI,2CAAoB,CAAC,aAAa,CAAC,KAAK,EAAE,+BAAc,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE;YAC7E,OAAO,IAAI,CAAC;SACf;QAED,2CAAoB,CAAC,gBAAgB,CAAC,IAAI,6CAAqB,CAAC;YAC5D,KAAK;YACL,kBAAkB,EAAE,CAAC,+BAAc,CAAC,SAAS,CAAC,OAAO,CAAC;SACzD,CAAC,CAAC,CAAC;QAEJ,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ;AA/DD,0CA+DC","file":"SchedulerBridge.js","sourcesContent":["import {\n IOnetimeSchedule,\n IProcessor,\n IRecurringSchedule,\n IRunNow,\n} from '../../definition/scheduler';\nimport { PermissionDeniedError } from '../errors/PermissionDeniedError';\nimport { AppPermissionManager } from '../managers/AppPermissionManager';\nimport { AppPermissions } from '../permissions/AppPermissions';\nimport { BaseBridge } from './BaseBridge';\n\nexport abstract class SchedulerBridge extends BaseBridge {\n public async doRegisterProcessors(processors: Array = [], appId: string): Promise> {\n if (this.hasDefaultPermission(appId)) {\n return this.registerProcessors(processors, appId);\n }\n }\n\n public async doScheduleOnce(job: IOnetimeSchedule, appId: string): Promise {\n if (this.hasDefaultPermission(appId)) {\n return this.scheduleOnce(job, appId);\n }\n }\n\n public async doScheduleRecurring(job: IRecurringSchedule, appId: string): Promise {\n if (this.hasDefaultPermission(appId)) {\n return this.scheduleRecurring(job, appId);\n }\n }\n\n public async doRunNow(job: IRunNow, appId: string): Promise {\n if (this.hasDefaultPermission(appId)) {\n return this.runNow(job, appId);\n }\n }\n\n public async doCancelJob(jobId: string, appId: string): Promise {\n if (this.hasDefaultPermission(appId)) {\n return this.cancelJob(jobId, appId);\n }\n }\n\n public async doCancelAllJobs(appId: string): Promise {\n if (this.hasDefaultPermission(appId)) {\n return this.cancelAllJobs(appId);\n }\n }\n\n public async doCancelJobByDataQuery(data: object, appId: string): Promise {\n if (this.hasDefaultPermission(appId)) {\n return this.cancelJobByDataQuery(data, appId);\n }\n }\n\n protected abstract registerProcessors(processors: Array, appId: string): Promise>;\n protected abstract scheduleOnce(job: IOnetimeSchedule, appId: string): Promise;\n protected abstract scheduleRecurring(job: IRecurringSchedule, appId: string): Promise;\n protected abstract runNow(job: IRunNow, appId: string): Promise;\n protected abstract cancelJob(jobId: string, appId: string): Promise;\n protected abstract cancelAllJobs(appId: string): Promise;\n protected abstract cancelJobByDataQuery(data: object, appId: string): Promise;\n\n private hasDefaultPermission(appId: string): boolean {\n if (AppPermissionManager.hasPermission(appId, AppPermissions.scheduler.default)) {\n return true;\n }\n\n AppPermissionManager.notifyAboutError(new PermissionDeniedError({\n appId,\n missingPermissions: [AppPermissions.scheduler.default],\n }));\n\n return false;\n }\n}\n"]} \ No newline at end of file +{"version":3,"sources":["src/server/bridges/SchedulerBridge.ts"],"names":[],"mappings":";;;;;;;;;;;;AAMA,2EAAwE;AACxE,2EAAwE;AACxE,kEAA+D;AAC/D,6CAA0C;AAE1C,MAAsB,eAAgB,SAAQ,uBAAU;IACvC,oBAAoB,CAAC,aAAgC,EAAE,EAAE,KAAa;;YAC/E,IAAI,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,EAAE;gBAClC,OAAO,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;aACrD;QACL,CAAC;KAAA;IAEY,cAAc,CAAC,GAAqB,EAAE,KAAa;;YAC5D,IAAI,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,EAAE;gBAClC,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;aACxC;QACL,CAAC;KAAA;IAEY,mBAAmB,CAAC,GAAuB,EAAE,KAAa;;YACnE,IAAI,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,EAAE;gBAClC,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;aAC7C;QACL,CAAC;KAAA;IAEY,QAAQ,CAAC,GAAY,EAAE,KAAa;;YAC7C,IAAI,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,EAAE;gBAClC,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;aAClC;QACL,CAAC;KAAA;IAEY,WAAW,CAAC,KAAa,EAAE,KAAa;;YACjD,IAAI,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,EAAE;gBAClC,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;aACvC;QACL,CAAC;KAAA;IAEY,eAAe,CAAC,KAAa;;YACtC,IAAI,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,EAAE;gBAClC,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;aACpC;QACL,CAAC;KAAA;IAEY,sBAAsB,CAAC,IAAY,EAAE,KAAa;;YAC3D,IAAI,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,EAAE;gBAClC,OAAO,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;aACjD;QACL,CAAC;KAAA;IAUO,oBAAoB,CAAC,KAAa;QACtC,IAAI,2CAAoB,CAAC,aAAa,CAAC,KAAK,EAAE,+BAAc,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE;YAC7E,OAAO,IAAI,CAAC;SACf;QAED,2CAAoB,CAAC,gBAAgB,CAAC,IAAI,6CAAqB,CAAC;YAC5D,KAAK;YACL,kBAAkB,EAAE,CAAC,+BAAc,CAAC,SAAS,CAAC,OAAO,CAAC;SACzD,CAAC,CAAC,CAAC;QAEJ,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ;AA/DD,0CA+DC","file":"SchedulerBridge.js","sourcesContent":["import {\n IOnetimeSchedule,\n IProcessor,\n IRecurringSchedule,\n IRunNow,\n} from '../../definition/scheduler';\nimport { PermissionDeniedError } from '../errors/PermissionDeniedError';\nimport { AppPermissionManager } from '../managers/AppPermissionManager';\nimport { AppPermissions } from '../permissions/AppPermissions';\nimport { BaseBridge } from './BaseBridge';\n\nexport abstract class SchedulerBridge extends BaseBridge {\n public async doRegisterProcessors(processors: Array = [], appId: string): Promise> {\n if (this.hasDefaultPermission(appId)) {\n return this.registerProcessors(processors, appId);\n }\n }\n\n public async doScheduleOnce(job: IOnetimeSchedule, appId: string): Promise {\n if (this.hasDefaultPermission(appId)) {\n return this.scheduleOnce(job, appId);\n }\n }\n\n public async doScheduleRecurring(job: IRecurringSchedule, appId: string): Promise {\n if (this.hasDefaultPermission(appId)) {\n return this.scheduleRecurring(job, appId);\n }\n }\n\n public async doRunNow(job: IRunNow, appId: string): Promise {\n if (this.hasDefaultPermission(appId)) {\n return this.runNow(job, appId);\n }\n }\n\n public async doCancelJob(jobId: string, appId: string): Promise {\n if (this.hasDefaultPermission(appId)) {\n return this.cancelJob(jobId, appId);\n }\n }\n\n public async doCancelAllJobs(appId: string): Promise {\n if (this.hasDefaultPermission(appId)) {\n return this.cancelAllJobs(appId);\n }\n }\n\n public async doCancelJobByDataQuery(data: object, appId: string): Promise {\n if (this.hasDefaultPermission(appId)) {\n return this.cancelJobByDataQuery(data, appId);\n }\n }\n\n protected abstract registerProcessors(processors: Array, appId: string): Promise>;\n protected abstract scheduleOnce(job: IOnetimeSchedule, appId: string): Promise;\n protected abstract scheduleRecurring(job: IRecurringSchedule, appId: string): Promise;\n protected abstract runNow(job: IRunNow, appId: string): Promise;\n protected abstract cancelJob(jobId: string, appId: string): Promise;\n protected abstract cancelAllJobs(appId: string): Promise;\n protected abstract cancelJobByDataQuery(data: object, appId: string): Promise;\n\n private hasDefaultPermission(appId: string): boolean {\n if (AppPermissionManager.hasPermission(appId, AppPermissions.scheduler.default)) {\n return true;\n }\n\n AppPermissionManager.notifyAboutError(new PermissionDeniedError({\n appId,\n missingPermissions: [AppPermissions.scheduler.default],\n }));\n\n return false;\n }\n}\n"]} \ No newline at end of file