@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,19 +1,101 @@
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 });
3
+ exports.AnnouncementModel = void 0;
6
4
  const sequelize_1 = require("sequelize");
7
5
  const index_1 = require("./index");
8
6
  const app_1 = require("../../constants/app");
9
- const userModel_1 = __importDefault(require("./userModel"));
10
- const instituteModel_1 = __importDefault(require("./instituteModel"));
11
- const instituteEntityModel_1 = __importDefault(require("./instituteEntityModel"));
12
7
  const errorMessages_1 = require("../../constants/errorMessages");
13
- const batchModel_1 = __importDefault(require("./batchModel"));
14
- const fileStorageModel_1 = __importDefault(require("./fileStorageModel"));
15
8
  class AnnouncementModel extends sequelize_1.Model {
9
+ static associate(models) {
10
+ const { UserModel, InstituteModel, FileStorageModel } = models;
11
+ AnnouncementModel.belongsTo(UserModel, {
12
+ foreignKey: { name: 'createdBy', allowNull: true, field: 'created_by' },
13
+ as: 'createdByUser',
14
+ });
15
+ AnnouncementModel.belongsTo(UserModel, {
16
+ foreignKey: { name: 'updatedBy', allowNull: true, field: 'updated_by' },
17
+ as: 'updatedByUser',
18
+ });
19
+ AnnouncementModel.belongsTo(UserModel, {
20
+ foreignKey: { name: 'deletedBy', allowNull: true, field: 'deleted_by' },
21
+ as: 'deletedByUser',
22
+ });
23
+ AnnouncementModel.belongsTo(InstituteModel, {
24
+ foreignKey: { name: 'instituteId' },
25
+ as: 'institute',
26
+ });
27
+ InstituteModel.hasMany(AnnouncementModel, {
28
+ foreignKey: { name: 'instituteId' },
29
+ as: 'instituteHasAnnouncementList',
30
+ });
31
+ AnnouncementModel.belongsTo(FileStorageModel, {
32
+ foreignKey: { name: 'fileStorageId' },
33
+ as: 'announcementFileStorage',
34
+ });
35
+ FileStorageModel.hasMany(AnnouncementModel, {
36
+ foreignKey: 'fileStorageId',
37
+ as: 'announcementHasFileList',
38
+ });
39
+ }
40
+ static addHooks(models) {
41
+ const { InstituteEntityModel, BatchModel, UserModel } = models;
42
+ AnnouncementModel.beforeCreate(async (announcement) => {
43
+ if (announcement.subjects && announcement.subjects.length) {
44
+ const where = { id: { [sequelize_1.Op.in]: announcement.subjects } };
45
+ const options = {
46
+ include: { association: 'entityType', where: { sequence: 'LAST' } },
47
+ raw: false,
48
+ };
49
+ const entityListCount = await InstituteEntityModel.count({
50
+ where,
51
+ ...options,
52
+ });
53
+ if (entityListCount !== announcement.subjects.length) {
54
+ throw new Error(errorMessages_1.ANNOUCEMENT_ERROR_MESSAGES.INVALID_SUBJECTS);
55
+ }
56
+ }
57
+ if (announcement.batches && announcement.batches.length) {
58
+ const where = { id: { [sequelize_1.Op.in]: announcement.batches } };
59
+ const batchCount = await BatchModel.count({ where });
60
+ if (batchCount !== announcement.batches.length) {
61
+ throw new Error(errorMessages_1.ANNOUCEMENT_ERROR_MESSAGES.INVALID_BATCHES);
62
+ }
63
+ }
64
+ if (announcement.userIds && announcement.userIds.length) {
65
+ const where = { id: { [sequelize_1.Op.in]: announcement.userIds } };
66
+ const userCount = await UserModel.count({ where });
67
+ if (userCount !== announcement.userIds.length) {
68
+ throw new Error(errorMessages_1.ANNOUCEMENT_ERROR_MESSAGES.INVALID_USERS);
69
+ }
70
+ }
71
+ });
72
+ AnnouncementModel.beforeBulkUpdate(async (options) => {
73
+ const { attributes } = options;
74
+ if (attributes.subjects && attributes.subjects.length) {
75
+ const where = { id: { [sequelize_1.Op.in]: attributes.subjects } };
76
+ const entityList = await InstituteEntityModel.findAll({
77
+ where,
78
+ include: {
79
+ association: 'entityType',
80
+ where: { sequene: 'LAST' },
81
+ },
82
+ raw: false,
83
+ });
84
+ if (entityList.length !== attributes.subjects.length) {
85
+ throw new Error(errorMessages_1.ANNOUCEMENT_ERROR_MESSAGES.INVALID_SUBJECTS);
86
+ }
87
+ }
88
+ if (attributes.batches && attributes.batches.length) {
89
+ const where = { id: { [sequelize_1.Op.in]: attributes.batches } };
90
+ const batchCount = await BatchModel.count({ where });
91
+ if (batchCount !== attributes.batches.length) {
92
+ throw new Error(errorMessages_1.ANNOUCEMENT_ERROR_MESSAGES.INVALID_BATCHES);
93
+ }
94
+ }
95
+ });
96
+ }
16
97
  }
