@platform-modules/civil-aviation-authority 2.0.85 → 2.0.86

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 (46) hide show
  1. package/.env +10 -4
  2. package/dist/data-source.js +21 -1
  3. package/dist/index.d.ts +10 -0
  4. package/dist/index.js +10 -0
  5. package/dist/models/AccessCardApprovalModel.d.ts +22 -0
  6. package/dist/models/AccessCardApprovalModel.js +96 -0
  7. package/dist/models/AccessCardAttachmentModel.d.ts +12 -0
  8. package/dist/models/AccessCardAttachmentModel.js +64 -0
  9. package/dist/models/AccessCardChatModel.d.ts +17 -0
  10. package/dist/models/AccessCardChatModel.js +67 -0
  11. package/dist/models/AccessCardRequestModel.d.ts +43 -0
  12. package/dist/models/AccessCardRequestModel.js +148 -0
  13. package/dist/models/AccessCardWorkflowModel.d.ts +14 -0
  14. package/dist/models/AccessCardWorkflowModel.js +60 -0
  15. package/dist/models/HotelApprovalModel.d.ts +22 -0
  16. package/dist/models/HotelApprovalModel.js +91 -0
  17. package/dist/models/HotelAttachedModel.d.ts +14 -0
  18. package/dist/models/HotelAttachedModel.js +74 -0
  19. package/dist/models/HotelChatModel.d.ts +17 -0
  20. package/dist/models/HotelChatModel.js +67 -0
  21. package/dist/models/HotelWorkFlowModel.d.ts +14 -0
  22. package/dist/models/HotelWorkFlowModel.js +56 -0
  23. package/dist/models/HotelreservationModel.d.ts +45 -0
  24. package/dist/models/HotelreservationModel.js +177 -0
  25. package/dist/models/ItApprovalsModel.d.ts +2 -1
  26. package/dist/models/ItApprovalsModel.js +7 -2
  27. package/dist/models/ServiceTypeModel.d.ts +7 -1
  28. package/dist/models/ServiceTypeModel.js +24 -2
  29. package/dist/models/WorkflowHierarchy.d.ts +1 -6
  30. package/dist/models/WorkflowHierarchy.js +2 -27
  31. package/package.json +1 -1
  32. package/src/data-source.ts +21 -1
  33. package/src/index.ts +10 -0
  34. package/src/models/AccessCardApprovalModel.ts +83 -0
  35. package/src/models/AccessCardAttachmentModel.ts +51 -0
  36. package/src/models/AccessCardChatModel.ts +54 -0
  37. package/src/models/AccessCardRequestModel.ts +135 -0
  38. package/src/models/AccessCardWorkflowModel.ts +47 -0
  39. package/src/models/HotelApprovalModel.ts +79 -0
  40. package/src/models/HotelAttachedModel.ts +64 -0
  41. package/src/models/HotelChatModel.ts +55 -0
  42. package/src/models/HotelWorkFlowModel.ts +42 -0
  43. package/src/models/HotelreservationModel.ts +166 -0
  44. package/src/models/ItApprovalsModel.ts +6 -1
  45. package/src/models/ServiceTypeModel.ts +21 -1
  46. package/src/models/WorkflowHierarchy.ts +1 -26
@@ -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);
@@ -12,11 +12,6 @@ export declare class WorkflowHierarchy extends BaseModel {
12
12
  step_order: number;
13
13
  is_required: boolean;
14
14
  task_type: string | null;
15
- decision_path: string | null;
16
- parent_decision_step_order: number | null;
17
- parent_task: string | null;
18
- condition_expression: string | null;
19
- is_decision_task: boolean;
20
15
  workflow_definition: WorkflowDefinitions;
21
- constructor(workflow_definition_id: number, department_id: number, section_id: number, approval_role_id: number, approval_user_id: number, step_order: number, is_required?: boolean, taskname?: string, status?: string, task?: any, task_type?: string, decision_path?: string | null, parent_decision_step_order?: number | null, parent_task?: string | null, condition_expression?: string | null, is_decision_task?: boolean);
16
+ constructor(workflow_definition_id: number, department_id: number, section_id: number, approval_role_id: number, approval_user_id: number, step_order: number, is_required?: boolean, taskname?: string, status?: string, task?: any, task_type?: string);
22
17
  }
@@ -14,7 +14,7 @@ const typeorm_1 = require("typeorm");
14
14
  const BaseModel_1 = require("./BaseModel");
15
15
  const WorkflowDefinitions_1 = require("./WorkflowDefinitions");
