@kipicore/dbcore 1.1.30 → 1.1.33

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 (220) hide show
  1. package/dist/models/psql/SubCategoriesModel.d.ts +1 -0
  2. package/dist/models/psql/SubCategoriesModel.js +60 -63
  3. package/dist/models/psql/academicCalendarModel.d.ts +2 -1
  4. package/dist/models/psql/academicCalendarModel.js +41 -53
  5. package/dist/models/psql/accountHasReceiptDetailsModel.d.ts +6 -5
  6. package/dist/models/psql/accountHasReceiptDetailsModel.js +47 -68
  7. package/dist/models/psql/announcementModel.d.ts +10 -8
  8. package/dist/models/psql/announcementModel.js +90 -109
  9. package/dist/models/psql/areaModel.d.ts +5 -1
  10. package/dist/models/psql/areaModel.js +13 -12
  11. package/dist/models/psql/bankAccountDetailsModel.d.ts +6 -5
  12. package/dist/models/psql/bankAccountDetailsModel.js +25 -37
  13. package/dist/models/psql/bannerModel.d.ts +18 -18
  14. package/dist/models/psql/bannerModel.js +53 -81
  15. package/dist/models/psql/batchModel.d.ts +3 -1
  16. package/dist/models/psql/batchModel.js +77 -135
  17. package/dist/models/psql/batchSubjectBookAssessmentModel.d.ts +2 -1
  18. package/dist/models/psql/batchSubjectBookAssessmentModel.js +57 -104
  19. package/dist/models/psql/batchSubjectProjectAssessmentModel.d.ts +2 -1
  20. package/dist/models/psql/batchSubjectProjectAssessmentModel.js +59 -92
  21. package/dist/models/psql/bookAssessmentDateModel.d.ts +2 -1
  22. package/dist/models/psql/bookAssessmentDateModel.js +26 -46
  23. package/dist/models/psql/categoriesModel.d.ts +2 -1
  24. package/dist/models/psql/categoriesModel.js +25 -45
  25. package/dist/models/psql/cityModel.d.ts +2 -1
  26. package/dist/models/psql/cityModel.js +21 -33
  27. package/dist/models/psql/classRoomModel.d.ts +2 -1
  28. package/dist/models/psql/classRoomModel.js +41 -67
  29. package/dist/models/psql/cloudStorageModel.d.ts +2 -1
  30. package/dist/models/psql/cloudStorageModel.js +18 -29
  31. package/dist/models/psql/coinPurchaseOfferModel.d.ts +5 -4
  32. package/dist/models/psql/coinPurchaseOfferModel.js +18 -29
  33. package/dist/models/psql/contactFeedBackModel.d.ts +2 -1
  34. package/dist/models/psql/contactFeedBackModel.js +49 -62
  35. package/dist/models/psql/countryModel.d.ts +1 -1
  36. package/dist/models/psql/countryModel.js +2 -0
  37. package/dist/models/psql/courseHasVisitorsModel.d.ts +2 -1
  38. package/dist/models/psql/courseHasVisitorsModel.js +25 -38
  39. package/dist/models/psql/courseModel.d.ts +2 -1
  40. package/dist/models/psql/courseModel.js +41 -56
  41. package/dist/models/psql/driverModel.d.ts +3 -1
  42. package/dist/models/psql/driverModel.js +61 -65
  43. package/dist/models/psql/entityGroupModel.d.ts +2 -1
  44. package/dist/models/psql/entityGroupModel.js +25 -45
  45. package/dist/models/psql/facilityModel.d.ts +3 -1
  46. package/dist/models/psql/facilityModel.js +63 -73
  47. package/dist/models/psql/featureActionModel.d.ts +3 -2
  48. package/dist/models/psql/featureActionModel.js +21 -36
  49. package/dist/models/psql/feeHistoryDetailsModel.d.ts +2 -1
  50. package/dist/models/psql/feeHistoryDetailsModel.js +65 -106
  51. package/dist/models/psql/feeHistoryModel.d.ts +4 -2
  52. package/dist/models/psql/feeHistoryModel.js +154 -309
  53. package/dist/models/psql/feeReminderModel.d.ts +2 -0
  54. package/dist/models/psql/feeReminderModel.js +147 -179
  55. package/dist/models/psql/feeReminderSettingModel.d.ts +1 -0
  56. package/dist/models/psql/feeReminderSettingModel.js +23 -47
  57. package/dist/models/psql/feeTypeHasTermsModel.d.ts +1 -0
  58. package/dist/models/psql/feeTypeHasTermsModel.js +48 -51
  59. package/dist/models/psql/feeTypeModel.d.ts +1 -0
  60. package/dist/models/psql/feeTypeModel.js +44 -72
  61. package/dist/models/psql/feesCollectionModel.d.ts +2 -0
  62. package/dist/models/psql/feesCollectionModel.js +112 -144
  63. package/dist/models/psql/fileStorageModel.d.ts +1 -0
  64. package/dist/models/psql/fileStorageModel.js +27 -29
  65. package/dist/models/psql/floorManagementModel.d.ts +1 -0
  66. package/dist/models/psql/floorManagementModel.js +23 -42
  67. package/dist/models/psql/greetingsModel.d.ts +3 -2
  68. package/dist/models/psql/greetingsModel.js +64 -66
  69. package/dist/models/psql/homeWorkModel.d.ts +1 -0
  70. package/dist/models/psql/homeWorkModel.js +40 -70
  71. package/dist/models/psql/index.js +6 -3
  72. package/dist/models/psql/instituteEntityModel.d.ts +1 -0
  73. package/dist/models/psql/instituteEntityModel.js +59 -62
  74. package/dist/models/psql/instituteEntityTypeModel.d.ts +1 -0
  75. package/dist/models/psql/instituteEntityTypeModel.js +15 -28
  76. package/dist/models/psql/instituteModel.d.ts +1 -0
  77. package/dist/models/psql/instituteModel.js +66 -185
  78. package/dist/models/psql/instituteSubscriptionPlanModel.d.ts +1 -0
  79. package/dist/models/psql/instituteSubscriptionPlanModel.js +40 -81
  80. package/dist/models/psql/inventoryHistoryModel.d.ts +1 -0
  81. package/dist/models/psql/inventoryHistoryModel.js +39 -79
  82. package/dist/models/psql/inventoryModel.d.ts +1 -0
  83. package/dist/models/psql/inventoryModel.js +31 -62
  84. package/dist/models/psql/lectureHistoryModel.d.ts +1 -0
  85. package/dist/models/psql/lectureHistoryModel.js +65 -196
  86. package/dist/models/psql/lectureModel.d.ts +2 -0
  87. package/dist/models/psql/lectureModel.js +191 -454
  88. package/dist/models/psql/masterLeaveModel.d.ts +2 -0
  89. package/dist/models/psql/masterLeaveModel.js +71 -71
  90. package/dist/models/psql/moduleFeatureModel.d.ts +1 -0
  91. package/dist/models/psql/moduleFeatureModel.js +41 -44
  92. package/dist/models/psql/moduleModel.d.ts +1 -0
  93. package/dist/models/psql/moduleModel.js +48 -52
  94. package/dist/models/psql/offerModel.d.ts +1 -0
  95. package/dist/models/psql/offerModel.js +43 -64
  96. package/dist/models/psql/paymentTermsModel.d.ts +1 -0
  97. package/dist/models/psql/paymentTermsModel.js +43 -45
  98. package/dist/models/psql/pdcChequeModel.d.ts +1 -0
  99. package/dist/models/psql/pdcChequeModel.js +59 -64
  100. package/dist/models/psql/pdcHistoryModel.d.ts +1 -0
  101. package/dist/models/psql/pdcHistoryModel.js +55 -73
  102. package/dist/models/psql/pincodeModel.d.ts +1 -0
  103. package/dist/models/psql/pincodeModel.js +6 -9
  104. package/dist/models/psql/productModel.d.ts +1 -0
  105. package/dist/models/psql/productModel.js +40 -80
  106. package/dist/models/psql/projectAssessmentOptionModel.d.ts +1 -0
  107. package/dist/models/psql/projectAssessmentOptionModel.js +23 -45
  108. package/dist/models/psql/roleModel.d.ts +1 -0
  109. package/dist/models/psql/roleModel.js +15 -38
  110. package/dist/models/psql/rulesRegulationModel.d.ts +3 -2
  111. package/dist/models/psql/rulesRegulationModel.js +20 -33
  112. package/dist/models/psql/schoolFeeCollectionModel.d.ts +1 -0
  113. package/dist/models/psql/schoolFeeCollectionModel.js +47 -94
  114. package/dist/models/psql/schoolOfferModel.d.ts +1 -0
  115. package/dist/models/psql/schoolOfferModel.js +39 -78
  116. package/dist/models/psql/sendNotificationModel.d.ts +1 -0
  117. package/dist/models/psql/sendNotificationModel.js +37 -61
  118. package/dist/models/psql/slotModel.d.ts +2 -0
  119. package/dist/models/psql/slotModel.js +46 -58
  120. package/dist/models/psql/stateModel.d.ts +1 -0
  121. package/dist/models/psql/stateModel.js +17 -18
  122. package/dist/models/psql/subjectHasFeeModel.d.ts +1 -0
  123. package/dist/models/psql/subjectHasFeeModel.js +49 -46
  124. package/dist/models/psql/subjectHasPayFeeHistoryModel.d.ts +1 -0
  125. package/dist/models/psql/subjectHasPayFeeHistoryModel.js +74 -69
  126. package/dist/models/psql/syllabusModel.d.ts +1 -0
  127. package/dist/models/psql/syllabusModel.js +72 -85
  128. package/dist/models/psql/testimonialModel.d.ts +2 -0
  129. package/dist/models/psql/testimonialModel.js +97 -100
  130. package/dist/models/psql/toDoModel.d.ts +2 -0
  131. package/dist/models/psql/toDoModel.js +64 -64
  132. package/dist/models/psql/tripModel.d.ts +1 -0
  133. package/dist/models/psql/tripModel.js +51 -55
  134. package/dist/models/psql/typeManagementModel.d.ts +2 -0
  135. package/dist/models/psql/typeManagementModel.js +69 -69
  136. package/dist/models/psql/userBookAssessmentModel.d.ts +1 -0
  137. package/dist/models/psql/userBookAssessmentModel.js +83 -89
  138. package/dist/models/psql/userFeeTypeByAccountModel.d.ts +1 -0
  139. package/dist/models/psql/userFeeTypeByAccountModel.js +117 -122
  140. package/dist/models/psql/userFeeTypeModel.d.ts +1 -0
  141. package/dist/models/psql/userFeeTypeModel.js +97 -102
  142. package/dist/models/psql/userHasAnnouncementModel.d.ts +1 -0
  143. package/dist/models/psql/userHasAnnouncementModel.js +63 -66
  144. package/dist/models/psql/userHasBatchModel.d.ts +1 -0
  145. package/dist/models/psql/userHasBatchModel.js +55 -57
  146. package/dist/models/psql/userHasCourseModel.d.ts +1 -0
  147. package/dist/models/psql/userHasCourseModel.js +51 -55
  148. package/dist/models/psql/userHasDeviceModel.d.ts +1 -0
  149. package/dist/models/psql/userHasDeviceModel.js +35 -38
  150. package/dist/models/psql/userHasFeeTermsModel.d.ts +1 -0
  151. package/dist/models/psql/userHasFeeTermsModel.js +51 -117
  152. package/dist/models/psql/userHasFileModel.d.ts +1 -0
  153. package/dist/models/psql/userHasFileModel.js +33 -61
  154. package/dist/models/psql/userHasHomeWorkModel.d.ts +9 -6
  155. package/dist/models/psql/userHasHomeWorkModel.js +50 -72
  156. package/dist/models/psql/userHasInventoryHistoryModel.d.ts +5 -4
  157. package/dist/models/psql/userHasInventoryHistoryModel.js +42 -59
  158. package/dist/models/psql/userHasInventoryModel.d.ts +5 -4
  159. package/dist/models/psql/userHasInventoryModel.js +30 -54
  160. package/dist/models/psql/userHasLeaveHistoryModel.d.ts +5 -4
  161. package/dist/models/psql/userHasLeaveHistoryModel.js +21 -36
  162. package/dist/models/psql/userHasLeaveModel.d.ts +6 -5
  163. package/dist/models/psql/userHasLeaveModel.js +47 -68
  164. package/dist/models/psql/userHasOfferModel.d.ts +8 -7
  165. package/dist/models/psql/userHasOfferModel.js +54 -109
  166. package/dist/models/psql/userHasParentModel.d.ts +7 -5
  167. package/dist/models/psql/userHasParentModel.js +38 -65
  168. package/dist/models/psql/userHasRoleModel.d.ts +6 -5
  169. package/dist/models/psql/userHasRoleModel.js +27 -56
  170. package/dist/models/psql/userHasRollNumberModel.d.ts +5 -4
  171. package/dist/models/psql/userHasRollNumberModel.js +39 -54
  172. package/dist/models/psql/userHasStorageModel.d.ts +5 -4
  173. package/dist/models/psql/userHasStorageModel.js +31 -35
  174. package/dist/models/psql/userHasSubjectFeeModel.d.ts +5 -4
  175. package/dist/models/psql/userHasSubjectFeeModel.js +32 -47
  176. package/dist/models/psql/userLeaveRequestModel.d.ts +6 -5
  177. package/dist/models/psql/userLeaveRequestModel.js +24 -40
  178. package/dist/models/psql/userModel.d.ts +2 -2
  179. package/dist/models/psql/userModel.js +174 -370
  180. package/dist/models/psql/userPayoutDetailsModel.d.ts +1 -0
  181. package/dist/models/psql/userPayoutDetailsModel.js +65 -146
  182. package/dist/models/psql/userPayoutHistoryModel.d.ts +1 -0
  183. package/dist/models/psql/userPayoutHistoryModel.js +39 -66
  184. package/dist/models/psql/userPayoutModel.d.ts +2 -0
  185. package/dist/models/psql/userPayoutModel.js +205 -240
  186. package/dist/models/psql/userProjectAssessmentOptionModel.d.ts +1 -0
  187. package/dist/models/psql/userProjectAssessmentOptionModel.js +39 -74
  188. package/dist/models/psql/userRequiredStepsModel.d.ts +1 -0
  189. package/dist/models/psql/userRequiredStepsModel.js +23 -36
  190. package/dist/models/psql/vehicleModel.d.ts +1 -0
  191. package/dist/models/psql/vehicleModel.js +27 -53
  192. package/dist/models/psql/vendorManagementModel.d.ts +6 -5
  193. package/dist/models/psql/vendorManagementModel.js +48 -97
  194. package/dist/models/psql/walletHistoryModel.d.ts +2 -1
  195. package/dist/models/psql/walletHistoryModel.js +31 -33
  196. package/dist/models/psql/walletModel.d.ts +2 -1
  197. package/dist/models/psql/walletModel.js +28 -46
  198. package/dist/models/psql/workingDayModel.d.ts +3 -2
  199. package/dist/models/psql/workingDayModel.js +18 -31
  200. package/dist/models/psql/workingShiftModel.d.ts +3 -2
  201. package/dist/models/psql/workingShiftModel.js +43 -40
  202. package/dist/types/accountHasReceiptDetailsType.d.ts +1 -1
  203. package/dist/types/bannerType.d.ts +1 -1
  204. package/dist/types/batchSubjectBookAssessmentType.d.ts +1 -1
  205. package/dist/types/batchSubjectProjectAssessmentType.d.ts +1 -1
  206. package/dist/types/batchType.d.ts +1 -1
  207. package/dist/types/bookAssessmentDateType.d.ts +1 -1
  208. package/dist/types/examType.d.ts +1 -1
  209. package/dist/types/feeHistoryType.d.ts +1 -1
  210. package/dist/types/greetingsType.d.ts +1 -1
  211. package/dist/types/holidayType.js +1 -1
  212. package/dist/types/paymentTermsType.js +1 -1
  213. package/dist/types/projectAssessmentOptionType.d.ts +1 -1
  214. package/dist/types/subjectIndexType.d.ts +1 -1
  215. package/dist/types/syllabusType.d.ts +1 -1
  216. package/dist/types/testimonialType.d.ts +1 -1
  217. package/dist/types/userBookAssessmentType.d.ts +1 -1
  218. package/dist/types/userHasBatchType.d.ts +1 -1
  219. package/dist/types/userProjectAssessmentOptionType.d.ts +1 -1
  220. package/package.json +1 -1
