@bernierllc/todo-list
Version:
Pure todo list business logic and management utilities for @bernierllc packages
88 lines • 2.52 kB
TypeScript
import { Task, TaskType, TaskFilters, CreateTaskRequest, UpdateTaskRequest, TaskCompletionRequest, TaskAnalytics, TaskHistoryItem, TaskValidationResult, TaskOperationResult } from './types';
/**
* Core todo list manager - pure business logic for todo/task list management
* No UI dependencies, no external services, just todo list business rules
*/
export declare class TodoList {
private tasks;
private taskTypes;
private history;
constructor();
/**
* Initialize default task types
*/
private initializeDefaultTaskTypes;
/**
* Create a new task
*/
createTask(request: CreateTaskRequest): TaskOperationResult<Task>;
/**
* Get tasks with optional filters
*/
getTasks(filters?: TaskFilters): TaskOperationResult<Task[]>;
/**
* Get a single task by ID
*/
getTask(id: string): TaskOperationResult<Task | null>;
/**
* Update a task
*/
updateTask(id: string, request: UpdateTaskRequest, userId: string): TaskOperationResult<Task>;
/**
* Complete a task
*/
completeTask(id: string, request: TaskCompletionRequest): TaskOperationResult<Task>;
/**
* Delete a task
*/
deleteTask(id: string, userId: string): TaskOperationResult<void>;
/**
* Get available task types
*/
getTaskTypes(): TaskOperationResult<TaskType[]>;
/**
* Create a new task type
*/
createTaskType(taskType: TaskType): TaskOperationResult<TaskType>;
/**
* Update an existing task type
*/
updateTaskType(id: string, updates: Partial<TaskType>): TaskOperationResult<TaskType>;
/**
* Delete a task type
*/
deleteTaskType(id: string): TaskOperationResult<void>;
/**
* Get task analytics
*/
getTaskAnalytics(filters?: TaskFilters): TaskOperationResult<TaskAnalytics>;
/**
* Get task history
*/
getTaskHistory(taskId?: string): TaskOperationResult<TaskHistoryItem[]>;
/**
* Validate task data
*/
validateTask(task: Partial<Task>): TaskValidationResult;
/**
* Get total task count
*/
getTaskCount(): number;
/**
* Get task type count
*/
getTaskTypeCount(): number;
/**
* Clear all tasks (useful for testing)
*/
clearTasks(): void;
/**
* Clear all task types (useful for testing)
*/
clearTaskTypes(): void;
/**
* Add history item for audit trail
*/
private addHistoryItem;
}
//# sourceMappingURL=todo-list.d.ts.map