@platform-modules/civil-aviation-authority 2.0.27 → 2.0.28

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/.env +4 -10
  2. package/dist/data-source.js +10 -4
  3. package/dist/index.d.ts +5 -2
  4. package/dist/index.js +5 -2
  5. package/dist/models/HotelApprovalModel.d.ts +22 -0
  6. package/dist/models/HotelApprovalModel.js +91 -0
  7. package/dist/models/HotelAttachedModel.d.ts +12 -0
  8. package/dist/models/HotelAttachedModel.js +64 -0
  9. package/dist/models/HotelChatModel.d.ts +17 -0
  10. package/dist/models/HotelChatModel.js +67 -0
  11. package/dist/models/HotelWorkFlowModel.d.ts +14 -0
  12. package/dist/models/HotelWorkFlowModel.js +56 -0
  13. package/dist/models/HotelreservationModal.d.ts +30 -0
  14. package/dist/models/HotelreservationModal.js +119 -0
  15. package/dist/models/HotelreservationModel.d.ts +44 -0
  16. package/dist/models/HotelreservationModel.js +171 -0
  17. package/dist/models/LogisticsForeignVehicleModel.d.ts +6 -5
  18. package/dist/models/LogisticsForeignVehicleModel.js +7 -5
  19. package/dist/models/WorkflowTaskNames.d.ts +3 -12
  20. package/dist/models/WorkflowTaskNames.js +9 -28
  21. package/package.json +1 -1
  22. package/src/data-source.ts +10 -5
  23. package/src/index.ts +5 -2
  24. package/src/models/HotelApprovalModel.ts +78 -0
  25. package/src/models/HotelAttachedModel.ts +54 -0
  26. package/src/models/HotelChatModel.ts +55 -0
  27. package/src/models/HotelWorkFlowModel.ts +42 -0
  28. package/src/models/HotelreservationModel.ts +159 -0
  29. package/src/models/LogisticsForeignVehicleModel.ts +10 -8
  30. package/src/models/WorkflowTaskNames.ts +8 -27
  31. package/dist/models/PortalFeedbackModel.d.ts +0 -8
  32. package/dist/models/PortalFeedbackModel.js +0 -44
  33. package/dist/models/feedbackModel.d.ts +0 -16
  34. package/dist/models/feedbackModel.js +0 -61
  35. package/src/models/PortalFeedbackModel.ts +0 -34
  36. package/src/models/feedbackModel.ts +0 -50
