Ignore:
Timestamp:
12/20/25 04:03:51 (7 months ago)
Author:
Tome <gjorgievtome@…>
Branches:
main
Children:
5ce5904
Parents:
37bcb87
Message:

update queries

File:
1 edited

Legend:

Unmodified
Added
Removed
  • database/drizzle/queries/users.ts

    r37bcb87 rc4dd17d  
    11import type { Database } from "../db";
    2 import {adminsTable, usersTable } from "../schema";
    3 import { eq } from "drizzle-orm";
     2import {adminsTable, suggestionsTable, usersTable} from "../schema";
     3import {desc, eq} from "drizzle-orm";
    44
    55export async function createUser(db: Database, username: string, email: string, passwordHash: string) {
     
    1414
    1515export async function getUserProfile(db: Database, userId: number) {
    16     const user = await db
     16    const [user] = await db
    1717        .select({
    1818            username: usersTable.username,
     
    2525        .limit(1);
    2626
    27     return user[0] ?? null;
     27    return user ?? null;
    2828}
    2929
     
    3939    return admin.length > 0;
    4040}
     41
     42export async function getComponentSuggestions(db: Database) {
     43    const suggestionsList = await db
     44        .select()
     45        .from(suggestionsTable)
     46        .where(
     47            eq(suggestionsTable.status, 'pending')
     48        )
     49        .orderBy(
     50            desc(suggestionsTable.id)
     51        )
     52
     53    return suggestionsList;
     54}
     55
     56export async function setComponentSuggestionStatus(db: Database, suggestionId: number, adminId: number, status: string, adminComment: string) {
     57    const result = await db
     58        .update(suggestionsTable)
     59        .set({
     60            adminId: adminId,
     61            status: status,
     62            adminComment: adminComment
     63        })
     64        .where(
     65            eq(suggestionsTable.id, suggestionId)
     66        );
     67
     68    return result.rowCount;
     69}
     70
     71export async function addComponentSuggestion(db: Database, userId: number, link: string, description: string, componentType: string) {
     72    const [newSuggestion] = await db
     73        .insert(suggestionsTable)
     74        .values({
     75            userId: userId,
     76            link: link,
     77            description: description,
     78            componentType: componentType
     79        })
     80        .returning({ id: suggestionsTable.id });
     81
     82    return newSuggestion.id ?? null;
     83}
Note: See TracChangeset for help on using the changeset viewer.