@abyss-project/console 1.0.4 → 1.0.6

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.
Files changed (25) hide show
  1. package/dist/api/workflow.admin.api.d.ts +4 -3
  2. package/dist/api/workflow.admin.api.js +8 -3
  3. package/dist/index.d.ts +2 -1
  4. package/dist/index.js +2 -1
  5. package/dist/types/constants/webhook-trigger.constants.d.ts +0 -0
  6. package/dist/types/constants/webhook-trigger.constants.js +1 -0
  7. package/dist/types/dto/workflow.dto.d.ts +5 -7
  8. package/dist/types/interface/api/index.d.ts +2 -0
  9. package/dist/types/interface/api/index.js +2 -0
  10. package/dist/types/interface/api/requests/webhook-public.request.d.ts +0 -0
  11. package/dist/types/interface/api/requests/webhook-public.request.js +1 -0
  12. package/dist/types/interface/api/requests/workflow-webhook.public.request.d.ts +3 -0
  13. package/dist/types/interface/api/requests/workflow-webhook.public.request.js +2 -0
  14. package/dist/types/interface/api/requests/workflow.admin.request.d.ts +7 -3
  15. package/dist/types/interface/api/responses/webhook-public.response.d.ts +0 -0
  16. package/dist/types/interface/api/responses/webhook-public.response.js +1 -0
  17. package/dist/types/interface/api/responses/workflow-webhook.public.response.d.ts +3 -0
  18. package/dist/types/interface/api/responses/workflow-webhook.public.response.js +2 -0
  19. package/dist/types/interface/api/responses/workflow.admin.response.d.ts +8 -4
  20. package/dist/types/interface/models/workflow-trigger.model.d.ts +1 -8
  21. package/dist/utils/index.d.ts +1 -0
  22. package/dist/utils/index.js +1 -0
  23. package/dist/utils/webhook-trigger.utils.d.ts +4 -0
  24. package/dist/utils/webhook-trigger.utils.js +54 -0
  25. package/package.json +1 -1
@@ -1,8 +1,9 @@
1
- import { IPaginateWorkflowAdminQuery, IGetWorkflowAdminParams, IUpdateWorkflowStatusAdminBody, IPaginateWorkflowExecutionsAdminQuery, ICancelWorkflowExecutionAdminParams, ITriggerWorkflowAdminParams, ITriggerWorkflowAdminBody, IPaginateWorkflowAdminResponse, IGetWorkflowAdminResponse, IUpdateWorkflowStatusAdminResponse, IDeleteWorkflowAdminResponse, IPaginateWorkflowExecutionAdminResponse, ICancelWorkflowExecutionAdminResponse, ITriggerWorkflowAdminResponse } from '../types';
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: IUpdateWorkflowStatusAdminBody) => Promise<IUpdateWorkflowStatusAdminResponse>;
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: ITriggerWorkflowAdminParams, body: ITriggerWorkflowAdminBody) => Promise<ITriggerWorkflowAdminResponse>;
8
+ export declare const manualTriggerWorkflow: (params: IManualTriggerWorkflowAdminParams, body: IManualTriggerWorkflowAdminBody) => Promise<IManualTriggerWorkflowAdminResponse>;
9
+ export declare const userRegistrationTriggerWorkflow: (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.userRegistrationTriggerWorkflow = exports.manualTriggerWorkflow = 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 });
@@ -32,8 +32,13 @@ const cancelWorkflowExecution = async (params) => {
32
32
  return response.data;
33
33
  };
34
34
  exports.cancelWorkflowExecution = cancelWorkflowExecution;
