Spaces:
Runtime error
Runtime error
| from functools import partial | |
| from typing import Any, Callable, Dict, Optional, Sequence, cast | |
| from chromadb.server.fastapi.utils import string_to_uuid | |
| from chromadb.api import ServerAPI | |
| from chromadb.auth import AuthzResourceTypes | |
| def find_key_with_value_of_type( | |
| type: AuthzResourceTypes, **kwargs: Any | |
| ) -> Dict[str, Any]: | |
| from chromadb.server.fastapi.types import ( | |
| CreateCollection, | |
| CreateDatabase, | |
| CreateTenant, | |
| ) | |
| for key, value in kwargs.items(): | |
| if type == AuthzResourceTypes.DB and isinstance(value, CreateDatabase): | |
| return dict(value) | |
| elif type == AuthzResourceTypes.COLLECTION and isinstance( | |
| value, CreateCollection | |
| ): | |
| return dict(value) | |
| elif type == AuthzResourceTypes.TENANT and isinstance(value, CreateTenant): | |
| return dict(value) | |
| return {} | |
| def attr_from_resource_object( | |
| type: AuthzResourceTypes, | |
| additional_attrs: Optional[Sequence[str]] = None, | |
| **kwargs: Any, | |
| ) -> Callable[..., Dict[str, Any]]: | |
| def _wrap(**wkwargs: Any) -> Dict[str, Any]: | |
| obj = find_key_with_value_of_type(type, **wkwargs) | |
| if additional_attrs: | |
| obj.update({k: wkwargs["function_kwargs"][k] | |
| for k in additional_attrs}) | |
| return obj | |
| return partial(_wrap, **kwargs) | |
| def attr_from_collection_lookup( | |
| collection_id_arg: str, **kwargs: Any | |
| ) -> Callable[..., Dict[str, Any]]: | |
| def _wrap(**kwargs: Any) -> Dict[str, Any]: | |
| _api = cast(ServerAPI, kwargs["api"]) | |
| col = _api.get_collection( | |
| id=string_to_uuid(kwargs["function_kwargs"][collection_id_arg])) | |
| return {"tenant": col.tenant, "database": col.database} | |
| return partial(_wrap, **kwargs) | |