owltide/server/api/users/index.get.ts
Hornwitser afd7aeea04
All checks were successful
/ build (push) Successful in 1m32s
/ deploy (push) Successful in 15s
De-duplicate serverUserToApi
2025-06-24 15:31:47 +02:00

18 lines
527 B
TypeScript

import { readUsers } from "~/server/database"
export default defineEventHandler(async (event) => {
const session = await requireServerSession(event);
const users = await readUsers();
if (session.account.type === "admin") {
return users.map(serverUserToApi);
}
if (session.account.type === "crew") {
return users.filter(u => u.type === "crew" || u.type === "admin").map(serverUserToApi);
}
throw createError({
status: 403,
statusText: "Forbidden",
message: "You do not have permission to list users",
});
})