# Generated by ariadne-codegen
# Source: tools/graphql_codegen/artifacts/

from __future__ import annotations

from typing import List, Optional

from pydantic import Field

from wandb._pydantic import GQLResult

from .fragments import PageInfoFragment, RegistryCollectionFragment


class RegistryCollections(GQLResult):
    organization: Optional[RegistryCollectionsOrganization]


class RegistryCollectionsOrganization(GQLResult):
    org_entity: Optional[RegistryCollectionsOrganizationOrgEntity] = Field(
        alias="orgEntity"
    )


class RegistryCollectionsOrganizationOrgEntity(GQLResult):
    name: str
    artifact_collections: Optional[
        RegistryCollectionsOrganizationOrgEntityArtifactCollections
    ] = Field(alias="artifactCollections")


class RegistryCollectionsOrganizationOrgEntityArtifactCollections(GQLResult):
    total_count: int = Field(alias="totalCount")
    page_info: PageInfoFragment = Field(alias="pageInfo")
    edges: List[RegistryCollectionsOrganizationOrgEntityArtifactCollectionsEdges]


class RegistryCollectionsOrganizationOrgEntityArtifactCollectionsEdges(GQLResult):
    node: Optional[RegistryCollectionFragment]


RegistryCollections.model_rebuild()
RegistryCollectionsOrganization.model_rebuild()
RegistryCollectionsOrganizationOrgEntity.model_rebuild()
RegistryCollectionsOrganizationOrgEntityArtifactCollections.model_rebuild()
RegistryCollectionsOrganizationOrgEntityArtifactCollectionsEdges.model_rebuild()
