2024-09-28 22:21:42 +03:00
|
|
|
from typing import Optional
|
|
|
|
|
|
|
|
|
|
from pydantic import Field
|
|
|
|
|
|
2025-02-10 20:47:15 -06:00
|
|
|
from ..base import FrigateBaseModel
|
2024-09-28 22:21:42 +03:00
|
|
|
|
|
|
|
|
__all__ = ["NotificationConfig"]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class NotificationConfig(FrigateBaseModel):
|
2026-02-27 09:55:36 -06:00
|
|
|
enabled: bool = Field(
|
|
|
|
|
default=False,
|
|
|
|
|
title="Enable notifications",
|
|
|
|
|
description="Enable or disable notifications for all cameras; can be overridden per-camera.",
|
|
|
|
|
)
|
|
|
|
|
email: Optional[str] = Field(
|
|
|
|
|
default=None,
|
|
|
|
|
title="Notification email",
|
|
|
|
|
description="Email address used for push notifications or required by certain notification providers.",
|
|
|
|
|
)
|
2025-08-08 06:08:37 -06:00
|
|
|
cooldown: int = Field(
|
2026-02-27 09:55:36 -06:00
|
|
|
default=0,
|
|
|
|
|
ge=0,
|
|
|
|
|
title="Cooldown period",
|
|
|
|
|
description="Cooldown (seconds) between notifications to avoid spamming recipients.",
|
2025-02-17 08:19:03 -06:00
|
|
|
)
|
2024-09-28 22:21:42 +03:00
|
|
|
enabled_in_config: Optional[bool] = Field(
|
2026-02-27 09:55:36 -06:00
|
|
|
default=None,
|
|
|
|
|
title="Original notifications state",
|
|
|
|
|
description="Indicates whether notifications were enabled in the original static configuration.",
|
2024-09-28 22:21:42 +03:00
|
|
|
)
|