# Generated by ariadne-codegen
# Source: ../../src/graphql/operations

from typing import Optional

from pydantic import Field

from .base_model import BaseModel


class Business(BaseModel):
    business: Optional["BusinessBusiness"]


class BusinessBusiness(BaseModel):
    id: str
    name: str
    description: Optional[str]
    website: Optional[str]
    media_links: Optional[list["BusinessBusinessMediaLinks"]] = Field(
        alias="mediaLinks"
    )
    products: Optional[list["BusinessBusinessProducts"]]
    owners: Optional[list["BusinessBusinessOwners"]]
    executives: Optional[list["BusinessBusinessExecutives"]]
    sponsored_episodes: Optional[list["BusinessBusinessSponsoredEpisodes"]] = Field(
        alias="sponsoredEpisodes"
    )


class BusinessBusinessMediaLinks(BaseModel):
    url: str
    description: Optional[str]


class BusinessBusinessProducts(BaseModel):
    id: str
    name: str
    description: Optional[str]


class BusinessBusinessOwners(BaseModel):
    id: str
    name: str
    role: Optional[str]


class BusinessBusinessExecutives(BaseModel):
    role: Optional[str]
    title: Optional[str]
    person: "BusinessBusinessExecutivesPerson"


class BusinessBusinessExecutivesPerson(BaseModel):
    id: str
    name: str
    role: Optional[str]


class BusinessBusinessSponsoredEpisodes(BaseModel):
    id: str
    episode_title: Optional[str] = Field(alias="episodeTitle")
    channel_name: str = Field(alias="channelName")


Business.model_rebuild()
BusinessBusiness.model_rebuild()
BusinessBusinessExecutives.model_rebuild()
