45 lines
772 B
Python
45 lines
772 B
Python
from pathlib import Path
|
|
|
|
from pydantic import BaseModel
|
|
|
|
|
|
class BancoConfig(BaseModel):
|
|
user: str
|
|
password: str
|
|
dns: str
|
|
instant_client: str
|
|
|
|
|
|
class HolmesConfig(BaseModel):
|
|
token_api: str
|
|
usuario: str
|
|
senha: str
|
|
|
|
|
|
class ApolloConfig(BaseModel):
|
|
subscription_key: str
|
|
ambiente: str
|
|
|
|
|
|
class ApiConfig(BaseModel):
|
|
port: int
|
|
ambiente: str
|
|
workers: int
|
|
|
|
|
|
class DocsConfig(BaseModel):
|
|
user: str
|
|
password: str
|
|
|
|
|
|
class Settings(BaseModel):
|
|
banco: BancoConfig
|
|
holmes: HolmesConfig
|
|
api: ApiConfig
|
|
apollo: ApolloConfig
|
|
docs: DocsConfig
|
|
log_level: str = "INFO"
|
|
|
|
|
|
_PATH = Path(__file__).resolve().parent.parent / "configs.json"
|
|
settings = Settings.model_validate_json(_PATH.read_text(encoding="utf-8"))
|