35
- const triggerWorkflow = async (params, body) => {
35
+ const manualTriggerWorkflow = async (params, body) => {
36
36
  const response = await __1.AbyssConsoleCore.axios.post(`/workflow/admin/${params.workflowId}/trigger`, body);
37
37
  return response.data;
38
38
  };
39
- exports.triggerWorkflow = triggerWorkflow;
39
+ exports.manualTriggerWorkflow = manualTriggerWorkflow;
40
+ const userRegistrationTriggerWorkflow = async (body) => {
41
+ const response = await __1.AbyssConsoleCore.axios.post(`/workflow/admin/trigger/user-registration`, body);
42
+ return response.data;
43
+ };
44
+ exports.userRegistrationTriggerWorkflow = userRegistrationTriggerWorkflow;
package/dist/index.d.ts CHANGED
@@ -85,7 +85,8 @@ type AbyssConsoleCoreSDK = {
85
85
  paginate: typeof workflowAdminApi.paginateWorkflowExecution;
86
86
  cancel: typeof workflowAdminApi.cancelWorkflowExecution;
87
87
  };
88
- trigger: typeof workflowAdminApi.triggerWorkflow;
88
+ manualTrigger: typeof workflowAdminApi.manualTriggerWorkflow;
89
+ userRegistrationTrigger: typeof workflowAdminApi.userRegistrationTriggerWorkflow;
89
90
  };
90
91
  };
91
92
  };
package/dist/index.js CHANGED
@@ -109,7 +109,8 @@ class AbyssConsoleCore {
109
109
  paginate: workflowAdminApi.paginateWorkflowExecution,
110
110
  cancel: workflowAdminApi.cancelWorkflowExecution,
111
111
  },
112
- trigger: workflowAdminApi.triggerWorkflow,
112
+ manualTrigger: workflowAdminApi.manualTriggerWorkflow,
113
+ userRegistrationTrigger: workflowAdminApi.userRegistrationTriggerWorkflow,
113
114
  },
114
115
  };
115
116
  const projectSDK = {
@@ -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
- webhookId: string;
11
- headers: Record<string, string>;
9
+ workflowTriggerId: string;
10
+ workflowId: string;
12
11
  body: any;
13
- method?: string;
14
- url?: string;
15
- receivedAt: string;
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);
@@ -0,0 +1,3 @@
1
+ export interface ITriggerWorkflowWebhookPublicParams {
2
+ workflowTriggerId: string;
3
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -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 IUpdateWorkflowStatusAdminBody {
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 ITriggerWorkflowAdminParams {
25
+ export interface IManualTriggerWorkflowAdminParams {
25
26
  workflowId: string;
26
27
  }
27
- export interface ITriggerWorkflowAdminBody {
28
+ export interface IManualTriggerWorkflowAdminBody {
28
29
  triggerData: Record<string, unknown>;
29
30
  }
31
+ export interface ITriggerUserRegistrationWorkflowAdminBody {
32
+ triggerData: IUserRegistrationWorkflowTriggerData;
33
+ }
@@ -0,0 +1,3 @@
1
+ export interface ITriggerWorkflowWebhookPublicResponse {
2
+ executionId: string;
3
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -7,10 +7,10 @@ export interface IGetWorkflowAdminData {
7
7
  workflow: IWorkflow;
8
8
  }
9
9
  export type IGetWorkflowAdminResponse = IResponse<IGetWorkflowAdminData>;
10
- export interface IUpdateWorkflowStatusAdminData {
10
+ export interface IUpdateStatusWorkflowAdminData {
11
11
  workflow: IWorkflow;
12
12
  }
13
- export type IUpdateWorkflowStatusAdminResponse = IResponse<IUpdateWorkflowStatusAdminData>;
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 ITriggerWorkflowAdminData {
22
+ export interface IManualTriggerWorkflowAdminData {
23
23
  workflowExecution: IWorkflowExecution;
24
24
  }
25
- export type ITriggerWorkflowAdminResponse = IResponse<ITriggerWorkflowAdminData>;
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, any>;
14
+ export type TriggerConfig = IUserRegistrationTriggerConfig | IWebhookTriggerConfig | Record<string, never>;
22
15
  export interface IWorkflowTrigger {
23
16
  id: string;
24
17
  workflowId: string;
@@ -1,3 +1,4 @@
1
1
  export * from './error.utils';
2
2
  export * from './reference-resolver.utils';
3
3
  export * from './ip-address-validator.utils';
4
+ export * from './webhook-trigger.utils';
@@ -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;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@abyss-project/console",
3
- "version": "1.0.4",
3
+ "version": "1.0.6",
4
4
  "description": "Core package to interact with AbyssConsole",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",