pkgs/db/src/utils/session.ts (view raw)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
import db, { eq } from "..";
import { sessions } from "../schemas";
export async function getUserSessions(id: number) {
const result = await db.select().from(sessions).where(eq(sessions.userId, id));
return result;
}
export async function getSession(id: string) {
const [result] = await db.select().from(sessions).where(eq(sessions.id, id));
return result;
}
export async function createSession(data: {
id: string;
userId: number;
accessToken: string;
refreshToken: string;
scope?: string | null;
tokenType?: string | null;
expiresAt: Date;
}) {
const [session] = await db
.insert(sessions)
.values({
id: data.id,
userId: data.userId,
accessToken: data.accessToken,
refreshToken: data.refreshToken,
scope: data.scope,
tokenType: data.tokenType,
expiresAt: data.expiresAt,
createdAt: new Date(),
})
.returning();
return session;
}
export async function deleteSession(id: string) {
const [deleted] = await db.delete(sessions).where(eq(sessions.id, id)).returning();
return deleted;
}
|