@platform-modules/civil-aviation-authority 2.2.31 → 2.2.41

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 (40) hide show
  1. package/dist/data-source.js +10 -0
  2. package/dist/index.d.ts +5 -0
  3. package/dist/index.js +5 -0
  4. package/dist/models/AccessCardApprovalModel.d.ts +22 -0
  5. package/dist/models/AccessCardApprovalModel.js +96 -0
  6. package/dist/models/AccessCardAttachmentModel.d.ts +12 -0
  7. package/dist/models/AccessCardAttachmentModel.js +64 -0
  8. package/dist/models/AccessCardChatModel.d.ts +17 -0
  9. package/dist/models/AccessCardChatModel.js +67 -0
  10. package/dist/models/AccessCardRequestModel.d.ts +43 -0
  11. package/dist/models/AccessCardRequestModel.js +148 -0
  12. package/dist/models/AccessCardWorkflowModel.d.ts +14 -0
  13. package/dist/models/AccessCardWorkflowModel.js +60 -0
  14. package/dist/models/HotelreservationModel.d.ts +3 -3
  15. package/dist/models/HotelreservationModel.js +5 -5
  16. package/dist/models/ItApprovalsModel.d.ts +3 -1
  17. package/dist/models/ItApprovalsModel.js +2 -0
  18. package/dist/models/ServiceTypeModel.d.ts +7 -1
  19. package/dist/models/ServiceTypeModel.js +24 -2
  20. package/package.json +1 -1
  21. package/src/data-source.ts +10 -0
  22. package/src/index.ts +5 -0
  23. package/src/models/AccessCardApprovalModel.ts +83 -0
  24. package/src/models/AccessCardAttachmentModel.ts +51 -0
  25. package/src/models/AccessCardChatModel.ts +54 -0
  26. package/src/models/AccessCardRequestModel.ts +135 -0
  27. package/src/models/AccessCardWorkflowModel.ts +47 -0
  28. package/src/models/HotelreservationModel.ts +6 -6
  29. package/src/models/ItApprovalsModel.ts +4 -1
  30. package/src/models/ServiceTypeModel.ts +21 -1
  31. package/dist/models/HotelreservationModal.d.ts +0 -30
  32. package/dist/models/HotelreservationModal.js +0 -119
  33. package/dist/models/ITApprovalSettings.d.ts +0 -7
  34. package/dist/models/ITApprovalSettings.js +0 -40
  35. package/dist/models/ITServicesTypesMuscatModel.d.ts +0 -6
  36. package/dist/models/ITServicesTypesMuscatModel.js +0 -34
  37. package/dist/models/ITServicesTypesSalalahModel.d.ts +0 -6
  38. package/dist/models/ITServicesTypesSalalahModel.js +0 -34
  39. package/dist/models/Workflows.d.ts +0 -0
  40. package/dist/models/Workflows.js +0 -31
@@ -2,7 +2,9 @@ import { BaseModel } from './BaseModel';
2
2
  export declare enum ApprovalStatus {
3
3
  PENDING = "Pending",
4
4
  APPROVED = "Approved",
5
- REJECTED = "Rejected"
5
+ REJECTED = "Rejected",
6
+ ASSIGNED = "Assigned",
7
+ REASSIGNED = "Reassigned"
6
8
  }
7
9
  export declare class ItApprovalDetails extends BaseModel {
8
10
  request_id: number;
@@ -17,6 +17,8 @@ var ApprovalStatus;
17
17
  ApprovalStatus["PENDING"] = "Pending";
18
18
  ApprovalStatus["APPROVED"] = "Approved";
19
19
  ApprovalStatus["REJECTED"] = "Rejected";
20
+ ApprovalStatus["ASSIGNED"] = "Assigned";
21
+ ApprovalStatus["REASSIGNED"] = "Reassigned";
20
22
  })(ApprovalStatus || (exports.ApprovalStatus = ApprovalStatus = {}));
