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

from typing import List, Optional

from pydantic import Field

from .base_model import BaseModel


class AddRoleNeopsTask(BaseModel):
    role_neops_task_upsert: Optional["AddRoleNeopsTaskRoleNeopsTaskUpsert"] = Field(
        alias="roleNeopsTaskUpsert"
    )


class AddRoleNeopsTaskRoleNeopsTaskUpsert(BaseModel):
    role_neops_task: Optional["AddRoleNeopsTaskRoleNeopsTaskUpsertRoleNeopsTask"] = (
        Field(alias="roleNeopsTask")
    )


class AddRoleNeopsTaskRoleNeopsTaskUpsertRoleNeopsTask(BaseModel):
    role: Optional["AddRoleNeopsTaskRoleNeopsTaskUpsertRoleNeopsTaskRole"]
    neops_task: Optional[
        "AddRoleNeopsTaskRoleNeopsTaskUpsertRoleNeopsTaskNeopsTask"
    ] = Field(alias="neopsTask")


class AddRoleNeopsTaskRoleNeopsTaskUpsertRoleNeopsTaskRole(BaseModel):
    id: str
    users: Optional[
        List[Optional["AddRoleNeopsTaskRoleNeopsTaskUpsertRoleNeopsTaskRoleUsers"]]
    ]


class AddRoleNeopsTaskRoleNeopsTaskUpsertRoleNeopsTaskRoleUsers(BaseModel):
    id: str
    username: Optional[str]


class AddRoleNeopsTaskRoleNeopsTaskUpsertRoleNeopsTaskNeopsTask(BaseModel):
    id: str
    name: Optional[str]


AddRoleNeopsTask.model_rebuild()
AddRoleNeopsTaskRoleNeopsTaskUpsert.model_rebuild()
AddRoleNeopsTaskRoleNeopsTaskUpsertRoleNeopsTask.model_rebuild()
AddRoleNeopsTaskRoleNeopsTaskUpsertRoleNeopsTaskRole.model_rebuild()
