Source code for regstack.sms.factory

from __future__ import annotations

from typing import TYPE_CHECKING

from regstack.sms.base import SmsService
from regstack.sms.null import NullSmsService

if TYPE_CHECKING:
    from regstack.config.schema import SmsConfig


[docs] def build_sms_service(config: SmsConfig) -> SmsService: if config.backend == "null": return NullSmsService(log_bodies=config.log_bodies) if config.backend == "sns": from regstack.sms.sns import SnsSmsService return SnsSmsService(config) if config.backend == "twilio": from regstack.sms.twilio import TwilioSmsService return TwilioSmsService(config) raise ValueError(f"Unknown SMS backend: {config.backend!r}")