21
23
  let ItApprovalDetails = class ItApprovalDetails extends BaseModel_1.BaseModel {
22
24
  constructor(request_id, approver_user_id, approver_role_id, comment, approval_status, level, department_id, section_id, approved_by, service_id, sub_service_id, delegation_user_id) {
@@ -1,6 +1,8 @@
1
1
  import { BaseModel } from './BaseModel';
2
2
  import { CAAServices } from './CAAServices';
3
3
  import { CAASubServices } from './CAASubServices';
4
+ import { Departments } from './DepartmentsModel';
5
+ import { Sections } from './SectionModel';
4
6
  export declare class ServiceType extends BaseModel {
5
7
  name: string;
6
8
  name_in_arabic: string;
@@ -8,7 +10,11 @@ export declare class ServiceType extends BaseModel {
8
10
  service: CAAServices;
9
11
  sub_service_id: number;
10
12
  sub_service: CAASubServices;
13
+ department_id: number | null;
14
+ department: Departments;
15
+ section_id: number | null;
16
+ section: Sections;
11
17
  description: string;
12
18
  is_active: boolean;
13
- constructor(name: string, name_in_arabic: string, service_id: number, sub_service_id: number, description?: string, is_active?: boolean);
19
+ constructor(name: string, name_in_arabic: string, service_id: number, sub_service_id: number, description?: string, is_active?: boolean, department_id?: number | null, section_id?: number | null);
14
20
  }
@@ -14,8 +14,10 @@ const typeorm_1 = require("typeorm");
14
14
  const BaseModel_1 = require("./BaseModel");
15
15
  const CAAServices_1 = require("./CAAServices");
16
16
  const CAASubServices_1 = require("./CAASubServices");
17
+ const DepartmentsModel_1 = require("./DepartmentsModel");
18
+ const SectionModel_1 = require("./SectionModel");
17
19
  let ServiceType = class ServiceType extends BaseModel_1.BaseModel {
18
- constructor(name, name_in_arabic, service_id, sub_service_id, description, is_active) {
20
+ constructor(name, name_in_arabic, service_id, sub_service_id, description, is_active, department_id, section_id) {
19
21
  super();
20
22
  this.name = name;
21
23
  this.name_in_arabic = name_in_arabic;
@@ -23,6 +25,8 @@ let ServiceType = class ServiceType extends BaseModel_1.BaseModel {
23
25
  this.sub_service_id = sub_service_id;
24
26
  this.description = description || '';
25
27
  this.is_active = is_active !== undefined ? is_active : true;
28
+ this.department_id = department_id || null;
29
+ this.section_id = section_id || null;
26
30
  }
27
31
  };
28
32
  exports.ServiceType = ServiceType;
@@ -52,6 +56,24 @@ __decorate([
52
56
  (0, typeorm_1.JoinColumn)({ name: 'sub_service_id' }),
53
57
  __metadata("design:type", CAASubServices_1.CAASubServices)
54
58
  ], ServiceType.prototype, "sub_service", void 0);
59
+ __decorate([
60
+ (0, typeorm_1.Column)({ type: 'bigint', nullable: true }),
61
+ __metadata("design:type", Object)
62
+ ], ServiceType.prototype, "department_id", void 0);
63
+ __decorate([
64
+ (0, typeorm_1.ManyToOne)(() => DepartmentsModel_1.Departments),
65
+ (0, typeorm_1.JoinColumn)({ name: 'department_id' }),
66
+ __metadata("design:type", DepartmentsModel_1.Departments)
67
+ ], ServiceType.prototype, "department", void 0);
68
+ __decorate([
69
+ (0, typeorm_1.Column)({ type: 'bigint', nullable: true }),
70
+ __metadata("design:type", Object)
71
+ ], ServiceType.prototype, "section_id", void 0);
72
+ __decorate([
73
+ (0, typeorm_1.ManyToOne)(() => SectionModel_1.Sections),
74
+ (0, typeorm_1.JoinColumn)({ name: 'section_id' }),
75
+ __metadata("design:type", SectionModel_1.Sections)
76
+ ], ServiceType.prototype, "section", void 0);
55
77
  __decorate([
56
78
  (0, typeorm_1.Column)({ nullable: true }),
57
79
  __metadata("design:type", String)
@@ -62,5 +84,5 @@ __decorate([
62
84
  ], ServiceType.prototype, "is_active", void 0);
63
85
  exports.ServiceType = ServiceType = __decorate([
64
86
  (0, typeorm_1.Entity)({ name: 'service_types' }),
65
- __metadata("design:paramtypes", [String, String, Number, Number, String, Boolean])
87
+ __metadata("design:paramtypes", [String, String, Number, Number, String, Boolean, Object, Object])
66
88
  ], ServiceType);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@platform-modules/civil-aviation-authority",
3
- "version": "2.2.31",
3
+ "version": "2.2.41",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "scripts": {
@@ -46,6 +46,11 @@ import { VpnApprovalDetails } from './models/VpnApprovalModel';
46
46
  import { VpnWorkFlow } from './models/VpnWorkflowModel';
47
47
  import { VpnRequestAttachment } from './models/VpnRequestAttachmentModel';
48
48
  import { VpnRequestChat } from './models/VpnRequestChatModel';
49
+ import { AccessCardRequest } from './models/AccessCardRequestModel';
50
+ import { AccessCardApproval } from './models/AccessCardApprovalModel';
51
+ import { AccessCardAttachment } from './models/AccessCardAttachmentModel';
52
+ import { AccessCardRequestChat } from './models/AccessCardChatModel';
53
+ import { AccessCardWorkflow } from './models/AccessCardWorkflowModel';
49
54
 
50
55
  import { HotelReservation } from './models/HotelreservationModel'
51
56
  import { HotelApprovalDetails } from './models/HotelApprovalModel';
@@ -97,6 +102,11 @@ export const AppDataSource = new DataSource({
97
102
  LogisticsRequestChat,
98
103
  LogisticsRequestAttachment,
99
104
  LogisticsWorkFlow,
105
+ AccessCardRequest,
106
+ AccessCardApproval,
107
+ AccessCardAttachment,
108
+ AccessCardRequestChat,
109
+ AccessCardWorkflow,
100
110
  ImportantLinks,
101
111
  DelegateSettings,
102
112
  Feedback,
package/src/index.ts CHANGED
@@ -34,6 +34,11 @@ export * from './models/LogisticsChatModel';
34
34
  export * from './models/LogisticsAttachmentModel';
35
35
  export * from './models/importantLinksModel';
36
36
  export * from './models/LogisticsWorkflowModel';
37
+ export * from './models/AccessCardRequestModel';
38
+ export * from './models/AccessCardApprovalModel';
39
+ export * from './models/AccessCardAttachmentModel';
40
+ export * from './models/AccessCardChatModel';
41
+ export * from './models/AccessCardWorkflowModel';
37
42
  export * from './models/DelegateSettingsModel';
38
43
  export * from './models/feedbackModel';
39
44
  export * from './models/PortalFeedbackModel';
@@ -0,0 +1,83 @@
1
+ import { Column, Entity } from "typeorm";
2
+ import { BaseModel } from "./BaseModel";
3
+
4
+ export enum AccessCardApprovalStatus {
5
+ PENDING = "Pending",
6
+ IN_PROGRESS = "In Progress",
7
+ APPROVED = "Approved",
8
+ REJECTED = "Rejected"
9
+ }
10
+
11
+ @Entity({ name: "access_card_approvals" })
12
+ export class AccessCardApproval 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: "integer", nullable: false })
23
+ level: number;
24
+
25
+ @Column({ type: "integer", nullable: false })
26
+ approver_role_id: number;
27
+
28
+ @Column({ type: "integer", nullable: true })
29
+ department_id: number | null;
30
+
31
+ @Column({ type: "integer", nullable: true })
32
+ section_id: number | null;
33
+
34
+ @Column({ type: "integer", nullable: true })
35
+ approver_user_id: number | null;
36
+
37
+ @Column({ type: "integer", nullable: true })
38
+ delegate_user_id: number | null;
39
+
40
+ @Column({ type: "integer", nullable: true })
41
+ approved_by: number | null;
42
+
43
+ @Column({ type: "varchar", length: 500, nullable: true, default: "" })
44
+ comment: string;
45
+
46
+ @Column({
47
+ type: "enum",
48
+ enum: AccessCardApprovalStatus,
49
+ default: AccessCardApprovalStatus.PENDING,
50
+ nullable: false
51
+ })
52
+ approval_status: AccessCardApprovalStatus;
53
+
54
+ constructor(
55
+ request_id: number,
56
+ approver_role_id: number,
57
+ level: number,
58
+ comment: string,
59
+ approval_status: AccessCardApprovalStatus,
60
+ service_id?: number,
61
+ sub_service_id?: number,
62
+ department_id?: number | null,
63
+ section_id?: number | null,
64
+ approver_user_id?: number | null,
65
+ delegate_user_id?: number | null,
66
+ approved_by?: number | null
67
+ ) {
68
+ super();
69
+ this.request_id = request_id;
70
+ this.service_id = service_id ?? null;
71
+ this.sub_service_id = sub_service_id ?? null;
72
+ this.level = level;
73
+ this.approver_role_id = approver_role_id;
74
+ this.department_id = department_id ?? null;
75
+ this.section_id = section_id ?? null;
76
+ this.approver_user_id = approver_user_id ?? null;
77
+ this.delegate_user_id = delegate_user_id ?? null;
78
+ this.approved_by = approved_by ?? null;
79
+ this.comment = comment;
80
+ this.approval_status = approval_status;
81
+ }
82
+ }
83
+
@@ -0,0 +1,51 @@
1
+ import { Column, Entity } from "typeorm";
2
+ import { BaseModel } from "./BaseModel";
3
+
4
+ @Entity({ name: "access_card_attachments" })
5
+ export class AccessCardAttachment 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: "varchar", length: 500, nullable: false })
16
+ file_url: string;
17
+
18
+ @Column({ type: "varchar", length: 255, nullable: true })
19
+ file_name: string;
20
+
21
+ @Column({ type: "varchar", length: 100, nullable: true })
22
+ file_type: string;
23
+
24
+ @Column({ type: "bigint", nullable: true })
25
+ file_size: number | null;
26
+
27
+ @Column({ type: "integer", nullable: true })
28
+ chat_id: number | null;
29
+
30
+ constructor(
31
+ request_id: number,
32
+ file_url: string,
33
+ service_id?: number,
34
+ sub_service_id?: number,
35
+ file_name?: string,
36
+ file_type?: string,
37
+ file_size?: number,
38
+ chat_id?: number
39
+ ) {
40
+ super();
41
+ this.request_id = request_id;
42
+ this.service_id = service_id ?? null;
43
+ this.sub_service_id = sub_service_id ?? null;
44
+ this.file_url = file_url;
45
+ this.file_name = file_name ?? "";
46
+ this.file_type = file_type ?? "";
47
+ this.file_size = file_size ?? null;
48
+ this.chat_id = chat_id ?? null;
49
+ }
50
+ }
51
+
@@ -0,0 +1,54 @@
1
+ import { Column, Entity } from "typeorm";
2
+ import { BaseModel } from "./BaseModel";
3
+
4
+ export enum AccessCardMessageType {
5
+ TEXT = "text",
6
+ IMAGE = "image",
7
+ VIDEO = "video",
8
+ FILE = "file",
9
+ LINK = "link"
10
+ }
11
+
12
+ @Entity({ name: "access_card_request_chat" })
13
+ export class AccessCardRequestChat 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
+ user_id: number;
25
+
26
+ @Column({ type: "text", nullable: false })
27
+ message: string;
28
+
29
+ @Column({
30
+ type: "enum",
31
+ enum: AccessCardMessageType,
32
+ default: AccessCardMessageType.TEXT,
33
+ nullable: false
34
+ })
35
+ messageType: AccessCardMessageType;
36
+
37
+ constructor(
38
+ request_id: number,
39
+ user_id: number,
40
+ message: string,
41
+ service_id?: number,
42
+ sub_service_id?: number,
43
+ messageType?: AccessCardMessageType
44
+ ) {
45
+ super();
46
+ this.request_id = request_id;
47
+ this.service_id = service_id ?? null;
48
+ this.sub_service_id = sub_service_id ?? null;
49
+ this.user_id = user_id;
50
+ this.message = message;
51
+ this.messageType = messageType ?? AccessCardMessageType.TEXT;
52
+ }
53
+ }
54
+
@@ -0,0 +1,135 @@
1
+ import { Column, Entity } from "typeorm";
2
+ import { BaseModel } from "./BaseModel";
3
+
4
+ export enum AccessCardRequestFor {
5
+ SELF = "Self",
6
+ BEHALF = "Behalf"
7
+ }
8
+
9
+ export enum AccessCardRequestType {
10
+ NEW = "New",
11
+ RENEWAL = "Renewal"
12
+ }
13
+
14
+ export enum AccessCardCategory {
15
+ TRAINEE = "Trainee",
16
+ WORKER = "Workers",
17
+ EMPLOYEE = "Employees",
18
+ CONTRACTOR = "Contractors"
19
+ }
20
+
21
+ export enum AccessCardRequestStatus {
22
+ PENDING = "Pending",
23
+ IN_PROGRESS = "In Progress",
24
+ APPROVED = "Approved",
25
+ REJECTED = "Rejected"
26
+ }
27
+
28
+ @Entity({ name: "access_card_requests" })
29
+ export class AccessCardRequest extends BaseModel {
30
+ @Column({ type: "int", nullable: true })
31
+ req_user_department_id: number | null;
32
+
33
+ @Column({ type: "int", nullable: true })
34
+ req_user_section_id: number | null;
35
+
36
+ @Column({ type: "int", nullable: true })
37
+ service_id: number | null;
38
+
39
+ @Column({ type: "int", nullable: true })
40
+ sub_service_id: number | null;
41
+
42
+ @Column({ type: "int", nullable: false })
43
+ user_id: number;
44
+
45
+ @Column({ type: "enum", enum: AccessCardRequestFor, nullable: false })
46
+ request_for: AccessCardRequestFor;
47
+
48
+ @Column({ type: "varchar", length: 255, nullable: false })
49
+ name: string;
50
+
51
+ @Column({ type: "varchar", length: 100, nullable: false })
52
+ id_number: string;
53
+
54
+ @Column({ type: "varchar", length: 50, nullable: false })
55
+ phone_number: string;
56
+
57
+ @Column({ type: "varchar", length: 255, nullable: false })
58
+ email_id: string;
59
+
60
+ @Column({ type: "enum", enum: AccessCardRequestType, nullable: false })
61
+ request_type: AccessCardRequestType;
62
+
63
+ @Column({ type: "enum", enum: AccessCardCategory, nullable: false })
64
+ category: AccessCardCategory;
65
+
66
+ @Column({ type: "varchar", length: 50, nullable: true })
67
+ approval_route: string | null;
68
+
69
+ @Column({ type: "varchar", length: 255, nullable: false })
70
+ organization: string;
71
+
72
+ @Column({ type: "varchar", length: 100, nullable: true })
73
+ access_card_no: string | null;
74
+
75
+ @Column({ type: "text", nullable: false })
76
+ reason: string;
77
+
78
+ @Column({ type: "date", nullable: false })
79
+ request_date: Date;
80
+
81
+ @Column({
82
+ type: "enum",
83
+ enum: AccessCardRequestStatus,
84
+ default: AccessCardRequestStatus.PENDING,
85
+ nullable: false
86
+ })
87
+ status: AccessCardRequestStatus;
88
+
89
+ @Column({ type: "varchar", length: 255, nullable: true })
90
+ workflow_execution_id: string | null;
91
+
92
+ constructor(
93
+ request_for: AccessCardRequestFor,
94
+ name: string,
95
+ id_number: string,
96
+ phone_number: string,
97
+ email_id: string,
98
+ request_type: AccessCardRequestType,
99
+ category: AccessCardCategory,
100
+ organization: string,
101
+ reason: string,
102
+ request_date: Date,
103
+ user_id: number,
104
+ status: AccessCardRequestStatus = AccessCardRequestStatus.PENDING,
105
+ approval_route?: string | null,
106
+ service_id?: number,
107
+ sub_service_id?: number,
108
+ req_user_department_id?: number,
109
+ req_user_section_id?: number,
110
+ access_card_no?: string | null,
111
+ workflow_execution_id?: string | null
112
+ ) {
113
+ super();
114
+ this.request_for = request_for;
115
+ this.name = name;
116
+ this.id_number = id_number;
117
+ this.phone_number = phone_number;
118
+ this.email_id = email_id;
119
+ this.request_type = request_type;
120
+ this.category = category;
121
+ this.organization = organization;
122
+ this.reason = reason;
123
+ this.request_date = request_date;
124
+ this.user_id = user_id;
125
+ this.status = status;
126
+ this.approval_route = approval_route ?? null;
127
+ this.service_id = service_id ?? null;
128
+ this.sub_service_id = sub_service_id ?? null;
129
+ this.req_user_department_id = req_user_department_id ?? null;
130
+ this.req_user_section_id = req_user_section_id ?? null;
131
+ this.access_card_no = access_card_no ?? null;
132
+ this.workflow_execution_id = workflow_execution_id ?? null;
133
+ }
134
+ }
135
+
@@ -0,0 +1,47 @@
1
+ import { Column, Entity } from "typeorm";
2
+ import { BaseModel } from "./BaseModel";
3
+
4
+ export enum AccessCardWorkflowStatus {
5
+ COMPLETED = "Completed",
6
+ NOT_YET_STARTED = "Not Yet Started",
7
+ PENDING = "Pending"
8
+ }
9
+
10
+ @Entity({ name: "access_card_workflows" })
11
+ export class AccessCardWorkflow extends BaseModel {
12
+ @Column({ type: "integer", nullable: false })
13
+ request_id: number;
14
+
15
+ @Column({ type: "integer", nullable: true })
16
+ service_id: number | null;
17
+
18
+ @Column({ type: "integer", nullable: true })
19
+ sub_service_id: number | null;
20
+
21
+ @Column({ type: "varchar", length: 500, nullable: false })
22
+ content: string;
23
+
24
+ @Column({
25
+ type: "enum",
26
+ enum: AccessCardWorkflowStatus,
27
+ default: AccessCardWorkflowStatus.NOT_YET_STARTED,
28
+ nullable: false
29
+ })
30
+ status: AccessCardWorkflowStatus;
31
+
32
+ constructor(
33
+ request_id: number,
34
+ content: string,
35
+ status: AccessCardWorkflowStatus,
36
+ service_id?: number,
37
+ sub_service_id?: number
38
+ ) {
39
+ super();
40
+ this.request_id = request_id;
41
+ this.service_id = service_id ?? null;
42
+ this.sub_service_id = sub_service_id ?? null;
43
+ this.content = content;
44
+ this.status = status;
45
+ }
46
+ }
47
+
@@ -58,11 +58,11 @@ export class HotelReservation extends BaseModel {
58
58
  @Column({ type: 'decimal', precision: 10, scale: 2, nullable: false })
59
59
  price: number;
60
60
 
61
- @Column({ type: 'text', array: true, nullable: false })
62
- meal: MealType[];
61
+ @Column({ type: 'enum', enum: MealType, nullable: false, })
62
+ meal: MealType;
63
63
 
64
- @Column({ type: 'text', array: true, nullable: false })
65
- service: ServiceTypes[];
64
+ @Column({ type: 'enum', enum: ServiceTypes, nullable: false, })
65
+ service: ServiceTypes;
66
66
 
67
67
  @Column({ type: 'timestamptz', nullable: false })
68
68
  date_of_request: Date;
@@ -110,8 +110,8 @@ export class HotelReservation extends BaseModel {
110
110
  constructor(
111
111
  type_of_accommodation: string,
112
112
  price: number,
113
- meal: MealType[],
114
- service: ServiceTypes[],
113
+ meal: MealType,
114
+ service: ServiceTypes,
115
115
  date_of_request: Date,
116
116
  hotel_name: string,
117
117
  check_in_date: Date,
@@ -5,7 +5,10 @@ import { BaseModel } from './BaseModel';
5
5
  export enum ApprovalStatus {
6
6
  PENDING = "Pending",
7
7
  APPROVED = "Approved",
8
- REJECTED = "Rejected"
8
+ REJECTED = "Rejected",
9
+ ASSIGNED = "Assigned",
10
+ REASSIGNED = "Reassigned"
11
+
9
12
  }
10
13
 
11
14
  @Entity({ name: 'it_approvals' })
@@ -2,6 +2,8 @@ import { Column, Entity, ManyToOne, JoinColumn } from "typeorm";
2
2
  import { BaseModel } from './BaseModel';
3
3
  import { CAAServices } from './CAAServices';
4
4
  import { CAASubServices } from './CAASubServices';
5
+ import { Departments } from './DepartmentsModel';
6
+ import { Sections } from './SectionModel';
5
7
 
6
8
  @Entity({ name: 'service_types' })
7
9
  export class ServiceType extends BaseModel {
@@ -26,6 +28,20 @@ export class ServiceType extends BaseModel {
26
28
  @JoinColumn({ name: 'sub_service_id' })
27
29
  sub_service: CAASubServices;
28
30
 
31
+ @Column({ type: 'bigint', nullable: true })
32
+ department_id: number | null;
33
+
34
+ @ManyToOne(() => Departments)
35
+ @JoinColumn({ name: 'department_id' })
36
+ department: Departments;
37
+
38
+ @Column({ type: 'bigint', nullable: true })
39
+ section_id: number | null;
40
+
41
+ @ManyToOne(() => Sections)
42
+ @JoinColumn({ name: 'section_id' })
43
+ section: Sections;
44
+
29
45
  @Column({ nullable: true })
30
46
  description: string;
31
47
 
@@ -38,7 +54,9 @@ export class ServiceType extends BaseModel {
38
54
  service_id: number,
39
55
  sub_service_id: number,
40
56
  description?: string,
41
- is_active?: boolean
57
+ is_active?: boolean,
58
+ department_id?: number | null,
59
+ section_id?: number | null
42
60
  ) {
43
61
  super();
44
62
  this.name = name;
@@ -47,6 +65,8 @@ export class ServiceType extends BaseModel {
47
65
  this.sub_service_id = sub_service_id;
48
66
  this.description = description || '';
49
67
  this.is_active = is_active !== undefined ? is_active : true;
68
+ this.department_id = department_id || null;
69
+ this.section_id = section_id || null;
50
70
  }
51
71
  }
52
72
 
@@ -1,30 +0,0 @@
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
- }