@platform-modules/foreign-ministry 1.3.296 → 1.3.307

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 (57) hide show
  1. package/dist/data-source.js +16 -0
  2. package/dist/index.d.ts +8 -0
  3. package/dist/index.js +23 -1
  4. package/dist/models/EmbassyEvaluationApprovalModel.d.ts +22 -0
  5. package/dist/models/EmbassyEvaluationApprovalModel.js +85 -0
  6. package/dist/models/EmbassyEvaluationAssignmentModel.d.ts +24 -0
  7. package/dist/models/EmbassyEvaluationAssignmentModel.js +89 -0
  8. package/dist/models/EmbassyEvaluationAttachmentModel.d.ts +10 -0
  9. package/dist/models/EmbassyEvaluationAttachmentModel.js +48 -0
  10. package/dist/models/EmbassyEvaluationChatModel.d.ts +18 -0
  11. package/dist/models/EmbassyEvaluationChatModel.js +66 -0
  12. package/dist/models/EmbassyEvaluationCycleModel.d.ts +17 -0
  13. package/dist/models/EmbassyEvaluationCycleModel.js +57 -0
  14. package/dist/models/EmbassyEvaluationDepartmentSettingModel.d.ts +14 -0
  15. package/dist/models/EmbassyEvaluationDepartmentSettingModel.js +56 -0
  16. package/dist/models/EmbassyEvaluationRequestModel.d.ts +24 -0
  17. package/dist/models/EmbassyEvaluationRequestModel.js +86 -0
  18. package/dist/models/EmbassyEvaluationResponseModel.d.ts +8 -0
  19. package/dist/models/EmbassyEvaluationResponseModel.js +44 -0
  20. package/dist/models/EmbassyEvaluationWorkflowModel.d.ts +19 -0
  21. package/dist/models/EmbassyEvaluationWorkflowModel.js +73 -0
  22. package/dist/models/EmployeeOfMonthNominationApprovalModel.js +1 -0
  23. package/dist/models/EmployeeOfMonthNominationChatModel.js +1 -0
  24. package/dist/models/EmployeeOfMonthNominationRequestModel.js +1 -0
  25. package/dist/models/EmployeeOfMonthNominationWorkflowModel.js +1 -0
  26. package/dist/models/EmployeeOfMonthSupportNominationApprovalModel.d.ts +9 -7
  27. package/dist/models/EmployeeOfMonthSupportNominationApprovalModel.js +10 -10
  28. package/dist/models/EmployeeOfMonthSupportNominationChatModel.js +1 -0
  29. package/dist/models/EmployeeOfMonthSupportNominationRequestModel.js +1 -0
  30. package/dist/models/EmployeeOfMonthSupportNominationWorkflowModel.js +1 -0
  31. package/dist/models/EvaluationFormModel.js +5 -1
  32. package/package.json +1 -1
  33. package/src/data-source.ts +16 -0
  34. package/src/helpers/employee-evaluation-request.utils.ts +181 -181
  35. package/src/helpers/evaluation-eligibility.utils.ts +36 -36
  36. package/src/index.ts +26 -0
  37. package/src/models/EmbassyEvaluationApprovalModel.ts +57 -0
  38. package/src/models/EmbassyEvaluationAssignmentModel.ts +63 -0
  39. package/src/models/EmbassyEvaluationAttachmentModel.ts +26 -0
  40. package/src/models/EmbassyEvaluationChatModel.ts +43 -0
  41. package/src/models/EmbassyEvaluationCycleModel.ts +38 -0
  42. package/src/models/EmbassyEvaluationRequestModel.ts +59 -0
  43. package/src/models/EmbassyEvaluationResponseModel.ts +24 -0
  44. package/src/models/EmbassyEvaluationWorkflowModel.ts +48 -0
  45. package/src/models/EmployeeEvaluationPersonScoreModel.ts +25 -25
  46. package/src/models/EmployeeEvaluationRequestModel.ts +90 -90
  47. package/src/models/EmployeeOfMonthNominationApprovalModel.ts +1 -0
  48. package/src/models/EmployeeOfMonthNominationChatModel.ts +1 -0
  49. package/src/models/EmployeeOfMonthNominationRequestModel.ts +1 -0
  50. package/src/models/EmployeeOfMonthNominationWorkflowModel.ts +1 -0
  51. package/src/models/EmployeeOfMonthSupportNominationApprovalModel.ts +60 -56
  52. package/src/models/EmployeeOfMonthSupportNominationChatModel.ts +1 -0
  53. package/src/models/EmployeeOfMonthSupportNominationRequestModel.ts +1 -0
  54. package/src/models/EmployeeOfMonthSupportNominationWorkflowModel.ts +48 -47
  55. package/src/models/EvaluationFormModel.ts +4 -0
  56. package/src/models/EvaluationFormQuestionModel.ts +52 -52
  57. package/src/models/EvaluationFormSectionModel.ts +33 -33
