Skip to content

Commit

Permalink
Add files via upload
Browse files Browse the repository at this point in the history
  • Loading branch information
rahul-dev7 committed May 4, 2022
1 parent 88c627b commit 7cfa5ee
Show file tree
Hide file tree
Showing 9 changed files with 236 additions and 0 deletions.
84 changes: 84 additions & 0 deletions controllers/todoControllers.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
const todoService = require('../services/todoService');
const Common = require('../helpers/common');
exports.createTodo = async (req, res,next) => {
try {
let result = await todoService.saveTodo(req.body);
return Common.sendSuccessResponse(res, 200, "successfully", '');
}
catch(err) {
return Common.sendErrorResponse(res, 500, "Failed", err);
}
}

exports.getTodos = async(req, res,next) => {
try {
let todos = await todoService.getTodos();
return Common.sendSuccessResponse(res, 200, "Success", todos);
}
catch(err) {
return Common.sendErrorResponse(res, 500, "Failed", err);
}
}


exports.getUpdate = async(req, res,next) => {

try {
let updateDataObj = {};
let fieldArray = ['title', 'description'];
let id = Number(req.params.id);
let data = req.body;

let todo = await todoService.getTodoById(id);

if(!todo) {
return Common.sendErrorResponse(res, 404, "todo is not found", '');
}

fieldArray.forEach(field => {
updateDataObj[field] = data[field];
});

const updateTodo = await todoService.updateTodo(updateDataObj, todo._id)
if(updateTodo['modifiedCount'] > 0) {
return Common.sendSuccessResponse(res, 200, "todo is updated successfully", todos);
}
else {
return Common.sendErrorResponse(res, 500, "todo is not updated successfully", '');
}

}
catch(err) {
return Common.sendErrorResponse(res, 500, "todo is not updated successfully", '');
}
}


exports.getDelete = async(req, res,next) => {

try {
let id = Number(req.params.id);


let todo = await todoService.getTodoById(id);

if(!todo) {
return Common.sendErrorResponse(res, 404, "todo is not found", '');
}

const deleteTodo = await todoService.deleteTodo(todo._id);
if(deleteTodo['deletedCount'] > 0) {
return Common.sendSuccessResponse(res, 200, "todo is delete successfully", '');
}
else {
return Common.sendErrorResponse(res, 500, "todo is not delete successfully", '');
}

}
catch(err) {
return Common.sendErrorResponse(res, 500, "todo is not delete successfully", '');
}
}



14 changes: 14 additions & 0 deletions controllers/userControllers.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
const bcrypt = require('bcrypt');
const Common = require('../helpers/common');
const userService = require('../services/userService');

exports.register = async(req, res, next) => {
try {
req.body.password = await bcrypt(req.body.password , 10);
console.log( req.body.password);
userService.saveUser(req.body);
}
catch(err) {
return Common.sendErrorResponse(res, 500, "user is not register successfully", '');
}
}
23 changes: 23 additions & 0 deletions helpers/common.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
const { response } = require("express");

exports.sendSuccessResponse = (res, code, message, data="") => {
let response = {};

response['message'] = message != '' ? message : "";
response['data'] = data != '' ? data : "";
let statusCode = code != '' ? code : 200;

return res.status(statusCode).json(response);
}

exports.sendErrorResponse = (res, code, message, error) => {
let response = {};

let statusCode = code != '' ? code : 200;

response['message'] = message != '' ? message : "";
response['error'] = error != '' ? error : "";

return res.status(statusCode).json(response);
}

20 changes: 20 additions & 0 deletions model/todo.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
const mongoose = require('mongoose');


const todoSchema = mongoose.Schema({
id: {
type: Number,
unique: true,
required: true
},
title: {
type: String,
required: true
},
description: {
type: String,
required: true
}
});

module.exports = mongoose.model('Todo', todoSchema);
26 changes: 26 additions & 0 deletions model/user.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
const mongoose = require('mongoose');

const userSchema = mongoose.Schema({
firstname: {
type: String,
required: true,
},
lastname: {
type: String,
required: true,
},
email: {
type: String,
required: true,
unique: true
},
password: {
type: String,
required: true
},
status: {
type: Boolean
}
});

module.exports = mongoose.model('User', userSchema);
9 changes: 9 additions & 0 deletions routes/authRoutes.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
const express = require('express');
const router = express.Router();


const userControllers = require('../controllers/userControllers');

router.post('/register', userControllers.register);

module.exports = router;
11 changes: 11 additions & 0 deletions routes/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
// const todoRouter = require('./todoRoutes');

// module.exports = {
// '/todo' : todoRouter
// }

const authRouter = require('../routes/authRoutes')
exports = {
'/' : authRouter
}

15 changes: 15 additions & 0 deletions routes/todoRoutes.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
const express = require('express');
const router = express.Router();
const todoController = require('../controllers/todoControllers.js');
router.get('/', todoController.getTodos );
router.post('/create-todo', todoController.createTodo);
router.put('/:id', todoController.getUpdate);
router.delete('/:id/delete', todoController.getDelete);
// router.post('/create-todo', (req, res, next) => {
// console.log('hello');
// } );

// router.put('/:id', (req, res, next) => {
// console.log('id');
// });
module.exports = router;
34 changes: 34 additions & 0 deletions routes/todos.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
// const express = require("express");
// const router = express.Router();
// const idLength = 8;

// router.get('/', (req,res) => {

// let todos = req.app.db.get('todos').value();

// return res.send(todos);

// });

// router.get('/:id', (req,res) => {

// let todo = req.app.db.get('todos').find({
// id: req.params.id
// }).value();

// if(!todo){

// res.sendStatus(404);

// return res.send({
// message: "Todo cannot be found",
// internal_code: "Invalid id"
// });

// };

// return res.send(todo);

// });

// //module.exports = router;

0 comments on commit 7cfa5ee

Please sign in to comment.