@kipicore/dbcore 1.1.29 → 1.1.30

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.
@@ -28,18 +28,20 @@ const sequelize = new sequelize_1.Sequelize(database, username, password, {
28
28
  });
29
29
  exports.sequelize = sequelize;
30
30
  // add all models
31
+ // Load models
31
32
  fs_1.default.readdirSync(__dirname)
32
- .filter(file => file.indexOf('.') !== 0 && file !== 'index' && file.slice(-3) === '.js') // change to .js for compiled files
33
+ .filter(file => file.indexOf('.') !== 0 && file !== 'index' && file.slice(-3) === '.js')
33
34
  .forEach(file => {
34
- const model = require(path_1.default.join(__dirname, file));
35
- db[model?.default?.name || model.name] = model.default || model;
35
+ const modelDefiner = require(path_1.default.join(__dirname, file));
36
+ const model = modelDefiner.default ? modelDefiner.default(sequelize) : modelDefiner(sequelize);
37
+ db[model.name] = model;
38
+ });
39
+ // Run associations
40
+ Object.keys(db).forEach(modelName => {
41
+ if (typeof db[modelName].associate === 'function') {
42
+ db[modelName].associate(db);
43
+ }
36
44
  });
37
- // add all associations
38
- // Object.keys(db).forEach(modelName => {
39
- // if ('associate' in db[modelName]) {
40
- // db[modelName].associate(db);
41
- // }
42
- // });
43
45
  sequelize.addHook('beforeBulkDestroy', async (options) => {
44
46
  const userId = options.userId; // Pass the user ID through options
45
47
  if (userId) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kipicore/dbcore",
3
- "version": "1.1.29",
3
+ "version": "1.1.30",
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",