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

from typing import List, Optional

from pydantic import Field

from .base_model import BaseModel


class RoleDeviceGroup(BaseModel):
    role_device_group: Optional["RoleDeviceGroupRoleDeviceGroup"] = Field(
        alias="roleDeviceGroup"
    )


class RoleDeviceGroupRoleDeviceGroup(BaseModel):
    results: Optional[List[Optional["RoleDeviceGroupRoleDeviceGroupResults"]]]


class RoleDeviceGroupRoleDeviceGroupResults(BaseModel):
    id: str
    role: Optional["RoleDeviceGroupRoleDeviceGroupResultsRole"]
    device_group: Optional["RoleDeviceGroupRoleDeviceGroupResultsDeviceGroup"] = Field(
        alias="deviceGroup"
    )
    permission: Optional[int]


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


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


RoleDeviceGroup.model_rebuild()
RoleDeviceGroupRoleDeviceGroup.model_rebuild()
RoleDeviceGroupRoleDeviceGroupResults.model_rebuild()
