techprotrade's picture
Deploy ATOM FastAPI command center runtime (part 5)
90c6b42 verified
Raw
History Blame Contribute Delete
2.08 kB
import os
from typing import Any, Dict, Optional
# Map of piece names to OAuth configuration
# In production, these should be stored in the database or a secure vault.
# For MVP, we use environment variables.
OAUTH_CONFIGS: Dict[str, Dict[str, Any]] = {
"@activepieces/piece-slack": {
"auth_url": "https://slack.com/oauth/v2/authorize",
"token_url": "https://slack.com/api/oauth.v2.access",
"client_id": os.getenv("SLACK_CLIENT_ID", "default_slack_id"),
"client_secret": os.getenv("SLACK_CLIENT_SECRET", "default_slack_secret"),
"scopes": ["channels:read", "chat:write", "groups:read", "im:read", "mpim:read"]
},
"@activepieces/piece-google-drive": {
"auth_url": "https://accounts.google.com/o/oauth2/v2/auth",
"token_url": "https://oauth2.googleapis.com/token",
"client_id": os.getenv("GOOGLE_CLIENT_ID", "default_google_id"),
"client_secret": os.getenv("GOOGLE_CLIENT_SECRET", "default_google_secret"),
"scopes": ["https://www.googleapis.com/auth/drive.readonly", "https://www.googleapis.com/auth/drive.file"]
},
"@activepieces/piece-gmail": {
"auth_url": "https://accounts.google.com/o/oauth2/v2/auth",
"token_url": "https://oauth2.googleapis.com/token",
"client_id": os.getenv("GOOGLE_CLIENT_ID", "default_google_id"),
"client_secret": os.getenv("GOOGLE_CLIENT_SECRET", "default_google_secret"),
"scopes": ["https://www.googleapis.com/auth/gmail.readonly", "https://www.googleapis.com/auth/gmail.send"]
},
"@activepieces/piece-hubspot": {
"auth_url": "https://app.hubspot.com/oauth/authorize",
"token_url": "https://api.hubapi.com/oauth/v1/token",
"client_id": os.getenv("HUBSPOT_CLIENT_ID", "default_hubspot_id"),
"client_secret": os.getenv("HUBSPOT_CLIENT_SECRET", "default_hubspot_secret"),
"scopes": ["crm.objects.contacts.read", "crm.objects.contacts.write"]
}
}
def get_oauth_config(piece_name: str) -> Optional[Dict[str, Any]]:
return OAUTH_CONFIGS.get(piece_name)