@platform-modules/foreign-ministry 1.3.134 → 1.3.136

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 (39) hide show
  1. package/dist/data-source.js +23 -1
  2. package/dist/index.d.ts +11 -0
  3. package/dist/index.js +13 -0
  4. package/dist/models/HallApprovalModel.d.ts +17 -0
  5. package/dist/models/HallApprovalModel.js +78 -0
  6. package/dist/models/HallAttachmentModel.d.ts +11 -0
  7. package/dist/models/HallAttachmentModel.js +52 -0
  8. package/dist/models/HallChatModel.d.ts +13 -0
  9. package/dist/models/HallChatModel.js +70 -0
  10. package/dist/models/HallRequestModel.d.ts +17 -0
  11. package/dist/models/HallRequestModel.js +73 -0
  12. package/dist/models/HallWorkflowModel.d.ts +13 -0
  13. package/dist/models/HallWorkflowModel.js +57 -0
  14. package/dist/models/MeetingApprovalModel.d.ts +22 -0
  15. package/dist/models/MeetingApprovalModel.js +84 -0
  16. package/dist/models/MeetingAttachmentModel.d.ts +11 -0
  17. package/dist/models/MeetingAttachmentModel.js +52 -0
  18. package/dist/models/MeetingAttendeeModel.d.ts +12 -0
  19. package/dist/models/MeetingAttendeeModel.js +39 -0
  20. package/dist/models/MeetingChatModel.d.ts +19 -0
  21. package/dist/models/MeetingChatModel.js +77 -0
  22. package/dist/models/MeetingRequestModel.d.ts +68 -0
  23. package/dist/models/MeetingRequestModel.js +174 -0
  24. package/dist/models/MeetingWorkflowModel.d.ts +17 -0
  25. package/dist/models/MeetingWorkflowModel.js +62 -0
  26. package/package.json +1 -1
  27. package/src/data-source.ts +23 -1
  28. package/src/index.ts +13 -1
  29. package/src/models/HallApprovalModel.ts +50 -0
  30. package/src/models/HallAttachmentModel.ts +29 -0
  31. package/src/models/HallChatModel.ts +56 -0
  32. package/src/models/HallRequestModel.ts +45 -0
  33. package/src/models/HallWorkflowModel.ts +33 -0
  34. package/src/models/MeetingApprovalModel.ts +56 -0
  35. package/src/models/MeetingAttachmentModel.ts +29 -0
  36. package/src/models/MeetingAttendeeModel.ts +21 -0
  37. package/src/models/MeetingChatModel.ts +63 -0
  38. package/src/models/MeetingRequestModel.ts +132 -0
  39. package/src/models/MeetingWorkflowModel.ts +38 -0
