@kipicore/dbcore 1.1.32 → 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 -3
  4. package/dist/models/psql/academicCalendarModel.js +45 -42
  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
@@ -1,17 +1,75 @@
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
- const fileStorageModel_1 = __importDefault(require("./fileStorageModel"));
13
7
  class GreetingsModel extends sequelize_1.Model {
8
+ static associate(models) {
9
+ const { UserModel, InstituteModel, FileStorageModel } = models;
10
+ GreetingsModel.belongsTo(UserModel, {
11
+ foreignKey: {
12
+ name: 'createdBy',
13
+ allowNull: true,
14
+ field: 'created_by',
15
+ },
16
+ as: 'createdByUser',
17
+ });
18
+ GreetingsModel.belongsTo(UserModel, {
19
+ foreignKey: {
20
+ name: 'updatedBy',
21
+ allowNull: true,
22
+ field: 'updated_by',
23
+ },
24
+ as: 'updatedByUser',
25
+ });
26
+ GreetingsModel.belongsTo(UserModel, {
27
+ foreignKey: {
28
+ name: 'deletedBy',
29
+ allowNull: true,
30
+ field: 'deleted_by',
31
+ },
32
+ as: 'deletedByUser',
33
+ });
34
+ GreetingsModel.belongsTo(InstituteModel, {
35
+ foreignKey: 'instituteId',
36
+ as: 'greetingsInstitute',
37
+ });
38
+ InstituteModel.hasMany(GreetingsModel, {
39
+ foreignKey: 'instituteId',
40
+ as: 'instituteHasGreetings',
41
+ });
42
+ GreetingsModel.belongsTo(FileStorageModel, {
43
+ foreignKey: {
44
+ name: 'image',
45
+ allowNull: true,
46
+ },
47
+ as: 'greetingsImage',
48
+ });
49
+ FileStorageModel.hasMany(GreetingsModel, {
50
+ foreignKey: {
51
+ name: 'image',
52
+ allowNull: true,
53
+ },
54
+ as: 'imageHasGreetings',
55
+ });
56
+ }
57
+ static addHooks(models) {
58
+ const beforeCreateOrUpdateHook = async (greetings) => {
59
+ if (greetings.instituteId) {
60
+ const institute = await models.InstituteModel.findByPk(greetings.instituteId);
61
+ if (!institute) {
62
+ throw new Error(errorMessages_1.INSTITUTE_ERROR_MESSAGES.NOT_FOUND);
63
+ }
64
+ }
65
+ };
66
+ GreetingsModel.beforeCreate(beforeCreateOrUpdateHook);
67
+ GreetingsModel.beforeBulkUpdate(async (options) => {
68
+ await beforeCreateOrUpdateHook(options.attributes);
69
+ });
70
+ }
14
71
  }
