import { DataSource } from "@kottster/common"; /** * The data source registry */ export class DataSourceRegistry> { public dataSources: T; constructor(dataSources: DataSource[]) { this.dataSources = {} as T; dataSources.forEach((ds) => { (this.dataSources as Record)[ds.name] = ds; }); } /** * Connect to all registered data sources */ public connectToDataSources(): void { Object.values(this.dataSources).forEach((dataSource) => { dataSource.adapter.connect(); // Ping the database to check if the connection is successful dataSource.adapter.pingDatabase(); }); } }