obsidian-visualiser/server/api/campaign.get.ts

22 lines
671 B
TypeScript

import { eq } from 'drizzle-orm';
import useDatabase from '~/composables/useDatabase';
export default defineEventHandler(async (e) => {
const db = useDatabase();
const session = await getUserSession(e);
if(!session || !session.user)
{
setResponseStatus(e, 401);
return;
}
return db.query.campaignTable.findMany({
with: {
members: { with: { member: { columns: { username: true, id: true } } }, columns: { } },
characters: { where: ({ id }) => eq(id, session.user!.id), columns: { character: true } },
owner: { columns: { username: true, id: true } }
},
}).sync();
});