@kipicore/dbcore 1.1.700 → 1.1.702

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (312) hide show
  1. package/dist/configs/env.d.ts +0 -2
  2. package/dist/configs/env.js +0 -4
  3. package/dist/configs/index.d.ts +0 -2
  4. package/dist/configs/index.js +0 -2
  5. package/dist/constants/app.d.ts +54 -34
  6. package/dist/constants/app.js +64 -42
  7. package/dist/constants/defaultModelAttributes.js +1 -2
  8. package/dist/constants/errorMessages.d.ts +1 -20
  9. package/dist/constants/errorMessages.js +1 -22
  10. package/dist/constants/successMessages.d.ts +0 -14
  11. package/dist/constants/successMessages.js +1 -17
  12. package/dist/db/psql/migrations/20260714095754-create-arena-models.js +642 -0
  13. package/dist/db/psql/migrations/20260720092201-replace-facility-sports-with-sport-group-data.d.ts +2 -0
  14. package/dist/db/psql/migrations/20260720092201-replace-facility-sports-with-sport-group-data.js +138 -0
  15. package/dist/db/psql/migrations/20260722143500-create-school_has_sports.js +71 -0
  16. package/dist/db/psql/migrations/20260728170500-add_sports_academy_id_to_testimonials.js +21 -0
  17. package/dist/db/psql/migrations/20260729150700-add_sports_academy_id_to_notifications.js +21 -0
  18. package/dist/db/psql/migrations/20260804100500-update_facility_master.js +27 -0
  19. package/dist/helpers/index.d.ts +0 -3
  20. package/dist/helpers/index.js +0 -3
  21. package/dist/helpers/utils.d.ts +3 -5
  22. package/dist/helpers/utils.js +31 -58
  23. package/dist/index.d.ts +0 -4
  24. package/dist/index.js +0 -4
  25. package/dist/interfaces/ageGroupInterface.d.ts +12 -0
  26. package/dist/interfaces/assessmentTestInterface.d.ts +24 -0
  27. package/dist/interfaces/categoriesInterface.d.ts +1 -2
  28. package/dist/interfaces/equipmentInterface.d.ts +10 -0
  29. package/dist/interfaces/equipmentInterface.js +2 -0
  30. package/dist/interfaces/facilityMasterInterface.d.ts +9 -0
  31. package/dist/interfaces/facilityMasterInterface.js +2 -0
  32. package/dist/interfaces/index.d.ts +18 -1
  33. package/dist/interfaces/index.js +19 -1
  34. package/dist/interfaces/instituteInterface.d.ts +0 -1
  35. package/dist/interfaces/instituteOwnershipHistoryInterface.d.ts +1 -2
  36. package/dist/interfaces/institutePartnersInterface.d.ts +1 -2
  37. package/dist/interfaces/kipiverseContactFormInterface.d.ts +3 -4
  38. package/dist/interfaces/photosGalleryInterface.d.ts +3 -1
  39. package/dist/interfaces/schoolHasSportInterface.d.ts +7 -0
  40. package/dist/interfaces/schoolHasSportInterface.js +2 -0
  41. package/dist/interfaces/sendNotificationInerface.d.ts +2 -0
  42. package/dist/interfaces/skillInterface.d.ts +19 -0
  43. package/dist/interfaces/skillInterface.js +2 -0
  44. package/dist/interfaces/sportCategoryInterface.d.ts +9 -0
  45. package/dist/interfaces/sportCategoryInterface.js +2 -0
  46. package/dist/interfaces/sportDataApproveInterface.d.ts +19 -0
  47. package/dist/interfaces/sportDataApproveInterface.js +2 -0
  48. package/dist/interfaces/sportGroupDataInterface.d.ts +7 -0
  49. package/dist/interfaces/sportGroupDataInterface.js +2 -0
  50. package/dist/interfaces/sportInfoInterface.d.ts +24 -0
  51. package/dist/interfaces/sportInfoInterface.js +2 -0
  52. package/dist/interfaces/sportInterface.d.ts +10 -0
  53. package/dist/interfaces/sportInterface.js +2 -0
  54. package/dist/interfaces/sportRoleInterface.d.ts +11 -0
  55. package/dist/interfaces/sportRoleInterface.js +2 -0
  56. package/dist/interfaces/sportSubCategoryInterface.d.ts +10 -0
  57. package/dist/interfaces/sportSubCategoryInterface.js +2 -0
  58. package/dist/interfaces/sportsAcademyInterface.d.ts +39 -0
  59. package/dist/interfaces/sportsAcademyInterface.js +2 -0
  60. package/dist/interfaces/studentSportTestInterface.d.ts +20 -0
  61. package/dist/interfaces/studentSportTestInterface.js +2 -0
  62. package/dist/interfaces/subCategoriesInterface.d.ts +1 -2
  63. package/dist/interfaces/subscriptionPlanInterface.d.ts +1 -2
  64. package/dist/interfaces/testimonialInterface.d.ts +1 -0
  65. package/dist/interfaces/unitInterface.d.ts +10 -0
  66. package/dist/interfaces/unitInterface.js +2 -0
  67. package/dist/interfaces/userAcademyMetaInterface.d.ts +17 -0
  68. package/dist/interfaces/userAcademyMetaInterface.js +2 -0
  69. package/dist/interfaces/userAmenityInterface.d.ts +24 -0
  70. package/dist/interfaces/userAmenityInterface.js +2 -0
  71. package/dist/interfaces/userInstituteMetaInterface.d.ts +1 -1
  72. package/dist/interfaces/userInterface.d.ts +1 -3
  73. package/dist/interfaces/vendorCompanyMetaInterface.d.ts +2 -5
  74. package/dist/models/mongodb/additionalDetailsModel.js +1 -1
  75. package/dist/models/mongodb/advertisementModel.js +1 -1
  76. package/dist/models/mongodb/appAnalyticsEventModel.js +1 -1
  77. package/dist/models/mongodb/appointmentHistoryModel.js +1 -1
  78. package/dist/models/mongodb/appointmentModel.js +1 -1
  79. package/dist/models/mongodb/approvalRequestModel.js +1 -1
  80. package/dist/models/mongodb/assessmentTestModel.d.ts +4 -0
  81. package/dist/models/mongodb/assessmentTestModel.js +73 -0
  82. package/dist/models/mongodb/assignFileModel.js +1 -1
  83. package/dist/models/mongodb/attendanceModel.js +1 -1
  84. package/dist/models/mongodb/bDayWishModel.js +1 -1
  85. package/dist/models/mongodb/blogModel.js +1 -1
  86. package/dist/models/mongodb/campusCarnivalModel.js +1 -1
  87. package/dist/models/mongodb/canteenModel.js +1 -1
  88. package/dist/models/mongodb/careerModel.js +1 -1
  89. package/dist/models/mongodb/certificatesHistoryModel.js +1 -1
  90. package/dist/models/mongodb/certificatesManagementModel.js +1 -1
  91. package/dist/models/mongodb/columnModel.js +1 -1
  92. package/dist/models/mongodb/communityGroupMemberModel.js +1 -1
  93. package/dist/models/mongodb/communityGroupModel.js +1 -1
  94. package/dist/models/mongodb/communityMessageModel.js +1 -1
  95. package/dist/models/mongodb/competitionGroupModel.js +1 -1
  96. package/dist/models/mongodb/competitionModel.js +1 -1
  97. package/dist/models/mongodb/competitionUsersModel.js +1 -1
  98. package/dist/models/mongodb/createPollModel.js +1 -1
  99. package/dist/models/mongodb/dailyBookModel.js +1 -1
  100. package/dist/models/mongodb/dashboardManagementModel.js +1 -1
  101. package/dist/models/mongodb/educationOfficerModel.js +1 -1
  102. package/dist/models/mongodb/eventModel.js +1 -1
  103. package/dist/models/mongodb/eventTemplatesModel.js +1 -1
  104. package/dist/models/mongodb/examGroupModel.js +1 -1
  105. package/dist/models/mongodb/examHasAnswerSheetModel.js +1 -1
  106. package/dist/models/mongodb/examModel.js +1 -1
  107. package/dist/models/mongodb/feeConfigModel.js +1 -1
  108. package/dist/models/mongodb/feeReminderTypeModel.js +1 -1
  109. package/dist/models/mongodb/feeSubmissionModel.js +1 -1
  110. package/dist/models/mongodb/feedBackModel.js +1 -1
  111. package/dist/models/mongodb/fileUploadUserDetailsModel.js +1 -1
  112. package/dist/models/mongodb/finalMarkSheetModel.js +1 -1
  113. package/dist/models/mongodb/generateIdCardModel.js +1 -1
  114. package/dist/models/mongodb/grantAndDonationModel.js +1 -1
  115. package/dist/models/mongodb/holidayModel.js +1 -1
  116. package/dist/models/mongodb/index.d.ts +7 -0
  117. package/dist/models/mongodb/index.js +16 -1
  118. package/dist/models/mongodb/informationSupportModel.js +1 -1
  119. package/dist/models/mongodb/inquiryModel.js +1 -1
  120. package/dist/models/mongodb/instituteFeeModel.js +1 -1
  121. package/dist/models/mongodb/invoiceModel.js +1 -1
  122. package/dist/models/mongodb/jobApplyModel.js +1 -1
  123. package/dist/models/mongodb/kipiverseContactFormModel.js +4 -9
  124. package/dist/models/mongodb/markSheetConfigurationModel.js +1 -1
  125. package/dist/models/mongodb/modulePriceModel.js +1 -1
  126. package/dist/models/mongodb/offerAndDiscountModel.js +1 -1
  127. package/dist/models/mongodb/onlineLectureModel.js +1 -1
  128. package/dist/models/mongodb/pastYearRecordTopperModel.js +1 -1
  129. package/dist/models/mongodb/pdcChequeConfigurationModel.js +1 -1
  130. package/dist/models/mongodb/photosGalleryModel.js +6 -2
  131. package/dist/models/mongodb/plannerModel.js +1 -1
  132. package/dist/models/mongodb/pollSelectionModel.js +1 -1
  133. package/dist/models/mongodb/productMetaModel.js +2 -10
  134. package/dist/models/mongodb/replaceTeacherModel.js +1 -1
  135. package/dist/models/mongodb/rmsAmcContractModel.js +1 -1
  136. package/dist/models/mongodb/rmsAuditLogModel.js +1 -1
  137. package/dist/models/mongodb/rmsDigitalResourceAccessModel.js +1 -1
  138. package/dist/models/mongodb/rmsDigitalResourceModel.js +1 -1
  139. package/dist/models/mongodb/rmsResourceDetailsModel.d.ts +7 -1
  140. package/dist/models/mongodb/rmsResourceDetailsModel.js +1 -1
  141. package/dist/models/mongodb/roleHasPermissionModel.js +1 -1
  142. package/dist/models/mongodb/schoolFee1Model.js +1 -1
  143. package/dist/models/mongodb/seatingArrangementModel.js +1 -1
  144. package/dist/models/mongodb/sheetFieldModel.js +1 -1
  145. package/dist/models/mongodb/sportDataApproveModel.d.ts +4 -0
  146. package/dist/models/mongodb/sportDataApproveModel.js +117 -0
  147. package/dist/models/mongodb/sportInfoModel.d.ts +4 -0
  148. package/dist/models/mongodb/sportInfoModel.js +72 -0
  149. package/dist/models/mongodb/sportsAcademyModel.d.ts +4 -0
  150. package/dist/models/mongodb/sportsAcademyModel.js +89 -0
  151. package/dist/models/mongodb/studentSportTestModel.d.ts +4 -0
  152. package/dist/models/mongodb/studentSportTestModel.js +68 -0
  153. package/dist/models/mongodb/subjectIndexModel.js +1 -1
  154. package/dist/models/mongodb/subscriptionConfigurationModel.js +1 -1
  155. package/dist/models/mongodb/subscriptionPlanModel.js +1 -6
  156. package/dist/models/mongodb/taskManagementModel.js +1 -1
  157. package/dist/models/mongodb/themeModel.js +1 -1
  158. package/dist/models/mongodb/ticketRaiseModel.js +1 -1
  159. package/dist/models/mongodb/uniqueNumberCounterModel.js +1 -1
  160. package/dist/models/mongodb/userAcademyMetaModel.d.ts +4 -0
  161. package/dist/models/mongodb/userAcademyMetaModel.js +109 -0
  162. package/dist/models/mongodb/userAmenityModel.d.ts +4 -0
  163. package/dist/models/mongodb/userAmenityModel.js +73 -0
  164. package/dist/models/mongodb/userDetailsModel.js +1 -1
  165. package/dist/models/mongodb/userFinalResultModel.js +1 -1
  166. package/dist/models/mongodb/userInstituteMetaModel.js +5 -1
  167. package/dist/models/mongodb/userSchoolMetaModel.d.ts +6 -1
  168. package/dist/models/mongodb/userSchoolMetaModel.js +3 -36
  169. package/dist/models/mongodb/vendorCompanyMetaModel.js +2 -16
  170. package/dist/models/mongodb/videoAnalystModel.js +1 -1
  171. package/dist/models/mongodb/walletTransactionModel.js +1 -1
  172. package/dist/models/psql/SubCategoriesModel.d.ts +1 -2
  173. package/dist/models/psql/SubCategoriesModel.js +0 -5
  174. package/dist/models/psql/ageGroupModel.d.ts +22 -0
  175. package/dist/models/psql/ageGroupModel.js +76 -0
  176. package/dist/models/psql/categoriesModel.d.ts +1 -2
  177. package/dist/models/psql/categoriesModel.js +0 -5
  178. package/dist/models/psql/equipmentModel.d.ts +20 -0
  179. package/dist/models/psql/equipmentModel.js +57 -0
  180. package/dist/models/psql/facilityMasterModel.d.ts +18 -0
  181. package/dist/models/psql/facilityMasterModel.js +74 -0
  182. package/dist/models/psql/fileStorageModel.js +4 -3
  183. package/dist/models/psql/index.d.ts +11 -1
  184. package/dist/models/psql/index.js +25 -4
  185. package/dist/models/psql/instituteModel.d.ts +0 -1
  186. package/dist/models/psql/instituteModel.js +2 -5
  187. package/dist/models/psql/instituteOwnershipHistoryModel.d.ts +1 -2
  188. package/dist/models/psql/instituteOwnershipHistoryModel.js +3 -8
  189. package/dist/models/psql/institutePartnersModel.d.ts +1 -2
  190. package/dist/models/psql/institutePartnersModel.js +3 -8
  191. package/dist/models/psql/schoolHasSportModel.d.ts +17 -0
  192. package/dist/models/psql/schoolHasSportModel.js +76 -0
  193. package/dist/models/psql/sendNotificationModel.d.ts +1 -0
  194. package/dist/models/psql/sendNotificationModel.js +5 -0
  195. package/dist/models/psql/skillModel.d.ts +25 -0
  196. package/dist/models/psql/skillModel.js +99 -0
  197. package/dist/models/psql/sportCategoryModel.d.ts +19 -0
  198. package/dist/models/psql/sportCategoryModel.js +53 -0
  199. package/dist/models/psql/sportGroupDataModel.d.ts +13 -0
  200. package/dist/models/psql/sportGroupDataModel.js +64 -0
  201. package/dist/models/psql/sportModel.d.ts +20 -0
  202. package/dist/models/psql/sportModel.js +58 -0
  203. package/dist/models/psql/sportRoleModel.d.ts +21 -0
  204. package/dist/models/psql/sportRoleModel.js +71 -0
  205. package/dist/models/psql/sportSubCategoryModel.d.ts +20 -0
  206. package/dist/models/psql/sportSubCategoryModel.js +75 -0
  207. package/dist/models/psql/testimonialModel.d.ts +1 -0
  208. package/dist/models/psql/testimonialModel.js +8 -7
  209. package/dist/models/psql/unitModel.d.ts +20 -0
  210. package/dist/models/psql/unitModel.js +57 -0
  211. package/dist/models/psql/userModel.d.ts +1 -3
  212. package/dist/models/psql/userModel.js +2 -2
  213. package/dist/types/ageGroupType.d.ts +2 -0
  214. package/dist/types/ageGroupType.js +2 -0
  215. package/dist/types/assessmentTestType.d.ts +2 -0
  216. package/dist/types/assessmentTestType.js +2 -0
  217. package/dist/types/commonType.d.ts +1 -29
  218. package/dist/types/equipmentType.d.ts +2 -0
  219. package/dist/types/equipmentType.js +2 -0
  220. package/dist/types/facilityMasterType.d.ts +3 -0
  221. package/dist/types/facilityMasterType.js +2 -0
  222. package/dist/types/index.d.ts +18 -1
  223. package/dist/types/index.js +19 -1
  224. package/dist/types/schoolHasSportType.d.ts +2 -0
  225. package/dist/types/schoolHasSportType.js +2 -0
  226. package/dist/types/skillType.d.ts +2 -0
  227. package/dist/types/skillType.js +2 -0
  228. package/dist/types/sportCategoryType.d.ts +2 -0
  229. package/dist/types/sportCategoryType.js +2 -0
  230. package/dist/types/sportDataApproveType.d.ts +2 -0
  231. package/dist/types/sportDataApproveType.js +2 -0
  232. package/dist/types/sportGroupDataType.d.ts +3 -0
  233. package/dist/types/sportGroupDataType.js +2 -0
  234. package/dist/types/sportInfoType.d.ts +2 -0
  235. package/dist/types/sportInfoType.js +2 -0
  236. package/dist/types/sportRoleType.d.ts +2 -0
  237. package/dist/types/sportRoleType.js +2 -0
  238. package/dist/types/sportSubCategoryType.d.ts +2 -0
  239. package/dist/types/sportSubCategoryType.js +2 -0
  240. package/dist/types/sportType.d.ts +2 -0
  241. package/dist/types/sportType.js +2 -0
  242. package/dist/types/sportsAcademyType.d.ts +2 -0
  243. package/dist/types/sportsAcademyType.js +2 -0
  244. package/dist/types/studentSportTestType.d.ts +2 -0
  245. package/dist/types/studentSportTestType.js +2 -0
  246. package/dist/types/unitType.d.ts +2 -0
  247. package/dist/types/unitType.js +2 -0
  248. package/dist/types/userAcademyMetaType.d.ts +2 -0
  249. package/dist/types/userAcademyMetaType.js +2 -0
  250. package/dist/types/userAmenityType.d.ts +2 -0
  251. package/dist/types/userAmenityType.js +2 -0
  252. package/package.json +2 -10
  253. package/dist/commonValidator/commandValidator.d.ts +0 -27
  254. package/dist/commonValidator/commandValidator.js +0 -225
  255. package/dist/commonValidator/index.d.ts +0 -3
  256. package/dist/commonValidator/index.js +0 -24
  257. package/dist/commonValidator/joiCommonValidator.d.ts +0 -12
  258. package/dist/commonValidator/joiCommonValidator.js +0 -47
  259. package/dist/commonValidator/joiSchemaBuilder.d.ts +0 -6
  260. package/dist/commonValidator/joiSchemaBuilder.js +0 -70
  261. package/dist/configs/logger.d.ts +0 -2
  262. package/dist/configs/logger.js +0 -44
  263. package/dist/configs/redisConfig.d.ts +0 -4
  264. package/dist/configs/redisConfig.js +0 -32
  265. package/dist/db/psql/migrations/20260714111425-change_status_enum_to_string_in_institutes.js +0 -46
  266. package/dist/db/psql/migrations/20260714131500-add_note_to_institutes.js +0 -20
  267. package/dist/db/psql/migrations/20260715150000-create-ai-model-keys.js +0 -156
  268. package/dist/db/psql/migrations/20260717071354-add_type_to_categories.js +0 -19
  269. package/dist/db/psql/migrations/20260717072745-add_type_to_sub_categories.d.ts +0 -2
  270. package/dist/db/psql/migrations/20260717072745-add_type_to_sub_categories.js +0 -19
  271. package/dist/db/psql/migrations/20260717095051-add_status_to_users.d.ts +0 -2
  272. package/dist/db/psql/migrations/20260717095051-add_status_to_users.js +0 -19
  273. package/dist/db/psql/migrations/20260721000001-add-deleted-at-to-rms-maintenance-activities.d.ts +0 -2
  274. package/dist/db/psql/migrations/20260721000001-add-deleted-at-to-rms-maintenance-activities.js +0 -12
  275. package/dist/db/psql/migrations/20260721000002-change-uploaded-from-enum-to-string-in-file-storage.d.ts +0 -2
  276. package/dist/db/psql/migrations/20260721000002-change-uploaded-from-enum-to-string-in-file-storage.js +0 -42
  277. package/dist/db/psql/migrations/20260722130134-add_portfolio_theme_to_users.d.ts +0 -2
  278. package/dist/db/psql/migrations/20260722130134-add_portfolio_theme_to_users.js +0 -22
  279. package/dist/db/psql/migrations/20260727123149-add_vendorCompanyId_to_institute_ownership_histories.js +0 -23
  280. package/dist/db/psql/migrations/20260727130802-add_vendorCompanyId_to_institute_partners.d.ts +0 -2
  281. package/dist/db/psql/migrations/20260727130802-add_vendorCompanyId_to_institute_partners.js +0 -23
  282. package/dist/db/psql/migrations/20260727132312-make_instituteId_and_vendorCompanyId_optional_in_institute_partners.d.ts +0 -2
  283. package/dist/db/psql/migrations/20260727132312-make_instituteId_and_vendorCompanyId_optional_in_institute_partners.js +0 -28
  284. package/dist/db/psql/migrations/20260727132747-make_instituteId_and_vendorCompanyId_optional_in_institute_ownership_histories.d.ts +0 -2
  285. package/dist/db/psql/migrations/20260727132747-make_instituteId_and_vendorCompanyId_optional_in_institute_ownership_histories.js +0 -25
  286. package/dist/db/psql/migrations/20260729055118-institutePartners.d.ts +0 -2
  287. package/dist/db/psql/migrations/20260729055118-institutePartners.js +0 -28
  288. package/dist/db/psql/migrations/20260729055121-instituteOwnershipHistory.d.ts +0 -2
  289. package/dist/db/psql/migrations/20260729055121-instituteOwnershipHistory.js +0 -25
  290. package/dist/helpers/sendEmail.d.ts +0 -3
  291. package/dist/helpers/sendEmail.js +0 -117
  292. package/dist/helpers/sendNotification.d.ts +0 -4
  293. package/dist/helpers/sendNotification.js +0 -34
  294. package/dist/helpers/sendSMS.d.ts +0 -5
  295. package/dist/helpers/sendSMS.js +0 -34
  296. package/dist/interfaces/aiModelKeysInterface.d.ts +0 -15
  297. package/dist/models/psql/aiModelKeysModel.d.ts +0 -20
  298. package/dist/models/psql/aiModelKeysModel.js +0 -70
  299. package/dist/queues/emailQueue.d.ts +0 -3
  300. package/dist/queues/emailQueue.js +0 -22
  301. package/dist/queues/emailWorker.d.ts +0 -3
  302. package/dist/queues/emailWorker.js +0 -33
  303. package/dist/queues/index.d.ts +0 -2
  304. package/dist/queues/index.js +0 -18
  305. package/dist/types/aiModelKeysType.d.ts +0 -3
  306. /package/dist/db/psql/migrations/{20260714111425-change_status_enum_to_string_in_institutes.d.ts → 20260714095754-create-arena-models.d.ts} +0 -0
  307. /package/dist/db/psql/migrations/{20260714131500-add_note_to_institutes.d.ts → 20260722143500-create-school_has_sports.d.ts} +0 -0
  308. /package/dist/db/psql/migrations/{20260715150000-create-ai-model-keys.d.ts → 20260728170500-add_sports_academy_id_to_testimonials.d.ts} +0 -0
  309. /package/dist/db/psql/migrations/{20260727123149-add_vendorCompanyId_to_institute_ownership_histories.d.ts → 20260729150700-add_sports_academy_id_to_notifications.d.ts} +0 -0
  310. /package/dist/db/psql/migrations/{20260717071354-add_type_to_categories.d.ts → 20260804100500-update_facility_master.d.ts} +0 -0
  311. /package/dist/interfaces/{aiModelKeysInterface.js → ageGroupInterface.js} +0 -0
  312. /package/dist/{types/aiModelKeysType.js → interfaces/assessmentTestInterface.js} +0 -0
