|
@@ -3,25 +3,40 @@
|
|
|
const async = require('async');
|
|
|
|
|
|
const db = require('../db');
|
|
|
+const cache = require('../cache');
|
|
|
+const utils = require('../utils');
|
|
|
const hooks = require('./hooks');
|
|
|
const songs = require('../songs');
|
|
|
|
|
|
+cache.sub('report.resolve', reportId => {
|
|
|
+ utils.emitToRoom('admin.reports', 'event:admin.report.resolved', reportId);
|
|
|
+});
|
|
|
+
|
|
|
module.exports = {
|
|
|
|
|
|
index: hooks.adminRequired((session, cb) => {
|
|
|
db.models.report.find({ resolved: false }).sort({ released: 'desc' }).exec((err, reports) => {
|
|
|
- if (err) console.error(err);
|
|
|
+ if (err) {
|
|
|
+ console.error(err);
|
|
|
+ cb({ 'status': 'failure', 'message': 'Something went wrong'});
|
|
|
+ }
|
|
|
cb({ status: 'success', data: reports });
|
|
|
});
|
|
|
}),
|
|
|
|
|
|
resolve: hooks.adminRequired((session, _id, cb) => {
|
|
|
db.models.report.findOne({ _id }).sort({ released: 'desc' }).exec((err, report) => {
|
|
|
- if (err) console.error(err);
|
|
|
+ if (err) {
|
|
|
+ console.error(err);
|
|
|
+ cb({ 'status': 'failure', 'message': 'Something went wrong'});
|
|
|
+ }
|
|
|
report.resolved = true;
|
|
|
report.save(err => {
|
|
|
if (err) console.error(err);
|
|
|
- else cb({ status: 'success', message: 'Successfully resolved Report' });
|
|
|
+ else {
|
|
|
+ cache.pub('report.resolve', _id);
|
|
|
+ cb({ status: 'success', message: 'Successfully resolved Report' });
|
|
|
+ }
|
|
|
});
|
|
|
});
|
|
|
}),
|