@@ -0,0 +1,29 @@
1
+ import { Column, Entity } from 'typeorm';
2
+ import { BaseModel } from './BaseModel';
3
+
4
+ @Entity({ name: 'hall_attachments' })
5
+ export class HallRequestAttachment 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
+ }
@@ -0,0 +1,56 @@
1
+ import { Column, Entity } from 'typeorm';
2
+ import { BaseModel } from './BaseModel';
3
+ import { MeetingMessageType } from './MeetingChatModel';
4
+
5
+ @Entity({ name: 'hall_chats' })
6
+ export class HallRequestChat extends BaseModel {
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: 'integer', nullable: false })
17
+ user_id: number;
18
+
19
+ @Column({ type: 'integer', nullable: true })
20
+ role_id: number | null;
21
+
22
+ @Column({ type: 'text', nullable: false })
23
+ message: string;
24
+
25
+ @Column({
26
+ type: 'enum',
27
+ enum: MeetingMessageType,
28
+ default: MeetingMessageType.TEXT,
29
+ nullable: false,
30
+ })
31
+ messageType: MeetingMessageType;
32
+
33
+ @Column({ type: 'text', nullable: true })
34
+ status: string | null;
35
+
36
+ constructor(
37
+ request_id?: number,
38
+ user_id?: number,
39
+ role_id?: number | null,
40
+ message?: string,
41
+ service_id?: number | null,
42
+ sub_service_id?: number | null,
43
+ messageType?: MeetingMessageType,
44
+ status?: string
45
+ ) {
46
+ super();
47
+ this.request_id = request_id ?? 0;
48
+ this.service_id = service_id ?? null;
49
+ this.sub_service_id = sub_service_id ?? null;
50
+ this.user_id = user_id ?? 0;
51
+ this.role_id = role_id ?? null;
52
+ this.message = message ?? '';
53
+ this.messageType = messageType ?? MeetingMessageType.TEXT;
54
+ this.status = status ?? 'Pending';
55
+ }
56
+ }
@@ -0,0 +1,45 @@
1
+ import { Column, Entity } from 'typeorm';
2
+ import { BaseModel } from './BaseModel';
3
+ import { MeetingRequestStatus } from './MeetingRequestModel';
4
+
5
+ @Entity({ name: 'hall_requests' })
6
+ export class HallRequests extends BaseModel {
7
+ @Column({ type: 'int', nullable: true })
8
+ req_user_department_id: number | null;
9
+
10
+ @Column({ type: 'int', nullable: true })
11
+ req_user_section_id: number | null;
12
+
13
+ @Column({ type: 'int', nullable: true })
14
+ service_id: number | null;
15
+
16
+ @Column({ type: 'int', nullable: true })
17
+ sub_service_id: number | null;
18
+
19
+ @Column({ type: 'int', nullable: false })
20
+ user_id: number;
21
+
22
+ @Column({ type: 'int', nullable: true })
23
+ meeting_id: number | null;
24
+
25
+ @Column({ type: 'int', nullable: true })
26
+ hall_id: number | null;
27
+
28
+ @Column({ type: 'date', nullable: true })
29
+ date: string | null;
30
+
31
+ @Column({ type: 'time', nullable: true })
32
+ from_time: string | null;
33
+
34
+ @Column({ type: 'time', nullable: true })
35
+ to_time: string | null;
36
+
37
+ @Column({ type: 'int', nullable: true })
38
+ location_id: number | null;
39
+
40
+ @Column({ type: 'enum', enum: MeetingRequestStatus, default: MeetingRequestStatus.PENDING, nullable: false })
41
+ status: MeetingRequestStatus;
42
+
43
+ @Column({ type: 'varchar', nullable: true })
44
+ workflow_execution_id: string | null;
45
+ }
@@ -0,0 +1,33 @@
1
+ import { Column, Entity } from 'typeorm';
2
+ import { BaseModel } from './BaseModel';
3
+ import { MeetingWorkFlowStatus } from './MeetingWorkflowModel';
4
+
5
+ @Entity({ name: 'hall_workflows' })
6
+ export class HallWorkFlow extends BaseModel {
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
+ content: string;
18
+
19
+ @Column({ type: 'enum', enum: MeetingWorkFlowStatus, default: MeetingWorkFlowStatus.NOT_YET_STARTED, nullable: false })
20
+ status: MeetingWorkFlowStatus;
21
+
22
+ @Column({ type: 'integer', nullable: true })
23
+ user_id: number | null;
24
+
25
+ @Column({ type: 'integer', nullable: true })
26
+ role_id: number | null;
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
+ }
@@ -0,0 +1,56 @@
1
+ import { Column, Entity } from 'typeorm';
2
+ import { BaseModel } from './BaseModel';
3
+
4
+ export enum MeetingApprovalStatus {
5
+ PENDING = 'Pending',
6
+ IN_PROGRESS = 'In Progress',
7
+ APPROVED = 'Approved',
8
+ REJECTED = 'Rejected',
9
+ }
10
+
11
+ @Entity({ name: 'meeting_approvals' })
12
+ export class MeetingApprovalDetails 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: true })
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: MeetingApprovalStatus,
49
+ default: MeetingApprovalStatus.PENDING,
50
+ nullable: false,
51
+ })
52
+ approval_status: MeetingApprovalStatus;
53
+
54
+ @Column({ type: 'boolean', default: true, nullable: false })
55
+ is_allowed: boolean;
56
+ }
@@ -0,0 +1,29 @@
1
+ import { Column, Entity } from 'typeorm';
2
+ import { BaseModel } from './BaseModel';
3
+
4
+ @Entity({ name: 'meeting_attachments' })
5
+ export class MeetingRequestAttachment 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
+ }
@@ -0,0 +1,21 @@
1
+ import { Column, Entity } from 'typeorm';
2
+ import { BaseModel } from './BaseModel';
3
+
4
+ export enum MeetingAttendeeStatus {
5
+ INVITED = 'Invited',
6
+ ACCEPTED = 'Accepted',
7
+ REJECTED = 'Rejected',
8
+ NO_SHOW = 'No-Show',
9
+ }
10
+
11
+ @Entity({ name: 'meeting_attendees' })
12
+ export class MeetingAttendees extends BaseModel {
13
+ @Column({ type: 'integer', nullable: false })
14
+ attendee_id: number;
15
+
16
+ @Column({ type: 'integer', nullable: false })
17
+ meeting_id: number;
18
+
19
+ @Column({ type: 'enum', enum: MeetingAttendeeStatus, default: MeetingAttendeeStatus.INVITED, nullable: false })
20
+ status: MeetingAttendeeStatus;
21
+ }
@@ -0,0 +1,63 @@
1
+ import { Column, Entity } from 'typeorm';
2
+ import { BaseModel } from './BaseModel';
3
+
4
+ export enum MeetingMessageType {
5
+ TEXT = 'text',
6
+ IMAGE = 'image',
7
+ VIDEO = 'video',
8
+ FILE = 'file',
9
+ LINK = 'link',
10
+ }
11
+
12
+ @Entity({ name: 'meeting_chats' })
13
+ export class MeetingRequestChat 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: 'integer', nullable: true })
27
+ role_id: number;
28
+
29
+ @Column({ type: 'text', nullable: false })
30
+ message: string;
31
+
32
+ @Column({
33
+ type: 'enum',
34
+ enum: MeetingMessageType,
35
+ default: MeetingMessageType.TEXT,
36
+ nullable: false,
37
+ })
38
+ messageType: MeetingMessageType;
39
+
40
+ @Column({ type: 'text', nullable: true })
41
+ status: string;
42
+
43
+ constructor(
44
+ request_id: number,
45
+ user_id: number,
46
+ role_id: number,
47
+ message: string,
48
+ service_id?: number,
49
+ sub_service_id?: number,
50
+ messageType?: MeetingMessageType,
51
+ status?: string
52
+ ) {
53
+ super();
54
+ this.request_id = request_id;
55
+ this.service_id = service_id ?? null;
56
+ this.sub_service_id = sub_service_id ?? null;
57
+ this.user_id = user_id;
58
+ this.role_id = role_id;
59
+ this.message = message;
60
+ this.messageType = messageType ?? MeetingMessageType.TEXT;
61
+ this.status = status ?? 'Pending';
62
+ }
63
+ }
@@ -0,0 +1,132 @@
1
+ import { Column, Entity } from 'typeorm';
2
+ import { BaseModel } from './BaseModel';
3
+
4
+ export enum MeetingRequestStatus {
5
+ PENDING = 'Pending',
6
+ ASSIGNED = 'Assigned',
7
+ IN_PROGRESS = 'In Progress',
8
+ APPROVED = 'Approved',
9
+ REJECTED = 'Rejected',
10
+ }
11
+
12
+ export enum RequestResourceSystem {
13
+ ORIGIN_MC = 'Origin M&C',
14
+ MINISTRY = 'Ministry',
15
+ }
16
+
17
+ export enum MeetingRequestType {
18
+ INTERNAL = 'Internal',
19
+ EXTERNAL = 'External',
20
+ OTHER_MINISTERS = 'Other Ministers',
21
+ }
22
+
23
+ export enum MeetingType {
24
+ PHYSICAL = 'Physical',
25
+ ONLINE = 'Online',
26
+ }
27
+
28
+ export enum OtherResourcesBooking {
29
+ PRINTERS = 'Printers',
30
+ DEVICES = 'Devices',
31
+ }
32
+
33
+ export enum YesNo {
34
+ YES = 'Yes',
35
+ NO = 'No',
36
+ }
37
+
38
+ export enum OnlineMeetingDetails {
39
+ PLATFORM = 'Platform',
40
+ MEETING_LINK = 'Meeting Link',
41
+ UID_PWD = 'UID/PWD',
42
+ }
43
+
44
+ export enum MeetingLocation {
45
+ EMBASSY = 'Embassy',
46
+ MINISTRY = 'Ministry',
47
+ EXTERNAL_VENUE = 'External Venue',
48
+ }
49
+
50
+ @Entity({ name: 'meeting_requests' })
51
+ export class MeetingRequests extends BaseModel {
52
+ @Column({ type: 'int', nullable: true })
53
+ req_user_department_id: number | null;
54
+
55
+ @Column({ type: 'int', nullable: true })
56
+ req_user_section_id: number | null;
57
+
58
+ @Column({ type: 'int', nullable: true })
59
+ service_id: number | null;
60
+
61
+ @Column({ type: 'int', nullable: true })
62
+ sub_service_id: number | null;
63
+
64
+ @Column({ type: 'int', nullable: false })
65
+ user_id: number;
66
+
67
+ @Column({ type: 'int', nullable: true })
68
+ department_id: number | null;
69
+
70
+ @Column({ type: 'int', nullable: true })
71
+ receiving_department_id: number | null;
72
+
73
+ @Column({ type: 'enum', enum: RequestResourceSystem, nullable: true })
74
+ request_resource_system: RequestResourceSystem | null;
75
+
76
+ @Column({ type: 'enum', enum: MeetingRequestType, nullable: true })
77
+ request_type: MeetingRequestType | null;
78
+
79
+ @Column({ type: 'enum', enum: MeetingType, nullable: true })
80
+ meeting_type: MeetingType | null;
81
+
82
+ @Column({ type: 'date', nullable: true })
83
+ meeting_date: string | null;
84
+
85
+ @Column({ type: 'time', nullable: true })
86
+ from_time: string | null;
87
+
88
+ @Column({ type: 'time', nullable: true })
89
+ to_time: string | null;
90
+
91
+ @Column({ type: 'int', nullable: true })
92
+ hall_id: number | null;
93
+
94
+ @Column({ type: 'enum', enum: OtherResourcesBooking, nullable: true })
95
+ other_resources_booking: OtherResourcesBooking | null;
96
+
97
+ @Column({ type: 'text', nullable: true })
98
+ comments: string | null;
99
+
100
+ @Column({ type: 'enum', enum: YesNo, nullable: true })
101
+ food_service_required: YesNo | null;
102
+
103
+ @Column({ type: 'varchar', length: 255, nullable: true })
104
+ organization_name: string | null;
105
+
106
+ @Column({ type: 'varchar', length: 255, nullable: true })
107
+ person_name: string | null;
108
+
109
+ @Column({ type: 'varchar', length: 50, nullable: true })
110
+ contact_number: string | null;
111
+
112
+ @Column({ type: 'enum', enum: YesNo, nullable: true })
113
+ protocal_support_required: YesNo | null;
114
+
115
+ @Column({ type: 'enum', enum: YesNo, nullable: true })
116
+ external_attendees_required_gate_pass: YesNo | null;
117
+
118
+ @Column({ type: 'enum', enum: OnlineMeetingDetails, nullable: true })
119
+ online_meeting_details: OnlineMeetingDetails | null;
120
+
121
+ @Column({ type: 'varchar', length: 500, nullable: true })
122
+ meeting_link: string | null;
123
+
124
+ @Column({ type: 'enum', enum: MeetingLocation, nullable: true })
125
+ meeting_location: MeetingLocation | null;
126
+
127
+ @Column({ type: 'enum', enum: MeetingRequestStatus, default: MeetingRequestStatus.PENDING, nullable: false })
128
+ status: MeetingRequestStatus;
129
+
130
+ @Column({ type: 'varchar', nullable: true })
131
+ workflow_execution_id: string | null;
132
+ }
@@ -0,0 +1,38 @@
1
+ import { Column, Entity } from 'typeorm';
2
+ import { BaseModel } from './BaseModel';
3
+
4
+ export enum MeetingWorkFlowStatus {
5
+ COMPLETED = 'Completed',
6
+ NOT_YET_STARTED = 'Not Yet Started',
7
+ PENDING = 'Pending',
8
+ }
9
+
10
+ @Entity({ name: 'meeting_workflows' })
11
+ export class MeetingWorkFlow 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({ type: 'enum', enum: MeetingWorkFlowStatus, default: MeetingWorkFlowStatus.NOT_YET_STARTED, nullable: false })
25
+ status: MeetingWorkFlowStatus;
26
+
27
+ @Column({ type: 'integer', nullable: true })
28
+ user_id: number | null;
29
+
30
+ @Column({ type: 'integer', nullable: true })
31
+ role_id: number | null;
32
+
33
+ @Column({ type: 'integer', nullable: true })
34
+ department_id: number | null;
35
+
36
+ @Column({ type: 'integer', nullable: true })
37
+ section_id: number | null;
38
+ }