This repository has been archived on 2026-08-09. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
Proxmox-VPS-Panel-secure/backend/app/routers/instances.py
T

25 lines
863 B
Python

from fastapi import APIRouter, Depends
from sqlalchemy import select
from sqlalchemy.orm import Session
from .. import models, schemas
from ..database import get_db
from ..deps import get_current_user
router = APIRouter(prefix="/instances", tags=["instances"])
@router.get("", response_model=list[schemas.InstanceOut])
def list_instances(
db: Session = Depends(get_db),
user: models.User = Depends(get_current_user),
):
"""Клиент видит только свои инстансы, администратор — все."""
query = select(models.Instance).where(
models.Instance.status != models.InstanceStatus.deleted
)
if user.role != models.UserRole.admin:
query = query.where(models.Instance.owner_id == user.id)
query = query.order_by(models.Instance.created_at.desc())
return list(db.scalars(query))