23 lines
840 B
JavaScript
23 lines
840 B
JavaScript
import mongoose from "mongoose";
|
|
import modelNameRegister from "./modelNameRegister.js";
|
|
|
|
const Types = mongoose.Schema.Types;
|
|
|
|
const rentalSchema = new mongoose.Schema({
|
|
title: { type: String, required: true, trim: true },
|
|
rate: { type: String, required: true, trim: true },
|
|
description: { type: String, required: true },
|
|
contact: { type: String, required: true },
|
|
createDate: { type: Date, required: true, default: Date.now() },
|
|
creator: { type: Types.ObjectId, ref: modelNameRegister.User }
|
|
});
|
|
|
|
rentalSchema.pre("remove", async function (next) {
|
|
const rental = this;
|
|
const rentalInd = rental.creator.createdRentals.indexOf(rental._id);
|
|
rental.creator.createdRentals.splice(rentalInd, 1);
|
|
await rental.save();
|
|
next();
|
|
});
|
|
|
|
export default mongoose.model(modelNameRegister.Rental, rentalSchema); |