@platform-modules/foreign-ministry 1.3.319 → 1.3.321

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 (78) hide show
  1. package/.env +12 -5
  2. package/dist/models/ChildrensEducationRequestModel.d.ts +1 -0
  3. package/dist/models/ChildrensEducationRequestModel.js +4 -0
  4. package/dist/models/EmbassyEvaluationWorkflowModel.d.ts +1 -2
  5. package/dist/models/EmbassyEvaluationWorkflowModel.js +2 -6
  6. package/dist/models/EmployeeOfMonthNominationWorkflowModel.d.ts +1 -2
  7. package/dist/models/EmployeeOfMonthNominationWorkflowModel.js +2 -6
  8. package/dist/models/EmployeeOfMonthSupportNominationWorkflowModel.d.ts +1 -2
  9. package/dist/models/EmployeeOfMonthSupportNominationWorkflowModel.js +2 -6
  10. package/dist/models/InitiatorEmployeeNominationWorkflowModel.d.ts +1 -2
  11. package/dist/models/InitiatorEmployeeNominationWorkflowModel.js +3 -7
  12. package/dist/models/InnovativeEmployeeNominationWorkflowModel.d.ts +1 -2
  13. package/dist/models/InnovativeEmployeeNominationWorkflowModel.js +3 -7
  14. package/dist/models/IpeGrievanceWorkflowModel.d.ts +1 -2
  15. package/dist/models/IpeGrievanceWorkflowModel.js +3 -7
  16. package/dist/models/MedicalExpensesRequestModel.d.ts +1 -0
  17. package/dist/models/MedicalExpensesRequestModel.js +4 -0
  18. package/dist/models/RecruitmentDomesticWorkersRequestModel.d.ts +1 -0
  19. package/dist/models/RecruitmentDomesticWorkersRequestModel.js +4 -0
  20. package/dist/models/TransferAllowanceRequestModel.d.ts +1 -0
  21. package/dist/models/TransferAllowanceRequestModel.js +4 -0
  22. package/dist/models/TransferSalaryBankAccountRequestModel.d.ts +1 -0
  23. package/dist/models/TransferSalaryBankAccountRequestModel.js +4 -0
  24. package/package.json +24 -24
  25. package/src/data-source.ts +686 -686
  26. package/src/index.ts +598 -598
  27. package/src/models/ChildrensEducationRequestModel.ts +3 -0
  28. package/src/models/DiplomaticAcademyRequestModel.ts +80 -80
  29. package/src/models/DocumentationFileModel.ts +40 -40
  30. package/src/models/EmbassyEvaluationCycleModel.ts +38 -38
  31. package/src/models/EmbassyEvaluationRequestModel.ts +59 -59
  32. package/src/models/EmbassyEvaluationWorkflowModel.ts +2 -5
  33. package/src/models/EmployeeEvaluationAnswerModel.ts +26 -26
  34. package/src/models/EmployeeOfMonthNominationWorkflowModel.ts +2 -5
  35. package/src/models/EmployeeOfMonthSupportNominationWorkflowModel.ts +47 -50
  36. package/src/models/EvaluationEligibilitySettingModel.ts +51 -51
  37. package/src/models/EvaluationFormModel.ts +44 -44
  38. package/src/models/InitiatorEmployeeNominationWorkflowModel.ts +2 -5
  39. package/src/models/InnovativeEmployeeNominationWorkflowModel.ts +2 -5
  40. package/src/models/IpeGrievanceWorkflowModel.ts +2 -5
  41. package/src/models/LMSExternalEntityTrainedPersonModel.ts +45 -45
  42. package/src/models/LanguageCourseRequestModel.ts +67 -67
  43. package/src/models/LeaveConfigModel.ts +71 -71
  44. package/src/models/MedicalExpensesRequestModel.ts +3 -0
  45. package/src/models/MissionTravelApprovalModel.ts +101 -101
  46. package/src/models/MissionTravelAttachmentModel.ts +56 -56
  47. package/src/models/MissionTravelChatModel.ts +52 -52
  48. package/src/models/MissionTravelPersonModel.ts +105 -105
  49. package/src/models/MissionTravelWorkflowModel.ts +54 -54
  50. package/src/models/ProjectContactsModel.ts +51 -51
  51. package/src/models/ProjectFaqModel.ts +36 -36
  52. package/src/models/ProjectInvoicesModel.ts +41 -41
  53. package/src/models/ProjectModel.ts +75 -75
  54. package/src/models/ProjectTasksModel.ts +75 -75
  55. package/src/models/RecruitmentDomesticWorkersRequestModel.ts +3 -0
  56. package/src/models/SectionModel.ts +35 -35
  57. package/src/models/ServiceSlaApprovalModel.ts +63 -63
  58. package/src/models/ServicesNotificationConfigsModel.ts +55 -55
  59. package/src/models/TransferAllowanceRequestModel.ts +3 -0
  60. package/src/models/TransferSalaryBankAccountRequestModel.ts +3 -0
  61. package/dist/models/EmbassyEvaluationDepartmentSettingModel.d.ts +0 -14
  62. package/dist/models/EmbassyEvaluationDepartmentSettingModel.js +0 -56
  63. package/dist/models/EvaluationMastersModel.d.ts +0 -16
  64. package/dist/models/EvaluationMastersModel.js +0 -67
  65. package/dist/models/EvaluationQuestionMasterModel.d.ts +0 -10
  66. package/dist/models/EvaluationQuestionMasterModel.js +0 -42
  67. package/dist/models/EvaluationSectionMasterModel.d.ts +0 -7
  68. package/dist/models/EvaluationSectionMasterModel.js +0 -36
  69. package/dist/models/EvaluationWorkflowModel.d.ts +0 -60
  70. package/dist/models/EvaluationWorkflowModel.js +0 -215
  71. package/dist/models/IneligibleForEvaluationModel.d.ts +0 -8
  72. package/dist/models/IneligibleForEvaluationModel.js +0 -44
  73. package/dist/models/MissionTravelClassConfigModel.d.ts +0 -10
  74. package/dist/models/MissionTravelClassConfigModel.js +0 -50
  75. package/dist/models/MissionTravelPerdiemModel.d.ts +0 -10
  76. package/dist/models/MissionTravelPerdiemModel.js +0 -54
  77. package/dist/models/UuidAuditModel.d.ts +0 -9
  78. package/dist/models/UuidAuditModel.js +0 -41
