Changeset 226fbbb for pages/dashboard
- Timestamp:
- 12/23/25 04:21:42 (7 months ago)
- Branches:
- main
- Children:
- ea09e98
- Parents:
- ee1fa4e
- Location:
- pages/dashboard
- Files:
-
- 2 edited
-
admin/adminDashboard.telefunc.ts (modified) (4 diffs)
-
user/userDashboard.telefunc.ts (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
pages/dashboard/admin/adminDashboard.telefunc.ts
ree1fa4e r226fbbb 2 2 import { requireAdmin } from "../../../server/telefunc/ctx"; 3 3 import {Abort} from "telefunc"; 4 import { validateComponentSpecificData } from "../../../database/drizzle/config/componentFieldConfig"; 4 5 5 6 export async function getAdminInfoAndData() { … … 22 23 } 23 24 24 export async function setPopupBuildApprovalStatus({ buildId, isApproved }25 export async function onSetBuildApprovalStatus({ buildId, isApproved } 25 26 : { buildId: number; isApproved: boolean }) { 26 27 const { c, userId } = await requireAdmin() … … 35 36 } 36 37 37 export async function setComponentSuggestionStatus({ suggestionId, status, adminComment }38 export async function onSetComponentSuggestionStatus({ suggestionId, status, adminComment } 38 39 : { suggestionId: number; status: string; adminComment: string }) { 39 40 const { c, userId } = await requireAdmin() … … 48 49 return { success: true }; 49 50 } 51 52 export async function onCreateNewComponent({ name, brand, price, imgUrl, type, specificData } 53 : { name: string; brand: string; price: number; imgUrl: string; type: string, specificData: any }) { 54 55 const { c, userId } = await requireAdmin() 56 57 if(!validateComponentSpecificData(type, specificData)) throw Abort(); 58 59 const newComponentId = await drizzleQueries.addNewComponent(c.db, name, brand, price, imgUrl, type, specificData); 60 61 if(!newComponentId) throw Abort(); 62 63 return newComponentId; 64 } -
pages/dashboard/user/userDashboard.telefunc.ts
ree1fa4e r226fbbb 1 1 import * as drizzleQueries from "../../../database/drizzle/queries"; 2 2 import {requireUser} from "../../../server/telefunc/ctx"; 3 import {Abort} from "telefunc"; 3 4 4 5 export async function getUserInfoAndData() { … … 18 19 }; 19 20 } 21 22 export 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 33 export 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 46 export 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 }; 57 }
Note:
See TracChangeset
for help on using the changeset viewer.
