import { requireAuth } from '~/server/utils/auth' import { prisma } from '~/server/utils/prisma' export default defineEventHandler(async (event) => { const user = requireAuth(event) const id = getRouterParam(event, 'id') const group = await prisma.group.findUnique({ where: { id }, include: { members: { include: { user: { select: { id: true, username: true, email: true } } } } } }) if (!group) { throw createError({ statusCode: 404, message: 'Group not found' }) } // Проверяем, имеет ли пользователь право видеть детали группы const isMember = group.members.some(m => m.userId === user.id) if (!group.isPublic && !isMember && user.role !== 'admin') { throw createError({ statusCode: 403, message: 'Access denied' }) } return { group } })