Source code for ace.config

from pydantic import model_validator
from pydantic_settings import BaseSettings
import logging
import pytz


[docs] class Settings(BaseSettings): # default values if env variables does not exist # Ace API access to Centralize API service CENTRALIZE_API_URL: str CENTRALIZE_API_KEY: str CENTRALIZE_BASE_URL: str = "https://dev.centralize.equisoft.io" # Monitoring settings TIMEZONE: str # DATABASE SETTING CONNECT_DATABASE: bool = False USE_DB_CONTEXT: bool = False DBMS_TYPE: str = "" DATABASE_NAME: str DATABASE_HOST: str = "" DATABASE_PORT: int = 0 DATABASE_USER: str DATABASE_PASSWORD: str DATABASE_DRIVER: str DATABASE_AUTH_METHOD: str = "SQL_SERVER_AUTH" DATABASE_REQUEST_TIMEOUT: int = 30 ACE_SERVICE_USER_ID: int = 0 DATABASE_UPDATE_METHOD: str = "DIRECT" ACE_SCRIPT_REPO: str # SFTP settings SFTP_AUTH_METHOD: str = "password" # password or private_key SFTP_HOST: str = "" SFTP_PORT: int = 22 SFTP_USERNAME: str = "" SFTP_PASSWORD: str = "" SFTP_PRIVATE_KEY: str = "" SFTP_PRIVATE_KEY_FILE: str = "" # SMTP settings SMTP_HOST: str = "" SMTP_PORT: int = 587 SMTP_USERNAME: str = "" SMTP_PASSWORD: str = "" EMAIL_TEMPLATE_PATH: str = "templates/emails/" # specify .env file location as Config attribute
[docs] class Config: env_file = ".env" extra = "ignore"
@model_validator(mode="before") def warn_on_string_boolean(cls, values): for key, value in values.items(): if isinstance(value, str) and value in {"true", "false"}: # log deprecation warning for string boolean values and convert to boolean. will be removed in future logging.warning( f"String boolean values are deprecated for {key}. Use boolean values instead. " f"Converting '{value}' to {value == 'true'}" ) values[key] = value == "true" logging.warning(f"Converted {key} to {values[key]}") return values
settings = Settings()