📦 EqualifyEverything / equalify

📄 getAccessRequests.ts · 21 lines
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21import { db, event } from "#src/utils";

export const getAccessRequests = async () => {
    await db.connect();
    const requesterType = (await db.query({
        text: `SELECT type FROM users WHERE id=$1`,
        values: [event.claims.sub],
    })).rows?.[0]?.type;
    if (requesterType !== 'admin') {
        await db.clean();
        return { status: 'error', message: 'Admin access required.' };
    }

    const requests = (await db.query({
        text: `SELECT "id", "name", "email", "status", "created_at" FROM "access_requests" WHERE "status"='pending' ORDER BY "created_at" ASC`,
    })).rows;
    await db.clean();

    return { status: 'success', requests };
};