-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathaddmed.js
90 lines (73 loc) · 2.62 KB
/
addmed.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
/*const express = require("express")
const app = express()
const mongoose = require("mongoose")
app.use(express.json())
const productSchema = require('../models/product');
const prodmodel = mongoose.model("product",productSchema)
const addmed = async(req,res)=>{
console.log("Inside post function");
if(!req.body || Object.keys(req.body).length === 0){
res.status(400).send("Request body cannot be empty");
return;
}
const data = new prodmodel({
productID:req.body.productID,
manufacturer:req.body.manufacturer,
name:req.body.name,
drug_family:req.body.drug_family,
mfgDate:req.body.mfgDate,
expiryDate:req.body.expiryDate,
side_effects:req.body.side_effects,
price:req.body.price,
description:req.body.description,
mgs:req.body.mgs,
available:req.body.available
})
const val = await data.save();
res.json(val);
}
module.exports = addmed;*/
const express = require("express")
const app = express()
const mongoose = require("mongoose")
app.use(express.json())
const productSchema = require('../models/product');
const prodmodel = mongoose.model("product",productSchema)
const addmed = async (req, res) => {
console.log("Inside post function");
if (!req.body || Object.keys(req.body).length === 0) {
res.status(400).send("Request body cannot be empty");
return;
}
if (!req.body.productID) {
res.status(400).send("Please provide product ID");
return;
}
const regex = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.\d{3}\+\d{2}:\d{2}$/;
if (!regex.test(req.body.mfgDate) || !regex.test(req.body.expiryDate)) {
res.status(400).send("Dates should be in the format: YYYY-MM-DDTHH:MM:SS.sssZ");
return;
}
const requiredFields = ['manufacturer', 'name', 'drug_family', 'mfgDate', 'expiryDate', 'side_effects', 'price', 'description', 'mgs', 'available'];
const missingFields = requiredFields.filter(field => !req.body[field]);
if (missingFields.length > 0) {
res.status(400).send("All fields are required");
return;
}
const data = new prodmodel({
productID: req.body.productID,
manufacturer: req.body.manufacturer,
name: req.body.name,
drug_family: req.body.drug_family,
mfgDate: req.body.mfgDate,
expiryDate: req.body.expiryDate,
side_effects: req.body.side_effects,
price: req.body.price,
description: req.body.description,
mgs: req.body.mgs,
available: req.body.available,
});
const val = await data.save();
res.json(val);
};
module.exports = addmed;