feat: add AI event data fetching functions

This commit is contained in:
2026-01-27 21:35:54 +08:00
parent a6d97e58e2
commit 9aeb649225
+46
View File
@@ -0,0 +1,46 @@
import { prisma } from '@/lib/prisma';
export async function getAIEvents(options?: {
year?: number;
limit?: number;
offset?: number;
}) {
const where = options?.year
? {
eventDate: {
gte: new Date(`${options.year}-01-01T00:00:00Z`),
lte: new Date(`${options.year}-12-31T23:59:59Z`),
},
}
: undefined;
const events = await prisma.aIEvent.findMany({
where,
orderBy: { eventDate: 'desc' },
take: options?.limit || 100,
skip: options?.offset || 0,
});
return events;
}
export async function getAIEventBySlug(slug: string) {
// 暂不实现,后续如需要详细页面时添加
return null;
}
export async function getAllAIEventYears() {
const events = await prisma.aIEvent.findMany({
select: {
eventDate: true,
},
orderBy: { eventDate: 'desc' },
});
const years = new Set<number>();
events.forEach(event => {
years.add(new Date(event.eventDate).getFullYear());
});
return Array.from(years).sort((a, b) => b - a);
}