@platform-modules/foreign-ministry 1.3.335 → 1.3.336
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.env +6 -5
- package/dist/i18n/workflow-chat-i18n.d.ts +5 -0
- package/dist/i18n/workflow-chat-i18n.js +21 -0
- package/dist/i18n/workflow-chat-i18n.json +320 -0
- package/dist/i18n/workflow-chat-message.builder.d.ts +316 -0
- package/dist/i18n/workflow-chat-message.builder.js +891 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/models/AppointmentChatModel.d.ts +2 -0
- package/dist/models/AppointmentChatModel.js +8 -0
- package/dist/models/AppointmentWorkflowModel.d.ts +2 -0
- package/dist/models/AppointmentWorkflowModel.js +8 -0
- package/dist/models/AssistanceCitizensAbroadChatModel.d.ts +2 -0
- package/dist/models/AssistanceCitizensAbroadChatModel.js +8 -0
- package/dist/models/AssistanceCitizensAbroadWorkflowModel.d.ts +1 -0
- package/dist/models/AssistanceCitizensAbroadWorkflowModel.js +4 -0
- package/dist/models/ChildrensEducationChatModel.d.ts +2 -0
- package/dist/models/ChildrensEducationChatModel.js +8 -0
- package/dist/models/ChildrensEducationWorkflowModel.d.ts +1 -0
- package/dist/models/ChildrensEducationWorkflowModel.js +4 -0
- package/dist/models/DiplomaticAcademyChatModel.d.ts +2 -0
- package/dist/models/DiplomaticAcademyChatModel.js +8 -0
- package/dist/models/DiplomaticAcademyWorkflowModel.d.ts +2 -0
- package/dist/models/DiplomaticAcademyWorkflowModel.js +8 -0
- package/dist/models/DiplomaticChatsModel.d.ts +2 -0
- package/dist/models/DiplomaticChatsModel.js +8 -0
- package/dist/models/DiplomaticWorkFlowModel.d.ts +2 -0
- package/dist/models/DiplomaticWorkFlowModel.js +8 -0
- package/dist/models/DocumentTranslationChatModel.d.ts +2 -0
- package/dist/models/DocumentTranslationChatModel.js +8 -0
- package/dist/models/DocumentTranslationWorkflowModel.d.ts +2 -0
- package/dist/models/DocumentTranslationWorkflowModel.js +8 -0
- package/dist/models/EarlyCheckoutChatModel.d.ts +2 -0
- package/dist/models/EarlyCheckoutChatModel.js +8 -0
- package/dist/models/EarlyCheckoutWorkflowModel.d.ts +2 -0
- package/dist/models/EarlyCheckoutWorkflowModel.js +8 -0
- package/dist/models/EmbassyEvaluationChatModel.d.ts +1 -0
- package/dist/models/EmbassyEvaluationChatModel.js +4 -0
- package/dist/models/EmbassyEvaluationWorkflowModel.d.ts +1 -0
- package/dist/models/EmbassyEvaluationWorkflowModel.js +4 -0
- package/dist/models/EmployeeCardChatsModel.d.ts +2 -0
- package/dist/models/EmployeeCardChatsModel.js +8 -0
- package/dist/models/EmployeeCardWorkFlowModel.d.ts +2 -0
- package/dist/models/EmployeeCardWorkFlowModel.js +8 -0
- package/dist/models/EmployeeEvaluationChatModel.d.ts +1 -0
- package/dist/models/EmployeeEvaluationChatModel.js +4 -0
- package/dist/models/EmployeeEvaluationWorkflowModel.d.ts +1 -0
- package/dist/models/EmployeeEvaluationWorkflowModel.js +4 -0
- package/dist/models/EmployeeOfMonthNominationChatModel.d.ts +1 -0
- package/dist/models/EmployeeOfMonthNominationChatModel.js +4 -0
- package/dist/models/EmployeeOfMonthNominationWorkflowModel.d.ts +1 -0
- package/dist/models/EmployeeOfMonthNominationWorkflowModel.js +4 -0
- package/dist/models/EmployeeOfMonthSupportNominationChatModel.d.ts +1 -0
- package/dist/models/EmployeeOfMonthSupportNominationChatModel.js +4 -0
- package/dist/models/EmployeeOfMonthSupportNominationWorkflowModel.d.ts +1 -0
- package/dist/models/EmployeeOfMonthSupportNominationWorkflowModel.js +4 -0
- package/dist/models/FinancialChatsModel.d.ts +2 -0
- package/dist/models/FinancialChatsModel.js +8 -0
- package/dist/models/FinancialWorkFlowModel.d.ts +2 -0
- package/dist/models/FinancialWorkFlowModel.js +8 -0
- package/dist/models/FoodChatModel.d.ts +1 -0
- package/dist/models/FoodChatModel.js +4 -0
- package/dist/models/FoodWorkflowModel.d.ts +2 -0
- package/dist/models/FoodWorkflowModel.js +8 -0
- package/dist/models/GatePassChatsModel.d.ts +2 -0
- package/dist/models/GatePassChatsModel.js +8 -0
- package/dist/models/GatePassWorkFlowModel.d.ts +2 -0
- package/dist/models/GatePassWorkFlowModel.js +8 -0
- package/dist/models/GeneralServiceChatsModel.d.ts +2 -0
- package/dist/models/GeneralServiceChatsModel.js +8 -0
- package/dist/models/GeneralServiceWorkFlowModel.d.ts +2 -0
- package/dist/models/GeneralServiceWorkFlowModel.js +8 -0
- package/dist/models/HallChatModel.d.ts +1 -0
- package/dist/models/HallChatModel.js +4 -0
- package/dist/models/HallWorkflowModel.d.ts +2 -0
- package/dist/models/HallWorkflowModel.js +8 -0
- package/dist/models/HousingRentalAccommodationChatModel.d.ts +2 -0
- package/dist/models/HousingRentalAccommodationChatModel.js +8 -0
- package/dist/models/HousingRentalAccommodationWorkflowModel.d.ts +1 -0
- package/dist/models/HousingRentalAccommodationWorkflowModel.js +4 -0
- package/dist/models/HousingRentalVehicleChatModel.d.ts +2 -0
- package/dist/models/HousingRentalVehicleChatModel.js +8 -0
- package/dist/models/HousingRentalVehicleWorkflowModel.d.ts +1 -0
- package/dist/models/HousingRentalVehicleWorkflowModel.js +4 -0
- package/dist/models/InitiatorEmployeeNominationChatModel.d.ts +1 -0
- package/dist/models/InitiatorEmployeeNominationChatModel.js +4 -0
- package/dist/models/InitiatorEmployeeNominationWorkflowModel.d.ts +1 -0
- package/dist/models/InitiatorEmployeeNominationWorkflowModel.js +4 -0
- package/dist/models/InnovativeEmployeeNominationChatModel.d.ts +1 -0
- package/dist/models/InnovativeEmployeeNominationChatModel.js +4 -0
- package/dist/models/InnovativeEmployeeNominationWorkflowModel.d.ts +1 -0
- package/dist/models/InnovativeEmployeeNominationWorkflowModel.js +4 -0
- package/dist/models/IpeGrievanceChatModel.d.ts +1 -0
- package/dist/models/IpeGrievanceChatModel.js +4 -0
- package/dist/models/IpeGrievanceWorkflowModel.d.ts +1 -0
- package/dist/models/IpeGrievanceWorkflowModel.js +4 -0
- package/dist/models/LMSCourseExternalLecturerChatModel.d.ts +2 -0
- package/dist/models/LMSCourseExternalLecturerChatModel.js +8 -0
- package/dist/models/LMSCourseExternalLecturerWorkflowModel.d.ts +2 -0
- package/dist/models/LMSCourseExternalLecturerWorkflowModel.js +8 -0
- package/dist/models/LMSExternalCourseParticipationChatModel.d.ts +2 -0
- package/dist/models/LMSExternalCourseParticipationChatModel.js +8 -0
- package/dist/models/LMSExternalCourseParticipationWorkflowModel.d.ts +2 -0
- package/dist/models/LMSExternalCourseParticipationWorkflowModel.js +8 -0
- package/dist/models/LMSExternalEntityTrainedChatModel.d.ts +2 -0
- package/dist/models/LMSExternalEntityTrainedChatModel.js +8 -0
- package/dist/models/LMSExternalEntityTrainedWorkflowModel.d.ts +2 -0
- package/dist/models/LMSExternalEntityTrainedWorkflowModel.js +8 -0
- package/dist/models/LanguageCourseChatModel.d.ts +2 -0
- package/dist/models/LanguageCourseChatModel.js +8 -0
- package/dist/models/LanguageCourseWorkflowModel.d.ts +2 -0
- package/dist/models/LanguageCourseWorkflowModel.js +8 -0
- package/dist/models/LeaveChatModel.d.ts +2 -0
- package/dist/models/LeaveChatModel.js +8 -0
- package/dist/models/LeaveWorkFlowModel.d.ts +2 -0
- package/dist/models/LeaveWorkFlowModel.js +8 -0
- package/dist/models/MediaChatModel.d.ts +2 -0
- package/dist/models/MediaChatModel.js +8 -0
- package/dist/models/MediaWorkflowModel.d.ts +2 -0
- package/dist/models/MediaWorkflowModel.js +8 -0
- package/dist/models/MedicalExpensesChatModel.d.ts +2 -0
- package/dist/models/MedicalExpensesChatModel.js +8 -0
- package/dist/models/MedicalExpensesWorkflowModel.d.ts +1 -0
- package/dist/models/MedicalExpensesWorkflowModel.js +4 -0
- package/dist/models/MeetingChatModel.d.ts +2 -0
- package/dist/models/MeetingChatModel.js +8 -0
- package/dist/models/MeetingWorkflowModel.d.ts +2 -0
- package/dist/models/MeetingWorkflowModel.js +8 -0
- package/dist/models/MissionBankAccountChatModel.d.ts +2 -0
- package/dist/models/MissionBankAccountChatModel.js +8 -0
- package/dist/models/MissionBankAccountWorkflowModel.d.ts +2 -0
- package/dist/models/MissionBankAccountWorkflowModel.js +8 -0
- package/dist/models/MissionContractsChatModel.d.ts +2 -0
- package/dist/models/MissionContractsChatModel.js +8 -0
- package/dist/models/MissionContractsWorkflowModel.d.ts +1 -0
- package/dist/models/MissionContractsWorkflowModel.js +4 -0
- package/dist/models/MissionTravelChatModel.d.ts +1 -0
- package/dist/models/MissionTravelChatModel.js +4 -0
- package/dist/models/MissionTravelWorkflowModel.d.ts +2 -0
- package/dist/models/MissionTravelWorkflowModel.js +8 -0
- package/dist/models/NationalDayCelebrationsChatModel.d.ts +2 -0
- package/dist/models/NationalDayCelebrationsChatModel.js +8 -0
- package/dist/models/NationalDayCelebrationsWorkflowModel.d.ts +1 -0
- package/dist/models/NationalDayCelebrationsWorkflowModel.js +4 -0
- package/dist/models/RecruitmentDomesticWorkersChatModel.d.ts +2 -0
- package/dist/models/RecruitmentDomesticWorkersChatModel.js +8 -0
- package/dist/models/RecruitmentDomesticWorkersWorkflowModel.d.ts +1 -0
- package/dist/models/RecruitmentDomesticWorkersWorkflowModel.js +4 -0
- package/dist/models/RegisterCandidateChatModel.d.ts +2 -0
- package/dist/models/RegisterCandidateChatModel.js +8 -0
- package/dist/models/RegisterCandidateWorkflowModel.d.ts +2 -0
- package/dist/models/RegisterCandidateWorkflowModel.js +8 -0
- package/dist/models/RegisterVacancyChatModel.d.ts +2 -0
- package/dist/models/RegisterVacancyChatModel.js +8 -0
- package/dist/models/RegisterVacancyWorkflowModel.d.ts +2 -0
- package/dist/models/RegisterVacancyWorkflowModel.js +8 -0
- package/dist/models/RepatriationCitizensChatModel.d.ts +2 -0
- package/dist/models/RepatriationCitizensChatModel.js +8 -0
- package/dist/models/RepatriationCitizensWorkflowModel.d.ts +1 -0
- package/dist/models/RepatriationCitizensWorkflowModel.js +4 -0
- package/dist/models/RequestParcelChatModel.d.ts +2 -0
- package/dist/models/RequestParcelChatModel.js +8 -0
- package/dist/models/RequestParcelWorkflowModel.d.ts +2 -0
- package/dist/models/RequestParcelWorkflowModel.js +8 -0
- package/dist/models/RequestPassportChatModel.d.ts +2 -0
- package/dist/models/RequestPassportChatModel.js +8 -0
- package/dist/models/RequestPassportWorkflowModel.d.ts +2 -0
- package/dist/models/RequestPassportWorkflowModel.js +8 -0
- package/dist/models/ResignationTerminationChatModel.d.ts +2 -0
- package/dist/models/ResignationTerminationChatModel.js +8 -0
- package/dist/models/ResignationTerminationWorkflowModel.d.ts +2 -0
- package/dist/models/ResignationTerminationWorkflowModel.js +8 -0
- package/dist/models/RetiredCardChatsModel.d.ts +2 -0
- package/dist/models/RetiredCardChatsModel.js +8 -0
- package/dist/models/RetiredCardWorkFlowModel.d.ts +2 -0
- package/dist/models/RetiredCardWorkFlowModel.js +8 -0
- package/dist/models/SecurityChatsModel.d.ts +2 -0
- package/dist/models/SecurityChatsModel.js +8 -0
- package/dist/models/SlaApprovalsViewModel.js +47 -47
- package/dist/models/SlaMyRequestsViewModel.js +52 -52
- package/dist/models/StayAfterHoursChatModel.d.ts +2 -0
- package/dist/models/StayAfterHoursChatModel.js +8 -0
- package/dist/models/StayAfterHoursWorkflowModel.d.ts +2 -0
- package/dist/models/StayAfterHoursWorkflowModel.js +8 -0
- package/dist/models/TransferAllowanceChatModel.d.ts +2 -0
- package/dist/models/TransferAllowanceChatModel.js +8 -0
- package/dist/models/TransferAllowanceWorkflowModel.d.ts +1 -0
- package/dist/models/TransferAllowanceWorkflowModel.js +4 -0
- package/dist/models/TransferMissionChatModel.d.ts +2 -0
- package/dist/models/TransferMissionChatModel.js +8 -0
- package/dist/models/TransferMissionWorkflowModel.d.ts +2 -0
- package/dist/models/TransferMissionWorkflowModel.js +8 -0
- package/dist/models/TransferSalaryBankAccountChatModel.d.ts +2 -0
- package/dist/models/TransferSalaryBankAccountChatModel.js +8 -0
- package/dist/models/TransferSalaryBankAccountWorkflowModel.d.ts +1 -0
- package/dist/models/TransferSalaryBankAccountWorkflowModel.js +4 -0
- package/dist/models/UpdateAttendanceChatModel.d.ts +1 -0
- package/dist/models/UpdateAttendanceChatModel.js +4 -0
- package/dist/models/UpdateAttendanceWorkflowModel.d.ts +2 -0
- package/dist/models/UpdateAttendanceWorkflowModel.js +8 -0
- package/package.json +1 -1
- package/scripts/check-column-types.js +38 -38
- package/scripts/check-service-tables.js +42 -42
- package/scripts/sync-sla-reports-sql.js +95 -95
- package/sql/add_fm_workflow_chat_arabic_columns.sql +153 -0
- package/sql/sla-reports-sync.manifest.json +9 -8
- package/sql/sla_reports_admin_procedures.sql +283 -283
- package/sql/sla_reports_approvals_workbook.sql +383 -383
- package/sql/sla_reports_procedures.sql +874 -874
- package/sql/sla_requests_status_data_fix.sql +6 -0
- package/sql/sla_requests_status_to_varchar.sql +28 -28
- package/sql/vw_sla_approvals.sql +108 -108
- package/sql/vw_sla_my_requests.sql +55 -55
- package/src/data-source.ts +686 -686
- package/src/helpers/employee-evaluation-request.utils.ts +178 -178
- package/src/helpers/evaluation-eligibility.utils.ts +126 -126
- package/src/i18n/workflow-chat-i18n.json +320 -0
- package/src/i18n/workflow-chat-i18n.ts +5 -0
- package/src/i18n/workflow-chat-message.builder.ts +1405 -0
- package/src/index.ts +620 -618
- package/src/models/AppointmentChatModel.ts +6 -0
- package/src/models/AppointmentWorkflowModel.ts +6 -0
- package/src/models/AssistanceCitizensAbroadChatModel.ts +6 -0
- package/src/models/AssistanceCitizensAbroadWorkflowModel.ts +3 -0
- package/src/models/ChildrensEducationChatModel.ts +6 -0
- package/src/models/ChildrensEducationWorkflowModel.ts +3 -0
- package/src/models/DiplomaticAcademyChatModel.ts +6 -0
- package/src/models/DiplomaticAcademyRequestModel.ts +80 -80
- package/src/models/DiplomaticAcademyWorkflowModel.ts +6 -0
- package/src/models/DiplomaticChatsModel.ts +6 -0
- package/src/models/DiplomaticWorkFlowModel.ts +6 -0
- package/src/models/DocumentTranslationChatModel.ts +6 -0
- package/src/models/DocumentTranslationWorkflowModel.ts +6 -0
- package/src/models/DocumentationFileModel.ts +40 -40
- package/src/models/EarlyCheckoutChatModel.ts +6 -0
- package/src/models/EarlyCheckoutWorkflowModel.ts +6 -0
- package/src/models/EmbassyEvaluationChatModel.ts +3 -0
- package/src/models/EmbassyEvaluationCycleModel.ts +45 -45
- package/src/models/EmbassyEvaluationRequestModel.ts +59 -59
- package/src/models/EmbassyEvaluationWorkflowModel.ts +3 -0
- package/src/models/EmployeeCardChatsModel.ts +6 -0
- package/src/models/EmployeeCardWorkFlowModel.ts +8 -2
- package/src/models/EmployeeEvaluationAnswerModel.ts +26 -26
- package/src/models/EmployeeEvaluationChatModel.ts +3 -0
- package/src/models/EmployeeEvaluationWorkflowModel.ts +3 -0
- package/src/models/EmployeeOfMonthNominationChatModel.ts +3 -0
- package/src/models/EmployeeOfMonthNominationWorkflowModel.ts +3 -0
- package/src/models/EmployeeOfMonthSupportNominationChatModel.ts +3 -0
- package/src/models/EmployeeOfMonthSupportNominationWorkflowModel.ts +3 -0
- package/src/models/EvaluationEligibilitySettingModel.ts +51 -51
- package/src/models/EvaluationFormModel.ts +44 -44
- package/src/models/FinancialChatsModel.ts +6 -0
- package/src/models/FinancialWorkFlowModel.ts +6 -0
- package/src/models/FoodChatModel.ts +3 -0
- package/src/models/FoodWorkflowModel.ts +6 -0
- package/src/models/GatePassChatsModel.ts +6 -0
- package/src/models/GatePassWorkFlowModel.ts +8 -2
- package/src/models/GeneralServiceChatsModel.ts +6 -0
- package/src/models/GeneralServiceWorkFlowModel.ts +6 -0
- package/src/models/HallChatModel.ts +3 -0
- package/src/models/HallWorkflowModel.ts +6 -0
- package/src/models/HousingRentalAccommodationChatModel.ts +6 -0
- package/src/models/HousingRentalAccommodationWorkflowModel.ts +3 -0
- package/src/models/HousingRentalVehicleChatModel.ts +6 -0
- package/src/models/HousingRentalVehicleWorkflowModel.ts +3 -0
- package/src/models/InitiatorEmployeeNominationChatModel.ts +3 -0
- package/src/models/InitiatorEmployeeNominationWorkflowModel.ts +3 -0
- package/src/models/InnovativeEmployeeNominationChatModel.ts +3 -0
- package/src/models/InnovativeEmployeeNominationWorkflowModel.ts +3 -0
- package/src/models/IpeGrievanceChatModel.ts +3 -0
- package/src/models/IpeGrievanceWorkflowModel.ts +3 -0
- package/src/models/LMSCourseExternalLecturerChatModel.ts +6 -0
- package/src/models/LMSCourseExternalLecturerWorkflowModel.ts +6 -0
- package/src/models/LMSExternalCourseParticipationChatModel.ts +6 -0
- package/src/models/LMSExternalCourseParticipationWorkflowModel.ts +6 -0
- package/src/models/LMSExternalEntityTrainedChatModel.ts +6 -0
- package/src/models/LMSExternalEntityTrainedPersonModel.ts +45 -45
- package/src/models/LMSExternalEntityTrainedWorkflowModel.ts +6 -0
- package/src/models/LanguageCourseChatModel.ts +6 -0
- package/src/models/LanguageCourseRequestModel.ts +67 -67
- package/src/models/LanguageCourseWorkflowModel.ts +6 -0
- package/src/models/LeaveApprovalsModel.ts +66 -66
- package/src/models/LeaveChatModel.ts +7 -1
- package/src/models/LeaveConfigModel.ts +71 -71
- package/src/models/LeaveWorkFlowModel.ts +6 -0
- package/src/models/MediaChatModel.ts +6 -0
- package/src/models/MediaWorkflowModel.ts +6 -0
- package/src/models/MedicalExpensesChatModel.ts +6 -0
- package/src/models/MedicalExpensesWorkflowModel.ts +3 -0
- package/src/models/MeetingChatModel.ts +6 -0
- package/src/models/MeetingWorkflowModel.ts +6 -0
- package/src/models/MissionBankAccountChatModel.ts +6 -0
- package/src/models/MissionBankAccountWorkflowModel.ts +6 -0
- package/src/models/MissionContractsChatModel.ts +6 -0
- package/src/models/MissionContractsWorkflowModel.ts +3 -0
- package/src/models/MissionTravelApprovalModel.ts +101 -101
- package/src/models/MissionTravelAttachmentModel.ts +56 -56
- package/src/models/MissionTravelChatModel.ts +55 -52
- package/src/models/MissionTravelPersonModel.ts +105 -105
- package/src/models/MissionTravelWorkflowModel.ts +60 -54
- package/src/models/NationalDayCelebrationsChatModel.ts +6 -0
- package/src/models/NationalDayCelebrationsWorkflowModel.ts +3 -0
- package/src/models/ProjectContactsModel.ts +51 -51
- package/src/models/ProjectFaqModel.ts +36 -36
- package/src/models/ProjectInvoicesModel.ts +41 -41
- package/src/models/ProjectModel.ts +75 -75
- package/src/models/ProjectTasksModel.ts +75 -75
- package/src/models/RecruitmentDomesticWorkersChatModel.ts +6 -0
- package/src/models/RecruitmentDomesticWorkersWorkflowModel.ts +3 -0
- package/src/models/RegisterCandidateChatModel.ts +6 -0
- package/src/models/RegisterCandidateWorkflowModel.ts +6 -0
- package/src/models/RegisterVacancyChatModel.ts +6 -0
- package/src/models/RegisterVacancyWorkflowModel.ts +6 -0
- package/src/models/RepatriationCitizensChatModel.ts +6 -0
- package/src/models/RepatriationCitizensWorkflowModel.ts +3 -0
- package/src/models/RequestParcelChatModel.ts +6 -0
- package/src/models/RequestParcelWorkflowModel.ts +6 -0
- package/src/models/RequestPassportChatModel.ts +6 -0
- package/src/models/RequestPassportWorkflowModel.ts +6 -0
- package/src/models/ResignationTerminationChatModel.ts +6 -0
- package/src/models/ResignationTerminationWorkflowModel.ts +6 -0
- package/src/models/RetiredCardChatsModel.ts +6 -0
- package/src/models/RetiredCardWorkFlowModel.ts +8 -2
- package/src/models/SecurityChatsModel.ts +6 -0
- package/src/models/ServiceSlaApprovalModel.ts +63 -63
- package/src/models/ServicesNotificationConfigsModel.ts +55 -55
- package/src/models/SlaApprovalsViewModel.ts +135 -135
- package/src/models/SlaMyRequestsViewModel.ts +172 -172
- package/src/models/SlaRequestModel.ts +57 -57
- package/src/models/StayAfterHoursChatModel.ts +6 -0
- package/src/models/StayAfterHoursWorkflowModel.ts +6 -0
- package/src/models/TransferAllowanceChatModel.ts +6 -0
- package/src/models/TransferAllowanceWorkflowModel.ts +3 -0
- package/src/models/TransferMissionChatModel.ts +6 -0
- package/src/models/TransferMissionWorkflowModel.ts +6 -0
- package/src/models/TransferSalaryBankAccountChatModel.ts +6 -0
- package/src/models/TransferSalaryBankAccountWorkflowModel.ts +3 -0
- package/src/models/UpdateAttendanceChatModel.ts +3 -0
- package/src/models/UpdateAttendanceWorkflowModel.ts +6 -0
- package/src/sla-report-views.ts +3 -3
- package/tsconfig.json +1 -0
- package/dist/helpers/sla-request-status.helper.d.ts +0 -3
- package/dist/helpers/sla-request-status.helper.js +0 -36
- package/dist/models/EmbassyEvaluationDepartmentSettingModel.d.ts +0 -14
- package/dist/models/EmbassyEvaluationDepartmentSettingModel.js +0 -56
- package/dist/models/EvaluationMastersModel.d.ts +0 -16
- package/dist/models/EvaluationMastersModel.js +0 -67
- package/dist/models/EvaluationQuestionMasterModel.d.ts +0 -10
- package/dist/models/EvaluationQuestionMasterModel.js +0 -42
- package/dist/models/EvaluationSectionMasterModel.d.ts +0 -7
- package/dist/models/EvaluationSectionMasterModel.js +0 -36
- package/dist/models/EvaluationWorkflowModel.d.ts +0 -60
- package/dist/models/EvaluationWorkflowModel.js +0 -215
- package/dist/models/IneligibleForEvaluationModel.d.ts +0 -8
- package/dist/models/IneligibleForEvaluationModel.js +0 -44
- package/dist/models/MissionTravelClassConfigModel.d.ts +0 -10
- package/dist/models/MissionTravelClassConfigModel.js +0 -50
- package/dist/models/MissionTravelPerdiemModel.d.ts +0 -10
- package/dist/models/MissionTravelPerdiemModel.js +0 -54
- package/dist/models/UuidAuditModel.d.ts +0 -9
- package/dist/models/UuidAuditModel.js +0 -41
|
@@ -1,59 +1,59 @@
|
|
|
1
|
-
import { Column, Entity } from 'typeorm';
|
|
2
|
-
import { BaseModel } from './BaseModel';
|
|
3
|
-
|
|
4
|
-
export enum EmbassyEvaluationRequestStatus {
|
|
5
|
-
PENDING = 'Pending',
|
|
6
|
-
IN_PROGRESS = 'In Progress',
|
|
7
|
-
APPROVED = 'Approved',
|
|
8
|
-
REJECTED = 'Rejected',
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
/** Consolidated approval request when all departments complete evaluations for all embassies in a cycle. */
|
|
12
|
-
@Entity({ name: 'embassy_evaluation_requests' })
|
|
13
|
-
export class EmbassyEvaluationRequests extends BaseModel {
|
|
14
|
-
@Column({ type: 'int', nullable: false })
|
|
15
|
-
cycle_id: number;
|
|
16
|
-
|
|
17
|
-
/** Same cycle template can run each calendar year; year is set at activation (assignments), not on cycle. */
|
|
18
|
-
@Column({ type: 'int', nullable: true })
|
|
19
|
-
evaluation_year: number | null;
|
|
20
|
-
|
|
21
|
-
@Column({ type: 'jsonb', nullable: false })
|
|
22
|
-
embassy_ids: number[];
|
|
23
|
-
|
|
24
|
-
@Column({ type: 'int', nullable: true })
|
|
25
|
-
req_user_department_id: number | null;
|
|
26
|
-
|
|
27
|
-
@Column({ type: 'int', nullable: true })
|
|
28
|
-
req_user_section_id: number | null;
|
|
29
|
-
|
|
30
|
-
@Column({ type: 'int', nullable: true })
|
|
31
|
-
service_id: number | null;
|
|
32
|
-
|
|
33
|
-
@Column({ type: 'int', nullable: true })
|
|
34
|
-
sub_service_id: number | null;
|
|
35
|
-
|
|
36
|
-
@Column({ type: 'int', nullable: false })
|
|
37
|
-
user_id: number;
|
|
38
|
-
|
|
39
|
-
@Column({ type: 'int', nullable: false, default: 0 })
|
|
40
|
-
total_assignments: number;
|
|
41
|
-
|
|
42
|
-
@Column({ type: 'int', nullable: false, default: 0 })
|
|
43
|
-
submitted_assignments: number;
|
|
44
|
-
|
|
45
|
-
@Column({
|
|
46
|
-
type: 'enum',
|
|
47
|
-
enum: EmbassyEvaluationRequestStatus,
|
|
48
|
-
enumName: 'embassy_evaluation_request_status_enum',
|
|
49
|
-
default: EmbassyEvaluationRequestStatus.PENDING,
|
|
50
|
-
nullable: false,
|
|
51
|
-
})
|
|
52
|
-
status: EmbassyEvaluationRequestStatus;
|
|
53
|
-
|
|
54
|
-
@Column({ type: 'varchar', length: 255, nullable: true })
|
|
55
|
-
workflow_execution_id: string | null;
|
|
56
|
-
|
|
57
|
-
@Column({ type: 'text', nullable: true })
|
|
58
|
-
comments: string | null;
|
|
59
|
-
}
|
|
1
|
+
import { Column, Entity } from 'typeorm';
|
|
2
|
+
import { BaseModel } from './BaseModel';
|
|
3
|
+
|
|
4
|
+
export enum EmbassyEvaluationRequestStatus {
|
|
5
|
+
PENDING = 'Pending',
|
|
6
|
+
IN_PROGRESS = 'In Progress',
|
|
7
|
+
APPROVED = 'Approved',
|
|
8
|
+
REJECTED = 'Rejected',
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
/** Consolidated approval request when all departments complete evaluations for all embassies in a cycle. */
|
|
12
|
+
@Entity({ name: 'embassy_evaluation_requests' })
|
|
13
|
+
export class EmbassyEvaluationRequests extends BaseModel {
|
|
14
|
+
@Column({ type: 'int', nullable: false })
|
|
15
|
+
cycle_id: number;
|
|
16
|
+
|
|
17
|
+
/** Same cycle template can run each calendar year; year is set at activation (assignments), not on cycle. */
|
|
18
|
+
@Column({ type: 'int', nullable: true })
|
|
19
|
+
evaluation_year: number | null;
|
|
20
|
+
|
|
21
|
+
@Column({ type: 'jsonb', nullable: false })
|
|
22
|
+
embassy_ids: number[];
|
|
23
|
+
|
|
24
|
+
@Column({ type: 'int', nullable: true })
|
|
25
|
+
req_user_department_id: number | null;
|
|
26
|
+
|
|
27
|
+
@Column({ type: 'int', nullable: true })
|
|
28
|
+
req_user_section_id: number | null;
|
|
29
|
+
|
|
30
|
+
@Column({ type: 'int', nullable: true })
|
|
31
|
+
service_id: number | null;
|
|
32
|
+
|
|
33
|
+
@Column({ type: 'int', nullable: true })
|
|
34
|
+
sub_service_id: number | null;
|
|
35
|
+
|
|
36
|
+
@Column({ type: 'int', nullable: false })
|
|
37
|
+
user_id: number;
|
|
38
|
+
|
|
39
|
+
@Column({ type: 'int', nullable: false, default: 0 })
|
|
40
|
+
total_assignments: number;
|
|
41
|
+
|
|
42
|
+
@Column({ type: 'int', nullable: false, default: 0 })
|
|
43
|
+
submitted_assignments: number;
|
|
44
|
+
|
|
45
|
+
@Column({
|
|
46
|
+
type: 'enum',
|
|
47
|
+
enum: EmbassyEvaluationRequestStatus,
|
|
48
|
+
enumName: 'embassy_evaluation_request_status_enum',
|
|
49
|
+
default: EmbassyEvaluationRequestStatus.PENDING,
|
|
50
|
+
nullable: false,
|
|
51
|
+
})
|
|
52
|
+
status: EmbassyEvaluationRequestStatus;
|
|
53
|
+
|
|
54
|
+
@Column({ type: 'varchar', length: 255, nullable: true })
|
|
55
|
+
workflow_execution_id: string | null;
|
|
56
|
+
|
|
57
|
+
@Column({ type: 'text', nullable: true })
|
|
58
|
+
comments: string | null;
|
|
59
|
+
}
|
|
@@ -34,6 +34,9 @@ export class EmbassyEvaluationWorkFlow extends BaseModel {
|
|
|
34
34
|
@Column({ type: 'varchar', length: 500, nullable: false })
|
|
35
35
|
content: string;
|
|
36
36
|
|
|
37
|
+
@Column({ type: 'varchar', length: 500, nullable: true })
|
|
38
|
+
content_ar: string | null;
|
|
39
|
+
|
|
37
40
|
@Column({
|
|
38
41
|
type: 'enum',
|
|
39
42
|
enum: EmbassyEvaluationWorkFlowStatus,
|
|
@@ -15,6 +15,9 @@ export class EmployeeCardChat extends BaseModel {
|
|
|
15
15
|
@Column({ type: 'text', nullable: false })
|
|
16
16
|
content: string; // Chat message content
|
|
17
17
|
|
|
18
|
+
@Column({ type: 'text', nullable: true })
|
|
19
|
+
content_ar: string | null;
|
|
20
|
+
|
|
18
21
|
@Column({ type: 'int', nullable: false })
|
|
19
22
|
sender_user_id: number; // User who sent the message
|
|
20
23
|
|
|
@@ -30,6 +33,9 @@ export class EmployeeCardChat extends BaseModel {
|
|
|
30
33
|
@Column({ type: 'varchar', length: 255, nullable: true })
|
|
31
34
|
status: string | null; // Status of the request at the time of message
|
|
32
35
|
|
|
36
|
+
@Column({ type: 'varchar', length: 100, nullable: true })
|
|
37
|
+
status_ar: string | null;
|
|
38
|
+
|
|
33
39
|
@Column({ type: 'integer', nullable: true })
|
|
34
40
|
department_id: number | null; // Department of the sender
|
|
35
41
|
|
|
@@ -30,10 +30,16 @@ export class EmployeeCardWorkFlow extends BaseModel {
|
|
|
30
30
|
employee_card_approval_details_id: number; // Foreign key to employee_card_approvals
|
|
31
31
|
|
|
32
32
|
@Column({ type: 'varchar', length: 255, nullable: false })
|
|
33
|
-
content: string;
|
|
33
|
+
content: string;
|
|
34
|
+
|
|
35
|
+
@Column({ type: 'varchar', length: 500, nullable: true })
|
|
36
|
+
content_ar: string | null; // Description of the workflow step (e.g., "Pending Department Admin Office Approval")
|
|
34
37
|
|
|
35
38
|
@Column({ type: 'enum', enum: EmployeeCardWorkFlowStatus, default: EmployeeCardWorkFlowStatus.NOT_YET_STARTED, nullable: false })
|
|
36
|
-
status: EmployeeCardWorkFlowStatus;
|
|
39
|
+
status: EmployeeCardWorkFlowStatus;
|
|
40
|
+
|
|
41
|
+
@Column({ type: 'varchar', length: 100, nullable: true })
|
|
42
|
+
status_ar: string | null; // Current status of this workflow step
|
|
37
43
|
|
|
38
44
|
@Column({ type: 'integer', nullable: true })
|
|
39
45
|
user_id: number | null; // User responsible for this step
|
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
import { Column, Entity } from 'typeorm';
|
|
2
|
-
import { BaseModel } from './BaseModel';
|
|
3
|
-
|
|
4
|
-
@Entity({ name: 'employee_evaluation_answers' })
|
|
5
|
-
export class EmployeeEvaluationAnswers extends BaseModel {
|
|
6
|
-
@Column({ type: 'integer', nullable: false })
|
|
7
|
-
request_id: number;
|
|
8
|
-
|
|
9
|
-
@Column({ type: 'integer', nullable: false })
|
|
10
|
-
user_id: number;
|
|
11
|
-
|
|
12
|
-
@Column({ type: 'integer', nullable: false })
|
|
13
|
-
form_id: number;
|
|
14
|
-
|
|
15
|
-
@Column({ type: 'integer', nullable: false })
|
|
16
|
-
section_id: number;
|
|
17
|
-
|
|
18
|
-
@Column({ type: 'integer', nullable: false })
|
|
19
|
-
question_id: number;
|
|
20
|
-
|
|
21
|
-
@Column({ type: 'integer', nullable: false })
|
|
22
|
-
score: number;
|
|
23
|
-
|
|
24
|
-
@Column({ type: 'text', nullable: true })
|
|
25
|
-
remarks: string | null;
|
|
26
|
-
}
|
|
1
|
+
import { Column, Entity } from 'typeorm';
|
|
2
|
+
import { BaseModel } from './BaseModel';
|
|
3
|
+
|
|
4
|
+
@Entity({ name: 'employee_evaluation_answers' })
|
|
5
|
+
export class EmployeeEvaluationAnswers extends BaseModel {
|
|
6
|
+
@Column({ type: 'integer', nullable: false })
|
|
7
|
+
request_id: number;
|
|
8
|
+
|
|
9
|
+
@Column({ type: 'integer', nullable: false })
|
|
10
|
+
user_id: number;
|
|
11
|
+
|
|
12
|
+
@Column({ type: 'integer', nullable: false })
|
|
13
|
+
form_id: number;
|
|
14
|
+
|
|
15
|
+
@Column({ type: 'integer', nullable: false })
|
|
16
|
+
section_id: number;
|
|
17
|
+
|
|
18
|
+
@Column({ type: 'integer', nullable: false })
|
|
19
|
+
question_id: number;
|
|
20
|
+
|
|
21
|
+
@Column({ type: 'integer', nullable: false })
|
|
22
|
+
score: number;
|
|
23
|
+
|
|
24
|
+
@Column({ type: 'text', nullable: true })
|
|
25
|
+
remarks: string | null;
|
|
26
|
+
}
|
|
@@ -29,6 +29,9 @@ export class EmployeeEvaluationRequestChat 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
|
+
|
|
32
35
|
@Column({
|
|
33
36
|
type: 'enum',
|
|
34
37
|
enum: EmployeeEvaluationMessageType,
|
|
@@ -21,6 +21,9 @@ export class EmployeeEvaluationWorkFlow 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
|
+
|
|
24
27
|
@Column({
|
|
25
28
|
type: 'enum',
|
|
26
29
|
enum: EmployeeEvaluationWorkFlowStatus,
|
|
@@ -29,6 +29,9 @@ export class EmployeeOfMonthNominationRequestChat 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
|
+
|
|
32
35
|
@Column({
|
|
33
36
|
type: 'enum',
|
|
34
37
|
enum: EmployeeOfMonthNominationMessageType,
|
|
@@ -34,6 +34,9 @@ export class EmployeeOfMonthNominationWorkFlow extends BaseModel {
|
|
|
34
34
|
@Column({ type: 'varchar', length: 500, nullable: false })
|
|
35
35
|
content: string;
|
|
36
36
|
|
|
37
|
+
@Column({ type: 'varchar', length: 500, nullable: true })
|
|
38
|
+
content_ar: string | null;
|
|
39
|
+
|
|
37
40
|
@Column({
|
|
38
41
|
type: 'enum',
|
|
39
42
|
enum: EmployeeOfMonthNominationWorkFlowStatus,
|
|
@@ -32,6 +32,9 @@ export class EmployeeOfMonthSupportNominationRequestChat extends BaseModel {
|
|
|
32
32
|
@Column({ type: 'text', nullable: false })
|
|
33
33
|
message: string;
|
|
34
34
|
|
|
35
|
+
@Column({ type: 'text', nullable: true })
|
|
36
|
+
message_ar: string | null;
|
|
37
|
+
|
|
35
38
|
@Column({
|
|
36
39
|
type: 'varchar',
|
|
37
40
|
length: 32,
|
|
@@ -37,6 +37,9 @@ export class EmployeeOfMonthSupportNominationWorkFlow extends BaseModel {
|
|
|
37
37
|
@Column({ type: 'varchar', length: 500, nullable: false })
|
|
38
38
|
content: string;
|
|
39
39
|
|
|
40
|
+
@Column({ type: 'varchar', length: 500, nullable: true })
|
|
41
|
+
content_ar: string | null;
|
|
42
|
+
|
|
40
43
|
@Column({
|
|
41
44
|
type: 'varchar',
|
|
42
45
|
length: 32,
|
|
@@ -1,51 +1,51 @@
|
|
|
1
|
-
import { Column, Entity, JoinColumn, ManyToOne, OneToMany } from 'typeorm';
|
|
2
|
-
import { BaseModel } from './BaseModel';
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* Cycle-based evaluation exception list: defines the evaluation window (MM-DD dates),
|
|
6
|
-
* last submission day, and employees excluded from evaluation for that cycle.
|
|
7
|
-
*/
|
|
8
|
-
@Entity({ name: 'evaluation_eligibility_settings' })
|
|
9
|
-
export class EvaluationEligibilitySetting extends BaseModel {
|
|
10
|
-
@Column({ type: 'varchar', length: 255 })
|
|
11
|
-
cycle_name: string;
|
|
12
|
-
|
|
13
|
-
@Column({ type: 'varchar', length: 100 })
|
|
14
|
-
cycle_code: string;
|
|
15
|
-
|
|
16
|
-
/** Evaluation window start date as MM-DD (e.g. 01-01). */
|
|
17
|
-
@Column({ type: 'varchar', length: 5 })
|
|
18
|
-
from_month: string;
|
|
19
|
-
|
|
20
|
-
/** Evaluation window end date as MM-DD (e.g. 05-31), inclusive. */
|
|
21
|
-
@Column({ type: 'varchar', length: 5 })
|
|
22
|
-
to_month: string;
|
|
23
|
-
|
|
24
|
-
/** Last submission date as MM-DD; day applies each month in the window (e.g. 04-12 → through the 12th). */
|
|
25
|
-
@Column({ type: 'varchar', length: 5 })
|
|
26
|
-
evaluation_end_date: string;
|
|
27
|
-
|
|
28
|
-
@Column({ type: 'boolean', default: true })
|
|
29
|
-
is_active: boolean;
|
|
30
|
-
|
|
31
|
-
/** Maximum employees allowed in one evaluation request for this cycle window. */
|
|
32
|
-
@Column({ type: 'int', default: 50 })
|
|
33
|
-
max_employees_per_request: number;
|
|
34
|
-
|
|
35
|
-
@OneToMany(() => EvaluationEligibilitySettingEmployee, (e) => e.evaluation_eligibility_setting)
|
|
36
|
-
employees?: EvaluationEligibilitySettingEmployee[];
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
@Entity({ name: 'evaluation_eligibility_setting_employees' })
|
|
40
|
-
export class EvaluationEligibilitySettingEmployee extends BaseModel {
|
|
41
|
-
@ManyToOne(() => EvaluationEligibilitySetting, (s) => s.employees, { onDelete: 'CASCADE' })
|
|
42
|
-
@JoinColumn({ name: 'setting_id' })
|
|
43
|
-
evaluation_eligibility_setting: EvaluationEligibilitySetting;
|
|
44
|
-
|
|
45
|
-
@Column({ type: 'int' })
|
|
46
|
-
employee_id: number;
|
|
47
|
-
|
|
48
|
-
/** When true, employee is excluded from evaluation for this cycle window. */
|
|
49
|
-
@Column({ type: 'boolean', default: true })
|
|
50
|
-
is_excluded_from_evaluation: boolean;
|
|
51
|
-
}
|
|
1
|
+
import { Column, Entity, JoinColumn, ManyToOne, OneToMany } from 'typeorm';
|
|
2
|
+
import { BaseModel } from './BaseModel';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Cycle-based evaluation exception list: defines the evaluation window (MM-DD dates),
|
|
6
|
+
* last submission day, and employees excluded from evaluation for that cycle.
|
|
7
|
+
*/
|
|
8
|
+
@Entity({ name: 'evaluation_eligibility_settings' })
|
|
9
|
+
export class EvaluationEligibilitySetting extends BaseModel {
|
|
10
|
+
@Column({ type: 'varchar', length: 255 })
|
|
11
|
+
cycle_name: string;
|
|
12
|
+
|
|
13
|
+
@Column({ type: 'varchar', length: 100 })
|
|
14
|
+
cycle_code: string;
|
|
15
|
+
|
|
16
|
+
/** Evaluation window start date as MM-DD (e.g. 01-01). */
|
|
17
|
+
@Column({ type: 'varchar', length: 5 })
|
|
18
|
+
from_month: string;
|
|
19
|
+
|
|
20
|
+
/** Evaluation window end date as MM-DD (e.g. 05-31), inclusive. */
|
|
21
|
+
@Column({ type: 'varchar', length: 5 })
|
|
22
|
+
to_month: string;
|
|
23
|
+
|
|
24
|
+
/** Last submission date as MM-DD; day applies each month in the window (e.g. 04-12 → through the 12th). */
|
|
25
|
+
@Column({ type: 'varchar', length: 5 })
|
|
26
|
+
evaluation_end_date: string;
|
|
27
|
+
|
|
28
|
+
@Column({ type: 'boolean', default: true })
|
|
29
|
+
is_active: boolean;
|
|
30
|
+
|
|
31
|
+
/** Maximum employees allowed in one evaluation request for this cycle window. */
|
|
32
|
+
@Column({ type: 'int', default: 50 })
|
|
33
|
+
max_employees_per_request: number;
|
|
34
|
+
|
|
35
|
+
@OneToMany(() => EvaluationEligibilitySettingEmployee, (e) => e.evaluation_eligibility_setting)
|
|
36
|
+
employees?: EvaluationEligibilitySettingEmployee[];
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
@Entity({ name: 'evaluation_eligibility_setting_employees' })
|
|
40
|
+
export class EvaluationEligibilitySettingEmployee extends BaseModel {
|
|
41
|
+
@ManyToOne(() => EvaluationEligibilitySetting, (s) => s.employees, { onDelete: 'CASCADE' })
|
|
42
|
+
@JoinColumn({ name: 'setting_id' })
|
|
43
|
+
evaluation_eligibility_setting: EvaluationEligibilitySetting;
|
|
44
|
+
|
|
45
|
+
@Column({ type: 'int' })
|
|
46
|
+
employee_id: number;
|
|
47
|
+
|
|
48
|
+
/** When true, employee is excluded from evaluation for this cycle window. */
|
|
49
|
+
@Column({ type: 'boolean', default: true })
|
|
50
|
+
is_excluded_from_evaluation: boolean;
|
|
51
|
+
}
|
|
@@ -1,44 +1,44 @@
|
|
|
1
|
-
import { Column, Entity, Index, OneToMany } from 'typeorm';
|
|
2
|
-
import { BaseModel } from './BaseModel';
|
|
3
|
-
import { EvaluationFormSection } from './EvaluationFormSectionModel';
|
|
4
|
-
|
|
5
|
-
export enum EvaluationFormType {
|
|
6
|
-
EMPLOYEE_EVALUATION = 'employee_evaluation',
|
|
7
|
-
DEPARTMENT = 'department',
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
@Entity({ name: 'evaluation_forms' })
|
|
11
|
-
@Index('uq_evaluation_forms_form_name', ['form_name'], { unique: true, where: '"is_deleted" = false' })
|
|
12
|
-
@Index('uq_evaluation_forms_form_code', ['form_code'], { unique: true, where: '"is_deleted" = false' })
|
|
13
|
-
@Index('uq_evaluation_forms_dept_section', ['department_id', 'section_id'], {
|
|
14
|
-
unique: true,
|
|
15
|
-
where: `"is_deleted" = false AND form_type = 'department'`,
|
|
16
|
-
})
|
|
17
|
-
export class EvaluationForm extends BaseModel {
|
|
18
|
-
@Column({ type: 'varchar', length: 255, nullable: false })
|
|
19
|
-
form_name: string;
|
|
20
|
-
|
|
21
|
-
@Column({ type: 'varchar', length: 64, nullable: false })
|
|
22
|
-
form_code: string;
|
|
23
|
-
|
|
24
|
-
@Column({ type: 'varchar', length: 32, nullable: false })
|
|
25
|
-
form_type: EvaluationFormType;
|
|
26
|
-
|
|
27
|
-
@Column({ type: 'int', nullable: true })
|
|
28
|
-
department_id: number | null;
|
|
29
|
-
|
|
30
|
-
@Column({ type: 'int', nullable: true })
|
|
31
|
-
section_id: number | null;
|
|
32
|
-
|
|
33
|
-
@Column({ type: 'int', default: 0 })
|
|
34
|
-
min_score: number;
|
|
35
|
-
|
|
36
|
-
@Column({ type: 'int', default: 10 })
|
|
37
|
-
max_score: number;
|
|
38
|
-
|
|
39
|
-
@Column({ type: 'boolean', default: true })
|
|
40
|
-
is_active: boolean;
|
|
41
|
-
|
|
42
|
-
@OneToMany(() => EvaluationFormSection, (s) => s.form)
|
|
43
|
-
sections?: EvaluationFormSection[];
|
|
44
|
-
}
|
|
1
|
+
import { Column, Entity, Index, OneToMany } from 'typeorm';
|
|
2
|
+
import { BaseModel } from './BaseModel';
|
|
3
|
+
import { EvaluationFormSection } from './EvaluationFormSectionModel';
|
|
4
|
+
|
|
5
|
+
export enum EvaluationFormType {
|
|
6
|
+
EMPLOYEE_EVALUATION = 'employee_evaluation',
|
|
7
|
+
DEPARTMENT = 'department',
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
@Entity({ name: 'evaluation_forms' })
|
|
11
|
+
@Index('uq_evaluation_forms_form_name', ['form_name'], { unique: true, where: '"is_deleted" = false' })
|
|
12
|
+
@Index('uq_evaluation_forms_form_code', ['form_code'], { unique: true, where: '"is_deleted" = false' })
|
|
13
|
+
@Index('uq_evaluation_forms_dept_section', ['department_id', 'section_id'], {
|
|
14
|
+
unique: true,
|
|
15
|
+
where: `"is_deleted" = false AND form_type = 'department'`,
|
|
16
|
+
})
|
|
17
|
+
export class EvaluationForm extends BaseModel {
|
|
18
|
+
@Column({ type: 'varchar', length: 255, nullable: false })
|
|
19
|
+
form_name: string;
|
|
20
|
+
|
|
21
|
+
@Column({ type: 'varchar', length: 64, nullable: false })
|
|
22
|
+
form_code: string;
|
|
23
|
+
|
|
24
|
+
@Column({ type: 'varchar', length: 32, nullable: false })
|
|
25
|
+
form_type: EvaluationFormType;
|
|
26
|
+
|
|
27
|
+
@Column({ type: 'int', nullable: true })
|
|
28
|
+
department_id: number | null;
|
|
29
|
+
|
|
30
|
+
@Column({ type: 'int', nullable: true })
|
|
31
|
+
section_id: number | null;
|
|
32
|
+
|
|
33
|
+
@Column({ type: 'int', default: 0 })
|
|
34
|
+
min_score: number;
|
|
35
|
+
|
|
36
|
+
@Column({ type: 'int', default: 10 })
|
|
37
|
+
max_score: number;
|
|
38
|
+
|
|
39
|
+
@Column({ type: 'boolean', default: true })
|
|
40
|
+
is_active: boolean;
|
|
41
|
+
|
|
42
|
+
@OneToMany(() => EvaluationFormSection, (s) => s.form)
|
|
43
|
+
sections?: EvaluationFormSection[];
|
|
44
|
+
}
|
|
@@ -23,6 +23,9 @@ export class FinancialChats extends BaseModel {
|
|
|
23
23
|
@Column({ type: 'text' })
|
|
24
24
|
content: string;
|
|
25
25
|
|
|
26
|
+
@Column({ type: 'text', nullable: true })
|
|
27
|
+
content_ar: string | null;
|
|
28
|
+
|
|
26
29
|
@Column({ type: 'int' })
|
|
27
30
|
sender_user_id: number;
|
|
28
31
|
|
|
@@ -32,6 +35,9 @@ export class FinancialChats extends BaseModel {
|
|
|
32
35
|
@Column({ type: 'varchar', length: 255, nullable: true })
|
|
33
36
|
status: statusEnum | null;
|
|
34
37
|
|
|
38
|
+
@Column({ type: 'varchar', length: 100, nullable: true })
|
|
39
|
+
status_ar: string | null;
|
|
40
|
+
|
|
35
41
|
@Column({ type: 'varchar',length: 255, nullable: true })
|
|
36
42
|
message_type: messageTypeEnum | null;
|
|
37
43
|
|
|
@@ -21,12 +21,18 @@ export class FinancialWorkFlow extends BaseModel {
|
|
|
21
21
|
@Column({ type: 'enum', enum: FinancialWorkFlowStatus, default: FinancialWorkFlowStatus.NOT_YET_STARTED })
|
|
22
22
|
status: FinancialWorkFlowStatus;
|
|
23
23
|
|
|
24
|
+
@Column({ type: 'varchar', length: 100, nullable: true })
|
|
25
|
+
status_ar: string | null;
|
|
26
|
+
|
|
24
27
|
@Column({ type: 'int', nullable: true })
|
|
25
28
|
approved_by_user_id: number;
|
|
26
29
|
|
|
27
30
|
@Column({ type: 'varchar', length: 500 })
|
|
28
31
|
content: string;
|
|
29
32
|
|
|
33
|
+
@Column({ type: 'varchar', length: 500, nullable: true })
|
|
34
|
+
content_ar: string | null;
|
|
35
|
+
|
|
30
36
|
@Column({ type: 'timestamp', default: () => 'CURRENT_TIMESTAMP' })
|
|
31
37
|
activity_date: Date;
|
|
32
38
|
|
|
@@ -16,9 +16,15 @@ export class FoodWorkFlow extends BaseModel {
|
|
|
16
16
|
@Column({ type: 'varchar', length: 500, nullable: false })
|
|
17
17
|
content: string;
|
|
18
18
|
|
|
19
|
+
@Column({ type: 'varchar', length: 500, nullable: true })
|
|
20
|
+
content_ar: string | null;
|
|
21
|
+
|
|
19
22
|
@Column({ type: 'enum', enum: MeetingWorkFlowStatus, default: MeetingWorkFlowStatus.NOT_YET_STARTED, nullable: false })
|
|
20
23
|
status: MeetingWorkFlowStatus;
|
|
21
24
|
|
|
25
|
+
@Column({ type: 'varchar', length: 100, nullable: true })
|
|
26
|
+
status_ar: string | null;
|
|
27
|
+
|
|
22
28
|
@Column({ type: 'integer', nullable: true })
|
|
23
29
|
user_id: number | null;
|
|
24
30
|
|
|
@@ -37,6 +37,9 @@ export class GatePassRequestChat extends BaseModel {
|
|
|
37
37
|
@Column({ type: 'text', nullable: false })
|
|
38
38
|
message: string;
|
|
39
39
|
|
|
40
|
+
@Column({ type: 'text', nullable: true })
|
|
41
|
+
message_ar: string | null;
|
|
42
|
+
|
|
40
43
|
@Column({
|
|
41
44
|
type: 'enum',
|
|
42
45
|
enum: GatePassMessageType,
|
|
@@ -48,6 +51,9 @@ export class GatePassRequestChat extends BaseModel {
|
|
|
48
51
|
@Column({ type: 'text', nullable: true })
|
|
49
52
|
status: string;
|
|
50
53
|
|
|
54
|
+
@Column({ type: 'varchar', length: 100, nullable: true })
|
|
55
|
+
status_ar: string | null;
|
|
56
|
+
|
|
51
57
|
constructor(
|
|
52
58
|
request_id: number,
|
|
53
59
|
user_id: number,
|
|
@@ -28,10 +28,16 @@ export class GatePassWorkFlow extends BaseModel {
|
|
|
28
28
|
gate_pass_approval_details_id: number; // Foreign key to gate_pass_approvals
|
|
29
29
|
|
|
30
30
|
@Column({ type: 'varchar', length: 255, nullable: false })
|
|
31
|
-
content: string;
|
|
31
|
+
content: string;
|
|
32
|
+
|
|
33
|
+
@Column({ type: 'varchar', length: 500, nullable: true })
|
|
34
|
+
content_ar: string | null; // Description of the workflow step
|
|
32
35
|
|
|
33
36
|
@Column({ type: 'enum', enum: GatePassWorkFlowStatus, default: GatePassWorkFlowStatus.NOT_YET_STARTED, nullable: false })
|
|
34
|
-
status: GatePassWorkFlowStatus;
|
|
37
|
+
status: GatePassWorkFlowStatus;
|
|
38
|
+
|
|
39
|
+
@Column({ type: 'varchar', length: 100, nullable: true })
|
|
40
|
+
status_ar: string | null; // Current status of this workflow step
|
|
35
41
|
|
|
36
42
|
@Column({ type: 'integer', nullable: true })
|
|
37
43
|
user_id: number | null; // User responsible for this step
|
|
@@ -9,6 +9,9 @@ export class GeneralServiceChats extends BaseModel {
|
|
|
9
9
|
@Column({ type: 'text' })
|
|
10
10
|
content: string;
|
|
11
11
|
|
|
12
|
+
@Column({ type: 'text', nullable: true })
|
|
13
|
+
content_ar: string | null;
|
|
14
|
+
|
|
12
15
|
@Column({ type: 'int' })
|
|
13
16
|
sender_user_id: number;
|
|
14
17
|
|
|
@@ -18,6 +21,9 @@ export class GeneralServiceChats extends BaseModel {
|
|
|
18
21
|
@Column({ type: 'varchar', length: 100, nullable: true })
|
|
19
22
|
status: string | null;
|
|
20
23
|
|
|
24
|
+
@Column({ type: 'varchar', length: 100, nullable: true })
|
|
25
|
+
status_ar: string | null;
|
|
26
|
+
|
|
21
27
|
@Column({ type: 'int', nullable: true })
|
|
22
28
|
service_id: number | null; // For filtering and multi-service support
|
|
23
29
|
|
|
@@ -20,6 +20,9 @@ export class GeneralServiceWorkFlow extends BaseModel {
|
|
|
20
20
|
@Column({ type: 'enum', enum: GeneralServiceWorkFlowStatus, default: GeneralServiceWorkFlowStatus.NOT_YET_STARTED })
|
|
21
21
|
status: GeneralServiceWorkFlowStatus;
|
|
22
22
|
|
|
23
|
+
@Column({ type: 'varchar', length: 100, nullable: true })
|
|
24
|
+
status_ar: string | null;
|
|
25
|
+
|
|
23
26
|
@Column({ type: 'int', nullable: true })
|
|
24
27
|
approved_by_user_id: number;
|
|
25
28
|
|
|
@@ -29,6 +32,9 @@ export class GeneralServiceWorkFlow extends BaseModel {
|
|
|
29
32
|
@Column({ type: 'varchar', length: 500 })
|
|
30
33
|
content: string;
|
|
31
34
|
|
|
35
|
+
@Column({ type: 'varchar', length: 500, nullable: true })
|
|
36
|
+
content_ar: string | null;
|
|
37
|
+
|
|
32
38
|
@Column({ type: 'timestamp', default: () => 'CURRENT_TIMESTAMP' })
|
|
33
39
|
date: Date;
|
|
34
40
|
|
|
@@ -16,9 +16,15 @@ export class HallWorkFlow extends BaseModel {
|
|
|
16
16
|
@Column({ type: 'varchar', length: 500, nullable: false })
|
|
17
17
|
content: string;
|
|
18
18
|
|
|
19
|
+
@Column({ type: 'varchar', length: 500, nullable: true })
|
|
20
|
+
content_ar: string | null;
|
|
21
|
+
|
|
19
22
|
@Column({ type: 'enum', enum: MeetingWorkFlowStatus, default: MeetingWorkFlowStatus.NOT_YET_STARTED, nullable: false })
|
|
20
23
|
status: MeetingWorkFlowStatus;
|
|
21
24
|
|
|
25
|
+
@Column({ type: 'varchar', length: 100, nullable: true })
|
|
26
|
+
status_ar: string | null;
|
|
27
|
+
|
|
22
28
|
@Column({ type: 'integer', nullable: true })
|
|
23
29
|
user_id: number | null;
|
|
24
30
|
|