Files
motia/bitbylaw/config.py
bitbylaw e6ab22d5f4 feat: Add EspoCRM and Advoware integration for Beteiligte comparison
- Implemented `compare_beteiligte.py` script for comparing Beteiligte structures between EspoCRM and Advoware.
- Created `beteiligte_comparison_result.json` to store comparison results.
- Developed `EspoCRMAPI` service for handling API interactions with EspoCRM.
- Added comprehensive documentation for the EspoCRM API service.
- Included error handling and logging for API operations.
- Enhanced entity management with CRUD operations and search capabilities.
2026-02-07 14:42:58 +00:00

46 lines
2.4 KiB
Python

import os
from dotenv import load_dotenv
# Load environment variables from .env file
load_dotenv()
class Config:
# Redis settings
REDIS_HOST = os.getenv('REDIS_HOST', 'localhost')
REDIS_PORT = int(os.getenv('REDIS_PORT', '6379'))
REDIS_DB_ADVOWARE_CACHE = int(os.getenv('REDIS_DB_ADVOWARE_CACHE', '1'))
REDIS_DB_CALENDAR_SYNC = int(os.getenv('REDIS_DB_CALENDAR_SYNC', '2'))
REDIS_TIMEOUT_SECONDS = int(os.getenv('REDIS_TIMEOUT_SECONDS', '5'))
# Advoware API settings
ADVOWARE_API_BASE_URL = os.getenv('ADVOWARE_API_BASE_URL', 'https://www2.advo-net.net:90/')
ADVOWARE_PRODUCT_ID = int(os.getenv('ADVOWARE_PRODUCT_ID', '64'))
ADVOWARE_APP_ID = os.getenv('ADVOWARE_APP_ID', 'your_app_id')
ADVOWARE_API_KEY = os.getenv('ADVOWARE_API_KEY', 'your_api_key')
ADVOWARE_KANZLEI = os.getenv('ADVOWARE_KANZLEI', 'your_kanzlei')
ADVOWARE_DATABASE = os.getenv('ADVOWARE_DATABASE', 'your_database')
ADVOWARE_USER = os.getenv('ADVOWARE_USER', 'your_user')
ADVOWARE_ROLE = int(os.getenv('ADVOWARE_ROLE', '2'))
ADVOWARE_PASSWORD = os.getenv('ADVOWARE_PASSWORD', 'your_password')
ADVOWARE_TOKEN_LIFETIME_MINUTES = int(os.getenv('ADVOWARE_TOKEN_LIFETIME_MINUTES', '55'))
ADVOWARE_API_TIMEOUT_SECONDS = int(os.getenv('ADVOWARE_API_TIMEOUT_SECONDS', '30'))
# Google Calendar API settings (Service Account only)
GOOGLE_CALENDAR_SERVICE_ACCOUNT_PATH = os.getenv('GOOGLE_CALENDAR_SERVICE_ACCOUNT_PATH', 'service-account.json')
GOOGLE_CALENDAR_SCOPES = ['https://www.googleapis.com/auth/calendar']
# PostgreSQL settings for Calendar Sync Hub
POSTGRES_HOST = os.getenv('POSTGRES_HOST', 'localhost')
POSTGRES_USER = os.getenv('POSTGRES_USER', 'calendar_sync_user')
POSTGRES_PASSWORD = os.getenv('POSTGRES_PASSWORD', 'default_password')
POSTGRES_DB_NAME = os.getenv('POSTGRES_DB_NAME', 'calendar_sync_db')
# Calendar Sync settings
CALENDAR_SYNC_ANONYMIZE_GOOGLE_EVENTS = os.getenv('CALENDAR_SYNC_ANONYMIZE_GOOGLE_EVENTS', 'true').lower() == 'true'
CALENDAR_SYNC_DEBUG_KUERZEL = [k.strip().upper() for k in os.getenv('CALENDAR_SYNC_DEBUG_KUERZEL', 'SB,AI,RO,OK,BI,ST,UR,PB,VB').split(',')]
ADVOWARE_WRITE_PROTECTION = True
# EspoCRM API settings
ESPOCRM_API_BASE_URL = os.getenv('ESPOCRM_API_BASE_URL', 'https://crm.bitbylaw.com/api/v1')
ESPOCRM_API_KEY = os.getenv('ESPOCRM_MARVIN_API_KEY', '')
ESPOCRM_API_TIMEOUT_SECONDS = int(os.getenv('ESPOCRM_API_TIMEOUT_SECONDS', '30'))