mirror of
https://github.com/Alvin-Zilverstand/challenge-11.git
synced 2026-03-06 02:56:27 +01:00
75 lines
1.2 KiB
JavaScript
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;
|