32 lines
776 B
Python
32 lines
776 B
Python
from typing import Literal, Optional
|
|
|
|
from libretime_shared.config import (
|
|
BaseConfig,
|
|
DatabaseConfig,
|
|
GeneralConfig,
|
|
RabbitMQConfig,
|
|
StorageConfig,
|
|
)
|
|
from pydantic import BaseModel
|
|
|
|
|
|
class EmailConfig(BaseModel):
|
|
from_email: str = "no-reply@libretime.org"
|
|
|
|
host: str = "localhost"
|
|
port: int = 25
|
|
user: str = ""
|
|
password: str = ""
|
|
encryption: Optional[Literal["ssl/tls", "starttls"]] = None
|
|
timeout: Optional[int] = None
|
|
key_file: Optional[str] = None
|
|
cert_file: Optional[str] = None
|
|
|
|
|
|
class Config(BaseConfig):
|
|
general: GeneralConfig
|
|
database: DatabaseConfig = DatabaseConfig()
|
|
rabbitmq: RabbitMQConfig = RabbitMQConfig()
|
|
storage: StorageConfig = StorageConfig()
|
|
email: EmailConfig = EmailConfig()
|