From 107b94bc97c177d3ef6102ed98a151c3432fbc67 Mon Sep 17 00:00:00 2001 From: Md Sharafat Hassain Binoy Date: Sun, 26 Apr 2026 18:57:33 +0600 Subject: [PATCH] adding the order service delete on the plan api --- prisma/schema/profile.schema.prisma | 3 ++- src/app/modules/order/order.service.ts | 4 ++++ src/app/modules/order/order.swagger.ts | 8 ++++++-- src/app/modules/plan/plan.route.ts | 6 +++--- src/app/modules/plan/plan.service.ts | 2 +- src/app/modules/profile/profile.service.ts | 1 + 6 files changed, 17 insertions(+), 7 deletions(-) diff --git a/prisma/schema/profile.schema.prisma b/prisma/schema/profile.schema.prisma index c90aef7..b5959a9 100644 --- a/prisma/schema/profile.schema.prisma +++ b/prisma/schema/profile.schema.prisma @@ -2,7 +2,6 @@ model Profile { id String @id @default(uuid()) accountId String @unique account Account @relation(fields: [accountId], references: [id], onDelete: Cascade) - shopName String shopLogo String? contactNumber String? @@ -11,3 +10,5 @@ model Profile { shopCategory String? } + + diff --git a/src/app/modules/order/order.service.ts b/src/app/modules/order/order.service.ts index 0b492fe..8c7c01a 100644 --- a/src/app/modules/order/order.service.ts +++ b/src/app/modules/order/order.service.ts @@ -161,6 +161,10 @@ const update_order_into_db = async (req: Request) => { const delete_order_from_db = async (req: Request) => { // define your own login here const { id } = req.params as { id: string }; + const user = req.user; + if (user?.role !== "ADMIN") { + throw new AppError("You are not authorized to perform this action", 403); + } const result = await prisma.order.delete({ where: { id } }); return result; }; diff --git a/src/app/modules/order/order.swagger.ts b/src/app/modules/order/order.swagger.ts index d17fd4a..f4d705c 100644 --- a/src/app/modules/order/order.swagger.ts +++ b/src/app/modules/order/order.swagger.ts @@ -3,7 +3,11 @@ export const orderSwaggerDocs = { post: { tags: ["order"], summary: "Create new order", - description: "", + description: ` INITIATED + CONFIRMED + ONGOING + DELIVERED + CANCELLED`, requestBody: { required: true, content: { @@ -116,7 +120,7 @@ export const orderSwaggerDocs = { }, patch: { tags: ["order"], - summary: "Update order", + summary: "Update order -(Admin route)", description: "", parameters: [ { diff --git a/src/app/modules/plan/plan.route.ts b/src/app/modules/plan/plan.route.ts index b05a285..8e81d90 100644 --- a/src/app/modules/plan/plan.route.ts +++ b/src/app/modules/plan/plan.route.ts @@ -1,5 +1,5 @@ - - import { Router } from "express"; +import { Router } from "express"; +import auth from "../../middlewares/auth"; import RequestValidator from "../../middlewares/request_validator"; import { plan_controller } from "./plan.controller"; import { plan_validations } from "./plan.validation"; @@ -10,6 +10,7 @@ router.get("/", plan_controller.get_all_plan); router.post( "/", RequestValidator(plan_validations.create_plan), + auth("ADMIN"), plan_controller.create_plan, ); router.get("/:id", plan_controller.get_single_plan); @@ -21,4 +22,3 @@ router.patch( router.delete("/:id", plan_controller.delete_plan); export default router; - \ No newline at end of file diff --git a/src/app/modules/plan/plan.service.ts b/src/app/modules/plan/plan.service.ts index ec420ed..73ca4d4 100644 --- a/src/app/modules/plan/plan.service.ts +++ b/src/app/modules/plan/plan.service.ts @@ -22,7 +22,7 @@ const get_single_plan_from_db = async (req: Request) => { const create_plan_into_db = async (req: Request) => { // define your own login here - const user = req.user + const user = req?.user if (user?.role !== "ADMIN") { throw new AppError("You don’t have permission to create plan information.!!!", 401) } diff --git a/src/app/modules/profile/profile.service.ts b/src/app/modules/profile/profile.service.ts index 06d8a84..d98fdbc 100644 --- a/src/app/modules/profile/profile.service.ts +++ b/src/app/modules/profile/profile.service.ts @@ -7,6 +7,7 @@ const update_profile_into_db = async (req: Request) => { const user = req?.user as JwtPayloadType; const payload = req?.body; const file = req?.file; + console.log(payload); // check file and upload to cloud if (file) { const cloudRes = await uploadCloud(file);