Asunto en internos funcionando

This commit is contained in:
2026-03-24 08:01:57 -06:00
parent daf3a524c7
commit 08816ab73a
7 changed files with 660 additions and 240 deletions

View File

@@ -63,6 +63,29 @@ async def read_users(
result = await db.execute(query)
return result.scalars().all()
@router.get("/taggable", response_model=List[UserResponse])
async def get_taggable_users(
db: AsyncSession = Depends(get_db),
current_user: User = Depends(deps.get_current_user)
):
"""
Obtener usuarios que se pueden etiquetar en asuntos.
- Staff interno + CLIENT_ADMIN → todos los usuarios activos
- CLIENT_USER → solo CLIENT_ADMIN de su tenant
"""
if current_user.role.is_global or current_user.role == UserRole.CLIENT_ADMIN:
query = select(User).where(User.is_active == True)
else:
query = select(User).where(
User.tenant_id == current_user.tenant_id,
User.role == UserRole.CLIENT_ADMIN,
User.is_active == True
)
query = query.order_by(User.first_name)
result = await db.execute(query)
return result.scalars().all()
@router.post("/", response_model=UserResponse, status_code=status.HTTP_201_CREATED)
async def create_user(
@@ -402,3 +425,4 @@ async def activate_user(
await db.commit()
await db.refresh(db_user)
return db_user