//init
require('dotenv').config();
const express = require("express");
const app = express();
const port = process.env.PORT || 8083;
const mongoose = require("mongoose");
const bodyParser = require("body-parser");
const routes = require("./api/routes");
//Node Native Promise
mongoose.Promise = global.Promise;
//mongodb connect
mongoose.connect(process.env.MONGO_URI).then(
(res) => {
console.log('Successfully connected to mongodb');
}
).catch(e => {
console.error(e);
});
//middleware
app.use(bodyParser.urlencoded({ extended:true }));
app.use(bodyParser.json());
//route
app.use('/', routes);
//server ready
app.listen(port, () => {
console.log(`API server started on : ${port}`);
});
//init
const mongoose = require("mongoose");
const Schema = mongoose.Schema;
//schema
const UserSchema = new Schema({
user_name:{
type: String,
required:true
},
user_regdate: {
type: Date,
default: Date.now
}
});
module.exports = mongoose.model("User", UserSchema);
//init
const mongoose = require("mongoose");
const UserModel = mongoose.model("User");
//get users list
exports.all_users = (req, res) => {
UserModel.find({}, (err, data) => {
if(err) res.send(err);
res.json(data);
});
};
//add new user
exports.create_user = (req, res) => {
const new_user = new UserModel(req.body);
new_user.save((err, data) => {
if(err) res.send(err);
res.json(data);
});
};
//get user
exports.load_user = (req, res) => {
UserModel.findById(req.params.userId, (err, data) => {
if(err) res.send(err);
res.json(data);
});
};
//update user
exports.update_user = (req, res) => {
UserModel.findOneAndUpdate(
{ _id: req.params.userId },
req.body,
{ new: true },
(err, data) => {
if(err) res.send(err);
res.json(data);
}
);
};
//delete user
exports.delete_user = (req, res) => {
UserModel.deleteOne(
{
_id: req.params.userId
},
(err, data) => {
if(err) res.send(err);
res.json({ message: "Data successfully deleted" });
}
);
};
//init
const express = require('express');
const router = express.Router();
//indexing routes
const user = require('./userRoutes.js');
//connect
router.use('/user', user);
//export
module.exports = router;
//init
const express = require('express');
const router = express.Router();
//activate schema
require("../models/userModel.js");
//controller
userController = require('../controller/userController.js');
//methods
router.route('/')
.get(userController.all_users)
.post(userController.create_user);
router.route('/:userId')
.get(userController.load_user)
.put(userController.update_user)
.delete(userController.delete_user);
module.exports = router;