import { Logger, Module, OnModuleInit } from '@nestjs/common'; import { ModuleRegistryModule } from '../module-registry/module-registry.module'; import { ModuleRegistryService } from '../module-registry/module-registry.service'; import { ProxmoxController } from './proxmox.controller'; import { ProxmoxSchedulerService } from './proxmox-scheduler.service'; import { seedProxmoxModule } from './proxmox.seed'; import { ProxmoxService } from './proxmox.service'; /** * NestJS module for the Proxmox feature (260923-dhh). Vorbild * `DomaincheckModule`: seeds itself into the module registry on startup. * `ScheduleModule` ist bereits global in `app.module.ts` registriert — der * Planer (Aufgabe 4) braucht hier nichts zusaetzlich, nur die Aufnahme in * `providers`. */ @Module({ imports: [ModuleRegistryModule], controllers: [ProxmoxController], providers: [ProxmoxService, ProxmoxSchedulerService], }) export class ProxmoxModule implements OnModuleInit { private readonly logger = new Logger(ProxmoxModule.name); constructor(private readonly moduleRegistryService: ModuleRegistryService) {} async onModuleInit(): Promise { try { await seedProxmoxModule(this.moduleRegistryService); this.logger.log('Proxmox module seeded in registry'); } catch (error) { this.logger.error('Failed to seed proxmox module', error); } } }