@kipicore/dbcore 1.1.15 → 1.1.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/esm/configs/aws.js +9 -6
- package/dist/esm/configs/env.js +96 -57
- package/dist/esm/constants/app.js +336 -330
- package/dist/esm/constants/defaultModelAttributes.js +12 -9
- package/dist/esm/constants/errorMessages.js +219 -214
- package/dist/esm/constants/httpStatusCode.js +5 -2
- package/dist/esm/constants/successMessages.js +223 -217
- package/dist/esm/helpers/s3Uploader.js +25 -17
- package/dist/esm/helpers/utils.js +145 -66
- package/dist/esm/index.js +758 -151
- package/dist/esm/interfaces/academicCalendarInterface.js +2 -1
- package/dist/esm/interfaces/accountHasReceiptDetailsInterface.js +2 -1
- package/dist/esm/interfaces/announcementInterface.js +2 -1
- package/dist/esm/interfaces/approvalRequestInterface.js +2 -1
- package/dist/esm/interfaces/areaInterface.js +2 -1
- package/dist/esm/interfaces/attendanceInterface.js +2 -1
- package/dist/esm/interfaces/bankAccountDetailsInterface.js +2 -1
- package/dist/esm/interfaces/bannerInterface.js +2 -1
- package/dist/esm/interfaces/batchInterface.js +2 -1
- package/dist/esm/interfaces/batchSubjectBookAssessmentInterface.js +2 -1
- package/dist/esm/interfaces/batchSubjectProjectAssessmentInterface.js +2 -1
- package/dist/esm/interfaces/blogInterface.js +2 -1
- package/dist/esm/interfaces/bookAssessmentDateInterface.js +2 -1
- package/dist/esm/interfaces/careerInterface.js +2 -1
- package/dist/esm/interfaces/categoriesInterface.js +2 -1
- package/dist/esm/interfaces/certificatesHistoryInterface.js +2 -1
- package/dist/esm/interfaces/certificatesManagementInterface.js +2 -1
- package/dist/esm/interfaces/cityInterface.js +2 -1
- package/dist/esm/interfaces/classRoomInterface.js +2 -1
- package/dist/esm/interfaces/cloudStorageInterface.js +2 -1
- package/dist/esm/interfaces/coinPurchaseOfferInterface.js +2 -1
- package/dist/esm/interfaces/columnInterface.js +2 -1
- package/dist/esm/interfaces/commanInterface.js +2 -1
- package/dist/esm/interfaces/contactFeedBackInterface.js +2 -1
- package/dist/esm/interfaces/countryInterface.js +2 -1
- package/dist/esm/interfaces/courseHasVisitorsInterface.js +2 -1
- package/dist/esm/interfaces/courseInterface.js +2 -1
- package/dist/esm/interfaces/dailyBookInterface.js +2 -1
- package/dist/esm/interfaces/dashboardManagementInterface.js +2 -1
- package/dist/esm/interfaces/driverInterface.js +2 -1
- package/dist/esm/interfaces/entityGroupInterface.js +2 -1
- package/dist/esm/interfaces/eventInterface.js +2 -1
- package/dist/esm/interfaces/examGroupInterface.js +2 -1
- package/dist/esm/interfaces/examHasAnswerSheetInterface.js +2 -1
- package/dist/esm/interfaces/examInterface.js +2 -1
- package/dist/esm/interfaces/facilityInterface.js +2 -1
- package/dist/esm/interfaces/featureActionInterface.js +2 -1
- package/dist/esm/interfaces/feeHistoryDetailsInterface.js +2 -1
- package/dist/esm/interfaces/feeHistoryInterface.js +2 -1
- package/dist/esm/interfaces/feeReminderInterface.js +2 -1
- package/dist/esm/interfaces/feeReminderSettingInterface.js +2 -1
- package/dist/esm/interfaces/feeReminderTypeInterface.js +2 -1
- package/dist/esm/interfaces/feeTypeHasTermsInterface.js +2 -1
- package/dist/esm/interfaces/feeTypeInterface.js +2 -1
- package/dist/esm/interfaces/feedBackInterface.js +2 -1
- package/dist/esm/interfaces/feesCollectionInterface.js +2 -1
- package/dist/esm/interfaces/fileStorageInterface.js +2 -1
- package/dist/esm/interfaces/floorManagementInterface.js +2 -1
- package/dist/esm/interfaces/generateIdCardInterface.js +2 -1
- package/dist/esm/interfaces/greetingsInterface.js +2 -1
- package/dist/esm/interfaces/holidayInterface.js +2 -1
- package/dist/esm/interfaces/homeworkInterface.js +2 -1
- package/dist/esm/interfaces/informationSupportInterface.js +2 -1
- package/dist/esm/interfaces/inquiryInterface.js +2 -1
- package/dist/esm/interfaces/instituteEntityInterface.js +2 -1
- package/dist/esm/interfaces/instituteEntityTypeInterface.js +2 -1
- package/dist/esm/interfaces/instituteInterface.js +2 -1
- package/dist/esm/interfaces/instituteSubscriptionPlanInterface.js +2 -1
- package/dist/esm/interfaces/inventoryHistoryInterface.js +2 -1
- package/dist/esm/interfaces/inventoryInterface.js +2 -1
- package/dist/esm/interfaces/invoiceInterface.js +2 -1
- package/dist/esm/interfaces/jobApplyInterface.js +2 -1
- package/dist/esm/interfaces/lectureHistoryInterface.js +2 -1
- package/dist/esm/interfaces/lectureInterface.js +2 -1
- package/dist/esm/interfaces/masterLeaveInterface.js +2 -1
- package/dist/esm/interfaces/moduleFeatureInterface.js +2 -1
- package/dist/esm/interfaces/moduleInterface.js +2 -1
- package/dist/esm/interfaces/offersInterface.js +2 -1
- package/dist/esm/interfaces/paymentTermsInterface.js +2 -1
- package/dist/esm/interfaces/pdcChequeInterface.js +2 -1
- package/dist/esm/interfaces/pdcHistoryInterface.js +2 -1
- package/dist/esm/interfaces/photosGalleryInterface.js +2 -1
- package/dist/esm/interfaces/pincodeInterface.js +2 -1
- package/dist/esm/interfaces/plannerInterface.js +2 -1
- package/dist/esm/interfaces/productInterface.js +2 -1
- package/dist/esm/interfaces/projectAssessmentOptionInterface.js +2 -1
- package/dist/esm/interfaces/replaceTeacherInterface.js +2 -1
- package/dist/esm/interfaces/roleInterface.js +2 -1
- package/dist/esm/interfaces/rulesRegulationInterface.js +2 -1
- package/dist/esm/interfaces/schoolFeeCollectionInterface.js +2 -1
- package/dist/esm/interfaces/schoolFeeInterface.js +2 -1
- package/dist/esm/interfaces/schoolOfferInterface.js +2 -1
- package/dist/esm/interfaces/sendNotificationInerface.js +2 -1
- package/dist/esm/interfaces/slotInterface.js +2 -1
- package/dist/esm/interfaces/stateInterface.js +2 -1
- package/dist/esm/interfaces/subCategoriesInterface.js +2 -1
- package/dist/esm/interfaces/subjectHasFeeInterface.js +2 -1
- package/dist/esm/interfaces/subjectHasPayFeeHistoryInterface.js +2 -1
- package/dist/esm/interfaces/subjectIndexInterface.js +2 -1
- package/dist/esm/interfaces/subscriptionPlanInterface.js +2 -1
- package/dist/esm/interfaces/syllabusInterface.js +2 -1
- package/dist/esm/interfaces/taskManagementInterface.js +2 -1
- package/dist/esm/interfaces/testimonialInterface.js +2 -1
- package/dist/esm/interfaces/toDoInterface.js +2 -1
- package/dist/esm/interfaces/tokenInterface.js +2 -1
- package/dist/esm/interfaces/tripInterface.js +2 -1
- package/dist/esm/interfaces/typeManagementInterface.js +2 -1
- package/dist/esm/interfaces/uniqueNumberCounterInterface.js +2 -1
- package/dist/esm/interfaces/userBookAssessmentInterface.js +2 -1
- package/dist/esm/interfaces/userDetailsInterface.js +2 -1
- package/dist/esm/interfaces/userFeeTypeByAccountInterface.js +2 -1
- package/dist/esm/interfaces/userFeeTypeInterface.js +2 -1
- package/dist/esm/interfaces/userHasAnnouncementInterface.js +2 -1
- package/dist/esm/interfaces/userHasBatchInterface.js +2 -1
- package/dist/esm/interfaces/userHasCourseInterface.js +2 -1
- package/dist/esm/interfaces/userHasDeviceInterface.js +2 -1
- package/dist/esm/interfaces/userHasFeeTermsInterface.js +2 -1
- package/dist/esm/interfaces/userHasFileInterface.js +2 -1
- package/dist/esm/interfaces/userHasHomeWorkInterface.js +2 -1
- package/dist/esm/interfaces/userHasInventoryHistoryInterface.js +2 -1
- package/dist/esm/interfaces/userHasInventoryInterface.js +2 -1
- package/dist/esm/interfaces/userHasLeaveHistoryInterface.js +2 -1
- package/dist/esm/interfaces/userHasLeaveInterface.js +2 -1
- package/dist/esm/interfaces/userHasOfferInterface.js +2 -1
- package/dist/esm/interfaces/userHasParentInterface.js +2 -1
- package/dist/esm/interfaces/userHasRoleInterface.js +2 -1
- package/dist/esm/interfaces/userHasRollNumberInterface.js +2 -1
- package/dist/esm/interfaces/userHasStorageInterface.js +2 -1
- package/dist/esm/interfaces/userHasSubjectFeeInterface.js +2 -1
- package/dist/esm/interfaces/userInstituteMetaInterface.js +2 -1
- package/dist/esm/interfaces/userInterface.js +2 -1
- package/dist/esm/interfaces/userLeaveRequestInterface.js +2 -1
- package/dist/esm/interfaces/userMetaInterface.js +2 -1
- package/dist/esm/interfaces/userPayoutDetailsInterface.js +2 -1
- package/dist/esm/interfaces/userPayoutHistoryInterface.js +2 -1
- package/dist/esm/interfaces/userPayoutInterface.js +2 -1
- package/dist/esm/interfaces/userProjectAssessmentOptionInterface.js +2 -1
- package/dist/esm/interfaces/userRequiredStepsInterface.js +2 -1
- package/dist/esm/interfaces/userSchoolMetaInterface.js +2 -1
- package/dist/esm/interfaces/vehicleInterface.js +2 -1
- package/dist/esm/interfaces/vendorManagementInterface.js +2 -1
- package/dist/esm/interfaces/videoAnalystInterface.js +2 -1
- package/dist/esm/interfaces/walletHistoryInterface.js +2 -1
- package/dist/esm/interfaces/walletInterface.js +2 -1
- package/dist/esm/interfaces/walletTransactionInterface.js +2 -1
- package/dist/esm/interfaces/workingDayInterface.js +2 -1
- package/dist/esm/interfaces/workingShiftInterface.js +2 -1
- package/dist/esm/models/mongodb/approvalRequestModel.js +43 -8
- package/dist/esm/models/mongodb/attendanceModel.js +68 -30
- package/dist/esm/models/mongodb/blogModel.js +46 -11
- package/dist/esm/models/mongodb/careerModel.js +42 -7
- package/dist/esm/models/mongodb/certificatesHistoryModel.js +39 -4
- package/dist/esm/models/mongodb/certificatesManagementModel.js +42 -7
- package/dist/esm/models/mongodb/columnModel.js +45 -10
- package/dist/esm/models/mongodb/dailyBookModel.js +39 -4
- package/dist/esm/models/mongodb/dashboardManagementModel.js +46 -11
- package/dist/esm/models/mongodb/eventModel.js +58 -20
- package/dist/esm/models/mongodb/examGroupModel.js +69 -31
- package/dist/esm/models/mongodb/examHasAnswerSheetModel.js +56 -18
- package/dist/esm/models/mongodb/examModel.js +76 -38
- package/dist/esm/models/mongodb/feeReminderTypeModel.js +42 -7
- package/dist/esm/models/mongodb/feedBackModel.js +43 -8
- package/dist/esm/models/mongodb/generateIdCardModel.js +39 -4
- package/dist/esm/models/mongodb/holidayModel.js +58 -20
- package/dist/esm/models/mongodb/index.js +16 -11
- package/dist/esm/models/mongodb/informationSupportModel.js +42 -7
- package/dist/esm/models/mongodb/inquiryModel.js +67 -29
- package/dist/esm/models/mongodb/invoiceModel.js +48 -13
- package/dist/esm/models/mongodb/jobApplyModel.js +49 -14
- package/dist/esm/models/mongodb/photosGalleryModel.js +46 -11
- package/dist/esm/models/mongodb/plannerModel.js +45 -10
- package/dist/esm/models/mongodb/plugin/addDefaultAttributesPlugin.js +4 -1
- package/dist/esm/models/mongodb/plugin/transformIdInQueryPlugin.js +3 -1
- package/dist/esm/models/mongodb/plugin/transformIdInResponsePlugin.js +8 -3
- package/dist/esm/models/mongodb/replaceTeacherModel.js +46 -11
- package/dist/esm/models/mongodb/schoolFeeModel.js +56 -18
- package/dist/esm/models/mongodb/subjectIndexModel.js +145 -107
- package/dist/esm/models/mongodb/subscriptionPlanModel.js +47 -12
- package/dist/esm/models/mongodb/taskManagementModel.js +56 -18
- package/dist/esm/models/mongodb/uniqueNumberCounterModel.js +42 -7
- package/dist/esm/models/mongodb/userDetailsModel.js +68 -32
- package/dist/esm/models/mongodb/userDoc.js +6 -3
- package/dist/esm/models/mongodb/userInstituteMetaModel.js +54 -19
- package/dist/esm/models/mongodb/userSchoolMetaModel.js +46 -41
- package/dist/esm/models/mongodb/videoAnalystModel.js +40 -5
- package/dist/esm/models/mongodb/walletTransactionModel.js +56 -21
- package/dist/esm/models/psql/SubCategoriesModel.js +28 -23
- package/dist/esm/models/psql/academicCalendarModel.js +26 -21
- package/dist/esm/models/psql/accountHasReceiptDetailsModel.js +38 -33
- package/dist/esm/models/psql/announcementModel.js +58 -53
- package/dist/esm/models/psql/areaModel.js +17 -12
- package/dist/esm/models/psql/bankAccountDetailsModel.js +35 -30
- package/dist/esm/models/psql/bannerModel.js +40 -35
- package/dist/esm/models/psql/batchModel.js +53 -48
- package/dist/esm/models/psql/batchSubjectBookAssessmentModel.js +35 -30
- package/dist/esm/models/psql/batchSubjectProjectAssessmentModel.js +35 -30
- package/dist/esm/models/psql/bookAssessmentDateModel.js +25 -20
- package/dist/esm/models/psql/categoriesModel.js +24 -19
- package/dist/esm/models/psql/cityModel.js +21 -16
- package/dist/esm/models/psql/classRoomModel.js +36 -31
- package/dist/esm/models/psql/cloudStorageModel.js +30 -25
- package/dist/esm/models/psql/coinPurchaseOfferModel.js +31 -26
- package/dist/esm/models/psql/contactFeedBackModel.js +34 -29
- package/dist/esm/models/psql/countryModel.js +13 -11
- package/dist/esm/models/psql/courseHasVisitorsModel.js +22 -17
- package/dist/esm/models/psql/courseModel.js +41 -36
- package/dist/esm/models/psql/driverModel.js +51 -46
- package/dist/esm/models/psql/entityGroupModel.js +29 -24
- package/dist/esm/models/psql/facilityModel.js +34 -29
- package/dist/esm/models/psql/featureActionModel.js +28 -23
- package/dist/esm/models/psql/feeHistoryDetailsModel.js +45 -40
- package/dist/esm/models/psql/feeHistoryModel.js +78 -73
- package/dist/esm/models/psql/feeReminderModel.js +63 -58
- package/dist/esm/models/psql/feeReminderSettingModel.js +27 -22
- package/dist/esm/models/psql/feeTypeHasTermsModel.js +31 -26
- package/dist/esm/models/psql/feeTypeModel.js +42 -37
- package/dist/esm/models/psql/feesCollectionModel.js +55 -50
- package/dist/esm/models/psql/fileStorageModel.js +26 -21
- package/dist/esm/models/psql/floorManagementModel.js +25 -20
- package/dist/esm/models/psql/greetingsModel.js +34 -29
- package/dist/esm/models/psql/homeWorkModel.js +36 -31
- package/dist/esm/models/psql/index.js +15 -7
- package/dist/esm/models/psql/instituteEntityModel.js +34 -29
- package/dist/esm/models/psql/instituteEntityTypeModel.js +25 -20
- package/dist/esm/models/psql/instituteModel.js +70 -65
- package/dist/esm/models/psql/instituteSubscriptionPlanModel.js +42 -37
- package/dist/esm/models/psql/inventoryHistoryModel.js +42 -37
- package/dist/esm/models/psql/inventoryModel.js +36 -31
- package/dist/esm/models/psql/lectureHistoryModel.js +62 -57
- package/dist/esm/models/psql/lectureModel.js +111 -106
- package/dist/esm/models/psql/masterLeaveModel.js +41 -36
- package/dist/esm/models/psql/moduleFeatureModel.js +29 -24
- package/dist/esm/models/psql/moduleModel.js +30 -25
- package/dist/esm/models/psql/offerModel.js +39 -34
- package/dist/esm/models/psql/paymentTermsModel.js +35 -30
- package/dist/esm/models/psql/pdcChequeModel.js +40 -35
- package/dist/esm/models/psql/pdcHistoryModel.js +44 -39
- package/dist/esm/models/psql/pincodeModel.js +28 -23
- package/dist/esm/models/psql/productModel.js +32 -27
- package/dist/esm/models/psql/projectAssessmentOptionModel.js +23 -18
- package/dist/esm/models/psql/roleModel.js +26 -21
- package/dist/esm/models/psql/rulesRegulationModel.js +23 -18
- package/dist/esm/models/psql/schoolFeeCollectionModel.js +34 -29
- package/dist/esm/models/psql/schoolOfferModel.js +43 -38
- package/dist/esm/models/psql/sendNotificationModel.js +32 -27
- package/dist/esm/models/psql/slotModel.js +27 -22
- package/dist/esm/models/psql/stateModel.js +18 -13
- package/dist/esm/models/psql/subjectHasFeeModel.js +25 -20
- package/dist/esm/models/psql/subjectHasPayFeeHistoryModel.js +32 -27
- package/dist/esm/models/psql/syllabusModel.js +31 -26
- package/dist/esm/models/psql/testimonialModel.js +52 -47
- package/dist/esm/models/psql/toDoModel.js +35 -30
- package/dist/esm/models/psql/tokenModel.js +12 -10
- package/dist/esm/models/psql/tripModel.js +34 -29
- package/dist/esm/models/psql/typeManagementModel.js +32 -27
- package/dist/esm/models/psql/userBookAssessmentModel.js +34 -29
- package/dist/esm/models/psql/userFeeTypeByAccountModel.js +41 -36
- package/dist/esm/models/psql/userFeeTypeModel.js +44 -39
- package/dist/esm/models/psql/userHasAnnouncementModel.js +31 -26
- package/dist/esm/models/psql/userHasBatchModel.js +24 -19
- package/dist/esm/models/psql/userHasCourseModel.js +35 -30
- package/dist/esm/models/psql/userHasDeviceModel.js +26 -21
- package/dist/esm/models/psql/userHasFeeTermsModel.js +45 -40
- package/dist/esm/models/psql/userHasFileModel.js +29 -24
- package/dist/esm/models/psql/userHasHomeWorkModel.js +36 -31
- package/dist/esm/models/psql/userHasInventoryHistoryModel.js +41 -36
- package/dist/esm/models/psql/userHasInventoryModel.js +45 -40
- package/dist/esm/models/psql/userHasLeaveHistoryModel.js +41 -36
- package/dist/esm/models/psql/userHasLeaveModel.js +34 -29
- package/dist/esm/models/psql/userHasOfferModel.js +36 -31
- package/dist/esm/models/psql/userHasParentModel.js +31 -26
- package/dist/esm/models/psql/userHasRoleModel.js +27 -22
- package/dist/esm/models/psql/userHasRollNumberModel.js +28 -23
- package/dist/esm/models/psql/userHasStorageModel.js +27 -22
- package/dist/esm/models/psql/userHasSubjectFeeModel.js +27 -22
- package/dist/esm/models/psql/userLeaveRequestModel.js +43 -38
- package/dist/esm/models/psql/userModel.js +92 -87
- package/dist/esm/models/psql/userPayoutDetailsModel.js +41 -36
- package/dist/esm/models/psql/userPayoutHistoryModel.js +40 -35
- package/dist/esm/models/psql/userPayoutModel.js +63 -58
- package/dist/esm/models/psql/userProjectAssessmentOptionModel.js +31 -26
- package/dist/esm/models/psql/userRequiredStepsModel.js +22 -17
- package/dist/esm/models/psql/vehicleModel.js +30 -25
- package/dist/esm/models/psql/vendorManagementModel.js +44 -39
- package/dist/esm/models/psql/walletHistoryModel.js +34 -28
- package/dist/esm/models/psql/walletModel.js +25 -20
- package/dist/esm/models/psql/workingDayModel.js +24 -19
- package/dist/esm/models/psql/workingShiftModel.js +34 -29
- package/dist/esm/services/Concrete/mongooseCommonService.js +9 -5
- package/dist/esm/services/Concrete/sequelizeCommonService.js +9 -6
- package/dist/esm/services/Contracts/IMongooseCommonService.js +2 -1
- package/dist/esm/services/Contracts/ISequelizeCommonService.js +2 -1
- package/dist/esm/types/academicCalendarType.js +2 -1
- package/dist/esm/types/accountHasReceiptDetailsType.js +2 -1
- package/dist/esm/types/announcementType.js +2 -1
- package/dist/esm/types/approveRequestType.js +2 -1
- package/dist/esm/types/areaType.js +2 -1
- package/dist/esm/types/attendanceType.js +2 -1
- package/dist/esm/types/bankAccountDetailsType.js +2 -1
- package/dist/esm/types/bannerType.js +2 -1
- package/dist/esm/types/batchSubjectBookAssessmentType.js +2 -1
- package/dist/esm/types/batchSubjectProjectAssessmentType.js +2 -1
- package/dist/esm/types/batchType.js +2 -1
- package/dist/esm/types/blogType.js +2 -1
- package/dist/esm/types/bookAssessmentDateType.js +2 -1
- package/dist/esm/types/careerType.js +2 -1
- package/dist/esm/types/categoriesType.js +2 -1
- package/dist/esm/types/certificatesHistoryType.js +2 -1
- package/dist/esm/types/certificatesManagementType.js +2 -1
- package/dist/esm/types/classRoomType.js +2 -1
- package/dist/esm/types/cloudStorageType.js +2 -1
- package/dist/esm/types/coinPurchaseOfferType.js +2 -1
- package/dist/esm/types/commonType.js +2 -1
- package/dist/esm/types/contactFeedBackType.js +2 -1
- package/dist/esm/types/courseHasVisitorsType.js +2 -1
- package/dist/esm/types/courseType.js +2 -1
- package/dist/esm/types/dailyBookType.js +2 -1
- package/dist/esm/types/dashboardManagementType.js +2 -1
- package/dist/esm/types/driverType.js +2 -1
- package/dist/esm/types/entityGroupType.js +2 -1
- package/dist/esm/types/eventType.js +2 -1
- package/dist/esm/types/examGroupType.js +2 -1
- package/dist/esm/types/examHasAnswerSheetType.js +2 -1
- package/dist/esm/types/examType.js +2 -1
- package/dist/esm/types/facilityType.js +2 -1
- package/dist/esm/types/featureActionType.js +2 -1
- package/dist/esm/types/feeHistoryDetailsType.js +2 -1
- package/dist/esm/types/feeHistoryType.js +2 -1
- package/dist/esm/types/feeReminderSettingType.js +2 -1
- package/dist/esm/types/feeReminderType.js +2 -1
- package/dist/esm/types/feeReminderTypeType.js +2 -1
- package/dist/esm/types/feeTypeHasTermsType.js +2 -1
- package/dist/esm/types/feeTypeType.js +2 -1
- package/dist/esm/types/feedBackType.js +2 -1
- package/dist/esm/types/feesCollectionType.js +2 -1
- package/dist/esm/types/fileStorageType.js +2 -1
- package/dist/esm/types/floormanagementType.js +2 -1
- package/dist/esm/types/generateIdCardType.js +2 -1
- package/dist/esm/types/greetingsType.js +2 -1
- package/dist/esm/types/holidayType.js +2 -1
- package/dist/esm/types/homeWorkType.js +2 -1
- package/dist/esm/types/informationSupportType.js +2 -1
- package/dist/esm/types/inquiryType.js +2 -1
- package/dist/esm/types/instituteEntityType.js +2 -1
- package/dist/esm/types/instituteEntityTypeType.js +2 -1
- package/dist/esm/types/instituteSubscriptionPlanType.js +2 -1
- package/dist/esm/types/instituteType.js +2 -1
- package/dist/esm/types/inventoryHistoryType.js +2 -1
- package/dist/esm/types/inventoryType.js +2 -1
- package/dist/esm/types/jobApply.js +2 -1
- package/dist/esm/types/lectureHistoryType.js +2 -1
- package/dist/esm/types/lectureType.js +2 -1
- package/dist/esm/types/masterLeaveType.js +2 -1
- package/dist/esm/types/moduleFeatureType.js +2 -1
- package/dist/esm/types/moduleType.js +2 -1
- package/dist/esm/types/offerType.js +2 -1
- package/dist/esm/types/paymentTermsType.js +2 -1
- package/dist/esm/types/pdcChequeType.js +2 -1
- package/dist/esm/types/pdcHistoryType.js +2 -1
- package/dist/esm/types/photosGalleryType.js +2 -1
- package/dist/esm/types/plannerType.js +2 -1
- package/dist/esm/types/productType.js +2 -1
- package/dist/esm/types/projectAssessmentOptionType.js +2 -1
- package/dist/esm/types/roleType.js +2 -1
- package/dist/esm/types/rulesRegulationType.js +2 -1
- package/dist/esm/types/schoolFeeCollectionType.js +2 -1
- package/dist/esm/types/schoolFeeType.js +2 -1
- package/dist/esm/types/schoolOfferType.js +2 -1
- package/dist/esm/types/sendNotificationType.js +2 -1
- package/dist/esm/types/slotType.js +2 -1
- package/dist/esm/types/subCategoryType.js +2 -1
- package/dist/esm/types/subjectHasFeeType.js +2 -1
- package/dist/esm/types/subjectHasPayFeeHistoryType.js +2 -1
- package/dist/esm/types/subjectIndexType.js +2 -1
- package/dist/esm/types/subscriptionPlanType.js +2 -1
- package/dist/esm/types/syllabusType.js +2 -1
- package/dist/esm/types/taskManagementType.js +2 -1
- package/dist/esm/types/testimonialType.js +2 -1
- package/dist/esm/types/toDoType.js +2 -1
- package/dist/esm/types/tripType.js +2 -1
- package/dist/esm/types/typeManagementType.js +2 -1
- package/dist/esm/types/uniqueNumberCounterType.js +2 -1
- package/dist/esm/types/userBookAssessmentType.js +2 -1
- package/dist/esm/types/userDetailsType.js +2 -1
- package/dist/esm/types/userFeeTypeByAccountType.js +2 -1
- package/dist/esm/types/userFeeTypeType.js +2 -1
- package/dist/esm/types/userHasAnnouncementType.js +2 -1
- package/dist/esm/types/userHasBatchType.js +2 -1
- package/dist/esm/types/userHasCourseType.js +2 -1
- package/dist/esm/types/userHasDeviceType.js +2 -1
- package/dist/esm/types/userHasFeeTermsType.js +2 -1
- package/dist/esm/types/userHasFileType.js +2 -1
- package/dist/esm/types/userHasHomeWorkType.js +2 -1
- package/dist/esm/types/userHasInventoryHistoryType.js +2 -1
- package/dist/esm/types/userHasInventoryType.js +2 -1
- package/dist/esm/types/userHasLeaveHistoryType.js +2 -1
- package/dist/esm/types/userHasLeaveType.js +2 -1
- package/dist/esm/types/userHasOffer.js +2 -1
- package/dist/esm/types/userHasParentType.js +2 -1
- package/dist/esm/types/userHasRoleType.js +2 -1
- package/dist/esm/types/userHasRollNumberType.js +2 -1
- package/dist/esm/types/userHasStorageType.js +2 -1
- package/dist/esm/types/userHasSubjectFeeType.js +2 -1
- package/dist/esm/types/userInstituteMetaType.js +2 -1
- package/dist/esm/types/userLeaveRequestType.js +2 -1
- package/dist/esm/types/userMetaType.js +2 -1
- package/dist/esm/types/userPayoutDetailsType.js +2 -1
- package/dist/esm/types/userPayoutHistoryType.js +2 -1
- package/dist/esm/types/userPayoutType.js +2 -1
- package/dist/esm/types/userProjectAssessmentOptionType.js +2 -1
- package/dist/esm/types/userRequiredStepsType.js +2 -1
- package/dist/esm/types/userSchoolMetaType.js +2 -1
- package/dist/esm/types/userType.js +2 -1
- package/dist/esm/types/vehicleType.js +2 -1
- package/dist/esm/types/vendorType.js +2 -1
- package/dist/esm/types/videoAnalystType.js +2 -1
- package/dist/esm/types/walletHistoryType.js +2 -1
- package/dist/esm/types/walletTransactionType.js +2 -1
- package/dist/esm/types/walletType.js +2 -1
- package/dist/esm/types/workingDayType.js +2 -1
- package/dist/esm/types/workingShiftType.js +2 -1
- package/package.json +7 -5
|
@@ -1,128 +1,133 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const sequelize_1 = require("sequelize");
|
|
7
|
+
const index_js_1 = require("./index.js");
|
|
8
|
+
const app_js_1 = require("../../constants/app.js");
|
|
9
|
+
const userModel_js_1 = __importDefault(require("./userModel.js"));
|
|
10
|
+
const instituteModel_js_1 = __importDefault(require("./instituteModel.js"));
|
|
11
|
+
const typeManagementModel_js_1 = __importDefault(require("./typeManagementModel.js"));
|
|
12
|
+
const workingDayModel_js_1 = __importDefault(require("./workingDayModel.js"));
|
|
13
|
+
const classRoomModel_js_1 = __importDefault(require("./classRoomModel.js"));
|
|
14
|
+
const errorMessages_js_1 = require("../../constants/errorMessages.js");
|
|
15
|
+
const batchModel_js_1 = __importDefault(require("./batchModel.js"));
|
|
16
|
+
const utils_js_1 = require("../../helpers/utils.js");
|
|
17
|
+
const instituteEntityModel_js_1 = __importDefault(require("./instituteEntityModel.js"));
|
|
18
|
+
const slotModel_js_1 = __importDefault(require("./slotModel.js"));
|
|
19
|
+
const workingShiftModel_js_1 = __importDefault(require("./workingShiftModel.js"));
|
|
20
|
+
const userHasBatchModel_js_1 = __importDefault(require("./userHasBatchModel.js"));
|
|
21
|
+
const userInstituteMetaModel_js_1 = __importDefault(require("../mongodb/userInstituteMetaModel.js"));
|
|
22
|
+
class LectureModel extends sequelize_1.Model {
|
|
18
23
|
}
|
|
19
24
|
LectureModel.init({
|
|
20
25
|
id: {
|
|
21
|
-
type: DataTypes.UUID,
|
|
22
|
-
defaultValue: DataTypes.UUIDV4,
|
|
26
|
+
type: sequelize_1.DataTypes.UUID,
|
|
27
|
+
defaultValue: sequelize_1.DataTypes.UUIDV4,
|
|
23
28
|
allowNull: false,
|
|
24
29
|
primaryKey: true,
|
|
25
30
|
},
|
|
26
31
|
title: {
|
|
27
|
-
type: DataTypes.STRING,
|
|
32
|
+
type: sequelize_1.DataTypes.STRING,
|
|
28
33
|
allowNull: true,
|
|
29
|
-
defaultValue: LECTURE_TITLE.LECTURE,
|
|
34
|
+
defaultValue: app_js_1.LECTURE_TITLE.LECTURE,
|
|
30
35
|
},
|
|
31
36
|
descriptions: {
|
|
32
|
-
type: DataTypes.STRING,
|
|
37
|
+
type: sequelize_1.DataTypes.STRING,
|
|
33
38
|
allowNull: true,
|
|
34
39
|
},
|
|
35
40
|
type: {
|
|
36
|
-
type: DataTypes.UUID,
|
|
41
|
+
type: sequelize_1.DataTypes.UUID,
|
|
37
42
|
allowNull: true,
|
|
38
43
|
},
|
|
39
44
|
slotDuration: {
|
|
40
|
-
type: DataTypes.INTEGER,
|
|
45
|
+
type: sequelize_1.DataTypes.INTEGER,
|
|
41
46
|
field: 'slot_duration',
|
|
42
47
|
allowNull: false,
|
|
43
48
|
},
|
|
44
49
|
subject: {
|
|
45
|
-
type: DataTypes.UUID,
|
|
50
|
+
type: sequelize_1.DataTypes.UUID,
|
|
46
51
|
allowNull: true,
|
|
47
52
|
},
|
|
48
53
|
startTime: {
|
|
49
|
-
type: DataTypes.DATE,
|
|
54
|
+
type: sequelize_1.DataTypes.DATE,
|
|
50
55
|
field: 'start_time',
|
|
51
56
|
allowNull: false,
|
|
52
57
|
},
|
|
53
58
|
endTime: {
|
|
54
|
-
type: DataTypes.DATE,
|
|
59
|
+
type: sequelize_1.DataTypes.DATE,
|
|
55
60
|
field: 'end_time',
|
|
56
61
|
allowNull: false,
|
|
57
62
|
},
|
|
58
63
|
instituteId: {
|
|
59
|
-
type: DataTypes.UUID,
|
|
64
|
+
type: sequelize_1.DataTypes.UUID,
|
|
60
65
|
field: 'institute_id',
|
|
61
66
|
allowNull: true,
|
|
62
67
|
},
|
|
63
68
|
classRoomId: {
|
|
64
|
-
type: DataTypes.UUID,
|
|
69
|
+
type: sequelize_1.DataTypes.UUID,
|
|
65
70
|
field: 'class_room_id',
|
|
66
71
|
allowNull: true,
|
|
67
72
|
},
|
|
68
73
|
groupId: {
|
|
69
|
-
type: DataTypes.UUID,
|
|
74
|
+
type: sequelize_1.DataTypes.UUID,
|
|
70
75
|
field: 'group_id',
|
|
71
76
|
allowNull: true,
|
|
72
77
|
},
|
|
73
78
|
primaryUserId: {
|
|
74
|
-
type: DataTypes.UUID,
|
|
79
|
+
type: sequelize_1.DataTypes.UUID,
|
|
75
80
|
field: 'primary_user_id',
|
|
76
81
|
allowNull: true,
|
|
77
82
|
},
|
|
78
83
|
secondaryUserId: {
|
|
79
|
-
type: DataTypes.UUID,
|
|
84
|
+
type: sequelize_1.DataTypes.UUID,
|
|
80
85
|
field: 'secondary_user_id',
|
|
81
86
|
allowNull: true,
|
|
82
87
|
},
|
|
83
88
|
workingDayId: {
|
|
84
|
-
type: DataTypes.UUID,
|
|
89
|
+
type: sequelize_1.DataTypes.UUID,
|
|
85
90
|
field: 'working_day_id',
|
|
86
91
|
allowNull: false,
|
|
87
92
|
},
|
|
88
93
|
batchId: {
|
|
89
|
-
type: DataTypes.UUID,
|
|
94
|
+
type: sequelize_1.DataTypes.UUID,
|
|
90
95
|
field: 'batch_id',
|
|
91
96
|
allowNull: true,
|
|
92
97
|
},
|
|
93
98
|
status: {
|
|
94
|
-
type: DataTypes.ENUM,
|
|
99
|
+
type: sequelize_1.DataTypes.ENUM,
|
|
95
100
|
allowNull: false,
|
|
96
|
-
values: Object.values(LECTURE_STATUS),
|
|
97
|
-
defaultValue: LECTURE_STATUS.NOT_STARTED,
|
|
101
|
+
values: Object.values(app_js_1.LECTURE_STATUS),
|
|
102
|
+
defaultValue: app_js_1.LECTURE_STATUS.NOT_STARTED,
|
|
98
103
|
},
|
|
99
104
|
checkedInAt: {
|
|
100
|
-
type: DataTypes.DATE,
|
|
105
|
+
type: sequelize_1.DataTypes.DATE,
|
|
101
106
|
field: 'checked_in_at',
|
|
102
107
|
allowNull: true,
|
|
103
108
|
},
|
|
104
109
|
checkedOutAt: {
|
|
105
|
-
type: DataTypes.DATE,
|
|
110
|
+
type: sequelize_1.DataTypes.DATE,
|
|
106
111
|
field: 'checked_out_at',
|
|
107
112
|
allowNull: true,
|
|
108
113
|
},
|
|
109
114
|
color: {
|
|
110
|
-
type: DataTypes.STRING,
|
|
115
|
+
type: sequelize_1.DataTypes.STRING,
|
|
111
116
|
allowNull: true,
|
|
112
117
|
},
|
|
113
118
|
plannerSyncStatus: {
|
|
114
|
-
type: DataTypes.STRING,
|
|
119
|
+
type: sequelize_1.DataTypes.STRING,
|
|
115
120
|
field: 'planner_sync_status',
|
|
116
121
|
allowNull: true,
|
|
117
|
-
defaultValue: PLANNER_SYNC_STATUS.PENDING,
|
|
122
|
+
defaultValue: app_js_1.PLANNER_SYNC_STATUS.PENDING,
|
|
118
123
|
},
|
|
119
124
|
shiftId: {
|
|
120
|
-
type: DataTypes.UUID,
|
|
125
|
+
type: sequelize_1.DataTypes.UUID,
|
|
121
126
|
field: 'shift_id',
|
|
122
127
|
allowNull: true,
|
|
123
128
|
},
|
|
124
129
|
slotId: {
|
|
125
|
-
type: DataTypes.UUID,
|
|
130
|
+
type: sequelize_1.DataTypes.UUID,
|
|
126
131
|
field: 'slot_id',
|
|
127
132
|
allowNull: true,
|
|
128
133
|
},
|
|
@@ -130,10 +135,10 @@ LectureModel.init({
|
|
|
130
135
|
modelName: 'LectureModel',
|
|
131
136
|
tableName: 'lectures',
|
|
132
137
|
timestamps: true,
|
|
133
|
-
sequelize,
|
|
138
|
+
sequelize: index_js_1.sequelize,
|
|
134
139
|
});
|
|
135
140
|
// Associations
|
|
136
|
-
LectureModel.belongsTo(
|
|
141
|
+
LectureModel.belongsTo(userModel_js_1.default, {
|
|
137
142
|
foreignKey: {
|
|
138
143
|
name: 'createdBy',
|
|
139
144
|
allowNull: true,
|
|
@@ -141,7 +146,7 @@ LectureModel.belongsTo(UserModel, {
|
|
|
141
146
|
},
|
|
142
147
|
as: 'createdByUser',
|
|
143
148
|
});
|
|
144
|
-
LectureModel.belongsTo(
|
|
149
|
+
LectureModel.belongsTo(userModel_js_1.default, {
|
|
145
150
|
foreignKey: {
|
|
146
151
|
name: 'updatedBy',
|
|
147
152
|
allowNull: true,
|
|
@@ -149,7 +154,7 @@ LectureModel.belongsTo(UserModel, {
|
|
|
149
154
|
},
|
|
150
155
|
as: 'updatedByUser',
|
|
151
156
|
});
|
|
152
|
-
LectureModel.belongsTo(
|
|
157
|
+
LectureModel.belongsTo(userModel_js_1.default, {
|
|
153
158
|
foreignKey: {
|
|
154
159
|
name: 'deletedBy',
|
|
155
160
|
allowNull: true,
|
|
@@ -157,43 +162,43 @@ LectureModel.belongsTo(UserModel, {
|
|
|
157
162
|
},
|
|
158
163
|
as: 'deletedByUser',
|
|
159
164
|
});
|
|
160
|
-
LectureModel.belongsTo(
|
|
165
|
+
LectureModel.belongsTo(typeManagementModel_js_1.default, {
|
|
161
166
|
foreignKey: 'type',
|
|
162
167
|
as: 'lectureType',
|
|
163
168
|
});
|
|
164
|
-
LectureModel.belongsTo(
|
|
169
|
+
LectureModel.belongsTo(instituteModel_js_1.default, {
|
|
165
170
|
foreignKey: 'instituteId',
|
|
166
171
|
as: 'institute',
|
|
167
172
|
});
|
|
168
|
-
|
|
173
|
+
instituteModel_js_1.default.hasMany(LectureModel, {
|
|
169
174
|
foreignKey: 'instituteId',
|
|
170
175
|
as: 'instituteHasLectures',
|
|
171
176
|
});
|
|
172
|
-
LectureModel.belongsTo(
|
|
177
|
+
LectureModel.belongsTo(workingDayModel_js_1.default, {
|
|
173
178
|
foreignKey: 'workingDayId',
|
|
174
179
|
as: 'workingDay',
|
|
175
180
|
});
|
|
176
|
-
|
|
181
|
+
workingDayModel_js_1.default.hasMany(LectureModel, {
|
|
177
182
|
foreignKey: 'workingDayId',
|
|
178
183
|
as: 'workingDayHasLectures',
|
|
179
184
|
});
|
|
180
|
-
LectureModel.belongsTo(
|
|
185
|
+
LectureModel.belongsTo(slotModel_js_1.default, {
|
|
181
186
|
foreignKey: 'slotId',
|
|
182
187
|
as: 'lectureSlot',
|
|
183
188
|
});
|
|
184
|
-
|
|
189
|
+
slotModel_js_1.default.hasMany(LectureModel, {
|
|
185
190
|
foreignKey: 'slotId',
|
|
186
191
|
as: 'slotLectureList',
|
|
187
192
|
});
|
|
188
|
-
LectureModel.belongsTo(
|
|
193
|
+
LectureModel.belongsTo(workingShiftModel_js_1.default, {
|
|
189
194
|
foreignKey: 'shiftId',
|
|
190
195
|
as: 'lectureShift',
|
|
191
196
|
});
|
|
192
|
-
|
|
197
|
+
workingShiftModel_js_1.default.hasMany(LectureModel, {
|
|
193
198
|
foreignKey: 'shiftId',
|
|
194
199
|
as: 'shiftLectureList',
|
|
195
200
|
});
|
|
196
|
-
LectureModel.belongsTo(
|
|
201
|
+
LectureModel.belongsTo(userModel_js_1.default, {
|
|
197
202
|
foreignKey: {
|
|
198
203
|
name: 'primaryUserId',
|
|
199
204
|
field: 'primary_user_id',
|
|
@@ -201,7 +206,7 @@ LectureModel.belongsTo(UserModel, {
|
|
|
201
206
|
},
|
|
202
207
|
as: 'user',
|
|
203
208
|
});
|
|
204
|
-
|
|
209
|
+
userModel_js_1.default.hasMany(LectureModel, {
|
|
205
210
|
foreignKey: {
|
|
206
211
|
name: 'primaryUserId',
|
|
207
212
|
field: 'primary_user_id',
|
|
@@ -209,7 +214,7 @@ UserModel.hasMany(LectureModel, {
|
|
|
209
214
|
},
|
|
210
215
|
as: 'userHasLectures',
|
|
211
216
|
});
|
|
212
|
-
LectureModel.belongsTo(
|
|
217
|
+
LectureModel.belongsTo(userModel_js_1.default, {
|
|
213
218
|
foreignKey: {
|
|
214
219
|
name: 'secondaryUserId',
|
|
215
220
|
field: 'secondary_user_id',
|
|
@@ -217,7 +222,7 @@ LectureModel.belongsTo(UserModel, {
|
|
|
217
222
|
},
|
|
218
223
|
as: 'secondaryUser',
|
|
219
224
|
});
|
|
220
|
-
|
|
225
|
+
userModel_js_1.default.hasMany(LectureModel, {
|
|
221
226
|
foreignKey: {
|
|
222
227
|
name: 'secondaryUserId',
|
|
223
228
|
field: 'secondary_user_id',
|
|
@@ -225,27 +230,27 @@ UserModel.hasMany(LectureModel, {
|
|
|
225
230
|
},
|
|
226
231
|
as: 'secondaryUserHasLectures',
|
|
227
232
|
});
|
|
228
|
-
LectureModel.belongsTo(
|
|
233
|
+
LectureModel.belongsTo(classRoomModel_js_1.default, {
|
|
229
234
|
foreignKey: 'classRoomId',
|
|
230
235
|
as: 'classRoom',
|
|
231
236
|
});
|
|
232
|
-
|
|
237
|
+
classRoomModel_js_1.default.hasMany(LectureModel, {
|
|
233
238
|
foreignKey: 'classRoomId',
|
|
234
239
|
as: 'classRoomHasLectures',
|
|
235
240
|
});
|
|
236
|
-
LectureModel.belongsTo(
|
|
241
|
+
LectureModel.belongsTo(batchModel_js_1.default, {
|
|
237
242
|
foreignKey: 'batchId',
|
|
238
243
|
as: 'batch',
|
|
239
244
|
});
|
|
240
|
-
|
|
245
|
+
batchModel_js_1.default.hasMany(LectureModel, {
|
|
241
246
|
foreignKey: 'batchId',
|
|
242
247
|
as: 'batchHasLectures',
|
|
243
248
|
});
|
|
244
|
-
LectureModel.belongsTo(
|
|
249
|
+
LectureModel.belongsTo(instituteEntityModel_js_1.default, {
|
|
245
250
|
foreignKey: 'subject',
|
|
246
251
|
as: 'subjectDetails',
|
|
247
252
|
});
|
|
248
|
-
|
|
253
|
+
instituteEntityModel_js_1.default.hasMany(LectureModel, {
|
|
249
254
|
foreignKey: 'subject',
|
|
250
255
|
as: 'subjectHasLectures',
|
|
251
256
|
});
|
|
@@ -254,14 +259,14 @@ const beforeCreateOrUpdateHook = async (lecture, transaction = null) => {
|
|
|
254
259
|
if (transaction)
|
|
255
260
|
options.transaction = transaction;
|
|
256
261
|
if (lecture.instituteId) {
|
|
257
|
-
const institute = await
|
|
262
|
+
const institute = await instituteModel_js_1.default.findByPk(lecture.instituteId);
|
|
258
263
|
if (!institute) {
|
|
259
|
-
throw new Error(INSTITUTE_ERROR_MESSAGES.NOT_FOUND);
|
|
264
|
+
throw new Error(errorMessages_js_1.INSTITUTE_ERROR_MESSAGES.NOT_FOUND);
|
|
260
265
|
}
|
|
261
266
|
}
|
|
262
267
|
if (lecture.workingDayId) {
|
|
263
268
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
264
|
-
let workingDay = await
|
|
269
|
+
let workingDay = await workingDayModel_js_1.default.findOne({
|
|
265
270
|
where: { id: lecture.workingDayId },
|
|
266
271
|
include: [
|
|
267
272
|
{
|
|
@@ -272,58 +277,58 @@ const beforeCreateOrUpdateHook = async (lecture, transaction = null) => {
|
|
|
272
277
|
],
|
|
273
278
|
});
|
|
274
279
|
if (!workingDay) {
|
|
275
|
-
throw new Error(WORKING_DAYS_ERROR_MESSAGES.NOT_FOUND);
|
|
280
|
+
throw new Error(errorMessages_js_1.WORKING_DAYS_ERROR_MESSAGES.NOT_FOUND);
|
|
276
281
|
}
|
|
277
282
|
workingDay = JSON.parse(JSON.stringify(workingDay));
|
|
278
283
|
if (lecture.slotId) {
|
|
279
284
|
if (!workingDay.workingDayShift.length)
|
|
280
|
-
throw new Error(SCHOOL_SHIFT_ERROR_MESSAGES.NOT_FOUND);
|
|
285
|
+
throw new Error(errorMessages_js_1.SCHOOL_SHIFT_ERROR_MESSAGES.NOT_FOUND);
|
|
281
286
|
const validShift = workingDay.workingDayShift.find((shift) => shift.slotId === lecture.slotId);
|
|
282
287
|
if (!validShift) {
|
|
283
|
-
throw new Error(LECTURE_ERROR_MESSAGES.INVALID_SLOT_OR_SHIFT);
|
|
288
|
+
throw new Error(errorMessages_js_1.LECTURE_ERROR_MESSAGES.INVALID_SLOT_OR_SHIFT);
|
|
284
289
|
}
|
|
285
290
|
validShift.startTime = new Date(validShift.startTime);
|
|
286
291
|
validShift.endTime = new Date(validShift.endTime);
|
|
287
|
-
const isValidStartTime = isTimeWithinRange(lecture.startTime, validShift.startTime, validShift.endTime);
|
|
288
|
-
const isValidEndTime = isTimeWithinRange(lecture.endTime, validShift.startTime, validShift.endTime);
|
|
292
|
+
const isValidStartTime = (0, utils_js_1.isTimeWithinRange)(lecture.startTime, validShift.startTime, validShift.endTime);
|
|
293
|
+
const isValidEndTime = (0, utils_js_1.isTimeWithinRange)(lecture.endTime, validShift.startTime, validShift.endTime);
|
|
289
294
|
if (!isValidStartTime || !isValidEndTime) {
|
|
290
|
-
throw new Error(LECTURE_ERROR_MESSAGES.INVALID_LECTURE_TIME);
|
|
295
|
+
throw new Error(errorMessages_js_1.LECTURE_ERROR_MESSAGES.INVALID_LECTURE_TIME);
|
|
291
296
|
}
|
|
292
297
|
}
|
|
293
298
|
else {
|
|
294
299
|
workingDay.startTime = new Date(workingDay.startTime);
|
|
295
300
|
workingDay.endTime = new Date(workingDay.endTime);
|
|
296
|
-
const isValidStartTime = isTimeWithinRange(lecture.startTime, workingDay.startTime, workingDay.endTime);
|
|
297
|
-
const isValidEndTime = isTimeWithinRange(lecture.endTime, workingDay.startTime, workingDay.endTime);
|
|
301
|
+
const isValidStartTime = (0, utils_js_1.isTimeWithinRange)(lecture.startTime, workingDay.startTime, workingDay.endTime);
|
|
302
|
+
const isValidEndTime = (0, utils_js_1.isTimeWithinRange)(lecture.endTime, workingDay.startTime, workingDay.endTime);
|
|
298
303
|
if (!isValidStartTime || !isValidEndTime) {
|
|
299
|
-
throw new Error(LECTURE_ERROR_MESSAGES.INVALID_LECTURE_TIME);
|
|
304
|
+
throw new Error(errorMessages_js_1.LECTURE_ERROR_MESSAGES.INVALID_LECTURE_TIME);
|
|
300
305
|
}
|
|
301
306
|
}
|
|
302
307
|
}
|
|
303
308
|
// Validate the classRoomId
|
|
304
309
|
if (lecture.classRoomId) {
|
|
305
|
-
const classRoom = await
|
|
310
|
+
const classRoom = await classRoomModel_js_1.default.findByPk(lecture.classRoomId);
|
|
306
311
|
if (!classRoom) {
|
|
307
|
-
throw new Error(CLASSROOM_ERROR_MESSAGES.NOT_FOUND);
|
|
312
|
+
throw new Error(errorMessages_js_1.CLASSROOM_ERROR_MESSAGES.NOT_FOUND);
|
|
308
313
|
}
|
|
309
314
|
}
|
|
310
315
|
// Validate the primaryUserId
|
|
311
316
|
if (lecture.primaryUserId) {
|
|
312
317
|
if (!lecture.batchId)
|
|
313
|
-
throw new Error(BATCH_ERROR_MESSAGES.NOT_FOUND);
|
|
318
|
+
throw new Error(errorMessages_js_1.BATCH_ERROR_MESSAGES.NOT_FOUND);
|
|
314
319
|
const batchWhere = {
|
|
315
320
|
batchId: lecture.batchId,
|
|
316
321
|
userId: lecture.primaryUserId,
|
|
317
322
|
};
|
|
318
323
|
if (lecture.subject)
|
|
319
|
-
batchWhere.subjects = { [Op.overlap]: [lecture.subject] };
|
|
320
|
-
const user = await
|
|
324
|
+
batchWhere.subjects = { [sequelize_1.Op.overlap]: [lecture.subject] };
|
|
325
|
+
const user = await userHasBatchModel_js_1.default.findOne({
|
|
321
326
|
where: batchWhere,
|
|
322
327
|
...options,
|
|
323
|
-
include: [{ association: 'user', where: { type: USER_TYPES.TEACHER } }],
|
|
328
|
+
include: [{ association: 'user', where: { type: app_js_1.USER_TYPES.TEACHER } }],
|
|
324
329
|
});
|
|
325
330
|
if (!user) {
|
|
326
|
-
throw new Error(BATCH_ERROR_MESSAGES.INVALID_SELECTED);
|
|
331
|
+
throw new Error(errorMessages_js_1.BATCH_ERROR_MESSAGES.INVALID_SELECTED);
|
|
327
332
|
}
|
|
328
333
|
}
|
|
329
334
|
// Validate the secondaryUserId
|
|
@@ -341,22 +346,22 @@ const beforeCreateOrUpdateHook = async (lecture, transaction = null) => {
|
|
|
341
346
|
// }
|
|
342
347
|
if (lecture.workingDayId && lecture.startTime && lecture.endTime) {
|
|
343
348
|
let where = {
|
|
344
|
-
[Op.or]: [
|
|
349
|
+
[sequelize_1.Op.or]: [
|
|
345
350
|
{
|
|
346
|
-
[Op.and]: [{ startTime: { [Op.lte]: lecture.startTime } }, { endTime: { [Op.gt]: lecture.startTime } }],
|
|
351
|
+
[sequelize_1.Op.and]: [{ startTime: { [sequelize_1.Op.lte]: lecture.startTime } }, { endTime: { [sequelize_1.Op.gt]: lecture.startTime } }],
|
|
347
352
|
},
|
|
348
353
|
{
|
|
349
|
-
[Op.and]: [{ startTime: { [Op.lt]: lecture.endTime } }, { endTime: { [Op.gte]: lecture.endTime } }],
|
|
354
|
+
[sequelize_1.Op.and]: [{ startTime: { [sequelize_1.Op.lt]: lecture.endTime } }, { endTime: { [sequelize_1.Op.gte]: lecture.endTime } }],
|
|
350
355
|
},
|
|
351
356
|
{
|
|
352
|
-
[Op.and]: [{ startTime: { [Op.gte]: lecture.startTime } }, { endTime: { [Op.lte]: lecture.endTime } }],
|
|
357
|
+
[sequelize_1.Op.and]: [{ startTime: { [sequelize_1.Op.gte]: lecture.startTime } }, { endTime: { [sequelize_1.Op.lte]: lecture.endTime } }],
|
|
353
358
|
},
|
|
354
359
|
],
|
|
355
360
|
instituteId: lecture.instituteId,
|
|
356
361
|
workingDayId: lecture.workingDayId,
|
|
357
362
|
};
|
|
358
363
|
if (lecture.id)
|
|
359
|
-
where = { ...where, id: { [Op.ne]: lecture.id } };
|
|
364
|
+
where = { ...where, id: { [sequelize_1.Op.ne]: lecture.id } };
|
|
360
365
|
// if (lecture.batchId) where = { ...where, batchId: lecture.batchId };
|
|
361
366
|
// if (lecture.classRoomId) where = { ...where, classRoomId: lecture.classRoomId };
|
|
362
367
|
// const existLecture = await LectureModel.findOne({ where });
|
|
@@ -372,7 +377,7 @@ const beforeCreateOrUpdateHook = async (lecture, transaction = null) => {
|
|
|
372
377
|
...options,
|
|
373
378
|
});
|
|
374
379
|
if (batchConflict)
|
|
375
|
-
throw new Error(LECTURE_ERROR_MESSAGES.BATCH_OCCUPIED);
|
|
380
|
+
throw new Error(errorMessages_js_1.LECTURE_ERROR_MESSAGES.BATCH_OCCUPIED);
|
|
376
381
|
}
|
|
377
382
|
if (lecture.classRoomId) {
|
|
378
383
|
const classRoomConflict = await LectureModel.findOne({
|
|
@@ -383,7 +388,7 @@ const beforeCreateOrUpdateHook = async (lecture, transaction = null) => {
|
|
|
383
388
|
...options,
|
|
384
389
|
});
|
|
385
390
|
if (classRoomConflict)
|
|
386
|
-
throw new Error(LECTURE_ERROR_MESSAGES.CLASSROOM_OCCUPIED);
|
|
391
|
+
throw new Error(errorMessages_js_1.LECTURE_ERROR_MESSAGES.CLASSROOM_OCCUPIED);
|
|
387
392
|
}
|
|
388
393
|
if (lecture.primaryUserId) {
|
|
389
394
|
const teacherConflict = await LectureModel.findOne({
|
|
@@ -394,7 +399,7 @@ const beforeCreateOrUpdateHook = async (lecture, transaction = null) => {
|
|
|
394
399
|
...options,
|
|
395
400
|
});
|
|
396
401
|
if (teacherConflict)
|
|
397
|
-
throw new Error(LECTURE_ERROR_MESSAGES.TEACHER_OCCUPIED);
|
|
402
|
+
throw new Error(errorMessages_js_1.LECTURE_ERROR_MESSAGES.TEACHER_OCCUPIED);
|
|
398
403
|
}
|
|
399
404
|
if (lecture.secondaryUserId) {
|
|
400
405
|
const teacherConflict = await LectureModel.findOne({
|
|
@@ -405,7 +410,7 @@ const beforeCreateOrUpdateHook = async (lecture, transaction = null) => {
|
|
|
405
410
|
...options,
|
|
406
411
|
});
|
|
407
412
|
if (teacherConflict)
|
|
408
|
-
throw new Error(LECTURE_ERROR_MESSAGES.TEACHER_OCCUPIED);
|
|
413
|
+
throw new Error(errorMessages_js_1.LECTURE_ERROR_MESSAGES.TEACHER_OCCUPIED);
|
|
409
414
|
}
|
|
410
415
|
}
|
|
411
416
|
// Validate the batchId
|
|
@@ -415,42 +420,42 @@ const beforeCreateOrUpdateHook = async (lecture, transaction = null) => {
|
|
|
415
420
|
};
|
|
416
421
|
if (lecture.shiftId)
|
|
417
422
|
batchWhere.shiftId = lecture.shiftId;
|
|
418
|
-
const batch = await
|
|
423
|
+
const batch = await batchModel_js_1.default.findOne({ where: batchWhere, ...options });
|
|
419
424
|
if (!batch) {
|
|
420
|
-
throw new Error(BATCH_ERROR_MESSAGES.NOT_FOUND);
|
|
425
|
+
throw new Error(errorMessages_js_1.BATCH_ERROR_MESSAGES.NOT_FOUND);
|
|
421
426
|
}
|
|
422
427
|
}
|
|
423
428
|
// Validate the type
|
|
424
429
|
if (lecture.type) {
|
|
425
|
-
const type = await
|
|
430
|
+
const type = await typeManagementModel_js_1.default.findOne({
|
|
426
431
|
where: {
|
|
427
432
|
id: lecture.type,
|
|
428
|
-
type: TYPE_MANAGEMENT_TYPE.LECTURE,
|
|
433
|
+
type: app_js_1.TYPE_MANAGEMENT_TYPE.LECTURE,
|
|
429
434
|
},
|
|
430
435
|
});
|
|
431
436
|
if (!type) {
|
|
432
|
-
throw new Error(TYPE_MANAGEMENT_ERROR_MESSAGES.NOT_FOUND);
|
|
437
|
+
throw new Error(errorMessages_js_1.TYPE_MANAGEMENT_ERROR_MESSAGES.NOT_FOUND);
|
|
433
438
|
}
|
|
434
439
|
}
|
|
435
440
|
// Validate the workingDayId
|
|
436
441
|
if (lecture.subject) {
|
|
437
|
-
const subject = await
|
|
442
|
+
const subject = await instituteEntityModel_js_1.default.findOne({
|
|
438
443
|
where: { id: lecture.subject },
|
|
439
444
|
include: [
|
|
440
445
|
{
|
|
441
446
|
association: 'entityType',
|
|
442
|
-
where: { sequence: INSTITUTE_ENTITY_TYPE_SEQUENCE.LAST },
|
|
447
|
+
where: { sequence: app_js_1.INSTITUTE_ENTITY_TYPE_SEQUENCE.LAST },
|
|
443
448
|
},
|
|
444
449
|
],
|
|
445
450
|
});
|
|
446
451
|
if (!subject) {
|
|
447
|
-
throw new Error(INSTITUTE_ENTITY_ERROR_MESSAGES.NOT_FOUND);
|
|
452
|
+
throw new Error(errorMessages_js_1.INSTITUTE_ENTITY_ERROR_MESSAGES.NOT_FOUND);
|
|
448
453
|
}
|
|
449
|
-
const existSubjectInMeta = await
|
|
454
|
+
const existSubjectInMeta = await userInstituteMetaModel_js_1.default.findOne({
|
|
450
455
|
entities: lecture.subject,
|
|
451
456
|
});
|
|
452
457
|
if (!existSubjectInMeta) {
|
|
453
|
-
throw new Error(INSTITUTE_ENTITY_ERROR_MESSAGES.NOT_FOUND);
|
|
458
|
+
throw new Error(errorMessages_js_1.INSTITUTE_ENTITY_ERROR_MESSAGES.NOT_FOUND);
|
|
454
459
|
}
|
|
455
460
|
}
|
|
456
461
|
};
|
|
@@ -468,4 +473,4 @@ LectureModel.beforeBulkCreate(async (instances, options) => {
|
|
|
468
473
|
await beforeCreateOrUpdateHook(instance, transaction);
|
|
469
474
|
}
|
|
470
475
|
});
|
|
471
|
-
|
|
476
|
+
exports.default = LectureModel;
|