Files
challenge-11/models/Customer.js

75 lines
1.2 KiB
JavaScript

const mongoose = require('mongoose');
const customerSchema = new mongoose.Schema({
name: {
type: String,
required: true,
trim: true
},
email: {
type: String,
required: true,
unique: true,
trim: true,
lowercase: true
},
phone: {
type: String,
required: true,
trim: true
},
address: {
type: String,
required: true,
trim: true
},
carModel: {
type: String,
required: true,
trim: true
},
carYear: {
type: Number,
required: true
},
modifications: [{
name: {
type: String,
required: true
},
description: {
type: String,
required: true
},
price: {
type: Number,
required: true
},
category: {
type: String,
required: true
},
dateAdded: {
type: Date,
default: Date.now
}
}],
createdAt: {
type: Date,
default: Date.now
},
updatedAt: {
type: Date,
default: Date.now
}
});
// Update the updatedAt timestamp before saving
customerSchema.pre('save', function(next) {
this.updatedAt = Date.now();
next();
});
const Customer = mongoose.model('Customer', customerSchema);
module.exports = Customer;