Made admin endpoints only admin accessible
parent
e84bc52708
commit
767b0463ac
@ -0,0 +1,133 @@
|
||||
/*
|
||||
This file contains all the endpoints which are accessible only to the admin.
|
||||
The endpoints are
|
||||
GET /users
|
||||
POST /users
|
||||
PUT /users
|
||||
DELETE /users
|
||||
NOTE:
|
||||
The above users endpoints are not present in this file as they are all the users
|
||||
endpoints this API has, they are present in a separate file, users.js
|
||||
All those still come under the ADMIN endpoints
|
||||
|
||||
PUT /topics
|
||||
DELETE /topics
|
||||
DELETE /articles
|
||||
*/
|
||||
|
||||
|
||||
// Importing the topics model
|
||||
var Topics = require('../models/topic.js');
|
||||
var Articles = require('../models/article.js');
|
||||
|
||||
var db = require('../db.js'); //this file contains the knex file import. it's equal to knex=require('knex')
|
||||
|
||||
module.exports = function(app) {
|
||||
|
||||
app.put('/topics',function(req,res){
|
||||
/*
|
||||
This is a PUT endpoint for updating a topic information.
|
||||
It takes the id of the topic to be updated and then updates it with the new object.
|
||||
the error key in the returning object is a boolen which is false if there is no error and true otherwise
|
||||
|
||||
TODO: Add updates only for columns that are in the request body. Handle exceptions.
|
||||
*/
|
||||
Topics.forge({id: req.body.id})
|
||||
.save({name: req.body.name, description: req.body.description})
|
||||
.then(function(topic) {
|
||||
res.json({
|
||||
error: {
|
||||
error: false,
|
||||
message: ''
|
||||
},
|
||||
code: 'B125',
|
||||
data: topic
|
||||
});
|
||||
})
|
||||
.catch(function (error) {
|
||||
res.status(500).json({
|
||||
error: {
|
||||
error: true,
|
||||
message: error.message
|
||||
},
|
||||
code: 'B126',
|
||||
data: {
|
||||
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
app.delete('/topics',function(req,res){
|
||||
/*
|
||||
This is a DELETE endpoint for delete a complete topic from the database.
|
||||
It takes the id of the topic and then delete that record from the database.
|
||||
the error key in the returning object is a boolen which is false if there is no error and true otherwise
|
||||
*/
|
||||
|
||||
Topics.forge({id: req.body.id})
|
||||
.destroy()
|
||||
.then(function() {
|
||||
res.json({
|
||||
error: {
|
||||
error: false,
|
||||
message: ''
|
||||
},
|
||||
code: 'B127',
|
||||
data: {
|
||||
|
||||
}
|
||||
});
|
||||
})
|
||||
.catch(function (error) {
|
||||
res.status(500).json({
|
||||
error: {
|
||||
error: true,
|
||||
message: error.message
|
||||
},
|
||||
code: 'B128',
|
||||
data: {
|
||||
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
app.delete('/articles',function(req,res){
|
||||
/*
|
||||
This is a DELETE endpoint for delete a complete article from the database.
|
||||
It takes the id of the article and then deletes that record from the database.
|
||||
the error key in the returning object is a boolen which is false if there is no error and true otherwise
|
||||
*/
|
||||
|
||||
Articles.forge({id: req.body.id})
|
||||
.destroy()
|
||||
.then(function() {
|
||||
res.json({
|
||||
error: {
|
||||
error: false,
|
||||
message: ''
|
||||
},
|
||||
code: 'B109',
|
||||
data: {
|
||||
|
||||
}
|
||||
});
|
||||
})
|
||||
.catch(function (error) {
|
||||
res.status(500).json({
|
||||
error: {
|
||||
error: true,
|
||||
message: error.message
|
||||
},
|
||||
code: 'B110',
|
||||
data: {
|
||||
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
}
|
Loading…
Reference in New Issue