@platform-modules/civil-aviation-authority 2.3.178 → 2.3.180

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.
@@ -0,0 +1,175 @@
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.RespondToEnquiriesRequest = exports.RespondToEnquiriesEnquiryCategory = exports.RespondToEnquiriesRequestStatus = void 0;
13
+ const typeorm_1 = require("typeorm");
14
+ const BaseModel_1 = require("./BaseModel");
15
+ var RespondToEnquiriesRequestStatus;
16
+ (function (RespondToEnquiriesRequestStatus) {
17
+ RespondToEnquiriesRequestStatus["PENDING"] = "Pending";
18
+ RespondToEnquiriesRequestStatus["ASSIGNED"] = "Assigned";
19
+ RespondToEnquiriesRequestStatus["IN_PROGRESS"] = "In Progress";
20
+ RespondToEnquiriesRequestStatus["COMPLETED"] = "Completed";
21
+ RespondToEnquiriesRequestStatus["APPROVED"] = "Approved";
22
+ RespondToEnquiriesRequestStatus["REJECTED"] = "Rejected";
23
+ })(RespondToEnquiriesRequestStatus || (exports.RespondToEnquiriesRequestStatus = RespondToEnquiriesRequestStatus = {}));
24
+ var RespondToEnquiriesEnquiryCategory;
25
+ (function (RespondToEnquiriesEnquiryCategory) {
26
+ RespondToEnquiriesEnquiryCategory["GENERAL"] = "general";
27
+ RespondToEnquiriesEnquiryCategory["CANCELLED_TENDER"] = "cancelled_tender";
28
+ RespondToEnquiriesEnquiryCategory["REFLOATED_TENDER"] = "refloated_tender";
29
+ })(RespondToEnquiriesEnquiryCategory || (exports.RespondToEnquiriesEnquiryCategory = RespondToEnquiriesEnquiryCategory = {}));
30
+ let RespondToEnquiriesRequest = class RespondToEnquiriesRequest extends BaseModel_1.BaseModel {
31
+ constructor(user_id, title_of_enquiry, description, date_of_submission, phone, status = RespondToEnquiriesRequestStatus.PENDING, service_id, sub_service_id, req_user_department_id, req_user_section_id, req_user_position_id, reviewer_user_id, assigned_to_user_id, assigned_at, workflow_execution_id, request_id, enquiry_category, tender_date_of_submission, tender_phone, budget_code, estimated_cost, implementation_period, requesting_entity, relevant_department_id) {
32
+ super();
33
+ this.user_id = user_id;
34
+ this.title_of_enquiry = title_of_enquiry;
35
+ this.description = description;
36
+ this.date_of_submission = date_of_submission;
37
+ this.phone = phone;
38
+ this.status = status;
39
+ this.service_id = service_id || null;
40
+ this.sub_service_id = sub_service_id || null;
41
+ this.req_user_department_id = req_user_department_id || null;
42
+ this.req_user_section_id = req_user_section_id || null;
43
+ this.req_user_position_id = req_user_position_id || null;
44
+ this.reviewer_user_id = reviewer_user_id || null;
45
+ this.assigned_to_user_id = assigned_to_user_id || null;
46
+ this.assigned_at = assigned_at || null;
47
+ this.workflow_execution_id = workflow_execution_id || null;
48
+ this.reference_number = null;
49
+ this.request_id = request_id || null;
50
+ this.enquiry_category = enquiry_category ?? RespondToEnquiriesEnquiryCategory.GENERAL;
51
+ this.tender_date_of_submission = tender_date_of_submission ?? null;
52
+ this.tender_phone = tender_phone ?? null;
53
+ this.budget_code = budget_code ?? null;
54
+ this.estimated_cost = estimated_cost ?? null;
55
+ this.implementation_period = implementation_period ?? null;
56
+ this.requesting_entity = requesting_entity ?? null;
57
+ this.relevant_department_id = relevant_department_id ?? null;
58
+ }
59
+ };
60
+ exports.RespondToEnquiriesRequest = RespondToEnquiriesRequest;
61
+ __decorate([
62
+ (0, typeorm_1.Column)({ type: "integer", nullable: true }),
63
+ __metadata("design:type", Object)
64
+ ], RespondToEnquiriesRequest.prototype, "req_user_department_id", void 0);
65
+ __decorate([
66
+ (0, typeorm_1.Column)({ type: "integer", nullable: true }),
67
+ __metadata("design:type", Object)
68
+ ], RespondToEnquiriesRequest.prototype, "req_user_section_id", void 0);
69
+ __decorate([
70
+ (0, typeorm_1.Column)({ type: "integer", nullable: true }),
71
+ __metadata("design:type", Object)
72
+ ], RespondToEnquiriesRequest.prototype, "req_user_position_id", void 0);
73
+ __decorate([
74
+ (0, typeorm_1.Column)({ type: "integer", nullable: true }),
75
+ __metadata("design:type", Object)
76
+ ], RespondToEnquiriesRequest.prototype, "service_id", void 0);
77
+ __decorate([
78
+ (0, typeorm_1.Column)({ type: "integer", nullable: true }),
79
+ __metadata("design:type", Object)
80
+ ], RespondToEnquiriesRequest.prototype, "sub_service_id", void 0);
81
+ __decorate([
82
+ (0, typeorm_1.Column)({ type: "integer", nullable: false }),
83
+ __metadata("design:type", Number)
84
+ ], RespondToEnquiriesRequest.prototype, "user_id", void 0);
85
+ __decorate([
86
+ (0, typeorm_1.Column)({ type: "text", nullable: false }),
87
+ __metadata("design:type", String)
88
+ ], RespondToEnquiriesRequest.prototype, "description", void 0);
89
+ __decorate([
90
+ (0, typeorm_1.Column)({
91
+ type: "enum",
92
+ enum: RespondToEnquiriesRequestStatus,
93
+ default: RespondToEnquiriesRequestStatus.PENDING,
94
+ nullable: false
95
+ }),
96
+ __metadata("design:type", String)
97
+ ], RespondToEnquiriesRequest.prototype, "status", void 0);
98
+ __decorate([
99
+ (0, typeorm_1.Column)({ type: "integer", nullable: true }),
100
+ __metadata("design:type", Object)
101
+ ], RespondToEnquiriesRequest.prototype, "reviewer_user_id", void 0);
102
+ __decorate([
103
+ (0, typeorm_1.Column)({ type: "integer", nullable: true }),
104
+ __metadata("design:type", Object)
105
+ ], RespondToEnquiriesRequest.prototype, "assigned_to_user_id", void 0);
106
+ __decorate([
107
+ (0, typeorm_1.Column)({ type: "timestamp", nullable: true }),
108
+ __metadata("design:type", Object)
109
+ ], RespondToEnquiriesRequest.prototype, "assigned_at", void 0);
110
+ __decorate([
111
+ (0, typeorm_1.Column)({ type: "varchar", length: 255, nullable: true }),
112
+ __metadata("design:type", Object)
113
+ ], RespondToEnquiriesRequest.prototype, "workflow_execution_id", void 0);
114
+ __decorate([
115
+ (0, typeorm_1.Column)({ type: "varchar", length: 255, nullable: true }),
116
+ __metadata("design:type", Object)
117
+ ], RespondToEnquiriesRequest.prototype, "reference_number", void 0);
118
+ __decorate([
119
+ (0, typeorm_1.Column)({ type: "varchar", length: 500, nullable: false }),
120
+ __metadata("design:type", String)
121
+ ], RespondToEnquiriesRequest.prototype, "title_of_enquiry", void 0);
122
+ __decorate([
123
+ (0, typeorm_1.Column)({ type: "varchar", length: 100, nullable: true }),
124
+ __metadata("design:type", Object)
125
+ ], RespondToEnquiriesRequest.prototype, "request_id", void 0);
126
+ __decorate([
127
+ (0, typeorm_1.Column)({ type: "date", nullable: false }),
128
+ __metadata("design:type", Date)
129
+ ], RespondToEnquiriesRequest.prototype, "date_of_submission", void 0);
130
+ __decorate([
131
+ (0, typeorm_1.Column)({ type: "varchar", length: 30, nullable: false }),
132
+ __metadata("design:type", String)
133
+ ], RespondToEnquiriesRequest.prototype, "phone", void 0);
134
+ __decorate([
135
+ (0, typeorm_1.Column)({
136
+ type: "enum",
137
+ enum: RespondToEnquiriesEnquiryCategory,
138
+ default: RespondToEnquiriesEnquiryCategory.GENERAL,
139
+ nullable: false,
140
+ enumName: "respond_to_enquiries_category_en"
141
+ }),
142
+ __metadata("design:type", String)
143
+ ], RespondToEnquiriesRequest.prototype, "enquiry_category", void 0);
144
+ __decorate([
145
+ (0, typeorm_1.Column)({ type: "date", nullable: true }),
146
+ __metadata("design:type", Object)
147
+ ], RespondToEnquiriesRequest.prototype, "tender_date_of_submission", void 0);
148
+ __decorate([
149
+ (0, typeorm_1.Column)({ type: "varchar", length: 30, nullable: true }),
150
+ __metadata("design:type", Object)
151
+ ], RespondToEnquiriesRequest.prototype, "tender_phone", void 0);
152
+ __decorate([
153
+ (0, typeorm_1.Column)({ type: "varchar", length: 100, nullable: true }),
154
+ __metadata("design:type", Object)
155
+ ], RespondToEnquiriesRequest.prototype, "budget_code", void 0);
156
+ __decorate([
157
+ (0, typeorm_1.Column)({ type: "decimal", precision: 18, scale: 2, nullable: true }),
158
+ __metadata("design:type", Object)
159
+ ], RespondToEnquiriesRequest.prototype, "estimated_cost", void 0);
160
+ __decorate([
161
+ (0, typeorm_1.Column)({ type: "varchar", length: 255, nullable: true }),
162
+ __metadata("design:type", Object)
163
+ ], RespondToEnquiriesRequest.prototype, "implementation_period", void 0);
164
+ __decorate([
165
+ (0, typeorm_1.Column)({ type: "varchar", length: 500, nullable: true }),
166
+ __metadata("design:type", Object)
167
+ ], RespondToEnquiriesRequest.prototype, "requesting_entity", void 0);
168
+ __decorate([
169
+ (0, typeorm_1.Column)({ type: "integer", nullable: true }),
170
+ __metadata("design:type", Object)
171
+ ], RespondToEnquiriesRequest.prototype, "relevant_department_id", void 0);
172
+ exports.RespondToEnquiriesRequest = RespondToEnquiriesRequest = __decorate([
173
+ (0, typeorm_1.Entity)({ name: "respond_to_enquiries_requests" }),
174
+ __metadata("design:paramtypes", [Number, String, String, Date, String, String, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, String, Object, Object, Object, Object, Object, Object, Object])
175
+ ], RespondToEnquiriesRequest);
@@ -0,0 +1,19 @@
1
+ import { BaseModel } from "./BaseModel";
2
+ export declare enum RespondToEnquiriesWorkFlowStatus {
3
+ COMPLETED = "Completed",
4
+ NOT_YET_STARTED = "Not Yet Started",
5
+ PENDING = "Pending",
6
+ REJECTED = "Rejected"
7
+ }
8
+ export declare class RespondToEnquiriesWorkFlow 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: RespondToEnquiriesWorkFlowStatus;
18
+ constructor(request_id: number, content: string, status: RespondToEnquiriesWorkFlowStatus, 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,82 @@
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.RespondToEnquiriesWorkFlow = exports.RespondToEnquiriesWorkFlowStatus = void 0;
13
+ const typeorm_1 = require("typeorm");
14
+ const BaseModel_1 = require("./BaseModel");
15
+ var RespondToEnquiriesWorkFlowStatus;
16
+ (function (RespondToEnquiriesWorkFlowStatus) {
17
+ RespondToEnquiriesWorkFlowStatus["COMPLETED"] = "Completed";
18
+ RespondToEnquiriesWorkFlowStatus["NOT_YET_STARTED"] = "Not Yet Started";
19
+ RespondToEnquiriesWorkFlowStatus["PENDING"] = "Pending";
20
+ RespondToEnquiriesWorkFlowStatus["REJECTED"] = "Rejected";
21
+ })(RespondToEnquiriesWorkFlowStatus || (exports.RespondToEnquiriesWorkFlowStatus = RespondToEnquiriesWorkFlowStatus = {}));
22
+ let RespondToEnquiriesWorkFlow = class RespondToEnquiriesWorkFlow 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.RespondToEnquiriesWorkFlow = RespondToEnquiriesWorkFlow;
37
+ __decorate([
38
+ (0, typeorm_1.Column)({ type: "int", nullable: false }),
39
+ __metadata("design:type", Number)
40
+ ], RespondToEnquiriesWorkFlow.prototype, "request_id", void 0);
41
+ __decorate([
42
+ (0, typeorm_1.Column)({ type: "integer", nullable: true }),
43
+ __metadata("design:type", Object)
44
+ ], RespondToEnquiriesWorkFlow.prototype, "service_id", void 0);
45
+ __decorate([
46
+ (0, typeorm_1.Column)({ type: "integer", nullable: true }),
47
+ __metadata("design:type", Object)
48
+ ], RespondToEnquiriesWorkFlow.prototype, "sub_service_id", void 0);
49
+ __decorate([
50
+ (0, typeorm_1.Column)({ type: "int", nullable: true }),
51
+ __metadata("design:type", Object)
52
+ ], RespondToEnquiriesWorkFlow.prototype, "order", void 0);
53
+ __decorate([
54
+ (0, typeorm_1.Column)({ type: "varchar", length: 255, nullable: false }),
55
+ __metadata("design:type", String)
56
+ ], RespondToEnquiriesWorkFlow.prototype, "content", void 0);
57
+ __decorate([
58
+ (0, typeorm_1.Column)({ type: "integer", nullable: true }),
59
+ __metadata("design:type", Object)
60
+ ], RespondToEnquiriesWorkFlow.prototype, "approver_role_id", void 0);
61
+ __decorate([
62
+ (0, typeorm_1.Column)({ type: "integer", nullable: true }),
63
+ __metadata("design:type", Object)
64
+ ], RespondToEnquiriesWorkFlow.prototype, "approver_user_id", void 0);
65
+ __decorate([
66
+ (0, typeorm_1.Column)({ type: "integer", nullable: true }),
67
+ __metadata("design:type", Object)
68
+ ], RespondToEnquiriesWorkFlow.prototype, "approved_by", void 0);
69
+ __decorate([
70
+ (0, typeorm_1.Column)({
71
+ type: "enum",
72
+ enum: RespondToEnquiriesWorkFlowStatus,
73
+ default: RespondToEnquiriesWorkFlowStatus.PENDING,
74
+ nullable: false,
75
+ enumName: "respond_to_enquiries_workflow_status_en"
76
+ }),
77
+ __metadata("design:type", String)
78
+ ], RespondToEnquiriesWorkFlow.prototype, "status", void 0);
79
+ exports.RespondToEnquiriesWorkFlow = RespondToEnquiriesWorkFlow = __decorate([
80
+ (0, typeorm_1.Entity)({ name: "respond_to_enquiries_work_flows" }),
81
+ __metadata("design:paramtypes", [Number, String, String, Object, Object, Number, Object, Object, Object])
82
+ ], RespondToEnquiriesWorkFlow);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@platform-modules/civil-aviation-authority",
3
- "version": "2.3.178",
3
+ "version": "2.3.180",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "scripts": {
@@ -182,6 +182,11 @@ import { LegalComplaintWorkflow } from './models/LegalComplaintWorkflowModel';
182
182
  import { LegalComplaintApproval } from './models/LegalComplaintApprovalModel';
183
183
  import { LegalComplaintChat } from './models/LegalComplaintChatModel';
184
184
  import { LegalComplaintAttachment } from './models/LegalComplaintAttachmentModel';
185
+ import {RespondToEnquiriesRequest} from './models/RespondToEnquiriesRequestModel';
186
+ import { RespondToEnquiriesWorkFlow } from './models/RespondToEnquiriesWorkflowModel';
187
+ import { RespondToEnquiriesApprovalDetails } from './models/RespondToEnquiriesApprovalModel';
188
+ import { RespondToEnquiriesRequestChat } from './models/RespondToEnquiriesChatModel';
189
+ import { RespondToEnquiriesRequestAttachment } from './models/RespondToEnquiriesAttachmentModel';
185
190
 
186
191
  export const AppDataSource = new DataSource({
187
192
  type: 'postgres',
@@ -370,6 +375,11 @@ export const AppDataSource = new DataSource({
370
375
  DocumentAuditLog,
371
376
  DocumentVersion,
372
377
  DocumentAccess,
373
- DepartmentDocumentOwner
378
+ DepartmentDocumentOwner,
379
+ RespondToEnquiriesRequest,
380
+ RespondToEnquiriesWorkFlow,
381
+ RespondToEnquiriesApprovalDetails,
382
+ RespondToEnquiriesRequestChat,
383
+ RespondToEnquiriesRequestAttachment
374
384
  ],
375
385
  });
package/src/index.ts CHANGED
@@ -391,3 +391,23 @@ export * from './models/LegalComplaintAttachmentModel';
391
391
  // Asset Affairs Admin Configuration
392
392
  export * from './models/AssetApartmentTypeModel';
393
393
  export * from './models/AssetUnitLocationModel';
394
+
395
+ // Tender — Request a Service to Respond to Enquiries
396
+ export * from './models/RespondToEnquiriesRequestModel';
397
+ export {
398
+ RespondToEnquiriesRequestStatus,
399
+ RespondToEnquiriesRequest,
400
+ RespondToEnquiriesEnquiryCategory
401
+ } from './models/RespondToEnquiriesRequestModel';
402
+ export * from './models/RespondToEnquiriesApprovalModel';
403
+ export {RespondToEnquiriesApprovalStatus, RespondToEnquiriesApprovalDetails} from './models/RespondToEnquiriesApprovalModel';
404
+ export * from './models/RespondToEnquiriesChatModel';
405
+ export {
406
+ RespondToEnquiriesMessageType,
407
+ RespondToEnquiriesChatStatus,
408
+ RespondToEnquiriesRequestChat
409
+ } from './models/RespondToEnquiriesChatModel';
410
+ export * from './models/RespondToEnquiriesWorkflowModel';
411
+ export {RespondToEnquiriesWorkFlowStatus, RespondToEnquiriesWorkFlow} from './models/RespondToEnquiriesWorkflowModel';
412
+ export * from './models/RespondToEnquiriesAttachmentModel';
413
+ export {RespondToEnquiriesRequestAttachment} from './models/RespondToEnquiriesAttachmentModel';
@@ -17,4 +17,7 @@ export class HallMaster extends BaseModel {
17
17
 
18
18
  @Column({ type: "varchar", length: 255, nullable: true })
19
19
  hall_name_in_arabic: string | null;
20
+
21
+ @Column({ type: "varchar", length: 255, nullable: true })
22
+ hall_type: string | null;
20
23
  }
@@ -0,0 +1,104 @@
1
+ import { Column, Entity } from "typeorm";
2
+ import { BaseModel } from "./BaseModel";
3
+
4
+ export enum RespondToEnquiriesApprovalStatus {
5
+ PENDING = "Pending",
6
+ IN_PROGRESS = "In Progress",
7
+ APPROVED = "Approved",
8
+ REJECTED = "Rejected",
9
+ ASSIGNED = "Assigned"
10
+ }
11
+
12
+ @Entity({ name: "respond_to_enquiries_approvals" })
13
+ export class RespondToEnquiriesApprovalDetails 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: RespondToEnquiriesApprovalStatus,
50
+ default: RespondToEnquiriesApprovalStatus.PENDING,
51
+ nullable: false,
52
+ enumName: "respond_to_enquiries_approval_status_en"
53
+ })
54
+ approval_status: RespondToEnquiriesApprovalStatus;
55
+
56
+ @Column({ type: "boolean", default: null, nullable: true })
57
+ is_manager: boolean;
58
+
59
+ @Column({ type: "boolean", default: false, nullable: true })
60
+ is_president: boolean;
61
+
62
+ @Column({ type: "boolean", default: false, nullable: true })
63
+ is_replace: boolean;
64
+
65
+ @Column({ type: "boolean", default: true, nullable: false })
66
+ is_allowed: boolean;
67
+
68
+ constructor(
69
+ request_id: number,
70
+ approver_user_id: number | null,
71
+ approver_role_id: number | null,
72
+ comment: string,
73
+ approval_status: RespondToEnquiriesApprovalStatus,
74
+ level: number,
75
+ service_id?: number | null,
76
+ sub_service_id?: number | null,
77
+ department_id?: number | null,
78
+ section_id?: number | null,
79
+ delegate_user_id?: number | null,
80
+ approved_by?: number | null,
81
+ is_manager?: boolean,
82
+ is_president?: boolean,
83
+ is_replace?: boolean,
84
+ is_allowed?: boolean
85
+ ) {
86
+ super();
87
+ this.request_id = request_id;
88
+ this.service_id = service_id || null;
89
+ this.sub_service_id = sub_service_id || null;
90
+ this.approver_user_id = approver_user_id;
91
+ this.approver_role_id = approver_role_id;
92
+ this.comment = comment;
93
+ this.approval_status = approval_status;
94
+ this.level = level;
95
+ this.department_id = department_id || null;
96
+ this.section_id = section_id || null;
97
+ this.delegate_user_id = delegate_user_id || null;
98
+ this.approved_by = approved_by || null;
99
+ this.is_manager = is_manager ?? false;
100
+ this.is_president = is_president ?? false;
101
+ this.is_replace = is_replace ?? false;
102
+ this.is_allowed = is_allowed !== undefined ? is_allowed : true;
103
+ }
104
+ }
@@ -0,0 +1,55 @@
1
+ import { Column, Entity } from "typeorm";
2
+ import { BaseModel } from "./BaseModel";
3
+
4
+ @Entity({ name: "respond_to_enquiries_request_attachments" })
5
+ export class RespondToEnquiriesRequestAttachment 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
+ }
@@ -0,0 +1,85 @@
1
+ import { Column, Entity } from "typeorm";
2
+ import { BaseModel } from "./BaseModel";
3
+
4
+ export enum RespondToEnquiriesMessageType {
5
+ TEXT = "text",
6
+ IMAGE = "image",
7
+ VIDEO = "video",
8
+ FILE = "file",
9
+ LINK = "link"
10
+ }
11
+
12
+ export enum RespondToEnquiriesChatStatus {
13
+ SUBMITTED = "Submitted",
14
+ COMPLETED = "Completed",
15
+ PENDING = "Pending",
16
+ REJECTED = "Rejected",
17
+ ASSIGNED = "Assigned",
18
+ APPROVED = "Approved",
19
+ RECEIVED = "Received"
20
+ }
21
+
22
+ @Entity({ name: "respond_to_enquiries_request_chat" })
23
+ export class RespondToEnquiriesRequestChat extends BaseModel {
24
+ @Column({ type: "integer", nullable: false })
25
+ request_id: number;
26
+
27
+ @Column({ type: "integer", nullable: true })
28
+ service_id: number | null;
29
+
30
+ @Column({ type: "integer", nullable: true })
31
+ sub_service_id: number | null;
32
+
33
+ @Column({ type: "integer", nullable: false })
34
+ user_id: number;
35
+
36
+ @Column({ type: "text", nullable: false })
37
+ message: string;
38
+
39
+ @Column({ type: "integer", nullable: true })
40
+ approver_role_id: number | null;
41
+
42
+ @Column({
43
+ type: "enum",
44
+ enum: RespondToEnquiriesMessageType,
45
+ default: RespondToEnquiriesMessageType.TEXT,
46
+ nullable: false,
47
+ enumName: "respond_to_enquiries_message_type_en"
48
+ })
49
+ messageType: RespondToEnquiriesMessageType;
50
+
51
+ @Column({ type: "boolean", default: false })
52
+ is_internal: boolean;
53
+
54
+ @Column({
55
+ type: "enum",
56
+ enum: RespondToEnquiriesChatStatus,
57
+ default: RespondToEnquiriesChatStatus.PENDING,
58
+ nullable: false,
59
+ enumName: "respond_to_enquiries_chat_status_en"
60
+ })
61
+ status: RespondToEnquiriesChatStatus;
62
+
63
+ constructor(
64
+ request_id: number,
65
+ user_id: number,
66
+ message: string,
67
+ service_id?: number | null,
68
+ sub_service_id?: number | null,
69
+ messageType?: RespondToEnquiriesMessageType,
70
+ is_internal?: boolean,
71
+ status?: RespondToEnquiriesChatStatus,
72
+ approver_role_id?: number
73
+ ) {
74
+ super();
75
+ this.request_id = request_id;
76
+ this.service_id = service_id || null;
77
+ this.sub_service_id = sub_service_id || null;
78
+ this.user_id = user_id;
79
+ this.message = message;
80
+ this.messageType = messageType || RespondToEnquiriesMessageType.TEXT;
81
+ this.is_internal = is_internal || false;
82
+ this.status = status || RespondToEnquiriesChatStatus.PENDING;
83
+ this.approver_role_id = approver_role_id || null;
84
+ }
85
+ }