@@ -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)({ nullable: true }),
73
+ __metadata("design:type", Object)
74
+ ], HotelReservation.prototype, "service_id", void 0);
75
+ __decorate([
76
+ (0, typeorm_1.Column)({ 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);
@@ -1,8 +1,9 @@
1
1
  import { BaseModel } from './BaseModel';
2
2
  export declare enum Foreign_Purpose_of_Travel {
3
- SITE = "Site Visit",
4
- AIRPORT = "Airport Duty",
5
- OFFICIAL = "Official Meeting",
3
+ AIRPORT_PICKUP = "Airport Pickup/Drop-off",
4
+ OFFICIAL_MEETING = "Official Meeting",
5
+ SITE_VISIT = "Site Visit",
6
+ CONFERENCE = "Conference/Event",
6
7
  OTHER = "Other"
7
8
  }
8
9
  export declare enum Foreign_Vehicle_Required_Location {
@@ -27,7 +28,7 @@ export declare class LogisticsForeignVehicleRequests extends BaseModel {
27
28
  sub_service_id: number;
28
29
  user_id: number;
29
30
  number_of_passengers: number;
30
- purpose_of_travel: string;
31
+ purpose_of_travel: Foreign_Purpose_of_Travel;
31
32
  vehicle_required_location: Foreign_Vehicle_Required_Location;
32
33
  employee_id_passport: string | null;
33
34
  contact_number: string;
@@ -38,5 +39,5 @@ export declare class LogisticsForeignVehicleRequests extends BaseModel {
38
39
  special_instructions: string | null;
39
40
  status: Foreign_Request_Status;
40
41
  workflow_execution_id: string | null;
41
- constructor(req_user_department_id: number | null, req_user_section_id: number | null, service_id: number, sub_service_id: number, user_id: number, number_of_passengers: number, purpose_of_travel: string, vehicle_required_location: Foreign_Vehicle_Required_Location, contact_number: string, request_type: Foreign_Request_Type, destination_city: string, arrival_departure_datetime: Date, status: Foreign_Request_Status, employee_id_passport?: string | null, origin_city?: string | null, special_instructions?: string | null, workflow_execution_id?: string | null);
42
+ constructor(req_user_department_id: number | null, req_user_section_id: number | null, service_id: number, sub_service_id: number, user_id: number, number_of_passengers: number, purpose_of_travel: Foreign_Purpose_of_Travel, vehicle_required_location: Foreign_Vehicle_Required_Location, contact_number: string, request_type: Foreign_Request_Type, destination_city: string, arrival_departure_datetime: Date, status: Foreign_Request_Status, employee_id_passport?: string | null, origin_city?: string | null, special_instructions?: string | null, workflow_execution_id?: string | null);
42
43
  }
@@ -14,9 +14,10 @@ const typeorm_1 = require("typeorm");
14
14
  const BaseModel_1 = require("./BaseModel");
15
15
  var Foreign_Purpose_of_Travel;
16
16
  (function (Foreign_Purpose_of_Travel) {
17
- Foreign_Purpose_of_Travel["SITE"] = "Site Visit";
18
- Foreign_Purpose_of_Travel["AIRPORT"] = "Airport Duty";
19
- Foreign_Purpose_of_Travel["OFFICIAL"] = "Official Meeting";
17
+ Foreign_Purpose_of_Travel["AIRPORT_PICKUP"] = "Airport Pickup/Drop-off";
18
+ Foreign_Purpose_of_Travel["OFFICIAL_MEETING"] = "Official Meeting";
19
+ Foreign_Purpose_of_Travel["SITE_VISIT"] = "Site Visit";
20
+ Foreign_Purpose_of_Travel["CONFERENCE"] = "Conference/Event";
20
21
  Foreign_Purpose_of_Travel["OTHER"] = "Other";
21
22
  })(Foreign_Purpose_of_Travel || (exports.Foreign_Purpose_of_Travel = Foreign_Purpose_of_Travel = {}));
22
23
  var Foreign_Vehicle_Required_Location;
@@ -86,8 +87,9 @@ __decorate([
86
87
  ], LogisticsForeignVehicleRequests.prototype, "number_of_passengers", void 0);
87
88
  __decorate([
88
89
  (0, typeorm_1.Column)({
89
- type: 'varchar',
90
- default: 'Other',
90
+ type: "enum",
91
+ enum: Foreign_Purpose_of_Travel,
92
+ default: Foreign_Purpose_of_Travel.OTHER,
91
93
  nullable: false,
92
94
  }),
93
95
  __metadata("design:type", String)
@@ -1,17 +1,8 @@
1
1
  import { BaseModel } from './BaseModel';
2
- export declare enum TaskType {
3
- SIMPLE = "SIMPLE",
4
- HUMAN = "HUMAN"
5
- }
6
- export declare enum CategoryType {
7
- CREATE = "CREATE",
8
- APPROVAL = "APPROVAL",
9
- NOTIFICATION = "NOTIFICATION"
10
- }
11
2
  export declare class WorkflowTaskNames extends BaseModel {
12
3
  name: string;
4
+ task_id: number;
13
5
  description: string;
14
- task_type: TaskType;
15
- category: CategoryType;
16
- constructor(name: string, description: string, task_type: TaskType, category: CategoryType);
6
+ task_type: string;
7
+ constructor(name: string, task_id: number, description: string, task_type: string);
17
8
  }
@@ -9,27 +9,16 @@ var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.WorkflowTaskNames = exports.CategoryType = exports.TaskType = void 0;
12
+ exports.WorkflowTaskNames = void 0;
13
13
  const typeorm_1 = require("typeorm");
14
14
  const BaseModel_1 = require("./BaseModel");
15
- var TaskType;
16
- (function (TaskType) {
17
- TaskType["SIMPLE"] = "SIMPLE";
18
- TaskType["HUMAN"] = "HUMAN";
19
- })(TaskType || (exports.TaskType = TaskType = {}));
20
- var CategoryType;
21
- (function (CategoryType) {
22
- CategoryType["CREATE"] = "CREATE";
23
- CategoryType["APPROVAL"] = "APPROVAL";
24
- CategoryType["NOTIFICATION"] = "NOTIFICATION";
25
- })(CategoryType || (exports.CategoryType = CategoryType = {}));
26
15
  let WorkflowTaskNames = class WorkflowTaskNames extends BaseModel_1.BaseModel {
27
- constructor(name, description, task_type, category) {
16
+ constructor(name, task_id, description, task_type) {
28
17
  super();
29
18
  this.name = name;
19
+ this.task_id = task_id;
30
20
  this.description = description;
31
21
  this.task_type = task_type;
32
- this.category = category;
33
22
  }
34
23
  };
35
24
  exports.WorkflowTaskNames = WorkflowTaskNames;
@@ -37,27 +26,19 @@ __decorate([
37
26
  (0, typeorm_1.Column)({ type: 'varchar', length: 100, nullable: false }),
38
27
  __metadata("design:type", String)
39
28
  ], WorkflowTaskNames.prototype, "name", void 0);
29
+ __decorate([
30
+ (0, typeorm_1.Column)({ type: 'integer', nullable: false }),
31
+ __metadata("design:type", Number)
32
+ ], WorkflowTaskNames.prototype, "task_id", void 0);
40
33
  __decorate([
41
34
  (0, typeorm_1.Column)({ type: 'varchar', length: 200, nullable: true }),
42
35
  __metadata("design:type", String)
43
36
  ], WorkflowTaskNames.prototype, "description", void 0);
44
37
  __decorate([
45
- (0, typeorm_1.Column)({
46
- type: 'enum',
47
- enum: TaskType,
48
- nullable: true
49
- }),
38
+ (0, typeorm_1.Column)({ type: 'varchar', length: 200, nullable: true }),
50
39
  __metadata("design:type", String)
51
40
  ], WorkflowTaskNames.prototype, "task_type", void 0);
52
- __decorate([
53
- (0, typeorm_1.Column)({
54
- type: 'enum',
55
- enum: CategoryType,
56
- nullable: true
57
- }),
58
- __metadata("design:type", String)
59
- ], WorkflowTaskNames.prototype, "category", void 0);
60
41
  exports.WorkflowTaskNames = WorkflowTaskNames = __decorate([
61
42
  (0, typeorm_1.Entity)({ name: 'workflow_task_names' }),
62
- __metadata("design:paramtypes", [String, String, String, String])
43
+ __metadata("design:paramtypes", [String, Number, String, String])
63
44
  ], WorkflowTaskNames);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@platform-modules/civil-aviation-authority",
3
- "version": "2.0.27",
3
+ "version": "2.0.28",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "scripts": {
@@ -39,9 +39,11 @@ import { LogisticsRequestAttachment } from './models/LogisticsAttachmentModel';
39
39
  import { LogisticsWorkFlow } from './models/LogisticsWorkflowModel';
40
40
  import { ImportantLinks } from './models/importantLinksModel';
41
41
  import { DelegateSettings } from './models/DelegateSettingsModel';
42
- import { Feedback } from './models/feedbackModel';
43
- import { PortalFeedback } from './models/PortalFeedbackModel';
44
-
42
+ import { HotelReservation } from './models/HotelreservationModel'
43
+ import { HotelApprovalDetails } from './models/HotelApprovalModel';
44
+ import { HotelWorkFlow } from './models/HotelWorkFlowModel';
45
+ import { HotelRequestChat } from './models/HotelChatModel';
46
+ import { HotelRequestAttachment } from './models/HotelAttachedModel';
45
47
 
46
48
  export const AppDataSource = new DataSource({
47
49
  type: 'postgres',
@@ -89,7 +91,10 @@ export const AppDataSource = new DataSource({
89
91
  LogisticsWorkFlow,
90
92
  ImportantLinks,
91
93
  DelegateSettings,
92
- Feedback,
93
- PortalFeedback
94
+ HotelReservation,
95
+ HotelApprovalDetails,
96
+ HotelWorkFlow,
97
+ HotelRequestChat,
98
+ HotelRequestAttachment
94
99
  ],
95
100
  });
package/src/index.ts CHANGED
@@ -35,5 +35,8 @@ export * from './models/LogisticsAttachmentModel';
35
35
  export * from './models/importantLinksModel';
36
36
  export * from './models/LogisticsWorkflowModel';
37
37
  export * from './models/DelegateSettingsModel';
38
- export * from './models/feedbackModel';
39
- export * from './models/PortalFeedbackModel';
38
+ export * from './models/HotelreservationModel';
39
+ export * from './models/HotelApprovalModel';
40
+ export * from './models/HotelWorkFlowModel';
41
+ export * from './models/HotelChatModel';
42
+ export * from './models/HotelAttachedModel';
@@ -0,0 +1,78 @@
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: 'hotel_approvals' })
13
+ export class HotelApprovalDetails 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: false })
27
+ approver_role_id: number;
28
+
29
+ @Column({ type: 'integer', nullable: true })
30
+ department_id: number | null;
31
+
32
+ @Column({ type: 'integer', nullable: true })
33
+ section_id: number | null;
34
+
35
+ @Column({ type: 'integer', nullable: true })
36
+ approver_user_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: 500, nullable: true, default: '' })
45
+ comment: string;
46
+
47
+ @Column({ type: 'enum', enum: HotelApprovalStatus,default: HotelApprovalStatus.PENDING, nullable: false })
48
+ approval_status: HotelApprovalStatus;
49
+
50
+ constructor(
51
+ request_id: number,
52
+ approver_role_id: number,
53
+ comment: string,
54
+ approval_status: HotelApprovalStatus,
55
+ level: number,
56
+ department_id?: number | null,
57
+ section_id?: number | null,
58
+ approver_user_id?: number | null,
59
+ delegate_user_id?: number | null,
60
+ approved_by?: number | null,
61
+ service_id?: number,
62
+ sub_service_id?: number
63
+ ) {
64
+ super();
65
+ this.request_id = request_id;
66
+ this.service_id = service_id || null;
67
+ this.sub_service_id = sub_service_id || null;
68
+ this.approver_role_id = approver_role_id;
69
+ this.comment = comment;
70
+ this.approval_status = approval_status;
71
+ this.level = level;
72
+ this.department_id = department_id || null;
73
+ this.section_id = section_id || null;
74
+ this.approver_user_id = approver_user_id || null;
75
+ this.delegate_user_id = delegate_user_id || null;
76
+ this.approved_by = approved_by || null;
77
+ }
78
+ }
@@ -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
+ }