@platform-modules/foreign-ministry 1.3.336 → 1.3.338

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 (367) hide show
  1. package/.env +5 -11
  2. package/dist/helpers/sla-request-status.helper.d.ts +3 -0
  3. package/dist/helpers/sla-request-status.helper.js +36 -0
  4. package/dist/index.d.ts +0 -1
  5. package/dist/index.js +0 -1
  6. package/dist/models/AppointmentChatModel.d.ts +0 -2
  7. package/dist/models/AppointmentChatModel.js +0 -8
  8. package/dist/models/AppointmentWorkflowModel.d.ts +0 -2
  9. package/dist/models/AppointmentWorkflowModel.js +0 -8
  10. package/dist/models/AssistanceCitizensAbroadChatModel.d.ts +0 -2
  11. package/dist/models/AssistanceCitizensAbroadChatModel.js +0 -8
  12. package/dist/models/AssistanceCitizensAbroadWorkflowModel.d.ts +0 -1
  13. package/dist/models/AssistanceCitizensAbroadWorkflowModel.js +0 -4
  14. package/dist/models/ChildrensEducationChatModel.d.ts +0 -2
  15. package/dist/models/ChildrensEducationChatModel.js +0 -8
  16. package/dist/models/ChildrensEducationWorkflowModel.d.ts +0 -1
  17. package/dist/models/ChildrensEducationWorkflowModel.js +0 -4
  18. package/dist/models/DiplomaticAcademyChatModel.d.ts +0 -2
  19. package/dist/models/DiplomaticAcademyChatModel.js +0 -8
  20. package/dist/models/DiplomaticAcademyWorkflowModel.d.ts +0 -2
  21. package/dist/models/DiplomaticAcademyWorkflowModel.js +0 -8
  22. package/dist/models/DiplomaticChatsModel.d.ts +0 -2
  23. package/dist/models/DiplomaticChatsModel.js +0 -8
  24. package/dist/models/DiplomaticWorkFlowModel.d.ts +0 -2
  25. package/dist/models/DiplomaticWorkFlowModel.js +0 -8
  26. package/dist/models/DocumentTranslationChatModel.d.ts +0 -2
  27. package/dist/models/DocumentTranslationChatModel.js +0 -8
  28. package/dist/models/DocumentTranslationWorkflowModel.d.ts +0 -2
  29. package/dist/models/DocumentTranslationWorkflowModel.js +0 -8
  30. package/dist/models/EarlyCheckoutChatModel.d.ts +0 -2
  31. package/dist/models/EarlyCheckoutChatModel.js +0 -8
  32. package/dist/models/EarlyCheckoutWorkflowModel.d.ts +0 -2
  33. package/dist/models/EarlyCheckoutWorkflowModel.js +0 -8
  34. package/dist/models/EmbassyEvaluationChatModel.d.ts +0 -1
  35. package/dist/models/EmbassyEvaluationChatModel.js +0 -4
  36. package/dist/models/EmbassyEvaluationDepartmentSettingModel.d.ts +14 -0
  37. package/dist/models/EmbassyEvaluationDepartmentSettingModel.js +56 -0
  38. package/dist/models/EmbassyEvaluationWorkflowModel.d.ts +0 -1
  39. package/dist/models/EmbassyEvaluationWorkflowModel.js +0 -4
  40. package/dist/models/EmployeeCardChatsModel.d.ts +0 -2
  41. package/dist/models/EmployeeCardChatsModel.js +0 -8
  42. package/dist/models/EmployeeCardWorkFlowModel.d.ts +0 -2
  43. package/dist/models/EmployeeCardWorkFlowModel.js +0 -8
  44. package/dist/models/EmployeeEvaluationChatModel.d.ts +0 -1
  45. package/dist/models/EmployeeEvaluationChatModel.js +0 -4
  46. package/dist/models/EmployeeEvaluationWorkflowModel.d.ts +0 -1
  47. package/dist/models/EmployeeEvaluationWorkflowModel.js +0 -4
  48. package/dist/models/EmployeeOfMonthNominationChatModel.d.ts +0 -1
  49. package/dist/models/EmployeeOfMonthNominationChatModel.js +0 -4
  50. package/dist/models/EmployeeOfMonthNominationWorkflowModel.d.ts +0 -1
  51. package/dist/models/EmployeeOfMonthNominationWorkflowModel.js +0 -4
  52. package/dist/models/EmployeeOfMonthSupportNominationChatModel.d.ts +0 -1
  53. package/dist/models/EmployeeOfMonthSupportNominationChatModel.js +0 -4
  54. package/dist/models/EmployeeOfMonthSupportNominationWorkflowModel.d.ts +0 -1
  55. package/dist/models/EmployeeOfMonthSupportNominationWorkflowModel.js +0 -4
  56. package/dist/models/EvaluationMastersModel.d.ts +16 -0
  57. package/dist/models/EvaluationMastersModel.js +67 -0
  58. package/dist/models/EvaluationQuestionMasterModel.d.ts +10 -0
  59. package/dist/models/EvaluationQuestionMasterModel.js +42 -0
  60. package/dist/models/EvaluationSectionMasterModel.d.ts +7 -0
  61. package/dist/models/EvaluationSectionMasterModel.js +36 -0
  62. package/dist/models/EvaluationWorkflowModel.d.ts +60 -0
  63. package/dist/models/EvaluationWorkflowModel.js +215 -0
  64. package/dist/models/FinancialChatsModel.d.ts +0 -2
  65. package/dist/models/FinancialChatsModel.js +0 -8
  66. package/dist/models/FinancialWorkFlowModel.d.ts +0 -2
  67. package/dist/models/FinancialWorkFlowModel.js +0 -8
  68. package/dist/models/FoodChatModel.d.ts +0 -1
  69. package/dist/models/FoodChatModel.js +0 -4
  70. package/dist/models/FoodWorkflowModel.d.ts +0 -2
  71. package/dist/models/FoodWorkflowModel.js +0 -8
  72. package/dist/models/GatePassChatsModel.d.ts +0 -2
  73. package/dist/models/GatePassChatsModel.js +0 -8
  74. package/dist/models/GatePassWorkFlowModel.d.ts +0 -2
  75. package/dist/models/GatePassWorkFlowModel.js +0 -8
  76. package/dist/models/GeneralServiceChatsModel.d.ts +0 -2
  77. package/dist/models/GeneralServiceChatsModel.js +0 -8
  78. package/dist/models/GeneralServiceWorkFlowModel.d.ts +0 -2
  79. package/dist/models/GeneralServiceWorkFlowModel.js +0 -8
  80. package/dist/models/HallChatModel.d.ts +0 -1
  81. package/dist/models/HallChatModel.js +0 -4
  82. package/dist/models/HallWorkflowModel.d.ts +0 -2
  83. package/dist/models/HallWorkflowModel.js +0 -8
  84. package/dist/models/HousingRentalAccommodationChatModel.d.ts +0 -2
  85. package/dist/models/HousingRentalAccommodationChatModel.js +0 -8
  86. package/dist/models/HousingRentalAccommodationWorkflowModel.d.ts +0 -1
  87. package/dist/models/HousingRentalAccommodationWorkflowModel.js +0 -4
  88. package/dist/models/HousingRentalVehicleChatModel.d.ts +0 -2
  89. package/dist/models/HousingRentalVehicleChatModel.js +0 -8
  90. package/dist/models/HousingRentalVehicleWorkflowModel.d.ts +0 -1
  91. package/dist/models/HousingRentalVehicleWorkflowModel.js +0 -4
  92. package/dist/models/IneligibleForEvaluationModel.d.ts +8 -0
  93. package/dist/models/IneligibleForEvaluationModel.js +44 -0
  94. package/dist/models/InitiatorEmployeeNominationChatModel.d.ts +0 -1
  95. package/dist/models/InitiatorEmployeeNominationChatModel.js +0 -4
  96. package/dist/models/InitiatorEmployeeNominationWorkflowModel.d.ts +0 -1
  97. package/dist/models/InitiatorEmployeeNominationWorkflowModel.js +0 -4
  98. package/dist/models/InnovativeEmployeeNominationChatModel.d.ts +0 -1
  99. package/dist/models/InnovativeEmployeeNominationChatModel.js +0 -4
  100. package/dist/models/InnovativeEmployeeNominationWorkflowModel.d.ts +0 -1
  101. package/dist/models/InnovativeEmployeeNominationWorkflowModel.js +0 -4
  102. package/dist/models/IpeGrievanceChatModel.d.ts +0 -1
  103. package/dist/models/IpeGrievanceChatModel.js +0 -4
  104. package/dist/models/IpeGrievanceWorkflowModel.d.ts +0 -1
  105. package/dist/models/IpeGrievanceWorkflowModel.js +0 -4
  106. package/dist/models/LMSCourseExternalLecturerChatModel.d.ts +0 -2
  107. package/dist/models/LMSCourseExternalLecturerChatModel.js +0 -8
  108. package/dist/models/LMSCourseExternalLecturerWorkflowModel.d.ts +0 -2
  109. package/dist/models/LMSCourseExternalLecturerWorkflowModel.js +0 -8
  110. package/dist/models/LMSExternalCourseParticipationChatModel.d.ts +0 -2
  111. package/dist/models/LMSExternalCourseParticipationChatModel.js +0 -8
  112. package/dist/models/LMSExternalCourseParticipationWorkflowModel.d.ts +0 -2
  113. package/dist/models/LMSExternalCourseParticipationWorkflowModel.js +0 -8
  114. package/dist/models/LMSExternalEntityTrainedChatModel.d.ts +0 -2
  115. package/dist/models/LMSExternalEntityTrainedChatModel.js +0 -8
  116. package/dist/models/LMSExternalEntityTrainedPersonModel.d.ts +2 -0
  117. package/dist/models/LMSExternalEntityTrainedPersonModel.js +8 -0
  118. package/dist/models/LMSExternalEntityTrainedWorkflowModel.d.ts +0 -2
  119. package/dist/models/LMSExternalEntityTrainedWorkflowModel.js +0 -8
  120. package/dist/models/LanguageCourseChatModel.d.ts +0 -2
  121. package/dist/models/LanguageCourseChatModel.js +0 -8
  122. package/dist/models/LanguageCourseWorkflowModel.d.ts +0 -2
  123. package/dist/models/LanguageCourseWorkflowModel.js +0 -8
  124. package/dist/models/LeaveChatModel.d.ts +0 -2
  125. package/dist/models/LeaveChatModel.js +0 -8
  126. package/dist/models/LeaveWorkFlowModel.d.ts +0 -2
  127. package/dist/models/LeaveWorkFlowModel.js +0 -8
  128. package/dist/models/MediaChatModel.d.ts +0 -2
  129. package/dist/models/MediaChatModel.js +0 -8
  130. package/dist/models/MediaWorkflowModel.d.ts +0 -2
  131. package/dist/models/MediaWorkflowModel.js +0 -8
  132. package/dist/models/MedicalExpensesChatModel.d.ts +0 -2
  133. package/dist/models/MedicalExpensesChatModel.js +0 -8
  134. package/dist/models/MedicalExpensesWorkflowModel.d.ts +0 -1
  135. package/dist/models/MedicalExpensesWorkflowModel.js +0 -4
  136. package/dist/models/MeetingChatModel.d.ts +0 -2
  137. package/dist/models/MeetingChatModel.js +0 -8
  138. package/dist/models/MeetingWorkflowModel.d.ts +0 -2
  139. package/dist/models/MeetingWorkflowModel.js +0 -8
  140. package/dist/models/MissionBankAccountChatModel.d.ts +0 -2
  141. package/dist/models/MissionBankAccountChatModel.js +0 -8
  142. package/dist/models/MissionBankAccountWorkflowModel.d.ts +0 -2
  143. package/dist/models/MissionBankAccountWorkflowModel.js +0 -8
  144. package/dist/models/MissionContractsChatModel.d.ts +0 -2
  145. package/dist/models/MissionContractsChatModel.js +0 -8
  146. package/dist/models/MissionContractsWorkflowModel.d.ts +0 -1
  147. package/dist/models/MissionContractsWorkflowModel.js +0 -4
  148. package/dist/models/MissionTravelChatModel.d.ts +0 -1
  149. package/dist/models/MissionTravelChatModel.js +0 -4
  150. package/dist/models/MissionTravelClassConfigModel.d.ts +10 -0
  151. package/dist/models/MissionTravelClassConfigModel.js +50 -0
  152. package/dist/models/MissionTravelPerdiemModel.d.ts +10 -0
  153. package/dist/models/MissionTravelPerdiemModel.js +54 -0
  154. package/dist/models/MissionTravelWorkflowModel.d.ts +0 -2
  155. package/dist/models/MissionTravelWorkflowModel.js +0 -8
  156. package/dist/models/NationalDayCelebrationsChatModel.d.ts +0 -2
  157. package/dist/models/NationalDayCelebrationsChatModel.js +0 -8
  158. package/dist/models/NationalDayCelebrationsWorkflowModel.d.ts +0 -1
  159. package/dist/models/NationalDayCelebrationsWorkflowModel.js +0 -4
  160. package/dist/models/RecruitmentDomesticWorkersChatModel.d.ts +0 -2
  161. package/dist/models/RecruitmentDomesticWorkersChatModel.js +0 -8
  162. package/dist/models/RecruitmentDomesticWorkersWorkflowModel.d.ts +0 -1
  163. package/dist/models/RecruitmentDomesticWorkersWorkflowModel.js +0 -4
  164. package/dist/models/RegisterCandidateChatModel.d.ts +0 -2
  165. package/dist/models/RegisterCandidateChatModel.js +0 -8
  166. package/dist/models/RegisterCandidateWorkflowModel.d.ts +0 -2
  167. package/dist/models/RegisterCandidateWorkflowModel.js +0 -8
  168. package/dist/models/RegisterVacancyChatModel.d.ts +0 -2
  169. package/dist/models/RegisterVacancyChatModel.js +0 -8
  170. package/dist/models/RegisterVacancyWorkflowModel.d.ts +0 -2
  171. package/dist/models/RegisterVacancyWorkflowModel.js +0 -8
  172. package/dist/models/RepatriationCitizensChatModel.d.ts +0 -2
  173. package/dist/models/RepatriationCitizensChatModel.js +0 -8
  174. package/dist/models/RepatriationCitizensWorkflowModel.d.ts +0 -1
  175. package/dist/models/RepatriationCitizensWorkflowModel.js +0 -4
  176. package/dist/models/RequestParcelChatModel.d.ts +0 -2
  177. package/dist/models/RequestParcelChatModel.js +0 -8
  178. package/dist/models/RequestParcelWorkflowModel.d.ts +0 -2
  179. package/dist/models/RequestParcelWorkflowModel.js +0 -8
  180. package/dist/models/RequestPassportChatModel.d.ts +0 -2
  181. package/dist/models/RequestPassportChatModel.js +0 -8
  182. package/dist/models/RequestPassportWorkflowModel.d.ts +0 -2
  183. package/dist/models/RequestPassportWorkflowModel.js +0 -8
  184. package/dist/models/ResignationTerminationChatModel.d.ts +0 -2
  185. package/dist/models/ResignationTerminationChatModel.js +0 -8
  186. package/dist/models/ResignationTerminationWorkflowModel.d.ts +0 -2
  187. package/dist/models/ResignationTerminationWorkflowModel.js +0 -8
  188. package/dist/models/RetiredCardChatsModel.d.ts +0 -2
  189. package/dist/models/RetiredCardChatsModel.js +0 -8
  190. package/dist/models/RetiredCardWorkFlowModel.d.ts +0 -2
  191. package/dist/models/RetiredCardWorkFlowModel.js +0 -8
  192. package/dist/models/SecurityChatsModel.d.ts +0 -2
  193. package/dist/models/SecurityChatsModel.js +0 -8
  194. package/dist/models/SlaApprovalsViewModel.js +47 -47
  195. package/dist/models/SlaMyRequestsViewModel.js +52 -52
  196. package/dist/models/StayAfterHoursChatModel.d.ts +0 -2
  197. package/dist/models/StayAfterHoursChatModel.js +0 -8
  198. package/dist/models/StayAfterHoursWorkflowModel.d.ts +0 -2
  199. package/dist/models/StayAfterHoursWorkflowModel.js +0 -8
  200. package/dist/models/TransferAllowanceChatModel.d.ts +0 -2
  201. package/dist/models/TransferAllowanceChatModel.js +0 -8
  202. package/dist/models/TransferAllowanceWorkflowModel.d.ts +0 -1
  203. package/dist/models/TransferAllowanceWorkflowModel.js +0 -4
  204. package/dist/models/TransferMissionChatModel.d.ts +0 -2
  205. package/dist/models/TransferMissionChatModel.js +0 -8
  206. package/dist/models/TransferMissionWorkflowModel.d.ts +0 -2
  207. package/dist/models/TransferMissionWorkflowModel.js +0 -8
  208. package/dist/models/TransferSalaryBankAccountChatModel.d.ts +0 -2
  209. package/dist/models/TransferSalaryBankAccountChatModel.js +0 -8
  210. package/dist/models/TransferSalaryBankAccountWorkflowModel.d.ts +0 -1
  211. package/dist/models/TransferSalaryBankAccountWorkflowModel.js +0 -4
  212. package/dist/models/UpdateAttendanceChatModel.d.ts +0 -1
  213. package/dist/models/UpdateAttendanceChatModel.js +0 -4
  214. package/dist/models/UpdateAttendanceWorkflowModel.d.ts +0 -2
  215. package/dist/models/UpdateAttendanceWorkflowModel.js +0 -8
  216. package/dist/models/UuidAuditModel.d.ts +9 -0
  217. package/dist/models/UuidAuditModel.js +41 -0
  218. package/dist/models/user.d.ts +1 -0
  219. package/dist/models/user.js +4 -0
  220. package/package.json +1 -1
  221. package/scripts/check-column-types.js +38 -38
  222. package/scripts/check-service-tables.js +42 -42
  223. package/scripts/sync-sla-reports-sql.js +92 -95
  224. package/sql/add_lms_external_entity_trained_people_dates.sql +4 -0
  225. package/sql/add_users_is_selected_lang.sql +11 -0
  226. package/sql/sla-reports-sync.manifest.json +9 -9
  227. package/sql/sla_reports_admin_procedures.sql +304 -283
  228. package/sql/sla_reports_approvals_workbook.sql +383 -383
  229. package/sql/sla_reports_procedures.sql +886 -874
  230. package/sql/sla_requests_status_to_varchar.sql +28 -28
  231. package/sql/vw_sla_approvals.sql +108 -108
  232. package/sql/vw_sla_my_requests.sql +55 -55
  233. package/src/data-source.ts +686 -686
  234. package/src/helpers/employee-evaluation-request.utils.ts +178 -178
  235. package/src/helpers/evaluation-eligibility.utils.ts +126 -126
  236. package/src/index.ts +618 -620
  237. package/src/models/AppointmentChatModel.ts +0 -6
  238. package/src/models/AppointmentWorkflowModel.ts +0 -6
  239. package/src/models/AssistanceCitizensAbroadChatModel.ts +0 -6
  240. package/src/models/AssistanceCitizensAbroadWorkflowModel.ts +0 -3
  241. package/src/models/ChildrensEducationChatModel.ts +0 -6
  242. package/src/models/ChildrensEducationWorkflowModel.ts +0 -3
  243. package/src/models/DiplomaticAcademyChatModel.ts +0 -6
  244. package/src/models/DiplomaticAcademyRequestModel.ts +80 -80
  245. package/src/models/DiplomaticAcademyWorkflowModel.ts +0 -6
  246. package/src/models/DiplomaticChatsModel.ts +0 -6
  247. package/src/models/DiplomaticWorkFlowModel.ts +0 -6
  248. package/src/models/DocumentTranslationChatModel.ts +0 -6
  249. package/src/models/DocumentTranslationWorkflowModel.ts +0 -6
  250. package/src/models/DocumentationFileModel.ts +40 -40
  251. package/src/models/EarlyCheckoutChatModel.ts +0 -6
  252. package/src/models/EarlyCheckoutWorkflowModel.ts +0 -6
  253. package/src/models/EmbassyEvaluationChatModel.ts +0 -3
  254. package/src/models/EmbassyEvaluationCycleModel.ts +45 -45
  255. package/src/models/EmbassyEvaluationRequestModel.ts +59 -59
  256. package/src/models/EmbassyEvaluationWorkflowModel.ts +0 -3
  257. package/src/models/EmployeeCardChatsModel.ts +0 -6
  258. package/src/models/EmployeeCardWorkFlowModel.ts +2 -8
  259. package/src/models/EmployeeEvaluationAnswerModel.ts +26 -26
  260. package/src/models/EmployeeEvaluationChatModel.ts +0 -3
  261. package/src/models/EmployeeEvaluationWorkflowModel.ts +0 -3
  262. package/src/models/EmployeeOfMonthNominationChatModel.ts +0 -3
  263. package/src/models/EmployeeOfMonthNominationWorkflowModel.ts +0 -3
  264. package/src/models/EmployeeOfMonthSupportNominationChatModel.ts +0 -3
  265. package/src/models/EmployeeOfMonthSupportNominationWorkflowModel.ts +0 -3
  266. package/src/models/EvaluationEligibilitySettingModel.ts +51 -51
  267. package/src/models/EvaluationFormModel.ts +44 -44
  268. package/src/models/FinancialChatsModel.ts +0 -6
  269. package/src/models/FinancialWorkFlowModel.ts +0 -6
  270. package/src/models/FoodChatModel.ts +0 -3
  271. package/src/models/FoodWorkflowModel.ts +0 -6
  272. package/src/models/GatePassChatsModel.ts +0 -6
  273. package/src/models/GatePassWorkFlowModel.ts +2 -8
  274. package/src/models/GeneralServiceChatsModel.ts +0 -6
  275. package/src/models/GeneralServiceWorkFlowModel.ts +0 -6
  276. package/src/models/HallChatModel.ts +0 -3
  277. package/src/models/HallWorkflowModel.ts +0 -6
  278. package/src/models/HousingRentalAccommodationChatModel.ts +0 -6
  279. package/src/models/HousingRentalAccommodationWorkflowModel.ts +0 -3
  280. package/src/models/HousingRentalVehicleChatModel.ts +0 -6
  281. package/src/models/HousingRentalVehicleWorkflowModel.ts +0 -3
  282. package/src/models/InitiatorEmployeeNominationChatModel.ts +0 -3
  283. package/src/models/InitiatorEmployeeNominationWorkflowModel.ts +0 -3
  284. package/src/models/InnovativeEmployeeNominationChatModel.ts +0 -3
  285. package/src/models/InnovativeEmployeeNominationWorkflowModel.ts +0 -3
  286. package/src/models/IpeGrievanceChatModel.ts +0 -3
  287. package/src/models/IpeGrievanceWorkflowModel.ts +0 -3
  288. package/src/models/LMSCourseExternalLecturerChatModel.ts +0 -6
  289. package/src/models/LMSCourseExternalLecturerWorkflowModel.ts +0 -6
  290. package/src/models/LMSExternalCourseParticipationChatModel.ts +0 -6
  291. package/src/models/LMSExternalCourseParticipationWorkflowModel.ts +0 -6
  292. package/src/models/LMSExternalEntityTrainedChatModel.ts +0 -6
  293. package/src/models/LMSExternalEntityTrainedPersonModel.ts +51 -45
  294. package/src/models/LMSExternalEntityTrainedWorkflowModel.ts +0 -6
  295. package/src/models/LanguageCourseChatModel.ts +0 -6
  296. package/src/models/LanguageCourseRequestModel.ts +67 -67
  297. package/src/models/LanguageCourseWorkflowModel.ts +0 -6
  298. package/src/models/LeaveApprovalsModel.ts +66 -66
  299. package/src/models/LeaveChatModel.ts +1 -7
  300. package/src/models/LeaveConfigModel.ts +71 -71
  301. package/src/models/LeaveWorkFlowModel.ts +0 -6
  302. package/src/models/MediaChatModel.ts +0 -6
  303. package/src/models/MediaWorkflowModel.ts +0 -6
  304. package/src/models/MedicalExpensesChatModel.ts +0 -6
  305. package/src/models/MedicalExpensesWorkflowModel.ts +0 -3
  306. package/src/models/MeetingChatModel.ts +0 -6
  307. package/src/models/MeetingWorkflowModel.ts +0 -6
  308. package/src/models/MissionBankAccountChatModel.ts +0 -6
  309. package/src/models/MissionBankAccountWorkflowModel.ts +0 -6
  310. package/src/models/MissionContractsChatModel.ts +0 -6
  311. package/src/models/MissionContractsWorkflowModel.ts +0 -3
  312. package/src/models/MissionTravelApprovalModel.ts +101 -101
  313. package/src/models/MissionTravelAttachmentModel.ts +56 -56
  314. package/src/models/MissionTravelChatModel.ts +52 -55
  315. package/src/models/MissionTravelPersonModel.ts +105 -105
  316. package/src/models/MissionTravelWorkflowModel.ts +54 -60
  317. package/src/models/NationalDayCelebrationsChatModel.ts +0 -6
  318. package/src/models/NationalDayCelebrationsWorkflowModel.ts +0 -3
  319. package/src/models/ProjectContactsModel.ts +51 -51
  320. package/src/models/ProjectFaqModel.ts +36 -36
  321. package/src/models/ProjectInvoicesModel.ts +41 -41
  322. package/src/models/ProjectModel.ts +75 -75
  323. package/src/models/ProjectTasksModel.ts +75 -75
  324. package/src/models/RecruitmentDomesticWorkersChatModel.ts +0 -6
  325. package/src/models/RecruitmentDomesticWorkersWorkflowModel.ts +0 -3
  326. package/src/models/RegisterCandidateChatModel.ts +0 -6
  327. package/src/models/RegisterCandidateWorkflowModel.ts +0 -6
  328. package/src/models/RegisterVacancyChatModel.ts +0 -6
  329. package/src/models/RegisterVacancyWorkflowModel.ts +0 -6
  330. package/src/models/RepatriationCitizensChatModel.ts +0 -6
  331. package/src/models/RepatriationCitizensWorkflowModel.ts +0 -3
  332. package/src/models/RequestParcelChatModel.ts +0 -6
  333. package/src/models/RequestParcelWorkflowModel.ts +0 -6
  334. package/src/models/RequestPassportChatModel.ts +0 -6
  335. package/src/models/RequestPassportWorkflowModel.ts +0 -6
  336. package/src/models/ResignationTerminationChatModel.ts +0 -6
  337. package/src/models/ResignationTerminationWorkflowModel.ts +0 -6
  338. package/src/models/RetiredCardChatsModel.ts +0 -6
  339. package/src/models/RetiredCardWorkFlowModel.ts +2 -8
  340. package/src/models/SecurityChatsModel.ts +0 -6
  341. package/src/models/ServiceSlaApprovalModel.ts +63 -63
  342. package/src/models/ServicesNotificationConfigsModel.ts +55 -55
  343. package/src/models/SlaApprovalsViewModel.ts +135 -135
  344. package/src/models/SlaMyRequestsViewModel.ts +172 -172
  345. package/src/models/SlaRequestModel.ts +57 -57
  346. package/src/models/StayAfterHoursChatModel.ts +0 -6
  347. package/src/models/StayAfterHoursWorkflowModel.ts +0 -6
  348. package/src/models/TransferAllowanceChatModel.ts +0 -6
  349. package/src/models/TransferAllowanceWorkflowModel.ts +0 -3
  350. package/src/models/TransferMissionChatModel.ts +0 -6
  351. package/src/models/TransferMissionWorkflowModel.ts +0 -6
  352. package/src/models/TransferSalaryBankAccountChatModel.ts +0 -6
  353. package/src/models/TransferSalaryBankAccountWorkflowModel.ts +0 -3
  354. package/src/models/UpdateAttendanceChatModel.ts +0 -3
  355. package/src/models/UpdateAttendanceWorkflowModel.ts +0 -6
  356. package/src/models/user.ts +3 -0
  357. package/src/sla-report-views.ts +3 -3
  358. package/tsconfig.json +0 -1
  359. package/dist/i18n/workflow-chat-i18n.d.ts +0 -5
  360. package/dist/i18n/workflow-chat-i18n.js +0 -21
  361. package/dist/i18n/workflow-chat-i18n.json +0 -320
  362. package/dist/i18n/workflow-chat-message.builder.d.ts +0 -316
  363. package/dist/i18n/workflow-chat-message.builder.js +0 -891
  364. package/sql/add_fm_workflow_chat_arabic_columns.sql +0 -153
  365. package/src/i18n/workflow-chat-i18n.json +0 -320
  366. package/src/i18n/workflow-chat-i18n.ts +0 -5
  367. package/src/i18n/workflow-chat-message.builder.ts +0 -1405
