@platform-modules/foreign-ministry 1.3.277 → 1.3.290

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 (86) hide show
  1. package/.env +10 -5
  2. package/dist/data-source.js +8 -4
  3. package/dist/helpers/employee-evaluation-request.utils.d.ts +30 -0
  4. package/dist/helpers/employee-evaluation-request.utils.js +139 -0
  5. package/dist/helpers/evaluation-eligibility.utils.d.ts +10 -0
  6. package/dist/helpers/evaluation-eligibility.utils.js +39 -0
  7. package/dist/index.d.ts +7 -2
  8. package/dist/index.js +20 -5
  9. package/dist/models/EmployeeEvaluationAnswerModel.d.ts +5 -6
  10. package/dist/models/EmployeeEvaluationAnswerModel.js +18 -16
  11. package/dist/models/EmployeeEvaluationApprovalModel.d.ts +1 -1
  12. package/dist/models/EmployeeEvaluationApprovalModel.js +2 -2
  13. package/dist/models/EmployeeEvaluationPersonScoreModel.d.ts +9 -0
  14. package/dist/models/EmployeeEvaluationPersonScoreModel.js +45 -0
  15. package/dist/models/EmployeeEvaluationRequestModel.d.ts +6 -1
  16. package/dist/models/EmployeeEvaluationRequestModel.js +18 -2
  17. package/dist/models/EvaluationEligibilitySettingModel.d.ts +8 -3
  18. package/dist/models/EvaluationEligibilitySettingModel.js +11 -3
  19. package/dist/models/EvaluationFormModel.d.ts +17 -0
  20. package/dist/models/EvaluationFormModel.js +64 -0
  21. package/dist/models/EvaluationFormQuestionModel.d.ts +22 -0
  22. package/dist/models/EvaluationFormQuestionModel.js +78 -0
  23. package/dist/models/EvaluationFormSectionModel.d.ts +12 -0
  24. package/dist/models/EvaluationFormSectionModel.js +54 -0
  25. package/dist/models/EvaluationMastersModel.d.ts +16 -0
  26. package/dist/models/EvaluationMastersModel.js +67 -0
  27. package/dist/models/EvaluationWorkflowModel.d.ts +60 -0
  28. package/dist/models/EvaluationWorkflowModel.js +215 -0
  29. package/dist/models/IneligibleForEvaluationModel.d.ts +8 -0
  30. package/dist/models/IneligibleForEvaluationModel.js +44 -0
  31. package/dist/models/MissionTravelClassConfigModel.d.ts +10 -0
  32. package/dist/models/MissionTravelClassConfigModel.js +50 -0
  33. package/dist/models/MissionTravelPerdiemModel.d.ts +10 -0
  34. package/dist/models/MissionTravelPerdiemModel.js +54 -0
  35. package/dist/models/UuidAuditModel.d.ts +9 -0
  36. package/dist/models/UuidAuditModel.js +41 -0
  37. package/package.json +24 -24
  38. package/scripts/migration-employee-evaluation-approval-role-null.sql +11 -0
  39. package/scripts/migration-employee-evaluation-request-v2.sql +63 -0
  40. package/scripts/migration-evaluation-max-employees-per-request.sql +2 -0
  41. package/src/data-source.ts +614 -610
  42. package/src/helpers/employee-evaluation-request.utils.ts +181 -0
  43. package/src/helpers/evaluation-eligibility.utils.ts +36 -0
  44. package/src/index.ts +480 -456
  45. package/src/models/AnnualTravelTicketPriceConfigurationItemModel.ts +36 -36
  46. package/src/models/AnnualTravelTicketPriceConfigurationModel.ts +35 -35
  47. package/src/models/AnnualTravelTicketRequestModel.ts +42 -42
  48. package/src/models/DiplomaticAcademyRequestModel.ts +80 -80
  49. package/src/models/DocumentationFileModel.ts +40 -40
  50. package/src/models/EmployeeEvaluationAnswerModel.ts +26 -26
  51. package/src/models/EmployeeEvaluationApprovalModel.ts +2 -2
  52. package/src/models/EmployeeEvaluationPersonScoreModel.ts +25 -0
  53. package/src/models/EmployeeEvaluationRequestModel.ts +90 -77
  54. package/src/models/EvaluationEligibilitySettingModel.ts +51 -42
  55. package/src/models/EvaluationFormModel.ts +40 -0
  56. package/src/models/EvaluationFormQuestionModel.ts +52 -0
  57. package/src/models/EvaluationFormSectionModel.ts +33 -0
  58. package/src/models/FinancialWorkFlowModel.ts +15 -15
  59. package/src/models/GatePassVisitorsModel.ts +7 -7
  60. package/src/models/LMSExternalEntityTrainedPersonModel.ts +45 -45
  61. package/src/models/LanguageCourseRequestModel.ts +67 -67
  62. package/src/models/LeaveConfigModel.ts +71 -71
  63. package/src/models/MissionTravelApprovalModel.ts +101 -101
  64. package/src/models/MissionTravelAttachmentModel.ts +56 -56
  65. package/src/models/MissionTravelChatModel.ts +52 -52
  66. package/src/models/MissionTravelPersonModel.ts +105 -105
  67. package/src/models/MissionTravelWorkflowModel.ts +54 -54
  68. package/src/models/PollOptionsModel.ts +26 -26
  69. package/src/models/PollVotesModel.ts +37 -37
  70. package/src/models/PollsModel.ts +49 -49
  71. package/src/models/ProjectContactsModel.ts +51 -51
  72. package/src/models/ProjectFaqModel.ts +36 -36
  73. package/src/models/ProjectInvoicesModel.ts +41 -41
  74. package/src/models/ProjectModel.ts +75 -75
  75. package/src/models/ProjectTasksModel.ts +75 -75
  76. package/src/models/ResignationTerminationApprovalModel.ts +9 -9
  77. package/src/models/ResignationTerminationRequestModel.ts +17 -17
  78. package/src/models/SectionModel.ts +35 -35
  79. package/src/models/ServicesNotificationConfigsModel.ts +55 -55
  80. package/src/models/TelephoneDirectoryModel.ts +20 -20
  81. package/dist/models/EmbassyMasterModel.d.ts +0 -16
  82. package/dist/models/EmbassyMasterModel.js +0 -75
  83. package/dist/models/UserDependentsModel.d.ts +0 -18
  84. package/dist/models/UserDependentsModel.js +0 -94
  85. package/src/models/EvaluationQuestionMasterModel.ts +0 -23
  86. package/src/models/EvaluationSectionMasterModel.ts +0 -17
