Class Diagrams
classDiagram
direction LR
class CreateProjectV2 {
name: str
color: Color | None = None
group_id: str | None = None
id: str | None = None
kind: Literal['TASK', 'NOTE'] | None = None
view_mode: Literal['list', 'kanban', 'timeline'] | None = None
sort_order: int | None = None
}
class ClosedRespV2 {
root: list[TaskV2]
}
class CreateProjectGroupV2 {
name: str
id: str | None = None
list_type: Literal['group'] = 'group'
}
class DeleteTagV2 {
name: str
}
class UserProfileV2 {
etimestamp: Any
username: EmailStr
site_domain: str
created_campaign: str
created_device_info: Any
filled_password: bool
account_domain: Any
extenal_id: Any
email: Any
verified_email: bool
faked_email: bool
phone: Any
name: str | None = None
given_name: Any
family_name: Any
link: Any
picture: str
gender: Any
locale: str
user_code: UUID
ver_code: Any
ver_key: Any
external_id: Any
phone_without_country_code: Any
display_name: str
}
class UpdateItemV2 {
id: str
completed_time: datetime | None = None
is_all_day: bool | None = None
start_date: str | None = None
status: Literal[-1, 0, 1, 2] | None = None
time_zone: TimeZoneName | None | None = None
title: str | None = None
sort_order: int | None = None
}
class GetClosedV2 {
from_: datetime | None = None
to: datetime | None = None
status: Literal['Completed', 'Abandoned']
}
class CreateTaskReminderV2 {
id: str | None = None
trigger: str
}
class UpdateTaskV2 {
id: str
project_id: str | str
completed_time: datetime | None = None
content: str | None = None
desc: str | None = None
due_date: datetime | None = None
etag: str | None = None
is_all_day: bool | None = None
is_floating: bool | None = None
items: list[UpdateItemV2] | None = None
kind: Literal['TEXT', 'NOTE', 'CHECKLIST'] = 'TEXT'
modified_time: datetime | None = None
repeat_flag: str | None = None
repeat_from: Literal[0, 1, 2] | None = None
reminders: list[UpdateTaskReminderV2] | None = None
priority: Literal[0, 1, 3, 5] | None = None
progress: int | None = None
start_date: datetime | None = None
status: Literal[-1, 0, 1, 2] | None = None
time_zone: TimeZoneName | None | None = None
tags: list[str] = []
title: str | None = None
assignee: int | None = None
completed_user_id: int | None = None
creator: int | None = None
sort_order: int | None = None
}
class GetBatchV2 {
inbox_id: str
project_groups: list[ProjectGroupV2] | None
project_profiles: list[ProjectV2]
sync_task_bean: SyncTaskBeanV2
tags: list[TagV2]
check_point: int
checks: None
filters: list[dict[str, Any]] | None
sync_order_bean: dict[str, Any]
sync_order_bean_v3: SyncOrderBeanV3V2
sync_task_order_bean: SyncTaskOrderBeanV2
remind_changes: list[Any]
}
class UpdateProjectGroupV2 {
name: str
id: str
list_type: Literal['group'] = 'group'
}
class RenameTagV2 {
name: str
new_name: str
}
class UserSignOnV2 {
inbox_id: str
token: str
user_id: str
username: EmailStr
active_team_user: bool
ds: bool
free_trial: bool
freq: str | None = None
grace_period: bool | None = None
need_subscribe: bool
pro: bool
pro_end_date: str
pro_start_date: str | None = None
subscribe_freq: str | None = None
subscribe_type: str | None = None
team_pro: bool
team_user: bool
user_code: UUID
}
class UserStatisticsV2 {
score: int
level: int
yesterday_completed: int
today_completed: int
total_completed: int
score_by_day: ScoreByDayV2
task_by_day: TaskByDayV2
task_by_week: TaskByWeekV2
task_by_month: TaskByMonthV2
today_pomo_count: int
yesterday_pomo_count: int
total_pomo_count: int
today_pomo_duration: int
yesterday_pomo_duration: int
total_pomo_duration: int
pomo_goal: int
pomo_duration_goal: int
pomo_by_day: dict[str, Any]
pomo_by_week: dict[str, Any]
pomo_by_month: dict[str, Any]
}
class CreateTaskV2 {
project_id: str | str
title: str
completed_time: datetime | None = None
content: str | None = None
desc: str | None = None
due_date: datetime | None = None
etag: str | None = None
id: str | None = None
is_all_day: bool | None = None
is_floating: bool | None = None
items: list[CreateItemV2] | None = None
kind: Literal['TEXT', 'NOTE', 'CHECKLIST'] = 'TEXT'
modified_time: datetime | None = None
reminders: list[CreateTaskReminderV2] | None = None
repeat_flag: str | None = None
repeat_from: Literal[0, 1, 2] | None = None
priority: Literal[0, 1, 3, 5] | None = None
progress: int | None = None
start_date: datetime | None = None
status: Literal[-1, 0, 1, 2] | None = None
time_zone: TimeZoneName | None | None = None
tags: list[str] = []
assignee: int | None = None
completed_user_id: int | None = None
creator: int | None = None
sort_order: int | None = None
}
class CreateItemV2 {
completed_time: datetime | None = None
id: str | None = None
is_all_day: bool | None = None
start_date: str | None = None
status: Literal[-1, 0, 1, 2] | None = None
time_zone: TimeZoneName | None | None = None
title: str | None = None
sort_order: int | None = None
}
class UpdateTaskReminderV2 {
id: str
trigger: str
}
class PostBatchTaskParentV2 {
root: list[SetTaskParentV2 | UnSetTaskParentV2]
}
class PostBatchProjectV2 {
add: list[CreateProjectV2] = []
delete: list[str] = []
update: list[UpdateProjectV2] = []
}
class PostBatchTaskV2 {
add: list[CreateTaskV2] = []
delete: list[DeleteTaskV2] = []
update: list[UpdateTaskV2] = []
add_attachments: list[Any] = []
update_attachments: list[Any] = []
}
class UnSetTaskParentV2 {
old_parent_id: str
project_id: str
task_id: str
}
class DeleteTaskV2 {
project_id: str | str
task_id: str
}
class PostBatchProjectGroupV2 {
add: list[CreateProjectGroupV2] = []
delete: list[str] = []
update: list[UpdateProjectGroupV2] = []
}
class SetTaskParentV2 {
parent_id: str
project_id: str
task_id: str
}
class UserStatusV2 {
user_id: str
user_code: UUID
username: EmailStr
team_pro: bool
pro_start_date: str | None = None
pro_end_date: str
subscribe_type: str | None = None
subscribe_freq: str | None = None
need_subscribe: bool
freq: str | None = None
inbox_id: str
team_user: bool
active_team_user: bool
free_trial: bool
pro: bool
ds: bool
time_stamp: int
grace_period: bool | None = None
}
class BatchTagRespV2 {
id2error: dict[str, str]
id2etag: dict[str, str]
}
class PostBatchTagV2 {
add: list[CreateTagV2] = []
update: list[UpdateTagV2] = []
}
class CreateTagV2 {
label: str
color: Color | None = None
name: str | None = None
parent: str | None = None
sort_type: Literal['project', 'title', 'tag'] = 'project'
sort_order: int | None = None
}
class UpdateTagV2 {
label: str
color: Color | None = None
name: str | None = None
parent: str | None = None
raw_name: str | None = None
sort_type: Literal['project', 'title', 'tag'] = 'project'
sort_order: int | None = None
}
class UpdateProjectV2 {
id: str
name: str
color: Color | None = None
group_id: Literal['NONE'] | None | str = None
kind: Literal['TASK', 'NOTE'] | None = None
view_mode: Literal['list', 'kanban', 'timeline'] | None = None
sort_order: int | None = None
}
class BatchRespV2 {
id2error: dict[str, str]
id2etag: dict[str, str]
}
class BatchTaskParentRespV2 {
id2error: dict[str, str]
id2etag: dict[str, BatchTaskParentRespValueV2]
}
GetClosedV2 ..> datetime
CreateProjectV2 ..> Color
PostBatchProjectV2 ..> CreateProjectV2
PostBatchProjectV2 ..> UpdateProjectV2
UpdateProjectV2 ..> Color
PostBatchProjectGroupV2 ..> UpdateProjectGroupV2
PostBatchProjectGroupV2 ..> CreateProjectGroupV2
CreateTagV2 ..> Color
PostBatchTagV2 ..> CreateTagV2
PostBatchTagV2 ..> UpdateTagV2
UpdateTagV2 ..> Color
CreateItemV2 ..> TimeZoneName
CreateItemV2 ..> datetime
CreateTaskV2 ..> CreateItemV2
CreateTaskV2 ..> TimeZoneName
CreateTaskV2 ..> datetime
CreateTaskV2 ..> CreateTaskReminderV2
PostBatchTaskV2 ..> UpdateTaskV2
PostBatchTaskV2 ..> Any
PostBatchTaskV2 ..> DeleteTaskV2
PostBatchTaskV2 ..> CreateTaskV2
UpdateItemV2 ..> TimeZoneName
UpdateItemV2 ..> datetime
UpdateTaskV2 ..> UpdateTaskReminderV2
UpdateTaskV2 ..> datetime
UpdateTaskV2 ..> UpdateItemV2
UpdateTaskV2 ..> TimeZoneName
PostBatchTaskParentV2 ..> SetTaskParentV2
PostBatchTaskParentV2 ..> UnSetTaskParentV2
GetBatchV2 ..> SyncTaskOrderBeanV2
GetBatchV2 ..> TagV2
GetBatchV2 ..> ProjectV2
GetBatchV2 ..> ProjectGroupV2
GetBatchV2 ..> Any
GetBatchV2 ..> SyncTaskBeanV2
GetBatchV2 ..> SyncOrderBeanV3V2
ClosedRespV2 ..> TaskV2
BatchTaskParentRespV2 ..> BatchTaskParentRespValueV2
UserProfileV2 ..> Any
UserProfileV2 ..> EmailStr
UserProfileV2 ..> UUID
UserSignOnV2 ..> UUID
UserSignOnV2 ..> EmailStr
UserStatisticsV2 ..> TaskByDayV2
UserStatisticsV2 ..> TaskByWeekV2
UserStatisticsV2 ..> Any
UserStatisticsV2 ..> TaskByMonthV2
UserStatisticsV2 ..> ScoreByDayV2
UserStatusV2 ..> UUID
UserStatusV2 ..> EmailStr
Info
This was auto-generated code by pydantic-2-mermaid.