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

from typing import Any, List, Optional

from .base_model import BaseModel
from .enums import ProductStatus


class GetCollectionProducts(BaseModel):
    collection: Optional["GetCollectionProductsCollection"]


class GetCollectionProductsCollection(BaseModel):
    id: str
    handle: str
    title: str
    products: "GetCollectionProductsCollectionProducts"


class GetCollectionProductsCollectionProducts(BaseModel):
    edges: List["GetCollectionProductsCollectionProductsEdges"]
    pageInfo: "GetCollectionProductsCollectionProductsPageInfo"


class GetCollectionProductsCollectionProductsEdges(BaseModel):
    node: "GetCollectionProductsCollectionProductsEdgesNode"


class GetCollectionProductsCollectionProductsEdgesNode(BaseModel):
    id: str
    title: str
    handle: str
    vendor: str
    productType: str
    status: ProductStatus
    createdAt: Any
    updatedAt: Any


class GetCollectionProductsCollectionProductsPageInfo(BaseModel):
    hasNextPage: bool
    hasPreviousPage: bool
    startCursor: Optional[str]
    endCursor: Optional[str]


GetCollectionProducts.model_rebuild()
GetCollectionProductsCollection.model_rebuild()
GetCollectionProductsCollectionProducts.model_rebuild()
GetCollectionProductsCollectionProductsEdges.model_rebuild()
