# Generated by ariadne-codegen
# Source: ./documents

from typing import Any, List, Optional

from pydantic import Field

from .base_model import BaseModel
from .enums import LinkTypes


class GetSoftware(BaseModel):
    software: Optional["GetSoftwareSoftware"]


class GetSoftwareSoftware(BaseModel):
    release_date: Optional[Any] = Field(alias="releaseDate")
    developer: Optional[str]
    alternate_names: Optional[List[Optional[str]]] = Field(alias="alternateNames")
    uri: Optional[Any]
    description: Optional[str]
    identifier: Optional[str]
    thing: Optional[str]
    feeds: Optional[List[Optional["GetSoftwareSoftwareFeeds"]]]
    links: Optional[List[Optional["GetSoftwareSoftwareLinks"]]]
    workflow: Optional["GetSoftwareSoftwareWorkflow"]


class GetSoftwareSoftwareFeeds(BaseModel):
    id: str
    name: str


class GetSoftwareSoftwareLinks(BaseModel):
    uri: Optional[Any]
    link_type: Optional[LinkTypes] = Field(alias="linkType")
    excerpts: Optional[str]


class GetSoftwareSoftwareWorkflow(BaseModel):
    id: str
    name: str


GetSoftware.model_rebuild()
GetSoftwareSoftware.model_rebuild()
