File size: 502 Bytes
287a0bc
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
from uuid import UUID
from starlette.responses import JSONResponse

from chromadb.errors import ChromaError, InvalidUUIDError


def fastapi_json_response(error: ChromaError) -> JSONResponse:
    return JSONResponse(
        content={"error": error.name(), "message": error.message()},
        status_code=error.code(),
    )

def string_to_uuid(uuid_str: str) -> UUID:
    try:
        return UUID(uuid_str)
    except ValueError:
        raise InvalidUUIDError(f"Could not parse {uuid_str} as a UUID")