mirror of
https://github.com/DRYTRIX/TimeTracker.git
synced 2026-05-24 07:10:21 -05:00
12d79816d0
Import window and web activity from a local ActivityWatch aw-server (https://activitywatch.net/) as automatic time entries (source='auto'). - Add ActivityWatchConnector: test_connection, sync_data, get_config_schema - Per-user integration; config: server_url, default_project_id, lookback_days, optional bucket_ids (default: aw-watcher-window_* and aw-watcher-web_*) - No OAuth; setup at /integrations/activitywatch/setup - Idempotent sync via IntegrationExternalEventLink and external_uid - Register connector; treat activitywatch as per-user in IntegrationService - activitywatch_setup route and template; connect redirect and is_global updates - View/manage: Configure and Edit Configuration links for activitywatch - docs/integrations/ACTIVITYWATCH.md; tests for connector and idempotency
41 lines
2.0 KiB
Python
41 lines
2.0 KiB
Python
"""
|
|
Integration connector registry.
|
|
Registers all available connectors with the IntegrationService.
|
|
"""
|
|
|
|
from app.services.integration_service import IntegrationService
|
|
from app.integrations.jira import JiraConnector
|
|
from app.integrations.slack import SlackConnector
|
|
from app.integrations.github import GitHubConnector
|
|
from app.integrations.google_calendar import GoogleCalendarConnector
|
|
from app.integrations.outlook_calendar import OutlookCalendarConnector
|
|
from app.integrations.caldav_calendar import CalDAVCalendarConnector
|
|
from app.integrations.activitywatch import ActivityWatchConnector
|
|
from app.integrations.microsoft_teams import MicrosoftTeamsConnector
|
|
from app.integrations.asana import AsanaConnector
|
|
from app.integrations.trello import TrelloConnector
|
|
from app.integrations.gitlab import GitLabConnector
|
|
from app.integrations.quickbooks import QuickBooksConnector
|
|
from app.integrations.xero import XeroConnector
|
|
|
|
|
|
def register_connectors():
|
|
"""Register all available connectors."""
|
|
IntegrationService.register_connector("jira", JiraConnector)
|
|
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()
|