feat(security): add approved rooms/users/domains as env variables #277
| @@ -10,14 +10,11 @@ class Config: | |||||||
|  |  | ||||||
|     def __init__(self) -> None: |     def __init__(self) -> None: | ||||||
|         """Configuration module.""" |         """Configuration module.""" | ||||||
|         self.__environment: str = os.environ.get("APP_LIFECYCLE", "DEV").upper() |  | ||||||
|         self.__version: str = os.environ["APP_VERSION"] |         # Sentry config needs to be processed first for loop prevention. | ||||||
|         self.__bot_name: str = os.environ["BOT_NAME"] |  | ||||||
|         self.__webex_token: str = os.environ["WEBEX_API_KEY"] |  | ||||||
|         self.__admin_first_name: str = os.environ["ADMIN_FIRST_NAME"] |  | ||||||
|         self.__admin_emails: list = os.environ["ADMIN_EMAIL"].split(",") |  | ||||||
|         self.__n8n_webhook_url: str = os.environ["N8N_WEBHOOK_URL"] |  | ||||||
|         self.__sentry_dsn: str = os.environ.get("SENTRY_DSN", "") |         self.__sentry_dsn: str = os.environ.get("SENTRY_DSN", "") | ||||||
|  |  | ||||||
|         self.__sentry_enabled: bool = bool( |         self.__sentry_enabled: bool = bool( | ||||||
|             os.environ.get("SENTRY_ENABLED", "False").upper() == "TRUE" |             os.environ.get("SENTRY_ENABLED", "False").upper() == "TRUE" | ||||||
|             and self.__sentry_dsn != "" |             and self.__sentry_dsn != "" | ||||||
| @@ -26,12 +23,12 @@ class Config: | |||||||
|     @property |     @property | ||||||
|     def environment(self) -> str: |     def environment(self) -> str: | ||||||
|         """Returns the current app lifecycle.""" |         """Returns the current app lifecycle.""" | ||||||
|         return self.__environment |         return os.environ.get("APP_LIFECYCLE", "DEV").upper() | ||||||
|  |  | ||||||
|     @property |     @property | ||||||
|     def version(self) -> str: |     def version(self) -> str: | ||||||
|         """Returns the current app version.""" |         """Returns the current app version.""" | ||||||
|         return self.__version |         return os.environ["APP_VERSION"] | ||||||
|  |  | ||||||
|     @property |     @property | ||||||
|     def sentry_enabled(self) -> bool: |     def sentry_enabled(self) -> bool: | ||||||
| @@ -49,27 +46,27 @@ class Config: | |||||||
|     @property |     @property | ||||||
|     def bot_name(self) -> str: |     def bot_name(self) -> str: | ||||||
|         """Returns the bot name.""" |         """Returns the bot name.""" | ||||||
|         return self.__bot_name |         return os.environ["BOT_NAME"] | ||||||
|  |  | ||||||
|     @property |     @property | ||||||
|     def webex_token(self) -> str: |     def webex_token(self) -> str: | ||||||
|         """Returns the Webex API key.""" |         """Returns the Webex API key.""" | ||||||
|         return self.__webex_token |         return os.environ["WEBEX_API_KEY"] | ||||||
|  |  | ||||||
|     @property |     @property | ||||||
|     def admin_first_name(self) -> str: |     def admin_first_name(self) -> str: | ||||||
|         """Returns the first name of the bot admin.""" |         """Returns the first name of the bot admin.""" | ||||||
|         return self.__admin_first_name |         return os.environ["ADMIN_FIRST_NAME"] | ||||||
|  |  | ||||||
|     @property |     @property | ||||||
|     def admin_emails(self) -> list: |     def admin_emails(self) -> list: | ||||||
|         """Returns a list of admin email addresses.""" |         """Returns a list of admin email addresses.""" | ||||||
|         return self.__admin_emails |         return os.environ["ADMIN_EMAIL"].split(",") | ||||||
|  |  | ||||||
|     @property |     @property | ||||||
|     def n8n_webhook_url(self) -> str: |     def n8n_webhook_url(self) -> str: | ||||||
|         """Returns the n8n webhook URL.""" |         """Returns the n8n webhook URL.""" | ||||||
|         return self.__n8n_webhook_url |         return os.environ["N8N_WEBHOOK_URL"] | ||||||
|  |  | ||||||
|     @property |     @property | ||||||
|     def approved_users(self) -> list: |     def approved_users(self) -> list: | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user