@abyss-project/main 1.0.85 → 1.0.87

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 (54) hide show
  1. package/dist/api/domain-verification.admin.api.d.ts +4 -0
  2. package/dist/api/domain-verification.admin.api.js +10 -0
  3. package/dist/api/domain-verification.api.d.ts +7 -0
  4. package/dist/api/domain-verification.api.js +28 -0
  5. package/dist/api/project-access.admin.api.d.ts +2 -1
  6. package/dist/api/project-access.admin.api.js +5 -1
  7. package/dist/api/workflow.api.d.ts +26 -0
  8. package/dist/api/workflow.api.js +60 -0
  9. package/dist/types/dto/domain-verification.dto.d.ts +19 -0
  10. package/dist/types/dto/domain-verification.dto.js +2 -0
  11. package/dist/types/enum/abyss-application-event.enum.d.ts +20 -1
  12. package/dist/types/enum/abyss-application-event.enum.js +19 -0
  13. package/dist/types/enum/abyss-service.enum.d.ts +7 -0
  14. package/dist/types/enum/abyss-service.enum.js +9 -1
  15. package/dist/types/enum/project-access-permission.enum.d.ts +9 -1
  16. package/dist/types/enum/project-access-permission.enum.js +8 -0
  17. package/dist/types/enum/user-notification-content-type.enum.d.ts +21 -0
  18. package/dist/types/enum/user-notification-content-type.enum.js +4 -1
  19. package/dist/types/interface/api/bodies/domain-verification.body.d.ts +7 -0
  20. package/dist/types/interface/api/bodies/domain-verification.body.js +2 -0
  21. package/dist/types/interface/api/params/domain-verification.params.d.ts +18 -0
  22. package/dist/types/interface/api/params/domain-verification.params.js +2 -0
  23. package/dist/types/interface/api/requests/domain-verification.admin.request.d.ts +5 -0
  24. package/dist/types/interface/api/requests/domain-verification.admin.request.js +2 -0
  25. package/dist/types/interface/api/requests/domain-verification.request.d.ts +29 -0
  26. package/dist/types/interface/api/requests/domain-verification.request.js +2 -0
  27. package/dist/types/interface/api/requests/project-access.admin.request.d.ts +11 -0
  28. package/dist/types/interface/api/requests/workflow.request.d.ts +119 -0
  29. package/dist/types/interface/api/requests/workflow.request.js +2 -0
  30. package/dist/types/interface/api/responses/domain-verification.admin.response.d.ts +6 -0
  31. package/dist/types/interface/api/responses/domain-verification.admin.response.js +2 -0
  32. package/dist/types/interface/api/responses/domain-verification.response.d.ts +29 -0
  33. package/dist/types/interface/api/responses/domain-verification.response.js +2 -0
  34. package/dist/types/interface/api/responses/project-access.admin.response.d.ts +4 -0
  35. package/dist/types/interface/api/responses/project-domain-verification.response.d.ts +55 -0
  36. package/dist/types/interface/api/responses/project-domain-verification.response.js +2 -0
  37. package/dist/types/interface/api/responses/workflow.response.d.ts +124 -0
  38. package/dist/types/interface/api/responses/workflow.response.js +2 -0
  39. package/dist/types/interface/models/domain-verification.model.d.ts +42 -0
  40. package/dist/types/interface/models/domain-verification.model.js +14 -0
  41. package/dist/types/interface/models/project-domain-verification.model.d.ts +27 -0
  42. package/dist/types/interface/models/project-domain-verification.model.js +15 -0
  43. package/dist/types/interface/models/workflow-execution-step.model.d.ts +59 -0
  44. package/dist/types/interface/models/workflow-execution-step.model.js +12 -0
  45. package/dist/types/interface/models/workflow-execution.model.d.ts +78 -0
  46. package/dist/types/interface/models/workflow-execution.model.js +13 -0
  47. package/dist/types/interface/models/workflow-step.model.d.ts +106 -0
  48. package/dist/types/interface/models/workflow-step.model.js +44 -0
  49. package/dist/types/interface/models/workflow-template.model.d.ts +41 -0
  50. package/dist/types/interface/models/workflow-template.model.js +2 -0
  51. package/dist/types/interface/models/workflow.model.d.ts +72 -0
  52. package/dist/types/interface/models/workflow.model.js +23 -0
  53. package/dist/utils/time-period.utils.js +11 -3
  54. package/package.json +1 -1
