import { and, asc, isNotNull, isNull, ne, or, sql } from "drizzle-orm"; import { db, tickets } from "../src/database"; const fastestClosures = await db .select() .from(tickets) .where( and( isNotNull(tickets.closedAt), or(ne(tickets.closedBy, "reporter"), isNull(tickets.closedBy)), ), ) .orderBy(asc(sql`${tickets.closedAt} - ${tickets.createdAt}`)) .limit(25); const tableData = fastestClosures.map((ticket, index) => { const durationMs = // biome-ignore lint/style/noNonNullAssertion: new Date(ticket.closedAt!).getTime() - new Date(ticket.createdAt).getTime(); return { ticket: `#${ticket.id}`, "closed by": ticket.closedBy, duration: durationMs / 1000, }; }); console.table(tableData);