source: pages/dashboard/admin/adminDashboard.telefunc.ts@ b615094

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

add telefunctions

  • Property mode set to 100644
File size: 1.4 KB
Line 
1import * as drizzleQueries from "../../../database/drizzle/queries";
2import { requireAdmin } from "../../../server/telefunc/ctx";
3import {Abort} from "telefunc";
4
5export async function getAdminInfoAndData() {
6 const { c, userId } = await requireAdmin();
7
8 const admin = await drizzleQueries.getUserProfile(c.db, userId);
9
10 if (!admin) throw new Error();
11
12 const pendingBuilds = await drizzleQueries.getPendingBuilds(c.db);
13 const userBuilds = await drizzleQueries.getUserBuilds(c.db, userId);
14 // const componentSuggestions = await drizzleQueries.getComponentSuggestions(c.db);
15
16 return {
17 admin,
18 pendingBuilds,
19 userBuilds,
20 // componentSuggestions
21 };
22}
23
24export async function setPopupBuildApprovalStatus({ buildId, isApproved }
25 : { buildId: number; isApproved: boolean }) {
26 const { c, userId } = await requireAdmin()
27
28 if (!Number.isInteger(buildId) || buildId <= 0) throw Abort();
29
30 const result = await drizzleQueries.setBuildApprovalStatus(c.db, buildId, isApproved);
31
32 if (!result) throw Abort();
33
34 return { success: true };
35}
36
37export async function setComponentSuggestionStatus({ suggestionId, status, adminComment }
38 : { suggestionId: number; status: string; adminComment: string }) {
39 const { c, userId } = await requireAdmin()
40
41
42 // setComponentSuggestionStatus
43}
Note: See TracBrowser for help on using the repository browser.