add : upload image

This commit is contained in:
morteza-mortezai
2025-11-01 16:15:22 +03:30
parent 599d2ad992
commit 1b3b9a8358
3 changed files with 23 additions and 3 deletions
@@ -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 = {
@@ -10,7 +10,7 @@ const ReturnOrderItemSchema = new Schema<IReturnOrderItem>(
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 },
},
+21 -1
View File
@@ -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 };