@@ -6,13 +6,107 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const sequelize_1 = require("sequelize");
7
7
  const index_1 = require("./index");
8
8
  const app_1 = require("../../constants/app");
9
- const userModel_1 = __importDefault(require("./userModel"));
10
- const instituteModel_1 = __importDefault(require("./instituteModel"));
11
9
  const errorMessages_1 = require("../../constants/errorMessages");
12
10
  const utils_1 = require("../../helpers/utils");
13
- const instituteEntityModel_1 = __importDefault(require("./instituteEntityModel"));
14
11
  const userInstituteMetaModel_1 = __importDefault(require("../mongodb/userInstituteMetaModel"));
15
12
  class TestimonialModel extends sequelize_1.Model {
13
+ static associate(models) {
14
+ const { UserModel, InstituteModel } = models;
15
+ TestimonialModel.belongsTo(UserModel, {
16
+ foreignKey: {
17
+ name: 'createdBy',
18
+ allowNull: true,
19
+ field: 'created_by',
20
+ },
21
+ as: 'createdByUser',
22
+ });
23
+ TestimonialModel.belongsTo(UserModel, {
24
+ foreignKey: {
25
+ name: 'updatedBy',
26
+ allowNull: true,
27
+ field: 'updated_by',
28
+ },
29
+ as: 'updatedByUser',
30
+ });
31
+ TestimonialModel.belongsTo(UserModel, {
32
+ foreignKey: {
33
+ name: 'deletedBy',
34
+ allowNull: true,
35
+ field: 'deleted_by',
36
+ },
37
+ as: 'deletedByUser',
38
+ });
39
+ TestimonialModel.belongsTo(InstituteModel, {
40
+ foreignKey: 'instituteId',
41
+ as: 'testimonialInstitute',
42
+ });
43
+ InstituteModel.hasMany(TestimonialModel, {
44
+ foreignKey: 'instituteId',
45
+ as: 'instituteHasTestimonials',
46
+ });
47
+ TestimonialModel.belongsTo(UserModel, {
48
+ foreignKey: 'userId',
49
+ as: 'testimonialUser',
50
+ });
51
+ UserModel.hasMany(TestimonialModel, {
52
+ foreignKey: 'userId',
53
+ as: 'userHasTestimonials',
54
+ });
55
+ }
56
+ static addHooks(models) {
57
+ const { InstituteModel, UserModel, InstituteEntityModel } = models;
58
+ const beforeCreateOrUpdateHook = async (testimonial) => {
59
+ if (testimonial.instituteId) {
60
+ const institute = await InstituteModel.findByPk(testimonial.instituteId);
61
+ if (!institute) {
62
+ throw new Error(errorMessages_1.INSTITUTE_ERROR_MESSAGES.NOT_FOUND);
63
+ }
64
+ }
65
+ let user = null;
66
+ if (testimonial.userId) {
67
+ user = await UserModel.findByPk(testimonial.userId);
68
+ if (!user) {
69
+ throw new Error(errorMessages_1.USER_ERROR_MESSAGES.NOT_FOUND);
70
+ }
71
+ testimonial.userType = user.type;
72
+ }
73
+ testimonial.class = `${(0, utils_1.fromSnakeCaseToNormalText)(testimonial.userType)}`;
74
+ if (testimonial.userId && testimonial.instituteId && testimonial.userType !== app_1.USER_TYPES.PARENTS) {
75
+ const meta = await userInstituteMetaModel_1.default.findOne({
76
+ userId: testimonial.userId,
77
+ instituteId: testimonial.instituteId,
78
+ status: app_1.USER_INSTITUTE_META_STATUS.ACCEPTED,
79
+ });
80
+ if (!meta) {
81
+ throw new Error(errorMessages_1.USER_INSTITUTE_META_ERROR_MESSAGES.NOT_FOUND);
82
+ }
83
+ testimonial.userType = meta.userType;
84
+ let stdDataList = await InstituteEntityModel.findAll({
85
+ where: {
86
+ id: { [sequelize_1.Op.in]: meta.entities },
87
+ },
88
+ include: {
89
+ association: 'entityType',
90
+ required: true,
91
+ where: {
92
+ [sequelize_1.Op.or]: [
93
+ { title: { [sequelize_1.Op.iLike]: 'STANDARD' } },
94
+ { title: { [sequelize_1.Op.iLike]: 'MEDIUM' } },
95
+ ],
96
+ },
97
+ },
98
+ });
99
+ stdDataList = JSON.parse(JSON.stringify(stdDataList));
100
+ const className = stdDataList.find((item) => item.entityType?.title === 'STANDARD')?.title || null;
101
+ const mediumName = stdDataList.find((item) => item.entityType?.title === 'MEDIUM')?.title || null;
102
+ testimonial.class = `${(0, utils_1.capitalizeFirst)(mediumName.substring(0, 3))} Medium ${(0, utils_1.capitalizeFirst)(className)}`;
103
+ }
104
+ };
105
+ TestimonialModel.beforeCreate(beforeCreateOrUpdateHook);
106
+ TestimonialModel.beforeBulkUpdate(async (options) => {
107
+ await beforeCreateOrUpdateHook(options.attributes);
108
+ });
109
+ }
16
110
  }
