@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
@@ -13,5 +13,6 @@ declare class SubCategoriesModel extends Model<ISubCategoriesModelAttributes, TS
13
13
  readonly createdAt: Date;
14
14
  readonly deletedAt: string;
15
15
  readonly updatedAt: Date;
16
+ static associate(models: any): void;
16
17
  }
17
18
  export default SubCategoriesModel;
@@ -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
- const app_1 = require("../../constants/app");
8
- const instituteModel_1 = __importDefault(require("./instituteModel"));
9
4
  const index_1 = require("./index");
10
- const userModel_1 = __importDefault(require("./userModel"));
11
- const categoriesModel_1 = __importDefault(require("./categoriesModel"));
5
+ const app_1 = require("../../constants/app");
12
6
  class SubCategoriesModel extends sequelize_1.Model {
7
+ static associate(models) {
8
+ const { UserModel, InstituteModel, CategoriesModel } = models;
9
+ SubCategoriesModel.belongsTo(UserModel, {
10
+ foreignKey: {
11
+ name: 'createdBy',
12
+ allowNull: true,
13
+ field: 'created_by',
14
+ },
15
+ as: 'createdByUser',
16
+ });
17
+ SubCategoriesModel.belongsTo(UserModel, {
18
+ foreignKey: {
19
+ name: 'updatedBy',
20
+ allowNull: true,
21
+ field: 'updated_by',
22
+ },
23
+ as: 'updatedByUser',
24
+ });
25
+ SubCategoriesModel.belongsTo(UserModel, {
26
+ foreignKey: {
27
+ name: 'deletedBy',
28
+ allowNull: true,
29
+ field: 'deleted_by',
30
+ },
31
+ as: 'deletedByUser',
32
+ });
33
+ SubCategoriesModel.belongsTo(InstituteModel, {
34
+ foreignKey: {
35
+ name: 'instituteId',
36
+ field: 'institute_id',
37
+ allowNull: false,
38
+ },
39
+ as: 'instituteSubCategory',
40
+ });
41
+ InstituteModel.hasMany(SubCategoriesModel, {
42
+ foreignKey: {
43
+ name: 'instituteId',
44
+ field: 'institute_id',
45
+ allowNull: false,
46
+ },
47
+ as: 'categoriesInstitute',
48
+ });
49
+ SubCategoriesModel.belongsTo(CategoriesModel, {
50
+ foreignKey: {
51
+ name: 'categoryId',
52
+ field: 'category_id',
53
+ allowNull: true,
54
+ },
55
+ as: 'categories',
56
+ });
57
+ CategoriesModel.hasMany(SubCategoriesModel, {
58
+ foreignKey: {
59
+ name: 'categoryId',
60
+ field: 'category_id',
61
+ allowNull: true,
62
+ },
63
+ as: 'subCategoryOfCategory',
64
+ });
65
+ }
13
66
  }
