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

from typing import Any, Optional

from pydantic import Field

from .base_model import BaseModel
from .enums import EntityOwners, EntityState


class GetSkill(BaseModel):
    skill: Optional["GetSkillSkill"]


class GetSkillSkill(BaseModel):
    id: str
    name: str
    creation_date: Any = Field(alias="creationDate")
    modified_date: Optional[Any] = Field(alias="modifiedDate")
    owner: "GetSkillSkillOwner"
    state: EntityState
    user: Optional["GetSkillSkillUser"]
    description: Optional[str]
    identifier: Optional[str]
    correlation_id: Optional[str] = Field(alias="correlationId")
    text: str
    skill_owner: Optional[EntityOwners] = Field(alias="skillOwner")
    arguments: Optional[list["GetSkillSkillArguments"]]
    collections: Optional[list[Optional["GetSkillSkillCollections"]]]


class GetSkillSkillOwner(BaseModel):
    id: str


class GetSkillSkillUser(BaseModel):
    id: str


class GetSkillSkillArguments(BaseModel):
    name: str
    description: Optional[str]
    required: Optional[bool]


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


GetSkill.model_rebuild()
GetSkillSkill.model_rebuild()
