diff options
author | Mateja <mail@matejamaric.com> | 2021-07-11 13:32:43 +0200 |
---|---|---|
committer | Mateja <mail@matejamaric.com> | 2021-07-11 13:32:43 +0200 |
commit | 3fbd440fe39a2677a12c234f06aaa1bae6a197a4 (patch) | |
tree | b27e26d567a5e8106d597a84fd1d664e61a08cd8 /server/models/Product.js | |
parent | 54677c68f50b7c105a1f6cc5e9593877781fc8d6 (diff) | |
download | mevn-ecommerce-3fbd440fe39a2677a12c234f06aaa1bae6a197a4.tar.gz mevn-ecommerce-3fbd440fe39a2677a12c234f06aaa1bae6a197a4.zip |
Added Product routes, model and boilerplate controller.
Diffstat (limited to 'server/models/Product.js')
-rw-r--r-- | server/models/Product.js | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/server/models/Product.js b/server/models/Product.js new file mode 100644 index 0000000..f825a8b --- /dev/null +++ b/server/models/Product.js @@ -0,0 +1,26 @@ +const mongoose = require('mongoose'); + +const ProductSchema = new mongoose.Schema({ + name: { + type: String, + required: [true, "Product must have a name."], + maxLength: [100, "Product name can't have more then 100 characters."] + }, + description: { + type: String, + required: false + }, + imagePath: { + type: String, + required: false, + maxLength: [256, "Product's image path can't have more then 256 characters."] + }, + price: { + type: Number, + required: [true, "Product must have a price."] + } +}); + +const ProductModel = new mongoose.model('Product', ProductSchema); + +module.exports = ProductModel; |