98
+ exports.AnnouncementModel = AnnouncementModel;
17
99
  AnnouncementModel.init({
18
100
  id: {
19
101
  type: sequelize_1.DataTypes.UUID,
@@ -94,105 +176,4 @@ AnnouncementModel.init({
94
176
  timestamps: true,
95
177
  sequelize: index_1.sequelize,
96
178
  });
97
- AnnouncementModel.belongsTo(userModel_1.default, {
98
- foreignKey: {
99
- name: 'createdBy',
100
- allowNull: true,
101
- field: 'created_by',
102
- },
103
- as: 'createdByUser',
104
- });
105
- AnnouncementModel.belongsTo(userModel_1.default, {
106
- foreignKey: {
107
- name: 'updatedBy',
108
- allowNull: true,
109
- field: 'updated_by',
110
- },
111
- as: 'updatedByUser',
112
- });
113
- AnnouncementModel.belongsTo(userModel_1.default, {
114
- foreignKey: {
115
- name: 'deletedBy',
116
- allowNull: true,
117
- field: 'deleted_by',
118
- },
119
- as: 'deletedByUser',
120
- });
121
- AnnouncementModel.belongsTo(instituteModel_1.default, {
122
- foreignKey: {
123
- name: 'instituteId',
124
- },
125
- as: 'institute',
126
- });
127
- instituteModel_1.default.hasMany(AnnouncementModel, {
128
- foreignKey: {
129
- name: 'instituteId',
130
- },
131
- as: 'instituteHasAnnouncementList',
132
- });
133
- AnnouncementModel.belongsTo(fileStorageModel_1.default, {
134
- foreignKey: {
135
- name: 'fileStorageId',
136
- },
137
- as: 'announcementFileStorage',
138
- });
139
- fileStorageModel_1.default.hasMany(AnnouncementModel, {
140
- foreignKey: 'fileStorageId',
141
- as: 'announcementHasFileList',
142
- });
143
- AnnouncementModel.beforeCreate(async (announcement) => {
144
- if (announcement.subjects && announcement.subjects.length) {
145
- const where = { id: { [sequelize_1.Op.in]: announcement.subjects } };
146
- const options = {
147
- include: { association: 'entityType', where: { sequence: 'LAST' } },
148
- raw: false,
149
- };
150
- const entityListCount = await instituteEntityModel_1.default.count({
151
- where,
152
- ...options,
153
- });
154
- if (entityListCount !== announcement.subjects.length) {
155
- throw new Error(errorMessages_1.ANNOUCEMENT_ERROR_MESSAGES.INVALID_SUBJECTS);
156
- }
157
- }
158
- if (announcement.batches && announcement.batches.length) {
159
- const where = { id: { [sequelize_1.Op.in]: announcement.batches } };
160
- const batchCount = await batchModel_1.default.count({ where });
161
- if (batchCount !== announcement.batches.length) {
162
- throw new Error(errorMessages_1.ANNOUCEMENT_ERROR_MESSAGES.INVALID_BATCHES);
163
- }
164
- }
165
- if (announcement.userIds && announcement.userIds.length) {
166
- const where = { id: { [sequelize_1.Op.in]: announcement.userIds } };
167
- const userCount = await userModel_1.default.count({ where });
168
- if (userCount !== announcement.userIds.length) {
169
- throw new Error(errorMessages_1.ANNOUCEMENT_ERROR_MESSAGES.INVALID_USERS);
170
- }
171
- }
172
- });
173
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
174
- AnnouncementModel.beforeBulkUpdate(async (options) => {
175
- const { attributes } = options;
176
- if (attributes.subjects && attributes.subjects.length) {
177
- const where = { id: { [sequelize_1.Op.in]: attributes.subjects } };
178
- const entityList = await instituteEntityModel_1.default.findAll({
179
- where,
180
- include: {
181
- association: 'entityType',
182
- where: { sequene: 'LAST' },
183
- },
184
- raw: false, // Ensure you get Sequelize instances
185
- });
186
- if (entityList.length !== attributes.subjects.length) {
187
- throw new Error(errorMessages_1.ANNOUCEMENT_ERROR_MESSAGES.INVALID_SUBJECTS);
188
- }
189
- }
190
- if (attributes.batches && attributes.batches.length) {
191
- const where = { id: { [sequelize_1.Op.in]: attributes.batches } };
192
- const batchCount = await batchModel_1.default.count({ where });
193
- if (batchCount !== attributes.batches.length) {
194
- throw new Error(errorMessages_1.ANNOUCEMENT_ERROR_MESSAGES.INVALID_BATCHES);
195
- }
196
- }
197
- });
198
179
  exports.default = AnnouncementModel;
@@ -1,9 +1,13 @@
1
1
  import { Model } from 'sequelize';
2
2
  import { IAreaModelAttributes } from '../../interfaces/areaInterface';
3
3
  import { TAeraModelCreationAttributes } from '../../types/areaType';
4
- declare class AreaModel extends Model<IAreaModelAttributes, TAeraModelCreationAttributes> {
4
+ export declare class AreaModel extends Model<IAreaModelAttributes, TAeraModelCreationAttributes> {
5
5
  id: string;
6
6
  area: string;
7
7
  city: number;
8
+ readonly createdAt: Date;
9
+ readonly updatedAt: Date;
10
+ readonly deletedAt?: Date;
11
+ static associate(models: any): void;
8
12
  }
9
13
  export default AreaModel;
@@ -1,13 +1,22 @@
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 });
3
+ exports.AreaModel = void 0;
6
4
  const sequelize_1 = require("sequelize");
7
5
  const index_1 = require("./index");
8
- const cityModel_1 = __importDefault(require("./cityModel"));
9
6
  class AreaModel extends sequelize_1.Model {
7
+ static associate(models) {
8
+ const { CityModel } = models;
9
+ AreaModel.belongsTo(CityModel, {
10
+ foreignKey: 'city',
11
+ as: 'cityArea',
12
+ });
13
+ CityModel.hasMany(AreaModel, {
14
+ foreignKey: 'city',
15
+ as: 'AreasHasCity',
16
+ });
17
+ }
10
18
  }
19
+ exports.AreaModel = AreaModel;
11
20
  AreaModel.init({
12
21
  id: {
13
22
  type: sequelize_1.DataTypes.UUID,
@@ -29,12 +38,4 @@ AreaModel.init({
29
38
  timestamps: true,
30
39
  sequelize: index_1.sequelize,
31
40
  });
32
- AreaModel.belongsTo(cityModel_1.default, {
33
- foreignKey: 'city',
34
- as: 'cityArea',
35
- });
36
- cityModel_1.default.hasMany(AreaModel, {
37
- foreignKey: 'city',
38
- as: 'AreasHasCity',
39
- });
40
41
  exports.default = AreaModel;
@@ -2,7 +2,7 @@ import { Model } from 'sequelize';
2
2
  import { IBankAccountDetailsInterfaceModelAttributes } from '../../interfaces/bankAccountDetailsInterface';
3
3
  import { TBankAccountDetailsModelCreationAttributes } from '../../types/bankAccountDetailsType';
4
4
  import { COMMAN_STATUS, BOOLEAN_STATUS } from '../../constants/app';
5
- declare class BankAccountDetailsModel extends Model<IBankAccountDetailsInterfaceModelAttributes, TBankAccountDetailsModelCreationAttributes> {
5
+ export declare class BankAccountDetailsModel extends Model<IBankAccountDetailsInterfaceModelAttributes, TBankAccountDetailsModelCreationAttributes> {
6
6
  id: string;
7
7
  accountHolderName: string;
8
8
  bankName: string;
@@ -13,11 +13,12 @@ declare class BankAccountDetailsModel extends Model<IBankAccountDetailsInterface
13
13
  status: COMMAN_STATUS;
14
14
  isDefault: BOOLEAN_STATUS;
15
15
  isSelfAccount: BOOLEAN_STATUS;
16
- createdBy: string;
17
- updatedBy: string;
18
- deletedBy: string;
16
+ createdBy?: string;
17
+ updatedBy?: string;
18
+ deletedBy?: string;
19
19
  readonly createdAt: Date;
20
- readonly deletedAt: string;
21
20
  readonly updatedAt: Date;
21
+ readonly deletedAt?: string;
22
+ static associate(models: any): void;
22
23
  }
23
24
  export default BankAccountDetailsModel;
@@ -1,15 +1,35 @@
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 });
3
+ exports.BankAccountDetailsModel = void 0;
6
4
  const sequelize_1 = require("sequelize");
7
5
  const index_1 = require("./index");
8
6
  const app_1 = require("../../constants/app");
9
- const instituteModel_1 = __importDefault(require("./instituteModel"));
10
- const userModel_1 = __importDefault(require("./userModel"));
11
7
  class BankAccountDetailsModel extends sequelize_1.Model {
8
+ static associate(models) {
9
+ const { InstituteModel, UserModel } = models;
10
+ BankAccountDetailsModel.belongsTo(InstituteModel, {
11
+ foreignKey: { name: 'instituteId', field: 'institute_id' },
12
+ as: 'bankAccountDetailsInstitute',
13
+ });
14
+ InstituteModel.hasMany(BankAccountDetailsModel, {
15
+ foreignKey: 'instituteId',
16
+ as: 'instituteHasBankAccountDetails',
17
+ });
18
+ BankAccountDetailsModel.belongsTo(UserModel, {
19
+ foreignKey: { name: 'createdBy', allowNull: true, field: 'created_by' },
20
+ as: 'createdByUser',
21
+ });
22
+ BankAccountDetailsModel.belongsTo(UserModel, {
23
+ foreignKey: { name: 'updatedBy', allowNull: true, field: 'updated_by' },
24
+ as: 'updatedByUser',
25
+ });
26
+ BankAccountDetailsModel.belongsTo(UserModel, {
27
+ foreignKey: { name: 'deletedBy', allowNull: true, field: 'deleted_by' },
28
+ as: 'deletedByUser',
29
+ });
30
+ }
12
31
  }
32
+ exports.BankAccountDetailsModel = BankAccountDetailsModel;
13
33
  BankAccountDetailsModel.init({
14
34
  id: {
15
35
  type: sequelize_1.DataTypes.UUID,
@@ -65,36 +85,4 @@ BankAccountDetailsModel.init({
65
85
  timestamps: true,
66
86
  sequelize: index_1.sequelize,
67
87
  });
68
- BankAccountDetailsModel.belongsTo(instituteModel_1.default, {
69
- foreignKey: {
70
- name: 'instituteId',
71
- field: 'institute_id',
72
- },
73
- as: 'bankAccountDetailsInstitute',
74
- });
75
- instituteModel_1.default.hasMany(BankAccountDetailsModel, { foreignKey: 'instituteId', as: 'instituteHasBankAccountDetails' });
76
- BankAccountDetailsModel.belongsTo(userModel_1.default, {
77
- foreignKey: {
78
- name: 'createdBy',
79
- allowNull: true,
80
- field: 'created_by',
81
- },
82
- as: 'createdByUser',
83
- });
84
- BankAccountDetailsModel.belongsTo(userModel_1.default, {
85
- foreignKey: {
86
- name: 'updatedBy',
87
- allowNull: true,
88
- field: 'updated_by',
89
- },
90
- as: 'updatedByUser',
91
- });
92
- BankAccountDetailsModel.belongsTo(userModel_1.default, {
93
- foreignKey: {
94
- name: 'deletedBy',
95
- allowNull: true,
96
- field: 'deleted_by',
97
- },
98
- as: 'deletedByUser',
99
- });
100
88
  exports.default = BankAccountDetailsModel;
@@ -1,24 +1,24 @@
1
1
  import { Model } from 'sequelize';
2
- import { IBannerModelAttributes } from '../../interfaces/bannerInterface';
3
- import { TBannerModelCreationAttributes } from '../../types/bannerType';
4
- import { BANNER_TYPE, APP_TYPE, COMMAN_STATUS, USER_TYPES } from '../../constants/app';
5
- declare class BannerModel extends Model<IBannerModelAttributes, TBannerModelCreationAttributes> {
2
+ import { IBankAccountDetailsInterfaceModelAttributes } from '../../interfaces/bankAccountDetailsInterface';
3
+ import { TBankAccountDetailsModelCreationAttributes } from '../../types/bankAccountDetailsType';
4
+ import { COMMAN_STATUS, BOOLEAN_STATUS } from '../../constants/app';
5
+ export declare class BankAccountDetailsModel extends Model<IBankAccountDetailsInterfaceModelAttributes, TBankAccountDetailsModelCreationAttributes> {
6
6
  id: string;
7
- title?: string;
8
- subTitle?: string;
9
- description?: string;
10
- type: APP_TYPE;
11
- bannerType: BANNER_TYPE;
12
- userType?: USER_TYPES;
13
- status: COMMAN_STATUS;
14
- fileStorageId: string;
7
+ accountHolderName: string;
8
+ bankName: string;
9
+ branchName: string;
10
+ accountNumber: string;
11
+ ifscCode: string;
15
12
  instituteId: string;
16
- fileUrl?: string;
17
- createdBy: string;
18
- updatedBy: string;
19
- deletedBy: string;
13
+ status: COMMAN_STATUS;
14
+ isDefault: BOOLEAN_STATUS;
15
+ isSelfAccount: BOOLEAN_STATUS;
16
+ createdBy?: string;
17
+ updatedBy?: string;
18
+ deletedBy?: string;
20
19
  readonly createdAt: Date;
21
- readonly deletedAt: string;
22
20
  readonly updatedAt: Date;
21
+ readonly deletedAt?: string;
22
+ static associate(models: any): void;
23
23
  }
24
- export default BannerModel;
24
+ export default BankAccountDetailsModel;
@@ -1,59 +1,63 @@
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 });
3
+ exports.BankAccountDetailsModel = void 0;
6
4
  const sequelize_1 = require("sequelize");
7
5
  const index_1 = require("./index");
8
6
  const app_1 = require("../../constants/app");
9
- const instituteModel_1 = __importDefault(require("./instituteModel"));
10
- const fileStorageModel_1 = __importDefault(require("./fileStorageModel"));
11
- const userModel_1 = __importDefault(require("./userModel"));
12
- class BannerModel extends sequelize_1.Model {
7
+ class BankAccountDetailsModel extends sequelize_1.Model {
8
+ static associate(models) {
9
+ const { InstituteModel, UserModel } = models;
10
+ BankAccountDetailsModel.belongsTo(InstituteModel, {
11
+ foreignKey: { name: 'instituteId', field: 'institute_id' },
12
+ as: 'bankAccountDetailsInstitute',
13
+ });
14
+ InstituteModel.hasMany(BankAccountDetailsModel, {
15
+ foreignKey: 'instituteId',
16
+ as: 'instituteHasBankAccountDetails',
17
+ });
18
+ BankAccountDetailsModel.belongsTo(UserModel, {
19
+ foreignKey: { name: 'createdBy', allowNull: true, field: 'created_by' },
20
+ as: 'createdByUser',
21
+ });
22
+ BankAccountDetailsModel.belongsTo(UserModel, {
23
+ foreignKey: { name: 'updatedBy', allowNull: true, field: 'updated_by' },
24
+ as: 'updatedByUser',
25
+ });
26
+ BankAccountDetailsModel.belongsTo(UserModel, {
27
+ foreignKey: { name: 'deletedBy', allowNull: true, field: 'deleted_by' },
28
+ as: 'deletedByUser',
29
+ });
30
+ }
13
31
  }
14
- BannerModel.init({
32
+ exports.BankAccountDetailsModel = BankAccountDetailsModel;
33
+ BankAccountDetailsModel.init({
15
34
  id: {
16
35
  type: sequelize_1.DataTypes.UUID,
17
36
  defaultValue: sequelize_1.DataTypes.UUIDV4,
18
37
  allowNull: false,
19
38
  primaryKey: true,
20
39
  },
21
- title: {
40
+ accountHolderName: {
22
41
  type: sequelize_1.DataTypes.STRING(500),
23
- allowNull: true,
42
+ allowNull: false,
24
43
  },
25
- subTitle: {
44
+ bankName: {
26
45
  type: sequelize_1.DataTypes.STRING(500),
27
- allowNull: true,
46
+ allowNull: false,
28
47
  },
29
- description: {
30
- type: sequelize_1.DataTypes.STRING(1000),
31
- allowNull: true,
48
+ branchName: {
49
+ type: sequelize_1.DataTypes.STRING(100),
50
+ allowNull: false,
32
51
  },
33
- fileUrl: {
52
+ accountNumber: {
34
53
  type: sequelize_1.DataTypes.STRING,
35
- allowNull: true,
36
- },
37
- type: {
38
- type: sequelize_1.DataTypes.ENUM,
39
- values: Object.values(app_1.APP_TYPE),
40
54
  allowNull: false,
41
- defaultValue: app_1.APP_TYPE.INSTITUTE_APP,
42
- },
43
- userType: {
44
- type: sequelize_1.DataTypes.ENUM,
45
- field: 'user_type',
46
- values: Object.values(app_1.USER_TYPES),
47
- defaultValue: null,
48
- allowNull: true,
49
55
  },
50
- bannerType: {
51
- type: sequelize_1.DataTypes.ENUM,
52
- values: Object.values(app_1.BANNER_TYPE),
56
+ ifscCode: {
57
+ type: sequelize_1.DataTypes.STRING,
53
58
  allowNull: false,
54
- defaultValue: app_1.BANNER_TYPE.BANNER_IMAGE,
55
59
  },
56
- fileStorageId: {
60
+ instituteId: {
57
61
  type: sequelize_1.DataTypes.UUID,
58
62
  allowNull: false,
59
63
  },
@@ -61,56 +65,24 @@ BannerModel.init({
61
65
  type: sequelize_1.DataTypes.ENUM,
62
66
  values: Object.values(app_1.COMMAN_STATUS),
63
67
  allowNull: false,
64
- defaultValue: app_1.COMMAN_STATUS.INACTIVE,
68
+ defaultValue: app_1.COMMAN_STATUS.ACTIVE,
65
69
  },
66
- instituteId: {
67
- type: sequelize_1.DataTypes.UUID,
68
- allowNull: true,
70
+ isDefault: {
71
+ type: sequelize_1.DataTypes.ENUM,
72
+ values: Object.values(app_1.BOOLEAN_STATUS),
73
+ allowNull: false,
74
+ defaultValue: app_1.BOOLEAN_STATUS.NO,
75
+ },
76
+ isSelfAccount: {
77
+ type: sequelize_1.DataTypes.ENUM,
78
+ values: Object.values(app_1.BOOLEAN_STATUS),
79
+ allowNull: false,
80
+ defaultValue: app_1.BOOLEAN_STATUS.NO,
69
81
  },
70
82
  }, {
71
- modelName: 'BannerModel',
72
- tableName: 'banners',
83
+ modelName: 'BankAccountDetailsModel',
84
+ tableName: 'bank_account_details',
73
85
  timestamps: true,
74
86
  sequelize: index_1.sequelize,
75
87
  });
76
- BannerModel.belongsTo(instituteModel_1.default, {
77
- foreignKey: {
78
- name: 'instituteId',
79
- field: 'institute_id',
80
- },
81
- as: 'bannerInstitute',
82
- });
83
- BannerModel.belongsTo(fileStorageModel_1.default, {
84
- foreignKey: {
85
- name: 'fileStorageId',
86
- field: 'file_storage_id',
87
- },
88
- as: 'bannerFileStorage',
89
- });
90
- instituteModel_1.default.hasMany(BannerModel, { foreignKey: 'instituteId', as: 'instituteHasBanners' });
91
- fileStorageModel_1.default.hasMany(BannerModel, { foreignKey: 'fileStorageId' });
92
- BannerModel.belongsTo(userModel_1.default, {
93
- foreignKey: {
94
- name: 'createdBy',
95
- allowNull: true,
96
- field: 'created_by',
97
- },
98
- as: 'createdByUser',
99
- });
100
- BannerModel.belongsTo(userModel_1.default, {
101
- foreignKey: {
102
- name: 'updatedBy',
103
- allowNull: true,
104
- field: 'updated_by',
105
- },
106
- as: 'updatedByUser',
107
- });
108
- BannerModel.belongsTo(userModel_1.default, {
109
- foreignKey: {
110
- name: 'deletedBy',
111
- allowNull: true,
112
- field: 'deleted_by',
113
- },
114
- as: 'deletedByUser',
115
- });
116
- exports.default = BannerModel;
88
+ exports.default = BankAccountDetailsModel;
@@ -2,7 +2,7 @@ import { Model } from 'sequelize';
2
2
  import { IBatchModelAttributes } from '../../interfaces/batchInterface';
3
3
  import { TBatchModelCreationAttributes } from '../../types/batchType';
4
4
  import { COMMAN_STATUS, PLANNER_SYNC_STATUS } from '../../constants/app';
5
- declare class BatchModel extends Model<IBatchModelAttributes, TBatchModelCreationAttributes> {
5
+ export declare class BatchModel extends Model<IBatchModelAttributes, TBatchModelCreationAttributes> {
6
6
  id: string;
7
7
  title: string;
8
8
  type: string;
@@ -23,5 +23,7 @@ declare class BatchModel extends Model<IBatchModelAttributes, TBatchModelCreatio
23
23
  readonly createdAt: Date;
24
24
  readonly deletedAt: string;
25
25
  readonly updatedAt: Date;
26
+ static associate(models: any): void;
27
+ static addHooks(): void;
26
28
  }
27
29
  export default BatchModel;