# Generated by smithplates HTTP codegen. Do not edit.

from __future__ import annotations

from dataclasses import dataclass

from fastapi import HTTPException, Request
from generated.example.event_api.apis.events_api_base import EventsApiServiceProtocol


@dataclass(frozen=True)
class ApiServices:
    events_api: EventsApiServiceProtocol


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
