@platform-modules/foreign-ministry 1.3.277 → 1.3.286

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 (71) hide show
  1. package/.env +10 -5
  2. package/dist/data-source.js +6 -4
  3. package/dist/helpers/evaluation-eligibility.utils.d.ts +10 -0
  4. package/dist/helpers/evaluation-eligibility.utils.js +39 -0
  5. package/dist/index.d.ts +4 -2
  6. package/dist/index.js +13 -5
  7. package/dist/models/EmployeeEvaluationAnswerModel.d.ts +6 -4
  8. package/dist/models/EmployeeEvaluationAnswerModel.js +6 -6
  9. package/dist/models/EvaluationEligibilitySettingModel.d.ts +6 -3
  10. package/dist/models/EvaluationEligibilitySettingModel.js +7 -3
  11. package/dist/models/EvaluationFormModel.d.ts +17 -0
  12. package/dist/models/EvaluationFormModel.js +64 -0
  13. package/dist/models/EvaluationFormQuestionModel.d.ts +22 -0
  14. package/dist/models/EvaluationFormQuestionModel.js +78 -0
  15. package/dist/models/EvaluationFormSectionModel.d.ts +12 -0
  16. package/dist/models/EvaluationFormSectionModel.js +54 -0
  17. package/dist/models/EvaluationMastersModel.d.ts +16 -0
  18. package/dist/models/EvaluationMastersModel.js +67 -0
  19. package/dist/models/EvaluationWorkflowModel.d.ts +60 -0
  20. package/dist/models/EvaluationWorkflowModel.js +215 -0
  21. package/dist/models/IneligibleForEvaluationModel.d.ts +8 -0
  22. package/dist/models/IneligibleForEvaluationModel.js +44 -0
  23. package/dist/models/MissionTravelClassConfigModel.d.ts +10 -0
  24. package/dist/models/MissionTravelClassConfigModel.js +50 -0
  25. package/dist/models/MissionTravelPerdiemModel.d.ts +10 -0
  26. package/dist/models/MissionTravelPerdiemModel.js +54 -0
  27. package/dist/models/UuidAuditModel.d.ts +9 -0
  28. package/dist/models/UuidAuditModel.js +41 -0
  29. package/package.json +1 -1
  30. package/src/data-source.ts +6 -4
  31. package/src/helpers/evaluation-eligibility.utils.ts +36 -0
  32. package/src/index.ts +15 -3
  33. package/src/models/AnnualTravelTicketPriceConfigurationItemModel.ts +36 -36
  34. package/src/models/AnnualTravelTicketPriceConfigurationModel.ts +35 -35
  35. package/src/models/AnnualTravelTicketRequestModel.ts +42 -42
  36. package/src/models/DiplomaticAcademyRequestModel.ts +80 -80
  37. package/src/models/DocumentationFileModel.ts +40 -40
  38. package/src/models/EmployeeEvaluationAnswerModel.ts +8 -6
  39. package/src/models/EvaluationEligibilitySettingModel.ts +9 -4
  40. package/src/models/EvaluationFormModel.ts +40 -0
  41. package/src/models/EvaluationFormQuestionModel.ts +52 -0
  42. package/src/models/EvaluationFormSectionModel.ts +33 -0
  43. package/src/models/FinancialWorkFlowModel.ts +15 -15
  44. package/src/models/GatePassVisitorsModel.ts +7 -7
  45. package/src/models/LMSExternalEntityTrainedPersonModel.ts +45 -45
  46. package/src/models/LanguageCourseRequestModel.ts +67 -67
  47. package/src/models/LeaveConfigModel.ts +71 -71
  48. package/src/models/MissionTravelApprovalModel.ts +101 -101
  49. package/src/models/MissionTravelAttachmentModel.ts +56 -56
  50. package/src/models/MissionTravelChatModel.ts +52 -52
  51. package/src/models/MissionTravelPersonModel.ts +105 -105
  52. package/src/models/MissionTravelWorkflowModel.ts +54 -54
  53. package/src/models/PollOptionsModel.ts +26 -26
  54. package/src/models/PollVotesModel.ts +37 -37
  55. package/src/models/PollsModel.ts +49 -49
  56. package/src/models/ProjectContactsModel.ts +51 -51
  57. package/src/models/ProjectFaqModel.ts +36 -36
  58. package/src/models/ProjectInvoicesModel.ts +41 -41
  59. package/src/models/ProjectModel.ts +75 -75
  60. package/src/models/ProjectTasksModel.ts +75 -75
  61. package/src/models/ResignationTerminationApprovalModel.ts +9 -9
  62. package/src/models/ResignationTerminationRequestModel.ts +17 -17
  63. package/src/models/SectionModel.ts +35 -35
  64. package/src/models/ServicesNotificationConfigsModel.ts +55 -55
  65. package/src/models/TelephoneDirectoryModel.ts +20 -20
  66. package/dist/models/EmbassyMasterModel.d.ts +0 -16
  67. package/dist/models/EmbassyMasterModel.js +0 -75
  68. package/dist/models/UserDependentsModel.d.ts +0 -18
  69. package/dist/models/UserDependentsModel.js +0 -94
  70. package/src/models/EvaluationQuestionMasterModel.ts +0 -23
  71. package/src/models/EvaluationSectionMasterModel.ts +0 -17