package/.env CHANGED
@@ -1,5 +1,10 @@
1
- DB_HOST=localhost
2
- DB_PORT=5432
3
- DB_USER=postgres
4
- DB_PASS=Fa@123
5
- DB_NAME=FM
1
+ # DB_HOST=localhost
2
+ # DB_PORT=5432
3
+ # DB_USER=postgres
4
+ # DB_PASS=stevejobs
5
+ # DB_NAME=FM
6
+
7
+ DB_HOST = 164.52.222.169
8
+ DB_USER = postgres_admin_user
9
+ DB_PASS = pg_admin_user_pwd_caa_fa_$%^&OIukhjgcvbn
10
+ DB_NAME= FM
@@ -285,11 +285,13 @@ const DocumentationFileModel_1 = require("./models/DocumentationFileModel");
285
285
  const UniversalLanguageMasterModel_1 = require("./models/UniversalLanguageMasterModel");
286
286
  const MeetingAppointmentReminderLogModel_1 = require("./models/MeetingAppointmentReminderLogModel");
287
287
  const EvaluationEligibilitySettingModel_1 = require("./models/EvaluationEligibilitySettingModel");
288
- const EvaluationSectionMasterModel_1 = require("./models/EvaluationSectionMasterModel");
289
- const EvaluationQuestionMasterModel_1 = require("./models/EvaluationQuestionMasterModel");
288
+ const EvaluationFormModel_1 = require("./models/EvaluationFormModel");
289
+ const EvaluationFormSectionModel_1 = require("./models/EvaluationFormSectionModel");
290
+ const EvaluationFormQuestionModel_1 = require("./models/EvaluationFormQuestionModel");
290
291
  const EmployeeEvaluationRequestModel_1 = require("./models/EmployeeEvaluationRequestModel");
291
292
  const EmployeeEvaluationModel_1 = require("./models/EmployeeEvaluationModel");
292
293
  const EmployeeEvaluationAnswerModel_1 = require("./models/EmployeeEvaluationAnswerModel");
294
+ const EmployeeEvaluationPersonScoreModel_1 = require("./models/EmployeeEvaluationPersonScoreModel");
293
295
  const EmployeeEvaluationApprovalModel_1 = require("./models/EmployeeEvaluationApprovalModel");
294
296
  const EmployeeEvaluationWorkflowModel_1 = require("./models/EmployeeEvaluationWorkflowModel");
295
297
  const EmployeeEvaluationChatModel_1 = require("./models/EmployeeEvaluationChatModel");
