mirror of
https://github.com/MODSetter/SurfSense.git
synced 2026-05-29 19:35:20 +02:00
23 lines
752 B
Python
23 lines
752 B
Python
"""Routes for the ``Automation`` resource."""
|
|
|
|
from __future__ import annotations
|
|
|
|
from typing import Any
|
|
|
|
from fastapi import APIRouter, Body, Depends
|
|
|
|
from app.automations.api.schemas import RunDispatched
|
|
from app.automations.services import AutomationService, get_automation_service
|
|
|
|
router = APIRouter()
|
|
|
|
|
|
@router.post("/automations/{automation_id}/run", response_model=RunDispatched)
|
|
async def run_automation_now(
|
|
automation_id: int,
|
|
payload: dict[str, Any] | None = Body(default=None),
|
|
service: AutomationService = Depends(get_automation_service),
|
|
) -> RunDispatched:
|
|
"""Fire a manual run."""
|
|
run = await service.run_now(automation_id=automation_id, payload=payload)
|
|
return RunDispatched(run_id=run.id, status=run.status)
|