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

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 (48) 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/HotelreservationModel.d.ts +3 -3
  16. package/dist/models/HotelreservationModel.js +5 -5
  17. package/dist/models/ItApprovalsModel.d.ts +3 -1
  18. package/dist/models/ItApprovalsModel.js +2 -0
  19. package/dist/models/SecurityThreatApprovalModel.d.ts +24 -0
  20. package/dist/models/SecurityThreatApprovalModel.js +97 -0
  21. package/dist/models/SecurityThreatAttachmentModel.d.ts +12 -0
  22. package/dist/models/SecurityThreatAttachmentModel.js +64 -0
  23. package/dist/models/SecurityThreatChatModel.d.ts +17 -0
  24. package/dist/models/SecurityThreatChatModel.js +67 -0
  25. package/dist/models/SecurityThreatRequestModel.d.ts +29 -0
  26. package/dist/models/SecurityThreatRequestModel.js +104 -0
  27. package/dist/models/SecurityThreatWorkflowModel.d.ts +14 -0
  28. package/dist/models/SecurityThreatWorkflowModel.js +56 -0
  29. package/dist/models/ServiceTypeModel.d.ts +7 -1
  30. package/dist/models/ServiceTypeModel.js +24 -2
  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/HotelreservationModel.ts +6 -6
  40. package/src/models/ItApprovalsModel.ts +4 -1
  41. package/src/models/SecurityThreatApprovalModel.ts +84 -0
  42. package/src/models/SecurityThreatAttachmentModel.ts +52 -0
  43. package/src/models/SecurityThreatChatModel.ts +55 -0
  44. package/src/models/SecurityThreatRequestModel.ts +91 -0
  45. package/src/models/SecurityThreatWorkflowModel.ts +43 -0
  46. package/src/models/ServiceTypeModel.ts +21 -1
  47. package/dist/models/HotelreservationModal.d.ts +0 -30
  48. package/dist/models/HotelreservationModal.js +0 -119
@@ -46,12 +46,22 @@ 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';
52
57
  import { HotelWorkFlow } from './models/HotelWorkFlowModel';
53
58
  import { HotelRequestChat } from './models/HotelChatModel';
54
59
  import { HotelRequestAttachment } from './models/HotelAttachedModel';
60
+ import { SecurityThreatRequest } from './models/SecurityThreatRequestModel';
61
+ import { SecurityThreatApproval } from './models/SecurityThreatApprovalModel';
62
+ import { SecurityThreatAttachment } from './models/SecurityThreatAttachmentModel';
63
+ import { SecurityThreatChat } from './models/SecurityThreatChatModel';
64
+ import { SecurityThreatWorkFlow } from './models/SecurityThreatWorkflowModel';
55
65
 
