@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.
- package/dist/data-source.js +16 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.js +23 -1
- package/dist/models/EmbassyEvaluationApprovalModel.d.ts +22 -0
- package/dist/models/EmbassyEvaluationApprovalModel.js +85 -0
- package/dist/models/EmbassyEvaluationAssignmentModel.d.ts +24 -0
- package/dist/models/EmbassyEvaluationAssignmentModel.js +89 -0
- package/dist/models/EmbassyEvaluationAttachmentModel.d.ts +10 -0
- package/dist/models/EmbassyEvaluationAttachmentModel.js +48 -0
- package/dist/models/EmbassyEvaluationChatModel.d.ts +18 -0
- package/dist/models/EmbassyEvaluationChatModel.js +66 -0
- package/dist/models/EmbassyEvaluationCycleModel.d.ts +17 -0
- package/dist/models/EmbassyEvaluationCycleModel.js +57 -0
- package/dist/models/EmbassyEvaluationDepartmentSettingModel.d.ts +14 -0
- package/dist/models/EmbassyEvaluationDepartmentSettingModel.js +56 -0
- package/dist/models/EmbassyEvaluationRequestModel.d.ts +24 -0
- package/dist/models/EmbassyEvaluationRequestModel.js +86 -0
- package/dist/models/EmbassyEvaluationResponseModel.d.ts +8 -0
- package/dist/models/EmbassyEvaluationResponseModel.js +44 -0
- package/dist/models/EmbassyEvaluationWorkflowModel.d.ts +19 -0
- package/dist/models/EmbassyEvaluationWorkflowModel.js +73 -0
- package/dist/models/EmployeeOfMonthNominationApprovalModel.js +1 -0
- package/dist/models/EmployeeOfMonthNominationChatModel.js +1 -0
- package/dist/models/EmployeeOfMonthNominationRequestModel.js +1 -0
- package/dist/models/EmployeeOfMonthNominationWorkflowModel.js +1 -0
- package/dist/models/EmployeeOfMonthSupportNominationApprovalModel.d.ts +9 -7
- package/dist/models/EmployeeOfMonthSupportNominationApprovalModel.js +10 -10
- package/dist/models/EmployeeOfMonthSupportNominationChatModel.js +1 -0
- package/dist/models/EmployeeOfMonthSupportNominationRequestModel.js +1 -0
- package/dist/models/EmployeeOfMonthSupportNominationWorkflowModel.js +1 -0
- package/dist/models/EvaluationFormModel.js +5 -1
- package/package.json +1 -1
- package/src/data-source.ts +16 -0
- package/src/helpers/employee-evaluation-request.utils.ts +181 -181
- package/src/helpers/evaluation-eligibility.utils.ts +36 -36
- package/src/index.ts +26 -0
- package/src/models/EmbassyEvaluationApprovalModel.ts +57 -0
- package/src/models/EmbassyEvaluationAssignmentModel.ts +63 -0
- package/src/models/EmbassyEvaluationAttachmentModel.ts +26 -0
- package/src/models/EmbassyEvaluationChatModel.ts +43 -0
- package/src/models/EmbassyEvaluationCycleModel.ts +38 -0
- package/src/models/EmbassyEvaluationRequestModel.ts +59 -0
- package/src/models/EmbassyEvaluationResponseModel.ts +24 -0
- package/src/models/EmbassyEvaluationWorkflowModel.ts +48 -0
- package/src/models/EmployeeEvaluationPersonScoreModel.ts +25 -25
- package/src/models/EmployeeEvaluationRequestModel.ts +90 -90
- package/src/models/EmployeeOfMonthNominationApprovalModel.ts +1 -0
- package/src/models/EmployeeOfMonthNominationChatModel.ts +1 -0
- package/src/models/EmployeeOfMonthNominationRequestModel.ts +1 -0
- package/src/models/EmployeeOfMonthNominationWorkflowModel.ts +1 -0
- package/src/models/EmployeeOfMonthSupportNominationApprovalModel.ts +60 -56
- package/src/models/EmployeeOfMonthSupportNominationChatModel.ts +1 -0
- package/src/models/EmployeeOfMonthSupportNominationRequestModel.ts +1 -0
- package/src/models/EmployeeOfMonthSupportNominationWorkflowModel.ts +48 -47
- package/src/models/EvaluationFormModel.ts +4 -0
- package/src/models/EvaluationFormQuestionModel.ts +52 -52
- 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
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
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
|
+
}
|