@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
@@ -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
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
- const bankAccountDetailsModel_1 = __importDefault(require("./bankAccountDetailsModel"));
12
- const typeManagementModel_1 = __importDefault(require("./typeManagementModel"));
13
6
  class FeeTypeModel extends sequelize_1.Model {
7
+ static associate(models) {
8
+ const { BankAccountDetailsModel, TypeManagementModel, InstituteModel, UserModel } = models;
9
+ FeeTypeModel.belongsTo(BankAccountDetailsModel, {
10
+ foreignKey: { name: 'account' },
11
+ as: 'accountFeeType',
12
+ });
13
+ BankAccountDetailsModel.hasMany(FeeTypeModel, {
14
+ foreignKey: 'account',
15
+ as: 'feeTypeHasAccount',
16
+ });
17
+ TypeManagementModel.hasMany(FeeTypeModel, {
18
+ foreignKey: 'typeManagementId',
19
+ as: 'feeTypeTypeManagement',
20
+ });
21
+ FeeTypeModel.belongsTo(TypeManagementModel, {
22
+ foreignKey: { name: 'typeManagementId' },
23
+ as: 'typeManagementType',
24
+ });
25
+ FeeTypeModel.belongsTo(InstituteModel, {
26
+ foreignKey: { name: 'instituteId', field: 'institute_id' },
27
+ as: 'instituteFeeType',
28
+ });
29
+ InstituteModel.hasMany(FeeTypeModel, {
30
+ foreignKey: 'instituteId',
31
+ as: 'feeTypeInstitute',
32
+ });
33
+ FeeTypeModel.belongsTo(UserModel, {
34
+ foreignKey: { name: 'createdBy', allowNull: true, field: 'created_by' },
35
+ as: 'createdByUser',
36
+ });
37
+ FeeTypeModel.belongsTo(UserModel, {
38
+ foreignKey: { name: 'updatedBy', allowNull: true, field: 'updated_by' },
39
+ as: 'updatedByUser',
40
+ });
41
+ FeeTypeModel.belongsTo(UserModel, {
42
+ foreignKey: { name: 'deletedBy', allowNull: true, field: 'deleted_by' },
43
+ as: 'deletedByUser',
44
+ });
45
+ }
14
46
  }
