diff --git a/server/utils/database.ts b/server/utils/database.ts index 02b4662..7159698 100644 --- a/server/utils/database.ts +++ b/server/utils/database.ts @@ -13,9 +13,30 @@ export function addMessage(user: string, message: string) { db.sql`INSERT INTO messages (user, message) VALUES (${user}, ${message})`; } -export async function getMessages(count = 5) { +export async function getMessages(count = 5, orderDesc: boolean = true) { const db = useDatabase(); - const { rows } = await db.sql`SELECT * FROM messages ORDER BY created_at ASC LIMIT ${count}` - return rows as { id: number, user: string, message: string, created_at: string }[]; -} + const rows = await db + .prepare( + orderDesc + ? "SELECT * FROM messages ORDER BY created_at DESC LIMIT ?" + : "SELECT * FROM messages ORDER BY created_at ASC LIMIT ?" + ) + .all(count); + + if (!rows) { + throw createError("SQL Failed"); + } + + if (orderDesc) { + //@ts-ignore + rows.reverse(); + } + + return rows as { + id: number; + user: string; + message: string; + created_at: string; + }[]; +}