feat(plan): frontend startPlanning API + store action + task_kind type
This commit is contained in:
@@ -2,7 +2,7 @@ import { ref } from "vue";
|
||||
import { defineStore } from "pinia";
|
||||
import { apiGet, apiPost, apiPut, apiPatch, apiDelete } from "@/api/client";
|
||||
import { useToastStore } from "@/stores/toast";
|
||||
import type { Task, TaskListResponse, TaskStatus, TaskPriority } from "@/types/task";
|
||||
import type { Task, TaskListResponse, TaskStatus, TaskPriority, StartPlanningResult } from "@/types/task";
|
||||
|
||||
export const useTasksStore = defineStore("tasks", () => {
|
||||
const tasks = ref<Task[]>([]);
|
||||
@@ -129,6 +129,21 @@ export const useTasksStore = defineStore("tasks", () => {
|
||||
}
|
||||
}
|
||||
|
||||
async function startPlanning(
|
||||
projectId: number,
|
||||
title: string
|
||||
): Promise<StartPlanningResult> {
|
||||
try {
|
||||
return await apiPost<StartPlanningResult>("/api/tasks/planning", {
|
||||
project_id: projectId,
|
||||
title,
|
||||
});
|
||||
} catch (e) {
|
||||
useToastStore().show("Failed to start planning", "error");
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
|
||||
function setStatusFilter(statuses: TaskStatus[]) {
|
||||
statusFilter.value = statuses;
|
||||
offset.value = 0;
|
||||
|
||||
Reference in New Issue
Block a user