Skip to content

Commit 1776422

Browse files
authored
Merge pull request #9 from monis01/master
category model and delete api
2 parents df0f27f + 01524cf commit 1776422

File tree

7 files changed

+130
-10
lines changed

7 files changed

+130
-10
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,4 @@
22
/node_modules
33
/logs
44
.env
5+
npm-debug.log

modules/blogs/controllers/crud.blog.js

Lines changed: 36 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
const path = require('path');
1+
const path = require('path'),
2+
helperLib = require(path.resolve('./config/lib/helper_lib')),
3+
blogModel= require('../models/blogs.model');
24

35
//@ demo methods for future use
46
module.exports = {
@@ -16,8 +18,39 @@ module.exports = {
1618
res.json({status: "blog updated"});
1719
},
1820

19-
delete: (req, res) => {
20-
res.json({status: "blog deleted"});
21+
softDelete: (req, res) => {
22+
let blogData = req.body.blogData,
23+
blogId = req.params.blog_id,
24+
Common = new helperLib.common.common(),
25+
resObj= {};
26+
27+
blogModel.findONe({'_id':blogId},(err,blog)=>{
28+
if(err){
29+
resObj = Common.generateResponses(500,'failed','Something went wrong');
30+
resObj.error = err;
31+
res.status(resObj.statusCode).json(resObj);
32+
}
33+
34+
//@ i.e. blog exists
35+
if(blog){
36+
let updateBlogStatus = {status:1};
37+
blogModel.update({'_id':blogId},updateBlogStatus,(err,update)=>{
38+
if(update.nModified == 1){
39+
resObj = Common.generateResponses(200,'success','Blog is deleted successfully.');
40+
}else{
41+
resObj = Common.generateResponses(400,'failed',err || 'some error occurred in update password' );
42+
resObj.error = err
43+
}
44+
res.status(resObj.statusCode).json(resObj);
45+
})
46+
}
47+
})
48+
49+
50+
},
51+
52+
finalDelete : (req,res)=>{
53+
res.json({status: "blog deleted"});
2154
}
2255

2356
}
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
const path = require('path'),
2+
helperLib = require(path.resolve('./config/lib/helper_lib')),
3+
categoryModel= require('../models/blog.category.model');
4+
5+
6+
module.exports = {
7+
8+
9+
addCategory : (req,res)=>{
10+
11+
},
12+
updateThisCategory: (req,res)=>{
13+
14+
},
15+
categoryStatus: (req,res)=>{
16+
let categoryId = req.params.category_id,
17+
status = req.query.make,
18+
resObj= {},
19+
isThereErr= false, //@ can be useful in future for any manipulations
20+
Common = new helperLib.common.common();
21+
22+
//@[citation] can try for regex
23+
if(make==undefined){
24+
resObj = Common.generateResponses(400,'failed','params missing, wrong request');
25+
isThereErr = true;
26+
}else if(make!='hide' || make!='unhide'){
27+
resObj = Common.generateResponses(404,'failed','wrong resource params');
28+
isThereErr = true;
29+
}else{
30+
categoryModel.findOne({'_id':categoryId},(err,category)=>{
31+
if(err){
32+
resObj = Common.generateResponses(500,'failed','Something went wrong, please try later');
33+
res.status(resObj.statusCode).json(resObj);
34+
}
35+
if(category){
36+
let changeStatus = {status : status=='hide' ? 1: 0}
37+
category.update({'_id':categoryId},changeStatus,function(err,update)=>{
38+
if(err){
39+
resObj = Common.generateResponses(500,'failed','Something went wrong, please try later');
40+
}else if(update){
41+
//@ can do further other updates (not required now)
42+
resObj = Common.generateResponses(200,'success','status updated sucessfully');
43+
}
44+
res.status(resObj.statusCode).json(resObj);
45+
})
46+
}
47+
})
48+
}
49+
50+
if(isThereErr){
51+
res.status(resObj.statusCode).json(resObj);
52+
}
53+
}
54+
}
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
const mongoose = require('mongoose'),
2+
Schema= mongoose.Schema;
3+
4+
let BlogCategorySchema = new Schema({
5+
name:{
6+
type:String,
7+
required:[true,'Name is required']
8+
},
9+
logo:{
10+
type:String
11+
},
12+
totalArticles:{
13+
type:Number,
14+
default:0 //@ this is the current value
15+
},
16+
status:{
17+
type:Number,
18+
default:0 //@ non-hide i.e. will be visible
19+
}
20+
});
21+
22+
module.exports = mongoose.model('BlogCategorySchema', BlogCategorySchema);
23+
24+

modules/blogs/models/blogs.model.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ let blogSchema = new Schema({
3131
}],
3232
status: {
3333
type: Number,
34-
default: 0
34+
default: 0 //@ not hide i.e. visible
3535
}
3636

3737
}, {

modules/blogs/routes/routes.js

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
1+
22
const path= require('path'),
33
fs = require('fs'),
44
router = require('express').Router(),
@@ -14,11 +14,17 @@ let fileObj = ReadDirectory.requireFiles(dir);
1414

1515
//@ routes mapping
1616
router
17-
.post('/create-blog', fileObj['crud.blog'].create)
18-
.get('/read-blog', fileObj['crud.blog'].read)
19-
.put('/update-blog', fileObj['crud.blog'].update)
20-
.delete('/delete-blog', fileObj['crud.blog'].delete);
21-
17+
.post('/create-blog', fileObj['crud.blog'].create)
18+
.get('/read-blog/:blog_id', fileObj['crud.blog'].read)
19+
.put('/:blog_id/update-blog', fileObj['crud.blog'].update)
20+
.put('/:blog_id/soft-delete-blog', fileObj['crud.blog'].softDelete)
21+
.delete('/:blog_id/delete-blog', fileObj['crud.blog'].finalDelete);
22+
23+
.post('/category/add',fileObj['crud.category'].addCategory)
24+
.get('/category/all',)
25+
.put('/category/:category_id/update',fileObj['crud.category'.updateThisCategory])
26+
.put('/category/:category_id/status',fileObj['crud.category'].categoryStatus)
27+
//@ ../status?make=hide/unhide
2228

2329
module.exports = {
2430
router: router,

modules/user_profile/controllers/user.account.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -229,6 +229,8 @@ exports.resetPassword = (req, res) => {
229229
if(err){
230230
resObj = Common.generateResponses(500,'failed','Something went wrong ');
231231
resObj.error = err;
232+
res.status(resObj.statusCode).json(resObj);
233+
232234
}
233235

234236
//@ if user exists

0 commit comments

Comments
 (0)