Skip to content

Commit 18c09d3

Browse files
RESTfull API Implementation using nodejs or mongodb
Merge branch 'feature/restapi' into develop
2 parents 3deffac + 7dbc083 commit 18c09d3

File tree

2,843 files changed

+317888
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

2,843 files changed

+317888
-0
lines changed

README.md

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
# RESTfullAPI

api/controllers/todoListController.js

+54
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
var mongoose = require('mongoose'),
2+
Task = mongoose.model('Tasks');
3+
4+
exports.list_all_tasks = function(req, res) {
5+
Task.find({}, function(err, task) {
6+
if (err)
7+
res.send(err);
8+
res.json(task);
9+
});
10+
};
11+
12+
13+
14+
15+
exports.create_a_task = function(req, res) {
16+
var new_task = new Task(req.body);
17+
new_task.save(function(err, task) {
18+
if (err)
19+
res.send(err);
20+
res.json(task);
21+
});
22+
};
23+
24+
25+
exports.read_a_task = function(req, res) {
26+
Task.findById(req.params.taskId, function(err, task) {
27+
if (err)
28+
res.send(err);
29+
res.json(task);
30+
});
31+
};
32+
33+
34+
exports.update_a_task = function(req, res) {
35+
Task.findOneAndUpdate(req.params.taskId, req.body, {new: true}, function(err, task) {
36+
if (err)
37+
res.send(err);
38+
res.json(task);
39+
});
40+
};
41+
42+
43+
exports.delete_a_task = function(req, res) {
44+
45+
46+
Task.remove({
47+
_id: req.params.taskId
48+
}, function(err, task) {
49+
if (err)
50+
res.send(err);
51+
res.json({ message: 'Task successfully deleted' });
52+
});
53+
};
54+

api/models/todoListModel.js

+24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
'use strict';
2+
var mongoose = require('mongoose');
3+
var Schema = mongoose.Schema;
4+
5+
6+
var TaskSchema = new Schema({
7+
name: {
8+
type: String,
9+
Required: 'Kindly enter the name of the task'
10+
},
11+
Created_date: {
12+
type: Date,
13+
default: Date.now
14+
},
15+
status: {
16+
type: [{
17+
type: String,
18+
enum: ['pending', 'ongoing', 'completed']
19+
}],
20+
default: ['pending']
21+
}
22+
});
23+
24+
module.exports = mongoose.model('Tasks', TaskSchema);

api/routes/todoListRoutes.js

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
2+
module.exports = function(app) {
3+
var todoList = require('../controllers/todoListController');
4+
5+
6+
// todoList Routes
7+
app.route('/tasks')
8+
.get(todoList.list_all_tasks)
9+
.post(todoList.create_a_task);
10+
11+
12+
app.route('/tasks/:taskId')
13+
.get(todoList.read_a_task)
14+
.put(todoList.update_a_task)
15+
.delete(todoList.delete_a_task);
16+
};

node_modules/.bin/latest-version

+1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

node_modules/.bin/mime

+1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

node_modules/.bin/mkdirp

+1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

node_modules/.bin/nodemon

+1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

node_modules/.bin/nopt

+1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

node_modules/.bin/rc

+1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

node_modules/.bin/repeating

+1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

node_modules/.bin/semver

+1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

node_modules/.bin/touch

+1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

node_modules/abbrev/LICENSE

+15
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

node_modules/abbrev/README.md

+23
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

node_modules/abbrev/abbrev.js

+61
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

node_modules/abbrev/package.json

+92
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)