31 lines
754 B
TypeScript
31 lines
754 B
TypeScript
import { activities } from '~/server/utils/db'
|
|
|
|
export default defineEventHandler(async (event) => {
|
|
const userId = getRouterParam(event, 'id')
|
|
|
|
if (!userId) {
|
|
throw createError({ statusCode: 400, message: 'User ID is required' })
|
|
}
|
|
|
|
// Get user's recent activities
|
|
const user = await prisma.user.findFirst({
|
|
where: {
|
|
OR: [{ id: userId }, { username: userId }]
|
|
}
|
|
})
|
|
|
|
if (!user) {
|
|
throw createError({ statusCode: 404, message: 'User not found' })
|
|
}
|
|
|
|
// Get user's activities from database or memory
|
|
const userActivities = await prisma.activity.findMany({
|
|
where: { userId: user.id },
|
|
orderBy: { timestamp: 'desc' },
|
|
take: 20
|
|
})
|
|
// Limit to 50 most recent
|
|
|
|
return { activities: userActivities }
|
|
})
|