Don’t get subtasks by default when using GET on API tasks
This commit is contained in:
@@ -26,6 +26,7 @@ const HeadersSchema = z.object({
|
||||
const SearchQuerySchema = z.object({
|
||||
cursor: z.string().optional(),
|
||||
take: z.coerce.number().default(50),
|
||||
subtasks: z.coerce.boolean().default(false),
|
||||
});
|
||||
|
||||
export async function loader({ request, params }: LoaderArgs) {
|
||||
@@ -87,7 +88,9 @@ export async function loader({ request, params }: LoaderArgs) {
|
||||
return json({ message: "Run not found" }, { status: 404 });
|
||||
}
|
||||
|
||||
const tasks = taskListToTree(jobRun.tasks.slice(0, query.take));
|
||||
const selectedTasks = jobRun.tasks.slice(0, query.take);
|
||||
|
||||
const tasks = taskListToTree(selectedTasks, query.subtasks);
|
||||
const nextTask = jobRun.tasks[query.take];
|
||||
|
||||
return json({
|
||||
|
||||
@@ -1,9 +1,14 @@
|
||||
type InputType = { id: string; parentId: string | null };
|
||||
type OutputType<T> = T & { subtasks?: T[] };
|
||||
export type OutputType<T> = T & { subtasks?: T[] };
|
||||
|
||||
export function taskListToTree<T extends InputType>(
|
||||
tasks: T[]
|
||||
tasks: T[],
|
||||
addSubtasks = true
|
||||
): OutputType<T>[] {
|
||||
if (!addSubtasks) {
|
||||
return tasks;
|
||||
}
|
||||
|
||||
const result: OutputType<T>[] = [];
|
||||
const map = new Map<string, T>(tasks.map((v) => [v.id, v]));
|
||||
|
||||
|
||||
Reference in New Issue
Block a user