Automated Action 79eb3ef108 Add complete Uptime Monitoring API implementation
- Created FastAPI application with SQLite database
- Implemented monitor management endpoints (CRUD operations)
- Added uptime checking functionality with response time tracking
- Included statistics endpoints for uptime percentage and metrics
- Set up database models and Alembic migrations
- Added comprehensive API documentation
- Configured CORS and health check endpoints
2025-06-19 20:40:47 +00:00

26 lines
851 B
Python

from fastapi import APIRouter, Depends, HTTPException
from sqlalchemy.orm import Session
from app.db.session import get_db
from app.models.monitor import Monitor
from app.services.uptime_checker import UptimeChecker
router = APIRouter(prefix="/checks", tags=["checks"])
@router.post("/run/{monitor_id}")
def run_check(monitor_id: int, db: Session = Depends(get_db)):
monitor = db.query(Monitor).filter(Monitor.id == monitor_id).first()
if not monitor:
raise HTTPException(status_code=404, detail="Monitor not found")
checker = UptimeChecker(db)
result = checker.check_monitor(monitor)
return result
@router.post("/run-all")
def run_all_checks(db: Session = Depends(get_db)):
checker = UptimeChecker(db)
results = checker.check_all_active_monitors()
return {"checks_run": len(results), "results": results}