Загрузить файлы в «sk1/src/models»
This commit is contained in:
parent
568a2779eb
commit
26b3bf1ad7
17
sk1/src/models/Cart.js
Normal file
17
sk1/src/models/Cart.js
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
const mongoose = require('mongoose');
|
||||||
|
|
||||||
|
const CartItemSchema = new mongoose.Schema({
|
||||||
|
productId: { type: String, required: true },
|
||||||
|
name: { type: String, required: true },
|
||||||
|
price: { type: Number, required: true },
|
||||||
|
img: { type: String, required: true },
|
||||||
|
quantity: { type: Number, default: 1 }
|
||||||
|
});
|
||||||
|
|
||||||
|
const CartSchema = new mongoose.Schema({
|
||||||
|
userId: { type: mongoose.Schema.Types.ObjectId, ref: 'User', required: true },
|
||||||
|
items: [CartItemSchema],
|
||||||
|
updatedAt: { type: Date, default: Date.now }
|
||||||
|
});
|
||||||
|
|
||||||
|
module.exports = mongoose.model('Cart', CartSchema);
|
19
sk1/src/models/User.js
Normal file
19
sk1/src/models/User.js
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
const mongoose = require('mongoose');
|
||||||
|
const bcrypt = require('bcryptjs');
|
||||||
|
|
||||||
|
const UserSchema = new mongoose.Schema({
|
||||||
|
firstName: { type: String, required: true },
|
||||||
|
lastName: { type: String, required: true },
|
||||||
|
email: { type: String, required: true, unique: true },
|
||||||
|
password: { type: String, required: true },
|
||||||
|
createdAt: { type: Date, default: Date.now }
|
||||||
|
});
|
||||||
|
|
||||||
|
UserSchema.pre('save', async function(next) {
|
||||||
|
if (this.isModified('password')) {
|
||||||
|
this.password = await bcrypt.hash(this.password, 10);
|
||||||
|
}
|
||||||
|
next();
|
||||||
|
});
|
||||||
|
|
||||||
|
module.exports = mongoose.model('User', UserSchema);
|
Loading…
Reference in New Issue
Block a user