this is the code, what can i do about it
const express = require('express')
const app = express()
const cors = require('cors')
const bodyParser = require('body-parser');
const mongoose = require('mongoose');
const mongodb = require('mongodb');
const mongoUrl = process.env.MONGO_URI;
app.use(bodyParser.urlencoded({ extended: false }));
require('dotenv').config()
mongoose.connect(mongoUrl,{
useNewUrlParser: true
})
app.use(cors())
app.use(express.static('public'))
app.get('/', (req, res) => {
res.sendFile(__dirname + '/views/index.html')
});
//create schemas and models
const exercisesSchema = new mongoose.Schema({
_id:{type:String},
description: {type: String},
duration: {type: Number},
date: { type: Date, default: Date.now }
});
const schema = new mongoose.Schema({
username: {type: String, required: true }
});
let Exercises = mongoose.model('Exercises', exercisesSchema);
let User = mongoose.model('User', schema);
//Create a New User
app.post('/api/users',(req,res)=>{
const userName= req.body.username;
//find user in database by name put in username field
User.findOne({username:userName},(err,foundOne)=>{
if(err) console.log(err);
if(foundOne){
res.send("Username Is Alerdy Taken")
}else if(userName!=""){
const newUser = new User({username: userName});
newUser.save((err,data)=>{
if (err) console.log(err);
res.json({
username: data.username,
_id: data.id
})
})
//else if username field is empty send 'Path `username` is required.'
}else{
res.send('Path `username` is required.');
}
})
})
//by going on /api/users route using GET method(putting this route on site field) user should get data of all users and their ids
app.get('/api/users',(req,res)=>{
User.find({},(err,data)=>{
res.json(data);
})
})
app.post('/api/users/:_id/exercises',(req,res)=>{
const _id= req.params._id;
User.findById({ _id},(err,data)=>{
if(err) console.log(err);
if(!req.body.date) {
req.body.date = new Date();
}
if(!req.body.description){
res.send("Path `description` is required.");
}else if(!req.body.duration){
res.send("Path `duration` is required.");
}else{
const newExercises = new Exercises({
_id:_id,
description: req.body.description,
duration: Number(req.body.duration),
date:new Date(req.body.date).toDateString()
});
let username = data.username;
newExercises.save((err,data)=>{
if(err) console.log(err);
res.json({
username: username,
description:req.body.description,
duration: Number(req.body.duration),
date:new Date(req.body.date).toDateString(),
_id: _id
})
})
}
})
})
const listener = app.listen(process.env.PORT || 3000, () => {
console.log('Your app is listening on port ' + listener.address().port)
})