feat: implement task management module

Backend (FastAPI):
- Database migration for spaces, projects, task_statuses, tasks tables
- SQLAlchemy models with relationships
- Pydantic schemas for CRUD operations
- Spaces API: CRUD with soft delete
- Projects API: CRUD with auto-created default statuses
- Tasks API: CRUD, status change, assign, subtask support
- Permission middleware with Security Level filtering
- Subtask depth limit (max 2 levels)

Frontend (React + Vite):
- Layout component with navigation
- Spaces list page
- Projects list page
- Tasks list page with status management

Fixes:
- auth_client.py: use 'username' field for external API
- config.py: extend JWT expiry to 7 days
- auth/router.py: sync Redis session with JWT expiry

Tests: 36 passed (unit + integration)
E2E: All APIs verified with real authentication

OpenSpec: add-task-management archived

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
beabigegg
2025-12-29 00:31:34 +08:00
parent 1fda7da2c2
commit daca7798e3
41 changed files with 3616 additions and 13 deletions

View File

@@ -2,6 +2,15 @@ from app.schemas.auth import LoginRequest, LoginResponse, TokenPayload
from app.schemas.user import UserCreate, UserUpdate, UserResponse, UserInDB
from app.schemas.department import DepartmentCreate, DepartmentUpdate, DepartmentResponse
from app.schemas.role import RoleResponse
from app.schemas.space import SpaceCreate, SpaceUpdate, SpaceResponse, SpaceWithOwner
from app.schemas.project import (
ProjectCreate, ProjectUpdate, ProjectResponse, ProjectWithDetails, SecurityLevel
)
from app.schemas.task_status import TaskStatusCreate, TaskStatusUpdate, TaskStatusResponse
from app.schemas.task import (
TaskCreate, TaskUpdate, TaskResponse, TaskWithDetails, TaskListResponse,
TaskStatusUpdate as TaskStatusChangeUpdate, TaskAssignUpdate, Priority
)
__all__ = [
"LoginRequest",
@@ -15,4 +24,24 @@ __all__ = [
"DepartmentUpdate",
"DepartmentResponse",
"RoleResponse",
"SpaceCreate",
"SpaceUpdate",
"SpaceResponse",
"SpaceWithOwner",
"ProjectCreate",
"ProjectUpdate",
"ProjectResponse",
"ProjectWithDetails",
"SecurityLevel",
"TaskStatusCreate",
"TaskStatusUpdate",
"TaskStatusResponse",
"TaskCreate",
"TaskUpdate",
"TaskResponse",
"TaskWithDetails",
"TaskListResponse",
"TaskStatusChangeUpdate",
"TaskAssignUpdate",
"Priority",
]