source: database/drizzle/queries/users.ts@ b69759d

main
Last change on this file since b69759d was b69759d, checked in by Tome <gjorgievtome@…>, 7 months ago

add telefunctions

  • Property mode set to 100644
File size: 1008 bytes
Line 
1import type { Database } from "../db";
2import {adminsTable, usersTable } from "../schema";
3import { eq } from "drizzle-orm";
4
5export async function createUser(db: Database, username: string, email: string, passwordHash: string) {
6 await db
7 .insert(usersTable)
8 .values({
9 username: username,
10 email: email,
11 passwordHash: passwordHash,
12 });
13}
14
15export async function getUserProfile(db: Database, userId: number) {
16 const user = await db
17 .select({
18 username: usersTable.username,
19 email: usersTable.email,
20 })
21 .from(usersTable)
22 .where(
23 eq(usersTable.id, userId)
24 )
25 .limit(1);
26
27 return user[0] ?? null;
28}
29
30export async function isAdmin(db: Database, userId: number) {
31 const admin = await db
32 .selectDistinct()
33 .from(adminsTable)
34 .where(
35 eq(adminsTable.userId, userId)
36 )
37 .limit(1);
38
39 return admin.length > 0;
40}
Note: See TracBrowser for help on using the repository browser.