import db, { schema } from "../db"; import * as argon2 from "argon2"; /** Finds a user by their id */ export async function findById(id: string) { return await db.query.users.findFirst({ where: (users, { eq }) => eq(users.id, id), columns: { id: true, username: true }, }); } /** Finds a user by their username */ export async function findByUsername(username: string) { return await db.query.users.findFirst({ where: (users, { eq }) => eq(users.username, username), columns: { id: true, username: true }, }); } /** Creates a user */ export async function create(username: string, password: string) { const hash = await argon2.hash(password); const [user] = await db .insert(schema.users) .values({ username, password: hash }) .returning({ id: schema.users.id, username: schema.users.username }); return user; }