Files
TimeTracker/app/integrations/registry.py
T
Dries Peeters 9449a46a42 feat(integrations): Linear connector and shared HTTP/sync helpers
- Add Linear import (GraphQL, personal API key, optional team key filter).
- Centralize integration HTTP via integration_session and session_request.
- Add integration_sync_context for project/task refs and custom_fields metadata.
- Refactor Asana, GitHub, GitLab, Jira, Trello, ActivityWatch, and QuickBooks to use helpers.
- Extend integration UI, settings, and scheduled sync behavior as needed.
2026-04-05 08:39:18 +02:00

43 lines
2.1 KiB
Python

"""
Integration connector registry.
Registers all available connectors with the IntegrationService.
"""
from app.integrations.activitywatch import ActivityWatchConnector
from app.integrations.asana import AsanaConnector
from app.integrations.caldav_calendar import CalDAVCalendarConnector
from app.integrations.github import GitHubConnector
from app.integrations.gitlab import GitLabConnector
from app.integrations.google_calendar import GoogleCalendarConnector
from app.integrations.jira import JiraConnector
from app.integrations.linear import LinearConnector
from app.integrations.microsoft_teams import MicrosoftTeamsConnector
from app.integrations.outlook_calendar import OutlookCalendarConnector
from app.integrations.quickbooks import QuickBooksConnector
from app.integrations.slack import SlackConnector
from app.integrations.trello import TrelloConnector
from app.integrations.xero import XeroConnector
from app.services.integration_service import IntegrationService
def register_connectors():
"""Register all available connectors."""
IntegrationService.register_connector("jira", JiraConnector)
IntegrationService.register_connector("linear", LinearConnector)
IntegrationService.register_connector("slack", SlackConnector)
IntegrationService.register_connector("github", GitHubConnector)
IntegrationService.register_connector("google_calendar", GoogleCalendarConnector)
IntegrationService.register_connector("outlook_calendar", OutlookCalendarConnector)
IntegrationService.register_connector("caldav_calendar", CalDAVCalendarConnector)
IntegrationService.register_connector("activitywatch", ActivityWatchConnector)
IntegrationService.register_connector("microsoft_teams", MicrosoftTeamsConnector)
IntegrationService.register_connector("asana", AsanaConnector)
IntegrationService.register_connector("trello", TrelloConnector)
IntegrationService.register_connector("gitlab", GitLabConnector)
IntegrationService.register_connector("quickbooks", QuickBooksConnector)
IntegrationService.register_connector("xero", XeroConnector)
# Auto-register on import
register_connectors()