@@ -585,11 +587,13 @@ exports.AppDataSource = new typeorm_1.DataSource({
585
587
  MeetingAppointmentReminderLogModel_1.MeetingAppointmentReminderLog,
586
588
  EvaluationEligibilitySettingModel_1.EvaluationEligibilitySetting,
587
589
  EvaluationEligibilitySettingModel_1.EvaluationEligibilitySettingEmployee,
588
- EvaluationSectionMasterModel_1.EvaluationSectionMaster,
589
- EvaluationQuestionMasterModel_1.EvaluationQuestionMaster,
590
+ EvaluationFormModel_1.EvaluationForm,
591
+ EvaluationFormSectionModel_1.EvaluationFormSection,
592
+ EvaluationFormQuestionModel_1.EvaluationFormQuestion,
590
593
  EmployeeEvaluationRequestModel_1.EmployeeEvaluationRequests,
591
594
  EmployeeEvaluationModel_1.EmployeeEvaluation,
592
595
  EmployeeEvaluationAnswerModel_1.EmployeeEvaluationAnswers,
596
+ EmployeeEvaluationPersonScoreModel_1.EmployeeEvaluationPersonScore,
593
597
  EmployeeEvaluationApprovalModel_1.EmployeeEvaluationApprovalDetails,
594
598
  EmployeeEvaluationWorkflowModel_1.EmployeeEvaluationWorkFlow,
595
599
  EmployeeEvaluationChatModel_1.EmployeeEvaluationRequestChat,
@@ -0,0 +1,30 @@
1
+ import type { EntityManager } from 'typeorm';
2
+ export declare const DEFAULT_MAX_EMPLOYEES_PER_REQUEST = 50;
3
+ export type EmployeeEvaluationSubmitAnswer = {
4
+ section_id: number;
5
+ question_id: number;
6
+ score: number;
7
+ remarks?: string | null;
8
+ };
9
+ export type EmployeeEvaluationSubmitEmployee = {
10
+ user_id: number;
11
+ is_rca?: boolean;
12
+ answers: EmployeeEvaluationSubmitAnswer[];
13
+ };
14
+ export type NormalizedEmployeeSubmission = EmployeeEvaluationSubmitEmployee;
15
+ export declare function normalizeEmployeeSubmissions(raw: unknown): {
16
+ employees: NormalizedEmployeeSubmission[];
17
+ error?: string;
18
+ };
19
+ /** Resolve max employees from active eligibility setting for dept/section/month. */
20
+ export declare function resolveMaxEmployeesPerRequest(manager: EntityManager, department_id: number, section_id: number, month: number): Promise<number>;
21
+ export declare function persistEmployeeEvaluationScores(manager: EntityManager, opts: {
22
+ requestId: number;
23
+ formId: number;
24
+ createdBy: string;
25
+ employees: NormalizedEmployeeSubmission[];
26
+ }): Promise<{
27
+ totalScore: number;
28
+ averageScore: number;
29
+ employeeCount: number;
30
+ }>;
@@ -0,0 +1,139 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DEFAULT_MAX_EMPLOYEES_PER_REQUEST = void 0;
4
+ exports.normalizeEmployeeSubmissions = normalizeEmployeeSubmissions;
5
+ exports.resolveMaxEmployeesPerRequest = resolveMaxEmployeesPerRequest;
6
+ exports.persistEmployeeEvaluationScores = persistEmployeeEvaluationScores;
7
+ const EmployeeEvaluationAnswerModel_1 = require("../models/EmployeeEvaluationAnswerModel");
8
+ const EmployeeEvaluationPersonScoreModel_1 = require("../models/EmployeeEvaluationPersonScoreModel");
9
+ const EmployeeEvaluationRequestModel_1 = require("../models/EmployeeEvaluationRequestModel");
10
+ const EvaluationEligibilitySettingModel_1 = require("../models/EvaluationEligibilitySettingModel");
11
+ const EvaluationFormQuestionModel_1 = require("../models/EvaluationFormQuestionModel");
12
+ exports.DEFAULT_MAX_EMPLOYEES_PER_REQUEST = 50;
13
+ function normalizeEmployeeSubmissions(raw) {
14
+ if (!Array.isArray(raw) || raw.length === 0) {
15
+ return { employees: [], error: 'employees must be a non-empty array' };
16
+ }
17
+ const seen = new Set();
18
+ const employees = [];
19
+ for (const item of raw) {
20
+ if (item == null || typeof item !== 'object') {
21
+ return { employees: [], error: 'Each employee entry must be an object' };
22
+ }
23
+ const o = item;
24
+ const user_id = Number(o.user_id ?? o.employee_id);
25
+ if (!Number.isFinite(user_id) || user_id <= 0) {
26
+ return { employees: [], error: 'Each employee must have a valid user_id' };
27
+ }
28
+ if (seen.has(user_id)) {
29
+ return { employees: [], error: `Duplicate user_id ${user_id} in employees list` };
30
+ }
31
+ seen.add(user_id);
32
+ const answersRaw = o.answers;
33
+ if (!Array.isArray(answersRaw) || answersRaw.length === 0) {
34
+ return { employees: [], error: `Employee ${user_id} must include a non-empty answers array` };
35
+ }
36
+ const answers = [];
37
+ const qSeen = new Set();
38
+ for (const a of answersRaw) {
39
+ if (a == null || typeof a !== 'object') {
40
+ return { employees: [], error: `Invalid answer for employee ${user_id}` };
41
+ }
42
+ const ar = a;
43
+ const section_id = Number(ar.section_id);
44
+ const question_id = Number(ar.question_id);
45
+ const score = Number(ar.score);
46
+ if (!Number.isFinite(section_id) || !Number.isFinite(question_id)) {
47
+ return { employees: [], error: `section_id and question_id required for employee ${user_id}` };
48
+ }
49
+ if (!Number.isFinite(score) || score < 0) {
50
+ return { employees: [], error: `score must be a non-negative number for employee ${user_id}, question ${question_id}` };
51
+ }
52
+ if (qSeen.has(question_id)) {
53
+ return { employees: [], error: `Duplicate question_id ${question_id} for employee ${user_id}` };
54
+ }
55
+ qSeen.add(question_id);
56
+ answers.push({
57
+ section_id,
58
+ question_id,
59
+ score,
60
+ remarks: ar.remarks != null ? String(ar.remarks) : null,
61
+ });
62
+ }
63
+ employees.push({
64
+ user_id,
65
+ is_rca: o.is_rca !== undefined ? Boolean(o.is_rca) : false,
66
+ answers,
67
+ });
68
+ }
69
+ return { employees };
70
+ }
71
+ /** Resolve max employees from active eligibility setting for dept/section/month. */
72
+ async function resolveMaxEmployeesPerRequest(manager, department_id, section_id, month) {
73
+ const setting = await manager
74
+ .getRepository(EvaluationEligibilitySettingModel_1.EvaluationEligibilitySetting)
75
+ .createQueryBuilder('s')
76
+ .where('s.is_deleted = false')
77
+ .andWhere('s.is_active = true')
78
+ .andWhere('s.department_id = :department_id', { department_id })
79
+ .andWhere('s.section_id = :section_id', { section_id })
80
+ .andWhere('s.from_month <= :month', { month })
81
+ .andWhere('s.to_month >= :month', { month })
82
+ .orderBy('s.id', 'DESC')
83
+ .getOne();
84
+ const max = setting?.max_employees_per_request;
85
+ if (max != null && Number.isFinite(Number(max)) && Number(max) > 0) {
86
+ return Math.floor(Number(max));
87
+ }
88
+ return exports.DEFAULT_MAX_EMPLOYEES_PER_REQUEST;
89
+ }
90
+ async function persistEmployeeEvaluationScores(manager, opts) {
91
+ const { requestId, formId, createdBy, employees } = opts;
92
+ let requestTotal = 0;
93
+ for (const emp of employees) {
94
+ let personTotal = 0;
95
+ for (const ans of emp.answers) {
96
+ const qMeta = await manager.findOne(EvaluationFormQuestionModel_1.EvaluationFormQuestion, {
97
+ where: { id: ans.question_id, is_deleted: false },
98
+ });
99
+ const questionSectionId = qMeta?.form_section_id;
100
+ if (!qMeta || questionSectionId == null || questionSectionId !== ans.section_id) {
101
+ throw new Error(`Invalid question ${ans.question_id} for section ${ans.section_id}`);
102
+ }
103
+ if (qMeta.max_score != null && ans.score > qMeta.max_score) {
104
+ throw new Error(`score ${ans.score} exceeds max_score ${qMeta.max_score} for question ${ans.question_id}`);
105
+ }
106
+ personTotal += ans.score;
107
+ await manager.save(EmployeeEvaluationAnswerModel_1.EmployeeEvaluationAnswers, manager.create(EmployeeEvaluationAnswerModel_1.EmployeeEvaluationAnswers, {
108
+ request_id: requestId,
109
+ user_id: emp.user_id,
110
+ form_id: formId,
111
+ section_id: ans.section_id,
112
+ question_id: ans.question_id,
113
+ score: ans.score,
114
+ remarks: ans.remarks ?? null,
115
+ created_by: createdBy,
116
+ is_deleted: false,
117
+ }));
118
+ }
119
+ await manager.save(EmployeeEvaluationPersonScoreModel_1.EmployeeEvaluationPersonScore, manager.create(EmployeeEvaluationPersonScoreModel_1.EmployeeEvaluationPersonScore, {
120
+ request_id: requestId,
121
+ user_id: emp.user_id,
122
+ is_rca: Boolean(emp.is_rca),
123
+ us_feedback: null,
124
+ total_score: personTotal,
125
+ created_by: createdBy,
126
+ is_deleted: false,
127
+ }));
128
+ requestTotal += personTotal;
129
+ }
130
+ const employeeCount = employees.length;
131
+ const averageScore = employeeCount ? requestTotal / employeeCount : 0;
132
+ await manager.update(EmployeeEvaluationRequestModel_1.EmployeeEvaluationRequests, { id: requestId }, {
133
+ total_score: requestTotal,
134
+ average_score: averageScore,
135
+ employee_count: employeeCount,
136
+ updated_by: createdBy,
137
+ });
138
+ return { totalScore: requestTotal, averageScore, employeeCount };
139
+ }
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Whether evaluations are still open for a setting's month range.
3
+ * `evaluation_end_date` is the last calendar day (1–31) of each month in the range.
4
+ */
5
+ export declare function isEvaluationEligibilityWindowOpen(fromMonth: number, toMonth: number, evaluationEndDay: number, referenceDate?: Date): boolean;
6
+ export declare function parseEvaluationEndDay(input: unknown): number | null;
7
+ export declare function parseMonthRange(fromInput: unknown, toInput: unknown): {
8
+ from_month: number;
9
+ to_month: number;
10
+ } | null;
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isEvaluationEligibilityWindowOpen = isEvaluationEligibilityWindowOpen;
4
+ exports.parseEvaluationEndDay = parseEvaluationEndDay;
5
+ exports.parseMonthRange = parseMonthRange;
6
+ /**
7
+ * Whether evaluations are still open for a setting's month range.
8
+ * `evaluation_end_date` is the last calendar day (1–31) of each month in the range.
9
+ */
10
+ function isEvaluationEligibilityWindowOpen(fromMonth, toMonth, evaluationEndDay, referenceDate = new Date()) {
11
+ const month = referenceDate.getUTCMonth() + 1;
12
+ const day = referenceDate.getUTCDate();
13
+ if (month < fromMonth || month > toMonth)
14
+ return false;
15
+ if (!Number.isFinite(evaluationEndDay) || evaluationEndDay < 1 || evaluationEndDay > 31)
16
+ return false;
17
+ return day <= evaluationEndDay;
18
+ }
19
+ function parseEvaluationEndDay(input) {
20
+ if (input == null || input === '')
21
+ return null;
22
+ const n = typeof input === 'number' ? input : parseInt(String(input).trim(), 10);
23
+ if (!Number.isFinite(n) || n < 1 || n > 31)
24
+ return null;
25
+ return Math.floor(n);
26
+ }
27
+ function parseMonthRange(fromInput, toInput) {
28
+ const from_month = typeof fromInput === 'number' ? fromInput : parseInt(String(fromInput).trim(), 10);
29
+ const to_month = typeof toInput === 'number' ? toInput : parseInt(String(toInput).trim(), 10);
30
+ if (!Number.isFinite(from_month) || !Number.isFinite(to_month))
31
+ return null;
32
+ if (!Number.isInteger(from_month) || !Number.isInteger(to_month))
33
+ return null;
34
+ if (from_month < 1 || from_month > 12 || to_month < 1 || to_month > 12)
35
+ return null;
36
+ if (from_month > to_month)
37
+ return null;
38
+ return { from_month, to_month };
39
+ }
package/dist/index.d.ts CHANGED
@@ -406,12 +406,17 @@ export * from './models/ServicesNotificationConfigsModel';
406
406
  export { ServicesNotificationTriggerType } from './models/ServicesNotificationConfigsModel';
407
407
  export * from './models/MoodleUsersModel';
408
408
  export { EvaluationEligibilitySetting, EvaluationEligibilitySettingEmployee, } from './models/EvaluationEligibilitySettingModel';
409
- export { EvaluationSectionMaster } from './models/EvaluationSectionMasterModel';
410
- export { EvaluationQuestionMaster } from './models/EvaluationQuestionMasterModel';
409
+ export { isEvaluationEligibilityWindowOpen, parseEvaluationEndDay, parseMonthRange, } from './helpers/evaluation-eligibility.utils';
410
+ export { DEFAULT_MAX_EMPLOYEES_PER_REQUEST, normalizeEmployeeSubmissions, resolveMaxEmployeesPerRequest, persistEmployeeEvaluationScores, } from './helpers/employee-evaluation-request.utils';
411
+ export type { EmployeeEvaluationSubmitAnswer, EmployeeEvaluationSubmitEmployee, NormalizedEmployeeSubmission, } from './helpers/employee-evaluation-request.utils';
411
412
  export { EmployeeEvaluationRequests, EmployeeEvaluationRequestStatus, EmployeeEvaluationRoutingBucket, } from './models/EmployeeEvaluationRequestModel';
412
413
  export { EmployeeEvaluation, EmployeeEvaluationUsFeedback } from './models/EmployeeEvaluationModel';
413
414
  export { EmployeeEvaluationAnswers } from './models/EmployeeEvaluationAnswerModel';
415
+ export { EmployeeEvaluationPersonScore } from './models/EmployeeEvaluationPersonScoreModel';
414
416
  export { EmployeeEvaluationApprovalDetails, EmployeeEvaluationApprovalStatus, } from './models/EmployeeEvaluationApprovalModel';
415
417
  export { EmployeeEvaluationWorkFlow, EmployeeEvaluationWorkFlowStatus, } from './models/EmployeeEvaluationWorkflowModel';
416
418
  export { EmployeeEvaluationRequestChat, EmployeeEvaluationMessageType, } from './models/EmployeeEvaluationChatModel';
417
419
  export { EmployeeEvaluationRequestAttachment } from './models/EmployeeEvaluationAttachmentModel';
420
+ export { EvaluationForm, EvaluationFormType, } from './models/EvaluationFormModel';
421
+ export { EvaluationFormSection } from './models/EvaluationFormSectionModel';
422
+ export { EvaluationFormQuestion, EvaluationFormQuestionType, } from './models/EvaluationFormQuestionModel';
package/dist/index.js CHANGED
@@ -15,7 +15,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  exports.EvaluationEligibilitySetting = exports.ServicesNotificationTriggerType = exports.AppointmentWorkFlowStatus = exports.AppointmentMessageType = exports.AppointmentAttendeeStatus = exports.AppointmentApprovalStatus = exports.AppointmentAttendees = exports.AppointmentWorkFlow = exports.AppointmentRequestChat = exports.AppointmentRequestAttachment = exports.AppointmentApprovalDetails = exports.AppointmentRequestStatus = exports.AppointmentRequests = exports.TravelClass = exports.MissionTravelWorkFlowStatus = exports.MissionTravelApprovalStatus = exports.AllowanceRatio = exports.DecisionType = exports.MissionType = exports.MissionTravelStatus = exports.GatePassMessageType = exports.GatePassWorkFlowStatus = exports.GatePassApprovalStatus = exports.GatePassType = exports.GatePassRequestStatus = exports.SecurityDeptMessageType = exports.SecurityDeptAccessType = exports.SecurityDeptRequestStatus = exports.RetiredCardMessageType = exports.RetiredCardWorkFlowStatus = exports.RetiredCardApprovalStatus = exports.RetiredCardAccessType = exports.RetiredCardRequestStatus = exports.TitleCategory = exports.ProfileUpdateRequestStatus = exports.StayAfterHoursTransactionStatus = exports.StayAfterHoursTransaction = exports.StayAfterHoursBalance = exports.EarlyCheckoutTransactionStatus = exports.EarlyCheckoutTransaction = exports.EarlyCheckoutFrequency = exports.EarlyCheckoutConfiguration = exports.EarlyCheckoutBalance = exports.LeaveTransactionStatus = exports.LeaveTransaction = exports.LeaveConfigurationGrades = exports.enumFrequency = exports.LeaveConfiguration = exports.ParcelDepartmentCategory = exports.RegisterCandidateExperienceActivity = void 0;
18
- exports.EmployeeEvaluationRequestAttachment = exports.EmployeeEvaluationMessageType = exports.EmployeeEvaluationRequestChat = exports.EmployeeEvaluationWorkFlowStatus = exports.EmployeeEvaluationWorkFlow = exports.EmployeeEvaluationApprovalStatus = exports.EmployeeEvaluationApprovalDetails = exports.EmployeeEvaluationAnswers = exports.EmployeeEvaluationUsFeedback = exports.EmployeeEvaluation = exports.EmployeeEvaluationRoutingBucket = exports.EmployeeEvaluationRequestStatus = exports.EmployeeEvaluationRequests = exports.EvaluationQuestionMaster = exports.EvaluationSectionMaster = exports.EvaluationEligibilitySettingEmployee = void 0;
18
+ exports.EvaluationFormQuestionType = exports.EvaluationFormQuestion = exports.EvaluationFormSection = exports.EvaluationFormType = exports.EvaluationForm = exports.EmployeeEvaluationRequestAttachment = exports.EmployeeEvaluationMessageType = exports.EmployeeEvaluationRequestChat = exports.EmployeeEvaluationWorkFlowStatus = exports.EmployeeEvaluationWorkFlow = exports.EmployeeEvaluationApprovalStatus = exports.EmployeeEvaluationApprovalDetails = exports.EmployeeEvaluationPersonScore = exports.EmployeeEvaluationAnswers = exports.EmployeeEvaluationUsFeedback = exports.EmployeeEvaluation = exports.EmployeeEvaluationRoutingBucket = exports.EmployeeEvaluationRequestStatus = exports.EmployeeEvaluationRequests = exports.persistEmployeeEvaluationScores = exports.resolveMaxEmployeesPerRequest = exports.normalizeEmployeeSubmissions = exports.DEFAULT_MAX_EMPLOYEES_PER_REQUEST = exports.parseMonthRange = exports.parseEvaluationEndDay = exports.isEvaluationEligibilityWindowOpen = exports.EvaluationEligibilitySettingEmployee = void 0;
19
19
  __exportStar(require("./models/user"), exports);
20
20
  __exportStar(require("./models/role"), exports);
21
21
  __exportStar(require("./models/user-sessions"), exports);
@@ -495,10 +495,15 @@ __exportStar(require("./models/MoodleUsersModel"), exports);
495
495
  var EvaluationEligibilitySettingModel_1 = require("./models/EvaluationEligibilitySettingModel");
496
496
  Object.defineProperty(exports, "EvaluationEligibilitySetting", { enumerable: true, get: function () { return EvaluationEligibilitySettingModel_1.EvaluationEligibilitySetting; } });
497
497
  Object.defineProperty(exports, "EvaluationEligibilitySettingEmployee", { enumerable: true, get: function () { return EvaluationEligibilitySettingModel_1.EvaluationEligibilitySettingEmployee; } });
498
- var EvaluationSectionMasterModel_1 = require("./models/EvaluationSectionMasterModel");
499
- Object.defineProperty(exports, "EvaluationSectionMaster", { enumerable: true, get: function () { return EvaluationSectionMasterModel_1.EvaluationSectionMaster; } });
500
- var EvaluationQuestionMasterModel_1 = require("./models/EvaluationQuestionMasterModel");
501
- Object.defineProperty(exports, "EvaluationQuestionMaster", { enumerable: true, get: function () { return EvaluationQuestionMasterModel_1.EvaluationQuestionMaster; } });
498
+ var evaluation_eligibility_utils_1 = require("./helpers/evaluation-eligibility.utils");
499
+ Object.defineProperty(exports, "isEvaluationEligibilityWindowOpen", { enumerable: true, get: function () { return evaluation_eligibility_utils_1.isEvaluationEligibilityWindowOpen; } });
500
+ Object.defineProperty(exports, "parseEvaluationEndDay", { enumerable: true, get: function () { return evaluation_eligibility_utils_1.parseEvaluationEndDay; } });
501
+ Object.defineProperty(exports, "parseMonthRange", { enumerable: true, get: function () { return evaluation_eligibility_utils_1.parseMonthRange; } });
502
+ var employee_evaluation_request_utils_1 = require("./helpers/employee-evaluation-request.utils");
503
+ Object.defineProperty(exports, "DEFAULT_MAX_EMPLOYEES_PER_REQUEST", { enumerable: true, get: function () { return employee_evaluation_request_utils_1.DEFAULT_MAX_EMPLOYEES_PER_REQUEST; } });
504
+ Object.defineProperty(exports, "normalizeEmployeeSubmissions", { enumerable: true, get: function () { return employee_evaluation_request_utils_1.normalizeEmployeeSubmissions; } });
505
+ Object.defineProperty(exports, "resolveMaxEmployeesPerRequest", { enumerable: true, get: function () { return employee_evaluation_request_utils_1.resolveMaxEmployeesPerRequest; } });
506
+ Object.defineProperty(exports, "persistEmployeeEvaluationScores", { enumerable: true, get: function () { return employee_evaluation_request_utils_1.persistEmployeeEvaluationScores; } });
502
507
  var EmployeeEvaluationRequestModel_1 = require("./models/EmployeeEvaluationRequestModel");
503
508
  Object.defineProperty(exports, "EmployeeEvaluationRequests", { enumerable: true, get: function () { return EmployeeEvaluationRequestModel_1.EmployeeEvaluationRequests; } });
504
509
  Object.defineProperty(exports, "EmployeeEvaluationRequestStatus", { enumerable: true, get: function () { return EmployeeEvaluationRequestModel_1.EmployeeEvaluationRequestStatus; } });
@@ -508,6 +513,8 @@ Object.defineProperty(exports, "EmployeeEvaluation", { enumerable: true, get: fu
508
513
  Object.defineProperty(exports, "EmployeeEvaluationUsFeedback", { enumerable: true, get: function () { return EmployeeEvaluationModel_1.EmployeeEvaluationUsFeedback; } });
509
514
  var EmployeeEvaluationAnswerModel_1 = require("./models/EmployeeEvaluationAnswerModel");
510
515
  Object.defineProperty(exports, "EmployeeEvaluationAnswers", { enumerable: true, get: function () { return EmployeeEvaluationAnswerModel_1.EmployeeEvaluationAnswers; } });
516
+ var EmployeeEvaluationPersonScoreModel_1 = require("./models/EmployeeEvaluationPersonScoreModel");
517
+ Object.defineProperty(exports, "EmployeeEvaluationPersonScore", { enumerable: true, get: function () { return EmployeeEvaluationPersonScoreModel_1.EmployeeEvaluationPersonScore; } });
511
518
  var EmployeeEvaluationApprovalModel_1 = require("./models/EmployeeEvaluationApprovalModel");
512
519
  Object.defineProperty(exports, "EmployeeEvaluationApprovalDetails", { enumerable: true, get: function () { return EmployeeEvaluationApprovalModel_1.EmployeeEvaluationApprovalDetails; } });
513
520
  Object.defineProperty(exports, "EmployeeEvaluationApprovalStatus", { enumerable: true, get: function () { return EmployeeEvaluationApprovalModel_1.EmployeeEvaluationApprovalStatus; } });
@@ -519,3 +526,11 @@ Object.defineProperty(exports, "EmployeeEvaluationRequestChat", { enumerable: tr
519
526
  Object.defineProperty(exports, "EmployeeEvaluationMessageType", { enumerable: true, get: function () { return EmployeeEvaluationChatModel_1.EmployeeEvaluationMessageType; } });
520
527
  var EmployeeEvaluationAttachmentModel_1 = require("./models/EmployeeEvaluationAttachmentModel");
521
528
  Object.defineProperty(exports, "EmployeeEvaluationRequestAttachment", { enumerable: true, get: function () { return EmployeeEvaluationAttachmentModel_1.EmployeeEvaluationRequestAttachment; } });
529
+ var EvaluationFormModel_1 = require("./models/EvaluationFormModel");
530
+ Object.defineProperty(exports, "EvaluationForm", { enumerable: true, get: function () { return EvaluationFormModel_1.EvaluationForm; } });
531
+ Object.defineProperty(exports, "EvaluationFormType", { enumerable: true, get: function () { return EvaluationFormModel_1.EvaluationFormType; } });
532
+ var EvaluationFormSectionModel_1 = require("./models/EvaluationFormSectionModel");
533
+ Object.defineProperty(exports, "EvaluationFormSection", { enumerable: true, get: function () { return EvaluationFormSectionModel_1.EvaluationFormSection; } });
534
+ var EvaluationFormQuestionModel_1 = require("./models/EvaluationFormQuestionModel");
535
+ Object.defineProperty(exports, "EvaluationFormQuestion", { enumerable: true, get: function () { return EvaluationFormQuestionModel_1.EvaluationFormQuestion; } });
536
+ Object.defineProperty(exports, "EvaluationFormQuestionType", { enumerable: true, get: function () { return EvaluationFormQuestionModel_1.EvaluationFormQuestionType; } });
@@ -1,11 +1,10 @@
1
1
  import { BaseModel } from './BaseModel';
2
- import { EvaluationSectionMaster } from './EvaluationSectionMasterModel';
3
- import { EvaluationQuestionMaster } from './EvaluationQuestionMasterModel';
4
- import { EmployeeEvaluation } from './EmployeeEvaluationModel';
5
2
  export declare class EmployeeEvaluationAnswers extends BaseModel {
6
- employee_evaluation: EmployeeEvaluation;
7
- evaluation_section: EvaluationSectionMaster;
8
- evaluation_question: EvaluationQuestionMaster;
3
+ request_id: number;
4
+ user_id: number;
5
+ form_id: number;
6
+ section_id: number;
7
+ question_id: number;
9
8
  score: number;
10
9
  remarks: string | null;
11
10
  }
@@ -12,29 +12,31 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.EmployeeEvaluationAnswers = void 0;
13
13
  const typeorm_1 = require("typeorm");
14
14
  const BaseModel_1 = require("./BaseModel");
15
- const EvaluationSectionMasterModel_1 = require("./EvaluationSectionMasterModel");
16
- const EvaluationQuestionMasterModel_1 = require("./EvaluationQuestionMasterModel");
17
- const EmployeeEvaluationModel_1 = require("./EmployeeEvaluationModel");
18
15
  let EmployeeEvaluationAnswers = class EmployeeEvaluationAnswers extends BaseModel_1.BaseModel {
19
16
  };
20
17
  exports.EmployeeEvaluationAnswers = EmployeeEvaluationAnswers;
21
18
  __decorate([
22
- (0, typeorm_1.ManyToOne)(() => EmployeeEvaluationModel_1.EmployeeEvaluation, { onDelete: 'CASCADE' }),
23
- (0, typeorm_1.JoinColumn)({ name: 'employee_evaluation_id' }),
24
- __metadata("design:type", EmployeeEvaluationModel_1.EmployeeEvaluation)
25
- ], EmployeeEvaluationAnswers.prototype, "employee_evaluation", void 0);
19
+ (0, typeorm_1.Column)({ type: 'integer', nullable: false }),
20
+ __metadata("design:type", Number)
21
+ ], EmployeeEvaluationAnswers.prototype, "request_id", void 0);
22
+ __decorate([
23
+ (0, typeorm_1.Column)({ type: 'integer', nullable: false }),
24
+ __metadata("design:type", Number)
25
+ ], EmployeeEvaluationAnswers.prototype, "user_id", void 0);
26
26
  __decorate([
27
- (0, typeorm_1.ManyToOne)(() => EvaluationSectionMasterModel_1.EvaluationSectionMaster, { onDelete: 'RESTRICT' }),
28
- (0, typeorm_1.JoinColumn)({ name: 'evaluation_section_id' }),
29
- __metadata("design:type", EvaluationSectionMasterModel_1.EvaluationSectionMaster)
30
- ], EmployeeEvaluationAnswers.prototype, "evaluation_section", void 0);
27
+ (0, typeorm_1.Column)({ type: 'integer', nullable: false }),
28
+ __metadata("design:type", Number)
29
+ ], EmployeeEvaluationAnswers.prototype, "form_id", void 0);
31
30
  __decorate([
32
- (0, typeorm_1.ManyToOne)(() => EvaluationQuestionMasterModel_1.EvaluationQuestionMaster, { onDelete: 'RESTRICT' }),
33
- (0, typeorm_1.JoinColumn)({ name: 'evaluation_question_id' }),
34
- __metadata("design:type", EvaluationQuestionMasterModel_1.EvaluationQuestionMaster)
35
- ], EmployeeEvaluationAnswers.prototype, "evaluation_question", void 0);
31
+ (0, typeorm_1.Column)({ type: 'integer', nullable: false }),
32
+ __metadata("design:type", Number)
33
+ ], EmployeeEvaluationAnswers.prototype, "section_id", void 0);
34
+ __decorate([
35
+ (0, typeorm_1.Column)({ type: 'integer', nullable: false }),
36
+ __metadata("design:type", Number)
37
+ ], EmployeeEvaluationAnswers.prototype, "question_id", void 0);
36
38
  __decorate([
37
- (0, typeorm_1.Column)({ type: 'int', nullable: false }),
39
+ (0, typeorm_1.Column)({ type: 'integer', nullable: false }),
38
40
  __metadata("design:type", Number)
39
41
  ], EmployeeEvaluationAnswers.prototype, "score", void 0);
