@platform-modules/civil-aviation-authority 2.0.40 → 2.0.42

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.
@@ -49,6 +49,11 @@ const VpnApprovalModel_1 = require("./models/VpnApprovalModel");
49
49
  const VpnWorkflowModel_1 = require("./models/VpnWorkflowModel");
50
50
  const VpnRequestAttachmentModel_1 = require("./models/VpnRequestAttachmentModel");
51
51
  const VpnRequestChatModel_1 = require("./models/VpnRequestChatModel");
52
+ const HotelreservationModel_1 = require("./models/HotelreservationModel");
53
+ const HotelApprovalModel_1 = require("./models/HotelApprovalModel");
54
+ const HotelWorkFlowModel_1 = require("./models/HotelWorkFlowModel");
55
+ const HotelChatModel_1 = require("./models/HotelChatModel");
56
+ const HotelAttachedModel_1 = require("./models/HotelAttachedModel");
52
57
  exports.AppDataSource = new typeorm_1.DataSource({
53
58
  type: 'postgres',
54
59
  host: process.env.DB_HOST || 'localhost',
@@ -101,6 +106,11 @@ exports.AppDataSource = new typeorm_1.DataSource({
101
106
  VpnApprovalModel_1.VpnApprovalDetails,
102
107
  VpnWorkflowModel_1.VpnWorkFlow,
103
108
  VpnRequestAttachmentModel_1.VpnRequestAttachment,
104
- VpnRequestChatModel_1.VpnRequestChat
109
+ VpnRequestChatModel_1.VpnRequestChat,
110
+ HotelreservationModel_1.HotelReservation,
111
+ HotelApprovalModel_1.HotelApprovalDetails,
112
+ HotelWorkFlowModel_1.HotelWorkFlow,
113
+ HotelChatModel_1.HotelRequestChat,
114
+ HotelAttachedModel_1.HotelRequestAttachment
105
115
  ],
106
116
  });
package/dist/index.d.ts CHANGED
@@ -38,3 +38,8 @@ export * from './models/VpnApprovalModel';
38
38
  export * from './models/VpnWorkflowModel';
39
39
  export * from './models/VpnRequestChatModel';
40
40
  export * from './models/VpnRequestAttachmentModel';
41
+ export * from './models/HotelreservationModel';
42
+ export * from './models/HotelApprovalModel';
43
+ export * from './models/HotelWorkFlowModel';
44
+ export * from './models/HotelChatModel';
45
+ export * from './models/HotelAttachedModel';
package/dist/index.js CHANGED
@@ -58,3 +58,8 @@ __exportStar(require("./models/VpnApprovalModel"), exports);
58
58
  __exportStar(require("./models/VpnWorkflowModel"), exports);
59
59
  __exportStar(require("./models/VpnRequestChatModel"), exports);
60
60
  __exportStar(require("./models/VpnRequestAttachmentModel"), exports);
61
+ __exportStar(require("./models/HotelreservationModel"), exports);
62
+ __exportStar(require("./models/HotelApprovalModel"), exports);
63
+ __exportStar(require("./models/HotelWorkFlowModel"), exports);
64
+ __exportStar(require("./models/HotelChatModel"), exports);
65
+ __exportStar(require("./models/HotelAttachedModel"), exports);
@@ -0,0 +1,22 @@
1
+ import { BaseModel } from './BaseModel';
2
+ export declare enum HotelApprovalStatus {
3
+ PENDING = "Pending",
4
+ IN_PROGRESS = "In Progress",
5
+ APPROVED = "Approved",
6
+ REJECTED = "Rejected"
7
+ }
8
+ export declare class HotelApprovalDetails extends BaseModel {
9
+ request_id: number;
10
+ service_id: number | null;
11
+ sub_service_id: number | null;
12
+ level: number;
13
+ approver_role_id: number;
14
+ department_id: number | null;
15
+ section_id: number | null;
16
+ approver_user_id: number | null;
17
+ delegate_user_id: number | null;
18
+ approved_by: number | null;
19
+ comment: string;
20
+ approval_status: HotelApprovalStatus;
21
+ constructor(request_id: number, approver_role_id: number, comment: string, approval_status: HotelApprovalStatus, level: number, department_id?: number | null, section_id?: number | null, approver_user_id?: number | null, delegate_user_id?: number | null, approved_by?: number | null, service_id?: number, sub_service_id?: number);
22
+ }
@@ -0,0 +1,91 @@
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.HotelApprovalDetails = exports.HotelApprovalStatus = void 0;
13
+ const typeorm_1 = require("typeorm");
14
+ const BaseModel_1 = require("./BaseModel");
15
+ var HotelApprovalStatus;
16
+ (function (HotelApprovalStatus) {
17
+ HotelApprovalStatus["PENDING"] = "Pending";
18
+ HotelApprovalStatus["IN_PROGRESS"] = "In Progress";
19
+ HotelApprovalStatus["APPROVED"] = "Approved";
20
+ HotelApprovalStatus["REJECTED"] = "Rejected";
21
+ })(HotelApprovalStatus || (exports.HotelApprovalStatus = HotelApprovalStatus = {}));
22
+ let HotelApprovalDetails = class HotelApprovalDetails extends BaseModel_1.BaseModel {
23
+ constructor(request_id, approver_role_id, comment, approval_status, level, department_id, section_id, approver_user_id, delegate_user_id, approved_by, service_id, sub_service_id) {
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.approver_role_id = approver_role_id;
29
+ this.comment = comment;
30
+ this.approval_status = approval_status;
31
+ this.level = level;
32
+ this.department_id = department_id || null;
33
+ this.section_id = section_id || null;
34
+ this.approver_user_id = approver_user_id || null;
35
+ this.delegate_user_id = delegate_user_id || null;
36
+ this.approved_by = approved_by || null;
37
+ }
38
+ };
39
+ exports.HotelApprovalDetails = HotelApprovalDetails;
40
+ __decorate([
41
+ (0, typeorm_1.Column)({ type: 'integer', nullable: false }),
42
+ __metadata("design:type", Number)
43
+ ], HotelApprovalDetails.prototype, "request_id", void 0);
44
+ __decorate([
45
+ (0, typeorm_1.Column)({ type: 'integer', nullable: true }),
46
+ __metadata("design:type", Object)
47
+ ], HotelApprovalDetails.prototype, "service_id", void 0);
48
+ __decorate([
49
+ (0, typeorm_1.Column)({ type: 'integer', nullable: true }),
50
+ __metadata("design:type", Object)
51
+ ], HotelApprovalDetails.prototype, "sub_service_id", void 0);
52
+ __decorate([
53
+ (0, typeorm_1.Column)({ type: 'integer', nullable: false }),
54
+ __metadata("design:type", Number)
55
+ ], HotelApprovalDetails.prototype, "level", void 0);
56
+ __decorate([
57
+ (0, typeorm_1.Column)({ type: 'integer', nullable: false }),
58
+ __metadata("design:type", Number)
59
+ ], HotelApprovalDetails.prototype, "approver_role_id", void 0);
60
+ __decorate([
61
+ (0, typeorm_1.Column)({ type: 'integer', nullable: true }),
62
+ __metadata("design:type", Object)
63
+ ], HotelApprovalDetails.prototype, "department_id", void 0);
64
+ __decorate([
65
+ (0, typeorm_1.Column)({ type: 'integer', nullable: true }),
66
+ __metadata("design:type", Object)
67
+ ], HotelApprovalDetails.prototype, "section_id", void 0);
68
+ __decorate([
69
+ (0, typeorm_1.Column)({ type: 'integer', nullable: true }),
70
+ __metadata("design:type", Object)
71
+ ], HotelApprovalDetails.prototype, "approver_user_id", void 0);
72
+ __decorate([
73
+ (0, typeorm_1.Column)({ type: 'integer', nullable: true }),
74
+ __metadata("design:type", Object)
75
+ ], HotelApprovalDetails.prototype, "delegate_user_id", void 0);
76
+ __decorate([
77
+ (0, typeorm_1.Column)({ type: 'integer', nullable: true }),
78
+ __metadata("design:type", Object)
79
+ ], HotelApprovalDetails.prototype, "approved_by", void 0);
80
+ __decorate([
81
+ (0, typeorm_1.Column)({ type: 'varchar', length: 500, nullable: true, default: '' }),
82
+ __metadata("design:type", String)
83
+ ], HotelApprovalDetails.prototype, "comment", void 0);
84
+ __decorate([
85
+ (0, typeorm_1.Column)({ type: 'enum', enum: HotelApprovalStatus, default: HotelApprovalStatus.PENDING, nullable: false }),
86
+ __metadata("design:type", String)
87
+ ], HotelApprovalDetails.prototype, "approval_status", void 0);
88
+ exports.HotelApprovalDetails = HotelApprovalDetails = __decorate([
89
+ (0, typeorm_1.Entity)({ name: 'hotelapprovals' }),
90
+ __metadata("design:paramtypes", [Number, Number, String, String, Number, Object, Object, Object, Object, Object, Number, Number])
91
+ ], HotelApprovalDetails);
@@ -0,0 +1,12 @@
1
+ import { BaseModel } from './BaseModel';
2
+ export declare class HotelRequestAttachment extends BaseModel {
3
+ request_id: number;
4
+ service_id: number | null;
5
+ sub_service_id: number | null;
6
+ file_url: string;
7
+ file_name: string;
8
+ file_type: string;
9
+ file_size: number | null;
10
+ chat_id: number | null;
11
+ constructor(request_id: number, file_url: string, file_name?: string, file_type?: string, file_size?: number, service_id?: number, sub_service_id?: number, chat_id?: number);
12
+ }
@@ -0,0 +1,64 @@
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.HotelRequestAttachment = void 0;
13
+ const typeorm_1 = require("typeorm");
14
+ const BaseModel_1 = require("./BaseModel");
15
+ let HotelRequestAttachment = class HotelRequestAttachment extends BaseModel_1.BaseModel {
16
+ constructor(request_id, file_url, file_name, file_type, file_size, service_id, sub_service_id, chat_id) {
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.file_url = file_url;
22
+ this.file_name = file_name || '';
23
+ this.file_type = file_type || '';
24
+ this.file_size = file_size || null;
25
+ this.chat_id = chat_id || null;
26
+ }
27
+ };
28
+ exports.HotelRequestAttachment = HotelRequestAttachment;
29
+ __decorate([
30
+ (0, typeorm_1.Column)({ type: 'integer', nullable: false }),
31
+ __metadata("design:type", Number)
32
+ ], HotelRequestAttachment.prototype, "request_id", void 0);
33
+ __decorate([
34
+ (0, typeorm_1.Column)({ type: 'integer', nullable: true }),
35
+ __metadata("design:type", Object)
36
+ ], HotelRequestAttachment.prototype, "service_id", void 0);
37
+ __decorate([
38
+ (0, typeorm_1.Column)({ type: 'integer', nullable: true }),
39
+ __metadata("design:type", Object)
40
+ ], HotelRequestAttachment.prototype, "sub_service_id", void 0);
41
+ __decorate([
42
+ (0, typeorm_1.Column)({ type: 'varchar', length: 500, nullable: false }),
43
+ __metadata("design:type", String)
44
+ ], HotelRequestAttachment.prototype, "file_url", void 0);
45
+ __decorate([
46
+ (0, typeorm_1.Column)({ type: 'varchar', length: 255, nullable: true }),
47
+ __metadata("design:type", String)
48
+ ], HotelRequestAttachment.prototype, "file_name", void 0);
49
+ __decorate([
50
+ (0, typeorm_1.Column)({ type: 'varchar', length: 100, nullable: true }),
51
+ __metadata("design:type", String)
52
+ ], HotelRequestAttachment.prototype, "file_type", void 0);
53
+ __decorate([
54
+ (0, typeorm_1.Column)({ type: 'bigint', nullable: true }),
55
+ __metadata("design:type", Object)
56
+ ], HotelRequestAttachment.prototype, "file_size", void 0);
57
+ __decorate([
58
+ (0, typeorm_1.Column)({ type: 'integer', nullable: true }),
59
+ __metadata("design:type", Object)
60
+ ], HotelRequestAttachment.prototype, "chat_id", void 0);
61
+ exports.HotelRequestAttachment = HotelRequestAttachment = __decorate([
62
+ (0, typeorm_1.Entity)({ name: 'hotel_request_attachments' }),
63
+ __metadata("design:paramtypes", [Number, String, String, String, Number, Number, Number, Number])
64
+ ], HotelRequestAttachment);
@@ -0,0 +1,17 @@
1
+ import { BaseModel } from './BaseModel';
2
+ export declare enum HotelMessageTypes {
3
+ TEXT = "text",
4
+ IMAGE = "image",
5
+ VIDEO = "video",
6
+ FILE = "file",
7
+ LINK = "link"
8
+ }
9
+ export declare class HotelRequestChat extends BaseModel {
10
+ request_id: number;
11
+ service_id: number | null;
12
+ sub_service_id: number | null;
13
+ user_id: number;
14
+ message: string;
15
+ messageType: HotelMessageTypes;
16
+ constructor(request_id: number, user_id: number, message: string, service_id?: number, sub_service_id?: number, messageType?: HotelMessageTypes);
17
+ }
@@ -0,0 +1,67 @@
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.HotelRequestChat = exports.HotelMessageTypes = void 0;
13
+ const typeorm_1 = require("typeorm");
14
+ const BaseModel_1 = require("./BaseModel");
15
+ var HotelMessageTypes;
16
+ (function (HotelMessageTypes) {
17
+ HotelMessageTypes["TEXT"] = "text";
18
+ HotelMessageTypes["IMAGE"] = "image";
19
+ HotelMessageTypes["VIDEO"] = "video";
20
+ HotelMessageTypes["FILE"] = "file";
21
+ HotelMessageTypes["LINK"] = "link";
22
+ })(HotelMessageTypes || (exports.HotelMessageTypes = HotelMessageTypes = {}));
23
+ let HotelRequestChat = class HotelRequestChat extends BaseModel_1.BaseModel {
24
+ constructor(request_id, user_id, message, service_id, sub_service_id, messageType) {
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.user_id = user_id;
30
+ this.message = message;
31
+ this.messageType = messageType || HotelMessageTypes.TEXT;
32
+ }
33
+ };
34
+ exports.HotelRequestChat = HotelRequestChat;
35
+ __decorate([
36
+ (0, typeorm_1.Column)({ type: 'integer', nullable: false }),
37
+ __metadata("design:type", Number)
38
+ ], HotelRequestChat.prototype, "request_id", void 0);
39
+ __decorate([
40
+ (0, typeorm_1.Column)({ type: 'integer', nullable: true }),
41
+ __metadata("design:type", Object)
42
+ ], HotelRequestChat.prototype, "service_id", void 0);
43
+ __decorate([
44
+ (0, typeorm_1.Column)({ type: 'integer', nullable: true }),
45
+ __metadata("design:type", Object)
46
+ ], HotelRequestChat.prototype, "sub_service_id", void 0);
47
+ __decorate([
48
+ (0, typeorm_1.Column)({ type: 'integer', nullable: false }),
49
+ __metadata("design:type", Number)
50
+ ], HotelRequestChat.prototype, "user_id", void 0);
51
+ __decorate([
52
+ (0, typeorm_1.Column)({ type: 'text', nullable: false }),
53
+ __metadata("design:type", String)
54
+ ], HotelRequestChat.prototype, "message", void 0);
55
+ __decorate([
56
+ (0, typeorm_1.Column)({
57
+ type: 'enum',
58
+ enum: HotelMessageTypes,
59
+ default: HotelMessageTypes.TEXT,
60
+ nullable: false
61
+ }),
62
+ __metadata("design:type", String)
63
+ ], HotelRequestChat.prototype, "messageType", void 0);
64
+ exports.HotelRequestChat = HotelRequestChat = __decorate([
65
+ (0, typeorm_1.Entity)({ name: 'Hotel_request_chat' }),
66
+ __metadata("design:paramtypes", [Number, Number, String, Number, Number, String])
67
+ ], HotelRequestChat);
@@ -0,0 +1,14 @@
1
+ import { BaseModel } from './BaseModel';
2
+ export declare enum HotelWorkFlowStatus {
3
+ COMPLETED = "Completed",
4
+ NOT_YET_STARTED = "Not Yet Started",
5
+ PENDING = "Pending"
6
+ }
7
+ export declare class HotelWorkFlow extends BaseModel {
8
+ request_id: number;
9
+ service_id: number | null;
10
+ sub_service_id: number | null;
11
+ content: string;
12
+ status: HotelWorkFlowStatus;
13
+ constructor(request_id: number, content: string, status: HotelWorkFlowStatus, service_id?: number, sub_service_id?: number);
14
+ }
@@ -0,0 +1,56 @@
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.HotelWorkFlow = exports.HotelWorkFlowStatus = void 0;
13
+ const typeorm_1 = require("typeorm");
14
+ const BaseModel_1 = require("./BaseModel");
15
+ var HotelWorkFlowStatus;
16
+ (function (HotelWorkFlowStatus) {
17
+ HotelWorkFlowStatus["COMPLETED"] = "Completed";
18
+ HotelWorkFlowStatus["NOT_YET_STARTED"] = "Not Yet Started";
19
+ HotelWorkFlowStatus["PENDING"] = "Pending";
20
+ })(HotelWorkFlowStatus || (exports.HotelWorkFlowStatus = HotelWorkFlowStatus = {}));
21
+ //This model is used to store the logistics workflow status and activity logs
22
+ let HotelWorkFlow = class HotelWorkFlow extends BaseModel_1.BaseModel {
23
+ constructor(request_id, content, status, service_id, sub_service_id) {
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
+ }
31
+ };
32
+ exports.HotelWorkFlow = HotelWorkFlow;
33
+ __decorate([
34
+ (0, typeorm_1.Column)({ type: 'integer', nullable: false }),
35
+ __metadata("design:type", Number)
36
+ ], HotelWorkFlow.prototype, "request_id", void 0);
37
+ __decorate([
38
+ (0, typeorm_1.Column)({ type: 'integer', nullable: true }),
39
+ __metadata("design:type", Object)
40
+ ], HotelWorkFlow.prototype, "service_id", void 0);
41
+ __decorate([
42
+ (0, typeorm_1.Column)({ type: 'integer', nullable: true }),
43
+ __metadata("design:type", Object)
44
+ ], HotelWorkFlow.prototype, "sub_service_id", void 0);
45
+ __decorate([
46
+ (0, typeorm_1.Column)({ type: 'varchar', length: 500, nullable: false }),
47
+ __metadata("design:type", String)
48
+ ], HotelWorkFlow.prototype, "content", void 0);
49
+ __decorate([
50
+ (0, typeorm_1.Column)({ type: 'enum', enum: HotelWorkFlowStatus, default: HotelWorkFlowStatus.NOT_YET_STARTED, nullable: false }),
51
+ __metadata("design:type", String)
52
+ ], HotelWorkFlow.prototype, "status", void 0);
53
+ exports.HotelWorkFlow = HotelWorkFlow = __decorate([
54
+ (0, typeorm_1.Entity)({ name: 'hotel_workflows' }),
55
+ __metadata("design:paramtypes", [Number, String, String, Number, Number])
56
+ ], HotelWorkFlow);
@@ -0,0 +1,30 @@
1
+ import { BaseModel } from './BaseModel';
2
+ export declare enum MealType {
3
+ BREAKFAST = "Breakfast",
4
+ LUNCH = "Lunch",
5
+ DINNER = "Dinner"
6
+ }
7
+ export declare enum ServiceTypes {
8
+ LAUNDRY = "Laundry",
9
+ TELEPHONE = "Telephone Service"
10
+ }
11
+ export declare class HotelReservation extends BaseModel {
12
+ type_of_accommodation: string;
13
+ price: number;
14
+ meal: MealType;
15
+ service: ServiceTypes;
16
+ date_of_request: Date;
17
+ hotel_name: string;
18
+ check_in_date: Date;
19
+ check_in_time: string;
20
+ check_out_date: Date;
21
+ check_out_time: string;
22
+ number_of_guests: number;
23
+ description: string;
24
+ attachment_url: string;
25
+ requested_by: string;
26
+ visitor_name: string;
27
+ hr_approval: boolean;
28
+ pr_approval: boolean;
29
+ constructor(type_of_accommodation: string, price: number, meal: MealType, service: ServiceTypes, date_of_request: Date, hotel_name: string, check_in_date: Date, check_in_time: string, check_out_date: Date, check_out_time: string, number_of_guests: number, description: string, requested_by: string, visitor_name: string, hr_approval: boolean, pr_approval: boolean);
30
+ }
@@ -0,0 +1,119 @@
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.HotelReservation = exports.ServiceTypes = exports.MealType = void 0;
13
+ const typeorm_1 = require("typeorm");
14
+ const BaseModel_1 = require("./BaseModel");
15
+ var MealType;
16
+ (function (MealType) {
17
+ MealType["BREAKFAST"] = "Breakfast";
18
+ MealType["LUNCH"] = "Lunch";
19
+ MealType["DINNER"] = "Dinner";
20
+ })(MealType || (exports.MealType = MealType = {}));
21
+ var ServiceTypes;
22
+ (function (ServiceTypes) {
23
+ ServiceTypes["LAUNDRY"] = "Laundry";
24
+ ServiceTypes["TELEPHONE"] = "Telephone Service";
25
+ })(ServiceTypes || (exports.ServiceTypes = ServiceTypes = {}));
26
+ let HotelReservation = class HotelReservation extends BaseModel_1.BaseModel {
27
+ constructor(type_of_accommodation, price, meal, service, date_of_request, hotel_name, check_in_date, check_in_time, check_out_date, check_out_time, number_of_guests, description, requested_by, visitor_name, hr_approval, pr_approval) {
28
+ super();
29
+ this.type_of_accommodation = type_of_accommodation;
30
+ this.price = price;
31
+ this.meal = meal;
32
+ this.service = service;
33
+ this.date_of_request = date_of_request;
34
+ this.hotel_name = hotel_name;
35
+ this.check_in_date = check_in_date;
36
+ this.check_in_time = check_in_time;
37
+ this.check_out_date = check_out_date;
38
+ this.check_out_time = check_out_time;
39
+ this.number_of_guests = number_of_guests;
40
+ this.description = description;
41
+ this.requested_by = requested_by;
42
+ this.visitor_name = visitor_name;
43
+ this.hr_approval = hr_approval;
44
+ this.pr_approval = pr_approval;
45
+ }
46
+ };
47
+ exports.HotelReservation = HotelReservation;
48
+ __decorate([
49
+ (0, typeorm_1.Column)({ type: 'varchar', length: 50 }),
50
+ __metadata("design:type", String)
51
+ ], HotelReservation.prototype, "type_of_accommodation", void 0);
52
+ __decorate([
53
+ (0, typeorm_1.Column)({ type: 'decimal', precision: 10, scale: 2, nullable: false }),
54
+ __metadata("design:type", Number)
55
+ ], HotelReservation.prototype, "price", void 0);
56
+ __decorate([
57
+ (0, typeorm_1.Column)({ type: 'enum', enum: MealType, nullable: false, }),
58
+ __metadata("design:type", String)
59
+ ], HotelReservation.prototype, "meal", void 0);
60
+ __decorate([
61
+ (0, typeorm_1.Column)({ type: 'enum', enum: ServiceTypes, nullable: false, }),
62
+ __metadata("design:type", String)
63
+ ], HotelReservation.prototype, "service", void 0);
64
+ __decorate([
65
+ (0, typeorm_1.Column)({ type: 'timestamptz', nullable: false }),
66
+ __metadata("design:type", Date)
67
+ ], HotelReservation.prototype, "date_of_request", void 0);
68
+ __decorate([
69
+ (0, typeorm_1.Column)({ type: 'varchar', length: 100, nullable: false }),
70
+ __metadata("design:type", String)
71
+ ], HotelReservation.prototype, "hotel_name", void 0);
72
+ __decorate([
73
+ (0, typeorm_1.Column)({ type: 'date', nullable: false }),
74
+ __metadata("design:type", Date)
75
+ ], HotelReservation.prototype, "check_in_date", void 0);
76
+ __decorate([
77
+ (0, typeorm_1.Column)({ type: 'time', nullable: false }),
78
+ __metadata("design:type", String)
79
+ ], HotelReservation.prototype, "check_in_time", void 0);
80
+ __decorate([
81
+ (0, typeorm_1.Column)({ type: 'date', nullable: false }),
82
+ __metadata("design:type", Date)
83
+ ], HotelReservation.prototype, "check_out_date", void 0);
84
+ __decorate([
85
+ (0, typeorm_1.Column)({ type: 'time', nullable: false }),
86
+ __metadata("design:type", String)
87
+ ], HotelReservation.prototype, "check_out_time", void 0);
88
+ __decorate([
89
+ (0, typeorm_1.Column)({ type: 'int', nullable: false }),
90
+ __metadata("design:type", Number)
91
+ ], HotelReservation.prototype, "number_of_guests", void 0);
92
+ __decorate([
93
+ (0, typeorm_1.Column)({ type: 'text', nullable: true }),
94
+ __metadata("design:type", String)
95
+ ], HotelReservation.prototype, "description", void 0);
96
+ __decorate([
97
+ (0, typeorm_1.Column)({ type: 'text', nullable: false }),
98
+ __metadata("design:type", String)
99
+ ], HotelReservation.prototype, "attachment_url", void 0);
100
+ __decorate([
101
+ (0, typeorm_1.Column)({ type: 'varchar', length: 100, nullable: false }),
102
+ __metadata("design:type", String)
103
+ ], HotelReservation.prototype, "requested_by", void 0);
104
+ __decorate([
105
+ (0, typeorm_1.Column)({ type: 'varchar', length: 100, nullable: false }),
106
+ __metadata("design:type", String)
107
+ ], HotelReservation.prototype, "visitor_name", void 0);
108
+ __decorate([
109
+ (0, typeorm_1.Column)({ type: 'boolean', default: false }),
110
+ __metadata("design:type", Boolean)
111
+ ], HotelReservation.prototype, "hr_approval", void 0);
112
+ __decorate([
113
+ (0, typeorm_1.Column)({ type: 'boolean', default: false }),
114
+ __metadata("design:type", Boolean)
115
+ ], HotelReservation.prototype, "pr_approval", void 0);
116
+ exports.HotelReservation = HotelReservation = __decorate([
117
+ (0, typeorm_1.Entity)({ name: 'hotel_reservations' }),
118
+ __metadata("design:paramtypes", [String, Number, String, String, Date, String, Date, String, Date, String, Number, String, String, String, Boolean, Boolean])
119
+ ], HotelReservation);
@@ -0,0 +1,44 @@
1
+ import { BaseModel } from './BaseModel';
2
+ export declare enum MealType {
3
+ BREAKFAST = "Breakfast",
4
+ LUNCH = "Lunch",
5
+ DINNER = "Dinner"
6
+ }
7
+ export declare enum ServiceTypes {
8
+ LAUNDRY = "Laundry",
9
+ TELEPHONE = "Telephone Service"
10
+ }
11
+ export declare enum HotelReservationStatus {
12
+ PENDING = "Pending",
13
+ APPROVED = "Approved",
14
+ REJECTED = "Rejected",
15
+ IN_PROGRESS = "In Progress"
16
+ }
17
+ export declare class HotelReservation extends BaseModel {
18
+ req_user_department_id: number | null;
19
+ req_user_section_id: number | null;
20
+ service_id: number | null;
21
+ sub_service_id: number | null;
22
+ service_type: string | null;
23
+ workflow_execution_id: string | null;
24
+ status: HotelReservationStatus;
25
+ user_id: number;
26
+ type_of_accommodation: string;
27
+ price: number;
28
+ meal: MealType;
29
+ service: ServiceTypes;
30
+ date_of_request: Date;
31
+ hotel_name: string;
32
+ check_in_date: Date;
33
+ check_in_time: string;
34
+ check_out_date: Date;
35
+ check_out_time: string;
36
+ number_of_guests: number;
37
+ description: string;
38
+ attachment_url: string;
39
+ requested_by: string;
40
+ visitor_name: string;
41
+ hr_approval: boolean;
42
+ pr_approval: boolean;
43
+ constructor(type_of_accommodation: string, price: number, meal: MealType, service: ServiceTypes, date_of_request: Date, hotel_name: string, check_in_date: Date, check_in_time: string, check_out_date: Date, check_out_time: string, number_of_guests: number, description: string, requested_by: string, visitor_name: string, user_id: number, status?: HotelReservationStatus, hr_approval?: boolean, pr_approval?: boolean, service_id?: number | null, sub_service_id?: number | null, service_type?: string | null, workflow_execution_id?: string | null, req_user_department_id?: number | null, req_user_section_id?: number | null);
44
+ }
@@ -0,0 +1,171 @@
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.HotelReservation = exports.HotelReservationStatus = exports.ServiceTypes = exports.MealType = void 0;
13
+ const typeorm_1 = require("typeorm");
14
+ const BaseModel_1 = require("./BaseModel");
15
+ var MealType;
16
+ (function (MealType) {
17
+ MealType["BREAKFAST"] = "Breakfast";
18
+ MealType["LUNCH"] = "Lunch";
19
+ MealType["DINNER"] = "Dinner";
20
+ })(MealType || (exports.MealType = MealType = {}));
21
+ var ServiceTypes;
22
+ (function (ServiceTypes) {
23
+ ServiceTypes["LAUNDRY"] = "Laundry";
24
+ ServiceTypes["TELEPHONE"] = "Telephone Service";
25
+ })(ServiceTypes || (exports.ServiceTypes = ServiceTypes = {}));
26
+ var HotelReservationStatus;
27
+ (function (HotelReservationStatus) {
28
+ HotelReservationStatus["PENDING"] = "Pending";
29
+ HotelReservationStatus["APPROVED"] = "Approved";
30
+ HotelReservationStatus["REJECTED"] = "Rejected";
31
+ HotelReservationStatus["IN_PROGRESS"] = "In Progress";
32
+ })(HotelReservationStatus || (exports.HotelReservationStatus = HotelReservationStatus = {}));
33
+ let HotelReservation = class HotelReservation extends BaseModel_1.BaseModel {
34
+ constructor(type_of_accommodation, price, meal, service, date_of_request, hotel_name, check_in_date, check_in_time, check_out_date, check_out_time, number_of_guests, description, requested_by, visitor_name, user_id, status = HotelReservationStatus.PENDING, hr_approval = false, pr_approval = false, service_id, sub_service_id, service_type, workflow_execution_id, req_user_department_id, req_user_section_id) {
35
+ super();
36
+ this.type_of_accommodation = type_of_accommodation;
37
+ this.price = price;
38
+ this.meal = meal;
39
+ this.service = service;
40
+ this.date_of_request = date_of_request;
41
+ this.hotel_name = hotel_name;
42
+ this.check_in_date = check_in_date;
43
+ this.check_in_time = check_in_time;
44
+ this.check_out_date = check_out_date;
45
+ this.check_out_time = check_out_time;
46
+ this.number_of_guests = number_of_guests;
47
+ this.description = description;
48
+ this.requested_by = requested_by;
49
+ this.visitor_name = visitor_name;
50
+ this.user_id = user_id;
51
+ this.status = status;
52
+ this.hr_approval = hr_approval;
53
+ this.pr_approval = pr_approval;
54
+ this.service_id = service_id ?? null;
55
+ this.sub_service_id = sub_service_id ?? null;
56
+ this.service_type = service_type ?? null;
57
+ this.workflow_execution_id = workflow_execution_id ?? null;
58
+ this.req_user_department_id = req_user_department_id ?? null;
59
+ this.req_user_section_id = req_user_section_id ?? null;
60
+ }
61
+ };
62
+ exports.HotelReservation = HotelReservation;
63
+ __decorate([
64
+ (0, typeorm_1.Column)({ type: 'int', nullable: true }),
65
+ __metadata("design:type", Object)
66
+ ], HotelReservation.prototype, "req_user_department_id", void 0);
67
+ __decorate([
68
+ (0, typeorm_1.Column)({ type: 'int', nullable: true }),
69
+ __metadata("design:type", Object)
70
+ ], HotelReservation.prototype, "req_user_section_id", void 0);
71
+ __decorate([
72
+ (0, typeorm_1.Column)({ type: 'int', nullable: true }),
73
+ __metadata("design:type", Object)
74
+ ], HotelReservation.prototype, "service_id", void 0);
75
+ __decorate([
76
+ (0, typeorm_1.Column)({ type: 'int', nullable: true }),
77
+ __metadata("design:type", Object)
78
+ ], HotelReservation.prototype, "sub_service_id", void 0);
79
+ __decorate([
80
+ (0, typeorm_1.Column)({ type: 'varchar', length: 20, nullable: true }),
81
+ __metadata("design:type", Object)
82
+ ], HotelReservation.prototype, "service_type", void 0);
83
+ __decorate([
84
+ (0, typeorm_1.Column)({ type: 'varchar', nullable: true }),
85
+ __metadata("design:type", Object)
86
+ ], HotelReservation.prototype, "workflow_execution_id", void 0);
87
+ __decorate([
88
+ (0, typeorm_1.Column)({
89
+ type: "enum",
90
+ enum: HotelReservationStatus,
91
+ default: HotelReservationStatus.PENDING,
92
+ nullable: false,
93
+ }),
94
+ __metadata("design:type", String)
95
+ ], HotelReservation.prototype, "status", void 0);
96
+ __decorate([
97
+ (0, typeorm_1.Column)({ nullable: false }),
98
+ __metadata("design:type", Number)
99
+ ], HotelReservation.prototype, "user_id", void 0);
100
+ __decorate([
101
+ (0, typeorm_1.Column)({ type: 'varchar', length: 50 }),
102
+ __metadata("design:type", String)
103
+ ], HotelReservation.prototype, "type_of_accommodation", void 0);
104
+ __decorate([
105
+ (0, typeorm_1.Column)({ type: 'decimal', precision: 10, scale: 2, nullable: false }),
106
+ __metadata("design:type", Number)
107
+ ], HotelReservation.prototype, "price", void 0);
108
+ __decorate([
109
+ (0, typeorm_1.Column)({ type: 'enum', enum: MealType, nullable: false, }),
110
+ __metadata("design:type", String)
111
+ ], HotelReservation.prototype, "meal", void 0);
112
+ __decorate([
113
+ (0, typeorm_1.Column)({ type: 'enum', enum: ServiceTypes, nullable: false, }),
114
+ __metadata("design:type", String)
115
+ ], HotelReservation.prototype, "service", void 0);
116
+ __decorate([
117
+ (0, typeorm_1.Column)({ type: 'timestamptz', nullable: false }),
118
+ __metadata("design:type", Date)
119
+ ], HotelReservation.prototype, "date_of_request", void 0);
120
+ __decorate([
121
+ (0, typeorm_1.Column)({ type: 'varchar', length: 100, nullable: false }),
122
+ __metadata("design:type", String)
123
+ ], HotelReservation.prototype, "hotel_name", void 0);
124
+ __decorate([
125
+ (0, typeorm_1.Column)({ type: 'date', nullable: false }),
126
+ __metadata("design:type", Date)
127
+ ], HotelReservation.prototype, "check_in_date", void 0);
128
+ __decorate([
129
+ (0, typeorm_1.Column)({ type: 'time', nullable: false }),
130
+ __metadata("design:type", String)
131
+ ], HotelReservation.prototype, "check_in_time", void 0);
132
+ __decorate([
133
+ (0, typeorm_1.Column)({ type: 'date', nullable: false }),
134
+ __metadata("design:type", Date)
135
+ ], HotelReservation.prototype, "check_out_date", void 0);
136
+ __decorate([
137
+ (0, typeorm_1.Column)({ type: 'time', nullable: false }),
138
+ __metadata("design:type", String)
139
+ ], HotelReservation.prototype, "check_out_time", void 0);
140
+ __decorate([
141
+ (0, typeorm_1.Column)({ type: 'int', nullable: false }),
142
+ __metadata("design:type", Number)
143
+ ], HotelReservation.prototype, "number_of_guests", void 0);
144
+ __decorate([
145
+ (0, typeorm_1.Column)({ type: 'text', nullable: true }),
146
+ __metadata("design:type", String)
147
+ ], HotelReservation.prototype, "description", void 0);
148
+ __decorate([
149
+ (0, typeorm_1.Column)({ type: 'text', nullable: false }),
150
+ __metadata("design:type", String)
151
+ ], HotelReservation.prototype, "attachment_url", void 0);
152
+ __decorate([
153
+ (0, typeorm_1.Column)({ type: 'varchar', length: 100, nullable: false }),
154
+ __metadata("design:type", String)
155
+ ], HotelReservation.prototype, "requested_by", void 0);
156
+ __decorate([
157
+ (0, typeorm_1.Column)({ type: 'varchar', length: 100, nullable: false }),
158
+ __metadata("design:type", String)
159
+ ], HotelReservation.prototype, "visitor_name", void 0);
160
+ __decorate([
161
+ (0, typeorm_1.Column)({ type: 'boolean', default: false }),
162
+ __metadata("design:type", Boolean)
163
+ ], HotelReservation.prototype, "hr_approval", void 0);
164
+ __decorate([
165
+ (0, typeorm_1.Column)({ type: 'boolean', default: false }),
166
+ __metadata("design:type", Boolean)
167
+ ], HotelReservation.prototype, "pr_approval", void 0);
168
+ exports.HotelReservation = HotelReservation = __decorate([
169
+ (0, typeorm_1.Entity)({ name: 'hotelreservations' }),
170
+ __metadata("design:paramtypes", [String, Number, String, String, Date, String, Date, String, Date, String, Number, String, String, String, Number, String, Boolean, Boolean, Object, Object, Object, Object, Object, Object])
171
+ ], HotelReservation);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@platform-modules/civil-aviation-authority",
3
- "version": "2.0.40",
3
+ "version": "2.0.42",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "scripts": {
@@ -47,6 +47,11 @@ import { VpnWorkFlow } from './models/VpnWorkflowModel';
47
47
  import { VpnRequestAttachment } from './models/VpnRequestAttachmentModel';
48
48
  import { VpnRequestChat } from './models/VpnRequestChatModel';
49
49
 
50
+ import { HotelReservation } from './models/HotelreservationModel'
51
+ import { HotelApprovalDetails } from './models/HotelApprovalModel';
52
+ import { HotelWorkFlow } from './models/HotelWorkFlowModel';
53
+ import { HotelRequestChat } from './models/HotelChatModel';
54
+ import { HotelRequestAttachment } from './models/HotelAttachedModel';
50
55
 
51
56
  export const AppDataSource = new DataSource({
52
57
  type: 'postgres',
@@ -100,6 +105,11 @@ export const AppDataSource = new DataSource({
100
105
  VpnApprovalDetails,
101
106
  VpnWorkFlow,
102
107
  VpnRequestAttachment,
103
- VpnRequestChat
108
+ VpnRequestChat,
109
+ HotelReservation,
110
+ HotelApprovalDetails,
111
+ HotelWorkFlow,
112
+ HotelRequestChat,
113
+ HotelRequestAttachment
104
114
  ],
105
115
  });
package/src/index.ts CHANGED
@@ -42,3 +42,8 @@ export * from './models/VpnApprovalModel';
42
42
  export * from './models/VpnWorkflowModel';
43
43
  export * from './models/VpnRequestChatModel';
44
44
  export * from './models/VpnRequestAttachmentModel';
45
+ export * from './models/HotelreservationModel';
46
+ export * from './models/HotelApprovalModel';
47
+ export * from './models/HotelWorkFlowModel';
48
+ export * from './models/HotelChatModel';
49
+ export * from './models/HotelAttachedModel';
@@ -0,0 +1,79 @@
1
+ import { Column, Entity } from "typeorm";
2
+ import { BaseModel } from './BaseModel';
3
+
4
+
5
+ export enum HotelApprovalStatus {
6
+ PENDING = "Pending",
7
+ IN_PROGRESS = "In Progress",
8
+ APPROVED = "Approved",
9
+ REJECTED = "Rejected"
10
+ }
11
+
12
+ @Entity({ name: 'hotelapprovals' })
13
+
14
+ export class HotelApprovalDetails extends BaseModel {
15
+ @Column({ type: 'integer', nullable: false })
16
+ request_id: number;
17
+
18
+ @Column({ type: 'integer', nullable: true })
19
+ service_id: number | null;
20
+
21
+ @Column({ type: 'integer', nullable: true })
22
+ sub_service_id: number | null;
23
+
24
+ @Column({ type: 'integer', nullable: false })
25
+ level: number;
26
+
27
+ @Column({ type: 'integer', nullable: false })
28
+ approver_role_id: number;
29
+
30
+ @Column({ type: 'integer', nullable: true })
31
+ department_id: number | null;
32
+
33
+ @Column({ type: 'integer', nullable: true })
34
+ section_id: number | null;
35
+
36
+ @Column({ type: 'integer', nullable: true })
37
+ approver_user_id: number | null;
38
+
39
+ @Column({ type: 'integer', nullable: true })
40
+ delegate_user_id: number | null;
41
+
42
+ @Column({ type: 'integer', nullable: true })
43
+ approved_by: number | null;
44
+
45
+ @Column({ type: 'varchar', length: 500, nullable: true, default: '' })
46
+ comment: string;
47
+
48
+ @Column({ type: 'enum', enum: HotelApprovalStatus,default: HotelApprovalStatus.PENDING, nullable: false })
49
+ approval_status: HotelApprovalStatus;
50
+
51
+ constructor(
52
+ request_id: number,
53
+ approver_role_id: number,
54
+ comment: string,
55
+ approval_status: HotelApprovalStatus,
56
+ level: number,
57
+ department_id?: number | null,
58
+ section_id?: number | null,
59
+ approver_user_id?: number | null,
60
+ delegate_user_id?: number | null,
61
+ approved_by?: number | null,
62
+ service_id?: number,
63
+ sub_service_id?: number
64
+ ) {
65
+ super();
66
+ this.request_id = request_id;
67
+ this.service_id = service_id || null;
68
+ this.sub_service_id = sub_service_id || null;
69
+ this.approver_role_id = approver_role_id;
70
+ this.comment = comment;
71
+ this.approval_status = approval_status;
72
+ this.level = level;
73
+ this.department_id = department_id || null;
74
+ this.section_id = section_id || null;
75
+ this.approver_user_id = approver_user_id || null;
76
+ this.delegate_user_id = delegate_user_id || null;
77
+ this.approved_by = approved_by || null;
78
+ }
79
+ }
@@ -0,0 +1,54 @@
1
+ import { Column, Entity, ManyToOne, JoinColumn } from "typeorm";
2
+ import { BaseModel } from './BaseModel';
3
+
4
+
5
+ @Entity({ name: 'hotel_request_attachments' })
6
+ export class HotelRequestAttachment extends BaseModel {
7
+
8
+ @Column({ type: 'integer', nullable: false })
9
+ request_id: number;
10
+
11
+ @Column({ type: 'integer', nullable: true })
12
+ service_id: number | null;
13
+
14
+ @Column({ type: 'integer', nullable: true })
15
+ sub_service_id: number | null;
16
+
17
+ @Column({ type: 'varchar', length: 500, nullable: false })
18
+ file_url: string;
19
+
20
+ @Column({ type: 'varchar', length: 255, nullable: true })
21
+ file_name: string;
22
+
23
+ @Column({ type: 'varchar', length: 100, nullable: true })
24
+ file_type: string;
25
+
26
+ @Column({ type: 'bigint', nullable: true })
27
+ file_size: number | null;
28
+
29
+ @Column({ type: 'integer', nullable: true })
30
+ chat_id: number | null;
31
+
32
+
33
+ constructor(
34
+ request_id: number,
35
+ file_url: string,
36
+ file_name?: string,
37
+ file_type?: string,
38
+ file_size?: number,
39
+ service_id?: number,
40
+ sub_service_id?: number,
41
+ chat_id?: number
42
+ ) {
43
+ super();
44
+ this.request_id = request_id;
45
+ this.service_id = service_id || null;
46
+ this.sub_service_id = sub_service_id || null;
47
+ this.file_url = file_url;
48
+ this.file_name = file_name || '';
49
+ this.file_type = file_type || '';
50
+ this.file_size = file_size || null;
51
+ this.chat_id = chat_id || null;
52
+ }
53
+ }
54
+
@@ -0,0 +1,55 @@
1
+ import { Column, Entity } from "typeorm";
2
+ import { BaseModel } from './BaseModel';
3
+
4
+ export enum HotelMessageTypes {
5
+ TEXT = "text",
6
+ IMAGE = "image",
7
+ VIDEO = "video",
8
+ FILE = "file",
9
+ LINK = "link"
10
+ }
11
+
12
+ @Entity({ name: 'Hotel_request_chat' })
13
+ export class HotelRequestChat extends BaseModel {
14
+
15
+ @Column({ type: 'integer', nullable: false })
16
+ request_id: number;
17
+
18
+ @Column({ type: 'integer', nullable: true })
19
+ service_id: number | null;
20
+
21
+ @Column({ type: 'integer', nullable: true })
22
+ sub_service_id: number | null;
23
+
24
+ @Column({ type: 'integer', nullable: false })
25
+ user_id: number;
26
+
27
+ @Column({ type: 'text', nullable: false })
28
+ message: string;
29
+
30
+ @Column({
31
+ type: 'enum',
32
+ enum: HotelMessageTypes,
33
+ default: HotelMessageTypes.TEXT,
34
+ nullable: false
35
+ })
36
+ messageType: HotelMessageTypes;
37
+
38
+ constructor(
39
+ request_id: number,
40
+ user_id: number,
41
+ message: string,
42
+ service_id?: number,
43
+ sub_service_id?: number,
44
+ messageType?: HotelMessageTypes
45
+ ) {
46
+ super();
47
+ this.request_id = request_id;
48
+ this.service_id = service_id || null;
49
+ this.sub_service_id = sub_service_id || null;
50
+ this.user_id = user_id;
51
+ this.message = message;
52
+ this.messageType = messageType || HotelMessageTypes.TEXT;
53
+ }
54
+ }
55
+
@@ -0,0 +1,42 @@
1
+ import { Column, Entity } from "typeorm";
2
+ import { BaseModel } from './BaseModel';
3
+
4
+ export enum HotelWorkFlowStatus {
5
+ COMPLETED = "Completed",
6
+ NOT_YET_STARTED = "Not Yet Started",
7
+ PENDING = "Pending"
8
+ }
9
+
10
+ //This model is used to store the logistics workflow status and activity logs
11
+ @Entity({ name: 'hotel_workflows' })
12
+ export class HotelWorkFlow extends BaseModel {
13
+ @Column({ type: 'integer', 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: 'varchar', length: 500, nullable: false })
23
+ content: string;
24
+
25
+ @Column({ type: 'enum', enum: HotelWorkFlowStatus, default: HotelWorkFlowStatus.NOT_YET_STARTED, nullable: false })
26
+ status: HotelWorkFlowStatus;
27
+
28
+ constructor(
29
+ request_id: number,
30
+ content: string,
31
+ status: HotelWorkFlowStatus,
32
+ service_id?: number,
33
+ sub_service_id?: number
34
+ ) {
35
+ super();
36
+ this.request_id = request_id;
37
+ this.service_id = service_id || null;
38
+ this.sub_service_id = sub_service_id || null;
39
+ this.content = content;
40
+ this.status = status;
41
+ }
42
+ }
@@ -0,0 +1,159 @@
1
+ import { Entity, Column } from 'typeorm';
2
+ import { BaseModel } from './BaseModel';
3
+
4
+ export enum MealType {
5
+ BREAKFAST = "Breakfast",
6
+ LUNCH = "Lunch",
7
+ DINNER = "Dinner",
8
+ }
9
+
10
+ export enum ServiceTypes {
11
+ LAUNDRY = "Laundry",
12
+ TELEPHONE = "Telephone Service",
13
+ }
14
+
15
+ export enum HotelReservationStatus {
16
+ PENDING = "Pending",
17
+ APPROVED = "Approved",
18
+ REJECTED = "Rejected",
19
+ IN_PROGRESS = "In Progress"
20
+ }
21
+
22
+ @Entity({ name:'hotelreservations'})
23
+ export class HotelReservation extends BaseModel {
24
+ // Workflow fields (similar to IT Help Desk)
25
+ @Column({ type: 'int', nullable: true })
26
+ req_user_department_id: number | null;
27
+
28
+ @Column({ type: 'int', nullable: true })
29
+ req_user_section_id: number | null;
30
+
31
+ @Column({ type: 'int', nullable: true })
32
+ service_id: number | null;
33
+
34
+ @Column({ type: 'int', nullable: true })
35
+ sub_service_id: number | null;
36
+
37
+ @Column({ type: 'varchar', length: 20, nullable: true })
38
+ service_type: string | null; // 'internal' or 'external'
39
+
40
+ @Column({ type: 'varchar', nullable: true })
41
+ workflow_execution_id: string | null;
42
+
43
+ @Column({
44
+ type: "enum",
45
+ enum: HotelReservationStatus,
46
+ default: HotelReservationStatus.PENDING,
47
+ nullable: false,
48
+ })
49
+ status: HotelReservationStatus;
50
+
51
+ @Column({ nullable: false })
52
+ user_id: number;
53
+
54
+ // Hotel reservation specific fields
55
+ @Column({ type: 'varchar', length: 50 })
56
+ type_of_accommodation: string;
57
+
58
+ @Column({ type: 'decimal', precision: 10, scale: 2, nullable: false })
59
+ price: number;
60
+
61
+ @Column({ type: 'enum', enum: MealType, nullable: false, })
62
+ meal: MealType;
63
+
64
+ @Column({ type: 'enum', enum: ServiceTypes, nullable: false, })
65
+ service: ServiceTypes;
66
+
67
+ @Column({ type: 'timestamptz', nullable: false })
68
+ date_of_request: Date;
69
+
70
+ @Column({ type: 'varchar', length: 100, nullable: false })
71
+ hotel_name: string;
72
+
73
+ @Column({ type: 'date', nullable: false })
74
+ check_in_date: Date;
75
+
76
+ @Column({ type: 'time', nullable: false })
77
+ check_in_time: string;
78
+
79
+ @Column({ type: 'date', nullable: false })
80
+ check_out_date: Date;
81
+
82
+ @Column({ type: 'time', nullable: false })
83
+ check_out_time: string;
84
+
85
+ @Column({ type: 'int', nullable: false })
86
+ number_of_guests: number;
87
+
88
+ @Column({ type: 'text', nullable: true })
89
+ description: string;
90
+
91
+ @Column({ type: 'text', nullable: false })
92
+ attachment_url: string;
93
+
94
+ @Column({ type: 'varchar', length: 100, nullable: false })
95
+ requested_by: string;
96
+
97
+ @Column({ type: 'varchar', length: 100, nullable: false })
98
+ visitor_name: string;
99
+
100
+ @Column({ type: 'boolean', default: false })
101
+ hr_approval: boolean;
102
+
103
+ @Column({ type: 'boolean', default: false })
104
+ pr_approval: boolean;
105
+
106
+
107
+ constructor(
108
+ type_of_accommodation: string,
109
+ price: number,
110
+ meal: MealType,
111
+ service: ServiceTypes,
112
+ date_of_request: Date,
113
+ hotel_name: string,
114
+ check_in_date: Date,
115
+ check_in_time: string,
116
+ check_out_date: Date,
117
+ check_out_time: string,
118
+ number_of_guests: number,
119
+ description: string,
120
+ requested_by: string,
121
+ visitor_name: string,
122
+ user_id: number,
123
+ status: HotelReservationStatus = HotelReservationStatus.PENDING,
124
+ hr_approval: boolean = false,
125
+ pr_approval: boolean = false,
126
+ service_id?: number | null,
127
+ sub_service_id?: number | null,
128
+ service_type?: string | null,
129
+ workflow_execution_id?: string | null,
130
+ req_user_department_id?: number | null,
131
+ req_user_section_id?: number | null
132
+ ) {
133
+ super();
134
+ this.type_of_accommodation = type_of_accommodation;
135
+ this.price = price;
136
+ this.meal = meal;
137
+ this.service = service;
138
+ this.date_of_request = date_of_request;
139
+ this.hotel_name = hotel_name;
140
+ this.check_in_date = check_in_date;
141
+ this.check_in_time = check_in_time;
142
+ this.check_out_date = check_out_date;
143
+ this.check_out_time = check_out_time;
144
+ this.number_of_guests = number_of_guests;
145
+ this.description = description;
146
+ this.requested_by = requested_by;
147
+ this.visitor_name = visitor_name;
148
+ this.user_id = user_id;
149
+ this.status = status;
150
+ this.hr_approval = hr_approval;
151
+ this.pr_approval = pr_approval;
152
+ this.service_id = service_id ?? null;
153
+ this.sub_service_id = sub_service_id ?? null;
154
+ this.service_type = service_type ?? null;
155
+ this.workflow_execution_id = workflow_execution_id ?? null;
156
+ this.req_user_department_id = req_user_department_id ?? null;
157
+ this.req_user_section_id = req_user_section_id ?? null;
158
+ }
159
+ }