31 lines
750 B
TypeScript
31 lines
750 B
TypeScript
// server/api/village/events.get.ts
|
|
import { getUserIdFromSession } from '../../utils/auth';
|
|
import { PrismaClient } from '@prisma/client';
|
|
|
|
const prisma = new PrismaClient();
|
|
|
|
export default defineEventHandler(async (event) => {
|
|
const userId = await getUserIdFromSession(event);
|
|
|
|
const village = await prisma.village.findUnique({
|
|
where: { userId },
|
|
});
|
|
|
|
if (!village) {
|
|
// Or return empty array, depending on desired behavior for users without villages yet
|
|
return [];
|
|
}
|
|
|
|
const events = await prisma.villageEvent.findMany({
|
|
where: {
|
|
villageId: village.id,
|
|
},
|
|
orderBy: {
|
|
createdAt: 'desc',
|
|
},
|
|
take: 50, // Limit to the last 50 events to avoid overloading the client
|
|
});
|
|
|
|
return events;
|
|
});
|