obsidian-visualiser/server/api/users/[id].get.ts

31 lines
703 B
TypeScript

import { eq, sql } from "drizzle-orm";
import useDatabase from "~/composables/useDatabase";
import { usersTable } from "~/db/schema";
import type { User } from "~/types/auth";
export default defineEventHandler((e) => {
const id = getRouterParam(e, 'id');
if(!id)
{
setResponseStatus(e, 400);
return;
}
const db = useDatabase();
const user = db.query.usersTable.findFirst({
columns: {
username: true,
},
with: {
data: true
},
where: eq(usersTable.id, sql.placeholder('id')),
}).prepare().get({ id });
return {
username: user?.username,
...user?.data
} as User
});