72
+ exports.default = GreetingsModel;
15
73
  GreetingsModel.init({
16
74
  id: {
17
75
  type: sequelize_1.DataTypes.UUID,
@@ -56,63 +114,3 @@ GreetingsModel.init({
56
114
  timestamps: true,
57
115
  sequelize: index_1.sequelize,
58
116
  });
59
- // Associations
60
- GreetingsModel.belongsTo(userModel_1.default, {
61
- foreignKey: {
62
- name: 'createdBy',
63
- allowNull: true,
64
- field: 'created_by',
65
- },
66
- as: 'createdByUser',
67
- });
68
- GreetingsModel.belongsTo(userModel_1.default, {
69
- foreignKey: {
70
- name: 'updatedBy',
71
- allowNull: true,
72
- field: 'updated_by',
73
- },
74
- as: 'updatedByUser',
75
- });
76
- GreetingsModel.belongsTo(userModel_1.default, {
77
- foreignKey: {
78
- name: 'deletedBy',
79
- allowNull: true,
80
- field: 'deleted_by',
81
- },
82
- as: 'deletedByUser',
83
- });
84
- GreetingsModel.belongsTo(instituteModel_1.default, {
85
- foreignKey: 'instituteId',
86
- as: 'greetingsInstitute',
87
- });
88
- instituteModel_1.default.hasMany(GreetingsModel, {
89
- foreignKey: 'instituteId',
90
- as: 'instituteHasGreetings',
91
- });
92
- GreetingsModel.belongsTo(fileStorageModel_1.default, {
93
- foreignKey: {
94
- name: 'image',
95
- allowNull: true,
96
- },
97
- as: 'greetingsImage',
98
- });
99
- fileStorageModel_1.default.hasMany(GreetingsModel, {
100
- foreignKey: {
101
- name: 'image',
102
- allowNull: true,
103
- },
104
- as: 'imageHasGreetings',
105
- });
106
- const beforeCreateOrUpdateHook = async (greetings) => {
107
- if (greetings.instituteId) {
108
- const institute = await instituteModel_1.default.findByPk(greetings.instituteId);
109
- if (!institute) {
110
- throw new Error(errorMessages_1.INSTITUTE_ERROR_MESSAGES.NOT_FOUND);
111
- }
112
- }
113
- };
114
- GreetingsModel.beforeCreate(beforeCreateOrUpdateHook);
115
- GreetingsModel.beforeBulkUpdate(async (options) => {
116
- await beforeCreateOrUpdateHook(options.attributes);
117
- });
118
- exports.default = GreetingsModel;
@@ -18,5 +18,6 @@ declare class HomeWorkModel extends Model<IHomeWorkModelAttributes, THomeWorkMod
18
18
  readonly createdAt: Date;
19
19
  readonly deletedAt: string;
20
20
  readonly updatedAt: Date;
21
+ static associate(models: any): void;
21
22
  }
22
23
  export default HomeWorkModel;
@@ -1,16 +1,48 @@
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
- const app_1 = require("../../constants/app");
8
- const instituteModel_1 = __importDefault(require("./instituteModel"));
9
- const batchModel_1 = __importDefault(require("./batchModel"));
10
4
  const index_1 = require("./index");
11
- const userModel_1 = __importDefault(require("./userModel"));
12
- const instituteEntityModel_1 = __importDefault(require("./instituteEntityModel"));
5
+ const app_1 = require("../../constants/app");
13
6
  class HomeWorkModel extends sequelize_1.Model {
7
+ static associate(models) {
8
+ const { UserModel, BatchModel, InstituteModel, InstituteEntityModel } = models;
9
+ HomeWorkModel.belongsTo(UserModel, {
10
+ foreignKey: { name: 'createdBy', allowNull: true, field: 'created_by' },
11
+ as: 'createdByUser',
12
+ });
13
+ HomeWorkModel.belongsTo(UserModel, {
14
+ foreignKey: { name: 'updatedBy', allowNull: true, field: 'updated_by' },
15
+ as: 'updatedByUser',
16
+ });
17
+ HomeWorkModel.belongsTo(UserModel, {
18
+ foreignKey: { name: 'deletedBy', allowNull: true, field: 'deleted_by' },
19
+ as: 'deletedByUser',
20
+ });
21
+ HomeWorkModel.belongsTo(BatchModel, {
22
+ foreignKey: { name: 'batchId' },
23
+ as: 'batch',
24
+ });
25
+ BatchModel.hasMany(HomeWorkModel, {
26
+ foreignKey: { name: 'batchId' },
27
+ as: 'homework',
28
+ });
29
+ HomeWorkModel.belongsTo(InstituteModel, {
30
+ foreignKey: { name: 'instituteId' },
31
+ as: 'institute',
32
+ });
33
+ InstituteModel.hasMany(HomeWorkModel, {
34
+ foreignKey: { name: 'instituteId' },
35
+ as: 'homework_institute',
36
+ });
37
+ InstituteEntityModel.hasMany(HomeWorkModel, {
38
+ foreignKey: { name: 'subjectId', field: 'subject_id' },
39
+ as: 'subjectHomeWorkList',
40
+ });
41
+ HomeWorkModel.belongsTo(InstituteEntityModel, {
42
+ foreignKey: { name: 'subjectId', field: 'subject_id' },
43
+ as: 'homeWorkSubject',
44
+ });
45
+ }
14
46
  }
15
47
  HomeWorkModel.init({
16
48
  id: {
@@ -63,66 +95,4 @@ HomeWorkModel.init({
63
95
  timestamps: true,
64
96
  sequelize: index_1.sequelize,
65
97
  });
66
- HomeWorkModel.belongsTo(userModel_1.default, {
67
- foreignKey: {
68
- name: 'createdBy',
69
- allowNull: true,
70
- field: 'created_by',
71
- },
72
- as: 'createdByUser',
73
- });
74
- HomeWorkModel.belongsTo(userModel_1.default, {
75
- foreignKey: {
76
- name: 'updatedBy',
77
- allowNull: true,
78
- field: 'updated_by',
79
- },
80
- as: 'updatedByUser',
81
- });
82
- HomeWorkModel.belongsTo(userModel_1.default, {
83
- foreignKey: {
84
- name: 'deletedBy',
85
- allowNull: true,
86
- field: 'deleted_by',
87
- },
88
- as: 'deletedByUser',
89
- });
90
- HomeWorkModel.belongsTo(batchModel_1.default, {
91
- foreignKey: {
92
- name: 'batchId',
93
- },
94
- as: 'batch',
95
- });
96
- batchModel_1.default.hasMany(HomeWorkModel, {
97
- foreignKey: {
98
- name: 'batchId',
99
- },
100
- as: 'homework',
101
- });
102
- HomeWorkModel.belongsTo(instituteModel_1.default, {
103
- foreignKey: {
104
- name: 'instituteId',
105
- },
106
- as: 'institute',
107
- });
108
- instituteModel_1.default.hasMany(HomeWorkModel, {
109
- foreignKey: {
110
- name: 'instituteId',
111
- },
112
- as: 'homework_institute',
113
- });
114
- instituteEntityModel_1.default.hasMany(HomeWorkModel, {
115
- foreignKey: {
116
- name: 'subjectId',
117
- field: 'subject_id',
118
- },
119
- as: 'subjectHomeWorkList',
120
- });
121
- HomeWorkModel.belongsTo(instituteEntityModel_1.default, {
122
- foreignKey: {
123
- name: 'subjectId',
124
- field: 'subject_id',
125
- },
126
- as: 'homeWorkSubject',
127
- });
128
98
  exports.default = HomeWorkModel;
@@ -30,17 +30,20 @@ exports.sequelize = sequelize;
30
30
  // add all models
31
31
  // Load models
32
32
  fs_1.default.readdirSync(__dirname)
33
- .filter(file => file.indexOf('.') !== 0 && file !== 'index' && file.slice(-3) === '.js')
33
+ .filter(file => file.indexOf('.') !== 0 && (file !== 'index') && file.slice(-3) === '.js')
34
34
  .forEach(file => {
35
35
  const modelDefiner = require(path_1.default.join(__dirname, file));
36
36
  const model = modelDefiner.default ? modelDefiner.default(sequelize) : modelDefiner(sequelize);
37
37
  db[model.name] = model;
38
38
  });
39
- // Run associations
39
+ // Run associate
40
40
  Object.keys(db).forEach(modelName => {
41
- if (typeof db[modelName].associate === 'function') {
41
+ if (db[modelName].associate && typeof db[modelName].associate === 'function') {
42
42
  db[modelName].associate(db);
43
43
  }
44
+ if (db[modelName].addHooks && typeof db[modelName].addHooks === 'function') {
45
+ db[modelName].addHooks(db);
46
+ }
44
47
  });
45
48
  sequelize.addHook('beforeBulkDestroy', async (options) => {
46
49
  const userId = options.userId; // Pass the user ID through options
@@ -21,5 +21,6 @@ declare class InstituteEntityModel extends Model<IInstituteEntityAttributes, TIn
21
21
  readonly createdAt: Date;
22
22
  readonly deletedAt: string;
23
23
  readonly updatedAt: Date;
24
+ static associate(models: any): void;
24
25
  }
25
26
  export default InstituteEntityModel;
@@ -1,15 +1,68 @@
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 instituteEntityTypeModel_1 = __importDefault(require("./instituteEntityTypeModel"));
11
- const instituteModel_1 = __importDefault(require("./instituteModel"));
12
6
  class InstituteEntityModel extends sequelize_1.Model {
7
+ static associate(models) {
8
+ const { UserModel, InstituteEntityTypeModel, InstituteModel } = models;
9
+ InstituteEntityModel.belongsTo(UserModel, {
10
+ foreignKey: {
11
+ name: 'createdBy',
12
+ allowNull: true,
13
+ field: 'created_by',
14
+ },
15
+ as: 'createdByUser',
16
+ });
17
+ InstituteEntityModel.belongsTo(UserModel, {
18
+ foreignKey: {
19
+ name: 'updatedBy',
20
+ allowNull: true,
21
+ field: 'updated_by',
22
+ },
23
+ as: 'updatedByUser',
24
+ });
25
+ InstituteEntityModel.belongsTo(UserModel, {
26
+ foreignKey: {
27
+ name: 'deletedBy',
28
+ allowNull: true,
29
+ field: 'deleted_by',
30
+ },
31
+ as: 'deletedByUser',
32
+ });
33
+ InstituteEntityModel.hasMany(InstituteEntityModel, {
34
+ foreignKey: {
35
+ name: 'entityId',
36
+ allowNull: true,
37
+ field: 'entity_id',
38
+ },
39
+ as: 'entities',
40
+ });
41
+ InstituteEntityModel.belongsTo(InstituteEntityTypeModel, {
42
+ foreignKey: {
43
+ name: 'entityTypeId',
44
+ allowNull: false,
45
+ field: 'entity_type_id',
46
+ },
47
+ as: 'entityType',
48
+ });
49
+ InstituteEntityModel.belongsTo(InstituteModel, {
50
+ foreignKey: {
51
+ name: 'instituteId',
52
+ allowNull: true,
53
+ field: 'institute_id',
54
+ },
55
+ as: 'institute',
56
+ });
57
+ InstituteModel.hasMany(InstituteEntityModel, {
58
+ foreignKey: {
59
+ name: 'instituteId',
60
+ allowNull: true,
61
+ field: 'institute_id',
62
+ },
63
+ as: 'instituteEntities',
64
+ });
65
+ }
13
66
  }
14
67
  InstituteEntityModel.init({
15
68
  id: {
@@ -72,60 +125,4 @@ InstituteEntityModel.init({
72
125
  timestamps: true,
73
126
  sequelize: index_1.sequelize,
74
127
  });
75
- InstituteEntityModel.belongsTo(userModel_1.default, {
76
- foreignKey: {
77
- name: 'createdBy',
78
- allowNull: true,
79
- field: 'created_by',
80
- },
81
- as: 'createdByUser',
82
- });
83
- InstituteEntityModel.belongsTo(userModel_1.default, {
84
- foreignKey: {
85
- name: 'updatedBy',
86
- allowNull: true,
87
- field: 'updated_by',
88
- },
89
- as: 'updatedByUser',
90
- });
91
- InstituteEntityModel.belongsTo(userModel_1.default, {
92
- foreignKey: {
93
- name: 'deletedBy',
94
- allowNull: true,
95
- field: 'deleted_by',
96
- },
97
- as: 'deletedByUser',
98
- });
99
- InstituteEntityModel.hasMany(InstituteEntityModel, {
100
- foreignKey: {
101
- name: 'entityId',
102
- allowNull: true,
103
- field: 'entity_id',
104
- },
105
- as: 'entities',
106
- });
107
- InstituteEntityModel.belongsTo(instituteEntityTypeModel_1.default, {
108
- foreignKey: {
109
- name: 'entityTypeId',
110
- allowNull: false,
111
- field: 'entity_type_id',
112
- },
113
- as: 'entityType',
114
- });
115
- InstituteEntityModel.belongsTo(instituteModel_1.default, {
116
- foreignKey: {
117
- name: 'instituteId',
118
- allowNull: true,
119
- field: 'institute_id',
120
- },
121
- as: 'institute',
122
- });
123
- instituteModel_1.default.hasMany(InstituteEntityModel, {
124
- foreignKey: {
125
- name: 'instituteId',
126
- allowNull: true,
127
- field: 'institute_id',
128
- },
129
- as: 'instituteEntities',
130
- });
131
128
  exports.default = InstituteEntityModel;
@@ -15,5 +15,6 @@ declare class InstituteEntityTypeModel extends Model<IInstituteEntityTypeAttribu
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 InstituteEntityTypeModel;
@@ -1,13 +1,24 @@
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
6
  class InstituteEntityTypeModel extends sequelize_1.Model {
7
+ static associate(models) {
8
+ const { UserModel } = models;
9
+ InstituteEntityTypeModel.belongsTo(UserModel, {
10
+ foreignKey: { name: 'createdBy', allowNull: true, field: 'created_by' },
11
+ as: 'createdByUser',
12
+ });
13
+ InstituteEntityTypeModel.belongsTo(UserModel, {
14
+ foreignKey: { name: 'updatedBy', allowNull: true, field: 'updated_by' },
15
+ as: 'updatedByUser',
16
+ });
17
+ InstituteEntityTypeModel.belongsTo(UserModel, {
18
+ foreignKey: { name: 'deletedBy', allowNull: true, field: 'deleted_by' },
19
+ as: 'deletedByUser',
20
+ });
21
+ }
11
22
  }
12
23
  InstituteEntityTypeModel.init({
13
24
  id: {
@@ -47,28 +58,4 @@ InstituteEntityTypeModel.init({
47
58
  timestamps: true,
48
59
  sequelize: index_1.sequelize,
49
60
  });
50
- InstituteEntityTypeModel.belongsTo(userModel_1.default, {
51
- foreignKey: {
52
- name: 'createdBy',
53
- allowNull: true,
54
- field: 'created_by',
55
- },
56
- as: 'createdByUser',
57
- });
58
- InstituteEntityTypeModel.belongsTo(userModel_1.default, {
59
- foreignKey: {
60
- name: 'updatedBy',
61
- allowNull: true,
62
- field: 'updated_by',
63
- },
64
- as: 'updatedByUser',
65
- });
66
- InstituteEntityTypeModel.belongsTo(userModel_1.default, {
67
- foreignKey: {
68
- name: 'deletedBy',
69
- allowNull: true,
70
- field: 'deleted_by',
71
- },
72
- as: 'deletedByUser',
73
- });
74
61
  exports.default = InstituteEntityTypeModel;
@@ -40,5 +40,6 @@ declare class InstituteModel extends Model<IInstituteAttributes, TInstituteCreat
40
40
  readonly createdAt: Date;
41
41
  readonly deletedAt: string;
42
42
  readonly updatedAt: Date;
43
+ static associate(models: any): void;
43
44
  }
44
45
  export default InstituteModel;