Source code for pybragerone.models.api.modules
"""Module-related models for BragerOne API."""
from __future__ import annotations
from datetime import datetime
from typing import Any
from pydantic import BaseModel
[docs]
class ModuleGateway(BaseModel):
"""Gateway information for a module."""
address: str
interface: str
version: str
[docs]
class ModuleParameterSchema(BaseModel):
"""Parameter schema for a module."""
name: str
id: int
value: dict[str, Any]
[docs]
class Module(BaseModel):
"""Module information model."""
devid: str
name: str
gateway: ModuleGateway
deviceMenu: int
deviceLanguageVariant: int
devices: list[Any]
services: list[Any]
permissions: list[str]
acceptedAt: int
connectedAt: int
moduleAlarms: int
parameterSchemas: list[ModuleParameterSchema]
id: int
moduleAddress: str
moduleInterface: str
moduleVersion: str
moduleServices: list[Any]
moduleTitle: str
isAcceptedAt: datetime
isConnectedAt: datetime
[docs]
class ModuleCard(BaseModel):
"""Module card information with client details."""
id: int
moduleId: int
clientFullName: str
clientPhoneNumber: str
clientAddressStreetAndNumber: str
clientAddressPostalCode: str
clientAddressCity: str
createdAt: datetime
updatedAt: datetime