source: pages/dashboard/user/userDashboard.telefunc.ts@ d4842f4

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

Update telefunctions

  • Property mode set to 100644
File size: 1.7 KB
RevLine 
[b69759d]1import * as drizzleQueries from "../../../database/drizzle/queries";
2import {requireUser} from "../../../server/telefunc/ctx";
[226fbbb]3import {Abort} from "telefunc";
[b69759d]4
5export async function getUserInfoAndData() {
6 const { c, userId } = requireUser()
7
8 const user = await drizzleQueries.getUserProfile(c.db, userId);
9
10 if (!user) throw new Error();
11
12 const userBuilds = await drizzleQueries.getUserBuilds(c.db, userId);
13 const favoriteBuilds = await drizzleQueries.getFavoriteBuilds(c.db, userId);
14
15 return {
16 user,
17 userBuilds,
18 favoriteBuilds
19 };
[226fbbb]20}
21
22export async function onDeleteBuild({ buildId }
23 : { buildId: number }) {
24 const { c, userId } = requireUser()
25
26 if (!Number.isInteger(buildId) || buildId <= 0) throw Abort();
27
28 const result = await drizzleQueries.deleteBuild(c.db, userId, buildId);
29
30 return { success: true };
31}
32
33export async function onEditBuild({ buildId }
34 : { buildId: number }) {
35 const { c, userId } = requireUser()
36
37 if(!Number.isInteger(buildId) || buildId <= 0) throw Abort();
38
39 const buildDetails = await drizzleQueries.getBuildDetails(c.db, buildId, userId);
40
41 if(!buildDetails) throw Abort();
42
43 return buildDetails;
44}
45
46export async function onSaveEditBuild({ buildId, name, description, componentIds }
47 : { buildId: number; name: string; description: string; componentIds: number[] }) {
48 const { c, userId } = requireUser()
49
50 if (!Number.isInteger(buildId) || buildId <= 0) throw Abort();
51
52 const result = await drizzleQueries.editBuild(c.db, userId, buildId, name, description, componentIds);
53
54 if(!result) throw Abort();
55
56 return { success: true };
[b69759d]57}
Note: See TracBrowser for help on using the repository browser.