# Generated by ariadne-codegen
# Source: ./documents

from typing import Optional

from pydantic import Field

from .base_model import BaseModel
from .enums import EntityTypes, RelationshipDirections


class LookupEntity(BaseModel):
    lookup_entity: Optional["LookupEntityLookupEntity"] = Field(alias="lookupEntity")


class LookupEntityLookupEntity(BaseModel):
    entity: Optional["LookupEntityLookupEntityEntity"]
    relationships: Optional[list["LookupEntityLookupEntityRelationships"]]
    total_count: int = Field(alias="totalCount")


class LookupEntityLookupEntityEntity(BaseModel):
    id: str
    name: str
    type: EntityTypes
    metadata: Optional[str]


class LookupEntityLookupEntityRelationships(BaseModel):
    relation: str
    direction: RelationshipDirections
    entity: "LookupEntityLookupEntityRelationshipsEntity"


class LookupEntityLookupEntityRelationshipsEntity(BaseModel):
    id: str
    name: str
    type: EntityTypes
    metadata: Optional[str]


LookupEntity.model_rebuild()
LookupEntityLookupEntity.model_rebuild()
LookupEntityLookupEntityRelationships.model_rebuild()