@@ -1,47 +1,48 @@
1
- import { Column, Entity } from 'typeorm';
2
- import { BaseModel } from './BaseModel';
3
-
4
- export enum EmployeeOfMonthSupportNominationWorkFlowStatus {
5
- PENDING = 'Pending',
6
- IN_PROGRESS = 'In Progress',
7
- COMPLETED = 'Completed',
8
- FAILED = 'Failed',
9
- }
10
-
11
- @Entity({ name: 'employee_of_month_support_nomination_workflows' })
12
- export class EmployeeOfMonthSupportNominationWorkFlow 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: 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
-
34
- @Column({ type: 'varchar', length: 255, nullable: false })
35
- task_name: string;
36
-
37
- @Column({ type: 'text', nullable: true })
38
- description: string | null;
39
-
40
- @Column({
41
- type: 'enum',
42
- enum: EmployeeOfMonthSupportNominationWorkFlowStatus,
43
- default: EmployeeOfMonthSupportNominationWorkFlowStatus.PENDING,
44
- nullable: false,
45
- })
46
- status: EmployeeOfMonthSupportNominationWorkFlowStatus;
47
- }
1
+ import { Column, Entity } from 'typeorm';
2
+ import { BaseModel } from './BaseModel';
3
+
4
+ export enum EmployeeOfMonthSupportNominationWorkFlowStatus {
5
+ PENDING = 'Pending',
6
+ IN_PROGRESS = 'In Progress',
7
+ COMPLETED = 'Completed',
8
+ FAILED = 'Failed',
9
+ }
10
+
11
+ @Entity({ name: 'employee_of_month_support_nomination_workflows' })
12
+ export class EmployeeOfMonthSupportNominationWorkFlow 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: 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
+
34
+ @Column({ type: 'varchar', length: 255, nullable: false })
35
+ task_name: string;
36
+
37
+ @Column({ type: 'text', nullable: true })
38
+ description: string | null;
39
+
40
+ @Column({
41
+ type: 'enum',
42
+ enum: EmployeeOfMonthSupportNominationWorkFlowStatus,
43
+ enumName: 'eom_support_nomination_workflow_status_enum',
44
+ default: EmployeeOfMonthSupportNominationWorkFlowStatus.PENDING,
45
+ nullable: false,
46
+ })
47
+ status: EmployeeOfMonthSupportNominationWorkFlowStatus;
48
+ }
@@ -10,6 +10,10 @@ export enum EvaluationFormType {
10
10
  @Entity({ name: 'evaluation_forms' })
11
11
  @Index('uq_evaluation_forms_form_name', ['form_name'], { unique: true, where: '"is_deleted" = false' })
12
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
+ })
13
17
  export class EvaluationForm extends BaseModel {
14
18
  @Column({ type: 'varchar', length: 255, nullable: false })
15
19
  form_name: string;
@@ -1,52 +1,52 @@
1
- import { Column, Entity, Index, JoinColumn, ManyToOne } from 'typeorm';
2
- import { BaseModel } from './BaseModel';
3
- import { EvaluationFormSection } from './EvaluationFormSectionModel';
4
-
5
- export enum EvaluationFormQuestionType {
6
- RATING = 'rating',
7
- TEXT = 'text',
8
- TEXTAREA = 'textarea',
9
- DROPDOWN = 'dropdown',
10
- CHECKBOX = 'checkbox',
11
- }
12
-
13
- @Entity({ name: 'evaluation_form_questions' })
14
- @Index('uq_evaluation_form_questions_section_display_order', ['form_section_id', 'display_order'], {
15
- unique: true,
16
- where: '"is_deleted" = false',
17
- })
18
- export class EvaluationFormQuestion extends BaseModel {
19
- @Column({ type: 'int', nullable: false })
20
- form_section_id: number;
21
-
22
- @ManyToOne(() => EvaluationFormSection, (s) => s.questions, { onDelete: 'CASCADE' })
23
- @JoinColumn({ name: 'form_section_id' })
24
- section: EvaluationFormSection;
25
-
26
- @Column({ type: 'text', nullable: false })
27
- question_text: string;
28
-
29
- @Column({ type: 'varchar', length: 32, nullable: false, default: EvaluationFormQuestionType.RATING })
30
- question_type: EvaluationFormQuestionType;
31
-
32
- @Column({ type: 'int', default: 0 })
33
- min_score: number;
34
-
35
- @Column({ type: 'int', default: 10 })
36
- max_score: number;
37
-
38
- @Column({ type: 'boolean', default: false })
39
- is_required: boolean;
40
-
41
- @Column({ type: 'int', default: 0 })
42
- display_order: number;
43
-
44
- @Column({ type: 'text', nullable: true })
45
- help_text: string | null;
46
-
47
- @Column({ type: 'jsonb', nullable: true })
48
- options_json: string[] | null;
49
-
50
- @Column({ type: 'boolean', default: true })
51
- is_active: boolean;
52
- }
1
+ import { Column, Entity, Index, JoinColumn, ManyToOne } from 'typeorm';
2
+ import { BaseModel } from './BaseModel';
3
+ import { EvaluationFormSection } from './EvaluationFormSectionModel';
4
+
5
+ export enum EvaluationFormQuestionType {
6
+ RATING = 'rating',
7
+ TEXT = 'text',
8
+ TEXTAREA = 'textarea',
9
+ DROPDOWN = 'dropdown',
10
+ CHECKBOX = 'checkbox',
11
+ }
12
+
13
+ @Entity({ name: 'evaluation_form_questions' })
14
+ @Index('uq_evaluation_form_questions_section_display_order', ['form_section_id', 'display_order'], {
15
+ unique: true,
16
+ where: '"is_deleted" = false',
17
+ })
18
+ export class EvaluationFormQuestion extends BaseModel {
19
+ @Column({ type: 'int', nullable: false })
20
+ form_section_id: number;
21
+
22
+ @ManyToOne(() => EvaluationFormSection, (s) => s.questions, { onDelete: 'CASCADE' })
23
+ @JoinColumn({ name: 'form_section_id' })
24
+ section: EvaluationFormSection;
25
+
26
+ @Column({ type: 'text', nullable: false })
27
+ question_text: string;
28
+
29
+ @Column({ type: 'varchar', length: 32, nullable: false, default: EvaluationFormQuestionType.RATING })
30
+ question_type: EvaluationFormQuestionType;
31
+
32
+ @Column({ type: 'int', default: 0 })
33
+ min_score: number;
34
+
35
+ @Column({ type: 'int', default: 10 })
36
+ max_score: number;
37
+
38
+ @Column({ type: 'boolean', default: false })
39
+ is_required: boolean;
40
+
41
+ @Column({ type: 'int', default: 0 })
42
+ display_order: number;
43
+
44
+ @Column({ type: 'text', nullable: true })
45
+ help_text: string | null;
46
+
47
+ @Column({ type: 'jsonb', nullable: true })
48
+ options_json: string[] | null;
49
+
50
+ @Column({ type: 'boolean', default: true })
51
+ is_active: boolean;
52
+ }
@@ -1,33 +1,33 @@
1
- import { Column, Entity, Index, JoinColumn, ManyToOne, OneToMany } from 'typeorm';
2
- import { BaseModel } from './BaseModel';
3
- import { EvaluationForm } from './EvaluationFormModel';
4
- import type { EvaluationFormQuestion } from './EvaluationFormQuestionModel';
5
-
6
- @Entity({ name: 'evaluation_form_sections' })
7
- @Index('uq_evaluation_form_sections_form_display_order', ['form_id', 'display_order'], {
8
- unique: true,
9
- where: '"is_deleted" = false',
10
- })
11
- export class EvaluationFormSection extends BaseModel {
12
- @Column({ type: 'int', nullable: false })
13
- form_id: number;
14
-
15
- @ManyToOne(() => EvaluationForm, (f) => f.sections, { onDelete: 'CASCADE' })
16
- @JoinColumn({ name: 'form_id' })
17
- form: EvaluationForm;
18
-
19
- @Column({ type: 'varchar', length: 500, nullable: false })
20
- section_title: string;
21
-
22
- @Column({ type: 'text', nullable: true })
23
- section_description: string | null;
24
-
25
- @Column({ type: 'int', default: 0 })
26
- display_order: number;
27
-
28
- @Column({ type: 'boolean', default: true })
29
- is_active: boolean;
30
-
31
- @OneToMany('EvaluationFormQuestion', 'section')
32
- questions?: EvaluationFormQuestion[];
33
- }
1
+ import { Column, Entity, Index, JoinColumn, ManyToOne, OneToMany } from 'typeorm';
2
+ import { BaseModel } from './BaseModel';
3
+ import { EvaluationForm } from './EvaluationFormModel';
4
+ import type { EvaluationFormQuestion } from './EvaluationFormQuestionModel';
5
+
6
+ @Entity({ name: 'evaluation_form_sections' })
7
+ @Index('uq_evaluation_form_sections_form_display_order', ['form_id', 'display_order'], {
8
+ unique: true,
9
+ where: '"is_deleted" = false',
10
+ })
11
+ export class EvaluationFormSection extends BaseModel {
12
+ @Column({ type: 'int', nullable: false })
13
+ form_id: number;
14
+
15
+ @ManyToOne(() => EvaluationForm, (f) => f.sections, { onDelete: 'CASCADE' })
16
+ @JoinColumn({ name: 'form_id' })
17
+ form: EvaluationForm;
18
+
19
+ @Column({ type: 'varchar', length: 500, nullable: false })
20
+ section_title: string;
21
+
22
+ @Column({ type: 'text', nullable: true })
23
+ section_description: string | null;
24
+
25
+ @Column({ type: 'int', default: 0 })
26
+ display_order: number;
27
+
28
+ @Column({ type: 'boolean', default: true })
29
+ is_active: boolean;
30
+
31
+ @OneToMany('EvaluationFormQuestion', 'section')
32
+ questions?: EvaluationFormQuestion[];
33
+ }