import { eq } from "drizzle-orm";
import { db } from "../db/db.controller.js";
import { logs } from "../db/schema/logs.schema.js";
import { emitToRoom } from "../socket.io/roomEmitter.socket.js";

export async function handleLogInsertedNotification(id: string) {
	const row = await db.query.logs.findFirst({
		where: eq(logs.id, id),
	});

	if (!row) return;

	// More targeted rooms.
	if (row.module) {
		emitToRoom(`logs:${row.module}`, row);
	}

	if (row.subModule) {
		emitToRoom(`logs:${row.subModule}`, row);
	}

	// Everyone listening to all logs.
	emitToRoom("logs", row);
}
