from pydantic_settings import BaseSettings, SettingsConfigDict


class Configs(BaseSettings):
    """
    Email configuration settings.
    """

    HOST: str = ""
    USERNAME: str = ""
    PASSWORD: str = ""
    PORT: int = 0
    SEND: bool = True

    @property
    def is_send(self):
        return bool(self.SEND)

    def as_dict(self):
        return dict(
            host=self.HOST,
            port=self.PORT,
            username=self.USERNAME,
            password=self.PASSWORD,
        )

    model_config = SettingsConfigDict(env_prefix="EMAIL_")


#  singleton instance of the POSTGRESQL configuration settings
email_configs = Configs()
