Asunto en internos funcionando
This commit is contained in:
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user