feat: implement FlowEditor component and add endpoint for user groups retrieval

This commit is contained in:
2026-05-04 04:18:15 +05:00
parent 4ddcaec7c8
commit 7161523d01
2 changed files with 17 additions and 12 deletions
+3 -1
View File
@@ -718,7 +718,9 @@ onMounted(async () => {
// Load groups for assignment // Load groups for assignment
try { try {
const data = await $fetch('/api/groups') const data = await $fetch('/api/user/groups', {
headers: authHeaders.value
})
groupsList.value = data.groups || [] groupsList.value = data.groups || []
} catch (e) { } catch (e) {
console.error('Failed to load groups', e) console.error('Failed to load groups', e)
+15 -12
View File
@@ -1,18 +1,21 @@
import { requireAuth } from '~/server/utils/auth' import { requireAuth } from '~/server/utils/auth'
import { userGroups, groups } from '~/server/utils/db' import { prisma } from '~/server/utils/prisma'
export default defineEventHandler(async (event) => { export default defineEventHandler(async (event) => {
const user = requireAuth(event) const user = requireAuth(event)
// Get all groups the user is a member of // Находим группы, где пользователь либо владелец, либо участник
const userGroupMemberships = Array.from(userGroups.values()).filter( const groups = await prisma.group.findMany({
membership => membership.userId === user.id where: {
) OR: [
{ ownerId: user.id },
const userGroupsData = userGroupMemberships.map(membership => { { members: { some: { userId: user.id } } }
const group = groups.get(membership.groupId) ]
return group ? { ...group, membershipRole: membership.role } : null },
}).filter(Boolean) orderBy: {
name: 'asc'
return { groups: userGroupsData } }
})
return { groups }
}) })