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) return setResponseStatus(e, 401); const data = 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(); return data.filter(e => e.owner.id === session.user!.id || e.members.find(e => e.member?.id === session.user!.id)); });