"""Backups router""" from fastapi import APIRouter, Depends, Query from typing import Optional from vultr_api import VultrClient from deps import get_client router = APIRouter() @router.get("") async def list_backups( instance_id: Optional[str] = None, per_page: int = Query(25, le=500), cursor: Optional[str] = None, client: VultrClient = Depends(get_client) ): """List all backups""" return client.backups.list(instance_id=instance_id, per_page=per_page, cursor=cursor) @router.get("/all") async def list_all_backups( instance_id: Optional[str] = None, client: VultrClient = Depends(get_client) ): """List all backups (auto-paginated)""" return {"backups": client.backups.list_all(instance_id=instance_id)} @router.get("/{backup_id}") async def get_backup(backup_id: str, client: VultrClient = Depends(get_client)): """Get backup details""" return client.backups.get(backup_id)