pancake-client-sdk
Version:
Official TypeScript SDK for Pancake POS API
88 lines (87 loc) • 2.29 kB
TypeScript
import { Task, CreateTaskRequest, UpdateTaskRequest, TaskListParams, TaskComment, TaskStats } from '../types/task';
import { BaseResource } from './base';
export declare class TaskResource extends BaseResource {
/**
* Get list of tasks
*/
list(params?: TaskListParams): Promise<{
data: Task[];
}>;
/**
* Get task by ID
*/
getById(taskId: string): Promise<Task>;
/**
* Create new task
*/
create(data: CreateTaskRequest): Promise<Task>;
/**
* Update task
*/
update(taskId: string, data: UpdateTaskRequest): Promise<Task>;
/**
* Delete task
*/
delete(taskId: string): Promise<void>;
/**
* Complete task
*/
complete(taskId: string, note?: string): Promise<Task>;
/**
* Cancel task
*/
cancel(taskId: string, reason?: string): Promise<Task>;
/**
* Get task comments
*/
listComments(taskId: string): Promise<{
data: TaskComment[];
}>;
/**
* Add comment to task
*/
addComment(taskId: string, data: {
content: string;
attachments?: string[];
}): Promise<TaskComment>;
/**
* Delete comment
*/
deleteComment(taskId: string, commentId: string): Promise<void>;
/**
* Get tasks statistics
*/
getStats(params?: {
assigned_to?: string;
from_date?: string;
to_date?: string;
}): Promise<TaskStats>;
/**
* Get tasks by customer
*/
getCustomerTasks(customerId: string, params?: Omit<TaskListParams, 'related_id' | 'related_type'>): Promise<{
data: Task[];
}>;
/**
* Get tasks by order
*/
getOrderTasks(orderId: string, params?: Omit<TaskListParams, 'related_id' | 'related_type'>): Promise<{
data: Task[];
}>;
/**
* Bulk update task status
*/
bulkUpdateStatus(taskIds: string[], status: Task['status'], note?: string): Promise<{
success_count: number;
failed_count: number;
errors?: Record<string, string>;
}>;
/**
* Bulk assign tasks
*/
bulkAssign(taskIds: string[], assigneeId: string): Promise<{
success_count: number;
failed_count: number;
errors?: Record<string, string>;
}>;
}