Add task manager interface
Change-Id: I7a2f4b20907ba4bb12c900688aef059789884c1d
diff --git a/server/tm/interface.go b/server/tm/interface.go
new file mode 100644
index 0000000..93b0f29
--- /dev/null
+++ b/server/tm/interface.go
@@ -0,0 +1,24 @@
+package tm
+
+import (
+ "context"
+)
+
+// TaskManager defines the interface for task management operations
+type TaskManager interface {
+ // Task operations
+ CreateTask(ctx context.Context, req *TaskCreateRequest) (*Task, error)
+ GetTask(ctx context.Context, id string) (*Task, error)
+ UpdateTask(ctx context.Context, id string, req *TaskUpdateRequest) (*Task, error)
+ ArchiveTask(ctx context.Context, id string) error
+ ListTasks(ctx context.Context, filter *TaskFilter, page, pageSize int) (*TaskList, error)
+
+ // Task status operations
+ StartTask(ctx context.Context, id string) (*Task, error)
+ CompleteTask(ctx context.Context, id string) (*Task, error)
+
+ // Task queries
+ GetTasksByOwner(ctx context.Context, ownerID string, page, pageSize int) (*TaskList, error)
+ GetTasksByStatus(ctx context.Context, status TaskStatus, page, pageSize int) (*TaskList, error)
+ GetTasksByPriority(ctx context.Context, priority TaskPriority, page, pageSize int) (*TaskList, error)
+}