# Generated by smithplates HTTP codegen. Do not edit.

from __future__ import annotations

from dataclasses import dataclass

from fastapi import HTTPException, Request
from generated.project_api.project_api.apis.project_assets_api_base import ProjectAssetsApiServiceProtocol


@dataclass(frozen=True)
class ApiServices:
    project_assets_api: ProjectAssetsApiServiceProtocol


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