@@ -29,9 +29,6 @@ export class AppointmentRequestChat extends BaseModel {
29
29
  @Column({ type: 'text', nullable: false })
30
30
  message: string;
31
31
 
32
- @Column({ type: 'text', nullable: true })
33
- message_ar: string | null;
34
-
35
32
  @Column({
36
33
  type: 'enum',
37
34
  enum: AppointmentMessageType,
@@ -43,9 +40,6 @@ export class AppointmentRequestChat extends BaseModel {
43
40
  @Column({ type: 'text', nullable: true })
44
41
  status: string;
45
42
 
46
- @Column({ type: 'varchar', length: 100, nullable: true })
47
- status_ar: string | null;
48
-
49
43
  constructor(
50
44
  appointment_id: number,
51
45
  user_id: number,
@@ -21,15 +21,9 @@ export class AppointmentWorkFlow extends BaseModel {
21
21
  @Column({ type: 'varchar', length: 500, nullable: false })
22
22
  content: string;
23
23
 
24
- @Column({ type: 'varchar', length: 500, nullable: true })
25
- content_ar: string | null;
26
-
27
24
  @Column({ type: 'enum', enum: AppointmentWorkFlowStatus, default: AppointmentWorkFlowStatus.NOT_YET_STARTED, nullable: false })
28
25
  status: AppointmentWorkFlowStatus;
29
26
 
30
- @Column({ type: 'varchar', length: 100, nullable: true })
31
- status_ar: string | null;
32
-
33
27
  @Column({ type: 'integer', nullable: true })
34
28
  user_id: number | null;
35
29
 
@@ -30,9 +30,6 @@ export class AssistanceCitizensAbroadRequestChat extends BaseModel {
30
30
  @Column({ type: 'text', nullable: false })
31
31
  message: string;
32
32
 
33
- @Column({ type: 'text', nullable: true })
34
- message_ar: string | null;
35
-
36
33
  @Column({
37
34
  type: 'enum',
38
35
  enum: AssistanceCitizensAbroadMessageType,
@@ -44,9 +41,6 @@ export class AssistanceCitizensAbroadRequestChat extends BaseModel {
44
41
  @Column({ type: 'text', nullable: true })
45
42
  status: string;
46
43
 
47
- @Column({ type: 'varchar', length: 100, nullable: true })
48
- status_ar: string | null;
49
-
50
44
  constructor(
51
45
  request_id: number,
52
46
  user_id: number,
@@ -21,9 +21,6 @@ export class AssistanceCitizensAbroadWorkFlow extends BaseModel {
21
21
  @Column({ type: 'varchar', length: 500, nullable: false })
22
22
  content: string;
23
23
 
24
- @Column({ type: 'varchar', length: 500, nullable: true })
25
- content_ar: string | null;
26
-
27
24
  @Column({
28
25
  type: 'enum',
29
26
  enum: AssistanceCitizensAbroadWorkFlowStatus,
@@ -29,9 +29,6 @@ export class ChildrensEducationRequestChat extends BaseModel {
29
29
  @Column({ type: 'text', nullable: false })
30
30
  message: string;
31
31
 
32
- @Column({ type: 'text', nullable: true })
33
- message_ar: string | null;
34
-
35
32
  @Column({
36
33
  type: 'enum',
37
34
  enum: ChildrensEducationMessageType,
@@ -43,9 +40,6 @@ export class ChildrensEducationRequestChat extends BaseModel {
43
40
  @Column({ type: 'text', nullable: true })
44
41
  status: string;
45
42
 
46
- @Column({ type: 'varchar', length: 100, nullable: true })
47
- status_ar: string | null;
48
-
49
43
  constructor(
50
44
  request_id: number,
51
45
  user_id: number,
@@ -21,9 +21,6 @@ export class ChildrensEducationWorkFlow extends BaseModel {
21
21
  @Column({ type: 'varchar', length: 500, nullable: false })
22
22
  content: string;
23
23
 
24
- @Column({ type: 'varchar', length: 500, nullable: true })
25
- content_ar: string | null;
26
-
27
24
  @Column({
28
25
  type: 'enum',
29
26
  enum: ChildrensEducationWorkFlowStatus,
@@ -31,9 +31,6 @@ export class DiplomaticAcademyRequestChat extends BaseModel {
31
31
  @Column({ type: 'text', nullable: false })
32
32
  message: string;
33
33
 
34
- @Column({ type: 'text', nullable: true })
35
- message_ar: string | null;
36
-
37
34
  @Column({
38
35
  type: 'enum',
39
36
  enum: DiplomaticAcademyMessageType,
@@ -45,9 +42,6 @@ export class DiplomaticAcademyRequestChat extends BaseModel {
45
42
  @Column({ type: 'text', nullable: true })
46
43
  status: string;
47
44
 
48
- @Column({ type: 'varchar', length: 100, nullable: true })
49
- status_ar: string | null;
50
-
51
45
  constructor(
52
46
  request_id: number,
53
47
  user_id: number,
@@ -1,80 +1,80 @@
1
- import { Column, Entity } from "typeorm";
2
- import { BaseModel } from './BaseModel';
3
-
4
- export enum DiplomaticAcademyStatus {
5
- SUBMITTED = "Submitted",
6
- PENDING = "Pending",
7
- ASSIGNED = "Assigned",
8
- IN_PROGRESS = "In Progress",
9
- APPROVED = "Approved",
10
- REJECTED = "Rejected"
11
- }
12
-
13
- @Entity({ name: 'diplomatic_academy_requests' })
14
- export class DiplomaticAcademyRequests extends BaseModel {
15
-
16
- // Common columns
17
- @Column({ type: 'int', nullable: true })
18
- req_user_department_id: number | null;
19
-
20
- @Column({ type: 'int', nullable: true })
21
- req_user_section_id: number | null;
22
-
23
- @Column({ type: 'int', nullable: true })
24
- service_id: number | null;
25
-
26
- @Column({ type: 'int', nullable: true })
27
- sub_service_id: number | null;
28
-
29
- @Column({ type: 'int', nullable: false })
30
- user_id: number;
31
-
32
- // Diplomatic Academy specific columns
33
- @Column({ type: 'varchar', length: 500, nullable: false })
34
- course_name: string;
35
-
36
- @Column({ type: 'jsonb', nullable: true })
37
- cost_details: {
38
- material_price?: number;
39
- transportation?: number;
40
- accommodation?: number;
41
- allowances?: number;
42
- food?: number;
43
- present?: number;
44
- } | null;
45
-
46
- @Column({ type: 'int', nullable: false })
47
- estimated_participants: number;
48
-
49
- @Column({ type: 'date', nullable: false })
50
- timeline_date_from: Date;
51
-
52
- @Column({ type: 'date', nullable: false })
53
- timeline_date_to: Date;
54
-
55
- @Column({ type: 'time', nullable: true })
56
- timeline_time_from: string | null;
57
-
58
- @Column({ type: 'time', nullable: true })
59
- timeline_time_to: string | null;
60
-
61
- @Column({ type: 'jsonb', nullable: false })
62
- participants_details: Array<{
63
- full_name: string;
64
- passport: string;
65
- age: number;
66
- qualifications: string;
67
- experience: string;
68
- institution: string;
69
- }>;
70
-
71
- @Column({ type: 'enum', enum: DiplomaticAcademyStatus, default: DiplomaticAcademyStatus.PENDING, nullable: false })
72
- status: DiplomaticAcademyStatus;
73
-
74
- @Column({ type: 'int', nullable: true })
75
- course_id: number | null;
76
-
77
- @Column({ type: 'varchar', nullable: true })
78
- workflow_execution_id: string | null;
79
-
80
- }
1
+ import { Column, Entity } from "typeorm";
2
+ import { BaseModel } from './BaseModel';
3
+
4
+ export enum DiplomaticAcademyStatus {
5
+ SUBMITTED = "Submitted",
6
+ PENDING = "Pending",
7
+ ASSIGNED = "Assigned",
8
+ IN_PROGRESS = "In Progress",
9
+ APPROVED = "Approved",
10
+ REJECTED = "Rejected"
11
+ }
12
+
13
+ @Entity({ name: 'diplomatic_academy_requests' })
14
+ export class DiplomaticAcademyRequests extends BaseModel {
15
+
16
+ // Common columns
17
+ @Column({ type: 'int', nullable: true })
18
+ req_user_department_id: number | null;
19
+
20
+ @Column({ type: 'int', nullable: true })
21
+ req_user_section_id: number | null;
22
+
23
+ @Column({ type: 'int', nullable: true })
24
+ service_id: number | null;
25
+
26
+ @Column({ type: 'int', nullable: true })
27
+ sub_service_id: number | null;
28
+
29
+ @Column({ type: 'int', nullable: false })
30
+ user_id: number;
31
+
32
+ // Diplomatic Academy specific columns
33
+ @Column({ type: 'varchar', length: 500, nullable: false })
34
+ course_name: string;
35
+
36
+ @Column({ type: 'jsonb', nullable: true })
37
+ cost_details: {
38
+ material_price?: number;
39
+ transportation?: number;
40
+ accommodation?: number;
41
+ allowances?: number;
42
+ food?: number;
43
+ present?: number;
44
+ } | null;
45
+
46
+ @Column({ type: 'int', nullable: false })
47
+ estimated_participants: number;
48
+
49
+ @Column({ type: 'date', nullable: false })
50
+ timeline_date_from: Date;
51
+
52
+ @Column({ type: 'date', nullable: false })
53
+ timeline_date_to: Date;
54
+
55
+ @Column({ type: 'time', nullable: true })
56
+ timeline_time_from: string | null;
57
+
58
+ @Column({ type: 'time', nullable: true })
59
+ timeline_time_to: string | null;
60
+
61
+ @Column({ type: 'jsonb', nullable: false })
62
+ participants_details: Array<{
63
+ full_name: string;
64
+ passport: string;
65
+ age: number;
66
+ qualifications: string;
67
+ experience: string;
68
+ institution: string;
69
+ }>;
70
+
71
+ @Column({ type: 'enum', enum: DiplomaticAcademyStatus, default: DiplomaticAcademyStatus.PENDING, nullable: false })
72
+ status: DiplomaticAcademyStatus;
73
+
74
+ @Column({ type: 'int', nullable: true })
75
+ course_id: number | null;
76
+
77
+ @Column({ type: 'varchar', nullable: true })
78
+ workflow_execution_id: string | null;
79
+
80
+ }
@@ -21,15 +21,9 @@ export class DiplomaticAcademyWorkFlow extends BaseModel {
21
21
  @Column({ type: 'varchar', length: 500, nullable: false })
22
22
  content: string;
23
23
 
24
- @Column({ type: 'varchar', length: 500, nullable: true })
25
- content_ar: string | null;
26
-
27
24
  @Column({ type: 'enum', enum: DiplomaticAcademyWorkFlowStatus, default: DiplomaticAcademyWorkFlowStatus.NOT_YET_STARTED, nullable: false })
28
25
  status: DiplomaticAcademyWorkFlowStatus;
29
26
 
30
- @Column({ type: 'varchar', length: 100, nullable: true })
31
- status_ar: string | null;
32
-
33
27
  @Column({ type: 'integer', nullable: true })
34
28
  user_id: number | null;
35
29
 
@@ -18,9 +18,6 @@ export class DiplomaticChats extends BaseModel {
18
18
  @Column({ type: 'text' })
19
19
  content: string;
20
20
 
21
- @Column({ type: 'text', nullable: true })
22
- content_ar: string | null;
23
-
24
21
  @Column({ type: 'int' })
25
22
  sender_user_id: number;
26
23
 
@@ -30,9 +27,6 @@ export class DiplomaticChats extends BaseModel {
30
27
  @Column({ type: 'varchar', length: 255, nullable: true })
31
28
  status: string | null;
32
29
 
33
- @Column({ type: 'varchar', length: 100, nullable: true })
34
- status_ar: string | null;
35
-
36
30
  @Column({ type: 'varchar', length: 255, nullable: true })
37
31
  message_type: DiplomaticMessageType | null;
38
32
 
@@ -22,15 +22,9 @@ export class DiplomaticWorkFlow extends BaseModel {
22
22
  @Column({ type: 'varchar', length: 500, nullable: false })
23
23
  content: string;
24
24
 
25
- @Column({ type: 'varchar', length: 500, nullable: true })
26
- content_ar: string | null;
27
-
28
25
  @Column({ type: 'enum', enum: DiplomaticWorkFlowStatus, default: DiplomaticWorkFlowStatus.NOT_YET_STARTED })
29
26
  status: DiplomaticWorkFlowStatus;
30
27
 
31
- @Column({ type: 'varchar', length: 100, nullable: true })
32
- status_ar: string | null;
33
-
34
28
  @Column({ type: 'int', nullable: true })
35
29
  user_id: number | null;
36
30
 
@@ -31,9 +31,6 @@ export class DocumentTranslationRequestChat extends BaseModel {
31
31
  @Column({ type: 'text', nullable: false })
32
32
  message: string;
33
33
 
34
- @Column({ type: 'text', nullable: true })
35
- message_ar: string | null;
36
-
37
34
  @Column({
38
35
  type: 'enum',
39
36
  enum: DocumentTranslationMessageType,
@@ -45,9 +42,6 @@ export class DocumentTranslationRequestChat extends BaseModel {
45
42
  @Column({ type: 'text', nullable: true })
46
43
  status: string;
47
44
 
48
- @Column({ type: 'varchar', length: 100, nullable: true })
49
- status_ar: string | null;
50
-
51
45
  constructor(
52
46
  request_id: number,
53
47
  user_id: number,
@@ -21,15 +21,9 @@ export class DocumentTranslationWorkFlow extends BaseModel {
21
21
  @Column({ type: 'varchar', length: 500, nullable: false })
22
22
  content: string;
23
23
 
24
- @Column({ type: 'varchar', length: 500, nullable: true })
25
- content_ar: string | null;
26
-
27
24
  @Column({ type: 'enum', enum: DocumentTranslationWorkFlowStatus, default: DocumentTranslationWorkFlowStatus.NOT_YET_STARTED, nullable: false })
28
25
  status: DocumentTranslationWorkFlowStatus;
29
26
 
30
- @Column({ type: 'varchar', length: 100, nullable: true })
31
- status_ar: string | null;
32
-
33
27
  @Column({ type: 'integer', nullable: true })
34
28
  user_id: number | null;
35
29
 
@@ -1,40 +1,40 @@
1
- import { Column, Entity } from 'typeorm';
2
- import { BaseModel } from './BaseModel';
3
-
4
- @Entity({ name: 'documentation_files' })
5
- export class DocumentationFile extends BaseModel {
6
- @Column({ type: 'int', nullable: true })
7
- project_id: number | null;
8
-
9
- @Column({ type: 'int' })
10
- folder_id: number;
11
-
12
- @Column({ type: 'text', nullable: true })
13
- file_path: string;
14
-
15
- @Column({ type: 'varchar', length: 500, nullable: true })
16
- filename: string;
17
-
18
- @Column({ type: 'bigint', nullable: true })
19
- filesize: number;
20
-
21
- @Column({ type: 'varchar', length: 100, nullable: true })
22
- filetype: string;
23
-
24
- constructor(
25
- project_id?: number | null,
26
- folder_id?: number,
27
- file_path?: string,
28
- filename?: string,
29
- filesize?: number,
30
- filetype?: string
31
- ) {
32
- super();
33
- this.project_id = project_id ?? null;
34
- this.folder_id = folder_id ?? 0;
35
- this.file_path = file_path ?? '';
36
- this.filename = filename ?? '';
37
- this.filesize = filesize ?? 0;
38
- this.filetype = filetype ?? '';
39
- }
40
- }
1
+ import { Column, Entity } from 'typeorm';
2
+ import { BaseModel } from './BaseModel';
3
+
4
+ @Entity({ name: 'documentation_files' })
5
+ export class DocumentationFile extends BaseModel {
6
+ @Column({ type: 'int', nullable: true })
7
+ project_id: number | null;
8
+
9
+ @Column({ type: 'int' })
10
+ folder_id: number;
11
+
12
+ @Column({ type: 'text', nullable: true })
13
+ file_path: string;
14
+
15
+ @Column({ type: 'varchar', length: 500, nullable: true })
16
+ filename: string;
17
+
18
+ @Column({ type: 'bigint', nullable: true })
19
+ filesize: number;
20
+
21
+ @Column({ type: 'varchar', length: 100, nullable: true })
22
+ filetype: string;
23
+
24
+ constructor(
25
+ project_id?: number | null,
26
+ folder_id?: number,
27
+ file_path?: string,
28
+ filename?: string,
29
+ filesize?: number,
30
+ filetype?: string
31
+ ) {
32
+ super();
33
+ this.project_id = project_id ?? null;
34
+ this.folder_id = folder_id ?? 0;
35
+ this.file_path = file_path ?? '';
36
+ this.filename = filename ?? '';
37
+ this.filesize = filesize ?? 0;
38
+ this.filetype = filetype ?? '';
39
+ }
40
+ }
@@ -31,9 +31,6 @@ export class EarlyCheckoutRequestChat extends BaseModel {
31
31
  @Column({ type: 'text', nullable: false })
32
32
  message: string;
33
33
 
34
- @Column({ type: 'text', nullable: true })
35
- message_ar: string | null;
36
-
37
34
  @Column({
38
35
  type: 'enum',
39
36
  enum: EarlyCheckoutMessageType,
@@ -45,9 +42,6 @@ export class EarlyCheckoutRequestChat extends BaseModel {
45
42
  @Column({ type: 'text', nullable: true })
46
43
  status: string;
47
44
 
48
- @Column({ type: 'varchar', length: 100, nullable: true })
49
- status_ar: string | null;
50
-
51
45
  constructor(
52
46
  request_id: number,
53
47
  user_id: number,
@@ -21,15 +21,9 @@ export class EarlyCheckoutWorkFlow extends BaseModel {
21
21
  @Column({ type: 'varchar', length: 500, nullable: false })
22
22
  content: string;
23
23
 
24
- @Column({ type: 'varchar', length: 500, nullable: true })
25
- content_ar: string | null;
26
-
27
24
  @Column({ type: 'enum', enum: EarlyCheckoutWorkFlowStatus, default: EarlyCheckoutWorkFlowStatus.NOT_YET_STARTED, nullable: false })
28
25
  status: EarlyCheckoutWorkFlowStatus;
29
26
 
30
- @Column({ type: 'varchar', length: 100, nullable: true })
31
- status_ar: string | null;
32
-
33
27
  @Column({ type: 'integer', nullable: true })
34
28
  user_id: number | null;
35
29
 
@@ -29,9 +29,6 @@ export class EmbassyEvaluationRequestChat extends BaseModel {
29
29
  @Column({ type: 'text', nullable: false })
30
30
  message: string;
31
31
 
32
- @Column({ type: 'text', nullable: true })
33
- message_ar: string | null;
34
-
35
32
  @Column({
36
33
  type: 'enum',
37
34
  enum: EmbassyEvaluationMessageType,
@@ -1,45 +1,45 @@
1
- import { Column, Entity } from 'typeorm';
2
- import { BaseModel } from './BaseModel';
3
-
4
- export enum EmbassyEvaluationCycleStatus {
5
- DRAFT = 'Draft',
6
- ACTIVE = 'Active',
7
- CLOSED = 'Closed',
8
- }
9
-
10
- /** Evaluation period window (month-day stored as MM-DD, year applied at runtime). */
11
- @Entity({ name: 'embassy_evaluation_cycles' })
12
- export class EmbassyEvaluationCycle extends BaseModel {
13
- @Column({ type: 'varchar', length: 255, nullable: false })
14
- cycle_name: string;
15
-
16
- /** Start of evaluation window, format MM-DD (e.g. 01-15). */
17
- @Column({ type: 'varchar', length: 10, nullable: false })
18
- start_date: string;
19
-
20
- /** End of evaluation window, format MM-DD. Submissions locked after this date in the active year. */
21
- @Column({ type: 'varchar', length: 10, nullable: false })
22
- end_date: string;
23
-
24
- /**
25
- * Last day submissions are allowed (MM-DD). Closing reminders use this date.
26
- * When null, `end_date` is used for submission and reminders.
27
- */
28
- @Column({ type: 'varchar', length: 10, nullable: true })
29
- last_evaluation_date: string | null;
30
-
31
- @Column({
32
- type: 'enum',
33
- enum: EmbassyEvaluationCycleStatus,
34
- enumName: 'embassy_eval_cycle_status_enum',
35
- default: EmbassyEvaluationCycleStatus.DRAFT,
36
- nullable: false,
37
- })
38
- status: EmbassyEvaluationCycleStatus;
39
-
40
- @Column({ type: 'int', nullable: true })
41
- service_id: number | null;
42
-
43
- @Column({ type: 'int', nullable: true })
44
- sub_service_id: number | null;
45
- }
1
+ import { Column, Entity } from 'typeorm';
2
+ import { BaseModel } from './BaseModel';
3
+
4
+ export enum EmbassyEvaluationCycleStatus {
5
+ DRAFT = 'Draft',
6
+ ACTIVE = 'Active',
7
+ CLOSED = 'Closed',
8
+ }
9
+
10
+ /** Evaluation period window (month-day stored as MM-DD, year applied at runtime). */
11
+ @Entity({ name: 'embassy_evaluation_cycles' })
12
+ export class EmbassyEvaluationCycle extends BaseModel {
13
+ @Column({ type: 'varchar', length: 255, nullable: false })
14
+ cycle_name: string;
15
+
16
+ /** Start of evaluation window, format MM-DD (e.g. 01-15). */
17
+ @Column({ type: 'varchar', length: 10, nullable: false })
18
+ start_date: string;
19
+
20
+ /** End of evaluation window, format MM-DD. Submissions locked after this date in the active year. */
21
+ @Column({ type: 'varchar', length: 10, nullable: false })
22
+ end_date: string;
23
+
24
+ /**
25
+ * Last day submissions are allowed (MM-DD). Closing reminders use this date.
26
+ * When null, `end_date` is used for submission and reminders.
27
+ */
28
+ @Column({ type: 'varchar', length: 10, nullable: true })
29
+ last_evaluation_date: string | null;
30
+
31
+ @Column({
32
+ type: 'enum',
33
+ enum: EmbassyEvaluationCycleStatus,
34
+ enumName: 'embassy_eval_cycle_status_enum',
35
+ default: EmbassyEvaluationCycleStatus.DRAFT,
36
+ nullable: false,
37
+ })
38
+ status: EmbassyEvaluationCycleStatus;
39
+
40
+ @Column({ type: 'int', nullable: true })
41
+ service_id: number | null;
42
+
43
+ @Column({ type: 'int', nullable: true })
44
+ sub_service_id: number | null;
45
+ }