Files
Minikura/apps/backend/src/infrastructure/event-handlers/server-event.handler.ts
T

27 lines
1.1 KiB
TypeScript
Raw Normal View History

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");
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");
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");
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
});