@@ -1,51 +1,51 @@
1
- import { Column, Entity, JoinColumn, ManyToOne, OneToMany } from 'typeorm';
2
- import { BaseModel } from './BaseModel';
3
-
4
- /**
5
- * Department/section/month evaluation window: which employees are excluded or re-included
6
- * for that cycle (e.g. excluded in January, eligible again in May via a different month row).
7
- */
8
- @Entity({ name: 'evaluation_eligibility_settings' })
9
- export class EvaluationEligibilitySetting extends BaseModel {
10
- @Column({ type: 'int' })
11
- department_id: number;
12
-
13
- @Column({ type: 'int' })
14
- section_id: number;
15
-
16
- /** Evaluation window start month (1–12). */
17
- @Column({ type: 'int' })
18
- from_month: number;
19
-
20
- /** Evaluation window end month (1–12), inclusive. */
21
- @Column({ type: 'int' })
22
- to_month: number;
23
-
24
- /** Last day of the evaluation month (1–31) when submissions close. */
25
- @Column({ type: 'int' })
26
- evaluation_end_date: number;
27
-
28
- @Column({ type: 'boolean', default: true })
29
- is_active: boolean;
30
-
31
- /** Maximum employees allowed in one evaluation request for this dept/section window. */
32
- @Column({ type: 'int', default: 50 })
33
- max_employees_per_request: number;
34
-
35
- @OneToMany(() => EvaluationEligibilitySettingEmployee, (e) => e.evaluation_eligibility_setting)
36
- employees?: EvaluationEligibilitySettingEmployee[];
37
- }
38
-
39
- @Entity({ name: 'evaluation_eligibility_setting_employees' })
40
- export class EvaluationEligibilitySettingEmployee extends BaseModel {
41
- @ManyToOne(() => EvaluationEligibilitySetting, (s) => s.employees, { onDelete: 'CASCADE' })
42
- @JoinColumn({ name: 'setting_id' })
43
- evaluation_eligibility_setting: EvaluationEligibilitySetting;
44
-
45
- @Column({ type: 'int' })
46
- employee_id: number;
47
-
48
- /** When true, employee is excluded from evaluation for this setting’s month/department/section. */
49
- @Column({ type: 'boolean', default: true })
50
- is_excluded_from_evaluation: boolean;
51
- }
1
+ import { Column, Entity, JoinColumn, ManyToOne, OneToMany } from 'typeorm';
2
+ import { BaseModel } from './BaseModel';
3
+
4
+ /**
5
+ * Department/section/month evaluation window: which employees are excluded or re-included
6
+ * for that cycle (e.g. excluded in January, eligible again in May via a different month row).
7
+ */
8
+ @Entity({ name: 'evaluation_eligibility_settings' })
9
+ export class EvaluationEligibilitySetting extends BaseModel {
10
+ @Column({ type: 'int' })
11
+ department_id: number;
12
+
13
+ @Column({ type: 'int' })
14
+ section_id: number;
15
+
16
+ /** Evaluation window start month (1–12). */
17
+ @Column({ type: 'int' })
18
+ from_month: number;
19
+
20
+ /** Evaluation window end month (1–12), inclusive. */
21
+ @Column({ type: 'int' })
22
+ to_month: number;
23
+
24
+ /** Last day of the evaluation month (1–31) when submissions close. */
25
+ @Column({ type: 'int' })
26
+ evaluation_end_date: number;
27
+
28
+ @Column({ type: 'boolean', default: true })
29
+ is_active: boolean;
30
+
31
+ /** Maximum employees allowed in one evaluation request for this dept/section window. */
32
+ @Column({ type: 'int', default: 50 })
33
+ max_employees_per_request: number;
34
+
35
+ @OneToMany(() => EvaluationEligibilitySettingEmployee, (e) => e.evaluation_eligibility_setting)
36
+ employees?: EvaluationEligibilitySettingEmployee[];
37
+ }
38
+
39
+ @Entity({ name: 'evaluation_eligibility_setting_employees' })
40
+ export class EvaluationEligibilitySettingEmployee extends BaseModel {
41
+ @ManyToOne(() => EvaluationEligibilitySetting, (s) => s.employees, { onDelete: 'CASCADE' })
42
+ @JoinColumn({ name: 'setting_id' })
43
+ evaluation_eligibility_setting: EvaluationEligibilitySetting;
44
+
45
+ @Column({ type: 'int' })
46
+ employee_id: number;
47
+
48
+ /** When true, employee is excluded from evaluation for this setting’s month/department/section. */
49
+ @Column({ type: 'boolean', default: true })
50
+ is_excluded_from_evaluation: boolean;
51
+ }
@@ -1,44 +1,44 @@
1
- import { Column, Entity, Index, OneToMany } from 'typeorm';
2
- import { BaseModel } from './BaseModel';
3
- import { EvaluationFormSection } from './EvaluationFormSectionModel';
4
-
5
- export enum EvaluationFormType {
6
- EMPLOYEE_EVALUATION = 'employee_evaluation',
7
- DEPARTMENT = 'department',
8
- }
9
-
10
- @Entity({ name: 'evaluation_forms' })
11
- @Index('uq_evaluation_forms_form_name', ['form_name'], { unique: true, where: '"is_deleted" = false' })
12
- @Index('uq_evaluation_forms_form_code', ['form_code'], { unique: true, where: '"is_deleted" = false' })
13
- @Index('uq_evaluation_forms_dept_section', ['department_id', 'section_id'], {
14
- unique: true,
15
- where: `"is_deleted" = false AND form_type = 'department'`,
16
- })
17
- export class EvaluationForm extends BaseModel {
18
- @Column({ type: 'varchar', length: 255, nullable: false })
19
- form_name: string;
20
-
21
- @Column({ type: 'varchar', length: 64, nullable: false })
22
- form_code: string;
23
-
24
- @Column({ type: 'varchar', length: 32, nullable: false })
25
- form_type: EvaluationFormType;
26
-
27
- @Column({ type: 'int', nullable: true })
28
- department_id: number | null;
29
-
30
- @Column({ type: 'int', nullable: true })
31
- section_id: number | null;
32
-
33
- @Column({ type: 'int', default: 0 })
34
- min_score: number;
35
-
36
- @Column({ type: 'int', default: 10 })
37
- max_score: number;
38
-
39
- @Column({ type: 'boolean', default: true })
40
- is_active: boolean;
41
-
42
- @OneToMany(() => EvaluationFormSection, (s) => s.form)
43
- sections?: EvaluationFormSection[];
44
- }
1
+ import { Column, Entity, Index, OneToMany } from 'typeorm';
2
+ import { BaseModel } from './BaseModel';
3
+ import { EvaluationFormSection } from './EvaluationFormSectionModel';
4
+
5
+ export enum EvaluationFormType {
6
+ EMPLOYEE_EVALUATION = 'employee_evaluation',
7
+ DEPARTMENT = 'department',
8
+ }
9
+
10
+ @Entity({ name: 'evaluation_forms' })
11
+ @Index('uq_evaluation_forms_form_name', ['form_name'], { unique: true, where: '"is_deleted" = false' })
12
+ @Index('uq_evaluation_forms_form_code', ['form_code'], { unique: true, where: '"is_deleted" = false' })
13
+ @Index('uq_evaluation_forms_dept_section', ['department_id', 'section_id'], {
14
+ unique: true,
15
+ where: `"is_deleted" = false AND form_type = 'department'`,
16
+ })
17
+ export class EvaluationForm extends BaseModel {
18
+ @Column({ type: 'varchar', length: 255, nullable: false })
19
+ form_name: string;
20
+
21
+ @Column({ type: 'varchar', length: 64, nullable: false })
22
+ form_code: string;
23
+
24
+ @Column({ type: 'varchar', length: 32, nullable: false })
25
+ form_type: EvaluationFormType;
26
+
27
+ @Column({ type: 'int', nullable: true })
28
+ department_id: number | null;
29
+
30
+ @Column({ type: 'int', nullable: true })
31
+ section_id: number | null;
32
+
33
+ @Column({ type: 'int', default: 0 })
34
+ min_score: number;
35
+
36
+ @Column({ type: 'int', default: 10 })
37
+ max_score: number;
38
+
39
+ @Column({ type: 'boolean', default: true })
40
+ is_active: boolean;
41
+
42
+ @OneToMany(() => EvaluationFormSection, (s) => s.form)
43
+ sections?: EvaluationFormSection[];
44
+ }
@@ -31,11 +31,8 @@ export class InitiatorEmployeeNominationWorkFlow extends BaseModel {
31
31
  @Column({ type: 'integer', nullable: true })
32
32
  section_id: number | null;
33
33
 
34
- @Column({ type: 'varchar', length: 255, nullable: true })
35
- task_name: string | null;
36
-
37
- @Column({ type: 'text', nullable: true })
38
- description: string | null;
34
+ @Column({ type: 'varchar', length: 500, nullable: false })
35
+ content: string;
39
36
 
40
37
  @Column({
41
38
  type: 'enum',
@@ -31,11 +31,8 @@ export class InnovativeEmployeeNominationWorkFlow extends BaseModel {
31
31
  @Column({ type: 'integer', nullable: true })
32
32
  section_id: number | null;
33
33
 
34
- @Column({ type: 'varchar', length: 255, nullable: true })
35
- task_name: string | null;
36
-
37
- @Column({ type: 'text', nullable: true })
38
- description: string | null;
34
+ @Column({ type: 'varchar', length: 500, nullable: false })
35
+ content: string;
39
36
 
40
37
  @Column({
41
38
  type: 'enum',
@@ -31,11 +31,8 @@ export class IpeGrievanceWorkFlow extends BaseModel {
31
31
  @Column({ type: 'integer', nullable: true })
32
32
  section_id: number | null;
33
33
 
34
- @Column({ type: 'varchar', length: 255, nullable: true })
35
- task_name: string | null;
36
-
37
- @Column({ type: 'text', nullable: true })
38
- description: string | null;
34
+ @Column({ type: 'varchar', length: 500, nullable: false })
35
+ content: string;
39
36
 
40
37
  @Column({
41
38
  type: 'enum',
@@ -1,45 +1,45 @@
1
- import { Column, Entity } from "typeorm";
2
- import { BaseModel } from './BaseModel';
3
-
4
- /**
5
- * One person/trainee per row; multiple rows per request (Request for Individual Training).
6
- */
7
- @Entity({ name: 'lms_external_entity_trained_people' })
8
- export class LMSExternalEntityTrainedPerson extends BaseModel {
9
-
10
- @Column({ type: 'int', nullable: false })
11
- request_id: number;
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: 'varchar', length: 255, nullable: true })
20
- full_name: string | null;
21
-
22
- @Column({ type: 'varchar', length: 255, nullable: true })
23
- employee_id: string | null;
24
-
25
- @Column({ type: 'int', nullable: true })
26
- age: number | null;
27
-
28
- @Column({ type: 'varchar', length: 255, nullable: true })
29
- university: string | null;
30
-
31
- @Column({ type: 'text', nullable: true })
32
- qualification: string | null;
33
-
34
- @Column({ type: 'text', nullable: true })
35
- learning_curriculum: string | null;
36
-
37
- @Column({ type: 'varchar', length: 255, nullable: true })
38
- training_period: string | null;
39
-
40
- @Column({ type: 'boolean', default: false })
41
- is_selected: boolean;
42
-
43
- @Column({ type: 'int', default: 0 })
44
- display_order: number;
45
- }
1
+ import { Column, Entity } from "typeorm";
2
+ import { BaseModel } from './BaseModel';
3
+
4
+ /**
5
+ * One person/trainee per row; multiple rows per request (Request for Individual Training).
6
+ */
7
+ @Entity({ name: 'lms_external_entity_trained_people' })
8
+ export class LMSExternalEntityTrainedPerson extends BaseModel {
9
+
10
+ @Column({ type: 'int', nullable: false })
11
+ request_id: number;
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: 'varchar', length: 255, nullable: true })
20
+ full_name: string | null;
21
+
22
+ @Column({ type: 'varchar', length: 255, nullable: true })
23
+ employee_id: string | null;
24
+
25
+ @Column({ type: 'int', nullable: true })
26
+ age: number | null;
27
+
28
+ @Column({ type: 'varchar', length: 255, nullable: true })
29
+ university: string | null;
30
+
31
+ @Column({ type: 'text', nullable: true })
32
+ qualification: string | null;
33
+
34
+ @Column({ type: 'text', nullable: true })
35
+ learning_curriculum: string | null;
36
+
37
+ @Column({ type: 'varchar', length: 255, nullable: true })
38
+ training_period: string | null;
39
+
40
+ @Column({ type: 'boolean', default: false })
41
+ is_selected: boolean;
42
+
43
+ @Column({ type: 'int', default: 0 })
44
+ display_order: number;
45
+ }
@@ -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
  }
@@ -37,4 +37,7 @@ export class MedicalExpensesRequests extends BaseModel {
37
37
 
38
38
  @Column({ type: 'varchar', nullable: true })
39
39
  workflow_execution_id: string | null;
40
+
41
+ @Column({ type: 'varchar', length: 255, nullable: true })
42
+ mc_location: string | null;
40
43
  }