# Generated by ariadne-codegen
# Source: combined.graphql

from datetime import datetime
from typing import Any, List, Optional

from pydantic import Field

from .base_model import BaseModel


class Project(BaseModel):
    project: Optional["ProjectProject"]


class ProjectProject(BaseModel):
    created_at: datetime = Field(alias="createdAt")
    updated_at: datetime = Field(alias="updatedAt")
    deleted_at: Optional[datetime] = Field(alias="deletedAt")
    data: Optional["ProjectProjectData"]
    tags: List[str]
    proteins: "ProjectProjectProteins"
    protein_conformers: "ProjectProjectProteinConformers"
    smols: "ProjectProjectSmols"
    smol_conformers: "ProjectProjectSmolConformers"
    smol_tautomers: "ProjectProjectSmolTautomers"


class ProjectProjectData(BaseModel):
    name: str


class ProjectProjectProteins(BaseModel):
    edges: List["ProjectProjectProteinsEdges"]


class ProjectProjectProteinsEdges(BaseModel):
    node: "ProjectProjectProteinsEdgesNode"


class ProjectProjectProteinsEdgesNode(BaseModel):
    id: Any


class ProjectProjectProteinConformers(BaseModel):
    edges: List["ProjectProjectProteinConformersEdges"]


class ProjectProjectProteinConformersEdges(BaseModel):
    node: "ProjectProjectProteinConformersEdgesNode"


class ProjectProjectProteinConformersEdgesNode(BaseModel):
    id: Any


class ProjectProjectSmols(BaseModel):
    edges: List["ProjectProjectSmolsEdges"]


class ProjectProjectSmolsEdges(BaseModel):
    node: "ProjectProjectSmolsEdgesNode"


class ProjectProjectSmolsEdgesNode(BaseModel):
    id: Any


class ProjectProjectSmolConformers(BaseModel):
    edges: List["ProjectProjectSmolConformersEdges"]


class ProjectProjectSmolConformersEdges(BaseModel):
    node: "ProjectProjectSmolConformersEdgesNode"


class ProjectProjectSmolConformersEdgesNode(BaseModel):
    id: Any


class ProjectProjectSmolTautomers(BaseModel):
    edges: List["ProjectProjectSmolTautomersEdges"]


class ProjectProjectSmolTautomersEdges(BaseModel):
    node: "ProjectProjectSmolTautomersEdgesNode"


class ProjectProjectSmolTautomersEdgesNode(BaseModel):
    id: Any


Project.model_rebuild()
ProjectProject.model_rebuild()
ProjectProjectData.model_rebuild()
ProjectProjectProteins.model_rebuild()
ProjectProjectProteinsEdges.model_rebuild()
ProjectProjectProteinsEdgesNode.model_rebuild()
ProjectProjectProteinConformers.model_rebuild()
ProjectProjectProteinConformersEdges.model_rebuild()
ProjectProjectProteinConformersEdgesNode.model_rebuild()
ProjectProjectSmols.model_rebuild()
ProjectProjectSmolsEdges.model_rebuild()
ProjectProjectSmolsEdgesNode.model_rebuild()
ProjectProjectSmolConformers.model_rebuild()
ProjectProjectSmolConformersEdges.model_rebuild()
ProjectProjectSmolConformersEdgesNode.model_rebuild()
ProjectProjectSmolTautomers.model_rebuild()
ProjectProjectSmolTautomersEdges.model_rebuild()
ProjectProjectSmolTautomersEdgesNode.model_rebuild()
