diff --git a/src/becca/becca-interface.ts b/src/becca/becca-interface.ts index 82970907b..11d6ae506 100644 --- a/src/becca/becca-interface.ts +++ b/src/becca/becca-interface.ts @@ -217,9 +217,7 @@ export default class Becca { } getTasks(): BTask[] { - return Object - .values(this.tasks) - .filter((task) => !task.isDone); + return Object.values(this.tasks); } getTask(taskId: string): BTask | null { diff --git a/src/public/app/services/froca.ts b/src/public/app/services/froca.ts index 36e25a5a0..d787fbcf0 100644 --- a/src/public/app/services/froca.ts +++ b/src/public/app/services/froca.ts @@ -372,8 +372,8 @@ class FrocaImpl implements Froca { }); } - async getTasks() { - const taskRows = await server.get(`tasks`); + async getTasks(parentNoteId: string) { + const taskRows = await server.get(`tasks/${parentNoteId}`); return this.processTaskRow(taskRows); } diff --git a/src/public/app/widgets/type_widgets/task_list.ts b/src/public/app/widgets/type_widgets/task_list.ts index a91d9879e..037ec5739 100644 --- a/src/public/app/widgets/type_widgets/task_list.ts +++ b/src/public/app/widgets/type_widgets/task_list.ts @@ -108,13 +108,13 @@ export default class TaskListWidget extends TypeWidget { async doRefresh(note: FNote) { this.$widget.show(); - if (!this.note) { + if (!this.note || !this.noteId) { return; } this.$taskContainer.html(""); - const tasks = await froca.getTasks(); + const tasks = await froca.getTasks(this.noteId); for (const task of tasks) { this.$taskContainer.append($(buildTask(task))); } diff --git a/src/routes/api/tasks.ts b/src/routes/api/tasks.ts index a9942ffa6..102de086d 100644 --- a/src/routes/api/tasks.ts +++ b/src/routes/api/tasks.ts @@ -1,8 +1,9 @@ import type { Request } from "express"; import * as tasksService from "../../services/tasks.js"; -export function getTasks() { - return tasksService.getTasks(); +export function getTasks(req: Request) { + const { parentNoteId } = req.params; + return tasksService.getTasks(parentNoteId); } export function createNewTask(req: Request) { diff --git a/src/routes/routes.ts b/src/routes/routes.ts index 563cd21d1..da37854d3 100644 --- a/src/routes/routes.ts +++ b/src/routes/routes.ts @@ -280,7 +280,7 @@ function register(app: express.Application) { apiRoute(PATCH, "/api/etapi-tokens/:etapiTokenId", etapiTokensApiRoutes.patchToken); apiRoute(DEL, "/api/etapi-tokens/:etapiTokenId", etapiTokensApiRoutes.deleteToken); - apiRoute(GET, "/api/tasks", tasksRoute.getTasks); + apiRoute(GET, "/api/tasks/:parentNoteId", tasksRoute.getTasks); apiRoute(PST, "/api/tasks", tasksRoute.createNewTask); apiRoute(PST, "/api/tasks/:taskId/toggle", tasksRoute.toggleTaskDone); diff --git a/src/services/tasks.ts b/src/services/tasks.ts index dda9fc4b7..92d2b25db 100644 --- a/src/services/tasks.ts +++ b/src/services/tasks.ts @@ -1,8 +1,9 @@ import becca from "../becca/becca.js"; import BTask from "../becca/entities/btask.js"; -export function getTasks() { - return becca.getTasks(); +export function getTasks(parentNoteId: string) { + return becca.getTasks() + .filter((task) => task.parentNoteId === parentNoteId && !task.isDone); } interface CreateTaskParams {