40
42
  __decorate([
@@ -10,7 +10,7 @@ export declare class EmployeeEvaluationApprovalDetails extends BaseModel {
10
10
  service_id: number | null;
11
11
  sub_service_id: number | null;
12
12
  level: number;
13
- approver_role_id: number;
13
+ approver_role_id: number | null;
14
14
  department_id: number | null;
15
15
  section_id: number | null;
16
16
  approver_user_id: number | null;
@@ -39,8 +39,8 @@ __decorate([
39
39
  __metadata("design:type", Number)
40
40
  ], EmployeeEvaluationApprovalDetails.prototype, "level", void 0);
41
41
  __decorate([
42
- (0, typeorm_1.Column)({ type: 'integer', nullable: false }),
43
- __metadata("design:type", Number)
42
+ (0, typeorm_1.Column)({ type: 'integer', nullable: true }),
43
+ __metadata("design:type", Object)
44
44
  ], EmployeeEvaluationApprovalDetails.prototype, "approver_role_id", void 0);
45
45
  __decorate([
46
46
  (0, typeorm_1.Column)({ type: 'integer', nullable: true }),
@@ -0,0 +1,9 @@
1
+ import { BaseModel } from './BaseModel';
2
+ import { EmployeeEvaluationUsFeedback } from './EmployeeEvaluationModel';
3
+ export declare class EmployeeEvaluationPersonScore extends BaseModel {
4
+ request_id: number;
5
+ user_id: number;
6
+ us_feedback: EmployeeEvaluationUsFeedback | null;
7
+ is_rca: boolean;
8
+ total_score: number | null;
9
+ }
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.EmployeeEvaluationPersonScore = void 0;
13
+ const typeorm_1 = require("typeorm");
14
+ const BaseModel_1 = require("./BaseModel");
15
+ const EmployeeEvaluationModel_1 = require("./EmployeeEvaluationModel");
16
+ let EmployeeEvaluationPersonScore = class EmployeeEvaluationPersonScore extends BaseModel_1.BaseModel {
17
+ };
18
+ exports.EmployeeEvaluationPersonScore = EmployeeEvaluationPersonScore;
19
+ __decorate([
20
+ (0, typeorm_1.Column)({ type: 'integer', nullable: false }),
21
+ __metadata("design:type", Number)
22
+ ], EmployeeEvaluationPersonScore.prototype, "request_id", void 0);
23
+ __decorate([
24
+ (0, typeorm_1.Column)({ type: 'integer', nullable: false }),
25
+ __metadata("design:type", Number)
26
+ ], EmployeeEvaluationPersonScore.prototype, "user_id", void 0);
27
+ __decorate([
28
+ (0, typeorm_1.Column)({
29
+ type: 'enum',
30
+ enum: EmployeeEvaluationModel_1.EmployeeEvaluationUsFeedback,
31
+ nullable: true,
32
+ }),
33
+ __metadata("design:type", Object)
34
+ ], EmployeeEvaluationPersonScore.prototype, "us_feedback", void 0);
35
+ __decorate([
36
+ (0, typeorm_1.Column)({ type: 'boolean', default: false, nullable: false }),
37
+ __metadata("design:type", Boolean)
38
+ ], EmployeeEvaluationPersonScore.prototype, "is_rca", void 0);
39
+ __decorate([
40
+ (0, typeorm_1.Column)({ type: 'float', nullable: true }),
41
+ __metadata("design:type", Object)
42
+ ], EmployeeEvaluationPersonScore.prototype, "total_score", void 0);
43
+ exports.EmployeeEvaluationPersonScore = EmployeeEvaluationPersonScore = __decorate([
44
+ (0, typeorm_1.Entity)({ name: 'employee_evaluation_person_scores' })
45
+ ], EmployeeEvaluationPersonScore);
@@ -19,7 +19,7 @@ export declare class EmployeeEvaluationRequests extends BaseModel {
19
19
  sub_service_id: number | null;
20
20
  /** User who raised the request (e.g. HOD). */
21
21
  user_id: number;
22
- evaluation_year: number;
22
+ evaluation_year: string;
23
23
  evaluation_period: string;
24
24
  evaluation_month: number;
25
25
  /** Scope: employees must belong to this department. */
@@ -31,4 +31,9 @@ export declare class EmployeeEvaluationRequests extends BaseModel {
31
31
  status: EmployeeEvaluationRequestStatus;
32
32
  workflow_execution_id: string | null;
33
33
  comments: string | null;
34
+ total_score: number | null;
35
+ average_score: number | null;
36
+ employee_count: number;
37
+ /** Form structure snapshot at request creation (sections/questions). */
38
+ dynamic_evaluation_form: Record<string, unknown> | null;
34
39
  }
@@ -51,8 +51,8 @@ __decorate([
51
51
  __metadata("design:type", Number)
52
52
  ], EmployeeEvaluationRequests.prototype, "user_id", void 0);
53
53
  __decorate([
54
- (0, typeorm_1.Column)({ type: 'int', nullable: false }),
55
- __metadata("design:type", Number)
54
+ (0, typeorm_1.Column)({ type: 'varchar', length: 10, nullable: false }),
55
+ __metadata("design:type", String)
56
56
  ], EmployeeEvaluationRequests.prototype, "evaluation_year", void 0);
57
57
  __decorate([
58
58
  (0, typeorm_1.Column)({ type: 'varchar', length: 120, nullable: false }),
@@ -99,6 +99,22 @@ __decorate([
99
99
  (0, typeorm_1.Column)({ type: 'text', nullable: true }),
100
100
  __metadata("design:type", Object)
101
101
  ], EmployeeEvaluationRequests.prototype, "comments", void 0);
102
+ __decorate([
103
+ (0, typeorm_1.Column)({ type: 'float', nullable: true }),
104
+ __metadata("design:type", Object)
105
+ ], EmployeeEvaluationRequests.prototype, "total_score", void 0);
106
+ __decorate([
107
+ (0, typeorm_1.Column)({ type: 'float', nullable: true }),
108
+ __metadata("design:type", Object)
109
+ ], EmployeeEvaluationRequests.prototype, "average_score", void 0);
110
+ __decorate([
111
+ (0, typeorm_1.Column)({ type: 'int', default: 0, nullable: false }),
112
+ __metadata("design:type", Number)
113
+ ], EmployeeEvaluationRequests.prototype, "employee_count", void 0);
114
+ __decorate([
115
+ (0, typeorm_1.Column)({ type: 'jsonb', nullable: true }),
116
+ __metadata("design:type", Object)
117
+ ], EmployeeEvaluationRequests.prototype, "dynamic_evaluation_form", void 0);
102
118
  exports.EmployeeEvaluationRequests = EmployeeEvaluationRequests = __decorate([
103
119
  (0, typeorm_1.Entity)({ name: 'employee_evaluation_requests' })
104
120
  ], EmployeeEvaluationRequests);
@@ -6,10 +6,15 @@ import { BaseModel } from './BaseModel';
6
6
  export declare class EvaluationEligibilitySetting extends BaseModel {
7
7
  department_id: number;
8
8
  section_id: number;
9
- /** Calendar month 1–12 */
10
- month: number;
11
- evaluation_end_date: Date;
9
+ /** Evaluation window start month (1–12). */
10
+ from_month: number;
11
+ /** Evaluation window end month (1–12), inclusive. */
12
+ to_month: number;
13
+ /** Last day of the evaluation month (1–31) when submissions close. */
14
+ evaluation_end_date: number;
12
15
  is_active: boolean;
16
+ /** Maximum employees allowed in one evaluation request for this dept/section window. */
17
+ max_employees_per_request: number;
13
18
  employees?: EvaluationEligibilitySettingEmployee[];
14
19
  }
15
20
  export declare class EvaluationEligibilitySettingEmployee extends BaseModel {
@@ -30,15 +30,23 @@ __decorate([
30
30
  __decorate([
31
31
  (0, typeorm_1.Column)({ type: 'int' }),
32
32
  __metadata("design:type", Number)
33
- ], EvaluationEligibilitySetting.prototype, "month", void 0);
33
+ ], EvaluationEligibilitySetting.prototype, "from_month", void 0);
34
34
  __decorate([
35
- (0, typeorm_1.Column)({ type: 'date' }),
36
- __metadata("design:type", Date)
35
+ (0, typeorm_1.Column)({ type: 'int' }),
36
+ __metadata("design:type", Number)
37
+ ], EvaluationEligibilitySetting.prototype, "to_month", void 0);
38
+ __decorate([
39
+ (0, typeorm_1.Column)({ type: 'int' }),
40
+ __metadata("design:type", Number)
37
41
  ], EvaluationEligibilitySetting.prototype, "evaluation_end_date", void 0);
38
42
  __decorate([
39
43
  (0, typeorm_1.Column)({ type: 'boolean', default: true }),
40
44
  __metadata("design:type", Boolean)
41
45
  ], EvaluationEligibilitySetting.prototype, "is_active", void 0);
46
+ __decorate([
47
+ (0, typeorm_1.Column)({ type: 'int', default: 50 }),
48
+ __metadata("design:type", Number)
49
+ ], EvaluationEligibilitySetting.prototype, "max_employees_per_request", void 0);
42
50
  __decorate([
43
51
  (0, typeorm_1.OneToMany)(() => EvaluationEligibilitySettingEmployee, (e) => e.evaluation_eligibility_setting),
44
52
  __metadata("design:type", Array)
@@ -0,0 +1,17 @@
1
+ import { BaseModel } from './BaseModel';
2
+ import { EvaluationFormSection } from './EvaluationFormSectionModel';
3
+ export declare enum EvaluationFormType {
4
+ EMPLOYEE_EVALUATION = "employee_evaluation",
5
+ DEPARTMENT = "department"
6
+ }
7
+ export declare class EvaluationForm extends BaseModel {
8
+ form_name: string;
9
+ form_code: string;
10
+ form_type: EvaluationFormType;
11
+ department_id: number | null;
12
+ section_id: number | null;
13
+ min_score: number;
14
+ max_score: number;
15
+ is_active: boolean;
16
+ sections?: EvaluationFormSection[];
17
+ }