@kipicore/dbcore 1.1.36 → 1.1.38

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.
@@ -8,7 +8,7 @@ exports.Sequelize = exports.db = exports.sequelize = void 0;
8
8
  const sequelize_1 = require("sequelize");
9
9
  Object.defineProperty(exports, "Sequelize", { enumerable: true, get: function () { return sequelize_1.Sequelize; } });
10
10
  const postgresConfig = require('../../configs/postgresConfig');
11
- const fs_1 = __importDefault(require("fs"));
11
+ const promises_1 = __importDefault(require("fs/promises"));
12
12
  const path_1 = __importDefault(require("path"));
13
13
  const { database, username, password, host, port, dbLogging, dialectOptions } = postgresConfig;
14
14
  const db = {};
@@ -27,30 +27,31 @@ const sequelize = new sequelize_1.Sequelize(database, username, password, {
27
27
  dialectOptions,
28
28
  });
29
29
  exports.sequelize = sequelize;
30
- // Load models
31
- // Load all models except index.js
32
- fs_1.default.readdirSync(__dirname)
33
- .filter(file => {
34
- return (file.indexOf('.') !== 0 &&
35
- file !== path_1.default.basename(__filename) && // exclude index.js
36
- (file.slice(-3) === '.js' || file.slice(-3) === '.ts'));
37
- })
38
- .forEach(file => {
39
- const modelDefiner = require(path_1.default.join(__dirname, file)).default;
40
- if (!modelDefiner)
41
- return;
42
- // Store model class in db with its modelName
43
- db[modelDefiner.name] = modelDefiner;
44
- });
45
- // Attach Sequelize instance
46
- db.sequelize = sequelize;
47
- db.Sequelize = sequelize_1.Sequelize;
48
- // Run associations
49
- Object.keys(db).forEach(modelName => {
50
- if (typeof db[modelName].associate === 'function') {
51
- db[modelName].associate(db);
30
+ (async () => {
31
+ const files = (await promises_1.default.readdir(__dirname)).filter(file => {
32
+ return file.indexOf('.') !== 0 && file !== path_1.default.basename(__filename) && (file.slice(-3) === '.js' || file.slice(-3) === '.ts');
33
+ });
34
+ for (const file of files) {
35
+ const modelPath = path_1.default.join(__dirname, file);
36
+ const modelModule = require(modelPath);
37
+ const modelDefiner = modelModule.default ?? modelModule;
38
+ if (!modelDefiner)
39
+ continue;
40
+ db[modelDefiner.name] = modelDefiner;
52
41
  }
53
- });
42
+ // Attach Sequelize instance
43
+ db.sequelize = sequelize;
44
+ db.Sequelize = sequelize_1.Sequelize;
45
+ // Run associate and hooks
46
+ Object.keys(db).forEach(modelName => {
47
+ if (typeof db[modelName].associate === 'function') {
48
+ db[modelName].associate(db);
49
+ }
50
+ if (typeof db[modelName].addHooks === 'function') {
51
+ db[modelName].addHooks(db);
52
+ }
53
+ });
54
+ })();
54
55
  sequelize.addHook('beforeBulkDestroy', async (options) => {
55
56
  const userId = options.userId; // Pass the user ID through options
56
57
  if (userId) {
@@ -97,104 +98,3 @@ sequelize.addHook('beforeFind', async (options) => {
97
98
  options.raw = false;
98
99
  }
99
100
  });
100
- // export * from './SubCategoriesModel';
101
- // export * from './academicCalendarModel';
102
- // export * from './accountHasReceiptDetailsModel';
103
- // export * from './announcementModel';
104
- // export * from './areaModel';
105
- // export * from './bankAccountDetailsModel';
106
- // export * from './bannerModel';
107
- // export * from './batchModel';
108
- // export * from './batchSubjectBookAssessmentModel';
109
- // export * from './batchSubjectProjectAssessmentModel';
110
- // export * from './bookAssessmentDateModel';
111
- // export * from './categoriesModel';
112
- // export * from './cityModel';
113
- // export * from './classRoomModel';
114
- // export * from './cloudStorageModel';
115
- // export * from './coinPurchaseOfferModel';
116
- // export * from './contactFeedBackModel';
117
- // export * from './countryModel';
118
- // export * from './courseHasVisitorsModel';
119
- // export * from './courseModel';
120
- // export * from './driverModel';
121
- // export * from './entityGroupModel';
122
- // export * from './facilityModel';
123
- // export * from './featureActionModel';
124
- // export * from './feeHistoryDetailsModel';
125
- // export * from './feeHistoryModel';
126
- // export * from './feeReminderModel';
127
- // export * from './feeReminderSettingModel';
128
- // export * from './feeTypeHasTermsModel';
129
- // export * from './feeTypeModel';
130
- // export * from './feesCollectionModel';
131
- // export * from './fileStorageModel';
132
- // export * from './floorManagementModel';
133
- // export * from './greetingsModel';
134
- // export * from './homeWorkModel';
135
- // export * from './instituteEntityModel';
136
- // export * from './instituteEntityTypeModel';
137
- // export * from './instituteModel';
138
- // export * from './instituteSubscriptionPlanModel';
139
- // export * from './inventoryHistoryModel';
140
- // export * from './inventoryModel';
141
- // export * from './lectureHistoryModel';
142
- // export * from './lectureModel';
143
- // export * from './masterLeaveModel';
144
- // export * from './moduleFeatureModel';
145
- // export * from './moduleModel';
146
- // export * from './offerModel';
147
- // export * from './paymentTermsModel';
148
- // export * from './pdcChequeModel';
149
- // export * from './pdcHistoryModel';
150
- // export * from './pincodeModel';
151
- // export * from './productModel';
152
- // export * from './projectAssessmentOptionModel';
153
- // export * from './roleModel';
154
- // export * from './rulesRegulationModel';
155
- // export * from './schoolFeeCollectionModel';
156
- // export * from './schoolOfferModel';
157
- // export * from './sendNotificationModel';
158
- // export * from './slotModel';
159
- // export * from './stateModel';
160
- // export * from './subjectHasFeeModel';
161
- // export * from './subjectHasPayFeeHistoryModel';
162
- // export * from './syllabusModel';
163
- // export * from './testimonialModel';
164
- // export * from './toDoModel';
165
- // export * from './tokenModel';
166
- // export * from './tripModel';
167
- // export * from './typeManagementModel';
168
- // export * from './userBookAssessmentModel';
169
- // export * from './userFeeTypeByAccountModel';
170
- // export * from './userFeeTypeModel';
171
- // export * from './userHasAnnouncementModel';
172
- // export * from './userHasBatchModel';
173
- // export * from './userHasCourseModel';
174
- // export * from './userHasDeviceModel';
175
- // export * from './userHasFeeTermsModel';
176
- // export * from './userHasFileModel';
177
- // export * from './userHasHomeWorkModel';
178
- // export * from './userHasInventoryHistoryModel';
179
- // export * from './userHasInventoryModel';
180
- // export * from './userHasLeaveHistoryModel';
181
- // export * from './userHasLeaveModel';
182
- // export * from './userHasOfferModel';
183
- // export * from './userHasParentModel';
184
- // export * from './userHasRoleModel';
185
- // export * from './userHasRollNumberModel';
186
- // export * from './userHasStorageModel';
187
- // export * from './userHasSubjectFeeModel';
188
- // export * from './userLeaveRequestModel';
189
- // export * from './userModel';
190
- // export * from './userPayoutDetailsModel';
191
- // export * from './userPayoutHistoryModel';
192
- // export * from './userPayoutModel';
193
- // export * from './userProjectAssessmentOptionModel';
194
- // export * from './userRequiredStepsModel';
195
- // export * from './vehicleModel';
196
- // export * from './vendorManagementModel';
197
- // export * from './walletHistoryModel';
198
- // export * from './walletModel';
199
- // export * from './workingDayModel';
200
- // export * from './workingShiftModel';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kipicore/dbcore",
3
- "version": "1.1.36",
3
+ "version": "1.1.38",
4
4
  "description": "Reusable DB core package with Postgres, MongoDB, models, services, interfaces, and types",
5
5
  "types": "dist/index.d.ts",
6
6
  "main": "dist/index.js",