@kipicore/dbcore 1.1.36 → 1.1.37

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.
@@ -1,4 +1,37 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
2
35
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
37
  };
@@ -8,7 +41,7 @@ exports.Sequelize = exports.db = exports.sequelize = void 0;
8
41
  const sequelize_1 = require("sequelize");
9
42
  Object.defineProperty(exports, "Sequelize", { enumerable: true, get: function () { return sequelize_1.Sequelize; } });
10
43
  const postgresConfig = require('../../configs/postgresConfig');
11
- const fs_1 = __importDefault(require("fs"));
44
+ const promises_1 = __importDefault(require("fs/promises"));
12
45
  const path_1 = __importDefault(require("path"));
13
46
  const { database, username, password, host, port, dbLogging, dialectOptions } = postgresConfig;
14
47
  const db = {};
@@ -27,30 +60,31 @@ const sequelize = new sequelize_1.Sequelize(database, username, password, {
27
60
  dialectOptions,
28
61
  });
29
62
  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);
63
+ (async () => {
64
+ const files = (await promises_1.default.readdir(__dirname)).filter(file => {
65
+ return file.indexOf('.') !== 0 && file !== path_1.default.basename(__filename) && (file.slice(-3) === '.js' || file.slice(-3) === '.ts');
66
+ });
67
+ for (const file of files) {
68
+ const modelPath = path_1.default.join(__dirname, file);
69
+ const modelModule = await Promise.resolve(`${modelPath}`).then(s => __importStar(require(s)));
70
+ const modelDefiner = modelModule.default;
71
+ if (!modelDefiner)
72
+ continue;
73
+ db[modelDefiner.name] = modelDefiner;
52
74
  }
53
- });
75
+ // Attach Sequelize instance
76
+ db.sequelize = sequelize;
77
+ db.Sequelize = sequelize_1.Sequelize;
78
+ // Run associate and hooks
79
+ Object.keys(db).forEach(modelName => {
80
+ if (typeof db[modelName].associate === 'function') {
81
+ db[modelName].associate(db);
82
+ }
83
+ if (typeof db[modelName].addHooks === 'function') {
84
+ db[modelName].addHooks(db);
85
+ }
86
+ });
87
+ })();
54
88
  sequelize.addHook('beforeBulkDestroy', async (options) => {
55
89
  const userId = options.userId; // Pass the user ID through options
56
90
  if (userId) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kipicore/dbcore",
3
- "version": "1.1.36",
3
+ "version": "1.1.37",
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",