# Generated by smithplates HTTP codegen. Do not edit.

from __future__ import annotations

from dataclasses import dataclass

from fastapi import HTTPException, Request
from generated.ping_api.ping_api.apis.ping_api_base import PingApiServiceProtocol


@dataclass(frozen=True)
class ApiServices:
    ping_api: PingApiServiceProtocol


def get_api_services(request: Request) -> ApiServices:
    services = getattr(request.app.state, "api_services", None)
    if not isinstance(services, ApiServices):
        raise HTTPException(status_code=500, detail="API services are not configured")
    return services