15
47
  FeeTypeModel.init({
16
48
  id: {
@@ -34,31 +66,26 @@ FeeTypeModel.init({
34
66
  allowNull: false,
35
67
  },
36
68
  status: {
37
- type: sequelize_1.DataTypes.ENUM,
38
- values: Object.values(app_1.COMMAN_STATUS),
69
+ type: sequelize_1.DataTypes.ENUM(...Object.values(app_1.COMMAN_STATUS)),
39
70
  defaultValue: app_1.COMMAN_STATUS.ACTIVE,
40
71
  allowNull: false,
41
72
  },
42
73
  module: {
43
- type: sequelize_1.DataTypes.ENUM,
44
- values: Object.values(app_1.COMMAN_STATUS),
74
+ type: sequelize_1.DataTypes.ENUM(...Object.values(app_1.COMMAN_STATUS)),
45
75
  defaultValue: app_1.COMMAN_STATUS.INACTIVE,
46
76
  allowNull: false,
47
77
  },
48
78
  isDefault: {
49
- type: sequelize_1.DataTypes.ENUM,
50
- values: Object.values(app_1.BOOLEAN_STATUS),
79
+ type: sequelize_1.DataTypes.ENUM(...Object.values(app_1.BOOLEAN_STATUS)),
51
80
  allowNull: false,
52
81
  defaultValue: app_1.BOOLEAN_STATUS.NO,
53
82
  },
54
83
  feeType: {
55
- type: sequelize_1.DataTypes.ENUM,
56
- values: Object.values(app_1.FEE_TYPE),
84
+ type: sequelize_1.DataTypes.ENUM(...Object.values(app_1.FEE_TYPE)),
57
85
  allowNull: false,
58
86
  },
59
87
  frequency: {
60
- type: sequelize_1.DataTypes.ENUM,
61
- values: Object.values(app_1.FEE_TYPE_FREQUENCY),
88
+ type: sequelize_1.DataTypes.ENUM(...Object.values(app_1.FEE_TYPE_FREQUENCY)),
62
89
  allowNull: false,
63
90
  },
64
91
  }, {
@@ -67,59 +94,4 @@ FeeTypeModel.init({
67
94
  timestamps: true,
68
95
  sequelize: index_1.sequelize,
69
96
  });
70
- FeeTypeModel.belongsTo(bankAccountDetailsModel_1.default, {
71
- foreignKey: {
72
- name: 'account',
73
- },
74
- as: 'accountFeeType',
75
- });
76
- bankAccountDetailsModel_1.default.hasMany(FeeTypeModel, {
77
- foreignKey: 'account',
78
- as: 'feeTypeHasAccount',
79
- });
80
- typeManagementModel_1.default.hasMany(FeeTypeModel, {
81
- foreignKey: 'typeManagementId',
82
- as: 'feeTypeTypeManagement',
83
- });
84
- FeeTypeModel.belongsTo(typeManagementModel_1.default, {
85
- foreignKey: {
86
- name: 'typeManagementId',
87
- },
88
- as: 'typeManagementType',
89
- });
90
- FeeTypeModel.belongsTo(instituteModel_1.default, {
91
- foreignKey: {
92
- name: 'instituteId',
93
- field: 'institute_id',
94
- },
95
- as: 'instituteFeeType',
96
- });
97
- instituteModel_1.default.hasMany(FeeTypeModel, {
98
- foreignKey: 'instituteId',
99
- as: 'feeTypeInstitute',
100
- });
101
- FeeTypeModel.belongsTo(userModel_1.default, {
102
- foreignKey: {
103
- name: 'createdBy',
104
- allowNull: true,
105
- field: 'created_by',
106
- },
107
- as: 'createdByUser',
108
- });
109
- FeeTypeModel.belongsTo(userModel_1.default, {
110
- foreignKey: {
111
- name: 'updatedBy',
112
- allowNull: true,
113
- field: 'updated_by',
114
- },
115
- as: 'updatedByUser',
116
- });
117
- FeeTypeModel.belongsTo(userModel_1.default, {
118
- foreignKey: {
119
- name: 'deletedBy',
120
- allowNull: true,
121
- field: 'deleted_by',
122
- },
123
- as: 'deletedByUser',
124
- });
125
97
  exports.default = FeeTypeModel;
@@ -24,5 +24,7 @@ declare class FeesCollectionModel extends Model<IFeesCollectionModelAttributes,
24
24
  readonly createdAt: Date;
25
25
  readonly deletedAt: string;
26
26
  readonly updatedAt: Date;
27
+ static addHooks(models: any): void;
28
+ static associate(models: any): void;
27
29
  }
28
30
  export default FeesCollectionModel;
@@ -1,17 +1,122 @@
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
- const paymentTermsModel_1 = __importDefault(require("./paymentTermsModel"));
13
- const academicCalendarModel_1 = __importDefault(require("./academicCalendarModel"));
14
7
  class FeesCollectionModel extends sequelize_1.Model {
8
+ static addHooks(models) {
9
+ const beforeCreateOrUpdateHook = async (feeCollection) => {
10
+ let existingRecord = null;
11
+ if ((feeCollection.userId && feeCollection.instituteId) || feeCollection.id) {
12
+ if (feeCollection.userId && feeCollection.instituteId) {
13
+ existingRecord = await FeesCollectionModel.findOne({
14
+ where: {
15
+ userId: feeCollection.userId,
16
+ instituteId: feeCollection.instituteId,
17
+ },
18
+ });
19
+ }
20
+ else {
21
+ existingRecord = await FeesCollectionModel.findByPk(feeCollection.id);
22
+ }
23
+ if (existingRecord?.status === app_1.FEE_PAYMENT_STATUS.COMPLETED && feeCollection.paidFee) {
24
+ throw new Error(errorMessages_1.FEESCOLLECTION_ERROR_MESSAGES.FEE_PAID);
25
+ }
26
+ }
27
+ else {
28
+ existingRecord = await FeesCollectionModel.findOne({
29
+ where: {
30
+ userId: feeCollection.userId,
31
+ instituteId: feeCollection.instituteId,
32
+ status: { [sequelize_1.Op.ne]: app_1.FEE_PAYMENT_STATUS.COMPLETED },
33
+ },
34
+ });
35
+ }
36
+ if (feeCollection.paymentType === app_1.PAYMENT_TYPE.CHEQUE) {
37
+ feeCollection.upiId = null;
38
+ if (!feeCollection.chequeNo || !feeCollection.bankName) {
39
+ throw new Error(errorMessages_1.FEESCOLLECTION_ERROR_MESSAGES.FEE_PAID_BY_CHQUE);
40
+ }
41
+ }
42
+ else if (feeCollection.paymentType === app_1.PAYMENT_TYPE.UPI) {
43
+ feeCollection.chequeNo = null;
44
+ feeCollection.bankName = null;
45
+ if (!feeCollection.upiId) {
46
+ throw new Error(errorMessages_1.FEESCOLLECTION_ERROR_MESSAGES.FEE_PAID_BY_UPI);
47
+ }
48
+ }
49
+ else if (feeCollection.paymentType === app_1.PAYMENT_TYPE.CASH) {
50
+ feeCollection.bankName = null;
51
+ feeCollection.chequeNo = null;
52
+ feeCollection.upiId = null;
53
+ }
54
+ const discount = feeCollection.discount ?? existingRecord?.discount ?? 0;
55
+ const paidFee = feeCollection.paidFee ?? existingRecord?.paidFee ?? 0;
56
+ const feeAmount = feeCollection.feeAmount ?? existingRecord?.feeAmount;
57
+ if (feeAmount !== 0) {
58
+ if (feeAmount === discount + paidFee) {
59
+ feeCollection.status = app_1.FEE_PAYMENT_STATUS.COMPLETED;
60
+ }
61
+ }
62
+ };
63
+ FeesCollectionModel.beforeBulkCreate(async (instances) => {
64
+ for (const instance of instances) {
65
+ await beforeCreateOrUpdateHook(instance);
66
+ }
67
+ });
68
+ FeesCollectionModel.beforeCreate(beforeCreateOrUpdateHook);
69
+ FeesCollectionModel.beforeBulkUpdate(async (options) => {
70
+ await beforeCreateOrUpdateHook(options.attributes);
71
+ });
72
+ }
73
+ static associate(models) {
74
+ const { InstituteModel, UserModel, AcademicCalendarModel, PaymentTermsModel } = models;
75
+ FeesCollectionModel.belongsTo(InstituteModel, {
76
+ foreignKey: { name: 'instituteId', field: 'institute_id' },
77
+ as: 'feeCollectionInstitute',
78
+ });
79
+ InstituteModel.hasMany(FeesCollectionModel, {
80
+ foreignKey: 'instituteId',
81
+ as: 'instituteHasFeeCollection',
82
+ });
83
+ FeesCollectionModel.belongsTo(UserModel, {
84
+ foreignKey: { name: 'userId', field: 'user_id' },
85
+ as: 'feeCollectionUser',
86
+ });
87
+ UserModel.hasMany(FeesCollectionModel, {
88
+ foreignKey: 'userId',
89
+ as: 'userHasFeeCollection',
90
+ });
91
+ FeesCollectionModel.belongsTo(AcademicCalendarModel, {
92
+ foreignKey: { name: 'academicCalendarId', field: 'academic_calendar_id', allowNull: true },
93
+ as: 'CollectionCalendar',
94
+ });
95
+ AcademicCalendarModel.hasMany(FeesCollectionModel, {
96
+ foreignKey: { name: 'academicCalendarId', field: 'academic_calendar_id', allowNull: true },
97
+ as: 'CollectionHasCalendar',
98
+ });
99
+ FeesCollectionModel.belongsTo(UserModel, {
100
+ foreignKey: { name: 'createdBy', allowNull: true, field: 'created_by' },
101
+ as: 'createdByUser',
102
+ });
103
+ FeesCollectionModel.belongsTo(UserModel, {
104
+ foreignKey: { name: 'updatedBy', allowNull: true, field: 'updated_by' },
105
+ as: 'updatedByUser',
106
+ });
107
+ FeesCollectionModel.belongsTo(UserModel, {
108
+ foreignKey: { name: 'deletedBy', allowNull: true, field: 'deleted_by' },
109
+ as: 'deletedByUser',
110
+ });
111
+ PaymentTermsModel.belongsTo(FeesCollectionModel, {
112
+ foreignKey: { name: 'feeCollectionId', field: 'fee_collection_id' },
113
+ as: 'feeCollection',
114
+ });
115
+ FeesCollectionModel.hasMany(PaymentTermsModel, {
116
+ foreignKey: 'feeCollectionId',
117
+ as: 'feeCollectionHasPaymentTerms',
118
+ });
119
+ }
15
120
  }
16
121
  FeesCollectionModel.init({
17
122
  id: {
@@ -65,7 +170,6 @@ FeesCollectionModel.init({
65
170
  type: sequelize_1.DataTypes.ENUM,
66
171
  values: Object.values(app_1.PAYMENT_TYPE),
67
172
  allowNull: true,
68
- // defaultValue: PAYMENT_TYPE.CASH,
69
173
  },
70
174
  academicCalendarId: {
71
175
  type: sequelize_1.DataTypes.UUID,
@@ -92,140 +196,4 @@ FeesCollectionModel.init({
92
196
  timestamps: true,
93
197
  sequelize: index_1.sequelize,
94
198
  });
95
- const beforeCreateOrUpdateHook = async (feeCollection) => {
96
- let existingRecord = null;
97
- if ((feeCollection.userId && feeCollection.instituteId) || feeCollection.id) {
98
- if (feeCollection.userId && feeCollection.instituteId) {
99
- existingRecord = await FeesCollectionModel.findOne({
100
- where: {
101
- userId: feeCollection.userId,
102
- instituteId: feeCollection.instituteId,
103
- },
104
- });
105
- }
106
- else {
107
- existingRecord = await FeesCollectionModel.findByPk(feeCollection.id);
108
- }
109
- if (existingRecord?.status === app_1.FEE_PAYMENT_STATUS.COMPLETED && feeCollection.paidFee) {
110
- throw new Error(errorMessages_1.FEESCOLLECTION_ERROR_MESSAGES.FEE_PAID);
111
- }
112
- }
113
- else {
114
- existingRecord = await FeesCollectionModel.findOne({
115
- where: {
116
- userId: feeCollection.userId,
117
- instituteId: feeCollection.instituteId,
118
- status: { [sequelize_1.Op.ne]: app_1.FEE_PAYMENT_STATUS.COMPLETED },
119
- },
120
- });
121
- }
122
- if (feeCollection.paymentType === app_1.PAYMENT_TYPE.CHEQUE) {
123
- feeCollection.upiId = null;
124
- if (!feeCollection.chequeNo || !feeCollection.bankName) {
125
- throw new Error(errorMessages_1.FEESCOLLECTION_ERROR_MESSAGES.FEE_PAID_BY_CHQUE);
126
- }
127
- }
128
- else if (feeCollection.paymentType === app_1.PAYMENT_TYPE.UPI) {
129
- feeCollection.chequeNo = null;
130
- feeCollection.bankName = null;
131
- if (!feeCollection.upiId) {
132
- throw new Error(errorMessages_1.FEESCOLLECTION_ERROR_MESSAGES.FEE_PAID_BY_UPI);
133
- }
134
- }
135
- else if (feeCollection.paymentType === app_1.PAYMENT_TYPE.CASH) {
136
- feeCollection.bankName = null;
137
- feeCollection.chequeNo = null;
138
- feeCollection.upiId = null;
139
- }
140
- const discount = feeCollection.discount ?? existingRecord?.discount ?? 0;
141
- const paidFee = feeCollection.paidFee ?? existingRecord?.paidFee ?? 0;
142
- const feeAmount = feeCollection.feeAmount ?? existingRecord?.feeAmount;
143
- if (feeAmount !== 0) {
144
- if (feeAmount === discount + paidFee) {
145
- feeCollection.status = app_1.FEE_PAYMENT_STATUS.COMPLETED;
146
- }
147
- }
148
- };
149
- FeesCollectionModel.beforeBulkCreate(async (instances) => {
150
- for (const instance of instances) {
151
- await beforeCreateOrUpdateHook(instance);
152
- }
153
- });
154
- FeesCollectionModel.beforeCreate(beforeCreateOrUpdateHook);
155
- FeesCollectionModel.beforeBulkUpdate(async (options) => {
156
- await beforeCreateOrUpdateHook(options.attributes);
157
- });
158
- FeesCollectionModel.belongsTo(instituteModel_1.default, {
159
- foreignKey: {
160
- name: 'instituteId',
161
- field: 'institute_id',
162
- },
163
- as: 'feeCollectionInstitute',
164
- });
165
- instituteModel_1.default.hasMany(FeesCollectionModel, {
166
- foreignKey: 'instituteId',
167
- as: 'instituteHasFeeCollection',
168
- });
169
- FeesCollectionModel.belongsTo(userModel_1.default, {
170
- foreignKey: {
171
- name: 'userId',
172
- field: 'user_id',
173
- },
174
- as: 'feeCollectionUser',
175
- });
176
- userModel_1.default.hasMany(FeesCollectionModel, {
177
- foreignKey: 'userId',
178
- as: 'userHasFeeCollection',
179
- });
180
- FeesCollectionModel.belongsTo(academicCalendarModel_1.default, {
181
- foreignKey: {
182
- name: 'academicCalendarId',
183
- field: 'academic_calendar_id',
184
- allowNull: true,
185
- },
186
- as: 'CollectionCalendar',
187
- });
188
- academicCalendarModel_1.default.hasMany(FeesCollectionModel, {
189
- foreignKey: {
190
- name: 'academicCalendarId',
191
- field: 'academic_calendar_id',
192
- allowNull: true,
193
- },
194
- as: 'CollectionHasCalendar',
195
- });
196
- FeesCollectionModel.belongsTo(userModel_1.default, {
197
- foreignKey: {
198
- name: 'createdBy',
199
- allowNull: true,
200
- field: 'created_by',
201
- },
202
- as: 'createdByUser',
203
- });
204
- FeesCollectionModel.belongsTo(userModel_1.default, {
205
- foreignKey: {
206
- name: 'updatedBy',
207
- allowNull: true,
208
- field: 'updated_by',
209
- },
210
- as: 'updatedByUser',
211
- });
212
- FeesCollectionModel.belongsTo(userModel_1.default, {
213
- foreignKey: {
214
- name: 'deletedBy',
215
- allowNull: true,
216
- field: 'deleted_by',
217
- },
218
- as: 'deletedByUser',
219
- });
220
- paymentTermsModel_1.default.belongsTo(FeesCollectionModel, {
221
- foreignKey: {
222
- name: 'feeCollectionId',
223
- field: 'fee_collection_id',
224
- },
225
- as: 'feeCollection',
226
- });
227
- FeesCollectionModel.hasMany(paymentTermsModel_1.default, {
228
- foreignKey: 'feeCollectionId',
229
- as: 'feeCollectionHasPaymentTerms',
230
- });
231
199
  exports.default = FeesCollectionModel;
@@ -2,5 +2,6 @@ import { Model } from 'sequelize';
2
2
  import { IFileStorageAttributes } from '../../interfaces/fileStorageInterface';
3
3
  import { TFileStorageModelCreationAttributes } from '../../types/fileStorageType';
4
4
  declare class FileStorageModel extends Model<IFileStorageAttributes, TFileStorageModelCreationAttributes> {
5
+ static associate(models: any): void;
5
6
  }
6
7
  export default FileStorageModel;
@@ -1,13 +1,36 @@
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 FileStorageModel extends sequelize_1.Model {
7
+ static associate(models) {
8
+ const { UserModel } = models;
9
+ FileStorageModel.belongsTo(UserModel, {
10
+ foreignKey: {
11
+ name: 'createdBy',
12
+ allowNull: true,
13
+ field: 'created_by',
14
+ },
15
+ as: 'createdByUser',
16
+ });
17
+ FileStorageModel.belongsTo(UserModel, {
18
+ foreignKey: {
19
+ name: 'updatedBy',
20
+ allowNull: true,
21
+ field: 'updated_by',
22
+ },
23
+ as: 'updatedByUser',
24
+ });
25
+ FileStorageModel.belongsTo(UserModel, {
26
+ foreignKey: {
27
+ name: 'deletedBy',
28
+ allowNull: true,
29
+ field: 'deleted_by',
30
+ },
31
+ as: 'deletedByUser',
32
+ });
33
+ }
11
34
  }
12
35
  FileStorageModel.init({
13
36
  id: {
@@ -36,7 +59,6 @@ FileStorageModel.init({
36
59
  type: sequelize_1.DataTypes.ENUM,
37
60
  values: Object.values(app_1.APP_TYPE),
38
61
  allowNull: false,
39
- // defaultValue: APP_TYPE.INSTITUTE_APP,
40
62
  },
41
63
  instituteId: {
42
64
  type: sequelize_1.DataTypes.UUID,
@@ -59,28 +81,4 @@ FileStorageModel.init({
59
81
  timestamps: true,
60
82
  sequelize: index_1.sequelize,
61
83
  });
62
- FileStorageModel.belongsTo(userModel_1.default, {
63
- foreignKey: {
64
- name: 'createdBy',
65
- allowNull: true,
66
- field: 'created_by',
67
- },
68
- as: 'createdByUser',
69
- });
70
- FileStorageModel.belongsTo(userModel_1.default, {
71
- foreignKey: {
72
- name: 'updatedBy',
73
- allowNull: true,
74
- field: 'updated_by',
75
- },
76
- as: 'updatedByUser',
77
- });
78
- FileStorageModel.belongsTo(userModel_1.default, {
79
- foreignKey: {
80
- name: 'deletedBy',
81
- allowNull: true,
82
- field: 'deleted_by',
83
- },
84
- as: 'deletedByUser',
85
- });
86
84
  exports.default = FileStorageModel;
@@ -14,5 +14,6 @@ declare class FloorManagementModel extends Model<IFloorManagementModelAttributes
14
14
  readonly createdAt: Date;
15
15
  readonly deletedAt: string;
16
16
  readonly updatedAt: Date;
17
+ static associate(models: any): void;
17
18
  }
18
19
  export default FloorManagementModel;
@@ -1,14 +1,32 @@
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
  class FloorManagementModel extends sequelize_1.Model {
7
+ static associate(models) {
8
+ const { UserModel, InstituteModel } = models;
9
+ FloorManagementModel.belongsTo(UserModel, {
10
+ foreignKey: { name: 'createdBy', allowNull: true, field: 'created_by' },
11
+ as: 'createdByUser',
12
+ });
13
+ FloorManagementModel.belongsTo(UserModel, {
14
+ foreignKey: { name: 'updatedBy', allowNull: true, field: 'updated_by' },
15
+ as: 'updatedByUser',
16
+ });
17
+ FloorManagementModel.belongsTo(UserModel, {
18
+ foreignKey: { name: 'deletedBy', allowNull: true, field: 'deleted_by' },
19
+ as: 'deletedByUser',
20
+ });
21
+ FloorManagementModel.belongsTo(InstituteModel, {
22
+ foreignKey: { name: 'instituteId' },
23
+ as: 'floorInstitute',
24
+ });
25
+ InstituteModel.hasMany(FloorManagementModel, {
26
+ foreignKey: { name: 'instituteId' },
27
+ as: 'instituteFloorList',
28
+ });
29
+ }
12
30
  }
13
31
  FloorManagementModel.init({
14
32
  id: {
@@ -44,47 +62,10 @@ FloorManagementModel.init({
44
62
  name: 'institute_floor_id',
45
63
  unique: true,
46
64
  fields: ['institute_id', 'floor_number'],
47
- // eslint-disable-next-line camelcase
48
65
  where: { deleted_at: null },
49
66
  },
50
67
  ],
51
68
  timestamps: true,
52
69
  sequelize: index_1.sequelize,
53
70
  });
54
- FloorManagementModel.belongsTo(userModel_1.default, {
55
- foreignKey: {
56
- name: 'createdBy',
57
- allowNull: true,
58
- field: 'created_by',
59
- },
60
- as: 'createdByUser',
61
- });
62
- FloorManagementModel.belongsTo(userModel_1.default, {
63
- foreignKey: {
64
- name: 'updatedBy',
65
- allowNull: true,
66
- field: 'updated_by',
67
- },
68
- as: 'updatedByUser',
69
- });
70
- FloorManagementModel.belongsTo(userModel_1.default, {
71
- foreignKey: {
72
- name: 'deletedBy',
73
- allowNull: true,
74
- field: 'deleted_by',
75
- },
76
- as: 'deletedByUser',
77
- });
78
- FloorManagementModel.belongsTo(instituteModel_1.default, {
79
- foreignKey: {
80
- name: 'instituteId',
81
- },
82
- as: 'floorInstitute',
83
- });
84
- instituteModel_1.default.hasMany(FloorManagementModel, {
85
- foreignKey: {
86
- name: 'instituteId',
87
- },
88
- as: 'instituteFloorList',
89
- });
90
71
  exports.default = FloorManagementModel;
@@ -2,7 +2,7 @@ import { Model } from 'sequelize';
2
2
  import { IGreetingsModelAttributes } from '../../interfaces/greetingsInterface';
3
3
  import { TGreetingsModelCreationAttributes } from '../../types/greetingsType';
4
4
  import { COMMAN_STATUS, GREETING_TYPE } from '../../constants/app';
5
- declare class GreetingsModel extends Model<IGreetingsModelAttributes, TGreetingsModelCreationAttributes> {
5
+ export default class GreetingsModel extends Model<IGreetingsModelAttributes, TGreetingsModelCreationAttributes> {
6
6
  id: string;
7
7
  instituteId: string;
8
8
  greetingType: GREETING_TYPE;
@@ -17,5 +17,6 @@ declare class GreetingsModel extends Model<IGreetingsModelAttributes, TGreetings
17
17
  readonly createdAt: Date;
18
18
  readonly updatedAt: Date;
19
19
  readonly deletedAt?: Date;
20
+ static associate(models: any): void;
21
+ static addHooks(models: any): void;
20
22
  }
21
- export default GreetingsModel;