2026-05-20 16:38:48 -05:00
|
|
|
from dataclasses import dataclass, field
|
|
|
|
|
from typing import List, Optional
|
|
|
|
|
|
|
|
|
|
@dataclass
|
|
|
|
|
class HanaConfig:
|
|
|
|
|
host: str = ""
|
|
|
|
|
port: int = 30015
|
|
|
|
|
user: str = ""
|
|
|
|
|
password: str = ""
|
|
|
|
|
schema: str = ""
|
|
|
|
|
|
|
|
|
|
@property
|
|
|
|
|
def server(self) -> str:
|
|
|
|
|
return self.host
|
|
|
|
|
|
|
|
|
|
@dataclass
|
|
|
|
|
class FilesConfig:
|
|
|
|
|
path: str = ""
|
|
|
|
|
|
|
|
|
|
# Nueva configuración para Outlook
|
|
|
|
|
@dataclass
|
|
|
|
|
class OutlookConfig:
|
|
|
|
|
client_id: str = ""
|
|
|
|
|
client_secret: str = ""
|
|
|
|
|
tenant_id: str = ""
|
|
|
|
|
download_folder: str = ""
|
|
|
|
|
verify_ssl: bool = True
|
|
|
|
|
ca_bundle: Optional[str] = None
|
|
|
|
|
|
|
|
|
|
# Configuración de correo (mail)
|
|
|
|
|
@dataclass
|
|
|
|
|
class MailConfig:
|
|
|
|
|
sender: str = ""
|
|
|
|
|
to: List[str] = field(default_factory=list)
|
2026-05-21 09:56:07 -05:00
|
|
|
days: int = 2
|
2026-05-20 16:38:48 -05:00
|
|
|
|
|
|
|
|
@dataclass
|
|
|
|
|
class Config:
|
|
|
|
|
hana: HanaConfig
|
|
|
|
|
files: FilesConfig
|
|
|
|
|
outlook: OutlookConfig
|
|
|
|
|
mail: MailConfig
|