From 77af90c31dd02c8fc3719e9a9d97b17e10161439 Mon Sep 17 00:00:00 2001 From: Akhil Meka Date: Mon, 9 Jun 2025 16:48:53 +0530 Subject: [PATCH] let user add note when creating task --- src/ctask/ctask.schema.ts | 1 + src/ctask/ctask.service.ts | 11 +++++++++++ src/task/task.schema.ts | 1 + src/task/task.service.ts | 11 +++++++++++ 4 files changed, 24 insertions(+) diff --git a/src/ctask/ctask.schema.ts b/src/ctask/ctask.schema.ts index 954873f..226044c 100644 --- a/src/ctask/ctask.schema.ts +++ b/src/ctask/ctask.schema.ts @@ -56,6 +56,7 @@ const createTaskInput = z.object({ currentStage: z.number(), }) .optional(), + note: z.string().optional(), }); const updateTaskInput = z.object({ diff --git a/src/ctask/ctask.service.ts b/src/ctask/ctask.service.ts index 99ff179..0242156 100644 --- a/src/ctask/ctask.service.ts +++ b/src/ctask/ctask.service.ts @@ -1,4 +1,5 @@ import { AuthenticatedUser } from "../auth"; +import { createNote } from "../note/note.service"; import { getFilterObject, getSortObject, PageQueryParams } from "../pagination"; import { generateId } from "../utils/id"; import { taskPipeline } from "../utils/pipeline"; @@ -30,6 +31,16 @@ export async function createTask( createdBy: user.userId ?? null, }); + if (input.note) { + await createNote( + { + content: input.note, + }, + task.pid, + user + ); + } + return await taskModel .findOne({ pid: task.pid }) .populate({ path: "createdBy", select: "pid name avatar" }) diff --git a/src/task/task.schema.ts b/src/task/task.schema.ts index f6bb322..28b2cba 100644 --- a/src/task/task.schema.ts +++ b/src/task/task.schema.ts @@ -68,6 +68,7 @@ const createTaskInput = z.object({ currentStage: z.number(), }) .optional(), + note: z.string().optional(), }); const updateTaskInput = z.object({ diff --git a/src/task/task.service.ts b/src/task/task.service.ts index bfaadc6..08a9bc7 100644 --- a/src/task/task.service.ts +++ b/src/task/task.service.ts @@ -1,4 +1,5 @@ import { AuthenticatedUser } from "../auth"; +import { createNote } from "../note/note.service"; import { getFilterObject, getSortObject, PageQueryParams } from "../pagination"; import { generateId } from "../utils/id"; import { taskPipeline } from "../utils/pipeline"; @@ -29,6 +30,16 @@ export async function createTask( createdBy: user.userId ?? null, }); + if (input.note) { + await createNote( + { + content: input.note, + }, + task.pid, + user + ); + } + return await taskModel .findOne({ pid: task.pid }) .populate({ path: "createdBy", select: "pid name avatar" })