2026-08-13 02:18:51 +07:00
|
|
|
import { operatorResourceSync, wsService } from "../../application/di-container";
|
2026-02-13 15:52:13 +07:00
|
|
|
import {
|
|
|
|
|
ServerCreatedEvent,
|
|
|
|
|
ServerDeletedEvent,
|
|
|
|
|
ServerUpdatedEvent,
|
|
|
|
|
} from "../../domain/events/server-lifecycle.events";
|
|
|
|
|
import { eventBus } from "../event-bus";
|
2026-02-17 18:12:02 +07:00
|
|
|
import { logger } from "../logger";
|
2026-02-13 15:52:13 +07:00
|
|
|
|
|
|
|
|
eventBus.subscribe(ServerCreatedEvent, async (event) => {
|
2026-02-17 18:12:02 +07:00
|
|
|
logger.info({ serverId: event.serverId, serverType: event.serverType }, "Server created event");
|
2026-08-13 02:32:39 +07:00
|
|
|
wsService.broadcast("CREATE", event.serverType, event.serverId);
|
2026-08-13 02:18:51 +07:00
|
|
|
await operatorResourceSync.syncServerById(event.serverId);
|
2026-02-13 15:52:13 +07:00
|
|
|
});
|
|
|
|
|
|
|
|
|
|
eventBus.subscribe(ServerUpdatedEvent, async (event) => {
|
2026-02-17 18:12:02 +07:00
|
|
|
logger.info({ serverId: event.serverId }, "Server updated event");
|
2026-08-13 02:32:39 +07:00
|
|
|
wsService.broadcast("UPDATE", "server", event.serverId);
|
2026-08-13 02:18:51 +07:00
|
|
|
await operatorResourceSync.syncServerById(event.serverId);
|
2026-02-13 15:52:13 +07:00
|
|
|
});
|
|
|
|
|
|
|
|
|
|
eventBus.subscribe(ServerDeletedEvent, async (event) => {
|
2026-02-17 18:12:02 +07:00
|
|
|
logger.info({ serverId: event.serverId }, "Server deleted event");
|
2026-08-13 02:32:39 +07:00
|
|
|
wsService.broadcast("DELETE", "server", event.serverId);
|
2026-08-13 02:18:51 +07:00
|
|
|
await operatorResourceSync.deleteServer(event.serverId);
|
2026-02-13 15:52:13 +07:00
|
|
|
});
|