"""Health and readiness endpoints.""" from __future__ import annotations from datetime import datetime, timezone, timedelta from fastapi import APIRouter from pydantic import BaseModel from app.core.config import get_settings router = APIRouter(tags=["health"]) _KST = timezone(timedelta(hours=9)) class HealthResponse(BaseModel): status: str service: str version: str checked_at: str @router.get("/health", response_model=HealthResponse) def healthcheck() -> HealthResponse: settings = get_settings() return HealthResponse( status="ok", service="portfolio-hub", version=settings.app_version, checked_at=datetime.now(_KST).isoformat(), )