14
67
  SubCategoriesModel.init({
15
68
  id: {
@@ -43,60 +96,4 @@ SubCategoriesModel.init({
43
96
  timestamps: true,
44
97
  sequelize: index_1.sequelize,
45
98
  });
46
- SubCategoriesModel.belongsTo(userModel_1.default, {
47
- foreignKey: {
48
- name: 'createdBy',
49
- allowNull: true,
50
- field: 'created_by',
51
- },
52
- as: 'createdByUser',
53
- });
54
- SubCategoriesModel.belongsTo(userModel_1.default, {
55
- foreignKey: {
56
- name: 'updatedBy',
57
- allowNull: true,
58
- field: 'updated_by',
59
- },
60
- as: 'updatedByUser',
61
- });
62
- SubCategoriesModel.belongsTo(userModel_1.default, {
63
- foreignKey: {
64
- name: 'deletedBy',
65
- allowNull: true,
66
- field: 'deleted_by',
67
- },
68
- as: 'deletedByUser',
69
- });
70
- SubCategoriesModel.belongsTo(instituteModel_1.default, {
71
- foreignKey: {
72
- name: 'instituteId',
73
- field: 'institute_id',
74
- allowNull: false,
75
- },
76
- as: 'instituteSubCategory',
77
- });
78
- instituteModel_1.default.hasMany(SubCategoriesModel, {
79
- foreignKey: {
80
- name: 'instituteId',
81
- field: 'institute_id',
82
- allowNull: false,
83
- },
84
- as: 'categoriesInstitute',
85
- });
86
- SubCategoriesModel.belongsTo(categoriesModel_1.default, {
87
- foreignKey: {
88
- name: 'categoryId',
89
- field: 'category_id',
90
- allowNull: true,
91
- },
92
- as: 'categories',
93
- });
94
- categoriesModel_1.default.hasMany(SubCategoriesModel, {
95
- foreignKey: {
96
- name: 'categoryId',
97
- field: 'category_id',
98
- allowNull: true,
99
- },
100
- as: 'subCategoryOfCategory',
101
- });
102
99
  exports.default = SubCategoriesModel;
@@ -2,7 +2,7 @@ import { Model } from 'sequelize';
2
2
  import { IAcademicCalendarModelAttributes } from '../../interfaces/academicCalendarInterface';
3
3
  import { TAcademicCalendarModelCreationAttributes } from '../../types/academicCalendarType';
4
4
  import { ACADEMIC_CALENDARS_STATUS } from '../../constants/app';
5
- declare class AcademicCalendarModel extends Model<IAcademicCalendarModelAttributes, TAcademicCalendarModelCreationAttributes> {
5
+ export declare class AcademicCalendarModel extends Model<IAcademicCalendarModelAttributes, TAcademicCalendarModelCreationAttributes> {
6
6
  id: string;
7
7
  instituteId: string;
8
8
  startDate: Date;
@@ -14,5 +14,6 @@ declare class AcademicCalendarModel extends Model<IAcademicCalendarModelAttribut
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 AcademicCalendarModel;
@@ -1,16 +1,50 @@
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.AcademicCalendarModel = void 0;
6
4
  const sequelize_1 = require("sequelize");
7
- const index_1 = require("./index");
8
- const instituteModel_1 = __importDefault(require("./instituteModel"));
9
- // import BatchModel from './batchModel';
10
- const userModel_1 = __importDefault(require("./userModel"));
11
5
  const app_1 = require("../../constants/app");
6
+ const index_1 = require("./index");
12
7
  class AcademicCalendarModel extends sequelize_1.Model {
8
+ static associate(models) {
9
+ const { InstituteModel, UserModel } = models;
10
+ AcademicCalendarModel.belongsTo(InstituteModel, {
11
+ foreignKey: {
12
+ name: 'instituteId',
13
+ field: 'institute_id',
14
+ },
15
+ as: 'academicCalendarInstitute',
16
+ });
17
+ AcademicCalendarModel.belongsTo(UserModel, {
18
+ foreignKey: {
19
+ name: 'createdBy',
20
+ allowNull: true,
21
+ field: 'created_by',
22
+ },
23
+ as: 'createdByUser',
24
+ });
25
+ AcademicCalendarModel.belongsTo(UserModel, {
26
+ foreignKey: {
27
+ name: 'updatedBy',
28
+ allowNull: true,
29
+ field: 'updated_by',
30
+ },
31
+ as: 'updatedByUser',
32
+ });
33
+ AcademicCalendarModel.belongsTo(UserModel, {
34
+ foreignKey: {
35
+ name: 'deletedBy',
36
+ allowNull: true,
37
+ field: 'deleted_by',
38
+ },
39
+ as: 'deletedByUser',
40
+ });
41
+ InstituteModel.hasMany(AcademicCalendarModel, {
42
+ foreignKey: 'instituteId',
43
+ as: 'instituteHasAcademicCalendars',
44
+ });
45
+ }
13
46
  }
47
+ exports.AcademicCalendarModel = AcademicCalendarModel;
14
48
  AcademicCalendarModel.init({
15
49
  id: {
16
50
  type: sequelize_1.DataTypes.UUID,
@@ -33,11 +67,6 @@ AcademicCalendarModel.init({
33
67
  field: 'end_date',
34
68
  allowNull: false,
35
69
  },
36
- // batchId: {
37
- // type: DataTypes.UUID,
38
- // field: 'batch_id',
39
- // allowNull: true,
40
- // },
41
70
  status: {
42
71
  type: sequelize_1.DataTypes.ENUM,
43
72
  values: Object.values(app_1.ACADEMIC_CALENDARS_STATUS),
@@ -50,45 +79,4 @@ AcademicCalendarModel.init({
50
79
  timestamps: true,
51
80
  sequelize: index_1.sequelize,
52
81
  });
53
- AcademicCalendarModel.belongsTo(instituteModel_1.default, {
54
- foreignKey: {
55
- name: 'instituteId',
56
- field: 'institute_id',
57
- },
58
- as: 'academicCalendarInstitute',
59
- });
60
- // AcademicCalendarModel.belongsTo(BatchModel, {
61
- // foreignKey: {
62
- // name: 'batchId',
63
- // field: 'batch_id',
64
- // allowNull: true,
65
- // },
66
- // as: 'academicCalendarBatch',
67
- // });
68
- // BatchModel.hasMany(AcademicCalendarModel, { foreignKey: 'batchId', as: 'batchHasAcademicCalendars' });
69
- instituteModel_1.default.hasMany(AcademicCalendarModel, { foreignKey: 'instituteId', as: 'instituteHasAcademicCalendars' });
70
- AcademicCalendarModel.belongsTo(userModel_1.default, {
71
- foreignKey: {
72
- name: 'createdBy',
73
- allowNull: true,
74
- field: 'created_by',
75
- },
76
- as: 'createdByUser',
77
- });
78
- AcademicCalendarModel.belongsTo(userModel_1.default, {
79
- foreignKey: {
80
- name: 'updatedBy',
81
- allowNull: true,
82
- field: 'updated_by',
83
- },
84
- as: 'updatedByUser',
85
- });
86
- AcademicCalendarModel.belongsTo(userModel_1.default, {
87
- foreignKey: {
88
- name: 'deletedBy',
89
- allowNull: true,
90
- field: 'deleted_by',
91
- },
92
- as: 'deletedByUser',
93
- });
94
82
  exports.default = AcademicCalendarModel;
@@ -1,7 +1,7 @@
1
1
  import { Model } from 'sequelize';
2
2
  import { IAccountHasReceiptDetailsInterfaceModelAttributes } from '../../interfaces/accountHasReceiptDetailsInterface';
3
3
  import { TAccountHasReceiptDetailsModelCreationAttributes } from '../../types/accountHasReceiptDetailsType';
4
- declare class AccountHasReceiptDetailsModel extends Model<IAccountHasReceiptDetailsInterfaceModelAttributes, TAccountHasReceiptDetailsModelCreationAttributes> {
4
+ export declare class AccountHasReceiptDetailsModel extends Model<IAccountHasReceiptDetailsInterfaceModelAttributes, TAccountHasReceiptDetailsModelCreationAttributes> {
5
5
  id: string;
6
6
  bankId: string;
7
7
  addressLine1: string;
@@ -16,11 +16,12 @@ declare class AccountHasReceiptDetailsModel extends Model<IAccountHasReceiptDeta
16
16
  name: string;
17
17
  landline: string;
18
18
  instituteId: string;
19
- createdBy: string;
20
- updatedBy: string;
21
- deletedBy: string;
19
+ createdBy?: string;
20
+ updatedBy?: string;
21
+ deletedBy?: string;
22
22
  readonly createdAt: Date;
23
- readonly deletedAt: string;
24
23
  readonly updatedAt: Date;
24
+ readonly deletedAt?: Date;
25
+ static associate(models: any): void;
25
26
  }
26
27
  export default AccountHasReceiptDetailsModel;
@@ -1,16 +1,54 @@
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.AccountHasReceiptDetailsModel = void 0;
6
4
  const sequelize_1 = require("sequelize");
7
5
  const index_1 = require("./index");
8
- const instituteModel_1 = __importDefault(require("./instituteModel"));
9
- const userModel_1 = __importDefault(require("./userModel"));
10
- const fileStorageModel_1 = __importDefault(require("./fileStorageModel"));
11
- const bankAccountDetailsModel_1 = __importDefault(require("./bankAccountDetailsModel"));
12
6
  class AccountHasReceiptDetailsModel extends sequelize_1.Model {
7
+ static associate(models) {
8
+ const { InstituteModel, UserModel, FileStorageModel, BankAccountDetailsModel } = models;
9
+ // Institute ↔ Receipt Details
10
+ AccountHasReceiptDetailsModel.belongsTo(InstituteModel, {
11
+ foreignKey: { name: 'instituteId', field: 'institute_id' },
12
+ as: 'receiptInstitute',
13
+ });
14
+ InstituteModel.hasMany(AccountHasReceiptDetailsModel, {
15
+ foreignKey: 'instituteId',
16
+ as: 'instituteHasReceipt',
17
+ });
18
+ // File Storage ↔ Receipt Details
19
+ AccountHasReceiptDetailsModel.belongsTo(FileStorageModel, {
20
+ foreignKey: { name: 'profileImage', field: 'profile_image' },
21
+ as: 'receiptProfileImage',
22
+ });
23
+ FileStorageModel.hasMany(AccountHasReceiptDetailsModel, {
24
+ foreignKey: { name: 'profileImage', field: 'profile_image' },
25
+ as: 'profileImageHasReceipt',
26
+ });
27
+ // Bank Account ↔ Receipt Details
28
+ AccountHasReceiptDetailsModel.belongsTo(BankAccountDetailsModel, {
29
+ foreignKey: { name: 'bankId', field: 'bank_id' },
30
+ as: 'accountHasReceiptBank',
31
+ });
32
+ BankAccountDetailsModel.hasMany(AccountHasReceiptDetailsModel, {
33
+ foreignKey: { name: 'bankId', field: 'bank_id' },
34
+ as: 'bankHasReceipt',
35
+ });
36
+ // Audit Users
37
+ AccountHasReceiptDetailsModel.belongsTo(UserModel, {
38
+ foreignKey: { name: 'createdBy', allowNull: true, field: 'created_by' },
39
+ as: 'createdByUser',
40
+ });
41
+ AccountHasReceiptDetailsModel.belongsTo(UserModel, {
42
+ foreignKey: { name: 'updatedBy', allowNull: true, field: 'updated_by' },
43
+ as: 'updatedByUser',
44
+ });
45
+ AccountHasReceiptDetailsModel.belongsTo(UserModel, {
46
+ foreignKey: { name: 'deletedBy', allowNull: true, field: 'deleted_by' },
47
+ as: 'deletedByUser',
48
+ });
49
+ }
13
50
  }
51
+ exports.AccountHasReceiptDetailsModel = AccountHasReceiptDetailsModel;
14
52
  AccountHasReceiptDetailsModel.init({
15
53
  id: {
16
54
  type: sequelize_1.DataTypes.UUID,
@@ -70,11 +108,12 @@ AccountHasReceiptDetailsModel.init({
70
108
  instituteId: {
71
109
  type: sequelize_1.DataTypes.UUID,
72
110
  allowNull: true,
111
+ field: 'institute_id',
73
112
  },
74
113
  bankId: {
75
114
  type: sequelize_1.DataTypes.UUID,
76
- field: 'bank_id',
77
115
  allowNull: false,
116
+ field: 'bank_id',
78
117
  },
79
118
  }, {
80
119
  modelName: 'AccountHasReceiptDetailsModel',
@@ -82,64 +121,4 @@ AccountHasReceiptDetailsModel.init({
82
121
  timestamps: true,
83
122
  sequelize: index_1.sequelize,
84
123
  });
85
- AccountHasReceiptDetailsModel.belongsTo(instituteModel_1.default, {
86
- foreignKey: {
87
- name: 'instituteId',
88
- field: 'institute_id',
89
- },
90
- as: 'receiptInstitute',
91
- });
92
- instituteModel_1.default.hasMany(AccountHasReceiptDetailsModel, { foreignKey: 'instituteId', as: 'instituteHasReceipt' });
93
- AccountHasReceiptDetailsModel.belongsTo(fileStorageModel_1.default, {
94
- foreignKey: {
95
- name: 'profileImage',
96
- field: 'profile_image',
97
- },
98
- as: 'receiptProfileImage',
99
- });
100
- fileStorageModel_1.default.hasMany(AccountHasReceiptDetailsModel, {
101
- foreignKey: {
102
- name: 'profileImage',
103
- field: 'profile_image',
104
- },
105
- as: 'profileImageHasReceipt',
106
- });
107
- AccountHasReceiptDetailsModel.belongsTo(bankAccountDetailsModel_1.default, {
108
- foreignKey: {
109
- name: 'bankId',
110
- field: 'bank_id',
111
- },
112
- as: 'accountHasReceiptBank',
113
- });
114
- bankAccountDetailsModel_1.default.hasMany(AccountHasReceiptDetailsModel, {
115
- foreignKey: {
116
- name: 'bankId',
117
- field: 'bank_id',
118
- },
119
- as: 'bankHasReceipt',
120
- });
121
- AccountHasReceiptDetailsModel.belongsTo(userModel_1.default, {
122
- foreignKey: {
123
- name: 'createdBy',
124
- allowNull: true,
125
- field: 'created_by',
126
- },
127
- as: 'createdByUser',
128
- });
129
- AccountHasReceiptDetailsModel.belongsTo(userModel_1.default, {
130
- foreignKey: {
131
- name: 'updatedBy',
132
- allowNull: true,
133
- field: 'updated_by',
134
- },
135
- as: 'updatedByUser',
136
- });
137
- AccountHasReceiptDetailsModel.belongsTo(userModel_1.default, {
138
- foreignKey: {
139
- name: 'deletedBy',
140
- allowNull: true,
141
- field: 'deleted_by',
142
- },
143
- as: 'deletedByUser',
144
- });
145
124
  exports.default = AccountHasReceiptDetailsModel;
@@ -2,7 +2,7 @@ import { Model } from 'sequelize';
2
2
  import { IAnnouncementModelAttributes } from '../../interfaces/announcementInterface';
3
3
  import { TAnnouncementModelCreationAttributes } from '../../types/announcementType';
4
4
  import { ANNOUCEMENT_SCHEDULE_TYPE, ANNOUCEMENT_STATUS, USER_TYPES } from '../../constants/app';
5
- declare class AnnouncementModel extends Model<IAnnouncementModelAttributes, TAnnouncementModelCreationAttributes> {
5
+ export declare class AnnouncementModel extends Model<IAnnouncementModelAttributes, TAnnouncementModelCreationAttributes> {
6
6
  id: string;
7
7
  title: string;
8
8
  subTitle: string;
@@ -12,17 +12,19 @@ declare class AnnouncementModel extends Model<IAnnouncementModelAttributes, TAnn
12
12
  batches: string[];
13
13
  userTypes: USER_TYPES[];
14
14
  scheduleDate: Date;
15
- instituteId: string;
15
+ instituteId?: string;
16
16
  userIds: string[];
17
17
  status: ANNOUCEMENT_STATUS;
18
- fileStorageId: string;
19
- link: string;
18
+ fileStorageId?: string;
19
+ link?: string;
20
20
  entityIds: string[];
21
- createdBy: string;
22
- updatedBy: string;
23
- deletedBy: string;
21
+ createdBy?: string;
22
+ updatedBy?: string;
23
+ deletedBy?: string;
24
24
  readonly createdAt: Date;
25
- readonly deletedAt: string;
26
25
  readonly updatedAt: Date;
26
+ readonly deletedAt?: string;
27
+ static associate(models: any): void;
28
+ static addHooks(models: any): void;
27
29
  }
28
30
  export default AnnouncementModel;
@@ -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;