diff options
Diffstat (limited to 'generalresearch/config.py')
| -rw-r--r-- | generalresearch/config.py | 57 |
1 files changed, 29 insertions, 28 deletions
diff --git a/generalresearch/config.py b/generalresearch/config.py index 92eacc2..551f75a 100644 --- a/generalresearch/config.py +++ b/generalresearch/config.py @@ -1,7 +1,8 @@ +from __future__ import annotations + import os from datetime import datetime, timezone from pathlib import Path -from typing import Optional from pydantic import DirectoryPath, Field, MariaDBDsn, PostgresDsn, RedisDsn from pydantic_settings import BaseSettings @@ -40,67 +41,67 @@ def is_debug() -> bool: class GRLBaseSettings(BaseSettings): debug: bool = Field(default=True) - redis: Optional[RedisDsn] = Field(default=None) + redis: RedisDsn | None = Field(default=None) redis_timeout: float = Field(default=0.10) - thl_redis: Optional[RedisDsn] = Field(default=None) + thl_redis: RedisDsn | None = Field(default=None) - dask: Optional[DaskDsn] = Field(default=None, description="") + dask: DaskDsn | None = Field(default=None, description="") - sentry: Optional[SentryDsn] = Field( + sentry: SentryDsn | None = Field( default=None, description="The sentry.io DSN for connecting to a project" ) - thl_mkpl_rw_db: Optional[MariaDBDsn] = Field(default=None) - thl_mkpl_rr_db: Optional[MariaDBDsn] = Field(default=None) + thl_mkpl_rw_db: MariaDBDsn | None = Field(default=None) + thl_mkpl_rr_db: MariaDBDsn | None = Field(default=None) # Primary DB, SELECT permissions - thl_web_ro_db: Optional[PostgresDsn] = Field(default=None) + thl_web_ro_db: PostgresDsn | None = Field(default=None) # Primary DB, SELECT, INSERT, UPDATE permissions - thl_web_rw_db: Optional[PostgresDsn] = Field(default=None) + thl_web_rw_db: PostgresDsn | None = Field(default=None) # Primary DB, SELECT, INSERT, UPDATE, DELETE permissions - thl_web_rwd_db: Optional[PostgresDsn] = Field(default=None) + thl_web_rwd_db: PostgresDsn | None = Field(default=None) # Slave/secondary/read-replica SELECT permission only - thl_web_rr_db: Optional[PostgresDsn] = Field(default=None) + thl_web_rr_db: PostgresDsn | None = Field(default=None) tmp_dir: DirectoryPath = Field(default=Path("/tmp")) - spectrum_rw_db: Optional[MariaDBDsn] = Field(default=None) - spectrum_rr_db: Optional[MariaDBDsn] = Field(default=None) + spectrum_rw_db: MariaDBDsn | None = Field(default=None) + spectrum_rr_db: MariaDBDsn | None = Field(default=None) - precision_rw_db: Optional[MariaDBDsn] = Field(default=None) - precision_rr_db: Optional[MariaDBDsn] = Field(default=None) + precision_rw_db: MariaDBDsn | None = Field(default=None) + precision_rr_db: MariaDBDsn | None = Field(default=None) # --- GR ---- - gr_db: Optional[PostgresDsn] = Field(default=None) - gr_redis: Optional[RedisDsn] = Field(default=None) + gr_db: PostgresDsn | None = Field(default=None) + gr_redis: RedisDsn | None = Field(default=None) # --- GRL IQ --- - grliq_db: Optional[PostgresDsn] = Field(default=None) - mnt_grliq_archive_dir: Optional[str] = Field( + grliq_db: PostgresDsn | None = Field(default=None) + mnt_grliq_archive_dir: str | None = Field( default=None, description="Where gr-api can pull GRL-IQ Forensic archive items like" "the captured screenshots.", ) - mnt_gr_api_dir: Optional[str] = Field( + mnt_gr_api_dir: str | None = Field( default=None, description="Where gr-api can pull parquet files from.", ) # --- TangoCard Configuration --- - tango_platform_name: Optional[str] = Field(default=None) - tango_platform_key: Optional[str] = Field(default=None) - tango_account_id: Optional[str] = Field(default=None) - tango_customer_id: Optional[str] = Field(default=None) + tango_platform_name: str | None = Field(default=None) + tango_platform_key: str | None = Field(default=None) + tango_account_id: str | None = Field(default=None) + tango_customer_id: str | None = Field(default=None) # --- Keeping this here as we use these ids regardless of the AMT account - amt_bonus_cashout_method_id: Optional[str] = Field(default=None) - amt_assignment_cashout_method_id: Optional[str] = Field(default=None) + amt_bonus_cashout_method_id: str | None = Field(default=None) + amt_assignment_cashout_method_id: str | None = Field(default=None) # --- Maxmind Configuration --- - maxmind_account_id: Optional[str] = Field(default=None) - maxmind_license_key: Optional[str] = Field(default=None) + maxmind_account_id: str | None = Field(default=None) + maxmind_license_key: str | None = Field(default=None) EXAMPLE_PRODUCT_ID = "1108d053e4fa47c5b0dbdcd03a7981e7" |
