@platform-modules/civil-aviation-authority 2.2.307 → 2.2.308

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.
@@ -76,6 +76,11 @@ const AirportEntryPermitChatModel_1 = require("./models/AirportEntryPermitChatMo
76
76
  const AirportEntryPermitAttachmentModel_1 = require("./models/AirportEntryPermitAttachmentModel");
77
77
  const GroupNamesModel_1 = require("./models/GroupNamesModel");
78
78
  const GroupModel_1 = require("./models/GroupModel");
79
+ const HrServiceRequestModel_1 = require("./models/HrServiceRequestModel");
80
+ const HrServiceApprovalModel_1 = require("./models/HrServiceApprovalModel");
81
+ const HrServiceWorkflowModel_1 = require("./models/HrServiceWorkflowModel");
82
+ const HrServiceAttachmentModel_1 = require("./models/HrServiceAttachmentModel");
83
+ const HrServiceChatModel_1 = require("./models/HrServiceChatModel");
79
84
  exports.AppDataSource = new typeorm_1.DataSource({
80
85
  type: 'postgres',
81
86
  host: process.env.DB_HOST || 'localhost',
@@ -155,6 +160,11 @@ exports.AppDataSource = new typeorm_1.DataSource({
155
160
  AirportEntryPermitApprovalModel_1.AirportEntryPermitApproval,
156
161
  AirportEntryPermitWorkflowModel_1.AirportEntryPermitWorkFlow,
157
162
  AirportEntryPermitChatModel_1.AirportEntryPermitChat,
158
- AirportEntryPermitAttachmentModel_1.AirportEntryPermitAttachment
163
+ AirportEntryPermitAttachmentModel_1.AirportEntryPermitAttachment,
164
+ HrServiceRequestModel_1.HrServiceRequest,
165
+ HrServiceApprovalModel_1.HrServiceApprovalDetails,
166
+ HrServiceWorkflowModel_1.HrServiceWorkFlow,
167
+ HrServiceAttachmentModel_1.HrServiceRequestAttachment,
168
+ HrServiceChatModel_1.HrServiceRequestChat
159
169
  ],
160
170
  });
package/dist/index.d.ts CHANGED
@@ -65,3 +65,8 @@ export * from './models/AirportEntryPermitChatModel';
65
65
  export * from './models/AirportEntryPermitAttachmentModel';
66
66
  export * from './models/GroupNamesModel';
67
67
  export * from './models/GroupModel';
68
+ export * from './models/HrServiceRequestModel';
69
+ export * from './models/HrServiceApprovalModel';
70
+ export * from './models/HrServiceWorkflowModel';
71
+ export * from './models/HrServiceAttachmentModel';
72
+ export * from './models/HrServiceChatModel';
package/dist/index.js CHANGED
@@ -85,3 +85,8 @@ __exportStar(require("./models/AirportEntryPermitChatModel"), exports);
85
85
  __exportStar(require("./models/AirportEntryPermitAttachmentModel"), exports);
86
86
  __exportStar(require("./models/GroupNamesModel"), exports);
87
87
  __exportStar(require("./models/GroupModel"), exports);
88
+ __exportStar(require("./models/HrServiceRequestModel"), exports);
89
+ __exportStar(require("./models/HrServiceApprovalModel"), exports);
90
+ __exportStar(require("./models/HrServiceWorkflowModel"), exports);
91
+ __exportStar(require("./models/HrServiceAttachmentModel"), exports);
92
+ __exportStar(require("./models/HrServiceChatModel"), exports);
@@ -0,0 +1,25 @@
1
+ import { BaseModel } from "./BaseModel";
2
+ export declare enum HrServiceApprovalStatus {
3
+ PENDING = "Pending",
4
+ IN_PROGRESS = "In Progress",
5
+ APPROVED = "Approved",
6
+ REJECTED = "Rejected",
7
+ ASSIGNED = "Assigned"
8
+ }
9
+ export declare class HrServiceApprovalDetails extends BaseModel {
10
+ request_id: number;
11
+ service_id: number | null;
12
+ sub_service_id: number | null;
13
+ level: number;
14
+ approver_user_id: number | null;
15
+ approver_role_id: number | null;
16
+ department_id: number | null;
17
+ section_id: number | null;
18
+ delegate_user_id: number | null;
19
+ approved_by: number | null;
20
+ comment: string;
21
+ approval_status: HrServiceApprovalStatus;
22
+ is_manager: boolean;
23
+ is_allowed: boolean;
24
+ constructor(request_id: number, approver_user_id: number | null, approver_role_id: number | null, comment: string, approval_status: HrServiceApprovalStatus, level: number, service_id?: number | null, sub_service_id?: number | null, department_id?: number | null, section_id?: number | null, delegate_user_id?: number | null, approved_by?: number | null, is_manager?: boolean, is_allowed?: boolean);
25
+ }
@@ -0,0 +1,107 @@
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.HrServiceApprovalDetails = exports.HrServiceApprovalStatus = void 0;
13
+ const typeorm_1 = require("typeorm");
14
+ const BaseModel_1 = require("./BaseModel");
15
+ var HrServiceApprovalStatus;
16
+ (function (HrServiceApprovalStatus) {
17
+ HrServiceApprovalStatus["PENDING"] = "Pending";
18
+ HrServiceApprovalStatus["IN_PROGRESS"] = "In Progress";
19
+ HrServiceApprovalStatus["APPROVED"] = "Approved";
20
+ HrServiceApprovalStatus["REJECTED"] = "Rejected";
21
+ HrServiceApprovalStatus["ASSIGNED"] = "Assigned";
22
+ })(HrServiceApprovalStatus || (exports.HrServiceApprovalStatus = HrServiceApprovalStatus = {}));
23
+ let HrServiceApprovalDetails = class HrServiceApprovalDetails extends BaseModel_1.BaseModel {
24
+ constructor(request_id, approver_user_id, approver_role_id, comment, approval_status, level, service_id, sub_service_id, department_id, section_id, delegate_user_id, approved_by, is_manager, is_allowed) {
25
+ super();
26
+ this.request_id = request_id;
27
+ this.service_id = service_id || null;
28
+ this.sub_service_id = sub_service_id || null;
29
+ this.approver_user_id = approver_user_id;
30
+ this.approver_role_id = approver_role_id;
31
+ this.comment = comment;
32
+ this.approval_status = approval_status;
33
+ this.level = level;
34
+ this.department_id = department_id || null;
35
+ this.section_id = section_id || null;
36
+ this.delegate_user_id = delegate_user_id || null;
37
+ this.approved_by = approved_by || null;
38
+ this.is_manager = is_manager ?? false;
39
+ this.is_allowed = is_allowed !== undefined ? is_allowed : true;
40
+ }
41
+ };
42
+ exports.HrServiceApprovalDetails = HrServiceApprovalDetails;
43
+ __decorate([
44
+ (0, typeorm_1.Column)({ type: "integer", nullable: false }),
45
+ __metadata("design:type", Number)
46
+ ], HrServiceApprovalDetails.prototype, "request_id", void 0);
47
+ __decorate([
48
+ (0, typeorm_1.Column)({ type: "integer", nullable: true }),
49
+ __metadata("design:type", Object)
50
+ ], HrServiceApprovalDetails.prototype, "service_id", void 0);
51
+ __decorate([
52
+ (0, typeorm_1.Column)({ type: "integer", nullable: true }),
53
+ __metadata("design:type", Object)
54
+ ], HrServiceApprovalDetails.prototype, "sub_service_id", void 0);
55
+ __decorate([
56
+ (0, typeorm_1.Column)({ type: "integer", nullable: false }),
57
+ __metadata("design:type", Number)
58
+ ], HrServiceApprovalDetails.prototype, "level", void 0);
59
+ __decorate([
60
+ (0, typeorm_1.Column)({ type: "integer", nullable: true }),
61
+ __metadata("design:type", Object)
62
+ ], HrServiceApprovalDetails.prototype, "approver_user_id", void 0);
63
+ __decorate([
64
+ (0, typeorm_1.Column)({ type: "integer", nullable: true }),
65
+ __metadata("design:type", Object)
66
+ ], HrServiceApprovalDetails.prototype, "approver_role_id", void 0);
67
+ __decorate([
68
+ (0, typeorm_1.Column)({ type: "integer", nullable: true }),
69
+ __metadata("design:type", Object)
70
+ ], HrServiceApprovalDetails.prototype, "department_id", void 0);
71
+ __decorate([
72
+ (0, typeorm_1.Column)({ type: "integer", nullable: true }),
73
+ __metadata("design:type", Object)
74
+ ], HrServiceApprovalDetails.prototype, "section_id", void 0);
75
+ __decorate([
76
+ (0, typeorm_1.Column)({ type: "integer", nullable: true }),
77
+ __metadata("design:type", Object)
78
+ ], HrServiceApprovalDetails.prototype, "delegate_user_id", void 0);
79
+ __decorate([
80
+ (0, typeorm_1.Column)({ type: "integer", nullable: true }),
81
+ __metadata("design:type", Object)
82
+ ], HrServiceApprovalDetails.prototype, "approved_by", void 0);
83
+ __decorate([
84
+ (0, typeorm_1.Column)({ type: "varchar", length: 255, nullable: true, default: "" }),
85
+ __metadata("design:type", String)
86
+ ], HrServiceApprovalDetails.prototype, "comment", void 0);
87
+ __decorate([
88
+ (0, typeorm_1.Column)({
89
+ type: "enum",
90
+ enum: HrServiceApprovalStatus,
91
+ default: HrServiceApprovalStatus.PENDING,
92
+ nullable: false
93
+ }),
94
+ __metadata("design:type", String)
95
+ ], HrServiceApprovalDetails.prototype, "approval_status", void 0);
96
+ __decorate([
97
+ (0, typeorm_1.Column)({ type: "boolean", default: false, nullable: false }),
98
+ __metadata("design:type", Boolean)
99
+ ], HrServiceApprovalDetails.prototype, "is_manager", void 0);
100
+ __decorate([
101
+ (0, typeorm_1.Column)({ type: "boolean", default: true, nullable: false }),
102
+ __metadata("design:type", Boolean)
103
+ ], HrServiceApprovalDetails.prototype, "is_allowed", void 0);
104
+ exports.HrServiceApprovalDetails = HrServiceApprovalDetails = __decorate([
105
+ (0, typeorm_1.Entity)({ name: "hr_service_approvals" }),
106
+ __metadata("design:paramtypes", [Number, Object, Object, String, String, Number, Object, Object, Object, Object, Object, Object, Boolean, Boolean])
107
+ ], HrServiceApprovalDetails);
@@ -0,0 +1,13 @@
1
+ import { BaseModel } from "./BaseModel";
2
+ export declare class HrServiceRequestAttachment extends BaseModel {
3
+ request_id: number;
4
+ service_id: number | null;
5
+ sub_service_id: number | null;
6
+ uploaded_by: number;
7
+ file_url: string;
8
+ file_name: string;
9
+ file_type: string;
10
+ file_size: number | null;
11
+ description: string;
12
+ constructor(request_id: number, uploaded_by: number, file_url: string, service_id?: number | null, sub_service_id?: number | null, file_name?: string, file_type?: string, file_size?: number, description?: string);
13
+ }
@@ -0,0 +1,69 @@
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.HrServiceRequestAttachment = void 0;
13
+ const typeorm_1 = require("typeorm");
14
+ const BaseModel_1 = require("./BaseModel");
15
+ let HrServiceRequestAttachment = class HrServiceRequestAttachment extends BaseModel_1.BaseModel {
16
+ constructor(request_id, uploaded_by, file_url, service_id, sub_service_id, file_name, file_type, file_size, description) {
17
+ super();
18
+ this.request_id = request_id;
19
+ this.service_id = service_id || null;
20
+ this.sub_service_id = sub_service_id || null;
21
+ this.uploaded_by = uploaded_by;
22
+ this.file_url = file_url;
23
+ this.file_name = file_name || "";
24
+ this.file_type = file_type || "";
25
+ this.file_size = file_size || null;
26
+ this.description = description || "";
27
+ }
28
+ };
29
+ exports.HrServiceRequestAttachment = HrServiceRequestAttachment;
30
+ __decorate([
31
+ (0, typeorm_1.Column)({ type: "integer", nullable: false }),
32
+ __metadata("design:type", Number)
33
+ ], HrServiceRequestAttachment.prototype, "request_id", void 0);
34
+ __decorate([
35
+ (0, typeorm_1.Column)({ type: "integer", nullable: true }),
36
+ __metadata("design:type", Object)
37
+ ], HrServiceRequestAttachment.prototype, "service_id", void 0);
38
+ __decorate([
39
+ (0, typeorm_1.Column)({ type: "integer", nullable: true }),
40
+ __metadata("design:type", Object)
41
+ ], HrServiceRequestAttachment.prototype, "sub_service_id", void 0);
42
+ __decorate([
43
+ (0, typeorm_1.Column)({ type: "integer", nullable: false }),
44
+ __metadata("design:type", Number)
45
+ ], HrServiceRequestAttachment.prototype, "uploaded_by", void 0);
46
+ __decorate([
47
+ (0, typeorm_1.Column)({ type: "varchar", length: 500, nullable: false }),
48
+ __metadata("design:type", String)
49
+ ], HrServiceRequestAttachment.prototype, "file_url", void 0);
50
+ __decorate([
51
+ (0, typeorm_1.Column)({ type: "varchar", length: 255, nullable: true }),
52
+ __metadata("design:type", String)
53
+ ], HrServiceRequestAttachment.prototype, "file_name", void 0);
54
+ __decorate([
55
+ (0, typeorm_1.Column)({ type: "varchar", length: 100, nullable: true }),
56
+ __metadata("design:type", String)
57
+ ], HrServiceRequestAttachment.prototype, "file_type", void 0);
58
+ __decorate([
59
+ (0, typeorm_1.Column)({ type: "bigint", nullable: true }),
60
+ __metadata("design:type", Object)
61
+ ], HrServiceRequestAttachment.prototype, "file_size", void 0);
62
+ __decorate([
63
+ (0, typeorm_1.Column)({ type: "text", nullable: true }),
64
+ __metadata("design:type", String)
65
+ ], HrServiceRequestAttachment.prototype, "description", void 0);
66
+ exports.HrServiceRequestAttachment = HrServiceRequestAttachment = __decorate([
67
+ (0, typeorm_1.Entity)({ name: "hr_service_request_attachments" }),
68
+ __metadata("design:paramtypes", [Number, Number, String, Object, Object, String, String, Number, String])
69
+ ], HrServiceRequestAttachment);
@@ -0,0 +1,28 @@
1
+ import { BaseModel } from "./BaseModel";
2
+ export declare enum HrServiceMessageType {
3
+ TEXT = "text",
4
+ IMAGE = "image",
5
+ VIDEO = "video",
6
+ FILE = "file",
7
+ LINK = "link"
8
+ }
9
+ export declare enum HrServiceChatStatus {
10
+ SUBMITTED = "Submitted",
11
+ COMPLETED = "Completed",
12
+ PENDING = "Pending",
13
+ REJECTED = "Rejected",
14
+ ASSIGNED = "Assigned",
15
+ APPROVED = "Approved"
16
+ }
17
+ export declare class HrServiceRequestChat extends BaseModel {
18
+ request_id: number;
19
+ service_id: number | null;
20
+ sub_service_id: number | null;
21
+ user_id: number;
22
+ message: string;
23
+ approver_role_id: number | null;
24
+ messageType: HrServiceMessageType;
25
+ is_internal: boolean;
26
+ status: HrServiceChatStatus;
27
+ constructor(request_id: number, user_id: number, message: string, service_id?: number | null, sub_service_id?: number | null, messageType?: HrServiceMessageType, is_internal?: boolean, status?: HrServiceChatStatus, approver_role_id?: number);
28
+ }
@@ -0,0 +1,96 @@
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.HrServiceRequestChat = exports.HrServiceChatStatus = exports.HrServiceMessageType = void 0;
13
+ const typeorm_1 = require("typeorm");
14
+ const BaseModel_1 = require("./BaseModel");
15
+ var HrServiceMessageType;
16
+ (function (HrServiceMessageType) {
17
+ HrServiceMessageType["TEXT"] = "text";
18
+ HrServiceMessageType["IMAGE"] = "image";
19
+ HrServiceMessageType["VIDEO"] = "video";
20
+ HrServiceMessageType["FILE"] = "file";
21
+ HrServiceMessageType["LINK"] = "link";
22
+ })(HrServiceMessageType || (exports.HrServiceMessageType = HrServiceMessageType = {}));
23
+ var HrServiceChatStatus;
24
+ (function (HrServiceChatStatus) {
25
+ HrServiceChatStatus["SUBMITTED"] = "Submitted";
26
+ HrServiceChatStatus["COMPLETED"] = "Completed";
27
+ HrServiceChatStatus["PENDING"] = "Pending";
28
+ HrServiceChatStatus["REJECTED"] = "Rejected";
29
+ HrServiceChatStatus["ASSIGNED"] = "Assigned";
30
+ HrServiceChatStatus["APPROVED"] = "Approved";
31
+ })(HrServiceChatStatus || (exports.HrServiceChatStatus = HrServiceChatStatus = {}));
32
+ let HrServiceRequestChat = class HrServiceRequestChat extends BaseModel_1.BaseModel {
33
+ constructor(request_id, user_id, message, service_id, sub_service_id, messageType, is_internal, status, approver_role_id) {
34
+ super();
35
+ this.request_id = request_id;
36
+ this.service_id = service_id || null;
37
+ this.sub_service_id = sub_service_id || null;
38
+ this.user_id = user_id;
39
+ this.message = message;
40
+ this.messageType = messageType || HrServiceMessageType.TEXT;
41
+ this.is_internal = is_internal || false;
42
+ this.status = status || HrServiceChatStatus.PENDING;
43
+ this.approver_role_id = approver_role_id || null;
44
+ }
45
+ };
46
+ exports.HrServiceRequestChat = HrServiceRequestChat;
47
+ __decorate([
48
+ (0, typeorm_1.Column)({ type: "integer", nullable: false }),
49
+ __metadata("design:type", Number)
50
+ ], HrServiceRequestChat.prototype, "request_id", void 0);
51
+ __decorate([
52
+ (0, typeorm_1.Column)({ type: "integer", nullable: true }),
53
+ __metadata("design:type", Object)
54
+ ], HrServiceRequestChat.prototype, "service_id", void 0);
55
+ __decorate([
56
+ (0, typeorm_1.Column)({ type: "integer", nullable: true }),
57
+ __metadata("design:type", Object)
58
+ ], HrServiceRequestChat.prototype, "sub_service_id", void 0);
59
+ __decorate([
60
+ (0, typeorm_1.Column)({ type: "integer", nullable: false }),
61
+ __metadata("design:type", Number)
62
+ ], HrServiceRequestChat.prototype, "user_id", void 0);
63
+ __decorate([
64
+ (0, typeorm_1.Column)({ type: "text", nullable: false }),
65
+ __metadata("design:type", String)
66
+ ], HrServiceRequestChat.prototype, "message", void 0);
67
+ __decorate([
68
+ (0, typeorm_1.Column)({ type: "integer", nullable: true }),
69
+ __metadata("design:type", Object)
70
+ ], HrServiceRequestChat.prototype, "approver_role_id", void 0);
71
+ __decorate([
72
+ (0, typeorm_1.Column)({
73
+ type: "enum",
74
+ enum: HrServiceMessageType,
75
+ default: HrServiceMessageType.TEXT,
76
+ nullable: false
77
+ }),
78
+ __metadata("design:type", String)
79
+ ], HrServiceRequestChat.prototype, "messageType", void 0);
80
+ __decorate([
81
+ (0, typeorm_1.Column)({ type: "boolean", default: false }),
82
+ __metadata("design:type", Boolean)
83
+ ], HrServiceRequestChat.prototype, "is_internal", void 0);
84
+ __decorate([
85
+ (0, typeorm_1.Column)({
86
+ type: "enum",
87
+ enum: HrServiceChatStatus,
88
+ default: HrServiceChatStatus.PENDING,
89
+ nullable: false
90
+ }),
91
+ __metadata("design:type", String)
92
+ ], HrServiceRequestChat.prototype, "status", void 0);
93
+ exports.HrServiceRequestChat = HrServiceRequestChat = __decorate([
94
+ (0, typeorm_1.Entity)({ name: "hr_service_request_chat" }),
95
+ __metadata("design:paramtypes", [Number, Number, String, Object, Object, String, Boolean, String, Number])
96
+ ], HrServiceRequestChat);
@@ -0,0 +1,24 @@
1
+ import { BaseModel } from "./BaseModel";
2
+ export declare enum HrServiceRequestStatus {
3
+ PENDING = "Pending",
4
+ ASSIGNED = "Assigned",
5
+ IN_PROGRESS = "In Progress",
6
+ COMPLETED = "Completed",
7
+ APPROVED = "Approved",
8
+ REJECTED = "Rejected"
9
+ }
10
+ export declare class HrServiceRequest extends BaseModel {
11
+ req_user_department_id: number | null;
12
+ req_user_section_id: number | null;
13
+ req_user_position_id: number | null;
14
+ service_id: number | null;
15
+ sub_service_id: number | null;
16
+ user_id: number;
17
+ description: string | null;
18
+ status: HrServiceRequestStatus;
19
+ reviewer_user_id: number | null;
20
+ assigned_to_user_id: number | null;
21
+ assigned_at: Date | null;
22
+ workflow_execution_id: string | null;
23
+ constructor(user_id: number, status?: HrServiceRequestStatus, service_id?: number | null, sub_service_id?: number | null, req_user_department_id?: number | null, req_user_section_id?: number | null, req_user_position_id?: number | null, description?: string | null, reviewer_user_id?: number | null, assigned_to_user_id?: number | null, assigned_at?: Date | null, workflow_execution_id?: string | null);
24
+ }
@@ -0,0 +1,93 @@
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.HrServiceRequest = exports.HrServiceRequestStatus = void 0;
13
+ const typeorm_1 = require("typeorm");
14
+ const BaseModel_1 = require("./BaseModel");
15
+ var HrServiceRequestStatus;
16
+ (function (HrServiceRequestStatus) {
17
+ HrServiceRequestStatus["PENDING"] = "Pending";
18
+ HrServiceRequestStatus["ASSIGNED"] = "Assigned";
19
+ HrServiceRequestStatus["IN_PROGRESS"] = "In Progress";
20
+ HrServiceRequestStatus["COMPLETED"] = "Completed";
21
+ HrServiceRequestStatus["APPROVED"] = "Approved";
22
+ HrServiceRequestStatus["REJECTED"] = "Rejected";
23
+ })(HrServiceRequestStatus || (exports.HrServiceRequestStatus = HrServiceRequestStatus = {}));
24
+ let HrServiceRequest = class HrServiceRequest extends BaseModel_1.BaseModel {
25
+ constructor(user_id, status = HrServiceRequestStatus.PENDING, service_id, sub_service_id, req_user_department_id, req_user_section_id, req_user_position_id, description, reviewer_user_id, assigned_to_user_id, assigned_at, workflow_execution_id) {
26
+ super();
27
+ this.user_id = user_id;
28
+ this.status = status;
29
+ this.service_id = service_id || null;
30
+ this.sub_service_id = sub_service_id || null;
31
+ this.req_user_department_id = req_user_department_id || null;
32
+ this.req_user_section_id = req_user_section_id || null;
33
+ this.req_user_position_id = req_user_position_id || null;
34
+ this.description = description || null;
35
+ this.reviewer_user_id = reviewer_user_id || null;
36
+ this.assigned_to_user_id = assigned_to_user_id || null;
37
+ this.assigned_at = assigned_at || null;
38
+ this.workflow_execution_id = workflow_execution_id || null;
39
+ }
40
+ };
41
+ exports.HrServiceRequest = HrServiceRequest;
42
+ __decorate([
43
+ (0, typeorm_1.Column)({ type: "integer", nullable: true }),
44
+ __metadata("design:type", Object)
45
+ ], HrServiceRequest.prototype, "req_user_department_id", void 0);
46
+ __decorate([
47
+ (0, typeorm_1.Column)({ type: "integer", nullable: true }),
48
+ __metadata("design:type", Object)
49
+ ], HrServiceRequest.prototype, "req_user_section_id", void 0);
50
+ __decorate([
51
+ (0, typeorm_1.Column)({ type: "integer", nullable: true }),
52
+ __metadata("design:type", Object)
53
+ ], HrServiceRequest.prototype, "req_user_position_id", void 0);
54
+ __decorate([
55
+ (0, typeorm_1.Column)({ type: "integer", nullable: true }),
56
+ __metadata("design:type", Object)
57
+ ], HrServiceRequest.prototype, "service_id", void 0);
58
+ __decorate([
59
+ (0, typeorm_1.Column)({ type: "integer", nullable: true }),
60
+ __metadata("design:type", Object)
61
+ ], HrServiceRequest.prototype, "sub_service_id", void 0);
62
+ __decorate([
63
+ (0, typeorm_1.Column)({ type: "integer", nullable: false }),
64
+ __metadata("design:type", Number)
65
+ ], HrServiceRequest.prototype, "user_id", void 0);
66
+ __decorate([
67
+ (0, typeorm_1.Column)({ type: "text", nullable: true }),
68
+ __metadata("design:type", Object)
69
+ ], HrServiceRequest.prototype, "description", void 0);
70
+ __decorate([
71
+ (0, typeorm_1.Column)({ type: "enum", enum: HrServiceRequestStatus, default: HrServiceRequestStatus.PENDING, nullable: false }),
72
+ __metadata("design:type", String)
73
+ ], HrServiceRequest.prototype, "status", void 0);
74
+ __decorate([
75
+ (0, typeorm_1.Column)({ type: "integer", nullable: true }),
76
+ __metadata("design:type", Object)
77
+ ], HrServiceRequest.prototype, "reviewer_user_id", void 0);
78
+ __decorate([
79
+ (0, typeorm_1.Column)({ type: "integer", nullable: true }),
80
+ __metadata("design:type", Object)
81
+ ], HrServiceRequest.prototype, "assigned_to_user_id", void 0);
82
+ __decorate([
83
+ (0, typeorm_1.Column)({ type: "timestamp", nullable: true }),
84
+ __metadata("design:type", Object)
85
+ ], HrServiceRequest.prototype, "assigned_at", void 0);
86
+ __decorate([
87
+ (0, typeorm_1.Column)({ type: "varchar", length: 255, nullable: true }),
88
+ __metadata("design:type", Object)
89
+ ], HrServiceRequest.prototype, "workflow_execution_id", void 0);
90
+ exports.HrServiceRequest = HrServiceRequest = __decorate([
91
+ (0, typeorm_1.Entity)({ name: "hr_service_requests" }),
92
+ __metadata("design:paramtypes", [Number, String, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object])
93
+ ], HrServiceRequest);
@@ -0,0 +1,19 @@
1
+ import { BaseModel } from "./BaseModel";
2
+ export declare enum HrServiceWorkFlowStatus {
3
+ COMPLETED = "Completed",
4
+ NOT_YET_STARTED = "Not Yet Started",
5
+ PENDING = "Pending",
6
+ REJECTED = "Rejected"
7
+ }
8
+ export declare class HrServiceWorkFlow extends BaseModel {
9
+ request_id: number;
10
+ service_id: number | null;
11
+ sub_service_id: number | null;
12
+ order: number | null;
13
+ content: string;
14
+ approver_role_id: number | null;
15
+ approver_user_id: number | null;
16
+ approved_by: number | null;
17
+ status: HrServiceWorkFlowStatus;
18
+ constructor(request_id: number, content: string, status: HrServiceWorkFlowStatus, service_id?: number | null, sub_service_id?: number | null, order?: number, approver_role_id?: number | null, approver_user_id?: number | null, approved_by?: number | null);
19
+ }
@@ -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.HrServiceWorkFlow = exports.HrServiceWorkFlowStatus = void 0;
13
+ const typeorm_1 = require("typeorm");
14
+ const BaseModel_1 = require("./BaseModel");
15
+ var HrServiceWorkFlowStatus;
16
+ (function (HrServiceWorkFlowStatus) {
17
+ HrServiceWorkFlowStatus["COMPLETED"] = "Completed";
18
+ HrServiceWorkFlowStatus["NOT_YET_STARTED"] = "Not Yet Started";
19
+ HrServiceWorkFlowStatus["PENDING"] = "Pending";
20
+ HrServiceWorkFlowStatus["REJECTED"] = "Rejected";
21
+ })(HrServiceWorkFlowStatus || (exports.HrServiceWorkFlowStatus = HrServiceWorkFlowStatus = {}));
22
+ let HrServiceWorkFlow = class HrServiceWorkFlow extends BaseModel_1.BaseModel {
23
+ constructor(request_id, content, status, service_id, sub_service_id, order, approver_role_id, approver_user_id, approved_by) {
24
+ super();
25
+ this.request_id = request_id;
26
+ this.service_id = service_id || null;
27
+ this.sub_service_id = sub_service_id || null;
28
+ this.content = content;
29
+ this.status = status;
30
+ this.order = order || null;
31
+ this.approver_role_id = approver_role_id || null;
32
+ this.approver_user_id = approver_user_id || null;
33
+ this.approved_by = approved_by || null;
34
+ }
35
+ };
36
+ exports.HrServiceWorkFlow = HrServiceWorkFlow;
37
+ __decorate([
38
+ (0, typeorm_1.Column)({ type: "int", nullable: false }),
39
+ __metadata("design:type", Number)
40
+ ], HrServiceWorkFlow.prototype, "request_id", void 0);
41
+ __decorate([
42
+ (0, typeorm_1.Column)({ type: "integer", nullable: true }),
43
+ __metadata("design:type", Object)
44
+ ], HrServiceWorkFlow.prototype, "service_id", void 0);
45
+ __decorate([
46
+ (0, typeorm_1.Column)({ type: "integer", nullable: true }),
47
+ __metadata("design:type", Object)
48
+ ], HrServiceWorkFlow.prototype, "sub_service_id", void 0);
49
+ __decorate([
50
+ (0, typeorm_1.Column)({ type: "int", nullable: true }),
51
+ __metadata("design:type", Object)
52
+ ], HrServiceWorkFlow.prototype, "order", void 0);
53
+ __decorate([
54
+ (0, typeorm_1.Column)({ type: "varchar", length: 255, nullable: false }),
55
+ __metadata("design:type", String)
56
+ ], HrServiceWorkFlow.prototype, "content", void 0);
57
+ __decorate([
58
+ (0, typeorm_1.Column)({ type: "integer", nullable: true }),
59
+ __metadata("design:type", Object)
60
+ ], HrServiceWorkFlow.prototype, "approver_role_id", void 0);
61
+ __decorate([
62
+ (0, typeorm_1.Column)({ type: "integer", nullable: true }),
63
+ __metadata("design:type", Object)
64
+ ], HrServiceWorkFlow.prototype, "approver_user_id", void 0);
65
+ __decorate([
66
+ (0, typeorm_1.Column)({ type: "integer", nullable: true }),
67
+ __metadata("design:type", Object)
68
+ ], HrServiceWorkFlow.prototype, "approved_by", void 0);
69
+ __decorate([
70
+ (0, typeorm_1.Column)({
71
+ type: "enum",
72
+ enum: HrServiceWorkFlowStatus,
73
+ default: HrServiceWorkFlowStatus.PENDING,
74
+ nullable: false
75
+ }),
76
+ __metadata("design:type", String)
77
+ ], HrServiceWorkFlow.prototype, "status", void 0);
78
+ exports.HrServiceWorkFlow = HrServiceWorkFlow = __decorate([
79
+ (0, typeorm_1.Entity)({ name: "hr_service_work_flows" }),
80
+ __metadata("design:paramtypes", [Number, String, String, Object, Object, Number, Object, Object, Object])
81
+ ], HrServiceWorkFlow);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@platform-modules/civil-aviation-authority",
3
- "version": "2.2.307",
3
+ "version": "2.2.308",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "scripts": {
@@ -74,6 +74,11 @@ import { AirportEntryPermitChat } from './models/AirportEntryPermitChatModel';
74
74
  import { AirportEntryPermitAttachment } from './models/AirportEntryPermitAttachmentModel';
75
75
  import { GroupNames } from './models/GroupNamesModel';
76
76
  import { Group } from './models/GroupModel';
77
+ import { HrServiceRequest } from './models/HrServiceRequestModel';
78
+ import { HrServiceApprovalDetails } from './models/HrServiceApprovalModel';
79
+ import { HrServiceWorkFlow } from './models/HrServiceWorkflowModel';
80
+ import { HrServiceRequestAttachment } from './models/HrServiceAttachmentModel';
81
+ import { HrServiceRequestChat } from './models/HrServiceChatModel';
77
82
 
78
83
  export const AppDataSource = new DataSource({
79
84
  type: 'postgres',
@@ -154,6 +159,11 @@ export const AppDataSource = new DataSource({
154
159
  AirportEntryPermitApproval,
155
160
  AirportEntryPermitWorkFlow,
156
161
  AirportEntryPermitChat,
157
- AirportEntryPermitAttachment
162
+ AirportEntryPermitAttachment,
163
+ HrServiceRequest,
164
+ HrServiceApprovalDetails,
165
+ HrServiceWorkFlow,
166
+ HrServiceRequestAttachment,
167
+ HrServiceRequestChat
158
168
  ],
159
169
  });
package/src/index.ts CHANGED
@@ -69,3 +69,8 @@ export * from './models/AirportEntryPermitChatModel';
69
69
  export * from './models/AirportEntryPermitAttachmentModel';
70
70
  export * from './models/GroupNamesModel';
71
71
  export * from './models/GroupModel';
72
+ export * from './models/HrServiceRequestModel';
73
+ export * from './models/HrServiceApprovalModel';
74
+ export * from './models/HrServiceWorkflowModel';
75
+ export * from './models/HrServiceAttachmentModel';
76
+ export * from './models/HrServiceChatModel';
@@ -0,0 +1,94 @@
1
+ import { Column, Entity } from "typeorm";
2
+ import { BaseModel } from "./BaseModel";
3
+
4
+ export enum HrServiceApprovalStatus {
5
+ PENDING = "Pending",
6
+ IN_PROGRESS = "In Progress",
7
+ APPROVED = "Approved",
8
+ REJECTED = "Rejected",
9
+ ASSIGNED = "Assigned"
10
+ }
11
+
12
+ @Entity({ name: "hr_service_approvals" })
13
+ export class HrServiceApprovalDetails extends BaseModel {
14
+ @Column({ type: "integer", nullable: false })
15
+ request_id: number;
16
+
17
+ @Column({ type: "integer", nullable: true })
18
+ service_id: number | null;
19
+
20
+ @Column({ type: "integer", nullable: true })
21
+ sub_service_id: number | null;
22
+
23
+ @Column({ type: "integer", nullable: false })
24
+ level: number;
25
+
26
+ @Column({ type: "integer", nullable: true })
27
+ approver_user_id: number | null;
28
+
29
+ @Column({ type: "integer", nullable: true })
30
+ approver_role_id: number | null;
31
+
32
+ @Column({ type: "integer", nullable: true })
33
+ department_id: number | null;
34
+
35
+ @Column({ type: "integer", nullable: true })
36
+ section_id: number | null;
37
+
38
+ @Column({ type: "integer", nullable: true })
39
+ delegate_user_id: number | null;
40
+
41
+ @Column({ type: "integer", nullable: true })
42
+ approved_by: number | null;
43
+
44
+ @Column({ type: "varchar", length: 255, nullable: true, default: "" })
45
+ comment: string;
46
+
47
+ @Column({
48
+ type: "enum",
49
+ enum: HrServiceApprovalStatus,
50
+ default: HrServiceApprovalStatus.PENDING,
51
+ nullable: false
52
+ })
53
+ approval_status: HrServiceApprovalStatus;
54
+
55
+ @Column({ type: "boolean", default: false, nullable: false })
56
+ is_manager: boolean;
57
+
58
+ @Column({ type: "boolean", default: true, nullable: false })
59
+ is_allowed: boolean;
60
+
61
+ constructor(
62
+ request_id: number,
63
+ approver_user_id: number | null,
64
+ approver_role_id: number | null,
65
+ comment: string,
66
+ approval_status: HrServiceApprovalStatus,
67
+ level: number,
68
+ service_id?: number | null,
69
+ sub_service_id?: number | null,
70
+ department_id?: number | null,
71
+ section_id?: number | null,
72
+ delegate_user_id?: number | null,
73
+ approved_by?: number | null,
74
+ is_manager?: boolean,
75
+ is_allowed?: boolean
76
+ ) {
77
+ super();
78
+ this.request_id = request_id;
79
+ this.service_id = service_id || null;
80
+ this.sub_service_id = sub_service_id || null;
81
+ this.approver_user_id = approver_user_id;
82
+ this.approver_role_id = approver_role_id;
83
+ this.comment = comment;
84
+ this.approval_status = approval_status;
85
+ this.level = level;
86
+ this.department_id = department_id || null;
87
+ this.section_id = section_id || null;
88
+ this.delegate_user_id = delegate_user_id || null;
89
+ this.approved_by = approved_by || null;
90
+ this.is_manager = is_manager ?? false;
91
+ this.is_allowed = is_allowed !== undefined ? is_allowed : true;
92
+ }
93
+ }
94
+
@@ -0,0 +1,56 @@
1
+ import { Column, Entity } from "typeorm";
2
+ import { BaseModel } from "./BaseModel";
3
+
4
+ @Entity({ name: "hr_service_request_attachments" })
5
+ export class HrServiceRequestAttachment extends BaseModel {
6
+ @Column({ type: "integer", nullable: false })
7
+ request_id: number;
8
+
9
+ @Column({ type: "integer", nullable: true })
10
+ service_id: number | null;
11
+
12
+ @Column({ type: "integer", nullable: true })
13
+ sub_service_id: number | null;
14
+
15
+ @Column({ type: "integer", nullable: false })
16
+ uploaded_by: number;
17
+
18
+ @Column({ type: "varchar", length: 500, nullable: false })
19
+ file_url: string;
20
+
21
+ @Column({ type: "varchar", length: 255, nullable: true })
22
+ file_name: string;
23
+
24
+ @Column({ type: "varchar", length: 100, nullable: true })
25
+ file_type: string;
26
+
27
+ @Column({ type: "bigint", nullable: true })
28
+ file_size: number | null;
29
+
30
+ @Column({ type: "text", nullable: true })
31
+ description: string;
32
+
33
+ constructor(
34
+ request_id: number,
35
+ uploaded_by: number,
36
+ file_url: string,
37
+ service_id?: number | null,
38
+ sub_service_id?: number | null,
39
+ file_name?: string,
40
+ file_type?: string,
41
+ file_size?: number,
42
+ description?: string
43
+ ) {
44
+ super();
45
+ this.request_id = request_id;
46
+ this.service_id = service_id || null;
47
+ this.sub_service_id = sub_service_id || null;
48
+ this.uploaded_by = uploaded_by;
49
+ this.file_url = file_url;
50
+ this.file_name = file_name || "";
51
+ this.file_type = file_type || "";
52
+ this.file_size = file_size || null;
53
+ this.description = description || "";
54
+ }
55
+ }
56
+
@@ -0,0 +1,83 @@
1
+ import { Column, Entity } from "typeorm";
2
+ import { BaseModel } from "./BaseModel";
3
+
4
+ export enum HrServiceMessageType {
5
+ TEXT = "text",
6
+ IMAGE = "image",
7
+ VIDEO = "video",
8
+ FILE = "file",
9
+ LINK = "link"
10
+ }
11
+
12
+ export enum HrServiceChatStatus {
13
+ SUBMITTED = "Submitted",
14
+ COMPLETED = "Completed",
15
+ PENDING = "Pending",
16
+ REJECTED = "Rejected",
17
+ ASSIGNED = "Assigned",
18
+ APPROVED = "Approved"
19
+ }
20
+
21
+ @Entity({ name: "hr_service_request_chat" })
22
+ export class HrServiceRequestChat extends BaseModel {
23
+ @Column({ type: "integer", nullable: false })
24
+ request_id: number;
25
+
26
+ @Column({ type: "integer", nullable: true })
27
+ service_id: number | null;
28
+
29
+ @Column({ type: "integer", nullable: true })
30
+ sub_service_id: number | null;
31
+
32
+ @Column({ type: "integer", nullable: false })
33
+ user_id: number;
34
+
35
+ @Column({ type: "text", nullable: false })
36
+ message: string;
37
+
38
+ @Column({ type: "integer", nullable: true })
39
+ approver_role_id: number | null;
40
+
41
+ @Column({
42
+ type: "enum",
43
+ enum: HrServiceMessageType,
44
+ default: HrServiceMessageType.TEXT,
45
+ nullable: false
46
+ })
47
+ messageType: HrServiceMessageType;
48
+
49
+ @Column({ type: "boolean", default: false })
50
+ is_internal: boolean;
51
+
52
+ @Column({
53
+ type: "enum",
54
+ enum: HrServiceChatStatus,
55
+ default: HrServiceChatStatus.PENDING,
56
+ nullable: false
57
+ })
58
+ status: HrServiceChatStatus;
59
+
60
+ constructor(
61
+ request_id: number,
62
+ user_id: number,
63
+ message: string,
64
+ service_id?: number | null,
65
+ sub_service_id?: number | null,
66
+ messageType?: HrServiceMessageType,
67
+ is_internal?: boolean,
68
+ status?: HrServiceChatStatus,
69
+ approver_role_id?: number
70
+ ) {
71
+ super();
72
+ this.request_id = request_id;
73
+ this.service_id = service_id || null;
74
+ this.sub_service_id = sub_service_id || null;
75
+ this.user_id = user_id;
76
+ this.message = message;
77
+ this.messageType = messageType || HrServiceMessageType.TEXT;
78
+ this.is_internal = is_internal || false;
79
+ this.status = status || HrServiceChatStatus.PENDING;
80
+ this.approver_role_id = approver_role_id || null;
81
+ }
82
+ }
83
+
@@ -0,0 +1,80 @@
1
+ import { Column, Entity } from "typeorm";
2
+ import { BaseModel } from "./BaseModel";
3
+
4
+ export enum HrServiceRequestStatus {
5
+ PENDING = "Pending",
6
+ ASSIGNED = "Assigned",
7
+ IN_PROGRESS = "In Progress",
8
+ COMPLETED = "Completed",
9
+ APPROVED = "Approved",
10
+ REJECTED = "Rejected"
11
+ }
12
+
13
+ @Entity({ name: "hr_service_requests" })
14
+ export class HrServiceRequest extends BaseModel {
15
+ @Column({ type: "integer", nullable: true })
16
+ req_user_department_id: number | null;
17
+
18
+ @Column({ type: "integer", nullable: true })
19
+ req_user_section_id: number | null;
20
+
21
+ @Column({ type: "integer", nullable: true })
22
+ req_user_position_id: number | null;
23
+
24
+ @Column({ type: "integer", nullable: true })
25
+ service_id: number | null;
26
+
27
+ @Column({ type: "integer", nullable: true })
28
+ sub_service_id: number | null;
29
+
30
+ @Column({ type: "integer", nullable: false })
31
+ user_id: number;
32
+
33
+ @Column({ type: "text", nullable: true })
34
+ description: string | null;
35
+
36
+ @Column({ type: "enum", enum: HrServiceRequestStatus, default: HrServiceRequestStatus.PENDING, nullable: false })
37
+ status: HrServiceRequestStatus;
38
+
39
+ @Column({ type: "integer", nullable: true })
40
+ reviewer_user_id: number | null;
41
+
42
+ @Column({ type: "integer", nullable: true })
43
+ assigned_to_user_id: number | null;
44
+
45
+ @Column({ type: "timestamp", nullable: true })
46
+ assigned_at: Date | null;
47
+
48
+ @Column({ type: "varchar", length: 255, nullable: true })
49
+ workflow_execution_id: string | null;
50
+
51
+ constructor(
52
+ user_id: number,
53
+ status: HrServiceRequestStatus = HrServiceRequestStatus.PENDING,
54
+ service_id?: number | null,
55
+ sub_service_id?: number | null,
56
+ req_user_department_id?: number | null,
57
+ req_user_section_id?: number | null,
58
+ req_user_position_id?: number | null,
59
+ description?: string | null,
60
+ reviewer_user_id?: number | null,
61
+ assigned_to_user_id?: number | null,
62
+ assigned_at?: Date | null,
63
+ workflow_execution_id?: string | null
64
+ ) {
65
+ super();
66
+ this.user_id = user_id;
67
+ this.status = status;
68
+ this.service_id = service_id || null;
69
+ this.sub_service_id = sub_service_id || null;
70
+ this.req_user_department_id = req_user_department_id || null;
71
+ this.req_user_section_id = req_user_section_id || null;
72
+ this.req_user_position_id = req_user_position_id || null;
73
+ this.description = description || null;
74
+ this.reviewer_user_id = reviewer_user_id || null;
75
+ this.assigned_to_user_id = assigned_to_user_id || null;
76
+ this.assigned_at = assigned_at || null;
77
+ this.workflow_execution_id = workflow_execution_id || null;
78
+ }
79
+ }
80
+
@@ -0,0 +1,68 @@
1
+ import { Column, Entity } from "typeorm";
2
+ import { BaseModel } from "./BaseModel";
3
+
4
+ export enum HrServiceWorkFlowStatus {
5
+ COMPLETED = "Completed",
6
+ NOT_YET_STARTED = "Not Yet Started",
7
+ PENDING = "Pending",
8
+ REJECTED = "Rejected"
9
+ }
10
+
11
+ @Entity({ name: "hr_service_work_flows" })
12
+ export class HrServiceWorkFlow extends BaseModel {
13
+ @Column({ type: "int", nullable: false })
14
+ request_id: number;
15
+
16
+ @Column({ type: "integer", nullable: true })
17
+ service_id: number | null;
18
+
19
+ @Column({ type: "integer", nullable: true })
20
+ sub_service_id: number | null;
21
+
22
+ @Column({ type: "int", nullable: true })
23
+ order: number | null;
24
+
25
+ @Column({ type: "varchar", length: 255, nullable: false })
26
+ content: string;
27
+
28
+ @Column({ type: "integer", nullable: true })
29
+ approver_role_id: number | null;
30
+
31
+ @Column({ type: "integer", nullable: true })
32
+ approver_user_id: number | null;
33
+
34
+ @Column({ type: "integer", nullable: true })
35
+ approved_by: number | null;
36
+
37
+ @Column({
38
+ type: "enum",
39
+ enum: HrServiceWorkFlowStatus,
40
+ default: HrServiceWorkFlowStatus.PENDING,
41
+ nullable: false
42
+ })
43
+ status: HrServiceWorkFlowStatus;
44
+
45
+ constructor(
46
+ request_id: number,
47
+ content: string,
48
+ status: HrServiceWorkFlowStatus,
49
+ service_id?: number | null,
50
+ sub_service_id?: number | null,
51
+ order?: number,
52
+ approver_role_id?: number | null,
53
+ approver_user_id?: number | null,
54
+ approved_by?: number | null
55
+ ) {
56
+ super();
57
+ this.request_id = request_id;
58
+ this.service_id = service_id || null;
59
+ this.sub_service_id = sub_service_id || null;
60
+ this.content = content;
61
+ this.status = status;
62
+ this.order = order || null;
63
+ this.approver_role_id = approver_role_id || null;
64
+ this.approver_user_id = approver_user_id || null;
65
+ this.approved_by = approved_by || null;
66
+ }
67
+ }
68
+