Files
shop-api/src/modules/cancel/models/cancel.model.ts
T
2025-11-05 20:57:52 +03:30

32 lines
1.0 KiB
TypeScript

import { Schema, model } from "mongoose";
import { ICancelOrder } from "./Abstraction/ICancel";
export enum CancellerRefEnum {
User = "User",
Seller = "Seller",
Admin = "Admin",
}
export enum CancelStatusEnum {
Pending = "Pending",
Completed = "Completed",
}
const CancelOrderSchema = new Schema<ICancelOrder>(
{
order: { type: Number, ref: "Order", required: true },
canceller: { type: Schema.Types.ObjectId, refPath: "cancellerRef", required: true },
cancellerRef: { type: String, enum: CancellerRefEnum, required: true },
status: { type: String, enum: CancelStatusEnum, default: CancelStatusEnum.Pending },
total_price: { type: Number, default: 0 },
cancellReceipt: { type: String, default: null },
cancellComment: { type: String, default: null },
cancellDate: { type: Date, default: null },
},
{ timestamps: true, toJSON: { versionKey: false, virtuals: true }, id: false },
);
const CancelOrderModel = model<ICancelOrder>("CancelOrder", CancelOrderSchema);
export { CancelOrderModel };