Files
resolutionflow/backend/app/services/psa/autotask/provider.py
Michael Chihlas 346576a730
Some checks failed
CI / frontend (push) Has been cancelled
CI / e2e (push) Has been cancelled
CI / backend (push) Has been cancelled
Mirror to GitHub / mirror (push) Successful in 2s
feat(psa): ticket queue dashboard with board selector and session auto-start
- Add PSABoard type + list_boards() to CW provider (cached 1h)
- Extend search_tickets with assigned_to_me, unassigned, board_ids, page, page_size
- New GET /integrations/psa/boards endpoint
- New TicketQueue dashboard component: My Tickets / Unassigned tabs,
  multi-select board filter, Load more pagination, Start Session per ticket
- Add TicketQueue to QuickStartPage after active sessions
- FlowPilotSessionPage auto-starts with ticket context when navigated
  from TicketQueue (psaTicketId + psaTicket in location.state)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-15 03:20:45 +00:00

77 lines
2.5 KiB
Python

"""Autotask PSA provider stub. Full implementation planned for Phase 5."""
from __future__ import annotations
from app.services.psa.base import PSAProvider
from app.services.psa.types import (
ConnectionTestResult,
PSATicket,
PSANote,
PSAStatus,
PSACompany,
PSAMember,
PSAConfiguration,
PSATimeEntry,
PSABoard,
)
class AutotaskProvider(PSAProvider):
"""Stub provider for Autotask PSA. All methods raise NotImplementedError.
Full implementation is planned for Phase 5. This stub allows the provider
to be registered and discovered without causing import errors.
"""
async def test_connection(self) -> ConnectionTestResult:
raise NotImplementedError("Autotask integration coming soon")
async def get_ticket(self, ticket_id: str) -> PSATicket:
raise NotImplementedError("Autotask integration coming soon")
async def search_tickets(self, query: str, **filters) -> list[PSATicket]:
raise NotImplementedError("Autotask integration coming soon")
async def post_note(
self,
ticket_id: str,
text: str,
note_type: str,
member_id: str | None = None,
) -> PSANote:
raise NotImplementedError("Autotask integration coming soon")
async def update_ticket_status(
self,
ticket_id: str,
status_id: int,
) -> PSATicket:
raise NotImplementedError("Autotask integration coming soon")
async def get_ticket_statuses(self, board_id: int) -> list[PSAStatus]:
raise NotImplementedError("Autotask integration coming soon")
async def list_companies(self, **filters) -> list[PSACompany]:
raise NotImplementedError("Autotask integration coming soon")
async def get_company(self, company_id: str) -> PSACompany:
raise NotImplementedError("Autotask integration coming soon")
async def list_members(self) -> list[PSAMember]:
raise NotImplementedError("Autotask integration coming soon")
async def list_boards(self) -> list[PSABoard]:
raise NotImplementedError("list_boards not implemented for this provider")
async def get_ticket_configurations(self, ticket_id: str) -> list[PSAConfiguration]:
raise NotImplementedError("Autotask integration coming soon")
async def create_time_entry(
self,
ticket_id: str,
member_id: str,
hours: float,
notes: str | None = None,
work_type: str | None = None,
) -> PSATimeEntry:
raise NotImplementedError("Autotask integration coming soon")