diff --git a/docs/api/cozy-client/modules/models.trigger.md b/docs/api/cozy-client/modules/models.trigger.md index 8573e5e0e..abc79a5e0 100644 --- a/docs/api/cozy-client/modules/models.trigger.md +++ b/docs/api/cozy-client/modules/models.trigger.md @@ -40,6 +40,7 @@ Trigger states come from /jobs/triggers | `getAccountId` | (`trigger`: `IOCozyTrigger`) => `string` | | `getKonnector` | (`trigger`: `IOCozyTrigger`) => `string` | `void` | | `hasActionableError` | (`trigger`: `IOCozyTrigger`) => `boolean` | +| `isKonnector` | (`trigger`: `any`) => `boolean` | | `isKonnectorWorker` | (`trigger`: `IOCozyTrigger`) => `boolean` | | `isLatestErrorMuted` | (`trigger`: `IOCozyTrigger`, `account`: `IOCozyAccount`) => `boolean` | diff --git a/packages/cozy-client/src/models/trigger.js b/packages/cozy-client/src/models/trigger.js index 1d7750b5e..9052b0249 100644 --- a/packages/cozy-client/src/models/trigger.js +++ b/packages/cozy-client/src/models/trigger.js @@ -72,6 +72,8 @@ const triggers = { */ isKonnectorWorker: trigger => trigger.worker === 'konnector', + isKonnector: trigger => + trigger.worker === 'konnector' || trigger.worker === 'client', /** * Returns the konnector slug that executed a trigger * @@ -80,7 +82,7 @@ const triggers = { * @returns {string|void} A konnector slug */ getKonnector: trigger => { - if (!triggers.isKonnectorWorker(trigger)) { + if (!triggers.isKonnector(trigger)) { return null } if (trigger.message && trigger.message.konnector) { diff --git a/packages/cozy-client/src/models/trigger.spec.js b/packages/cozy-client/src/models/trigger.spec.js index 610fdb72c..0ec76996d 100644 --- a/packages/cozy-client/src/models/trigger.spec.js +++ b/packages/cozy-client/src/models/trigger.spec.js @@ -86,6 +86,22 @@ describe('trigger model', () => { } } + const cliskTrigger = { + _rev: '1-31eb8f0da1db0f3196ccf0d4329ea554', + prefix: 'toto.mycozy.cloud', + arguments: '0 35 0 * * 3', + message: { + account: '4cbfe8f3d89edf60542d5fe9cdcac7b1', + konnector: 'orangemobile' + }, + _id: 'fa4c076914ce46a92fa3e7e5f0672ca5', + domain: 'claire.mycozy.cloud', + worker: 'client', + debounce: '', + options: null, + type: '@client' + } + describe('getKonnectorFromTrigger', () => { it('should work with normal triggers', () => { expect(triggerModel.getKonnector(normalTrigger)).toBe('orangemobile') @@ -94,6 +110,10 @@ describe('trigger model', () => { it('should work with legacy triggers', () => { expect(triggerModel.getKonnector(legacyTrigger)).toBe('ameli') }) + + it('should work with clisk triggers', () => { + expect(triggerModel.getKonnector(cliskTrigger)).toBe('orangemobile') + }) }) describe('getAccountId', () => { diff --git a/packages/cozy-client/types/models/trigger.d.ts b/packages/cozy-client/types/models/trigger.d.ts index b0551790f..30c4d398a 100644 --- a/packages/cozy-client/types/models/trigger.d.ts +++ b/packages/cozy-client/types/models/trigger.d.ts @@ -7,6 +7,7 @@ export namespace triggerStates { } export namespace triggers { function isKonnectorWorker(trigger: import("../types").IOCozyTrigger): boolean; + function isKonnector(trigger: any): boolean; function getKonnector(trigger: import("../types").IOCozyTrigger): string | void; function getAccountId(trigger: import("../types").IOCozyTrigger): string; function isLatestErrorMuted(trigger: import("../types").IOCozyTrigger, account: import("../types").IOCozyAccount): boolean;