16
16
  let WorkflowHierarchy = class WorkflowHierarchy extends BaseModel_1.BaseModel {
17
- constructor(workflow_definition_id, department_id, section_id, approval_role_id, approval_user_id, step_order, is_required, taskname, status, task, task_type, decision_path, parent_decision_step_order, parent_task, condition_expression, is_decision_task) {
17
+ constructor(workflow_definition_id, department_id, section_id, approval_role_id, approval_user_id, step_order, is_required, taskname, status, task, task_type) {
18
18
  super();
19
19
  this.workflow_definition_id = workflow_definition_id;
20
20
  this.department_id = department_id;
@@ -27,11 +27,6 @@ let WorkflowHierarchy = class WorkflowHierarchy extends BaseModel_1.BaseModel {
27
27
  this.status = status || null;
28
28
  this.task = task || null;
29
29
  this.task_type = task_type || null;
30
- this.decision_path = decision_path || null;
31
- this.parent_decision_step_order = parent_decision_step_order || null;
32
- this.parent_task = parent_task || null;
33
- this.condition_expression = condition_expression || null;
34
- this.is_decision_task = is_decision_task !== undefined ? is_decision_task : false;
35
30
  }
36
31
  };
37
32
  exports.WorkflowHierarchy = WorkflowHierarchy;
@@ -79,26 +74,6 @@ __decorate([
79
74
  (0, typeorm_1.Column)({ type: 'varchar', length: 255, nullable: true }),
80
75
  __metadata("design:type", Object)
81
76
  ], WorkflowHierarchy.prototype, "task_type", void 0);
82
- __decorate([
83
- (0, typeorm_1.Column)({ type: 'varchar', length: 50, nullable: true }),
84
- __metadata("design:type", Object)
85
- ], WorkflowHierarchy.prototype, "decision_path", void 0);
86
- __decorate([
87
- (0, typeorm_1.Column)({ type: 'integer', nullable: true }),
88
- __metadata("design:type", Object)
89
- ], WorkflowHierarchy.prototype, "parent_decision_step_order", void 0);
90
- __decorate([
91
- (0, typeorm_1.Column)({ type: 'varchar', length: 255, nullable: true }),
92
- __metadata("design:type", Object)
93
- ], WorkflowHierarchy.prototype, "parent_task", void 0);
94
- __decorate([
95
- (0, typeorm_1.Column)({ type: 'text', nullable: true }),
96
- __metadata("design:type", Object)
97
- ], WorkflowHierarchy.prototype, "condition_expression", void 0);
98
- __decorate([
99
- (0, typeorm_1.Column)({ type: 'boolean', default: false, nullable: false }),
100
- __metadata("design:type", Boolean)
101
- ], WorkflowHierarchy.prototype, "is_decision_task", void 0);
102
77
  __decorate([
103
78
  (0, typeorm_1.ManyToOne)(() => WorkflowDefinitions_1.WorkflowDefinitions, { onDelete: 'CASCADE' }),
104
79
  (0, typeorm_1.JoinColumn)({ name: 'workflow_definition_id' }),
@@ -107,5 +82,5 @@ __decorate([
107
82
  exports.WorkflowHierarchy = WorkflowHierarchy = __decorate([
108
83
  (0, typeorm_1.Entity)({ name: 'workflow_hierarchy' }),
109
84
  (0, typeorm_1.Unique)(['workflow_definition_id', 'step_order']),
110
- __metadata("design:paramtypes", [Number, Number, Number, Number, Number, Number, Boolean, String, String, Object, String, Object, Object, Object, Object, Boolean])
85
+ __metadata("design:paramtypes", [Number, Number, Number, Number, Number, Number, Boolean, String, String, Object, String])
111
86
  ], WorkflowHierarchy);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@platform-modules/civil-aviation-authority",
3
- "version": "2.0.85",
3
+ "version": "2.0.86",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "scripts": {
@@ -46,7 +46,17 @@ 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
 
55
+ import { HotelReservation } from './models/HotelreservationModel'
56
+ import { HotelApprovalDetails } from './models/HotelApprovalModel';
57
+ import { HotelWorkFlow } from './models/HotelWorkFlowModel';
58
+ import { HotelRequestChat } from './models/HotelChatModel';
59
+ import { HotelRequestAttachment } from './models/HotelAttachedModel';
50
60
 
51
61
  export const AppDataSource = new DataSource({
52
62
  type: 'postgres',
@@ -92,6 +102,11 @@ export const AppDataSource = new DataSource({
92
102
  LogisticsRequestChat,
93
103
  LogisticsRequestAttachment,
94
104
  LogisticsWorkFlow,
105
+ AccessCardRequest,
106
+ AccessCardApproval,
107
+ AccessCardAttachment,
108
+ AccessCardRequestChat,
109
+ AccessCardWorkflow,
95
110
  ImportantLinks,
96
111
  DelegateSettings,
97
112
  Feedback,
@@ -100,6 +115,11 @@ export const AppDataSource = new DataSource({
100
115
  VpnApprovalDetails,
101
116
  VpnWorkFlow,
102
117
  VpnRequestAttachment,
103
- VpnRequestChat
118
+ VpnRequestChat,
119
+ HotelReservation,
120
+ HotelApprovalDetails,
121
+ HotelWorkFlow,
122
+ HotelRequestChat,
123
+ HotelRequestAttachment
104
124
  ],
105
125
  });
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';
@@ -42,3 +47,8 @@ export * from './models/VpnApprovalModel';
42
47
  export * from './models/VpnWorkflowModel';
43
48
  export * from './models/VpnRequestChatModel';
44
49
  export * from './models/VpnRequestAttachmentModel';
50
+ export * from './models/HotelreservationModel';
51
+ export * from './models/HotelApprovalModel';
52
+ export * from './models/HotelWorkFlowModel';
53
+ export * from './models/HotelChatModel';
54
+ export * from './models/HotelAttachedModel';
@@ -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
+
@@ -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
+ }