@platform-modules/foreign-ministry 1.3.194 → 1.3.196

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 (47) hide show
  1. package/.env +15 -6
  2. package/dist/data-source.js +0 -2
  3. package/dist/index.d.ts +0 -1
  4. package/dist/index.js +0 -1
  5. package/dist/models/AppointmentRequestModel.d.ts +4 -1
  6. package/dist/models/AppointmentRequestModel.js +6 -2
  7. package/dist/models/FoodRequestModel.d.ts +2 -0
  8. package/dist/models/FoodRequestModel.js +4 -0
  9. package/dist/models/HallRequestModel.d.ts +2 -0
  10. package/dist/models/HallRequestModel.js +4 -0
  11. package/dist/models/HelpContentMappedCategoriesModel.d.ts +6 -0
  12. package/dist/models/HelpContentMappedCategoriesModel.js +34 -0
  13. package/dist/models/HelpContentMappedTagsModel.d.ts +6 -0
  14. package/dist/models/HelpContentMappedTagsModel.js +34 -0
  15. package/dist/models/HelpContentTagsModel.d.ts +5 -0
  16. package/dist/models/HelpContentTagsModel.js +29 -0
  17. package/dist/models/MeetingRequestModel.d.ts +5 -1
  18. package/dist/models/MeetingRequestModel.js +10 -2
  19. package/dist/models/questionTagsModel.d.ts +6 -0
  20. package/dist/models/questionTagsModel.js +34 -0
  21. package/package.json +1 -1
  22. package/src/data-source.ts +0 -2
  23. package/src/index.ts +321 -322
  24. package/src/models/AppointmentRequestModel.ts +7 -2
  25. package/src/models/DiplomaticAcademyRequestModel.ts +80 -80
  26. package/src/models/FoodRequestModel.ts +4 -0
  27. package/src/models/HallRequestModel.ts +4 -0
  28. package/src/models/LanguageCourseRequestModel.ts +67 -67
  29. package/src/models/LeaveConfigModel.ts +71 -71
  30. package/src/models/MeetingRequestModel.ts +10 -2
  31. package/src/models/MissionTravelApprovalModel.ts +101 -101
  32. package/src/models/MissionTravelAttachmentModel.ts +56 -56
  33. package/src/models/MissionTravelChatModel.ts +52 -52
  34. package/src/models/MissionTravelPersonModel.ts +105 -105
  35. package/src/models/MissionTravelWorkflowModel.ts +54 -54
  36. package/src/models/ProjectModel.ts +65 -65
  37. package/src/models/RegisterCandidateRequestModel.ts +183 -183
  38. package/src/models/SectionModel.ts +35 -35
  39. package/src/models/ServicesNotificationConfigsModel.ts +55 -55
  40. package/dist/models/MissionTravelClassConfigModel.d.ts +0 -10
  41. package/dist/models/MissionTravelClassConfigModel.js +0 -50
  42. package/dist/models/MissionTravelPerdiemModel.d.ts +0 -10
  43. package/dist/models/MissionTravelPerdiemModel.js +0 -54
  44. package/dist/models/ProjectMilestoneDocumentsModel.d.ts +0 -10
  45. package/dist/models/ProjectMilestoneDocumentsModel.js +0 -54
  46. package/src/models/ProjectMilestoneDocumentsModel.ts +0 -40
  47. /package/src/models/{LeaveConfigGradesModel.Ts → LeaveConfigGradesModel.ts} +0 -0
