@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.
25 lines • 937 B
JavaScript
import { CustomError } from '../../../../../error/index.js';
import { getContainer } from '../../../../../dependency-injection/container.js';
export class SequelizeAdapter {
async connect(_serviceName, config) {
const { instance, onDatabaseConnected } = config;
const sequelize = instance;
if (sequelize == null || typeof sequelize.authenticate !== 'function') {
throw new 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);
}
getContainer().register(sequelize.constructor.name, {
useValue: sequelize,
});
}
async disconnect() {
}
}
//# sourceMappingURL=sequelize.js.map