@@ -0,0 +1,215 @@
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.EvaluationAttachment = exports.EvaluationChat = exports.EvaluationApproval = exports.EvaluationEmployeeAnswer = exports.EvaluationEmployeeEvaluation = exports.EvaluationRequest = void 0;
13
+ const typeorm_1 = require("typeorm");
14
+ const BaseModel_1 = require("./BaseModel");
15
+ let EvaluationRequest = class EvaluationRequest extends BaseModel_1.BaseModel {
16
+ };
17
+ exports.EvaluationRequest = EvaluationRequest;
18
+ __decorate([
19
+ (0, typeorm_1.Column)({ type: 'int' }),
20
+ __metadata("design:type", Number)
21
+ ], EvaluationRequest.prototype, "user_id", void 0);
22
+ __decorate([
23
+ (0, typeorm_1.Column)({ type: 'int' }),
24
+ __metadata("design:type", Number)
25
+ ], EvaluationRequest.prototype, "department_id", void 0);
26
+ __decorate([
27
+ (0, typeorm_1.Column)({ type: 'int' }),
28
+ __metadata("design:type", Number)
29
+ ], EvaluationRequest.prototype, "section_id", void 0);
30
+ __decorate([
31
+ (0, typeorm_1.Column)({ type: 'int' }),
32
+ __metadata("design:type", Number)
33
+ ], EvaluationRequest.prototype, "evaluation_year", void 0);
34
+ __decorate([
35
+ (0, typeorm_1.Column)({ type: 'varchar', length: 255 }),
36
+ __metadata("design:type", String)
37
+ ], EvaluationRequest.prototype, "evaluation_period", void 0);
38
+ __decorate([
39
+ (0, typeorm_1.Column)({ type: 'int' }),
40
+ __metadata("design:type", Number)
41
+ ], EvaluationRequest.prototype, "evaluation_month", void 0);
42
+ __decorate([
43
+ (0, typeorm_1.Column)({ type: 'varchar', length: 64, default: 'draft' }),
44
+ __metadata("design:type", String)
45
+ ], EvaluationRequest.prototype, "status", void 0);
46
+ __decorate([
47
+ (0, typeorm_1.Column)({ type: 'varchar', length: 64, default: 'evaluation_office_1' }),
48
+ __metadata("design:type", String)
49
+ ], EvaluationRequest.prototype, "current_step_key", void 0);
50
+ __decorate([
51
+ (0, typeorm_1.Column)({ type: 'int', nullable: true }),
52
+ __metadata("design:type", Object)
53
+ ], EvaluationRequest.prototype, "undersecretary_department_id", void 0);
54
+ __decorate([
55
+ (0, typeorm_1.Column)({ type: 'int' }),
56
+ __metadata("design:type", Number)
57
+ ], EvaluationRequest.prototype, "raiser_department_id", void 0);
58
+ __decorate([
59
+ (0, typeorm_1.Column)({ type: 'int' }),
60
+ __metadata("design:type", Number)
61
+ ], EvaluationRequest.prototype, "raiser_section_id", void 0);
62
+ __decorate([
63
+ (0, typeorm_1.Column)({ type: 'varchar', length: 255, nullable: true }),
64
+ __metadata("design:type", Object)
65
+ ], EvaluationRequest.prototype, "workflow_execution_id", void 0);
66
+ __decorate([
67
+ (0, typeorm_1.OneToMany)(() => EvaluationEmployeeEvaluation, (e) => e.evaluation_request),
68
+ __metadata("design:type", Array)
69
+ ], EvaluationRequest.prototype, "employee_evaluations", void 0);
70
+ __decorate([
71
+ (0, typeorm_1.OneToMany)(() => EvaluationApproval, (a) => a.evaluation_request),
72
+ __metadata("design:type", Array)
73
+ ], EvaluationRequest.prototype, "approvals", void 0);
74
+ __decorate([
75
+ (0, typeorm_1.OneToMany)(() => EvaluationChat, (c) => c.evaluation_request),
76
+ __metadata("design:type", Array)
77
+ ], EvaluationRequest.prototype, "chats", void 0);
78
+ __decorate([
79
+ (0, typeorm_1.OneToMany)(() => EvaluationAttachment, (a) => a.evaluation_request),
80
+ __metadata("design:type", Array)
81
+ ], EvaluationRequest.prototype, "attachments", void 0);
82
+ exports.EvaluationRequest = EvaluationRequest = __decorate([
83
+ (0, typeorm_1.Entity)({ name: 'evaluation_requests' })
84
+ ], EvaluationRequest);
85
+ let EvaluationEmployeeEvaluation = class EvaluationEmployeeEvaluation extends BaseModel_1.BaseModel {
86
+ };
87
+ exports.EvaluationEmployeeEvaluation = EvaluationEmployeeEvaluation;
88
+ __decorate([
89
+ (0, typeorm_1.ManyToOne)(() => EvaluationRequest, (r) => r.employee_evaluations, { onDelete: 'CASCADE' }),
90
+ (0, typeorm_1.JoinColumn)({ name: 'evaluation_request_id' }),
91
+ __metadata("design:type", EvaluationRequest)
92
+ ], EvaluationEmployeeEvaluation.prototype, "evaluation_request", void 0);
93
+ __decorate([
94
+ (0, typeorm_1.Column)({ type: 'int' }),
95
+ __metadata("design:type", Number)
96
+ ], EvaluationEmployeeEvaluation.prototype, "user_id", void 0);
97
+ __decorate([
98
+ (0, typeorm_1.Column)({ type: 'jsonb', nullable: false, default: () => "'{}'::jsonb" }),
99
+ __metadata("design:type", Object)
100
+ ], EvaluationEmployeeEvaluation.prototype, "dynamic_evaluation_form", void 0);
101
+ __decorate([
102
+ (0, typeorm_1.Column)({ type: 'boolean', default: false }),
103
+ __metadata("design:type", Boolean)
104
+ ], EvaluationEmployeeEvaluation.prototype, "is_rca", void 0);
105
+ __decorate([
106
+ (0, typeorm_1.Column)({ type: 'varchar', length: 32, nullable: true }),
107
+ __metadata("design:type", Object)
108
+ ], EvaluationEmployeeEvaluation.prototype, "us_feedback", void 0);
109
+ __decorate([
110
+ (0, typeorm_1.OneToMany)(() => EvaluationEmployeeAnswer, (a) => a.evaluation_employee_evaluation),
111
+ __metadata("design:type", Array)
112
+ ], EvaluationEmployeeEvaluation.prototype, "answers", void 0);
113
+ exports.EvaluationEmployeeEvaluation = EvaluationEmployeeEvaluation = __decorate([
114
+ (0, typeorm_1.Entity)({ name: 'evaluation_employee_evaluations' })
115
+ ], EvaluationEmployeeEvaluation);
116
+ let EvaluationEmployeeAnswer = class EvaluationEmployeeAnswer extends BaseModel_1.BaseModel {
117
+ };
118
+ exports.EvaluationEmployeeAnswer = EvaluationEmployeeAnswer;
119
+ __decorate([
120
+ (0, typeorm_1.ManyToOne)(() => EvaluationEmployeeEvaluation, (e) => e.answers, { onDelete: 'CASCADE' }),
121
+ (0, typeorm_1.JoinColumn)({ name: 'evaluation_employee_evaluation_id' }),
122
+ __metadata("design:type", EvaluationEmployeeEvaluation)
123
+ ], EvaluationEmployeeAnswer.prototype, "evaluation_employee_evaluation", void 0);
124
+ __decorate([
125
+ (0, typeorm_1.Column)({ type: 'int' }),
126
+ __metadata("design:type", Number)
127
+ ], EvaluationEmployeeAnswer.prototype, "evaluation_section_id", void 0);
128
+ __decorate([
129
+ (0, typeorm_1.Column)({ type: 'int' }),
130
+ __metadata("design:type", Number)
131
+ ], EvaluationEmployeeAnswer.prototype, "evaluation_question_id", void 0);
132
+ __decorate([
133
+ (0, typeorm_1.Column)({ type: 'smallint' }),
134
+ __metadata("design:type", Number)
135
+ ], EvaluationEmployeeAnswer.prototype, "score", void 0);
136
+ __decorate([
137
+ (0, typeorm_1.Column)({ type: 'text', nullable: true }),
138
+ __metadata("design:type", Object)
139
+ ], EvaluationEmployeeAnswer.prototype, "remarks", void 0);
140
+ exports.EvaluationEmployeeAnswer = EvaluationEmployeeAnswer = __decorate([
141
+ (0, typeorm_1.Entity)({ name: 'evaluation_employee_answers' })
142
+ ], EvaluationEmployeeAnswer);
143
+ let EvaluationApproval = class EvaluationApproval extends BaseModel_1.BaseModel {
144
+ };
145
+ exports.EvaluationApproval = EvaluationApproval;
146
+ __decorate([
147
+ (0, typeorm_1.ManyToOne)(() => EvaluationRequest, (r) => r.approvals, { onDelete: 'CASCADE' }),
148
+ (0, typeorm_1.JoinColumn)({ name: 'evaluation_request_id' }),
149
+ __metadata("design:type", EvaluationRequest)
150
+ ], EvaluationApproval.prototype, "evaluation_request", void 0);
151
+ __decorate([
152
+ (0, typeorm_1.Column)({ type: 'varchar', length: 64 }),
153
+ __metadata("design:type", String)
154
+ ], EvaluationApproval.prototype, "step_key", void 0);
155
+ __decorate([
156
+ (0, typeorm_1.Column)({ type: 'int', default: 0 }),
157
+ __metadata("design:type", Number)
158
+ ], EvaluationApproval.prototype, "step_order", void 0);
159
+ __decorate([
160
+ (0, typeorm_1.Column)({ type: 'varchar', length: 32, default: 'pending' }),
161
+ __metadata("design:type", String)
162
+ ], EvaluationApproval.prototype, "approval_status", void 0);
163
+ __decorate([
164
+ (0, typeorm_1.Column)({ type: 'int', nullable: true }),
165
+ __metadata("design:type", Object)
166
+ ], EvaluationApproval.prototype, "approver_user_id", void 0);
167
+ __decorate([
168
+ (0, typeorm_1.Column)({ type: 'text', nullable: true }),
169
+ __metadata("design:type", Object)
170
+ ], EvaluationApproval.prototype, "comments", void 0);
171
+ exports.EvaluationApproval = EvaluationApproval = __decorate([
172
+ (0, typeorm_1.Entity)({ name: 'evaluation_approvals' })
173
+ ], EvaluationApproval);
174
+ let EvaluationChat = class EvaluationChat extends BaseModel_1.BaseModel {
175
+ };
176
+ exports.EvaluationChat = EvaluationChat;
177
+ __decorate([
178
+ (0, typeorm_1.ManyToOne)(() => EvaluationRequest, (r) => r.chats, { onDelete: 'CASCADE' }),
179
+ (0, typeorm_1.JoinColumn)({ name: 'evaluation_request_id' }),
180
+ __metadata("design:type", EvaluationRequest)
181
+ ], EvaluationChat.prototype, "evaluation_request", void 0);
182
+ __decorate([
183
+ (0, typeorm_1.Column)({ type: 'int' }),
184
+ __metadata("design:type", Number)
185
+ ], EvaluationChat.prototype, "sender_user_id", void 0);
186
+ __decorate([
187
+ (0, typeorm_1.Column)({ type: 'text' }),
188
+ __metadata("design:type", String)
189
+ ], EvaluationChat.prototype, "message_text", void 0);
190
+ exports.EvaluationChat = EvaluationChat = __decorate([
191
+ (0, typeorm_1.Entity)({ name: 'evaluation_chats' })
192
+ ], EvaluationChat);
193
+ let EvaluationAttachment = class EvaluationAttachment extends BaseModel_1.BaseModel {
194
+ };
195
+ exports.EvaluationAttachment = EvaluationAttachment;
196
+ __decorate([
197
+ (0, typeorm_1.ManyToOne)(() => EvaluationRequest, (r) => r.attachments, { onDelete: 'CASCADE' }),
198
+ (0, typeorm_1.JoinColumn)({ name: 'evaluation_request_id' }),
199
+ __metadata("design:type", EvaluationRequest)
200
+ ], EvaluationAttachment.prototype, "evaluation_request", void 0);
201
+ __decorate([
202
+ (0, typeorm_1.Column)({ type: 'varchar', length: 512 }),
203
+ __metadata("design:type", String)
204
+ ], EvaluationAttachment.prototype, "file_name", void 0);
205
+ __decorate([
206
+ (0, typeorm_1.Column)({ type: 'varchar', length: 1024 }),
207
+ __metadata("design:type", String)
208
+ ], EvaluationAttachment.prototype, "file_url", void 0);
209
+ __decorate([
210
+ (0, typeorm_1.Column)({ type: 'int' }),
211
+ __metadata("design:type", Number)
212
+ ], EvaluationAttachment.prototype, "uploaded_by_user_id", void 0);
213
+ exports.EvaluationAttachment = EvaluationAttachment = __decorate([
214
+ (0, typeorm_1.Entity)({ name: 'evaluation_attachments' })
215
+ ], EvaluationAttachment);
@@ -0,0 +1,8 @@
1
+ import { BaseModel } from './BaseModel';
2
+ export declare class IneligibleForEvaluation extends BaseModel {
3
+ employeeId: number;
4
+ leave_type: string;
5
+ is_active: boolean;
6
+ year: number;
7
+ constructor(employeeId: number, leave_type: string, is_active: boolean, year: number);
8
+ }
@@ -0,0 +1,44 @@
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.IneligibleForEvaluation = void 0;
13
+ const typeorm_1 = require("typeorm");
14
+ const BaseModel_1 = require("./BaseModel");
15
+ let IneligibleForEvaluation = class IneligibleForEvaluation extends BaseModel_1.BaseModel {
16
+ constructor(employeeId, leave_type, is_active, year) {
17
+ super();
18
+ this.employeeId = employeeId;
19
+ this.leave_type = leave_type;
20
+ this.is_active = is_active;
21
+ this.year = year;
22
+ }
23
+ };
24
+ exports.IneligibleForEvaluation = IneligibleForEvaluation;
25
+ __decorate([
26
+ (0, typeorm_1.Column)({ name: 'employee_id', type: 'int' }),
27
+ __metadata("design:type", Number)
28
+ ], IneligibleForEvaluation.prototype, "employeeId", void 0);
29
+ __decorate([
30
+ (0, typeorm_1.Column)({ type: 'varchar', length: 255 }),
31
+ __metadata("design:type", String)
32
+ ], IneligibleForEvaluation.prototype, "leave_type", void 0);
33
+ __decorate([
34
+ (0, typeorm_1.Column)({ type: 'boolean', default: true }),
35
+ __metadata("design:type", Boolean)
36
+ ], IneligibleForEvaluation.prototype, "is_active", void 0);
37
+ __decorate([
38
+ (0, typeorm_1.Column)({ type: 'int' }),
39
+ __metadata("design:type", Number)
40
+ ], IneligibleForEvaluation.prototype, "year", void 0);
41
+ exports.IneligibleForEvaluation = IneligibleForEvaluation = __decorate([
42
+ (0, typeorm_1.Entity)({ name: 'ineligible_for_evaluation' }),
43
+ __metadata("design:paramtypes", [Number, String, Boolean, Number])
44
+ ], IneligibleForEvaluation);
@@ -0,0 +1,10 @@
1
+ import { BaseModel } from './BaseModel';
2
+ import { TravelClass } from './MissionTravelPersonModel';
3
+ export declare class MissionTravelClassConfig extends BaseModel {
4
+ grade: number | null;
5
+ position: string | null;
6
+ travel_class: TravelClass;
7
+ is_active: boolean;
8
+ description: string | null;
9
+ constructor(grade: number | null, position: string | null, travel_class: TravelClass, description: string | null);
10
+ }
@@ -0,0 +1,50 @@
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.MissionTravelClassConfig = void 0;
13
+ const typeorm_1 = require("typeorm");
14
+ const BaseModel_1 = require("./BaseModel");
15
+ const MissionTravelPersonModel_1 = require("./MissionTravelPersonModel");
16
+ let MissionTravelClassConfig = class MissionTravelClassConfig extends BaseModel_1.BaseModel {
17
+ constructor(grade, position, travel_class, description) {
18
+ super();
19
+ this.grade = grade;
20
+ this.position = position;
21
+ this.travel_class = travel_class;
22
+ this.description = description;
23
+ this.is_active = true;
24
+ }
25
+ };
26
+ exports.MissionTravelClassConfig = MissionTravelClassConfig;
27
+ __decorate([
28
+ (0, typeorm_1.Column)({ type: 'int', nullable: true }),
29
+ __metadata("design:type", Object)
30
+ ], MissionTravelClassConfig.prototype, "grade", void 0);
31
+ __decorate([
32
+ (0, typeorm_1.Column)({ type: 'varchar', length: 255, nullable: true }),
33
+ __metadata("design:type", Object)
34
+ ], MissionTravelClassConfig.prototype, "position", void 0);
35
+ __decorate([
36
+ (0, typeorm_1.Column)({ type: 'enum', enum: MissionTravelPersonModel_1.TravelClass, nullable: false }),
37
+ __metadata("design:type", String)
38
+ ], MissionTravelClassConfig.prototype, "travel_class", void 0);
39
+ __decorate([
40
+ (0, typeorm_1.Column)({ type: 'boolean', default: true }),
41
+ __metadata("design:type", Boolean)
42
+ ], MissionTravelClassConfig.prototype, "is_active", void 0);
43
+ __decorate([
44
+ (0, typeorm_1.Column)({ type: 'text', nullable: true }),
45
+ __metadata("design:type", Object)
46
+ ], MissionTravelClassConfig.prototype, "description", void 0);
47
+ exports.MissionTravelClassConfig = MissionTravelClassConfig = __decorate([
48
+ (0, typeorm_1.Entity)({ name: 'mission_travel_class_config' }),
49
+ __metadata("design:paramtypes", [Object, Object, String, Object])
50
+ ], MissionTravelClassConfig);
@@ -0,0 +1,10 @@
1
+ import { BaseModel } from './BaseModel';
2
+ export declare class MissionTravelPerdiem extends BaseModel {
3
+ grade: number;
4
+ perdiem_amount: number;
5
+ currency: string | null;
6
+ effective_from: Date | null;
7
+ effective_to: Date | null;
8
+ is_active: boolean;
9
+ constructor(grade: number, perdiem_amount: number, currency: string | null, effective_from: Date | null, effective_to: Date | null);
10
+ }
@@ -0,0 +1,54 @@
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.MissionTravelPerdiem = void 0;
13
+ const typeorm_1 = require("typeorm");
14
+ const BaseModel_1 = require("./BaseModel");
15
+ let MissionTravelPerdiem = class MissionTravelPerdiem extends BaseModel_1.BaseModel {
16
+ constructor(grade, perdiem_amount, currency, effective_from, effective_to) {
17
+ super();
18
+ this.grade = grade;
19
+ this.perdiem_amount = perdiem_amount;
20
+ this.currency = currency;
21
+ this.effective_from = effective_from;
22
+ this.effective_to = effective_to;
23
+ this.is_active = true;
24
+ }
25
+ };
26
+ exports.MissionTravelPerdiem = MissionTravelPerdiem;
27
+ __decorate([
28
+ (0, typeorm_1.Column)({ type: 'int', nullable: false }),
29
+ __metadata("design:type", Number)
30
+ ], MissionTravelPerdiem.prototype, "grade", void 0);
31
+ __decorate([
32
+ (0, typeorm_1.Column)({ type: 'decimal', precision: 10, scale: 2, nullable: false }),
33
+ __metadata("design:type", Number)
34
+ ], MissionTravelPerdiem.prototype, "perdiem_amount", void 0);
35
+ __decorate([
36
+ (0, typeorm_1.Column)({ type: 'varchar', length: 50, nullable: true }),
37
+ __metadata("design:type", Object)
38
+ ], MissionTravelPerdiem.prototype, "currency", void 0);
39
+ __decorate([
40
+ (0, typeorm_1.Column)({ type: 'date', nullable: true }),
41
+ __metadata("design:type", Object)
42
+ ], MissionTravelPerdiem.prototype, "effective_from", void 0);
43
+ __decorate([
44
+ (0, typeorm_1.Column)({ type: 'date', nullable: true }),
45
+ __metadata("design:type", Object)
46
+ ], MissionTravelPerdiem.prototype, "effective_to", void 0);
47
+ __decorate([
48
+ (0, typeorm_1.Column)({ type: 'boolean', default: true }),
49
+ __metadata("design:type", Boolean)
50
+ ], MissionTravelPerdiem.prototype, "is_active", void 0);
51
+ exports.MissionTravelPerdiem = MissionTravelPerdiem = __decorate([
52
+ (0, typeorm_1.Entity)({ name: 'mission_travel_perdiem' }),
53
+ __metadata("design:paramtypes", [Number, Number, Object, Object, Object])
54
+ ], MissionTravelPerdiem);
@@ -0,0 +1,9 @@
1
+ /** UUID primary key + audit columns + soft delete via deleted_at. */
2
+ export declare abstract class UuidAuditModel {
3
+ id: string;
4
+ created_by: string;
5
+ created_at: Date;
6
+ updated_by: string | null;
7
+ updated_at: Date;
8
+ deleted_at: Date | null;
9
+ }
@@ -0,0 +1,41 @@
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.UuidAuditModel = void 0;
13
+ const typeorm_1 = require("typeorm");
14
+ /** UUID primary key + audit columns + soft delete via deleted_at. */
15
+ class UuidAuditModel {
16
+ }
17
+ exports.UuidAuditModel = UuidAuditModel;
18
+ __decorate([
19
+ (0, typeorm_1.PrimaryGeneratedColumn)('uuid'),
20
+ __metadata("design:type", String)
21
+ ], UuidAuditModel.prototype, "id", void 0);
22
+ __decorate([
23
+ (0, typeorm_1.Column)({ type: 'varchar', length: 128, nullable: false, default: '' }),
24
+ __metadata("design:type", String)
25
+ ], UuidAuditModel.prototype, "created_by", void 0);
26
+ __decorate([
27
+ (0, typeorm_1.CreateDateColumn)({ type: 'timestamptz', default: () => 'CURRENT_TIMESTAMP' }),
28
+ __metadata("design:type", Date)
29
+ ], UuidAuditModel.prototype, "created_at", void 0);
30
+ __decorate([
31
+ (0, typeorm_1.Column)({ type: 'varchar', length: 128, nullable: true }),
32
+ __metadata("design:type", Object)
33
+ ], UuidAuditModel.prototype, "updated_by", void 0);
34
+ __decorate([
35
+ (0, typeorm_1.UpdateDateColumn)({ type: 'timestamptz', default: () => 'CURRENT_TIMESTAMP' }),
36
+ __metadata("design:type", Date)
37
+ ], UuidAuditModel.prototype, "updated_at", void 0);
38
+ __decorate([
39
+ (0, typeorm_1.DeleteDateColumn)({ type: 'timestamptz', nullable: true }),
40
+ __metadata("design:type", Object)
41
+ ], UuidAuditModel.prototype, "deleted_at", void 0);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@platform-modules/foreign-ministry",
3
- "version": "1.3.277",
3
+ "version": "1.3.286",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "scripts": {
@@ -294,8 +294,9 @@ import {
294
294
  EvaluationEligibilitySetting,
295
295
  EvaluationEligibilitySettingEmployee,
296
296
  } from './models/EvaluationEligibilitySettingModel';
297
- import { EvaluationSectionMaster } from './models/EvaluationSectionMasterModel';
298
- import { EvaluationQuestionMaster } from './models/EvaluationQuestionMasterModel';
297
+ import { EvaluationForm } from './models/EvaluationFormModel';
298
+ import { EvaluationFormSection } from './models/EvaluationFormSectionModel';
299
+ import { EvaluationFormQuestion } from './models/EvaluationFormQuestionModel';
299
300
  import {
300
301
  EmployeeEvaluationRequests,
301
302
  } from './models/EmployeeEvaluationRequestModel';
@@ -597,8 +598,9 @@ export const AppDataSource = new DataSource({
597
598
  MeetingAppointmentReminderLog,
598
599
  EvaluationEligibilitySetting,
599
600
  EvaluationEligibilitySettingEmployee,
600
- EvaluationSectionMaster,
601
- EvaluationQuestionMaster,
601
+ EvaluationForm,
602
+ EvaluationFormSection,
603
+ EvaluationFormQuestion,
602
604
  EmployeeEvaluationRequests,
603
605
  EmployeeEvaluation,
604
606
  EmployeeEvaluationAnswers,
@@ -0,0 +1,36 @@
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 function isEvaluationEligibilityWindowOpen(
6
+ fromMonth: number,
7
+ toMonth: number,
8
+ evaluationEndDay: number,
9
+ referenceDate: Date = new Date()
10
+ ): boolean {
11
+ const month = referenceDate.getUTCMonth() + 1;
12
+ const day = referenceDate.getUTCDate();
13
+ if (month < fromMonth || month > toMonth) return false;
14
+ if (!Number.isFinite(evaluationEndDay) || evaluationEndDay < 1 || evaluationEndDay > 31) return false;
15
+ return day <= evaluationEndDay;
16
+ }
17
+
18
+ export function parseEvaluationEndDay(input: unknown): number | null {
19
+ if (input == null || input === '') return null;
20
+ const n = typeof input === 'number' ? input : parseInt(String(input).trim(), 10);
21
+ if (!Number.isFinite(n) || n < 1 || n > 31) return null;
22
+ return Math.floor(n);
23
+ }
24
+
25
+ export function parseMonthRange(
26
+ fromInput: unknown,
27
+ toInput: unknown
28
+ ): { from_month: number; to_month: number } | null {
29
+ const from_month = typeof fromInput === 'number' ? fromInput : parseInt(String(fromInput).trim(), 10);
30
+ const to_month = typeof toInput === 'number' ? toInput : parseInt(String(toInput).trim(), 10);
31
+ if (!Number.isFinite(from_month) || !Number.isFinite(to_month)) return null;
32
+ if (!Number.isInteger(from_month) || !Number.isInteger(to_month)) return null;
33
+ if (from_month < 1 || from_month > 12 || to_month < 1 || to_month > 12) return null;
34
+ if (from_month > to_month) return null;
35
+ return { from_month, to_month };
36
+ }
package/src/index.ts CHANGED
@@ -432,8 +432,11 @@ export {
432
432
  EvaluationEligibilitySetting,
433
433
  EvaluationEligibilitySettingEmployee,
434
434
  } from './models/EvaluationEligibilitySettingModel';
435
- export { EvaluationSectionMaster } from './models/EvaluationSectionMasterModel';
436
- export { EvaluationQuestionMaster } from './models/EvaluationQuestionMasterModel';
435
+ export {
436
+ isEvaluationEligibilityWindowOpen,
437
+ parseEvaluationEndDay,
438
+ parseMonthRange,
439
+ } from './helpers/evaluation-eligibility.utils';
437
440
  export {
438
441
  EmployeeEvaluationRequests,
439
442
  EmployeeEvaluationRequestStatus,
@@ -453,4 +456,13 @@ export {
453
456
  EmployeeEvaluationRequestChat,
454
457
  EmployeeEvaluationMessageType,
455
458
  } from './models/EmployeeEvaluationChatModel';
456
- export { EmployeeEvaluationRequestAttachment } from './models/EmployeeEvaluationAttachmentModel';
459
+ export { EmployeeEvaluationRequestAttachment } from './models/EmployeeEvaluationAttachmentModel';
460
+ export {
461
+ EvaluationForm,
462
+ EvaluationFormType,
463
+ } from './models/EvaluationFormModel';
464
+ export { EvaluationFormSection } from './models/EvaluationFormSectionModel';
465
+ export {
466
+ EvaluationFormQuestion,
467
+ EvaluationFormQuestionType,
468
+ } from './models/EvaluationFormQuestionModel';
@@ -1,36 +1,36 @@
1
- import { Column, Entity, JoinColumn, ManyToOne, Unique } from 'typeorm';
2
- import { BaseModel } from './BaseModel';
3
- import { AnnualTravelTicketPriceConfiguration } from './AnnualTravelTicketPriceConfigurationModel';
4
-
5
- /**
6
- * Individual price slab within an annual travel ticket pricing configuration.
7
- * age_from is inclusive and age_to is exclusive to allow adjacent ranges.
8
- */
9
- @Entity({ name: 'annual_travel_ticket_price_configuration_items' })
10
- @Unique(['configuration_id', 'ticket_class', 'age_from', 'age_to'])
11
- export class AnnualTravelTicketPriceConfigurationItem extends BaseModel {
12
- @Column({ type: 'int', nullable: false })
13
- configuration_id: number;
14
-
15
- @ManyToOne(() => AnnualTravelTicketPriceConfiguration, (configuration) => configuration.price_slabs, { onDelete: 'CASCADE' })
16
- @JoinColumn({ name: 'configuration_id' })
17
- configuration: AnnualTravelTicketPriceConfiguration;
18
-
19
- @Column({ type: 'varchar', length: 100, nullable: true })
20
- ticket_class: string | null;
21
-
22
- @Column({ type: 'int', nullable: false })
23
- age_from: number;
24
-
25
- @Column({ type: 'int', nullable: false })
26
- age_to: number;
27
-
28
- @Column({ type: 'decimal', precision: 12, scale: 2, nullable: false })
29
- price: number | string;
30
-
31
- @Column({ type: 'varchar', length: 10, nullable: true, default: 'OMR' })
32
- currency_code: string | null;
33
-
34
- @Column({ type: 'text', nullable: true })
35
- notes: string | null;
36
- }
1
+ import { Column, Entity, JoinColumn, ManyToOne, Unique } from 'typeorm';
2
+ import { BaseModel } from './BaseModel';
3
+ import { AnnualTravelTicketPriceConfiguration } from './AnnualTravelTicketPriceConfigurationModel';
4
+
5
+ /**
6
+ * Individual price slab within an annual travel ticket pricing configuration.
7
+ * age_from is inclusive and age_to is exclusive to allow adjacent ranges.
8
+ */
9
+ @Entity({ name: 'annual_travel_ticket_price_configuration_items' })
10
+ @Unique(['configuration_id', 'ticket_class', 'age_from', 'age_to'])
11
+ export class AnnualTravelTicketPriceConfigurationItem extends BaseModel {
12
+ @Column({ type: 'int', nullable: false })
13
+ configuration_id: number;
14
+
15
+ @ManyToOne(() => AnnualTravelTicketPriceConfiguration, (configuration) => configuration.price_slabs, { onDelete: 'CASCADE' })
16
+ @JoinColumn({ name: 'configuration_id' })
17
+ configuration: AnnualTravelTicketPriceConfiguration;
18
+
19
+ @Column({ type: 'varchar', length: 100, nullable: true })
20
+ ticket_class: string | null;
21
+
22
+ @Column({ type: 'int', nullable: false })
23
+ age_from: number;
24
+
25
+ @Column({ type: 'int', nullable: false })
26
+ age_to: number;
27
+
28
+ @Column({ type: 'decimal', precision: 12, scale: 2, nullable: false })
29
+ price: number | string;
30
+
31
+ @Column({ type: 'varchar', length: 10, nullable: true, default: 'OMR' })
32
+ currency_code: string | null;
33
+
34
+ @Column({ type: 'text', nullable: true })
35
+ notes: string | null;
36
+ }