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

from typing import Any, List, Optional

from .base_model import BaseModel
from .enums import ProductStatus


class CreateProduct(BaseModel):
    productCreate: Optional["CreateProductProductCreate"]


class CreateProductProductCreate(BaseModel):
    product: Optional["CreateProductProductCreateProduct"]
    userErrors: List["CreateProductProductCreateUserErrors"]


class CreateProductProductCreateProduct(BaseModel):
    id: str
    title: str
    handle: str
    status: ProductStatus
    variants: "CreateProductProductCreateProductVariants"


class CreateProductProductCreateProductVariants(BaseModel):
    edges: List["CreateProductProductCreateProductVariantsEdges"]


class CreateProductProductCreateProductVariantsEdges(BaseModel):
    node: "CreateProductProductCreateProductVariantsEdgesNode"


class CreateProductProductCreateProductVariantsEdgesNode(BaseModel):
    id: str
    price: Any
    barcode: Optional[str]
    createdAt: Any


class CreateProductProductCreateUserErrors(BaseModel):
    field: Optional[List[str]]
    message: str


CreateProduct.model_rebuild()
CreateProductProductCreate.model_rebuild()
CreateProductProductCreateProduct.model_rebuild()
CreateProductProductCreateProductVariants.model_rebuild()
CreateProductProductCreateProductVariantsEdges.model_rebuild()
