# generated by datamodel-codegen:
#   filename:  data.json
#   timestamp: 2022-08-26T22:43:25+00:00

from __future__ import annotations

from typing import Any, Dict, List, Optional, Union

from pydantic import BaseModel


class ConfigModel(BaseModel):
    incl_poster: Optional[int] = None
    html_support: Optional[int] = None
    chat_id: Optional[str] = None
    bot_token: Optional[str] = None
    incl_subject: Optional[int] = None
    disable_web_preview: Optional[int] = None


class ActionsModel(BaseModel):
    on_play: Optional[int] = None
    on_stop: Optional[int] = None


class OnPlayModel(BaseModel):
    subject: Optional[str] = None
    body: Optional[str] = None


class OnStopModel(BaseModel):
    subject: Optional[str] = None
    body: Optional[str] = None


class NotifyTextModel(BaseModel):
    on_play: Optional[OnPlayModel] = None
    on_stop: Optional[OnStopModel] = None


class NotifierConfigModel(BaseModel):
    id: Optional[int] = None
    agent_id: Optional[int] = None
    agent_name: Optional[str] = None
    agent_label: Optional[str] = None
    friendly_name: Optional[str] = None
    config: Optional[ConfigModel] = None
    config_options: Optional[List[Union[Dict[str, Any], str]]] = None
    actions: Optional[ActionsModel] = None
    notify_text: Optional[NotifyTextModel] = None



