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( { 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("CancelOrder", CancelOrderSchema); export { CancelOrderModel };