feat: implement FlowEditor component and add endpoint for user groups retrieval
This commit is contained in:
@@ -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)
|
||||||
|
|||||||
@@ -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 }
|
||||||
})
|
})
|
||||||
|
|||||||
Reference in New Issue
Block a user