@sentzunhat/zacatl
Version:
A modular, high-performance TypeScript microservice framework for Node.js, featuring layered architecture, dependency injection, and robust validation for building scalable APIs and distributed systems.
29 lines • 1.11 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.SequelizeAdapter = void 0;
const error_1 = require("../../../../../error/index.js");
const container_1 = require("../../../../../dependency-injection/container");
class SequelizeAdapter {
async connect(_serviceName, config) {
const { instance, onDatabaseConnected } = config;
const sequelize = instance;
if (sequelize == null || typeof sequelize.authenticate !== 'function') {
throw new error_1.CustomError({
message: 'database instance is not provided or invalid',
code: 500,
reason: 'database instance not provided',
});
}
await sequelize.authenticate();
if (onDatabaseConnected != null) {
await onDatabaseConnected(sequelize);
}
(0, container_1.getContainer)().register(sequelize.constructor.name, {
useValue: sequelize,
});
}
async disconnect() {
}
}
exports.SequelizeAdapter = SequelizeAdapter;
//# sourceMappingURL=sequelize.js.map