164 lines
2.7 KiB
Python
164 lines
2.7 KiB
Python
from dataclasses import dataclass
|
|
import datetime
|
|
|
|
from typing import Optional, List, Union
|
|
|
|
|
|
@dataclass
|
|
class TrelloList:
|
|
"""
|
|
Represents a Trello list.
|
|
"""
|
|
|
|
id: str
|
|
name: str
|
|
closed: bool
|
|
subscribed: bool
|
|
|
|
|
|
@dataclass
|
|
class TrelloBoard:
|
|
"""
|
|
Represents a Trello board.
|
|
"""
|
|
|
|
id: str
|
|
name: str
|
|
url: str
|
|
closed: bool
|
|
lists: Optional[List[TrelloList]] = None
|
|
description: Optional[str] = None
|
|
date_last_activity: Optional[datetime.datetime] = None
|
|
|
|
|
|
@dataclass
|
|
class TrelloLabel:
|
|
"""
|
|
Represents a Trello label.
|
|
"""
|
|
|
|
id: str
|
|
name: str
|
|
color: Optional[str] = None
|
|
|
|
|
|
@dataclass
|
|
class TrelloUser:
|
|
"""
|
|
Represents a Trello user.
|
|
"""
|
|
|
|
id: str
|
|
username: str
|
|
fullname: str
|
|
initials: Optional[str] = None
|
|
avatar_url: Optional[str] = None
|
|
|
|
|
|
@dataclass
|
|
class TrelloComment:
|
|
"""
|
|
Represents a Trello comment.
|
|
"""
|
|
|
|
id: str
|
|
text: str
|
|
type: str
|
|
creator: TrelloUser
|
|
date: Union[str, datetime.datetime]
|
|
|
|
|
|
@dataclass
|
|
class TrelloPreview:
|
|
"""
|
|
Represents a Trello preview.
|
|
"""
|
|
|
|
id: str
|
|
url: str
|
|
scaled: bool
|
|
size: int
|
|
height: int
|
|
width: int
|
|
|
|
|
|
@dataclass
|
|
class TrelloAttachment:
|
|
"""
|
|
Represents a Trello attachment.
|
|
"""
|
|
|
|
id: str
|
|
size: int
|
|
date: str
|
|
edge_color: str
|
|
member_id: str
|
|
is_upload: bool
|
|
name: str
|
|
previews: List[TrelloPreview]
|
|
url: str
|
|
mime_type: Optional[str] = None
|
|
|
|
|
|
@dataclass
|
|
class TrelloChecklistItem:
|
|
"""
|
|
Represents a Trello checklist item.
|
|
"""
|
|
|
|
id: str
|
|
name: str
|
|
checked: bool
|
|
|
|
|
|
@dataclass
|
|
class TrelloChecklist:
|
|
"""
|
|
Represents a Trello checklist.
|
|
"""
|
|
|
|
id: str
|
|
name: str
|
|
items: List[TrelloChecklistItem]
|
|
|
|
|
|
@dataclass
|
|
class TrelloCard:
|
|
"""
|
|
Represents a Trello card.
|
|
"""
|
|
|
|
id: str
|
|
name: str
|
|
url: str
|
|
closed: bool
|
|
board: TrelloBoard
|
|
is_due_complete: bool
|
|
description: Optional[str] = None
|
|
list: Optional[TrelloList] = None
|
|
comments: Optional[List[TrelloComment]] = None
|
|
labels: Optional[List[TrelloLabel]] = None
|
|
attachments: Optional[List[TrelloAttachment]] = None
|
|
checklists: Optional[List[TrelloChecklist]] = None
|
|
due_date: Optional[Union[datetime.datetime, str]] = None
|
|
latest_card_move_date: Optional[Union[datetime.datetime, str]] = None
|
|
date_last_activity: Optional[Union[datetime.datetime, str]] = None
|
|
|
|
|
|
@dataclass
|
|
class TrelloMember:
|
|
"""
|
|
Represents a Trello member.
|
|
"""
|
|
|
|
id: str
|
|
fullname: str
|
|
bio: Optional[str]
|
|
url: Optional[str]
|
|
username: Optional[str]
|
|
initials: Optional[str]
|
|
member_type: Optional[str] = None
|
|
|
|
|
|
# vim:sw=4:ts=4:et:
|