mirror of https://gitgud.io/fatchan/jschan.git
Merge pull request #21 from fatchan/combinedquery
combine update action queriesmerge-requests/208/head
commit
262ef1afd4
22 changed files with 602 additions and 186 deletions
After Width: | Height: | Size: 1.8 KiB |
After Width: | Height: | Size: 200 B |
After Width: | Height: | Size: 7.7 KiB |
@ -1,12 +1,23 @@ |
|||||||
'use strict'; |
'use strict'; |
||||||
|
|
||||||
const Posts = require(__dirname+'/../../db/posts.js') |
module.exports = (posts) => { |
||||||
, hasPerms = require(__dirname+'/../../helpers/hasperms.js'); |
|
||||||
|
|
||||||
module.exports = async (req, res, next) => { |
const filteredposts = posts.filter(post => { |
||||||
|
return post.reports.length > 0 |
||||||
|
}) |
||||||
|
|
||||||
const dismissedReports = await Posts.dismissReports(req.params.board, req.body.checkedposts).then(result => result.modifiedCount); |
if (filteredposts.length === 0) { |
||||||
|
return { |
||||||
|
message: 'No report(s) to dismiss' |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
return `Dismissed ${dismissedReports} reports successfully`; |
return { |
||||||
|
message: 'Dismissed reports', |
||||||
|
action: '$set', |
||||||
|
query: { |
||||||
|
'reports': [] |
||||||
|
} |
||||||
|
}; |
||||||
|
|
||||||
} |
} |
||||||
|
@ -1,14 +1,23 @@ |
|||||||
'use strict'; |
'use strict'; |
||||||
|
|
||||||
const Mongo = require(__dirname+'/../../db/db.js') |
module.exports = (posts) => { |
||||||
, Posts = require(__dirname+'/../../db/posts.js') |
|
||||||
, hasPerms = require(__dirname+'/../../helpers/hasperms.js'); |
|
||||||
|
|
||||||
module.exports = async (req, res, next, posts) => { |
const filteredposts = posts.filter(post => { |
||||||
|
return post.globalreports.length > 0 |
||||||
|
}) |
||||||
|
|
||||||
const postMongoIds = posts.map(post => Mongo.ObjectId(post._id)) |
if (filteredposts.length === 0) { |
||||||
const dismissedCount = await Posts.dismissGlobalReports(postMongoIds).then(result => result.modifiedCount); |
return { |
||||||
|
message: 'No global report(s) to dismiss' |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
return `Dismissed ${dismissedCount} reports successfully`; |
return { |
||||||
|
message: 'Dismissed global report(s)', |
||||||
|
action: '$set', |
||||||
|
query: { |
||||||
|
'globalreports': [] |
||||||
|
} |
||||||
|
}; |
||||||
|
|
||||||
} |
} |
||||||
|
@ -0,0 +1,23 @@ |
|||||||
|
'use strict'; |
||||||
|
|
||||||
|
module.exports = (posts) => { |
||||||
|
|
||||||
|
const filteredposts = posts.filter(post => { |
||||||
|
return !post.locked |
||||||
|
}) |
||||||
|
|
||||||
|
if (filteredposts.length === 0) { |
||||||
|
return { |
||||||
|
message: 'Post(s) already locked', |
||||||
|
}; |
||||||
|
} |
||||||
|
|
||||||
|
return { |
||||||
|
message: `Locked ${filteredposts.length} post(s)`, |
||||||
|
action: '$set', |
||||||
|
query: { |
||||||
|
'locked': true |
||||||
|
} |
||||||
|
}; |
||||||
|
|
||||||
|
} |
@ -0,0 +1,23 @@ |
|||||||
|
'use strict'; |
||||||
|
|
||||||
|
module.exports = (posts) => { |
||||||
|
|
||||||
|
const filteredposts = posts.filter(post => { |
||||||
|
return !post.saged |
||||||
|
}) |
||||||
|
|
||||||
|
if (filteredposts.length === 0) { |
||||||
|
return { |
||||||
|
message: 'Post(s) already saged', |
||||||
|
}; |
||||||
|
} |
||||||
|
|
||||||
|
return { |
||||||
|
message: `Saged ${filteredposts.length} post(s)`, |
||||||
|
action: '$set', |
||||||
|
query: { |
||||||
|
'saged': true |
||||||
|
} |
||||||
|
}; |
||||||
|
|
||||||
|
} |
@ -1,29 +1,24 @@ |
|||||||
'use strict'; |
'use strict'; |
||||||
|
|
||||||
const path = require('path') |
module.exports = (posts) => { |
||||||
, util = require('util') |
|
||||||
, fs = require('fs') |
|
||||||
, unlink = util.promisify(fs.unlink) |
|
||||||
, uploadDirectory = require(__dirname+'/../../helpers/uploadDirectory.js') |
|
||||||
, hasPerms = require(__dirname+'/../../helpers/hasperms.js') |
|
||||||
, Mongo = require(__dirname+'/../../db/db.js') |
|
||||||
, Posts = require(__dirname+'/../../db/posts.js'); |
|
||||||
|
|
||||||
module.exports = async (req, res, next, posts) => { |
|
||||||
|
|
||||||
// filter to ones not spoilered
|
// filter to ones not spoilered
|
||||||
posts = posts.filter(post => { |
const filteredPosts = posts.filter(post => { |
||||||
return !post.spoiler |
return !post.spoiler |
||||||
}); |
}); |
||||||
if (posts.length === 0) { |
|
||||||
return 'Posts already spoilered'; |
|
||||||
} |
|
||||||
|
|
||||||
// spoiler posts
|
if (filteredPosts.length === 0) { |
||||||
const postMongoIds = posts.map(post => Mongo.ObjectId(post._id)); |
return { |
||||||
const spoileredPosts = await Posts.spoilerMany(postMongoIds).then(result => result.modifiedCount); |
message:'Post(s) already spoilered' |
||||||
|
}; |
||||||
|
} |
||||||
|
|
||||||
//hooray!
|
return { |
||||||
return `Spoilered ${spoileredPosts} posts` |
message: `Spoilered ${filteredPosts.length} post(s)`, |
||||||
|
action: '$set', |
||||||
|
query: { |
||||||
|
'spoiler': true |
||||||
|
} |
||||||
|
}; |
||||||
|
|
||||||
} |
} |
||||||
|
@ -0,0 +1,23 @@ |
|||||||
|
'use strict'; |
||||||
|
|
||||||
|
module.exports = (posts) => { |
||||||
|
|
||||||
|
const filteredposts = posts.filter(post => { |
||||||
|
return !post.sticky |
||||||
|
}) |
||||||
|
|
||||||
|
if (filteredposts.length === 0) { |
||||||
|
return { |
||||||
|
message: 'Post(s) already stickied', |
||||||
|
}; |
||||||
|
} |
||||||
|
|
||||||
|
return { |
||||||
|
message: `Stickied ${filteredposts.length} post(s)`, |
||||||
|
action: '$set', |
||||||
|
query: { |
||||||
|
'sticky': true |
||||||
|
} |
||||||
|
}; |
||||||
|
|
||||||
|
} |
Loading…
Reference in new issue