@abyss-project/console 1.0.4 → 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.
@@ -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 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;
@@ -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.5",
4
4
  "description": "Core package to interact with AbyssConsole",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",