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.

49 lines
909 B

'use strict';
const Mongo = require(__dirname+'/db.js')
, db = Mongo.client.db('jschan').collection('modlog');
module.exports = {
getFirst: (board) => {
return db.find({
'board': board._id
5 years ago
}).sort({_id:1}).limit(1).toArray();
},
getLast: (board) => {
return db.find({
'board': board._id
5 years ago
}).sort({_id:-1}).limit(1).toArray();
},
findBetweenDate: (board, start, end) => {
const startDate = Mongo.ObjectId.createFromTime(Math.floor(start.getTime()/1000));
const endDate = Mongo.ObjectId.createFromTime(Math.floor(end.getTime()/1000));
return db.find({
'_id': {
'$gte': startDate,
'$lte': endDate
},
'board': board._id
}).sort({
'_id': -1
}).toArray();
},
insertMany: (events) => {
return db.insertMany(events);
},
deleteBoard: (board) => {
return db.deleteMany({
'board': board
});
},
deleteAll: () => {
return db.deleteMany({});
},
}