@@ -1,225 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- var __importDefault = (this && this.__importDefault) || function (mod) {
36
- return (mod && mod.__esModule) ? mod : { "default": mod };
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- const joi_1 = __importDefault(require("joi"));
40
- const joiSchemaBuilder_1 = __importStar(require("./joiSchemaBuilder"));
41
- const joiCommonValidator_1 = require("./joiCommonValidator");
42
- class BaseCrudValidator extends joiSchemaBuilder_1.default {
43
- constructor(baseSchema, rules = {}) {
44
- super();
45
- /** CREATE */
46
- this.createValidator = (req, res, next) => {
47
- try {
48
- const mergedRules = this.mergeRules({}, this.rules.create);
49
- let schema = (0, joiSchemaBuilder_1.buildSchema)(this.baseSchema, mergedRules);
50
- if (mergedRules.nestedRequired?.length) {
51
- schema = this.applyNestedRequired(schema, mergedRules.nestedRequired);
52
- }
53
- this.validate(schema, req);
54
- next();
55
- }
56
- catch (err) {
57
- next(err);
58
- }
59
- };
60
- /** UPDATE */
61
- this.updateValidator = (req, res, next) => {
62
- try {
63
- const idRules = this.applyDefaultIdRule(this.rules.update);
64
- const mergedRules = this.mergeRules({}, idRules);
65
- let schema = (0, joiSchemaBuilder_1.buildSchema)(this.baseSchema, mergedRules);
66
- if (mergedRules.nestedRequired?.length) {
67
- schema = this.applyNestedRequired(schema, mergedRules.nestedRequired);
68
- }
69
- this.validate(schema, req);
70
- next();
71
- }
72
- catch (err) {
73
- next(err);
74
- }
75
- };
76
- /** DELETE */
77
- this.deleteValidator = (req, res, next) => {
78
- try {
79
- const idRules = this.applyDefaultIdRule(this.rules.delete);
80
- const mergedRules = this.mergeRules({}, idRules);
81
- const schema = (0, joiSchemaBuilder_1.buildSchema)(this.baseSchema, mergedRules);
82
- this.validate(schema, req);
83
- next();
84
- }
85
- catch (err) {
86
- next(err);
87
- }
88
- };
89
- /** GET BY ID */
90
- this.getByIdValidator = (req, res, next) => {
91
- try {
92
- const idRules = this.applyDefaultIdRule(this.rules.getById);
93
- const mergedRules = this.mergeRules({}, idRules);
94
- const schema = (0, joiSchemaBuilder_1.buildSchema)(this.baseSchema, mergedRules);
95
- this.validate(schema, req);
96
- next();
97
- }
98
- catch (err) {
99
- next(err);
100
- }
101
- };
102
- /** GET ALL */
103
- this.getAllValidator = (req, res, next) => {
104
- try {
105
- const mergedRules = this.mergeRules({}, this.rules.getAll);
106
- const schema = (0, joiSchemaBuilder_1.buildSchema)(this.baseSchema, mergedRules);
107
- this.validate(schema, req);
108
- next();
109
- }
110
- catch (err) {
111
- next(err);
112
- }
113
- };
114
- /** GET ALL WITH PAGINATION */
115
- this.getAllWithPaginationValidator = (req, res, next) => {
116
- try {
117
- const mergedRules = this.mergeRules({ customFields: joiCommonValidator_1.paginationValidators }, this.rules.getAllWithPagination ?? this.rules.getAll);
118
- const schema = (0, joiSchemaBuilder_1.buildSchema)(this.baseSchema, mergedRules);
119
- this.validate(schema, req);
120
- next();
121
- }
122
- catch (err) {
123
- next(err);
124
- }
125
- };
126
- this.baseSchema = baseSchema;
127
- this.rules = rules;
128
- }
129
- /** MERGE RULES */
130
- mergeRules(defaultRules, overrideRules) {
131
- const defaultCustomFields = {
132
- search: joi_1.default.string().optional().allow(null),
133
- };
134
- return {
135
- ...defaultRules,
136
- ...overrideRules,
137
- required: [...(defaultRules.required || []), ...(overrideRules?.required || [])],
138
- optional: [...(defaultRules.optional || []), ...(overrideRules?.optional || [])],
139
- allowNull: [...(defaultRules.allowNull || []), ...(overrideRules?.allowNull || [])],
140
- forbidden: [...(defaultRules.forbidden || []), ...(overrideRules?.forbidden || [])],
141
- singleOrArray: [...(defaultRules.singleOrArray || []), ...(overrideRules?.singleOrArray || [])],
142
- singleOrArrayOrNull: [...(defaultRules.singleOrArrayOrNull || []), ...(overrideRules?.singleOrArrayOrNull || [])],
143
- nestedRequired: [...(defaultRules.nestedRequired || []), ...(overrideRules?.nestedRequired || [])],
144
- customFields: {
145
- ...defaultCustomFields,
146
- ...(defaultRules.customFields || {}),
147
- ...(overrideRules?.customFields || {}),
148
- },
149
- };
150
- }
151
- /** APPLY DEFAULT ID RULE */
152
- applyDefaultIdRule(override) {
153
- const overrideHasId = override?.required?.includes('id') ||
154
- override?.optional?.includes('id') ||
155
- override?.forbidden?.includes('id');
156
- if (override && overrideHasId)
157
- return override;
158
- if (override)
159
- return override;
160
- return { required: ['id'] };
161
- }
162
- /** Nested Required for */
163
- // private applyNestedRequired(schema: Joi.ObjectSchema, paths: string[]): Joi.ObjectSchema {
164
- // return schema.custom((value, helpers) => {
165
- // for (const path of paths) {
166
- // const keys = path.split('.');
167
- // let current: any = value;
168
- // let fullPath = '';
169
- // for (const key of keys) {
170
- // if (Array.isArray(current)) {
171
- // if (!current.length) {
172
- // return helpers.message(`"${fullPath || path}" is required`);
173
- // }
174
- // current = current[0];
175
- // fullPath += '[0]';
176
- // }
177
- // fullPath = fullPath ? `${fullPath}.${key}` : key;
178
- // if (current?.[key] === undefined) {
179
- // return helpers.message(`"${fullPath}" is required`);
180
- // }
181
- // current = current[key];
182
- // }
183
- // }
184
- // return value;
185
- // });
186
- // }
187
- applyNestedRequired(schema, paths) {
188
- return schema
189
- .custom((value, helpers) => {
190
- const checkPath = (current, keys, basePath = '') => {
191
- if (!keys.length)
192
- return null;
193
- const [key, ...rest] = keys;
194
- if (Array.isArray(current)) {
195
- for (let i = 0; i < current.length; i++) {
196
- const result = checkPath(current[i], keys, `${basePath}[${i}]`);
197
- if (result)
198
- return result;
199
- }
200
- return null;
201
- }
202
- const nextValue = current?.[key];
203
- const currentPath = basePath ? `${basePath}.${key}` : key;
204
- if (nextValue === undefined) {
205
- return currentPath;
206
- }
207
- return checkPath(nextValue, rest, currentPath);
208
- };
209
- for (const path of paths) {
210
- const keys = path.split('.');
211
- const missingPath = checkPath(value, keys);
212
- if (missingPath) {
213
- return helpers.error('any.custom', {
214
- path: missingPath,
215
- });
216
- }
217
- }
218
- return value;
219
- })
220
- .messages({
221
- 'any.custom': '"{{#path}}" is required',
222
- });
223
- }
224
- }
225
- exports.default = BaseCrudValidator;
@@ -1,3 +0,0 @@
1
- export * from './joiSchemaBuilder';
2
- export * from './joiCommonValidator';
3
- export { default as BaseValidator } from './joiSchemaBuilder';
@@ -1,24 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- var __importDefault = (this && this.__importDefault) || function (mod) {
17
- return (mod && mod.__esModule) ? mod : { "default": mod };
18
- };
19
- Object.defineProperty(exports, "__esModule", { value: true });
20
- exports.BaseValidator = void 0;
21
- __exportStar(require("./joiSchemaBuilder"), exports);
22
- __exportStar(require("./joiCommonValidator"), exports);
23
- var joiSchemaBuilder_1 = require("./joiSchemaBuilder");
24
- Object.defineProperty(exports, "BaseValidator", { enumerable: true, get: function () { return __importDefault(joiSchemaBuilder_1).default; } });
@@ -1,12 +0,0 @@
1
- import Joi from 'joi';
2
- export declare const paginationValidators: {
3
- page: Joi.NumberSchema<number>;
4
- limit: Joi.NumberSchema<number>;
5
- search: Joi.StringSchema<string>;
6
- isPaginate: Joi.BooleanSchema<boolean>;
7
- order: Joi.ArraySchema<string[][]>;
8
- sort: Joi.StringSchema<string>;
9
- };
10
- export declare const enumAlternatives: (enumObj: Record<string, string>, isRequired?: boolean, allowArray?: boolean) => Joi.StringSchema<string> | Joi.AlternativesSchema<any>;
11
- export declare const objectIdAlternatives: (isRequired?: boolean, allowArray?: boolean) => Joi.AlternativesSchema<any> | undefined;
12
- export declare const uuidIdAlternatives: (isRequired?: boolean, allowArray?: boolean) => Joi.AlternativesSchema<any> | undefined;
@@ -1,47 +0,0 @@
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
- exports.uuidIdAlternatives = exports.objectIdAlternatives = exports.enumAlternatives = exports.paginationValidators = void 0;
7
- const joi_1 = __importDefault(require("joi"));
8
- exports.paginationValidators = {
9
- page: joi_1.default.number().integer().min(1).default(1),
10
- limit: joi_1.default.number().integer().min(1).default(10),
11
- search: joi_1.default.string().trim(),
12
- isPaginate: joi_1.default.boolean().default(true),
13
- order: joi_1.default.array().items(joi_1.default.array().items(joi_1.default.string().trim(), joi_1.default.string().trim())),
14
- sort: joi_1.default.string()
15
- .pattern(/^(-?\\w+(,-?\\w+)*)?$/)
16
- .optional()
17
- .messages({
18
- 'string.pattern.base': `"sort" must be a comma-separated list of field names, optionally prefixed with '-' for descending`,
19
- }),
20
- };
21
- const enumAlternatives = (enumObj, isRequired = false, allowArray = true) => {
22
- const base = joi_1.default.string().valid(...Object.values(enumObj));
23
- if (allowArray) {
24
- const alt = joi_1.default.alternatives().try(base, joi_1.default.array().items(base));
25
- return isRequired ? alt.required() : alt.optional();
26
- }
27
- return isRequired ? base.required() : base.optional();
28
- };
29
- exports.enumAlternatives = enumAlternatives;
30
- const objectIdAlternatives = (isRequired = false, allowArray = true) => {
31
- const base = joi_1.default.string()
32
- .pattern(/^[0-9a-fA-F]{24}$/)
33
- .message('Invalid ObjectId format');
34
- if (allowArray) {
35
- const alt = joi_1.default.alternatives().try(base, joi_1.default.array().items(base));
36
- return isRequired ? alt.required() : alt.optional();
37
- }
38
- };
39
- exports.objectIdAlternatives = objectIdAlternatives;
40
- const uuidIdAlternatives = (isRequired = false, allowArray = true) => {
41
- const base = joi_1.default.string().uuid().message('Invalid Uuid format');
42
- if (allowArray) {
43
- const alt = joi_1.default.alternatives().try(base, joi_1.default.array().items(base));
44
- return isRequired ? alt.required() : alt.optional();
45
- }
46
- };
47
- exports.uuidIdAlternatives = uuidIdAlternatives;
@@ -1,6 +0,0 @@
1
- import Joi from 'joi';
2
- import { SchemaRules } from '../types/commonType';
3
- export declare const buildSchema: <TModel extends Record<string, any>, Keys extends keyof TModel & string = keyof TModel & string>(base: Joi.ObjectSchema<TModel>, rules?: SchemaRules<Keys>) => Joi.ObjectSchema<TModel>;
4
- export default class BaseValidator {
5
- protected validate(schema: Joi.ObjectSchema, req: any, options?: Joi.ValidationOptions): void;
6
- }
@@ -1,70 +0,0 @@
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
- exports.buildSchema = void 0;
7
- const joi_1 = __importDefault(require("joi"));
8
- const httpStatusCode_1 = require("../constants/httpStatusCode");
9
- class ApiError extends Error {
10
- constructor(statusCode, message, isOperational = true, stack = '') {
11
- super(message);
12
- this.statusCode = statusCode;
13
- this.isOperational = isOperational;
14
- if (stack) {
15
- this.stack = stack;
16
- }
17
- else {
18
- Error.captureStackTrace(this, this.constructor);
19
- }
20
- }
21
- }
22
- // GENERIC BUILDER
23
- const buildSchema = (base, rules = {}) => {
24
- let schema = base;
25
- // REQUIRED
26
- if (rules.required) {
27
- schema = schema.fork(rules.required, field => field.required());
28
- }
29
- // OPTIONAL
30
- if (rules.optional) {
31
- schema = schema.fork(rules.optional, field => field.optional());
32
- }
33
- // ALLOW NULL
34
- if (rules.allowNull) {
35
- schema = schema.fork(rules.allowNull, field => field.allow(null));
36
- }
37
- // FORBIDDEN
38
- if (rules.forbidden) {
39
- schema = schema.fork(rules.forbidden, field => field.forbidden());
40
- }
41
- // SINGLE OR ARRAY
42
- if (rules.singleOrArray) {
43
- schema = schema.fork(rules.singleOrArray, field => joi_1.default.alternatives().try(field, joi_1.default.array().items(field)));
44
- }
45
- // SINGLE OR ARRAY OR NULL
46
- if (rules.singleOrArrayOrNull) {
47
- schema = schema.fork(rules.singleOrArrayOrNull, field => joi_1.default.alternatives().try(field, joi_1.default.array().items(field), joi_1.default.valid(null)));
48
- }
49
- // CUSTOM FIELDS
50
- if (rules.customFields) {
51
- schema = schema.append(rules.customFields);
52
- }
53
- return schema;
54
- };
55
- exports.buildSchema = buildSchema;
56
- const defaultOptions = {
57
- abortEarly: false,
58
- allowUnknown: false,
59
- };
60
- class BaseValidator {
61
- validate(schema, req, options) {
62
- const { error, value } = schema.validate({ ...req.body, ...req.query, ...req.params }, { ...defaultOptions, ...options });
63
- if (error) {
64
- const errorMessage = error.details.map(d => d.message).join(', ');
65
- throw new ApiError(httpStatusCode_1.HTTP_STATUS_CODE.BAD_REQUEST, errorMessage);
66
- }
67
- req.body = value;
68
- }
69
- }
70
- exports.default = BaseValidator;
@@ -1,2 +0,0 @@
1
- import winston from 'winston';
2
- export declare const logger: winston.Logger;
@@ -1,44 +0,0 @@
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
- exports.logger = void 0;
7
- const winston_1 = __importDefault(require("winston"));
8
- const winston_daily_rotate_file_1 = __importDefault(require("winston-daily-rotate-file"));
9
- const env_1 = require("../configs/env");
10
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
11
- const enumerateErrorFormat = winston_1.default.format((info) => {
12
- if (info.message instanceof Error) {
13
- info.message = {
14
- message: info.message.message,
15
- stack: info.message.stack,
16
- ...info.message,
17
- };
18
- }
19
- if (info instanceof Error) {
20
- return {
21
- // message: info.message,
22
- stack: info.stack,
23
- ...info,
24
- };
25
- }
26
- return info;
27
- });
28
- const transport = new winston_daily_rotate_file_1.default({
29
- filename: env_1.ENV_VARIABLE.LOG_FOLDER + env_1.ENV_VARIABLE.LOG_FILE,
30
- datePattern: 'YYYY-MM-DD',
31
- zippedArchive: true,
32
- maxSize: '20m',
33
- maxFiles: '3',
34
- // prepend: true,
35
- });
36
- exports.logger = winston_1.default.createLogger({
37
- format: winston_1.default.format.combine(enumerateErrorFormat(), winston_1.default.format.json()),
38
- transports: [
39
- transport,
40
- new winston_1.default.transports.Console({
41
- level: 'info',
42
- }),
43
- ],
44
- });
@@ -1,4 +0,0 @@
1
- import Redis from 'ioredis';
2
- declare const redisClient: Redis;
3
- export declare const connectRedis: () => Promise<void>;
4
- export default redisClient;
@@ -1,32 +0,0 @@
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
- exports.connectRedis = void 0;
7
- const ioredis_1 = __importDefault(require("ioredis"));
8
- const logger_1 = require("./logger");
9
- const env_1 = require("./env");
10
- // const redisClient = new Redis(ENV_VARIABLE.REDIS_URL, {
11
- // maxRetriesPerRequest: null,
12
- // });
13
- const redisClient = new ioredis_1.default({
14
- host: env_1.ENV_VARIABLE.REDIS_HOST || 'redis',
15
- port: 6379,
16
- maxRetriesPerRequest: null,
17
- });
18
- redisClient.on('error', err => {
19
- console.error('Redis Client Error', err);
20
- logger_1.logger.error(err);
21
- });
22
- const connectRedis = async () => {
23
- // ioredis connects automatically, but we can check the status
24
- if (redisClient.status === 'ready')
25
- return;
26
- return new Promise((resolve, reject) => {
27
- redisClient.once('ready', () => resolve());
28
- redisClient.once('error', err => reject(err));
29
- });
30
- };
31
- exports.connectRedis = connectRedis;
32
- exports.default = redisClient;
@@ -1,46 +0,0 @@
1
- 'use strict';
2
- module.exports = {
3
- up: async (queryInterface, Sequelize) => {
4
- const table = await queryInterface.describeTable('institutes');
5
- if (table.status) {
6
- // In PostgreSQL, changing from ENUM to VARCHAR often requires a USING clause
7
- try {
8
- await queryInterface.sequelize.query('ALTER TABLE institutes ALTER COLUMN status TYPE VARCHAR(255) USING status::varchar;');
9
- await queryInterface.changeColumn('institutes', 'status', {
10
- type: Sequelize.STRING,
11
- allowNull: false,
12
- defaultValue: 'ACTIVE',
13
- });
14
- }
15
- catch (error) {
16
- // Fallback if the raw query fails
17
- await queryInterface.changeColumn('institutes', 'status', {
18
- type: Sequelize.STRING,
19
- allowNull: false,
20
- defaultValue: 'ACTIVE',
21
- });
22
- }
23
- }
24
- },
25
- down: async (queryInterface, Sequelize) => {
26
- const table = await queryInterface.describeTable('institutes');
27
- if (table.status) {
28
- try {
29
- await queryInterface.sequelize.query('ALTER TABLE institutes ALTER COLUMN status TYPE "enum_institutes_status" USING status::text::"enum_institutes_status";');
30
- await queryInterface.changeColumn('institutes', 'status', {
31
- type: Sequelize.ENUM('ACTIVE', 'INACTIVE', 'PENDING', 'BLOCKED'), // Typical statuses, can adapt if needed
32
- allowNull: false,
33
- defaultValue: 'ACTIVE',
34
- });
35
- }
36
- catch (error) {
37
- // Fallback
38
- await queryInterface.changeColumn('institutes', 'status', {
39
- type: Sequelize.ENUM('ACTIVE', 'INACTIVE', 'PENDING', 'BLOCKED'),
40
- allowNull: false,
41
- defaultValue: 'ACTIVE',
42
- });
43
- }
44
- }
45
- }
46
- };
@@ -1,20 +0,0 @@
1
- 'use strict';
2
- const up = async (queryInterface, Sequelize) => {
3
- const table = await queryInterface.describeTable('institutes');
4
- if (!table.note) {
5
- await queryInterface.addColumn('institutes', 'note', {
6
- type: Sequelize.STRING,
7
- allowNull: true,
8
- });
9
- }
10
- };
11
- const down = async (queryInterface) => {
12
- const table = await queryInterface.describeTable('institutes');
13
- if (table.note) {
14
- await queryInterface.removeColumn('institutes', 'note');
15
- }
16
- };
17
- module.exports = {
18
- up,
19
- down,
20
- };