diff --git a/src/modules/admin/controllers/order.controller.ts b/src/modules/admin/controllers/order.controller.ts index 00b7668..5182c39 100644 --- a/src/modules/admin/controllers/order.controller.ts +++ b/src/modules/admin/controllers/order.controller.ts @@ -292,7 +292,7 @@ export class AdminOrderController extends BaseController { @ApiResponse("File uploaded successfully", HttpStatus.Accepted) @ApiFile("image") @ApiAuth() - @httpPost("/image/upload", Guard.authAdmin(), UploadService.single("image", "shipping-receipt")) + @httpPost("/image/upload", Guard.authAdmin(), UploadService.single("image", "return-cancel-refund-receipt")) public async uploadImage(@request() req: Request) { const file = req.file as Express.MulterS3.File; const data = { diff --git a/src/modules/return/models/returnItem.model.ts b/src/modules/return/models/returnItem.model.ts index 331f73f..79c256d 100644 --- a/src/modules/return/models/returnItem.model.ts +++ b/src/modules/return/models/returnItem.model.ts @@ -10,7 +10,7 @@ const ReturnOrderItemSchema = new Schema( shipmentItem: { type: Schema.Types.ObjectId, required: true }, quantity: { type: Number, required: true }, comment: { type: String, required: true }, - imagesUrl: { type: String }, + imagesUrl: { type: String, default: null }, reason: { type: Schema.Types.ObjectId, ref: "ReturnReason", required: true }, status: { type: String, enum: StatusEnum, default: StatusEnum.Pending }, }, diff --git a/src/modules/return/return.controller.ts b/src/modules/return/return.controller.ts index bd6d02f..3b2785d 100644 --- a/src/modules/return/return.controller.ts +++ b/src/modules/return/return.controller.ts @@ -6,10 +6,11 @@ import { ReturnService } from "./return.service"; import { HttpStatus } from "../../common"; import { ReturnRequestDTO } from "./DTO/return.dto"; import { BaseController } from "../../common/base/controller"; -import { ApiAuth, ApiModel, ApiOperation, ApiResponse, ApiTags } from "../../common/decorator/swggerDocs"; +import { ApiAuth, ApiFile, ApiModel, ApiOperation, ApiResponse, ApiTags } from "../../common/decorator/swggerDocs"; import { Guard } from "../../core/middlewares/guard.middleware"; import { ValidationMiddleware } from "../../core/middlewares/validator.middleware"; import { IOCTYPES } from "../../IOC/ioc.types"; +import { UploadService } from "../../utils/upload.service"; import { IUser } from "../user/models/Abstraction/IUser"; @controller("/returns") @@ -57,6 +58,25 @@ class ReturnController extends BaseController { const data = await this.returnService.getReturnReasons(); return this.response(data); } + + //uploader + @ApiOperation("Upload an image") + @ApiResponse("File uploaded successfully", HttpStatus.Accepted) + @ApiFile("image") + @ApiAuth() + @httpPost("/image/upload", Guard.authAdmin(), UploadService.single("image", "return-cancel-orders")) + public async uploadImage(@request() req: Request) { + const file = req.file as Express.MulterS3.File; + const data = { + message: "file uploaded!", + url: { + size: file?.size, + url: file?.location, + type: file?.mimetype, + }, + }; + return this.response({ data }, HttpStatus.Accepted); + } } export { ReturnController };