Source code for nisystemlink.clients.notification.models._smtp_message_template

from typing import Literal

from nisystemlink.clients.core._uplink._json_model import JsonModel
from nisystemlink.clients.notification.models._base_notification_metadata import (
    BaseNotificationMetadata,
)
from pydantic import model_validator


[docs]class SmtpMessageTemplateFields(JsonModel): """Template fields to construct an SMTP message.""" subject_template: str """Subject template of the message.""" body_template: str | None = None """Body template of the message."""
[docs]class SmtpMessageTemplate(BaseNotificationMetadata): """Model defining message template for SMTP service""" interpreting_service_name: Literal["smtp"] = "smtp" """Service name for SMTP-based interpretation.""" fields: SmtpMessageTemplateFields """Subject and body template fields for SMTP messages."""
[docs] @model_validator(mode="before") @classmethod def set_interpreting_service_name( cls, data: "SmtpMessageTemplate" ) -> "SmtpMessageTemplate": if isinstance(data, dict) and "interpreting_service_name" not in data: data["interpreting_service_name"] = "smtp" return data