Add user profile page (#302)

* Add user page and API endpoint

* add: /user/[id] page
* add: /api/v1/user/[id] API endpoint

* Change loading message in user profile page

* Fix build errors, prettier code
This commit is contained in:
Andus
2026-01-04 03:45:20 +01:00
committed by GitHub
parent c001a8c808
commit 8f5d8a43c5
3 changed files with 112 additions and 0 deletions

View File

@@ -0,0 +1,29 @@
import aclManager from "~/server/internal/acls";
import prisma from "~/server/internal/db/database";
export default defineEventHandler(async (h3) => {
const requestingUser = await aclManager.getUserACL(h3, ["read"]);
if (!requestingUser) throw createError({ statusCode: 403 });
const userId = getRouterParam(h3, "id");
if (!userId)
throw createError({
statusCode: 400,
statusMessage: "No userId in route.",
});
const user = await prisma.user.findUnique({
where: { id: userId },
select: {
id: true,
username: true,
displayName: true,
profilePictureObjectId: true,
},
});
if (!user)
throw createError({ statusCode: 404, statusMessage: "User not found." });
return user;
});