24 lines
682 B
Python
24 lines
682 B
Python
# Copyright (c) 2025 Patrick Motsch
|
|
# All rights reserved.
|
|
"""Ticket datamodels used across Jira/ClickUp connectors."""
|
|
|
|
from typing import Optional
|
|
from pydantic import BaseModel, Field
|
|
from abc import ABC, abstractmethod
|
|
|
|
|
|
class TicketFieldAttribute(BaseModel):
|
|
fieldName: str = Field(description="Human-readable field name")
|
|
field: str = Field(description="Ticket field ID/key")
|
|
|
|
class TicketBase(ABC):
|
|
@abstractmethod
|
|
async def readAttributes(self) -> list[TicketFieldAttribute]: ...
|
|
|
|
@abstractmethod
|
|
async def readTasks(self, *, limit: int = 0) -> list[dict]: ...
|
|
|
|
@abstractmethod
|
|
async def writeTasks(self, tasklist: list[dict]) -> None: ...
|
|
|
|
|