refactor: simplify dodo core experience
ci / docker (push) Successful in 3m54s

This commit is contained in:
2026-09-06 14:41:08 +08:00
parent fcaabce99f
commit d595af4f52
29 changed files with 187 additions and 955 deletions
+1 -16
View File
@@ -58,17 +58,6 @@ class ListOut(BaseModel):
is_inbox: bool
class TagCreate(BaseModel):
name: str = Field(min_length=1, max_length=80)
color: str = Field(default="#f15a29", min_length=1, max_length=32)
class TagOut(BaseModel):
model_config = ConfigDict(from_attributes=True)
id: UUID
name: str
color: str
class TaskCreate(BaseModel):
title: str = Field(min_length=1, max_length=500)
@@ -77,7 +66,6 @@ class TaskCreate(BaseModel):
priority: int = Field(default=0, ge=0, le=3)
due_at: datetime | None = None
parent_id: UUID | None = None
tag_ids: list[UUID] = Field(default_factory=list)
class TaskUpdate(BaseModel):
@@ -87,7 +75,6 @@ class TaskUpdate(BaseModel):
due_at: datetime | None = None
completed: bool | None = None
list_id: UUID | None = None
tag_ids: list[UUID] | None = None
version: int = Field(ge=1)
@model_validator(mode="after")
@@ -112,7 +99,6 @@ class TaskOut(BaseModel):
class TaskDetailOut(TaskOut):
tags: list[TagOut] = Field(default_factory=list)
subtasks: list[TaskOut] = Field(default_factory=list)
@@ -129,12 +115,11 @@ class BatchTaskUpdate(BaseModel):
completed: bool | None = None
list_id: UUID | None = None
due_at: datetime | None = None
tag_ids: list[UUID] | None = None
soft_delete: bool | None = None
@model_validator(mode="after")
def require_operation(self):
operations = {"completed", "list_id", "due_at", "tag_ids", "soft_delete"}
operations = {"completed", "list_id", "due_at", "soft_delete"}
if not self.model_fields_set.intersection(operations):
raise ValueError("at least one batch operation is required")
if self.soft_delete is False: