@platform-modules/foreign-ministry 1.0.89 → 1.0.91

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.
@@ -66,6 +66,10 @@ const FinancialChatsModel_1 = require("./models/FinancialChatsModel");
66
66
  const FinancialWorkFlowModel_1 = require("./models/FinancialWorkFlowModel");
67
67
  const FinancialAttachmentsModel_1 = require("./models/FinancialAttachmentsModel");
68
68
  const RequestTypeMasterModel_1 = require("./models/RequestTypeMasterModel");
69
+ const WorkflowTask_1 = require("./models/WorkflowTask");
70
+ const WorkflowTaskNames_1 = require("./models/WorkflowTaskNames");
71
+ const WorkflowDefinitions_1 = require("./models/WorkflowDefinitions");
72
+ const WorkflowHierarchy_1 = require("./models/WorkflowHierarchy");
69
73
  exports.AppDataSource = new typeorm_1.DataSource({
70
74
  type: 'postgres',
71
75
  host: process.env.DB_HOST || 'localhost',
@@ -137,5 +141,9 @@ exports.AppDataSource = new typeorm_1.DataSource({
137
141
  FinancialWorkFlowModel_1.FinancialWorkFlow,
138
142
  FinancialAttachmentsModel_1.FinancialAttachments,
139
143
  RequestTypeMasterModel_1.RequestTypeMaster,
144
+ WorkflowTask_1.WorkflowTask,
145
+ WorkflowTaskNames_1.WorkflowTaskNames,
146
+ WorkflowDefinitions_1.WorkflowDefinitions,
147
+ WorkflowHierarchy_1.WorkflowHierarchy,
140
148
  ],
141
149
  });
package/dist/index.d.ts CHANGED
@@ -59,3 +59,7 @@ export * from './models/FinancialChatsModel';
59
59
  export * from './models/FinancialAttachmentsModel';
60
60
  export * from './models/FinancialWorkFlowModel';
61
61
  export * from './models/RequestTypeMasterModel';
62
+ export * from './models/WorkflowTask';
63
+ export * from './models/WorkflowTaskNames';
64
+ export * from './models/WorkflowDefinitions';
65
+ export * from './models/WorkflowHierarchy';
package/dist/index.js CHANGED
@@ -75,3 +75,7 @@ __exportStar(require("./models/FinancialChatsModel"), exports);
75
75
  __exportStar(require("./models/FinancialAttachmentsModel"), exports);
76
76
  __exportStar(require("./models/FinancialWorkFlowModel"), exports);
77
77
  __exportStar(require("./models/RequestTypeMasterModel"), exports);
78
+ __exportStar(require("./models/WorkflowTask"), exports);
79
+ __exportStar(require("./models/WorkflowTaskNames"), exports);
80
+ __exportStar(require("./models/WorkflowDefinitions"), exports);
81
+ __exportStar(require("./models/WorkflowHierarchy"), exports);
@@ -9,14 +9,14 @@ export declare enum FinancialApprovalStatus {
9
9
  export declare class FinancialApprovals extends BaseModel {
10
10
  financial_request_id: number;
11
11
  level: number;
12
- approver_user_id: number;
12
+ approver_user_id: number | null;
13
13
  approver_role_id: number;
14
- comment: string;
14
+ comment: string | null;
15
15
  approval_status: FinancialApprovalStatus;
16
16
  action_date: Date;
17
- department_id: number;
18
- section_id: number;
19
- approved_by: number;
17
+ department_id: number | null;
18
+ section_id: number | null;
19
+ approved_by: number | null;
20
20
  financialRequest?: FinancialRequests;
21
- constructor(financial_request_id: number, level: number, approver_role_id: number, approval_status: FinancialApprovalStatus, department_id: number, section_id: number, approved_by: number);
21
+ constructor(financial_request_id: number, level: number, approver_role_id: number, approval_status: FinancialApprovalStatus, department_id: number | null, section_id: number | null, approved_by: number | null);
22
22
  }
@@ -43,7 +43,7 @@ __decorate([
43
43
  ], FinancialApprovals.prototype, "level", void 0);
44
44
  __decorate([
45
45
  (0, typeorm_1.Column)({ type: 'int', nullable: true }),
46
- __metadata("design:type", Number)
46
+ __metadata("design:type", Object)
47
47
  ], FinancialApprovals.prototype, "approver_user_id", void 0);
48
48
  __decorate([
49
49
  (0, typeorm_1.Column)({ type: 'int' }),
@@ -51,7 +51,7 @@ __decorate([
51
51
  ], FinancialApprovals.prototype, "approver_role_id", void 0);
52
52
  __decorate([
53
53
  (0, typeorm_1.Column)({ type: 'text', nullable: true }),
54
- __metadata("design:type", String)
54
+ __metadata("design:type", Object)
55
55
  ], FinancialApprovals.prototype, "comment", void 0);
56
56
  __decorate([
57
57
  (0, typeorm_1.Column)({ type: 'enum', enum: FinancialApprovalStatus, default: FinancialApprovalStatus.PENDING }),
@@ -63,15 +63,15 @@ __decorate([
63
63
  ], FinancialApprovals.prototype, "action_date", void 0);
64
64
  __decorate([
65
65
  (0, typeorm_1.Column)({ type: 'int', nullable: true }),
66
- __metadata("design:type", Number)
66
+ __metadata("design:type", Object)
67
67
  ], FinancialApprovals.prototype, "department_id", void 0);
68
68
  __decorate([
69
69
  (0, typeorm_1.Column)({ type: 'int', nullable: true }),
70
- __metadata("design:type", Number)
70
+ __metadata("design:type", Object)
71
71
  ], FinancialApprovals.prototype, "section_id", void 0);
72
72
  __decorate([
73
73
  (0, typeorm_1.Column)({ type: 'int', nullable: true }),
74
- __metadata("design:type", Number)
74
+ __metadata("design:type", Object)
75
75
  ], FinancialApprovals.prototype, "approved_by", void 0);
76
76
  __decorate([
77
77
  (0, typeorm_1.ManyToOne)(() => FinancialRequestsModel_1.FinancialRequests, fr => fr.approvals),
@@ -80,5 +80,5 @@ __decorate([
80
80
  ], FinancialApprovals.prototype, "financialRequest", void 0);
81
81
  exports.FinancialApprovals = FinancialApprovals = __decorate([
82
82
  (0, typeorm_1.Entity)({ name: 'financial_approvals' }),
83
- __metadata("design:paramtypes", [Number, Number, Number, String, Number, Number, Number])
83
+ __metadata("design:paramtypes", [Number, Number, Number, String, Object, Object, Object])
84
84
  ], FinancialApprovals);
@@ -8,7 +8,6 @@ import type { FinancialChats } from './FinancialChatsModel';
8
8
  import type { FinancialApprovals } from './FinancialApprovalsModel';
9
9
  import type { FinancialWorkFlow } from './FinancialWorkFlowModel';
10
10
  import type { FinancialAttachments } from './FinancialAttachmentsModel';
11
- import type { RequestTypeMaster } from './RequestTypeMasterModel';
12
11
  export declare enum FinancialRequestStatus {
13
12
  DRAFT = "Draft",
14
13
  SUBMITTED = "Submitted",
@@ -23,22 +22,22 @@ export declare class FinancialRequests extends BaseModel {
23
22
  user_id: number;
24
23
  employee_id: string;
25
24
  employee_name: string;
26
- grade: string;
27
- designation_id: number;
28
- department_id: number;
25
+ grade: string | null;
26
+ designation_id: number | null;
27
+ department_id: number | null;
29
28
  email_address: string;
30
29
  contact_number: string;
31
- request_type_id: number;
32
30
  request_date: Date;
33
31
  request_status: FinancialRequestStatus;
34
- request_close_date: Date;
35
- remarks: string;
36
- current_approval_level: number;
37
- current_approver_id: number;
38
- service_id: number;
39
- sub_service_id: number;
40
- section_id: number;
41
- reporting_manager: number;
32
+ request_close_date: Date | null;
33
+ remarks: string | null;
34
+ current_approval_level: number | null;
35
+ current_approver_id: number | null;
36
+ service_id: number | null;
37
+ sub_service_id: number | null;
38
+ section_id: number | null;
39
+ reporting_manager: number | null;
40
+ workflow_execution_id: string | null;
42
41
  payslipRequest?: PayslipRequests;
43
42
  salaryCertificateRequest?: SalaryCertificateRequests;
44
43
  allowanceRequest?: AllowanceRequests;
@@ -48,6 +47,5 @@ export declare class FinancialRequests extends BaseModel {
48
47
  approvals?: FinancialApprovals[];
49
48
  workflows?: FinancialWorkFlow[];
50
49
  attachments?: FinancialAttachments[];
51
- requestType?: RequestTypeMaster;
52
- constructor(user_id: number, employee_id: string, employee_name: string, email_address: string, contact_number: string, request_type_id: number, service_id: number, sub_service_id: number, section_id: number, reporting_manager: number);
50
+ constructor(user_id: number, employee_id: string, employee_name: string, email_address: string, contact_number: string, service_id: number | null, sub_service_id: number | null, section_id: number | null, reporting_manager: number | null);
53
51
  }
@@ -24,14 +24,13 @@ var FinancialRequestStatus;
24
24
  FinancialRequestStatus["CANCELLED"] = "Cancelled";
25
25
  })(FinancialRequestStatus || (exports.FinancialRequestStatus = FinancialRequestStatus = {}));
26
26
  let FinancialRequests = class FinancialRequests extends BaseModel_1.BaseModel {
27
- constructor(user_id, employee_id, employee_name, email_address, contact_number, request_type_id, service_id, sub_service_id, section_id, reporting_manager) {
27
+ constructor(user_id, employee_id, employee_name, email_address, contact_number, service_id, sub_service_id, section_id, reporting_manager) {
28
28
  super();
29
29
  this.user_id = user_id;
30
30
  this.employee_id = employee_id;
31
31
  this.employee_name = employee_name;
32
32
  this.email_address = email_address;
33
33
  this.contact_number = contact_number;
34
- this.request_type_id = request_type_id;
35
34
  this.request_date = new Date();
36
35
  this.request_status = FinancialRequestStatus.PENDING;
37
36
  this.service_id = service_id;
@@ -55,15 +54,15 @@ __decorate([
55
54
  ], FinancialRequests.prototype, "employee_name", void 0);
56
55
  __decorate([
57
56
  (0, typeorm_1.Column)({ type: 'varchar', length: 100, nullable: true }),
58
- __metadata("design:type", String)
57
+ __metadata("design:type", Object)
59
58
  ], FinancialRequests.prototype, "grade", void 0);
60
59
  __decorate([
61
60
  (0, typeorm_1.Column)({ type: 'int', nullable: true }),
62
- __metadata("design:type", Number)
61
+ __metadata("design:type", Object)
63
62
  ], FinancialRequests.prototype, "designation_id", void 0);
64
63
  __decorate([
65
64
  (0, typeorm_1.Column)({ type: 'int', nullable: true }),
66
- __metadata("design:type", Number)
65
+ __metadata("design:type", Object)
67
66
  ], FinancialRequests.prototype, "department_id", void 0);
68
67
  __decorate([
69
68
  (0, typeorm_1.Column)({ type: 'varchar', length: 255 }),
@@ -73,10 +72,6 @@ __decorate([
73
72
  (0, typeorm_1.Column)({ type: 'varchar', length: 20 }),
74
73
  __metadata("design:type", String)
75
74
  ], FinancialRequests.prototype, "contact_number", void 0);
76
- __decorate([
77
- (0, typeorm_1.Column)({ type: 'int' }),
78
- __metadata("design:type", Number)
79
- ], FinancialRequests.prototype, "request_type_id", void 0);
80
75
  __decorate([
81
76
  (0, typeorm_1.Column)({ type: 'timestamp', default: () => 'CURRENT_TIMESTAMP' }),
82
77
  __metadata("design:type", Date)
@@ -87,36 +82,40 @@ __decorate([
87
82
  ], FinancialRequests.prototype, "request_status", void 0);
88
83
  __decorate([
89
84
  (0, typeorm_1.Column)({ type: 'timestamp', nullable: true }),
90
- __metadata("design:type", Date)
85
+ __metadata("design:type", Object)
91
86
  ], FinancialRequests.prototype, "request_close_date", void 0);
92
87
  __decorate([
93
88
  (0, typeorm_1.Column)({ type: 'text', nullable: true }),
94
- __metadata("design:type", String)
89
+ __metadata("design:type", Object)
95
90
  ], FinancialRequests.prototype, "remarks", void 0);
96
91
  __decorate([
97
92
  (0, typeorm_1.Column)({ type: 'int', nullable: true }),
98
- __metadata("design:type", Number)
93
+ __metadata("design:type", Object)
99
94
  ], FinancialRequests.prototype, "current_approval_level", void 0);
100
95
  __decorate([
101
96
  (0, typeorm_1.Column)({ type: 'int', nullable: true }),
102
- __metadata("design:type", Number)
97
+ __metadata("design:type", Object)
103
98
  ], FinancialRequests.prototype, "current_approver_id", void 0);
104
99
  __decorate([
105
100
  (0, typeorm_1.Column)({ type: 'int', nullable: true }),
106
- __metadata("design:type", Number)
101
+ __metadata("design:type", Object)
107
102
  ], FinancialRequests.prototype, "service_id", void 0);
108
103
  __decorate([
109
104
  (0, typeorm_1.Column)({ type: 'int', nullable: true }),
110
- __metadata("design:type", Number)
105
+ __metadata("design:type", Object)
111
106
  ], FinancialRequests.prototype, "sub_service_id", void 0);
112
107
  __decorate([
113
108
  (0, typeorm_1.Column)({ type: 'int', nullable: true }),
114
- __metadata("design:type", Number)
109
+ __metadata("design:type", Object)
115
110
  ], FinancialRequests.prototype, "section_id", void 0);
116
111
  __decorate([
117
112
  (0, typeorm_1.Column)({ type: 'int', nullable: true }),
118
- __metadata("design:type", Number)
113
+ __metadata("design:type", Object)
119
114
  ], FinancialRequests.prototype, "reporting_manager", void 0);
115
+ __decorate([
116
+ (0, typeorm_1.Column)({ type: 'varchar', length: 255, nullable: true }),
117
+ __metadata("design:type", Object)
118
+ ], FinancialRequests.prototype, "workflow_execution_id", void 0);
120
119
  __decorate([
121
120
  (0, typeorm_1.OneToOne)('PayslipRequests', 'financialRequest', { nullable: true }),
122
121
  __metadata("design:type", Function)
@@ -153,12 +152,7 @@ __decorate([
153
152
  (0, typeorm_1.OneToMany)('FinancialAttachments', 'financialRequest'),
154
153
  __metadata("design:type", Array)
155
154
  ], FinancialRequests.prototype, "attachments", void 0);
156
- __decorate([
157
- (0, typeorm_1.ManyToOne)('RequestTypeMaster'),
158
- (0, typeorm_1.JoinColumn)({ name: 'request_type_id' }),
159
- __metadata("design:type", Function)
160
- ], FinancialRequests.prototype, "requestType", void 0);
161
155
  exports.FinancialRequests = FinancialRequests = __decorate([
162
156
  (0, typeorm_1.Entity)({ name: 'financial_requests' }),
163
- __metadata("design:paramtypes", [Number, String, String, String, String, Number, Number, Number, Number, Number])
157
+ __metadata("design:paramtypes", [Number, String, String, String, String, Object, Object, Object, Object])
164
158
  ], FinancialRequests);
@@ -0,0 +1,16 @@
1
+ import { BaseModel } from './BaseModel';
2
+ import { FMServices } from './FMServices';
3
+ import { FMSubServices } from './FMSubservices';
4
+ export declare class WorkflowDefinitions extends BaseModel {
5
+ name: string;
6
+ description: string;
7
+ version: number;
8
+ is_active: boolean;
9
+ service_type: 'internal' | 'external' | 'none';
10
+ service_id: number | null;
11
+ service: FMServices;
12
+ sub_service_id: number | null;
13
+ sub_service: FMSubServices;
14
+ status: 'draft' | 'published';
15
+ constructor(name: string, description?: string, version?: number, is_active?: boolean, service_id?: number | null, sub_service_id?: number | null, status?: 'draft' | 'published', service_type?: 'internal' | 'external' | 'none');
16
+ }
@@ -0,0 +1,86 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.WorkflowDefinitions = void 0;
13
+ const typeorm_1 = require("typeorm");
14
+ const BaseModel_1 = require("./BaseModel");
15
+ const FMServices_1 = require("./FMServices");
16
+ const FMSubservices_1 = require("./FMSubservices");
17
+ let WorkflowDefinitions = class WorkflowDefinitions extends BaseModel_1.BaseModel {
18
+ constructor(name, description, version, is_active, service_id, sub_service_id, status, service_type) {
19
+ super();
20
+ this.name = name;
21
+ this.description = description || '';
22
+ this.version = version || 1;
23
+ this.is_active = is_active !== undefined ? is_active : true;
24
+ this.service_id = service_id || null;
25
+ this.sub_service_id = sub_service_id || null;
26
+ this.status = status || 'draft';
27
+ this.service_type = service_type || 'none';
28
+ }
29
+ };
30
+ exports.WorkflowDefinitions = WorkflowDefinitions;
31
+ __decorate([
32
+ (0, typeorm_1.Column)({ type: 'varchar', length: 100, nullable: false }),
33
+ __metadata("design:type", String)
34
+ ], WorkflowDefinitions.prototype, "name", void 0);
35
+ __decorate([
36
+ (0, typeorm_1.Column)({ type: 'text', nullable: true }),
37
+ __metadata("design:type", String)
38
+ ], WorkflowDefinitions.prototype, "description", void 0);
39
+ __decorate([
40
+ (0, typeorm_1.Column)({ type: 'integer', default: 1 }),
41
+ __metadata("design:type", Number)
42
+ ], WorkflowDefinitions.prototype, "version", void 0);
43
+ __decorate([
44
+ (0, typeorm_1.Column)({ type: 'boolean', default: true }),
45
+ __metadata("design:type", Boolean)
46
+ ], WorkflowDefinitions.prototype, "is_active", void 0);
47
+ __decorate([
48
+ (0, typeorm_1.Column)({
49
+ type: 'varchar',
50
+ length: 20,
51
+ nullable: true,
52
+ enum: ['internal', 'external', 'none']
53
+ }),
54
+ __metadata("design:type", String)
55
+ ], WorkflowDefinitions.prototype, "service_type", void 0);
56
+ __decorate([
57
+ (0, typeorm_1.Column)({ type: 'bigint', nullable: true }),
58
+ __metadata("design:type", Object)
59
+ ], WorkflowDefinitions.prototype, "service_id", void 0);
60
+ __decorate([
61
+ (0, typeorm_1.ManyToOne)(() => FMServices_1.FMServices),
62
+ (0, typeorm_1.JoinColumn)({ name: 'service_id' }),
63
+ __metadata("design:type", FMServices_1.FMServices)
64
+ ], WorkflowDefinitions.prototype, "service", void 0);
65
+ __decorate([
66
+ (0, typeorm_1.Column)({ type: 'bigint', nullable: true }),
67
+ __metadata("design:type", Object)
68
+ ], WorkflowDefinitions.prototype, "sub_service_id", void 0);
69
+ __decorate([
70
+ (0, typeorm_1.ManyToOne)(() => FMSubservices_1.FMSubServices),
71
+ (0, typeorm_1.JoinColumn)({ name: 'sub_service_id' }),
72
+ __metadata("design:type", FMSubservices_1.FMSubServices)
73
+ ], WorkflowDefinitions.prototype, "sub_service", void 0);
74
+ __decorate([
75
+ (0, typeorm_1.Column)({
76
+ type: 'varchar',
77
+ length: 20,
78
+ default: 'draft',
79
+ enum: ['draft', 'published']
80
+ }),
81
+ __metadata("design:type", String)
82
+ ], WorkflowDefinitions.prototype, "status", void 0);
83
+ exports.WorkflowDefinitions = WorkflowDefinitions = __decorate([
84
+ (0, typeorm_1.Entity)({ name: 'workflow_definitions' }),
85
+ __metadata("design:paramtypes", [String, String, Number, Boolean, Object, Object, String, String])
86
+ ], WorkflowDefinitions);
@@ -0,0 +1,16 @@
1
+ import { BaseModel } from './BaseModel';
2
+ import { WorkflowDefinitions } from './WorkflowDefinitions';
3
+ export declare class WorkflowHierarchy extends BaseModel {
4
+ workflow_definition_id: number;
5
+ department_id: number;
6
+ section_id: number;
7
+ approval_role_id: number;
8
+ approval_user_id: number;
9
+ taskname: string | null;
10
+ status: string | null;
11
+ task: any | null;
12
+ step_order: number;
13
+ is_required: boolean;
14
+ workflow_definition: WorkflowDefinitions;
15
+ constructor(workflow_definition_id: number, department_id: number, section_id: number, approval_role_id: number, approval_user_id: number, step_order: number, is_required?: boolean, taskname?: string, status?: string, task?: any);
16
+ }
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.WorkflowHierarchy = void 0;
13
+ const typeorm_1 = require("typeorm");
14
+ const BaseModel_1 = require("./BaseModel");
15
+ const WorkflowDefinitions_1 = require("./WorkflowDefinitions");
16
+ let WorkflowHierarchy = class WorkflowHierarchy extends BaseModel_1.BaseModel {
17
+ constructor(workflow_definition_id, department_id, section_id, approval_role_id, approval_user_id, step_order, is_required, taskname, status, task) {
18
+ super();
19
+ this.workflow_definition_id = workflow_definition_id;
20
+ this.department_id = department_id;
21
+ this.section_id = section_id;
22
+ this.approval_role_id = approval_role_id;
23
+ this.approval_user_id = approval_user_id;
24
+ this.step_order = step_order;
25
+ this.is_required = is_required !== undefined ? is_required : true;
26
+ this.taskname = taskname || null;
27
+ this.status = status || null;
28
+ this.task = task || null;
29
+ }
30
+ };
31
+ exports.WorkflowHierarchy = WorkflowHierarchy;
32
+ __decorate([
33
+ (0, typeorm_1.Column)({ type: 'integer', nullable: false }),
34
+ __metadata("design:type", Number)
35
+ ], WorkflowHierarchy.prototype, "workflow_definition_id", void 0);
36
+ __decorate([
37
+ (0, typeorm_1.Column)({ type: 'integer', nullable: true }),
38
+ __metadata("design:type", Number)
39
+ ], WorkflowHierarchy.prototype, "department_id", void 0);
40
+ __decorate([
41
+ (0, typeorm_1.Column)({ type: 'integer', nullable: true }),
42
+ __metadata("design:type", Number)
43
+ ], WorkflowHierarchy.prototype, "section_id", void 0);
44
+ __decorate([
45
+ (0, typeorm_1.Column)({ type: 'integer', nullable: true }),
46
+ __metadata("design:type", Number)
47
+ ], WorkflowHierarchy.prototype, "approval_role_id", void 0);
48
+ __decorate([
49
+ (0, typeorm_1.Column)({ type: 'integer', nullable: true }),
50
+ __metadata("design:type", Number)
51
+ ], WorkflowHierarchy.prototype, "approval_user_id", void 0);
52
+ __decorate([
53
+ (0, typeorm_1.Column)({ type: 'varchar', length: 255, nullable: true }),
54
+ __metadata("design:type", Object)
55
+ ], WorkflowHierarchy.prototype, "taskname", void 0);
56
+ __decorate([
57
+ (0, typeorm_1.Column)({ type: 'varchar', length: 50, nullable: true }),
58
+ __metadata("design:type", Object)
59
+ ], WorkflowHierarchy.prototype, "status", void 0);
60
+ __decorate([
61
+ (0, typeorm_1.Column)({ type: 'jsonb', nullable: true }),
62
+ __metadata("design:type", Object)
63
+ ], WorkflowHierarchy.prototype, "task", void 0);
64
+ __decorate([
65
+ (0, typeorm_1.Column)({ type: 'integer', nullable: false }),
66
+ __metadata("design:type", Number)
67
+ ], WorkflowHierarchy.prototype, "step_order", void 0);
68
+ __decorate([
69
+ (0, typeorm_1.Column)({ type: 'boolean', default: true }),
70
+ __metadata("design:type", Boolean)
71
+ ], WorkflowHierarchy.prototype, "is_required", void 0);
72
+ __decorate([
73
+ (0, typeorm_1.ManyToOne)(() => WorkflowDefinitions_1.WorkflowDefinitions, { onDelete: 'CASCADE' }),
74
+ (0, typeorm_1.JoinColumn)({ name: 'workflow_definition_id' }),
75
+ __metadata("design:type", WorkflowDefinitions_1.WorkflowDefinitions)
76
+ ], WorkflowHierarchy.prototype, "workflow_definition", void 0);
77
+ exports.WorkflowHierarchy = WorkflowHierarchy = __decorate([
78
+ (0, typeorm_1.Entity)({ name: 'workflow_hierarchy' }),
79
+ (0, typeorm_1.Unique)(['workflow_definition_id', 'step_order']),
80
+ __metadata("design:paramtypes", [Number, Number, Number, Number, Number, Number, Boolean, String, String, Object])
81
+ ], WorkflowHierarchy);
@@ -0,0 +1,7 @@
1
+ import { BaseModel } from './BaseModel';
2
+ export declare class WorkflowTask extends BaseModel {
3
+ task_id: number;
4
+ name: string;
5
+ task_type: string;
6
+ constructor(name: string, task_id?: number, task_type?: string);
7
+ }
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.WorkflowTask = void 0;
13
+ const typeorm_1 = require("typeorm");
14
+ const BaseModel_1 = require("./BaseModel");
15
+ let WorkflowTask = class WorkflowTask extends BaseModel_1.BaseModel {
16
+ constructor(name, task_id, task_type) {
17
+ super();
18
+ this.name = name;
19
+ this.task_id = task_id || 0;
20
+ this.task_type = task_type || '';
21
+ }
22
+ };
23
+ exports.WorkflowTask = WorkflowTask;
24
+ __decorate([
25
+ (0, typeorm_1.PrimaryGeneratedColumn)(),
26
+ __metadata("design:type", Number)
27
+ ], WorkflowTask.prototype, "task_id", void 0);
28
+ __decorate([
29
+ (0, typeorm_1.Column)({ type: 'varchar', length: 100, nullable: false }),
30
+ __metadata("design:type", String)
31
+ ], WorkflowTask.prototype, "name", void 0);
32
+ __decorate([
33
+ (0, typeorm_1.Column)({ type: 'varchar', length: 200, nullable: true }),
34
+ __metadata("design:type", String)
35
+ ], WorkflowTask.prototype, "task_type", void 0);
36
+ exports.WorkflowTask = WorkflowTask = __decorate([
37
+ (0, typeorm_1.Entity)({ name: 'workflow_tasks' }),
38
+ __metadata("design:paramtypes", [String, Number, String])
39
+ ], WorkflowTask);
@@ -0,0 +1,8 @@
1
+ import { BaseModel } from './BaseModel';
2
+ export declare class WorkflowTaskNames extends BaseModel {
3
+ name: string;
4
+ task_id: number;
5
+ description: string;
6
+ task_type: string;
7
+ constructor(name: string, task_id: number, description: string, task_type: string);
8
+ }
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.WorkflowTaskNames = void 0;
13
+ const typeorm_1 = require("typeorm");
14
+ const BaseModel_1 = require("./BaseModel");
15
+ let WorkflowTaskNames = class WorkflowTaskNames extends BaseModel_1.BaseModel {
16
+ constructor(name, task_id, description, task_type) {
17
+ super();
18
+ this.name = name;
19
+ this.task_id = task_id;
20
+ this.description = description;
21
+ this.task_type = task_type;
22
+ }
23
+ };
24
+ exports.WorkflowTaskNames = WorkflowTaskNames;
25
+ __decorate([
26
+ (0, typeorm_1.Column)({ type: 'varchar', length: 100, nullable: false }),
27
+ __metadata("design:type", String)
28
+ ], WorkflowTaskNames.prototype, "name", void 0);
29
+ __decorate([
30
+ (0, typeorm_1.Column)({ type: 'integer', nullable: false }),
31
+ __metadata("design:type", Number)
32
+ ], WorkflowTaskNames.prototype, "task_id", void 0);
33
+ __decorate([
34
+ (0, typeorm_1.Column)({ type: 'varchar', length: 200, nullable: true }),
35
+ __metadata("design:type", String)
36
+ ], WorkflowTaskNames.prototype, "description", void 0);
37
+ __decorate([
38
+ (0, typeorm_1.Column)({ type: 'varchar', length: 200, nullable: true }),
39
+ __metadata("design:type", String)
40
+ ], WorkflowTaskNames.prototype, "task_type", void 0);
41
+ exports.WorkflowTaskNames = WorkflowTaskNames = __decorate([
42
+ (0, typeorm_1.Entity)({ name: 'workflow_task_names' }),
43
+ __metadata("design:paramtypes", [String, Number, String, String])
44
+ ], WorkflowTaskNames);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@platform-modules/foreign-ministry",
3
- "version": "1.0.89",
3
+ "version": "1.0.91",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "scripts": {
@@ -70,6 +70,12 @@ import { FinancialAttachments } from './models/FinancialAttachmentsModel';
70
70
  import { RequestTypeMaster } from './models/RequestTypeMasterModel';
71
71
 
72
72
 
73
+ import { WorkflowTask } from './models/WorkflowTask';
74
+ import { WorkflowTaskNames } from './models/WorkflowTaskNames';
75
+ import { WorkflowDefinitions } from './models/WorkflowDefinitions';
76
+ import { WorkflowHierarchy } from './models/WorkflowHierarchy';
77
+
78
+
73
79
 
74
80
  export const AppDataSource = new DataSource({
75
81
  type: 'postgres',
@@ -142,5 +148,9 @@ export const AppDataSource = new DataSource({
142
148
  FinancialWorkFlow,
143
149
  FinancialAttachments,
144
150
  RequestTypeMaster,
151
+ WorkflowTask,
152
+ WorkflowTaskNames,
153
+ WorkflowDefinitions,
154
+ WorkflowHierarchy,
145
155
  ],
146
156
  });
package/src/index.ts CHANGED
@@ -59,3 +59,7 @@ export * from './models/FinancialChatsModel';
59
59
  export * from './models/FinancialAttachmentsModel';
60
60
  export * from './models/FinancialWorkFlowModel';
61
61
  export * from './models/RequestTypeMasterModel';
62
+ export * from './models/WorkflowTask';
63
+ export * from './models/WorkflowTaskNames';
64
+ export * from './models/WorkflowDefinitions';
65
+ export * from './models/WorkflowHierarchy';
@@ -18,13 +18,13 @@ export class FinancialApprovals extends BaseModel {
18
18
  level: number;
19
19
 
20
20
  @Column({ type: 'int', nullable: true })
21
- approver_user_id: number;
21
+ approver_user_id: number | null;
22
22
 
23
23
  @Column({ type: 'int' })
24
24
  approver_role_id: number;
25
25
 
26
26
  @Column({ type: 'text', nullable: true })
27
- comment: string;
27
+ comment: string | null;
28
28
 
29
29
  @Column({ type: 'enum', enum: FinancialApprovalStatus, default: FinancialApprovalStatus.PENDING })
30
30
  approval_status: FinancialApprovalStatus;
@@ -33,13 +33,13 @@ export class FinancialApprovals extends BaseModel {
33
33
  action_date: Date;
34
34
 
35
35
  @Column({ type: 'int', nullable: true })
36
- department_id: number;
36
+ department_id: number | null;
37
37
 
38
38
  @Column({ type: 'int', nullable: true })
39
- section_id: number;
39
+ section_id: number | null;
40
40
 
41
41
  @Column({ type: 'int', nullable: true })
42
- approved_by: number;
42
+ approved_by: number | null;
43
43
 
44
44
  @ManyToOne(() => FinancialRequests, fr => fr.approvals)
45
45
  @JoinColumn({ name: 'financial_request_id' })
@@ -50,9 +50,9 @@ export class FinancialApprovals extends BaseModel {
50
50
  level: number,
51
51
  approver_role_id: number,
52
52
  approval_status: FinancialApprovalStatus,
53
- department_id: number,
54
- section_id: number,
55
- approved_by: number
53
+ department_id: number | null,
54
+ section_id: number | null,
55
+ approved_by: number | null
56
56
  ) {
57
57
  super();
58
58
  this.financial_request_id = financial_request_id;
@@ -11,7 +11,6 @@ import type { FinancialChats } from './FinancialChatsModel';
11
11
  import type { FinancialApprovals } from './FinancialApprovalsModel';
12
12
  import type { FinancialWorkFlow } from './FinancialWorkFlowModel';
13
13
  import type { FinancialAttachments } from './FinancialAttachmentsModel';
14
- import type { RequestTypeMaster } from './RequestTypeMasterModel';
15
14
 
16
15
  export enum FinancialRequestStatus {
17
16
  DRAFT = "Draft",
@@ -36,13 +35,13 @@ export class FinancialRequests extends BaseModel {
36
35
  employee_name: string;
37
36
 
38
37
  @Column({ type: 'varchar', length: 100, nullable: true })
39
- grade: string;
38
+ grade: string | null;
40
39
 
41
40
  @Column({ type: 'int', nullable: true })
42
- designation_id: number;
41
+ designation_id: number | null;
43
42
 
44
43
  @Column({ type: 'int', nullable: true })
45
- department_id: number;
44
+ department_id: number | null;
46
45
 
47
46
  @Column({ type: 'varchar', length: 255 })
48
47
  email_address: string;
@@ -50,9 +49,6 @@ export class FinancialRequests extends BaseModel {
50
49
  @Column({ type: 'varchar', length: 20 })
51
50
  contact_number: string;
52
51
 
53
- @Column({ type: 'int' })
54
- request_type_id: number;
55
-
56
52
  @Column({ type: 'timestamp', default: () => 'CURRENT_TIMESTAMP' })
57
53
  request_date: Date;
58
54
 
@@ -60,28 +56,31 @@ export class FinancialRequests extends BaseModel {
60
56
  request_status: FinancialRequestStatus;
61
57
 
62
58
  @Column({ type: 'timestamp', nullable: true })
63
- request_close_date: Date;
59
+ request_close_date: Date | null;
64
60
 
65
61
  @Column({ type: 'text', nullable: true })
66
- remarks: string;
62
+ remarks: string | null;
67
63
 
68
64
  @Column({ type: 'int', nullable: true })
69
- current_approval_level: number;
65
+ current_approval_level: number | null;
70
66
 
71
67
  @Column({ type: 'int', nullable: true })
72
- current_approver_id: number;
68
+ current_approver_id: number | null;
73
69
 
74
70
  @Column({ type: 'int', nullable: true })
75
- service_id: number;
71
+ service_id: number | null;
76
72
 
77
73
  @Column({ type: 'int', nullable: true })
78
- sub_service_id: number;
74
+ sub_service_id: number | null;
79
75
 
80
76
  @Column({ type: 'int', nullable: true })
81
- section_id: number;
77
+ section_id: number | null;
82
78
 
83
79
  @Column({ type: 'int', nullable: true })
84
- reporting_manager: number;
80
+ reporting_manager: number | null;
81
+
82
+ @Column({ type: 'varchar', length: 255, nullable: true })
83
+ workflow_execution_id: string | null;
85
84
 
86
85
  @OneToOne('PayslipRequests', 'financialRequest', { nullable: true })
87
86
  payslipRequest?: PayslipRequests;
@@ -110,21 +109,16 @@ export class FinancialRequests extends BaseModel {
110
109
  @OneToMany('FinancialAttachments', 'financialRequest')
111
110
  attachments?: FinancialAttachments[];
112
111
 
113
- @ManyToOne('RequestTypeMaster')
114
- @JoinColumn({ name: 'request_type_id' })
115
- requestType?: RequestTypeMaster;
116
-
117
112
  constructor(
118
113
  user_id: number,
119
114
  employee_id: string,
120
115
  employee_name: string,
121
116
  email_address: string,
122
117
  contact_number: string,
123
- request_type_id: number,
124
- service_id: number,
125
- sub_service_id: number,
126
- section_id: number,
127
- reporting_manager: number
118
+ service_id: number | null,
119
+ sub_service_id: number | null,
120
+ section_id: number | null,
121
+ reporting_manager: number | null
128
122
  ) {
129
123
  super();
130
124
  this.user_id = user_id;
@@ -132,7 +126,6 @@ export class FinancialRequests extends BaseModel {
132
126
  this.employee_name = employee_name;
133
127
  this.email_address = email_address;
134
128
  this.contact_number = contact_number;
135
- this.request_type_id = request_type_id;
136
129
  this.request_date = new Date();
137
130
  this.request_status = FinancialRequestStatus.PENDING;
138
131
  this.service_id = service_id;
@@ -0,0 +1,71 @@
1
+ import { Column, Entity, ManyToOne, JoinColumn } from "typeorm";
2
+ import { BaseModel } from './BaseModel';
3
+ import { FMServices } from './FMServices';
4
+ import { FMSubServices } from './FMSubservices';
5
+
6
+ @Entity({ name: 'workflow_definitions' })
7
+ export class WorkflowDefinitions extends BaseModel {
8
+
9
+ @Column({ type: 'varchar', length: 100, nullable: false})
10
+ name: string;
11
+
12
+ @Column({ type: 'text', nullable: true })
13
+ description: string;
14
+
15
+ @Column({ type: 'integer', default: 1 })
16
+ version: number;
17
+
18
+ @Column({ type: 'boolean', default: true })
19
+ is_active: boolean;
20
+
21
+ @Column({
22
+ type: 'varchar',
23
+ length: 20,
24
+ nullable: true,
25
+ enum: ['internal', 'external', 'none']
26
+ })
27
+ service_type: 'internal' | 'external' | 'none';
28
+
29
+ @Column({ type: 'bigint', nullable: true })
30
+ service_id: number | null;
31
+
32
+ @ManyToOne(() => FMServices)
33
+ @JoinColumn({ name: 'service_id' })
34
+ service: FMServices;
35
+
36
+ @Column({ type: 'bigint', nullable: true })
37
+ sub_service_id: number | null;
38
+
39
+ @ManyToOne(() => FMSubServices)
40
+ @JoinColumn({ name: 'sub_service_id' })
41
+ sub_service: FMSubServices;
42
+
43
+
44
+ @Column({
45
+ type: 'varchar',
46
+ length: 20,
47
+ default: 'draft',
48
+ enum: ['draft', 'published']
49
+ })
50
+ status: 'draft' | 'published' ;
51
+ constructor(
52
+ name: string,
53
+ description?: string,
54
+ version?: number,
55
+ is_active?: boolean,
56
+ service_id?: number | null,
57
+ sub_service_id?: number | null,
58
+ status?: 'draft' | 'published',
59
+ service_type?: 'internal' | 'external' | 'none'
60
+ ) {
61
+ super();
62
+ this.name = name;
63
+ this.description = description || '';
64
+ this.version = version || 1;
65
+ this.is_active = is_active !== undefined ? is_active : true;
66
+ this.service_id = service_id || null;
67
+ this.sub_service_id = sub_service_id || null;
68
+ this.status = status || 'draft';
69
+ this.service_type = service_type || 'none';
70
+ }
71
+ }
@@ -0,0 +1,67 @@
1
+ import { Column, Entity, ManyToOne, JoinColumn, Unique } from "typeorm";
2
+ import { BaseModel } from './BaseModel';
3
+ import { WorkflowDefinitions } from './WorkflowDefinitions';
4
+
5
+ @Entity({ name: 'workflow_hierarchy' })
6
+ @Unique(['workflow_definition_id', 'step_order'])
7
+ export class WorkflowHierarchy extends BaseModel {
8
+
9
+ @Column({ type: 'integer', nullable: false })
10
+ workflow_definition_id: number;
11
+
12
+ @Column({ type: 'integer', nullable: true })
13
+ department_id: number;
14
+
15
+ @Column({ type: 'integer', nullable: true })
16
+ section_id: number;
17
+
18
+ @Column({ type: 'integer', nullable: true })
19
+ approval_role_id: number;
20
+
21
+ @Column({ type: 'integer', nullable: true })
22
+ approval_user_id: number;
23
+
24
+ @Column({ type: 'varchar', length: 255, nullable: true })
25
+ taskname: string | null;
26
+
27
+ @Column({ type: 'varchar', length: 50, nullable: true })
28
+ status: string | null;
29
+
30
+ @Column({ type: 'jsonb', nullable: true })
31
+ task: any | null;
32
+
33
+ @Column({ type: 'integer', nullable: false })
34
+ step_order: number;
35
+
36
+ @Column({ type: 'boolean', default: true })
37
+ is_required: boolean;
38
+
39
+ @ManyToOne(() => WorkflowDefinitions, { onDelete: 'CASCADE' })
40
+ @JoinColumn({ name: 'workflow_definition_id' })
41
+ workflow_definition: WorkflowDefinitions;
42
+
43
+ constructor(
44
+ workflow_definition_id: number,
45
+ department_id: number,
46
+ section_id: number,
47
+ approval_role_id: number,
48
+ approval_user_id: number,
49
+ step_order: number,
50
+ is_required?: boolean,
51
+ taskname?: string,
52
+ status?: string,
53
+ task?: any
54
+ ) {
55
+ super();
56
+ this.workflow_definition_id = workflow_definition_id;
57
+ this.department_id = department_id;
58
+ this.section_id = section_id;
59
+ this.approval_role_id = approval_role_id;
60
+ this.approval_user_id = approval_user_id;
61
+ this.step_order = step_order;
62
+ this.is_required = is_required !== undefined ? is_required : true;
63
+ this.taskname = taskname || null;
64
+ this.status = status || null;
65
+ this.task = task || null;
66
+ }
67
+ }
@@ -0,0 +1,26 @@
1
+ import { Column, Entity, PrimaryGeneratedColumn } from "typeorm";
2
+ import { BaseModel } from './BaseModel';
3
+
4
+ @Entity({ name: 'workflow_tasks' })
5
+ export class WorkflowTask extends BaseModel {
6
+
7
+ @PrimaryGeneratedColumn()
8
+ task_id: number;
9
+
10
+ @Column({ type: 'varchar', length: 100, nullable: false })
11
+ name: string;
12
+
13
+ @Column({ type: 'varchar', length: 200, nullable: true })
14
+ task_type: string;
15
+
16
+ constructor(
17
+ name: string,
18
+ task_id?: number,
19
+ task_type?: string
20
+ ) {
21
+ super();
22
+ this.name = name;
23
+ this.task_id = task_id || 0;
24
+ this.task_type = task_type || '';
25
+ }
26
+ }
@@ -0,0 +1,31 @@
1
+ import { Column, Entity } from "typeorm";
2
+ import { BaseModel } from './BaseModel';
3
+
4
+ @Entity({ name: 'workflow_task_names' })
5
+ export class WorkflowTaskNames extends BaseModel {
6
+
7
+ @Column({ type: 'varchar', length: 100, nullable: false })
8
+ name: string;
9
+
10
+ @Column({ type: 'integer', nullable: false })
11
+ task_id: number;
12
+
13
+ @Column({ type: 'varchar', length: 200, nullable: true })
14
+ description: string;
15
+
16
+ @Column({ type: 'varchar', length: 200, nullable: true })
17
+ task_type: string;
18
+
19
+ constructor(
20
+ name: string,
21
+ task_id: number,
22
+ description: string,
23
+ task_type: string
24
+ ) {
25
+ super();
26
+ this.name = name;
27
+ this.task_id = task_id;
28
+ this.description = description;
29
+ this.task_type = task_type;
30
+ }
31
+ }