1
0
cvsa/packages/backend/routes/auth/user.ts

31 lines
602 B
TypeScript

import { Elysia, t } from "elysia";
import requireAuth from "@backend/middlewares/auth";
export const getCurrentUserHandler = new Elysia().use(requireAuth).get(
"/user",
async ({ user, status }) => {
if (!user) {
return status(401, { message: "Unauthorized" });
}
return {
id: user.id,
username: user.username,
nickname: user.nickname,
role: user.role
};
},
{
response: {
200: t.Object({
id: t.Integer(),
username: t.String(),
nickname: t.Union([t.String(), t.Null()]),
role: t.String()
}),
401: t.Object({
message: t.String()
})
}
}
);