56
66
  export const AppDataSource = new DataSource({
57
67
  type: 'postgres',
@@ -97,6 +107,11 @@ export const AppDataSource = new DataSource({
97
107
  LogisticsRequestChat,
98
108
  LogisticsRequestAttachment,
99
109
  LogisticsWorkFlow,
110
+ AccessCardRequest,
111
+ AccessCardApproval,
112
+ AccessCardAttachment,
113
+ AccessCardRequestChat,
114
+ AccessCardWorkflow,
100
115
  ImportantLinks,
101
116
  DelegateSettings,
102
117
  Feedback,
@@ -110,6 +125,11 @@ export const AppDataSource = new DataSource({
110
125
  HotelApprovalDetails,
111
126
  HotelWorkFlow,
112
127
  HotelRequestChat,
113
- HotelRequestAttachment
128
+ HotelRequestAttachment,
129
+ SecurityThreatRequest,
130
+ SecurityThreatApproval,
131
+ SecurityThreatAttachment,
132
+ SecurityThreatChat,
133
+ SecurityThreatWorkFlow
114
134
  ],
115
135
  });
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';
@@ -47,3 +52,8 @@ export * from './models/HotelApprovalModel';
47
52
  export * from './models/HotelWorkFlowModel';
48
53
  export * from './models/HotelChatModel';
49
54
  export * from './models/HotelAttachedModel';
55
+ export * from './models/SecurityThreatRequestModel';
56
+ export * from './models/SecurityThreatApprovalModel';
57
+ export * from './models/SecurityThreatAttachmentModel';
58
+ export * from './models/SecurityThreatChatModel';
59
+ export * from './models/SecurityThreatWorkflowModel';
@@ -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' })
@@ -0,0 +1,84 @@
1
+ import { Column, Entity } from "typeorm";
2
+ import { BaseModel } from './BaseModel';
3
+
4
+ export enum SecurityThreatApprovalStatus {
5
+ PENDING = "Pending",
6
+ IN_PROGRESS = "In Progress",
7
+ APPROVED = "Approved",
8
+ REJECTED = "Rejected",
9
+ CLOSED = "Closed"
10
+ }
11
+
12
+ @Entity({ name: 'security_threat_approvals' })
13
+ export class SecurityThreatApproval 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: SecurityThreatApprovalStatus, default: SecurityThreatApprovalStatus.PENDING, nullable: false })
48
+ approval_status: SecurityThreatApprovalStatus;
49
+
50
+ @Column({ type: 'boolean', default: false, nullable: false })
51
+ is_manager: boolean;
52
+
53
+ constructor(
54
+ request_id: number,
55
+ approver_role_id: number,
56
+ comment: string,
57
+ approval_status: SecurityThreatApprovalStatus,
58
+ level: number,
59
+ is_manager: boolean = false,
60
+ department_id?: number | null,
61
+ section_id?: number | null,
62
+ approver_user_id?: number | null,
63
+ delegate_user_id?: number | null,
64
+ approved_by?: number | null,
65
+ service_id?: number,
66
+ sub_service_id?: number
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.approver_role_id = approver_role_id;
73
+ this.comment = comment;
74
+ this.approval_status = approval_status;
75
+ this.level = level;
76
+ this.is_manager = is_manager;
77
+ this.department_id = department_id || null;
78
+ this.section_id = section_id || null;
79
+ this.approver_user_id = approver_user_id || null;
80
+ this.delegate_user_id = delegate_user_id || null;
81
+ this.approved_by = approved_by || null;
82
+ }
83
+ }
84
+
@@ -0,0 +1,52 @@
1
+ import { Column, Entity } from "typeorm";
2
+ import { BaseModel } from './BaseModel';
3
+
4
+ @Entity({ name: 'security_threat_attachments' })
5
+ export class SecurityThreatAttachment extends BaseModel {
6
+
7
+ @Column({ type: 'integer', nullable: false })
8
+ request_id: number;
9
+
10
+ @Column({ type: 'integer', nullable: true })
11
+ service_id: number | null;
12
+
13
+ @Column({ type: 'integer', nullable: true })
14
+ sub_service_id: number | null;
15
+
16
+ @Column({ type: 'varchar', length: 500, nullable: false })
17
+ file_url: string;
18
+
19
+ @Column({ type: 'varchar', length: 255, nullable: true })
20
+ file_name: string;
21
+
22
+ @Column({ type: 'varchar', length: 100, nullable: true })
23
+ file_type: string;
24
+
25
+ @Column({ type: 'bigint', nullable: true })
26
+ file_size: number | null;
27
+
28
+ @Column({ type: 'integer', nullable: true })
29
+ chat_id: number | null;
30
+
31
+ constructor(
32
+ request_id: number,
33
+ file_url: string,
34
+ file_name?: string,
35
+ file_type?: string,
36
+ file_size?: number,
37
+ service_id?: number,
38
+ sub_service_id?: number,
39
+ chat_id?: number
40
+ ) {
41
+ super();
42
+ this.request_id = request_id;
43
+ this.service_id = service_id || null;
44
+ this.sub_service_id = sub_service_id || null;
45
+ this.file_url = file_url;
46
+ this.file_name = file_name || '';
47
+ this.file_type = file_type || '';
48
+ this.file_size = file_size || null;
49
+ this.chat_id = chat_id || null;
50
+ }
51
+ }
52
+
@@ -0,0 +1,55 @@
1
+ import { Column, Entity } from "typeorm";
2
+ import { BaseModel } from './BaseModel';
3
+
4
+ export enum SecurityThreatMessageType {
5
+ TEXT = "text",
6
+ IMAGE = "image",
7
+ VIDEO = "video",
8
+ FILE = "file",
9
+ LINK = "link"
10
+ }
11
+
12
+ @Entity({ name: 'security_threat_chats' })
13
+ export class SecurityThreatChat 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: SecurityThreatMessageType,
33
+ default: SecurityThreatMessageType.TEXT,
34
+ nullable: false
35
+ })
36
+ messageType: SecurityThreatMessageType;
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?: SecurityThreatMessageType
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 || SecurityThreatMessageType.TEXT;
53
+ }
54
+ }
55
+