import { eq } from "drizzle-orm"; import db, { apiKeys } from ".."; export * from "./guild"; export * from "./session"; export * from "./ticket"; export * from "./user"; export async function createToken(name: string) { const token = await crypto.subtle.digest("SHA-256", new TextEncoder().encode(name)); const tokenString = Array.from(new Uint8Array(token)) .map((b) => b.toString(16).padStart(2, "0")) .join(""); const [insertedToken] = await db.insert(apiKeys).values({ name, token: tokenString }).returning(); return insertedToken; } export async function getToken(token: string) { const [apiKey] = await db.select().from(apiKeys).where(eq(apiKeys.token, token)); return apiKey; }