File size: 890 Bytes
eaab0a9 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | import { NextRequest, NextResponse } from 'next/server';
import { withDb } from '@/lib/api-handler';
import { db } from '@/lib/db';
import { getCookieToken, getSessionUser } from '@/lib/auth';
async function handler(req: NextRequest) {
try {
const token = getCookieToken(req);
if (!token) return NextResponse.json({ error: 'Unauthorized' }, { status: 401 });
const user = await getSessionUser(token);
if (!user) return NextResponse.json({ error: 'Unauthorized' }, { status: 401 });
const logs = await db.activityLog.findMany({
where: { userId: user.id },
orderBy: { createdAt: 'desc' },
take: 50,
});
return NextResponse.json({ activities: logs });
} catch (error) {
console.error('Activity fetch error:', error);
return NextResponse.json({ error: 'Internal error' }, { status: 500 });
}
}
export const GET = withDb(handler); |