25 lines
583 B
TypeScript
25 lines
583 B
TypeScript
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);
|
|
}
|