@@ -0,0 +1,41 @@
1
+ import { WorkflowTemplate, WorkflowTriggerType, IWorkflowTriggerConfig, IWorkflowSettings } from './workflow.model';
2
+ import { IWorkflowStepConfig } from './workflow-step.model';
3
+ export interface IWorkflowTemplateStep {
4
+ name: string;
5
+ description: string | null;
6
+ order: number;
7
+ config: IWorkflowStepConfig;
8
+ isConfigurable: boolean;
9
+ configurableFields?: string[];
10
+ }
11
+ export interface IWorkflowTemplateVariable {
12
+ key: string;
13
+ label: string;
14
+ description: string;
15
+ type: 'string' | 'number' | 'boolean' | 'select' | 'multiselect' | 'project' | 'email';
16
+ defaultValue?: unknown;
17
+ required: boolean;
18
+ options?: Array<{
19
+ value: string;
20
+ label: string;
21
+ }>;
22
+ validation?: {
23
+ min?: number;
24
+ max?: number;
25
+ pattern?: string;
26
+ message?: string;
27
+ };
28
+ }
29
+ export interface IWorkflowTemplateDefinition {
30
+ template: WorkflowTemplate;
31
+ name: string;
32
+ description: string;
33
+ icon: string;
34
+ category: string;
35
+ triggerType: WorkflowTriggerType;
36
+ defaultTriggerConfig: IWorkflowTriggerConfig;
37
+ defaultSettings: IWorkflowSettings;
38
+ steps: IWorkflowTemplateStep[];
39
+ variables: IWorkflowTemplateVariable[];
40
+ tags: string[];
41
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,72 @@
1
+ import { IProject } from './project.model';
2
+ import { IUser } from './user.model';
3
+ import { IWorkflowStep } from './workflow-step.model';
4
+ import { IWorkflowExecution } from './workflow-execution.model';
5
+ export declare enum WorkflowMode {
6
+ SIMPLE = "SIMPLE",
7
+ ADVANCED = "ADVANCED"
8
+ }
9
+ export declare enum WorkflowStatus {
10
+ DRAFT = "DRAFT",
11
+ ACTIVE = "ACTIVE",
12
+ PAUSED = "PAUSED",
13
+ ARCHIVED = "ARCHIVED"
14
+ }
15
+ export declare enum WorkflowTriggerType {
16
+ USER_REGISTRATION = "USER_REGISTRATION"
17
+ }
18
+ export declare enum WorkflowTemplate {
19
+ AUTO_INVITE_BY_DOMAIN = "AUTO_INVITE_BY_DOMAIN"
20
+ }
21
+ export interface IWorkflowTriggerConfigBase {
22
+ type: WorkflowTriggerType;
23
+ }
24
+ export interface IUserRegistrationTriggerConfig extends IWorkflowTriggerConfigBase {
25
+ type: WorkflowTriggerType.USER_REGISTRATION;
26
+ filters?: {
27
+ emailDomains?: string[];
28
+ excludeEmailDomains?: string[];
29
+ };
30
+ }
31
+ export type IWorkflowTriggerConfig = IUserRegistrationTriggerConfig;
32
+ export interface IUserRegistrationTriggerData {
33
+ userId: string;
34
+ email: string;
35
+ emailDomain: string;
36
+ name: string | null;
37
+ familyName: string | null;
38
+ registeredAt: Date;
39
+ }
40
+ export type IWorkflowTriggerData = IUserRegistrationTriggerData;
41
+ export interface IWorkflowSettings {
42
+ maxExecutionsPerHour?: number;
43
+ maxExecutionsPerDay?: number;
44
+ retryOnFailure?: boolean;
45
+ maxRetryAttempts?: number;
46
+ retryDelaySeconds?: number;
47
+ }
48
+ export interface IWorkflow {
49
+ id: string;
50
+ projectId: string;
51
+ name: string;
52
+ description: string | null;
53
+ mode: WorkflowMode;
54
+ template: WorkflowTemplate | null;
55
+ status: WorkflowStatus;
56
+ trigger: IWorkflowTriggerConfig;
57
+ settings: IWorkflowSettings;
58
+ userId: string;
59
+ createdAt: Date;
60
+ updatedAt: Date;
61
+ project?: IProject;
62
+ user?: IUser;
63
+ workflowStep?: IWorkflowStep[];
64
+ workflowExecution?: IWorkflowExecution[];
65
+ }
66
+ export interface IWorkflowContext {
67
+ workflowId: string;
68
+ executionId: string;
69
+ triggerData: IWorkflowTriggerData;
70
+ stepResults: Record<string, unknown>;
71
+ variables: Record<string, unknown>;
72
+ }
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WorkflowTemplate = exports.WorkflowTriggerType = exports.WorkflowStatus = exports.WorkflowMode = void 0;
4
+ var WorkflowMode;
5
+ (function (WorkflowMode) {
6
+ WorkflowMode["SIMPLE"] = "SIMPLE";
7
+ WorkflowMode["ADVANCED"] = "ADVANCED";
8
+ })(WorkflowMode || (exports.WorkflowMode = WorkflowMode = {}));
9
+ var WorkflowStatus;
10
+ (function (WorkflowStatus) {
11
+ WorkflowStatus["DRAFT"] = "DRAFT";
12
+ WorkflowStatus["ACTIVE"] = "ACTIVE";
13
+ WorkflowStatus["PAUSED"] = "PAUSED";
14
+ WorkflowStatus["ARCHIVED"] = "ARCHIVED";
15
+ })(WorkflowStatus || (exports.WorkflowStatus = WorkflowStatus = {}));
16
+ var WorkflowTriggerType;
17
+ (function (WorkflowTriggerType) {
18
+ WorkflowTriggerType["USER_REGISTRATION"] = "USER_REGISTRATION";
19
+ })(WorkflowTriggerType || (exports.WorkflowTriggerType = WorkflowTriggerType = {}));
20
+ var WorkflowTemplate;
21
+ (function (WorkflowTemplate) {
22
+ WorkflowTemplate["AUTO_INVITE_BY_DOMAIN"] = "AUTO_INVITE_BY_DOMAIN";
23
+ })(WorkflowTemplate || (exports.WorkflowTemplate = WorkflowTemplate = {}));
@@ -75,12 +75,20 @@ const generateTimeSeries = (startDate, endDate, period, breakpoints = exports.DE
75
75
  exports.generateTimeSeries = generateTimeSeries;
76
76
  const fillTimePeriodGaps = (data, startDate, endDate, period, formatPeriod) => {
77
77
  const timeSeries = (0, exports.generateTimeSeries)(startDate, endDate, period);
78
+ const defaultFormat = (date) => date.toISOString();
79
+ const format = formatPeriod || defaultFormat;
78
80
  const dataMap = new Map();
79
81
  data.forEach((item) => {
80
- dataMap.set(item.period, item);
82
+ try {
83
+ const itemDate = new Date(item.period);
84
+ const truncatedDate = (0, exports.truncateDate)(itemDate, period);
85
+ const normalizedKey = format(truncatedDate);
86
+ dataMap.set(normalizedKey, item);
87
+ }
88
+ catch (error) {
89
+ dataMap.set(item.period, item);
90
+ }
81
91
  });
82
- const defaultFormat = (date) => date.toISOString();
83
- const format = formatPeriod || defaultFormat;
84
92
  return timeSeries.map((date) => {
85
93
  const periodKey = format(date);
86
94
  const existingData = dataMap.get(periodKey);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@abyss-project/main",
3
- "version": "1.0.85",
3
+ "version": "1.0.87",
4
4
  "description": "Core package to interact with Abyss-Project",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",