34 lines
677 B
TypeScript
34 lines
677 B
TypeScript
import { logs } from "backend/db/schema/logs.schema.js";
|
|
import { desc } from "drizzle-orm";
|
|
import { db } from "../db/db.controller.js";
|
|
import type { RoomId } from "./types.socket.js";
|
|
|
|
type RoomDefinition<T = unknown> = {
|
|
seed: (limit: number) => Promise<T[]>;
|
|
};
|
|
|
|
export const roomDefinition: Record<RoomId, RoomDefinition> = {
|
|
logs: {
|
|
seed: async (limit) => {
|
|
try {
|
|
const rows = await db
|
|
.select()
|
|
.from(logs)
|
|
.orderBy(desc(logs.createdAt))
|
|
.limit(limit);
|
|
|
|
return rows.reverse();
|
|
} catch (e) {
|
|
console.error("Failed to seed logs:", e);
|
|
return [];
|
|
}
|
|
},
|
|
},
|
|
|
|
labels: {
|
|
seed: async (limit) => {
|
|
return [];
|
|
},
|
|
},
|
|
};
|