@abyss-project/console 1.0.3 → 1.0.5
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.
- package/dist/api/workflow.admin.api.d.ts +4 -3
- package/dist/api/workflow.admin.api.js +6 -1
- package/dist/index.d.ts +28 -35
- package/dist/index.js +22 -32
- package/dist/types/constants/webhook-trigger.constants.d.ts +0 -0
- package/dist/types/constants/webhook-trigger.constants.js +1 -0
- package/dist/types/dto/workflow.dto.d.ts +5 -7
- package/dist/types/interface/api/index.d.ts +2 -0
- package/dist/types/interface/api/index.js +2 -0
- package/dist/types/interface/api/requests/webhook-public.request.d.ts +0 -0
- package/dist/types/interface/api/requests/webhook-public.request.js +1 -0
- package/dist/types/interface/api/requests/workflow-webhook.public.request.d.ts +3 -0
- package/dist/types/interface/api/requests/workflow-webhook.public.request.js +2 -0
- package/dist/types/interface/api/requests/workflow.admin.request.d.ts +7 -3
- package/dist/types/interface/api/responses/webhook-public.response.d.ts +0 -0
- package/dist/types/interface/api/responses/webhook-public.response.js +1 -0
- package/dist/types/interface/api/responses/workflow-webhook.public.response.d.ts +3 -0
- package/dist/types/interface/api/responses/workflow-webhook.public.response.js +2 -0
- package/dist/types/interface/api/responses/workflow.admin.response.d.ts +8 -4
- package/dist/types/interface/models/workflow-trigger.model.d.ts +1 -8
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.js +1 -0
- package/dist/utils/webhook-trigger.utils.d.ts +4 -0
- package/dist/utils/webhook-trigger.utils.js +54 -0
- package/package.json +1 -1
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { IPaginateWorkflowAdminQuery, IGetWorkflowAdminParams,
|
|
1
|
+
import { IPaginateWorkflowAdminQuery, IGetWorkflowAdminParams, IUpdateStatusWorkflowAdminBody, IPaginateWorkflowExecutionsAdminQuery, ICancelWorkflowExecutionAdminParams, IManualTriggerWorkflowAdminParams, IManualTriggerWorkflowAdminBody, ITriggerUserRegistrationWorkflowAdminBody, IPaginateWorkflowAdminResponse, IGetWorkflowAdminResponse, IUpdateStatusWorkflowAdminResponse, IDeleteWorkflowAdminResponse, IPaginateWorkflowExecutionAdminResponse, ICancelWorkflowExecutionAdminResponse, IManualTriggerWorkflowAdminResponse, ITriggerUserRegistrationWorkflowAdminResponse } from '../types';
|
|
2
2
|
export declare const paginateWorkflow: (query: IPaginateWorkflowAdminQuery) => Promise<IPaginateWorkflowAdminResponse>;
|
|
3
3
|
export declare const getWorkflow: (params: IGetWorkflowAdminParams) => Promise<IGetWorkflowAdminResponse>;
|
|
4
|
-
export declare const updateWorkflowStatus: (params: IGetWorkflowAdminParams, body:
|
|
4
|
+
export declare const updateWorkflowStatus: (params: IGetWorkflowAdminParams, body: IUpdateStatusWorkflowAdminBody) => Promise<IUpdateStatusWorkflowAdminResponse>;
|
|
5
5
|
export declare const deleteWorkflow: (params: IGetWorkflowAdminParams) => Promise<IDeleteWorkflowAdminResponse>;
|
|
6
6
|
export declare const paginateWorkflowExecution: (query: IPaginateWorkflowExecutionsAdminQuery) => Promise<IPaginateWorkflowExecutionAdminResponse>;
|
|
7
7
|
export declare const cancelWorkflowExecution: (params: ICancelWorkflowExecutionAdminParams) => Promise<ICancelWorkflowExecutionAdminResponse>;
|
|
8
|
-
export declare const triggerWorkflow: (params:
|
|
8
|
+
export declare const triggerWorkflow: (params: IManualTriggerWorkflowAdminParams, body: IManualTriggerWorkflowAdminBody) => Promise<IManualTriggerWorkflowAdminResponse>;
|
|
9
|
+
export declare const triggerUserRegistration: (body: ITriggerUserRegistrationWorkflowAdminBody) => Promise<ITriggerUserRegistrationWorkflowAdminResponse>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.triggerWorkflow = exports.cancelWorkflowExecution = exports.paginateWorkflowExecution = exports.deleteWorkflow = exports.updateWorkflowStatus = exports.getWorkflow = exports.paginateWorkflow = void 0;
|
|
3
|
+
exports.triggerUserRegistration = exports.triggerWorkflow = exports.cancelWorkflowExecution = exports.paginateWorkflowExecution = exports.deleteWorkflow = exports.updateWorkflowStatus = exports.getWorkflow = exports.paginateWorkflow = void 0;
|
|
4
4
|
const __1 = require("..");
|
|
5
5
|
const paginateWorkflow = async (query) => {
|
|
6
6
|
const response = await __1.AbyssConsoleCore.axios.get(`/workflow/admin/paginate`, { params: query });
|
|
@@ -37,3 +37,8 @@ const triggerWorkflow = async (params, body) => {
|
|
|
37
37
|
return response.data;
|
|
38
38
|
};
|
|
39
39
|
exports.triggerWorkflow = triggerWorkflow;
|
|
40
|
+
const triggerUserRegistration = async (body) => {
|
|
41
|
+
const response = await __1.AbyssConsoleCore.axios.post(`/workflow/admin/trigger/user-registration`, body);
|
|
42
|
+
return response.data;
|
|
43
|
+
};
|
|
44
|
+
exports.triggerUserRegistration = triggerUserRegistration;
|
package/dist/index.d.ts
CHANGED
|
@@ -9,40 +9,19 @@ import * as projectApi from './api/project.api';
|
|
|
9
9
|
import * as projectAdminApi from './api/project.admin.api';
|
|
10
10
|
export * from './types';
|
|
11
11
|
export * from './utils';
|
|
12
|
+
export { deleteProject as deleteProjectAdmin } from './api/project.admin.api';
|
|
12
13
|
export declare const API_KEY_APPLICATION_HEADER = "abyss-console-api-key-application";
|
|
13
14
|
export declare const ADMIN_TOKEN_HEADER = "abyss-admin-token";
|
|
14
15
|
export declare const HEADER_WEBHOOK_SIGNATURE_NAME = "abyss-console-webhook-signature";
|
|
15
16
|
export declare const WEBHOOK_SIGNATURE_ALGORITHM = "sha256";
|
|
16
|
-
type CoreConfig
|
|
17
|
+
type CoreConfig = {
|
|
17
18
|
token?: string;
|
|
18
19
|
applicationApiKey?: string;
|
|
19
20
|
applicationId?: string;
|
|
20
21
|
adminToken?: string;
|
|
21
22
|
baseURL?: string;
|
|
22
|
-
admin?: TAdmin;
|
|
23
23
|
};
|
|
24
|
-
type
|
|
25
|
-
runCron: typeof domainVerificationAdminApi.runCron;
|
|
26
|
-
};
|
|
27
|
-
type WorkflowAdminSDK = {
|
|
28
|
-
paginate: typeof workflowAdminApi.paginateWorkflow;
|
|
29
|
-
get: typeof workflowAdminApi.getWorkflow;
|
|
30
|
-
updateStatus: typeof workflowAdminApi.updateWorkflowStatus;
|
|
31
|
-
delete: typeof workflowAdminApi.deleteWorkflow;
|
|
32
|
-
execution: {
|
|
33
|
-
paginate: typeof workflowAdminApi.paginateWorkflowExecution;
|
|
34
|
-
cancel: typeof workflowAdminApi.cancelWorkflowExecution;
|
|
35
|
-
};
|
|
36
|
-
trigger: typeof workflowAdminApi.triggerWorkflow;
|
|
37
|
-
};
|
|
38
|
-
type ProjectAdminSDK = {
|
|
39
|
-
delete: typeof projectAdminApi.deleteProject;
|
|
40
|
-
};
|
|
41
|
-
type ProjectSDK = {
|
|
42
|
-
get: typeof projectApi.getProject;
|
|
43
|
-
activate: typeof projectApi.activateProject;
|
|
44
|
-
};
|
|
45
|
-
type AbyssConsoleCoreSDK<TAdmin extends boolean = false> = {
|
|
24
|
+
type AbyssConsoleCoreSDK = {
|
|
46
25
|
domainVerification: {
|
|
47
26
|
create: typeof domainVerificationApi.createDomainVerification;
|
|
48
27
|
list: typeof domainVerificationApi.listDomainVerification;
|
|
@@ -50,9 +29,10 @@ type AbyssConsoleCoreSDK<TAdmin extends boolean = false> = {
|
|
|
50
29
|
verify: typeof domainVerificationApi.verifyDomainVerification;
|
|
51
30
|
regenerate: typeof domainVerificationApi.regenerateDomainVerification;
|
|
52
31
|
delete: typeof domainVerificationApi.deleteDomainVerification;
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
32
|
+
admin: {
|
|
33
|
+
runCron: typeof domainVerificationAdminApi.runCron;
|
|
34
|
+
};
|
|
35
|
+
};
|
|
56
36
|
monitor: {
|
|
57
37
|
up: typeof monitorApi.upMonitor;
|
|
58
38
|
};
|
|
@@ -63,9 +43,13 @@ type AbyssConsoleCoreSDK<TAdmin extends boolean = false> = {
|
|
|
63
43
|
update: typeof ipAddressApi.updateIpAddress;
|
|
64
44
|
delete: typeof ipAddressApi.deleteIpAddress;
|
|
65
45
|
};
|
|
66
|
-
project:
|
|
67
|
-
|
|
68
|
-
|
|
46
|
+
project: {
|
|
47
|
+
get: typeof projectApi.getProject;
|
|
48
|
+
activate: typeof projectApi.activateProject;
|
|
49
|
+
admin: {
|
|
50
|
+
delete: typeof projectAdminApi.deleteProject;
|
|
51
|
+
};
|
|
52
|
+
};
|
|
69
53
|
workflow: {
|
|
70
54
|
create: typeof workflowApi.createWorkflow;
|
|
71
55
|
paginate: typeof workflowApi.paginateWorkflow;
|
|
@@ -92,9 +76,18 @@ type AbyssConsoleCoreSDK<TAdmin extends boolean = false> = {
|
|
|
92
76
|
update: typeof workflowApi.updateWorkflowTrigger;
|
|
93
77
|
delete: typeof workflowApi.deleteWorkflowTrigger;
|
|
94
78
|
};
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
79
|
+
admin: {
|
|
80
|
+
paginate: typeof workflowAdminApi.paginateWorkflow;
|
|
81
|
+
get: typeof workflowAdminApi.getWorkflow;
|
|
82
|
+
updateStatus: typeof workflowAdminApi.updateWorkflowStatus;
|
|
83
|
+
delete: typeof workflowAdminApi.deleteWorkflow;
|
|
84
|
+
execution: {
|
|
85
|
+
paginate: typeof workflowAdminApi.paginateWorkflowExecution;
|
|
86
|
+
cancel: typeof workflowAdminApi.cancelWorkflowExecution;
|
|
87
|
+
};
|
|
88
|
+
trigger: typeof workflowAdminApi.triggerWorkflow;
|
|
89
|
+
};
|
|
90
|
+
};
|
|
98
91
|
};
|
|
99
92
|
type InternalConfig = {
|
|
100
93
|
token: string;
|
|
@@ -108,9 +101,9 @@ export declare class AbyssConsoleCore {
|
|
|
108
101
|
private static config;
|
|
109
102
|
static axios: import("axios").AxiosInstance;
|
|
110
103
|
private static _sdk;
|
|
111
|
-
static get sdk(): AbyssConsoleCoreSDK
|
|
104
|
+
static get sdk(): AbyssConsoleCoreSDK;
|
|
112
105
|
private static buildSDK;
|
|
113
|
-
static setConfig
|
|
106
|
+
static setConfig(config: CoreConfig): void;
|
|
114
107
|
static getConfig(): InternalConfig;
|
|
115
108
|
static enableAxiosRetry(axiosRetryConfig?: IAxiosRetryConfig): void;
|
|
116
109
|
}
|
package/dist/index.js
CHANGED
|
@@ -29,7 +29,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
29
29
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
30
30
|
};
|
|
31
31
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
32
|
-
exports.AbyssConsoleCore = exports.WEBHOOK_SIGNATURE_ALGORITHM = exports.HEADER_WEBHOOK_SIGNATURE_NAME = exports.ADMIN_TOKEN_HEADER = exports.API_KEY_APPLICATION_HEADER = void 0;
|
|
32
|
+
exports.AbyssConsoleCore = exports.WEBHOOK_SIGNATURE_ALGORITHM = exports.HEADER_WEBHOOK_SIGNATURE_NAME = exports.ADMIN_TOKEN_HEADER = exports.API_KEY_APPLICATION_HEADER = exports.deleteProjectAdmin = void 0;
|
|
33
33
|
const axios_1 = __importDefault(require("axios"));
|
|
34
34
|
const axios_retry_1 = __importStar(require("axios-retry"));
|
|
35
35
|
const domainVerificationApi = __importStar(require("./api/domain-verification.api"));
|
|
@@ -42,6 +42,8 @@ const projectApi = __importStar(require("./api/project.api"));
|
|
|
42
42
|
const projectAdminApi = __importStar(require("./api/project.admin.api"));
|
|
43
43
|
__exportStar(require("./types"), exports);
|
|
44
44
|
__exportStar(require("./utils"), exports);
|
|
45
|
+
var project_admin_api_1 = require("./api/project.admin.api");
|
|
46
|
+
Object.defineProperty(exports, "deleteProjectAdmin", { enumerable: true, get: function () { return project_admin_api_1.deleteProject; } });
|
|
45
47
|
const MONITOR_DEFAULT_BASE_URL = 'https://console-api.abyss-project.fr/api/';
|
|
46
48
|
exports.API_KEY_APPLICATION_HEADER = 'abyss-console-api-key-application';
|
|
47
49
|
exports.ADMIN_TOKEN_HEADER = 'abyss-admin-token';
|
|
@@ -68,13 +70,9 @@ class AbyssConsoleCore {
|
|
|
68
70
|
verify: domainVerificationApi.verifyDomainVerification,
|
|
69
71
|
regenerate: domainVerificationApi.regenerateDomainVerification,
|
|
70
72
|
delete: domainVerificationApi.deleteDomainVerification,
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
runCron: domainVerificationAdminApi.runCron,
|
|
75
|
-
},
|
|
76
|
-
}
|
|
77
|
-
: {}),
|
|
73
|
+
admin: {
|
|
74
|
+
runCron: domainVerificationAdminApi.runCron,
|
|
75
|
+
},
|
|
78
76
|
};
|
|
79
77
|
const workflowSDK = {
|
|
80
78
|
create: workflowApi.createWorkflow,
|
|
@@ -102,32 +100,24 @@ class AbyssConsoleCore {
|
|
|
102
100
|
update: workflowApi.updateWorkflowTrigger,
|
|
103
101
|
delete: workflowApi.deleteWorkflowTrigger,
|
|
104
102
|
},
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
trigger: workflowAdminApi.triggerWorkflow,
|
|
117
|
-
},
|
|
118
|
-
}
|
|
119
|
-
: {}),
|
|
103
|
+
admin: {
|
|
104
|
+
paginate: workflowAdminApi.paginateWorkflow,
|
|
105
|
+
get: workflowAdminApi.getWorkflow,
|
|
106
|
+
updateStatus: workflowAdminApi.updateWorkflowStatus,
|
|
107
|
+
delete: workflowAdminApi.deleteWorkflow,
|
|
108
|
+
execution: {
|
|
109
|
+
paginate: workflowAdminApi.paginateWorkflowExecution,
|
|
110
|
+
cancel: workflowAdminApi.cancelWorkflowExecution,
|
|
111
|
+
},
|
|
112
|
+
trigger: workflowAdminApi.triggerWorkflow,
|
|
113
|
+
},
|
|
120
114
|
};
|
|
121
115
|
const projectSDK = {
|
|
122
116
|
get: projectApi.getProject,
|
|
123
117
|
activate: projectApi.activateProject,
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
delete: projectAdminApi.deleteProject,
|
|
128
|
-
},
|
|
129
|
-
}
|
|
130
|
-
: {}),
|
|
118
|
+
admin: {
|
|
119
|
+
delete: projectAdminApi.deleteProject,
|
|
120
|
+
},
|
|
131
121
|
};
|
|
132
122
|
const baseSDK = {
|
|
133
123
|
domainVerification: domainVerificationSDK,
|
|
@@ -147,7 +137,7 @@ class AbyssConsoleCore {
|
|
|
147
137
|
return baseSDK;
|
|
148
138
|
}
|
|
149
139
|
static setConfig(config) {
|
|
150
|
-
var _a, _b, _c, _d, _e
|
|
140
|
+
var _a, _b, _c, _d, _e;
|
|
151
141
|
AbyssConsoleCore.config = {
|
|
152
142
|
...AbyssConsoleCore.config,
|
|
153
143
|
token: (_a = config.token) !== null && _a !== void 0 ? _a : AbyssConsoleCore.config.token,
|
|
@@ -155,7 +145,7 @@ class AbyssConsoleCore {
|
|
|
155
145
|
applicationId: (_c = config.applicationId) !== null && _c !== void 0 ? _c : AbyssConsoleCore.config.applicationId,
|
|
156
146
|
adminToken: (_d = config.adminToken) !== null && _d !== void 0 ? _d : AbyssConsoleCore.config.adminToken,
|
|
157
147
|
baseURL: (_e = config.baseURL) !== null && _e !== void 0 ? _e : AbyssConsoleCore.config.baseURL,
|
|
158
|
-
admin:
|
|
148
|
+
admin: false,
|
|
159
149
|
};
|
|
160
150
|
AbyssConsoleCore._sdk = null;
|
|
161
151
|
if (config.baseURL) {
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";
|
|
@@ -4,16 +4,14 @@ export interface IUserRegistrationWorkflowTriggerData {
|
|
|
4
4
|
email: string;
|
|
5
5
|
emailDomain: string;
|
|
6
6
|
alias?: string;
|
|
7
|
-
metadata?: Record<string, any>;
|
|
8
7
|
}
|
|
9
8
|
export interface IWebhookWorkflowTriggerData {
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
workflowTriggerId: string;
|
|
10
|
+
workflowId: string;
|
|
12
11
|
body: any;
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
sourceIp?: string;
|
|
12
|
+
queryParams?: Record<string, string>;
|
|
13
|
+
headers: Record<string, string>;
|
|
14
|
+
ipAddress?: string;
|
|
17
15
|
}
|
|
18
16
|
export type WorkflowTriggerData = IUserRegistrationWorkflowTriggerData | IWebhookWorkflowTriggerData | Record<string, any>;
|
|
19
17
|
export interface IFilterStepConfig {
|
|
@@ -9,6 +9,7 @@ export * from './requests/workflow.request';
|
|
|
9
9
|
export * from './requests/workflow.admin.request';
|
|
10
10
|
export * from './requests/project.request';
|
|
11
11
|
export * from './requests/project.admin.request';
|
|
12
|
+
export * from './requests/workflow-webhook.public.request';
|
|
12
13
|
export * from './responses/monitor.response';
|
|
13
14
|
export * from './responses/domain-verification.response';
|
|
14
15
|
export * from './responses/domain-verification.admin.response';
|
|
@@ -17,3 +18,4 @@ export * from './responses/workflow.response';
|
|
|
17
18
|
export * from './responses/workflow.admin.response';
|
|
18
19
|
export * from './responses/project.response';
|
|
19
20
|
export * from './responses/project.admin.response';
|
|
21
|
+
export * from './responses/workflow-webhook.public.response';
|
|
@@ -25,6 +25,7 @@ __exportStar(require("./requests/workflow.request"), exports);
|
|
|
25
25
|
__exportStar(require("./requests/workflow.admin.request"), exports);
|
|
26
26
|
__exportStar(require("./requests/project.request"), exports);
|
|
27
27
|
__exportStar(require("./requests/project.admin.request"), exports);
|
|
28
|
+
__exportStar(require("./requests/workflow-webhook.public.request"), exports);
|
|
28
29
|
__exportStar(require("./responses/monitor.response"), exports);
|
|
29
30
|
__exportStar(require("./responses/domain-verification.response"), exports);
|
|
30
31
|
__exportStar(require("./responses/domain-verification.admin.response"), exports);
|
|
@@ -33,3 +34,4 @@ __exportStar(require("./responses/workflow.response"), exports);
|
|
|
33
34
|
__exportStar(require("./responses/workflow.admin.response"), exports);
|
|
34
35
|
__exportStar(require("./responses/project.response"), exports);
|
|
35
36
|
__exportStar(require("./responses/project.admin.response"), exports);
|
|
37
|
+
__exportStar(require("./responses/workflow-webhook.public.response"), exports);
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { WorkflowStatus, WorkflowExecutionStatus } from '../../../enum/workflow.enum';
|
|
2
2
|
import { QueryPaginate } from '../type-message/base-paginate';
|
|
3
|
+
import { IUserRegistrationWorkflowTriggerData } from '../../../dto/workflow.dto';
|
|
3
4
|
export interface IPaginateWorkflowAdminQuery extends QueryPaginate {
|
|
4
5
|
projectId?: string;
|
|
5
6
|
status?: WorkflowStatus;
|
|
@@ -8,7 +9,7 @@ export interface IPaginateWorkflowAdminQuery extends QueryPaginate {
|
|
|
8
9
|
export interface IGetWorkflowAdminParams {
|
|
9
10
|
workflowId: string;
|
|
10
11
|
}
|
|
11
|
-
export interface
|
|
12
|
+
export interface IUpdateStatusWorkflowAdminBody {
|
|
12
13
|
status: WorkflowStatus;
|
|
13
14
|
}
|
|
14
15
|
export interface IPaginateWorkflowExecutionsAdminQuery extends QueryPaginate {
|
|
@@ -21,9 +22,12 @@ export interface IPaginateWorkflowExecutionsAdminQuery extends QueryPaginate {
|
|
|
21
22
|
export interface ICancelWorkflowExecutionAdminParams {
|
|
22
23
|
workflowExecutionId: string;
|
|
23
24
|
}
|
|
24
|
-
export interface
|
|
25
|
+
export interface IManualTriggerWorkflowAdminParams {
|
|
25
26
|
workflowId: string;
|
|
26
27
|
}
|
|
27
|
-
export interface
|
|
28
|
+
export interface IManualTriggerWorkflowAdminBody {
|
|
28
29
|
triggerData: Record<string, unknown>;
|
|
29
30
|
}
|
|
31
|
+
export interface ITriggerUserRegistrationWorkflowAdminBody {
|
|
32
|
+
triggerData: IUserRegistrationWorkflowTriggerData;
|
|
33
|
+
}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";
|
|
@@ -7,10 +7,10 @@ export interface IGetWorkflowAdminData {
|
|
|
7
7
|
workflow: IWorkflow;
|
|
8
8
|
}
|
|
9
9
|
export type IGetWorkflowAdminResponse = IResponse<IGetWorkflowAdminData>;
|
|
10
|
-
export interface
|
|
10
|
+
export interface IUpdateStatusWorkflowAdminData {
|
|
11
11
|
workflow: IWorkflow;
|
|
12
12
|
}
|
|
13
|
-
export type
|
|
13
|
+
export type IUpdateStatusWorkflowAdminResponse = IResponse<IUpdateStatusWorkflowAdminData>;
|
|
14
14
|
export interface IDeleteWorkflowAdminData {
|
|
15
15
|
}
|
|
16
16
|
export type IDeleteWorkflowAdminResponse = IResponse<IDeleteWorkflowAdminData>;
|
|
@@ -19,7 +19,11 @@ export interface ICancelWorkflowExecutionAdminData {
|
|
|
19
19
|
workflowExecution: IWorkflowExecution;
|
|
20
20
|
}
|
|
21
21
|
export type ICancelWorkflowExecutionAdminResponse = IResponse<ICancelWorkflowExecutionAdminData>;
|
|
22
|
-
export interface
|
|
22
|
+
export interface IManualTriggerWorkflowAdminData {
|
|
23
23
|
workflowExecution: IWorkflowExecution;
|
|
24
24
|
}
|
|
25
|
-
export type
|
|
25
|
+
export type IManualTriggerWorkflowAdminResponse = IResponse<IManualTriggerWorkflowAdminData>;
|
|
26
|
+
export interface ITriggerUserRegistrationWorkflowAdminData {
|
|
27
|
+
workflowExecutions: IWorkflowExecution[];
|
|
28
|
+
}
|
|
29
|
+
export type ITriggerUserRegistrationWorkflowAdminResponse = IResponse<ITriggerUserRegistrationWorkflowAdminData>;
|
|
@@ -6,19 +6,12 @@ export interface ITriggerFilter {
|
|
|
6
6
|
value: any;
|
|
7
7
|
}
|
|
8
8
|
export interface IUserRegistrationTriggerConfig {
|
|
9
|
-
filters?: {
|
|
10
|
-
emailDomains?: string[];
|
|
11
|
-
excludeEmailDomains?: string[];
|
|
12
|
-
};
|
|
13
9
|
}
|
|
14
10
|
export interface IWebhookTriggerConfig {
|
|
15
|
-
webhookUrl: string | null;
|
|
16
11
|
signatureSecret: string | null;
|
|
17
12
|
signatureHeader: string | null;
|
|
18
|
-
requiredHeaders: Record<string, string> | null;
|
|
19
|
-
allowedIpAddresses: string[];
|
|
20
13
|
}
|
|
21
|
-
export type TriggerConfig = IUserRegistrationTriggerConfig | IWebhookTriggerConfig | Record<string,
|
|
14
|
+
export type TriggerConfig = IUserRegistrationTriggerConfig | IWebhookTriggerConfig | Record<string, never>;
|
|
22
15
|
export interface IWorkflowTrigger {
|
|
23
16
|
id: string;
|
|
24
17
|
workflowId: string;
|
package/dist/utils/index.d.ts
CHANGED
package/dist/utils/index.js
CHANGED
|
@@ -17,3 +17,4 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
17
17
|
__exportStar(require("./error.utils"), exports);
|
|
18
18
|
__exportStar(require("./reference-resolver.utils"), exports);
|
|
19
19
|
__exportStar(require("./ip-address-validator.utils"), exports);
|
|
20
|
+
__exportStar(require("./webhook-trigger.utils"), exports);
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { WorkflowTriggerData, FilterOperator, IWorkflowTrigger } from "../types";
|
|
2
|
+
export declare const matchesTriggerFilters: (trigger: IWorkflowTrigger, triggerData: WorkflowTriggerData) => boolean;
|
|
3
|
+
export declare const getNestedValue: (obj: Record<string, unknown>, path: string) => unknown;
|
|
4
|
+
export declare const evaluateFilter: (value: unknown, operator: FilterOperator, expected: unknown) => boolean;
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.evaluateFilter = exports.getNestedValue = exports.matchesTriggerFilters = void 0;
|
|
4
|
+
const types_1 = require("../types");
|
|
5
|
+
const matchesTriggerFilters = (trigger, triggerData) => {
|
|
6
|
+
if (!trigger.filters || trigger.filters.length === 0) {
|
|
7
|
+
return true;
|
|
8
|
+
}
|
|
9
|
+
return trigger.filters.every((filter) => {
|
|
10
|
+
const value = (0, exports.getNestedValue)(triggerData, filter.field);
|
|
11
|
+
return (0, exports.evaluateFilter)(value, filter.operator, filter.value);
|
|
12
|
+
});
|
|
13
|
+
};
|
|
14
|
+
exports.matchesTriggerFilters = matchesTriggerFilters;
|
|
15
|
+
const getNestedValue = (obj, path) => {
|
|
16
|
+
return path
|
|
17
|
+
.split('.')
|
|
18
|
+
.reduce((current, key) => current === null || current === void 0 ? void 0 : current[key], obj);
|
|
19
|
+
};
|
|
20
|
+
exports.getNestedValue = getNestedValue;
|
|
21
|
+
const evaluateFilter = (value, operator, expected) => {
|
|
22
|
+
switch (operator) {
|
|
23
|
+
case types_1.FilterOperator.EQUALS:
|
|
24
|
+
return value === expected;
|
|
25
|
+
case types_1.FilterOperator.NOT_EQUALS:
|
|
26
|
+
return value !== expected;
|
|
27
|
+
case types_1.FilterOperator.CONTAINS:
|
|
28
|
+
return String(value).includes(String(expected));
|
|
29
|
+
case types_1.FilterOperator.NOT_CONTAINS:
|
|
30
|
+
return !String(value).includes(String(expected));
|
|
31
|
+
case types_1.FilterOperator.STARTS_WITH:
|
|
32
|
+
return String(value).startsWith(String(expected));
|
|
33
|
+
case types_1.FilterOperator.ENDS_WITH:
|
|
34
|
+
return String(value).endsWith(String(expected));
|
|
35
|
+
case types_1.FilterOperator.IN:
|
|
36
|
+
return Array.isArray(expected) && expected.includes(value);
|
|
37
|
+
case types_1.FilterOperator.NOT_IN:
|
|
38
|
+
return Array.isArray(expected) && !expected.includes(value);
|
|
39
|
+
case types_1.FilterOperator.IS_EMPTY:
|
|
40
|
+
return value === null || value === undefined || value === '';
|
|
41
|
+
case types_1.FilterOperator.IS_NOT_EMPTY:
|
|
42
|
+
return value !== null && value !== undefined && value !== '';
|
|
43
|
+
case types_1.FilterOperator.MATCHES_REGEX:
|
|
44
|
+
try {
|
|
45
|
+
return new RegExp(expected).test(String(value));
|
|
46
|
+
}
|
|
47
|
+
catch {
|
|
48
|
+
return false;
|
|
49
|
+
}
|
|
50
|
+
default:
|
|
51
|
+
return true;
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
exports.evaluateFilter = evaluateFilter;
|