// src/services/RouterService.ts import { RouterRepository } from '../repositories/RouterRepository'; import { RouterData,VMUpdate} from '../types'; import { Pool } from 'mysql2/promise'; export class RouterService { private repository: RouterRepository; constructor(pool: Pool) { this.repository = new RouterRepository(pool); } async updateRouterVMs(routerId: string, vms: VMUpdate[]): Promise { console.log('Service: Updating VMs for router:', routerId); try { return await this.repository.updateVMs(routerId, vms); } catch (err) { console.error('Service error:', err); throw err; } } async getAllRouters(): Promise { return this.repository.findAll(); } async getRouterById(id: number): Promise { return this.repository.findById(id); } async getRoutersByFacility(facility: string): Promise { return this.repository.findByFacility(facility); } async createRouter(router: Partial): Promise { return this.repository.create(router); } async updateRouter(id: number, router: Partial): Promise { return this.repository.update(id, router); } async deleteRouter(id: number): Promise { return this.repository.delete(id); } }