48 lines
1.5 KiB
Python
48 lines
1.5 KiB
Python
from datetime import datetime
|
|
from typing import List
|
|
|
|
from fastapi import APIRouter, Depends
|
|
from loguru import logger
|
|
|
|
from app.common.models import CodeDepotDoc
|
|
from app.common.models.deployment.deployment import Deployment, InitDeploymentRequest
|
|
from app.routes.deployment.service import DeploymentService, get_deployment_service
|
|
|
|
router = APIRouter(prefix="/deployment")
|
|
|
|
@router.post("/initDeployment")
|
|
## insert a new Deployment object to db
|
|
async def init_deployment(
|
|
request: InitDeploymentRequest,
|
|
service: DeploymentService = Depends(get_deployment_service)
|
|
) -> Deployment:
|
|
return await service.init_deployment(request)
|
|
|
|
@router.post("/updateDeploymentStatus")
|
|
async def update_deployment(
|
|
request: Deployment,
|
|
service: DeploymentService = Depends(get_deployment_service)
|
|
) -> Deployment:
|
|
return await service.update_deployment_status(request)
|
|
|
|
@router.get("/checkDeploymentStatus")
|
|
async def check_deployment_status(
|
|
deployment_id: str,
|
|
service: DeploymentService = Depends(get_deployment_service)
|
|
) -> List[Deployment]:
|
|
return await service.check_deployment_status(deployment_id)
|
|
|
|
@router.post("/createDummyCodeDepot")
|
|
async def create_dummy_code_depot(
|
|
service: DeploymentService = Depends(get_deployment_service)
|
|
) -> CodeDepotDoc:
|
|
"""
|
|
Create a dummy code depot for testing purposes.
|
|
"""
|
|
try:
|
|
depot_name = await service.create_dummy_code_depot()
|
|
return depot_name
|
|
except Exception as e:
|
|
logger.error(f"Failed to create dummy code depot: {e}")
|
|
raise e
|