jschan - Anonymous imageboard software. Classic look, modern features and feel. Works without JavaScript and supports Tor, I2P, Lokinet, etc.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

35 lines
665 B

'use strict';
const Mongo = require(__dirname+'/db.js')
, db = Mongo.client.db('jschan').collection('webring');
module.exports = {
db,
boardSort: (skip=0, limit=50, sort={ ips:-1, pph:-1, sequence_value:-1 }, filter={}) => {
const addedFilter = {};
if (filter.search) {
addedFilter['$or'] = [
{ uri: filter.search },
{ tags: filter.search }
]
}
return db.find(addedFilter)
.sort(sort)
.skip(skip)
.limit(limit)
.toArray();
},
count: () => {
//no need to countDocuments beacuse we dont filter anything. just use metadata
return db.estimatedDocumentCount();
},
deleteAll: (board) => {
return db.deleteMany({});
},
}