import { desc, eq } from 'drizzle-orm' import { drizzleDb } from '../AppDatabase' import { openaiThreadsTable } from '../schemas/drizzle.schema' // TODO: replace results with valibot schema after update to typescript 5 is possible export async function dbInsertOpenaiThread(id: string, userId: number): Promise { await drizzleDb().insert(openaiThreadsTable).values({ id, userId }) } export async function dbUpdateOpenaiThread(id: string): Promise { await drizzleDb() .update(openaiThreadsTable) .set({ updatedAt: new Date() }) .where(eq(openaiThreadsTable.id, id)) } export async function dbFindNewestCreatedOpenaiThreadByUserId( userId: number, ): Promise { const result = await drizzleDb() .select() .from(openaiThreadsTable) .where(eq(openaiThreadsTable.userId, userId)) .orderBy(desc(openaiThreadsTable.createdAt)) .limit(1) return result.at(0) } export async function dbDeleteOpenaiThread(id: string): Promise { await drizzleDb().delete(openaiThreadsTable).where(eq(openaiThreadsTable.id, id)) }