@@ -49,8 +49,9 @@ export class AppointmentRequests extends BaseModel {
49
49
  @Column({ type: 'int', nullable: false })
50
50
  user_id: number;
51
51
 
52
- @Column({ type: 'int', nullable: true })
53
- department_id: number | null;
52
+ /** Array of department IDs (e.g. [1, 2, 5]). Replaces single department_id. */
53
+ @Column({ type: 'jsonb', nullable: true })
54
+ departments: number[] | null;
54
55
 
55
56
  @Column({ type: 'int', nullable: true })
56
57
  receiving_department_id: number | null;
@@ -121,5 +122,9 @@ export class AppointmentRequests extends BaseModel {
121
122
 
122
123
  @Column({ type: 'int', nullable: true })
123
124
  follow_up_appointment_id: number | null;
125
+
126
+ /** When true, workflow includes Under Secretary Approval step; when false or null, that step is skipped. */
127
+ @Column({ type: 'boolean', nullable: true })
128
+ is_under_secretery_approval_required: boolean | null;
124
129
  }
125
130
 
@@ -1,80 +1,80 @@
1
- import { Column, Entity } from "typeorm";
2
- import { BaseModel } from './BaseModel';
3
-
4
- export enum DiplomaticAcademyStatus {
5
- SUBMITTED = "Submitted",
6
- PENDING = "Pending",
7
- ASSIGNED = "Assigned",
8
- IN_PROGRESS = "In Progress",
9
- APPROVED = "Approved",
10
- REJECTED = "Rejected"
11
- }
12
-
13
- @Entity({ name: 'diplomatic_academy_requests' })
14
- export class DiplomaticAcademyRequests extends BaseModel {
15
-
16
- // Common columns
17
- @Column({ type: 'int', nullable: true })
18
- req_user_department_id: number | null;
19
-
20
- @Column({ type: 'int', nullable: true })
21
- req_user_section_id: number | null;
22
-
23
- @Column({ type: 'int', nullable: true })
24
- service_id: number | null;
25
-
26
- @Column({ type: 'int', nullable: true })
27
- sub_service_id: number | null;
28
-
29
- @Column({ type: 'int', nullable: false })
30
- user_id: number;
31
-
32
- // Diplomatic Academy specific columns
33
- @Column({ type: 'varchar', length: 500, nullable: false })
34
- course_name: string;
35
-
36
- @Column({ type: 'jsonb', nullable: true })
37
- cost_details: {
38
- material_price?: number;
39
- transportation?: number;
40
- accommodation?: number;
41
- allowances?: number;
42
- food?: number;
43
- present?: number;
44
- } | null;
45
-
46
- @Column({ type: 'int', nullable: false })
47
- estimated_participants: number;
48
-
49
- @Column({ type: 'date', nullable: false })
50
- timeline_date_from: Date;
51
-
52
- @Column({ type: 'date', nullable: false })
53
- timeline_date_to: Date;
54
-
55
- @Column({ type: 'time', nullable: true })
56
- timeline_time_from: string | null;
57
-
58
- @Column({ type: 'time', nullable: true })
59
- timeline_time_to: string | null;
60
-
61
- @Column({ type: 'jsonb', nullable: false })
62
- participants_details: Array<{
63
- full_name: string;
64
- passport: string;
65
- age: number;
66
- qualifications: string;
67
- experience: string;
68
- institution: string;
69
- }>;
70
-
71
- @Column({ type: 'enum', enum: DiplomaticAcademyStatus, default: DiplomaticAcademyStatus.PENDING, nullable: false })
72
- status: DiplomaticAcademyStatus;
73
-
74
- @Column({ type: 'int', nullable: true })
75
- course_id: number | null;
76
-
77
- @Column({ type: 'varchar', nullable: true })
78
- workflow_execution_id: string | null;
79
-
80
- }
1
+ import { Column, Entity } from "typeorm";
2
+ import { BaseModel } from './BaseModel';
3
+
4
+ export enum DiplomaticAcademyStatus {
5
+ SUBMITTED = "Submitted",
6
+ PENDING = "Pending",
7
+ ASSIGNED = "Assigned",
8
+ IN_PROGRESS = "In Progress",
9
+ APPROVED = "Approved",
10
+ REJECTED = "Rejected"
11
+ }
12
+
13
+ @Entity({ name: 'diplomatic_academy_requests' })
14
+ export class DiplomaticAcademyRequests extends BaseModel {
15
+
16
+ // Common columns
17
+ @Column({ type: 'int', nullable: true })
18
+ req_user_department_id: number | null;
19
+
20
+ @Column({ type: 'int', nullable: true })
21
+ req_user_section_id: number | null;
22
+
23
+ @Column({ type: 'int', nullable: true })
24
+ service_id: number | null;
25
+
26
+ @Column({ type: 'int', nullable: true })
27
+ sub_service_id: number | null;
28
+
29
+ @Column({ type: 'int', nullable: false })
30
+ user_id: number;
31
+
32
+ // Diplomatic Academy specific columns
33
+ @Column({ type: 'varchar', length: 500, nullable: false })
34
+ course_name: string;
35
+
36
+ @Column({ type: 'jsonb', nullable: true })
37
+ cost_details: {
38
+ material_price?: number;
39
+ transportation?: number;
40
+ accommodation?: number;
41
+ allowances?: number;
42
+ food?: number;
43
+ present?: number;
44
+ } | null;
45
+
46
+ @Column({ type: 'int', nullable: false })
47
+ estimated_participants: number;
48
+
49
+ @Column({ type: 'date', nullable: false })
50
+ timeline_date_from: Date;
51
+
52
+ @Column({ type: 'date', nullable: false })
53
+ timeline_date_to: Date;
54
+
55
+ @Column({ type: 'time', nullable: true })
56
+ timeline_time_from: string | null;
57
+
58
+ @Column({ type: 'time', nullable: true })
59
+ timeline_time_to: string | null;
60
+
61
+ @Column({ type: 'jsonb', nullable: false })
62
+ participants_details: Array<{
63
+ full_name: string;
64
+ passport: string;
65
+ age: number;
66
+ qualifications: string;
67
+ experience: string;
68
+ institution: string;
69
+ }>;
70
+
71
+ @Column({ type: 'enum', enum: DiplomaticAcademyStatus, default: DiplomaticAcademyStatus.PENDING, nullable: false })
72
+ status: DiplomaticAcademyStatus;
73
+
74
+ @Column({ type: 'int', nullable: true })
75
+ course_id: number | null;
76
+
77
+ @Column({ type: 'varchar', nullable: true })
78
+ workflow_execution_id: string | null;
79
+
80
+ }
@@ -49,6 +49,10 @@ export class FoodRequests extends BaseModel {
49
49
  @Column({ type: 'enum', enum: MeetingRequestStatus, default: MeetingRequestStatus.PENDING, nullable: false })
50
50
  status: MeetingRequestStatus;
51
51
 
52
+ /** When true, workflow includes Under Secretary Approval step; when false or null, that step is skipped. */
53
+ @Column({ type: 'boolean', nullable: true })
54
+ is_under_secretery_approval_required: boolean | null;
55
+
52
56
  @Column({ type: 'varchar', nullable: true })
53
57
  workflow_execution_id: string | null;
54
58
  }
@@ -46,6 +46,10 @@ export class HallRequests extends BaseModel {
46
46
  @Column({ type: 'enum', enum: MeetingRequestStatus, default: MeetingRequestStatus.PENDING, nullable: false })
47
47
  status: MeetingRequestStatus;
48
48
 
49
+ /** When true, workflow includes Under Secretary Approval step; when false or null, that step is skipped. */
50
+ @Column({ type: 'boolean', nullable: true })
51
+ is_under_secretery_approval_required: boolean | null;
52
+
49
53
  @Column({ type: 'varchar', nullable: true })
50
54
  workflow_execution_id: string | null;
51
55
  }
@@ -1,67 +1,67 @@
1
- import { Column, Entity } from "typeorm";
2
- import { BaseModel } from './BaseModel';
3
-
4
- export enum LanguageCourseStatus {
5
- SUBMITTED = "Submitted",
6
- PENDING = "Pending",
7
- ASSIGNED = "Assigned",
8
- IN_PROGRESS = "In Progress",
9
- APPROVED = "Approved",
10
- REJECTED = "Rejected"
11
- }
12
-
13
- @Entity({ name: 'language_course_requests' })
14
- export class LanguageCourseRequests extends BaseModel {
15
-
16
- // Common columns
17
- @Column({ type: 'int', nullable: true })
18
- req_user_department_id: number | null;
19
-
20
- @Column({ type: 'int', nullable: true })
21
- req_user_section_id: number | null;
22
-
23
- @Column({ type: 'int', nullable: true })
24
- service_id: number | null;
25
-
26
- @Column({ type: 'int', nullable: true })
27
- sub_service_id: number | null;
28
-
29
- @Column({ type: 'int', nullable: false })
30
- user_id: number;
31
-
32
- // Language Course specific columns
33
- @Column({ type: 'varchar', length: 255, nullable: false })
34
- course_name: string;
35
-
36
- @Column({ type: 'varchar', length: 100, nullable: false })
37
- course_level: string;
38
-
39
- @Column({ type: 'varchar', length: 255, nullable: false })
40
- institution: string;
41
-
42
- @Column({ type: 'text', nullable: false })
43
- reason_of_course: string;
44
-
45
- @Column({ type: 'int', nullable: false })
46
- estimated_number_of_participants: number;
47
-
48
- // Timeline
49
- @Column({ type: 'date', nullable: false })
50
- date_from: Date;
51
-
52
- @Column({ type: 'date', nullable: false })
53
- date_to: Date;
54
-
55
- @Column({ type: 'time', nullable: false })
56
- time_from: string;
57
-
58
- @Column({ type: 'time', nullable: false })
59
- time_to: string;
60
-
61
- @Column({ type: 'enum', enum: LanguageCourseStatus, default: LanguageCourseStatus.PENDING, nullable: false })
62
- status: LanguageCourseStatus;
63
-
64
- @Column({ type: 'varchar', nullable: true })
65
- workflow_execution_id: string | null;
66
-
67
- }
1
+ import { Column, Entity } from "typeorm";
2
+ import { BaseModel } from './BaseModel';
3
+
4
+ export enum LanguageCourseStatus {
5
+ SUBMITTED = "Submitted",
6
+ PENDING = "Pending",
7
+ ASSIGNED = "Assigned",
8
+ IN_PROGRESS = "In Progress",
9
+ APPROVED = "Approved",
10
+ REJECTED = "Rejected"
11
+ }
12
+
13
+ @Entity({ name: 'language_course_requests' })
14
+ export class LanguageCourseRequests extends BaseModel {
15
+
16
+ // Common columns
17
+ @Column({ type: 'int', nullable: true })
18
+ req_user_department_id: number | null;
19
+
20
+ @Column({ type: 'int', nullable: true })
21
+ req_user_section_id: number | null;
22
+
23
+ @Column({ type: 'int', nullable: true })
24
+ service_id: number | null;
25
+
26
+ @Column({ type: 'int', nullable: true })
27
+ sub_service_id: number | null;
28
+
29
+ @Column({ type: 'int', nullable: false })
30
+ user_id: number;
31
+
32
+ // Language Course specific columns
33
+ @Column({ type: 'varchar', length: 255, nullable: false })
34
+ course_name: string;
35
+
36
+ @Column({ type: 'varchar', length: 100, nullable: false })
37
+ course_level: string;
38
+
39
+ @Column({ type: 'varchar', length: 255, nullable: false })
40
+ institution: string;
41
+
42
+ @Column({ type: 'text', nullable: false })
43
+ reason_of_course: string;
44
+
45
+ @Column({ type: 'int', nullable: false })
46
+ estimated_number_of_participants: number;
47
+
48
+ // Timeline
49
+ @Column({ type: 'date', nullable: false })
50
+ date_from: Date;
51
+
52
+ @Column({ type: 'date', nullable: false })
53
+ date_to: Date;
54
+
55
+ @Column({ type: 'time', nullable: false })
56
+ time_from: string;
57
+
58
+ @Column({ type: 'time', nullable: false })
59
+ time_to: string;
60
+
61
+ @Column({ type: 'enum', enum: LanguageCourseStatus, default: LanguageCourseStatus.PENDING, nullable: false })
62
+ status: LanguageCourseStatus;
63
+
64
+ @Column({ type: 'varchar', nullable: true })
65
+ workflow_execution_id: string | null;
66
+
67
+ }
@@ -1,72 +1,72 @@
1
- import { Column, Entity } from "typeorm";
2
- import { BaseModel } from './BaseModel';
3
-
4
- export enum enumFrequency {
5
- Monthly = 'Monthly',
6
- Yearly = 'Yearly',
7
- }
8
-
9
- //This model is used to store the Financial Grade declaration on the Admin Side
10
- @Entity({ name: 'leave_configuration' })
11
- export class LeaveConfiguration extends BaseModel {
12
-
13
- @Column({ type: 'varchar', nullable: true })
14
- category: string;
15
-
16
- @Column({ type: 'int', nullable: true })
17
- MandC_id: number;
18
-
19
- @Column({ type: 'int', nullable: true })
20
- leave_type_id: number;
21
-
22
- @Column({ type: 'varchar', nullable: true })
23
- frequency: enumFrequency;
24
-
25
- @Column({ type: 'varchar', nullable: true })
26
- region: string;
27
-
28
- @Column({ type: 'varchar', nullable: true })
29
- country: string;
30
-
31
- @Column({ type: 'varchar', nullable: true })
32
- location: string;
33
-
34
- @Column({ nullable: true, default: false })
35
- is_carryforward: boolean;
36
-
37
- @Column({ type: 'int', nullable: true, default: 0 })
38
- carryforward_limit: number;
39
-
40
- @Column({ type: 'date', nullable: true })
41
- from_date: Date;
42
-
43
- @Column({ type: 'date', nullable: true })
44
- to_date: Date;
45
-
46
- @Column({ type: 'varchar', nullable: true })
47
- reason: string;
48
-
49
- @Column({ type: 'int', nullable: true })
50
- emergency_balance_days: number | null;
51
-
52
- @Column({ type: 'date', nullable: true })
53
- last_credited: Date | null;
54
-
55
- constructor(category: string, MandC_id: number, leave_type_id: number, frequency: enumFrequency, region: string, country: string, location: string, is_carryforward: boolean, carryforward_limit: number, from_date: Date, to_date: Date, reason: string, emergency_balance_days?: number|null, last_credited?: Date|null) {
56
- super();
57
- this.category = category;
58
- this.MandC_id = MandC_id;
59
- this.leave_type_id = leave_type_id;
60
- this.frequency = frequency;
61
- this.region = region;
62
- this.country = country;
63
- this.location = location;
64
- this.is_carryforward = is_carryforward;
65
- this.carryforward_limit = carryforward_limit;
66
- this.from_date = from_date;
67
- this.to_date = to_date;
68
- this.reason = reason;
69
- this.emergency_balance_days = emergency_balance_days ?? null;
70
- this.last_credited = last_credited ?? null;
71
- }
1
+ import { Column, Entity } from "typeorm";
2
+ import { BaseModel } from './BaseModel';
3
+
4
+ export enum enumFrequency {
5
+ Monthly = 'Monthly',
6
+ Yearly = 'Yearly',
7
+ }
8
+
9
+ //This model is used to store the Financial Grade declaration on the Admin Side
10
+ @Entity({ name: 'leave_configuration' })
11
+ export class LeaveConfiguration extends BaseModel {
12
+
13
+ @Column({ type: 'varchar', nullable: true })
14
+ category: string;
15
+
16
+ @Column({ type: 'int', nullable: true })
17
+ MandC_id: number;
18
+
19
+ @Column({ type: 'int', nullable: true })
20
+ leave_type_id: number;
21
+
22
+ @Column({ type: 'varchar', nullable: true })
23
+ frequency: enumFrequency;
24
+
25
+ @Column({ type: 'varchar', nullable: true })
26
+ region: string;
27
+
28
+ @Column({ type: 'varchar', nullable: true })
29
+ country: string;
30
+
31
+ @Column({ type: 'varchar', nullable: true })
32
+ location: string;
33
+
34
+ @Column({ nullable: true, default: false })
35
+ is_carryforward: boolean;
36
+
37
+ @Column({ type: 'int', nullable: true, default: 0 })
38
+ carryforward_limit: number;
39
+
40
+ @Column({ type: 'date', nullable: true })
41
+ from_date: Date;
42
+
43
+ @Column({ type: 'date', nullable: true })
44
+ to_date: Date;
45
+
46
+ @Column({ type: 'varchar', nullable: true })
47
+ reason: string;
48
+
49
+ @Column({ type: 'int', nullable: true })
50
+ emergency_balance_days: number | null;
51
+
52
+ @Column({ type: 'date', nullable: true })
53
+ last_credited: Date | null;
54
+
55
+ constructor(category: string, MandC_id: number, leave_type_id: number, frequency: enumFrequency, region: string, country: string, location: string, is_carryforward: boolean, carryforward_limit: number, from_date: Date, to_date: Date, reason: string, emergency_balance_days?: number|null, last_credited?: Date|null) {
56
+ super();
57
+ this.category = category;
58
+ this.MandC_id = MandC_id;
59
+ this.leave_type_id = leave_type_id;
60
+ this.frequency = frequency;
61
+ this.region = region;
62
+ this.country = country;
63
+ this.location = location;
64
+ this.is_carryforward = is_carryforward;
65
+ this.carryforward_limit = carryforward_limit;
66
+ this.from_date = from_date;
67
+ this.to_date = to_date;
68
+ this.reason = reason;
69
+ this.emergency_balance_days = emergency_balance_days ?? null;
70
+ this.last_credited = last_credited ?? null;
71
+ }
72
72
  }
@@ -65,12 +65,16 @@ export class MeetingRequests extends BaseModel {
65
65
  @Column({ type: 'int', nullable: false })
66
66
  user_id: number;
67
67
 
68
- @Column({ type: 'int', nullable: true })
69
- department_id: number | null;
68
+ /** Array of department IDs (e.g. [1, 2, 5]). Replaces single department_id. */
69
+ @Column({ type: 'jsonb', nullable: true })
70
+ departments: number[] | null;
70
71
 
71
72
  @Column({ type: 'int', nullable: true })
72
73
  receiving_department_id: number | null;
73
74
 
75
+ @Column({ type: 'int', nullable: true })
76
+ project_id: number | null;
77
+
74
78
  @Column({ type: 'enum', enum: RequestResourceSystem, nullable: true })
75
79
  request_resource_system: RequestResourceSystem | null;
76
80
 
@@ -155,4 +159,8 @@ export class MeetingRequests extends BaseModel {
155
159
 
156
160
  @Column({ type: 'int', nullable: true })
157
161
  follow_up_meeting_id: number | null;
162
+
163
+ /** When true, workflow includes Under Secretary Approval step; when false or null, that step is skipped. */
164
+ @Column({ type: 'boolean', nullable: true })
165
+ is_under_secretery_approval_required: boolean | null;
158
166
  }