17
111
  TestimonialModel.init({
18
112
  id: {
@@ -60,101 +154,4 @@ TestimonialModel.init({
60
154
  timestamps: true,
61
155
  sequelize: index_1.sequelize,
62
156
  });
63
- // Associations
64
- TestimonialModel.belongsTo(userModel_1.default, {
65
- foreignKey: {
66
- name: 'createdBy',
67
- allowNull: true,
68
- field: 'created_by',
69
- },
70
- as: 'createdByUser',
71
- });
72
- TestimonialModel.belongsTo(userModel_1.default, {
73
- foreignKey: {
74
- name: 'updatedBy',
75
- allowNull: true,
76
- field: 'updated_by',
77
- },
78
- as: 'updatedByUser',
79
- });
80
- TestimonialModel.belongsTo(userModel_1.default, {
81
- foreignKey: {
82
- name: 'deletedBy',
83
- allowNull: true,
84
- field: 'deleted_by',
85
- },
86
- as: 'deletedByUser',
87
- });
88
- TestimonialModel.belongsTo(instituteModel_1.default, {
89
- foreignKey: 'instituteId',
90
- as: 'testimonialInstitute',
91
- });
92
- instituteModel_1.default.hasMany(TestimonialModel, {
93
- foreignKey: 'instituteId',
94
- as: 'instituteHasTestimonials',
95
- });
96
- TestimonialModel.belongsTo(userModel_1.default, {
97
- foreignKey: 'userId',
98
- as: 'testimonialUser',
99
- });
100
- userModel_1.default.hasMany(TestimonialModel, {
101
- foreignKey: 'userId',
102
- as: 'userHasTestimonials',
103
- });
104
- const beforeCreateOrUpdateHook = async (testimonial) => {
105
- if (testimonial.instituteId) {
106
- const institute = await instituteModel_1.default.findByPk(testimonial.instituteId);
107
- if (!institute) {
108
- throw new Error(errorMessages_1.INSTITUTE_ERROR_MESSAGES.NOT_FOUND);
109
- }
110
- }
111
- let user = null;
112
- if (testimonial.userId) {
113
- user = await userModel_1.default.findByPk(testimonial.userId);
114
- if (!user) {
115
- throw new Error(errorMessages_1.USER_ERROR_MESSAGES.NOT_FOUND);
116
- }
117
- testimonial.userType = user.type;
118
- }
119
- testimonial.class = `${(0, utils_1.fromSnakeCaseToNormalText)(testimonial.userType)}`;
120
- if (testimonial.userId && testimonial.instituteId && testimonial.userType !== app_1.USER_TYPES.PARENTS) {
121
- const meta = await userInstituteMetaModel_1.default.findOne({
122
- userId: testimonial.userId,
123
- instituteId: testimonial.instituteId,
124
- status: app_1.USER_INSTITUTE_META_STATUS.ACCEPTED,
125
- });
126
- if (!meta) {
127
- throw new Error(errorMessages_1.USER_INSTITUTE_META_ERROR_MESSAGES.NOT_FOUND);
128
- }
129
- testimonial.userType = meta.userType;
130
- let stdDataList = await instituteEntityModel_1.default.findAll({
131
- where: {
132
- id: { [sequelize_1.Op.in]: meta.entities },
133
- },
134
- include: {
135
- association: 'entityType',
136
- required: true,
137
- where: {
138
- [sequelize_1.Op.or]: [
139
- { title: { [sequelize_1.Op.iLike]: 'STANDARD' } },
140
- { title: { [sequelize_1.Op.iLike]: 'MEDIUM' } },
141
- // { title: { [Op.iLike]: 'BOARD' } },
142
- // { title: { [Op.iLike]: 'STREAM' } },
143
- // { title: { [Op.iLike]: 'SUBJECT' } },
144
- ],
145
- },
146
- },
147
- });
148
- stdDataList = JSON.parse(JSON.stringify(stdDataList));
149
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
150
- const className = stdDataList.find((item) => item.entityType?.title === 'STANDARD')?.title || null;
151
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
152
- const mediumName = stdDataList.find((item) => item.entityType?.title === 'MEDIUM')?.title || null;
153
- testimonial.class = `${(0, utils_1.capitalizeFirst)(mediumName.substring(0, 3))} Medium ${(0, utils_1.capitalizeFirst)(className)}`;
154
- }
155
- };
156
- TestimonialModel.beforeCreate(beforeCreateOrUpdateHook);
157
- TestimonialModel.beforeBulkUpdate(async (options) => {
158
- await beforeCreateOrUpdateHook(options.attributes);
159
- });
160
157
  exports.default = TestimonialModel;
@@ -16,5 +16,7 @@ declare class ToDoModel extends Model<IToDoModelAttributes, TToDoModelCreationAt
16
16
  readonly createdAt: Date;
17
17
  readonly updatedAt: Date;
18
18
  readonly deletedAt?: Date;
19
+ static associate(models: any): void;
20
+ static addHooks(models: any): void;
19
21
  }
20
22
  export default ToDoModel;
@@ -1,15 +1,74 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  const sequelize_1 = require("sequelize");
7
4
  const index_1 = require("./index");
8
5
  const app_1 = require("../../constants/app");
9
- const userModel_1 = __importDefault(require("./userModel"));
10
- const instituteModel_1 = __importDefault(require("./instituteModel"));
11
6
  const errorMessages_1 = require("../../constants/errorMessages");
12
7
  class ToDoModel extends sequelize_1.Model {
8
+ static associate(models) {
9
+ const { UserModel, InstituteModel } = models;
10
+ ToDoModel.belongsTo(UserModel, {
11
+ foreignKey: {
12
+ name: 'createdBy',
13
+ allowNull: true,
14
+ field: 'created_by',
15
+ },
16
+ as: 'createdByUser',
17
+ });
18
+ ToDoModel.belongsTo(UserModel, {
19
+ foreignKey: {
20
+ name: 'updatedBy',
21
+ allowNull: true,
22
+ field: 'updated_by',
23
+ },
24
+ as: 'updatedByUser',
25
+ });
26
+ ToDoModel.belongsTo(UserModel, {
27
+ foreignKey: {
28
+ name: 'deletedBy',
29
+ allowNull: true,
30
+ field: 'deleted_by',
31
+ },
32
+ as: 'deletedByUser',
33
+ });
34
+ ToDoModel.belongsTo(InstituteModel, {
35
+ foreignKey: 'instituteId',
36
+ as: 'toDoInstitute',
37
+ });
38
+ InstituteModel.hasMany(ToDoModel, {
39
+ foreignKey: 'instituteId',
40
+ as: 'instituteHasToDos',
41
+ });
42
+ ToDoModel.belongsTo(UserModel, {
43
+ foreignKey: 'userId',
44
+ as: 'toDoUser',
45
+ });
46
+ UserModel.hasMany(ToDoModel, {
47
+ foreignKey: 'userId',
48
+ as: 'userHasToDos',
49
+ });
50
+ }
51
+ static addHooks(models) {
52
+ const { InstituteModel, UserModel } = models;
53
+ const beforeCreateOrUpdateHook = async (toDo) => {
54
+ if (toDo.instituteId) {
55
+ const institute = await InstituteModel.findByPk(toDo.instituteId);
56
+ if (!institute) {
57
+ throw new Error(errorMessages_1.INSTITUTE_ERROR_MESSAGES.NOT_FOUND);
58
+ }
59
+ }
60
+ if (toDo.userId) {
61
+ const user = await UserModel.findByPk(toDo.userId);
62
+ if (!user) {
63
+ throw new Error(errorMessages_1.USER_ERROR_MESSAGES.NOT_FOUND);
64
+ }
65
+ }
66
+ };
67
+ ToDoModel.beforeCreate(beforeCreateOrUpdateHook);
68
+ ToDoModel.beforeBulkUpdate(async (options) => {
69
+ await beforeCreateOrUpdateHook(options.attributes);
70
+ });
71
+ }
13
72
  }
14
73
  ToDoModel.init({
15
74
  id: {
@@ -54,63 +113,4 @@ ToDoModel.init({
54
113
  timestamps: true,
55
114
  sequelize: index_1.sequelize,
56
115
  });
57
- // Associations
58
- ToDoModel.belongsTo(userModel_1.default, {
59
- foreignKey: {
60
- name: 'createdBy',
61
- allowNull: true,
62
- field: 'created_by',
63
- },
64
- as: 'createdByUser',
65
- });
66
- ToDoModel.belongsTo(userModel_1.default, {
67
- foreignKey: {
68
- name: 'updatedBy',
69
- allowNull: true,
70
- field: 'updated_by',
71
- },
72
- as: 'updatedByUser',
73
- });
74
- ToDoModel.belongsTo(userModel_1.default, {
75
- foreignKey: {
76
- name: 'deletedBy',
77
- allowNull: true,
78
- field: 'deleted_by',
79
- },
80
- as: 'deletedByUser',
81
- });
82
- ToDoModel.belongsTo(instituteModel_1.default, {
83
- foreignKey: 'instituteId',
84
- as: 'toDoInstitute',
85
- });
86
- instituteModel_1.default.hasMany(ToDoModel, {
87
- foreignKey: 'instituteId',
88
- as: 'instituteHasToDos',
89
- });
90
- ToDoModel.belongsTo(userModel_1.default, {
91
- foreignKey: 'userId',
92
- as: 'toDoUser',
93
- });
94
- userModel_1.default.hasMany(ToDoModel, {
95
- foreignKey: 'userId',
96
- as: 'userHasToDos',
97
- });
98
- const beforeCreateOrUpdateHook = async (toDo) => {
99
- if (toDo.instituteId) {
100
- const institute = await instituteModel_1.default.findByPk(toDo.instituteId);
101
- if (!institute) {
102
- throw new Error(errorMessages_1.INSTITUTE_ERROR_MESSAGES.NOT_FOUND);
103
- }
104
- }
105
- if (toDo.userId) {
106
- const user = await userModel_1.default.findByPk(toDo.userId);
107
- if (!user) {
108
- throw new Error(errorMessages_1.USER_ERROR_MESSAGES.NOT_FOUND);
109
- }
110
- }
111
- };
112
- ToDoModel.beforeCreate(beforeCreateOrUpdateHook);
113
- ToDoModel.beforeBulkUpdate(async (options) => {
114
- await beforeCreateOrUpdateHook(options.attributes);
115
- });
116
116
  exports.default = ToDoModel;
@@ -18,5 +18,6 @@ declare class TripModel extends Model<ITripModelAttributes, TTripModelCreationAt
18
18
  readonly createdAt: Date;
19
19
  readonly updatedAt: Date;
20
20
  readonly deletedAt?: Date;
21
+ static associate(models: any): void;
21
22
  }
22
23
  export default TripModel;
@@ -1,15 +1,60 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  const sequelize_1 = require("sequelize");
7
4
  const index_1 = require("./index");
8
5
  const app_1 = require("../../constants/app");
9
- const userModel_1 = __importDefault(require("./userModel"));
10
- const instituteModel_1 = __importDefault(require("./instituteModel"));
11
- const vehicleModel_1 = __importDefault(require("./vehicleModel"));
12
6
  class TripModel extends sequelize_1.Model {
7
+ static associate(models) {
8
+ const { UserModel, VehicleModel, InstituteModel } = models;
9
+ TripModel.belongsTo(UserModel, {
10
+ foreignKey: {
11
+ name: 'createdBy',
12
+ allowNull: true,
13
+ field: 'created_by',
14
+ },
15
+ as: 'createdByUser',
16
+ });
17
+ TripModel.belongsTo(UserModel, {
18
+ foreignKey: {
19
+ name: 'updatedBy',
20
+ allowNull: true,
21
+ field: 'updated_by',
22
+ },
23
+ as: 'updatedByUser',
24
+ });
25
+ TripModel.belongsTo(UserModel, {
26
+ foreignKey: {
27
+ name: 'deletedBy',
28
+ allowNull: true,
29
+ field: 'deleted_by',
30
+ },
31
+ as: 'deletedByUser',
32
+ });
33
+ TripModel.belongsTo(VehicleModel, {
34
+ foreignKey: 'vehicleId',
35
+ as: 'tripVehicle',
36
+ });
37
+ VehicleModel.hasMany(TripModel, {
38
+ foreignKey: 'vehicleId',
39
+ as: 'tripHasVehicle',
40
+ });
41
+ TripModel.belongsTo(InstituteModel, {
42
+ foreignKey: 'instituteId',
43
+ as: 'tripInstitute',
44
+ });
45
+ InstituteModel.hasMany(TripModel, {
46
+ foreignKey: 'instituteId',
47
+ as: 'instituteHasTrips',
48
+ });
49
+ TripModel.belongsTo(UserModel, {
50
+ foreignKey: 'driverId',
51
+ as: 'driver',
52
+ });
53
+ UserModel.hasMany(TripModel, {
54
+ foreignKey: 'driverId',
55
+ as: 'tripHasDriver',
56
+ });
57
+ }
13
58
  }
14
59
  TripModel.init({
15
60
  id: {
@@ -62,53 +107,4 @@ TripModel.init({
62
107
  timestamps: true,
63
108
  sequelize: index_1.sequelize,
64
109
  });
65
- // Associations
66
- TripModel.belongsTo(userModel_1.default, {
67
- foreignKey: {
68
- name: 'createdBy',
69
- allowNull: true,
70
- field: 'created_by',
71
- },
72
- as: 'createdByUser',
73
- });
74
- TripModel.belongsTo(userModel_1.default, {
75
- foreignKey: {
76
- name: 'updatedBy',
77
- allowNull: true,
78
- field: 'updated_by',
79
- },
80
- as: 'updatedByUser',
81
- });
82
- TripModel.belongsTo(userModel_1.default, {
83
- foreignKey: {
84
- name: 'deletedBy',
85
- allowNull: true,
86
- field: 'deleted_by',
87
- },
88
- as: 'deletedByUser',
89
- });
90
- TripModel.belongsTo(vehicleModel_1.default, {
91
- foreignKey: 'vehicleId',
92
- as: 'tripVehicle',
93
- });
94
- vehicleModel_1.default.hasMany(TripModel, {
95
- foreignKey: 'vehicleId',
96
- as: 'tripHasVehicle',
97
- });
98
- TripModel.belongsTo(instituteModel_1.default, {
99
- foreignKey: 'instituteId',
100
- as: 'tripInstitute',
101
- });
102
- instituteModel_1.default.hasMany(TripModel, {
103
- foreignKey: 'instituteId',
104
- as: 'instituteHasTrips',
105
- });
106
- TripModel.belongsTo(userModel_1.default, {
107
- foreignKey: 'driverId',
108
- as: 'driver',
109
- });
110
- userModel_1.default.hasMany(TripModel, {
111
- foreignKey: 'driverId',
112
- as: 'tripHasDriver',
113
- });
114
110
  exports.default = TripModel;
@@ -16,5 +16,7 @@ declare class TypeManagementModel extends Model<ITypeManagementModelAttributes,
16
16
  readonly createdAt: Date;
17
17
  readonly deletedAt: string;
18
18
  readonly updatedAt: Date;
19
+ static associate(models: any): void;
20
+ static addHooks(models: any): void;
19
21
  }
20
22
  export default TypeManagementModel;
@@ -1,15 +1,79 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  const sequelize_1 = require("sequelize");
7
4
  const index_1 = require("./index");
8
5
  const app_1 = require("../../constants/app");
9
- const instituteModel_1 = __importDefault(require("./instituteModel"));
10
- const userModel_1 = __importDefault(require("./userModel"));
11
6
  const errorMessages_1 = require("../../constants/errorMessages");
12
7
  class TypeManagementModel extends sequelize_1.Model {
8
+ static associate(models) {
9
+ const { UserModel, InstituteModel } = models;
10
+ TypeManagementModel.belongsTo(InstituteModel, {
11
+ foreignKey: {
12
+ name: 'instituteId',
13
+ field: 'institute_id',
14
+ },
15
+ as: 'institute',
16
+ });
17
+ InstituteModel.hasMany(TypeManagementModel, {
18
+ foreignKey: 'instituteId',
19
+ as: 'typeManagements',
20
+ });
21
+ TypeManagementModel.belongsTo(UserModel, {
22
+ foreignKey: {
23
+ name: 'createdBy',
24
+ allowNull: true,
25
+ field: 'created_by',
26
+ },
27
+ as: 'createdByUser',
28
+ });
29
+ TypeManagementModel.belongsTo(UserModel, {
30
+ foreignKey: {
31
+ name: 'updatedBy',
32
+ allowNull: true,
33
+ field: 'updated_by',
34
+ },
35
+ as: 'updatedByUser',
36
+ });
37
+ TypeManagementModel.belongsTo(UserModel, {
38
+ foreignKey: {
39
+ name: 'deletedBy',
40
+ allowNull: true,
41
+ field: 'deleted_by',
42
+ },
43
+ as: 'deletedByUser',
44
+ });
45
+ }
46
+ static addHooks(models) {
47
+ const beforeCreateOrUpdateHook = async (type) => {
48
+ const { InstituteModel } = models;
49
+ if (type.instituteId) {
50
+ const institute = await InstituteModel.findByPk(type.instituteId);
51
+ if (!institute) {
52
+ throw new Error(errorMessages_1.INSTITUTE_ERROR_MESSAGES.NOT_FOUND);
53
+ }
54
+ }
55
+ if (type.title && type.instituteId && type.type) {
56
+ const typeExist = await TypeManagementModel.findOne({
57
+ where: {
58
+ title: type.title,
59
+ instituteId: type.instituteId,
60
+ type: type.type,
61
+ },
62
+ });
63
+ if (typeExist)
64
+ throw new Error(errorMessages_1.TYPE_MANAGEMENT_ERROR_MESSAGES.TYPE_ALREADY_EXISTS);
65
+ }
66
+ };
67
+ TypeManagementModel.beforeCreate(beforeCreateOrUpdateHook);
68
+ TypeManagementModel.beforeBulkUpdate(async (options) => {
69
+ await beforeCreateOrUpdateHook(options.attributes);
70
+ });
71
+ TypeManagementModel.beforeBulkCreate(async (instances) => {
72
+ for (const instance of instances) {
73
+ await beforeCreateOrUpdateHook(instance);
74
+ }
75
+ });
76
+ }
13
77
  }
14
78
  TypeManagementModel.init({
15
79
  id: {
@@ -55,68 +119,4 @@ TypeManagementModel.init({
55
119
  timestamps: true,
56
120
  sequelize: index_1.sequelize,
57
121
  });
58
- const beforeCreateOrUpdateHook = async (type) => {
59
- if (type.instituteId) {
60
- const institute = await instituteModel_1.default.findByPk(type.instituteId);
61
- if (!institute) {
62
- throw new Error(errorMessages_1.INSTITUTE_ERROR_MESSAGES.NOT_FOUND);
63
- }
64
- }
65
- if (type.title && type.instituteId && type.type) {
66
- const typeExit = await TypeManagementModel.findOne({
67
- where: {
68
- title: type.title,
69
- instituteId: type.instituteId,
70
- type: type.type,
71
- },
72
- });
73
- if (typeExit)
74
- throw new Error(errorMessages_1.TYPE_MANAGEMENT_ERROR_MESSAGES.TYPE_ALREADY_EXISTS);
75
- }
76
- };
77
- TypeManagementModel.beforeCreate(beforeCreateOrUpdateHook);
78
- TypeManagementModel.beforeBulkUpdate(async (options) => {
79
- await beforeCreateOrUpdateHook(options.attributes);
80
- });
81
- TypeManagementModel.beforeBulkCreate(async (instances) => {
82
- for (const instance of instances) {
83
- await beforeCreateOrUpdateHook(instance);
84
- }
85
- });
86
- // TypeManagementModel belongs to InstituteModel
87
- TypeManagementModel.belongsTo(instituteModel_1.default, {
88
- foreignKey: {
89
- name: 'instituteId',
90
- field: 'institute_id',
91
- },
92
- as: 'institute',
93
- });
94
- instituteModel_1.default.hasMany(TypeManagementModel, {
95
- foreignKey: 'instituteId',
96
- as: 'typeManagements',
97
- });
98
- TypeManagementModel.belongsTo(userModel_1.default, {
99
- foreignKey: {
100
- name: 'createdBy',
101
- allowNull: true,
102
- field: 'created_by',
103
- },
104
- as: 'createdByUser',
105
- });
106
- TypeManagementModel.belongsTo(userModel_1.default, {
107
- foreignKey: {
108
- name: 'updatedBy',
109
- allowNull: true,
110
- field: 'updated_by',
111
- },
112
- as: 'updatedByUser',
113
- });
114
- TypeManagementModel.belongsTo(userModel_1.default, {
115
- foreignKey: {
116
- name: 'deletedBy',
117
- allowNull: true,
118
- field: 'deleted_by',
119
- },
120
- as: 'deletedByUser',
121
- });
122
122
  exports.default = TypeManagementModel;
@@ -15,5 +15,6 @@ declare class UserBookAssessmentModel extends Model<IUserBookAssessmentModelAttr
15
15
  readonly createdAt: Date;
16
16
  readonly deletedAt: string;
17
17
  readonly updatedAt: Date;
18
+ static associate(models: any): void;
18
19
  }
19
20
  export default UserBookAssessmentModel;