from sqlalchemy.ext.asyncio import AsyncSession from domains.groups.models import Group, GroupMember from domains.groups.repo import ( create_group, get_group_by_id, add_group_member, get_user_groups ) async def create_new_group( db: AsyncSession, name: str, description: str | None ): group = Group( name=name, description=description ) return await create_group(db, group) async def add_member_to_group( db: AsyncSession, group_id, user_id, role ): membership = GroupMember( group_id=group_id, user_id=user_id, role=role ) return await add_group_member(db, membership) async def list_user_groups( db: AsyncSession, user_id ): return await get_user_groups(db, user_id)