Skip to content

Commit

Permalink
feat: Supports clisk for getKonnector
Browse files Browse the repository at this point in the history
Add an isKonnector method that check if its a clisk or a
server side konnector.

Use this isKonnector in getKonnector since we want to get
the konnectors, we don't want the implementation details
(aka we don't care if its a clisk or not).
  • Loading branch information
Crash-- committed Nov 22, 2023
1 parent 7a468f5 commit 5b31fc1
Show file tree
Hide file tree
Showing 4 changed files with 25 additions and 1 deletion.
1 change: 1 addition & 0 deletions docs/api/cozy-client/modules/models.trigger.md
Expand Up @@ -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` |

Expand Down
4 changes: 3 additions & 1 deletion packages/cozy-client/src/models/trigger.js
Expand Up @@ -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
*
Expand All @@ -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) {
Expand Down
20 changes: 20 additions & 0 deletions packages/cozy-client/src/models/trigger.spec.js
Expand Up @@ -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')
Expand All @@ -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', () => {
Expand Down
1 change: 1 addition & 0 deletions packages/cozy-client/types/models/trigger.d.ts
Expand Up @@ -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;
Expand Down

0 comments on commit 5b31fc1

Please sign in to comment.