fix(typing): resolve mypy errors in api.routes.controller.images

This commit is contained in:
Mark Paronyan 2026-09-29 22:02:20 +03:00
parent 81474b4651
commit bbf4e6aa2c
No known key found for this signature in database
GPG Key ID: 8DC7338A87FE22F8
2 changed files with 7 additions and 6 deletions

View File

@ -38,6 +38,7 @@ from gns3server.utils.images import (
default_images_directory, default_images_directory,
get_builtin_disks, get_builtin_disks,
) )
import gns3server.db.models as models
from gns3server.db.repositories.images import ImagesRepository from gns3server.db.repositories.images import ImagesRepository
from gns3server.db.repositories.templates import TemplatesRepository from gns3server.db.repositories.templates import TemplatesRepository
from gns3server.db.repositories.rbac import RbacRepository from gns3server.db.repositories.rbac import RbacRepository
@ -68,7 +69,7 @@ async def create_qemu_image(
image_path: str, image_path: str,
image_data: schemas.QemuDiskImageCreate, image_data: schemas.QemuDiskImageCreate,
images_repo: ImagesRepository = Depends(get_repository(ImagesRepository)), images_repo: ImagesRepository = Depends(get_repository(ImagesRepository)),
) -> schemas.Image: ) -> models.Image:
""" """
Create a new blank Qemu image. Create a new blank Qemu image.
@ -115,7 +116,7 @@ async def create_qemu_image(
async def get_images( async def get_images(
images_repo: ImagesRepository = Depends(get_repository(ImagesRepository)), images_repo: ImagesRepository = Depends(get_repository(ImagesRepository)),
image_type: Optional[schemas.ImageType] = None, image_type: Optional[schemas.ImageType] = None,
) -> List[schemas.Image]: ) -> List[models.Image]:
""" """
Return all images. Return all images.
@ -139,7 +140,7 @@ async def upload_image(
current_user: schemas.User = Depends(get_current_active_user), current_user: schemas.User = Depends(get_current_active_user),
rbac_repo: RbacRepository = Depends(get_repository(RbacRepository)), rbac_repo: RbacRepository = Depends(get_repository(RbacRepository)),
install_appliances: Optional[bool] = False, install_appliances: Optional[bool] = False,
) -> schemas.Image: ) -> models.Image:
""" """
Upload an image. Upload an image.
@ -256,7 +257,7 @@ async def install_images(
async def get_image( async def get_image(
image_path: str, image_path: str,
images_repo: ImagesRepository = Depends(get_repository(ImagesRepository)), images_repo: ImagesRepository = Depends(get_repository(ImagesRepository)),
) -> schemas.Image: ) -> models.Image:
""" """
Return an image. Return an image.
@ -299,7 +300,7 @@ async def delete_image(
templates = await images_repo.get_image_templates(image.image_id) templates = await images_repo.get_image_templates(image.image_id)
if templates: if templates:
template_names = ", ".join([template.name for template in templates]) template_names = ", ".join([str(template.name) for template in templates])
raise ControllerError(f"Image '{image_path}' is used by one or more templates: {template_names}") raise ControllerError(f"Image '{image_path}' is used by one or more templates: {template_names}")
project_names = Controller.instance().find_projects_using_image(image.filename) project_names = Controller.instance().find_projects_using_image(image.filename)

View File

@ -32,7 +32,7 @@ image_template_map = Table(
class Image(BaseTable): class Image(BaseTable):
__tablename__ = "images" __tablename__ = "images"
image_id = Column(Integer, primary_key=True, autoincrement=True) image_id: Mapped[int] = mapped_column(Integer, primary_key=True, autoincrement=True)
filename = Column(String, index=True) filename = Column(String, index=True)
path: Mapped[str] = mapped_column(String, unique=True, nullable=True) path: Mapped[str] = mapped_column(String, unique=True, nullable=True)
image_type = Column(String) image_type = Column(String)