feat(eslint): manually fix eslint errors (not auto-fixable)

This commit is contained in:
Antosik 2021-07-27 18:34:58 +03:00
parent 4fe1031712
commit 7e0ee094c0
14 changed files with 225 additions and 175 deletions

View file

@ -1,3 +1,5 @@
'use strict';

const util = require('util'); const util = require('util');
const NodeBB = require('./nodebb'); const NodeBB = require('./nodebb');


@ -54,7 +56,7 @@ const Serializer = require('./serializer');
return obj; return obj;
}; };


Hooks.filter.topicPost = async function (data, callback) { Hooks.filter.topicPost = async function (data) {
if (Serializer.hasMarkup(data.content)) { if (Serializer.hasMarkup(data.content)) {
await canCreate(data.cid, data.uid); await canCreate(data.cid, data.uid);
return data; return data;
@ -64,6 +66,9 @@ const Serializer = require('./serializer');


Hooks.action.postDelete = function (data) { Hooks.action.postDelete = function (data) {
Poll.getPollIdByPid(data.post.pid, (err, pollId) => { Poll.getPollIdByPid(data.post.pid, (err, pollId) => {
if (err) {
console.error(err);
}
if (pollId) { if (pollId) {
Poll.delete(pollId); Poll.delete(pollId);
} }
@ -72,6 +77,9 @@ const Serializer = require('./serializer');


Hooks.action.postRestore = function (data) { Hooks.action.postRestore = function (data) {
Poll.getPollIdByPid(data.post.pid, (err, pollId) => { Poll.getPollIdByPid(data.post.pid, (err, pollId) => {
if (err) {
console.error(err);
}
if (pollId) { if (pollId) {
Poll.restore(pollId); Poll.restore(pollId);
} }
@ -80,6 +88,9 @@ const Serializer = require('./serializer');


Hooks.action.topicDelete = function (data) { Hooks.action.topicDelete = function (data) {
Poll.getPollIdByTid(data.topic.tid, (err, pollId) => { Poll.getPollIdByTid(data.topic.tid, (err, pollId) => {
if (err) {
console.error(err);
}
if (pollId) { if (pollId) {
Poll.delete(pollId); Poll.delete(pollId);
} }
@ -88,6 +99,9 @@ const Serializer = require('./serializer');


Hooks.action.topicRestore = function (data) { Hooks.action.topicRestore = function (data) {
Poll.getPollIdByTid(data.topic.tid, (err, pollId) => { Poll.getPollIdByTid(data.topic.tid, (err, pollId) => {
if (err) {
console.error(err);
}
if (pollId) { if (pollId) {
Poll.restore(pollId); Poll.restore(pollId);
} }

View file

@ -1,3 +1,4 @@
'use strict';


module.exports = { module.exports = {
db: require.main.require('./src/database'), db: require.main.require('./src/database'),

View file

@ -172,6 +172,10 @@ const Scheduler = require('./scheduler');


Poll.getVoteCount = function (pollId, callback) { Poll.getVoteCount = function (pollId, callback) {
NodeBB.db.getSetMembers(`poll:${pollId}:options`, (err, options) => { NodeBB.db.getSetMembers(`poll:${pollId}:options`, (err, options) => {
if (err) {
console.error(err);
}

async.map(options, (option, next) => { async.map(options, (option, next) => {
Poll.getOptionVoteCount(pollId, option, next); Poll.getOptionVoteCount(pollId, option, next);
}, (err, results) => { }, (err, results) => {

View file

@ -1,15 +1,18 @@
'use strict'; 'use strict';


const cron = require('cron').CronJob;
const NodeBB = require('./nodebb'); const NodeBB = require('./nodebb');


const Poll = require('./poll'); const Poll = require('./poll');
const cron = require('cron').CronJob;


(function (Scheduler) { (function (Scheduler) {
const jobs = {}; const jobs = {};


Scheduler.start = function () { Scheduler.start = function () {
Poll.getScheduled((err, pollIds) => { Poll.getScheduled((err, pollIds) => {
if (err) {
console.error(err);
}
pollIds.forEach((pollId) => { pollIds.forEach((pollId) => {
Scheduler.add(pollId); Scheduler.add(pollId);
}); });

View file

@ -28,6 +28,9 @@ const Vote = require('./vote');


const pollId = parseInt(data.pollId, 10); const pollId = parseInt(data.pollId, 10);
Poll.get(pollId, socket.uid, !!socket.uid, (err, pollData) => { Poll.get(pollId, socket.uid, !!socket.uid, (err, pollData) => {
if (err) {
console.error(err);
}
if (!pollData.info.version) { if (!pollData.info.version) {
return callback(new Error('Legacy polls are not supported')); return callback(new Error('Legacy polls are not supported'));
} }
@ -77,6 +80,10 @@ const Vote = require('./vote');
} }


Poll.get(data.pollId, socket.uid, false, (err, pollData) => { Poll.get(data.pollId, socket.uid, false, (err, pollData) => {
if (err) {
console.error(err);
}

NodeBB.SocketIndex.server.sockets.emit('event:poll.voteChange', pollData); NodeBB.SocketIndex.server.sockets.emit('event:poll.voteChange', pollData);


callback(); callback();
@ -116,7 +123,9 @@ const Vote = require('./vote');
return callback(new Error('Can\'t update vote')); return callback(new Error('Can\'t update vote'));
} }
if (err || !data.options.length) { if (err || !data.options.length) {
err && console.error(err); if (err) {
console.error(err);
}
return callback(new Error('Invalid option')); return callback(new Error('Invalid option'));
} }


@ -126,6 +135,10 @@ const Vote = require('./vote');
} }


Poll.get(data.pollId, socket.uid, false, (err, pollData) => { Poll.get(data.pollId, socket.uid, false, (err, pollData) => {
if (err) {
console.error(err);
}

NodeBB.SocketIndex.server.sockets.emit('event:poll.voteChange', pollData); NodeBB.SocketIndex.server.sockets.emit('event:poll.voteChange', pollData);


callback(); callback();
@ -160,6 +173,10 @@ const Vote = require('./vote');
return callback(new Error('Error during removing vote')); return callback(new Error('Error during removing vote'));
} }
Poll.get(data.pollId, socket.uid, false, (err, pollData) => { Poll.get(data.pollId, socket.uid, false, (err, pollData) => {
if (err) {
console.error(err);
}

NodeBB.SocketIndex.server.sockets.emit('event:poll.voteChange', pollData); NodeBB.SocketIndex.server.sockets.emit('event:poll.voteChange', pollData);
callback(); callback();
}); });
@ -182,6 +199,9 @@ const Vote = require('./vote');
} }


NodeBB.User.getUsersFields(result.votes, ['uid', 'username', 'userslug', 'picture'], (err, userData) => { NodeBB.User.getUsersFields(result.votes, ['uid', 'username', 'userslug', 'picture'], (err, userData) => {
if (err) {
console.error(err);
}
result.votes = userData; result.votes = userData;
callback(null, result); callback(null, result);
}); });
@ -207,7 +227,7 @@ const Vote = require('./vote');
next(null, cid); next(null, cid);
}); });
}, },
function (cid, next) { function (cid) {
checkPrivs(cid, socket.uid, callback); checkPrivs(cid, socket.uid, callback);
}, },
]); ]);

View file

@ -40,6 +40,10 @@ const Poll = require('./poll');


Vote.removeUidVote = function (uid, pollId, callback) { Vote.removeUidVote = function (uid, pollId, callback) {
Vote.getUidVote(uid, pollId, (err, vote) => { Vote.getUidVote(uid, pollId, (err, vote) => {
if (err) {
console.error(err);
}

async.parallel([ async.parallel([
function (next) { function (next) {
async.each(vote.options || [], (option, next) => { async.each(vote.options || [], (option, next) => {
@ -65,7 +69,7 @@ const Poll = require('./poll');
pollId: pollId, pollId: pollId,
uid: uid, uid: uid,
options: options options: options
.filter(option => option.votes.some(_uid => _uid == uid)) .filter(option => option.votes.some(_uid => _uid === uid))
.map(option => option.id), .map(option => option.id),
}); });
}); });

View file

@ -10,7 +10,7 @@ const Scheduler = require('./lib/scheduler');
Plugin.hooks = Hooks; Plugin.hooks = Hooks;


Plugin.load = function (params, callback) { Plugin.load = function (params, callback) {
function renderAdmin(req, res, next) { function renderAdmin(req, res) {
res.render(`admin/plugins/${Config.plugin.id}`, {}); res.render(`admin/plugins/${Config.plugin.id}`, {});
} }


@ -62,11 +62,11 @@ const Scheduler = require('./lib/scheduler');
}; };


Plugin.copyPrivilegesFrom = function (data, callback) { Plugin.copyPrivilegesFrom = function (data, callback) {
if (data.privileges.indexOf('poll:create') == -1) { if (data.privileges.indexOf('poll:create') === -1) {
data.privileges.push('poll:create'); data.privileges.push('poll:create');
} }


if (data.privileges.indexOf('groups:poll:create') == -1) { if (data.privileges.indexOf('groups:poll:create') === -1) {
data.privileges.push('groups:poll:create'); data.privileges.push('groups:poll:create');
} }
callback(null, data); callback(null, data);

View file

@ -1,7 +1,5 @@
'use strict'; 'use strict';


/* globals $, app, socket, define, bootbox */

define('admin/plugins/poll', ['settings'], function (Settings) { define('admin/plugins/poll', ['settings'], function (Settings) {
var wrapper; var wrapper;


@ -31,6 +29,9 @@ define('admin/plugins/poll', ['settings'], function (Settings) {
bootbox.confirm('Are you sure you wish to reset the settings?', function (sure) { bootbox.confirm('Are you sure you wish to reset the settings?', function (sure) {
if (sure) { if (sure) {
socket.emit('admin.plugins.poll.getDefaults', null, function (err, data) { socket.emit('admin.plugins.poll.getDefaults', null, function (err, data) {
if (err) {
console.error(err);
}
Settings.set('poll', data, wrapper, function () { Settings.set('poll', data, wrapper, function () {
socket.emit('admin.plugins.poll.sync'); socket.emit('admin.plugins.poll.sync');
}); });

View file

@ -1,7 +1,5 @@
'use strict'; 'use strict';


/* globals $, app, templates, define */

(function (Poll) { (function (Poll) {
var Creator = {}; var Creator = {};


@ -78,6 +76,10 @@
} }


Poll.sockets.getConfig(null, function (err, config) { Poll.sockets.getConfig(null, function (err, config) {
if (err) {
console.error(err);
}

var poll = {}; var poll = {};


// If there's already a poll in the post, serialize it for editing // If there's already a poll in the post, serialize it for editing
@ -147,7 +149,7 @@
return obj.length; return obj.length;
}); });


if (obj.options.length == 0) { if (obj.options.length === 0) {
return error('[[poll:error.no_options]]'); return error('[[poll:error.no_options]]');
} }


@ -173,13 +175,15 @@


if (config.limits.maxOptions <= el.prevAll('input').length) { if (config.limits.maxOptions <= el.prevAll('input').length) {
clearErrors(); clearErrors();
translator.translate('[[poll:error.max_options]]', function (text) { require(['translator'], function (translator) {
error(text.replace('%d', config.limits.maxOptions)); translator.translate('[[poll:error.max_options]]', function (text) {
error(text.replace('%d', config.limits.maxOptions));
});
}); });
return false; return false;
} }


if (prevOption.val().length != 0) { if (prevOption.val().length !== 0) {
prevOption.clone().val('').insertBefore(el).focus(); prevOption.clone().val('').insertBefore(el).focus();
} }
}); });
@ -220,16 +224,15 @@
} }


function serializeObjectFromForm(form) { function serializeObjectFromForm(form) {

var obj = form.serializeObject(); var obj = form.serializeObject();
var result = { var result = {
options: obj.options, options: obj.options,
settings: { settings: {
title: obj['settings.title'], title: obj['settings.title'],
maxvotes: obj['settings.maxvotes'], maxvotes: obj['settings.maxvotes'],
disallowVoteUpdate: obj['settings.disallowVoteUpdate'] === "on" ? "true" : "false", disallowVoteUpdate: obj['settings.disallowVoteUpdate'] === 'on' ? 'true' : 'false',
end: obj['settings.end'], end: obj['settings.end'],
} },
}; };


return result; return result;

View file

@ -1,7 +1,5 @@
'use strict'; 'use strict';


/* globals require, utils */

(function (module) { (function (module) {
var utils; var utils;
var Serializer = {}; var Serializer = {};
@ -134,7 +132,7 @@


const stripped = utils.stripHTMLTags(raw).replace(/\\/g, '&#92;'); const stripped = utils.stripHTMLTags(raw).replace(/\\/g, '&#92;');
let match; let match;
while ((match = settingsRegex.exec(stripped)) !== null) { while ((match = settingsRegex.exec(stripped)) !== null) { // eslint-disable-line no-cond-assign
var key = match.groups.key.trim(); var key = match.groups.key.trim();
var value = match.groups.value.trim(); var value = match.groups.value.trim();


@ -170,7 +168,7 @@
module.exports = Serializer; module.exports = Serializer;


if (typeof window !== 'undefined') { if (typeof window !== 'undefined') {
Poll.serializer = module.exports; window.Poll.serializer = module.exports;
} }
}(typeof module === 'undefined' ? { }(typeof module === 'undefined' ? {
module: { module: {

View file

@ -1,7 +1,5 @@
'use strict'; 'use strict';


/* globals socket */

(function (Poll) { (function (Poll) {
var messages = [ var messages = [
{ {

View file

@ -1,8 +1,155 @@
'use strict'; 'use strict';


/* globals $, app,config */

(function (Poll) { (function (Poll) {
var Actions = [
{
// Voting
register: function (view) {
var self = this;
view.dom.voteButton.off('click').on('click', function () {
self.handle(view);
});
},
handle: function (view) {
var form = view.dom.votingPanel.find('form');
var votes = form.serializeArray().map(function (option) {
return parseInt(option.value, 10);
});

if (votes.length > 0) {
var voteData = {
pollId: view.pollData.info.pollId,
options: votes,
};

Poll.sockets.vote(voteData, function (err) {
if (!config.loggedIn) {
$(window).trigger('action:poll.vote.notloggedin');
}

if (err) {
return app.alertError(err.message);
}

view.showResultsPanel();
});
}
},
},
{
// Voting
register: function (view) {
var self = this;
view.dom.updateVoteButton.off('click').on('click', function () {
self.handle(view);
});
},
handle: function (view) {
var form = view.dom.votingPanel.find('form');
var votes = form.serializeArray().map(function (option) {
return parseInt(option.value, 10);
});

if (votes.length > 0) {
var voteData = {
pollId: view.pollData.info.pollId,
options: votes,
};

Poll.sockets.updateVote(voteData, function (err) {
if (err) {
return app.alertError(err.message);
}
view.showResultsPanel();
});
}
},
},
{
// Remove vote
register: function (view) {
var self = this;
view.dom.removeVoteButton.off('click').on('click', function () {
self.handle(view);
});
},
handle: function (view) {
var voteData = { pollId: view.pollData.info.pollId };

Poll.sockets.removeVote(voteData, function (err) {
if (err) {
return app.alertError(err.message);
}
view.showResultsPanel();
});
},
},
{
// Results button
register: function (view) {
var self = this;
view.dom.resultsPanelButton.off('click').on('click', function () {
self.handle(view);
});
},
handle: function (view) {
view.showResultsPanel();
},
},
{
// To Voting button
register: function (view) {
var self = this;
view.dom.votingPanelButton.off('click').on('click', function () {
self.handle(view);
});
},
handle: function (view) {
view.showVotingPanel();
},
},
{
// Option details
register: function (view) {
var self = this;
view.dom.resultsPanel.off('click').on('click', '.poll-result-votecount', function (e) {
self.handle(view, e);
});
},
handle: function (view, e) {
var optionId = $(e.currentTarget).parents('[data-poll-option-id]').data('poll-option-id');

Poll.sockets.getOptionDetails({
pollId: view.pollData.info.pollId,
optionId: optionId,
}, function (err, details) {
if (err) {
return app.alertError(err.message);
}

view.showOptionDetails(details);
});
},
},
{
// Editing
register: function (view) {
var self = this;
view.dom.editButton.off('click').on('click', function () {
self.handle(view);
});
},
handle: function (view) {
Poll.sockets.getConfig(null, function (err, config) {
if (err) {
console.error(err);
}
Poll.creator.show(view.pollData, config, function () {});
});
},
},
];

var View = function (pollData) { var View = function (pollData) {
this.pollData = pollData; this.pollData = pollData;
}; };
@ -206,153 +353,6 @@
this.dom.resultsPanelButton.addClass('hidden'); this.dom.resultsPanelButton.addClass('hidden');
}; };


var Actions = [
{
// Voting
register: function (view) {
var self = this;
view.dom.voteButton.off('click').on('click', function () {
self.handle(view);
});
},
handle: function (view) {
var form = view.dom.votingPanel.find('form');
var votes = form.serializeArray().map(function (option) {
return parseInt(option.value, 10);
});

if (votes.length > 0) {
var voteData = {
pollId: view.pollData.info.pollId,
options: votes,
};

Poll.sockets.vote(voteData, function (err, result) {
if (!config.loggedIn) {
$(window).trigger('action:poll.vote.notloggedin');
}

if (err) {
return app.alertError(err.message);
}

view.showResultsPanel();
});
}
},
},
{
// Voting
register: function (view) {
var self = this;
view.dom.updateVoteButton.off('click').on('click', function () {
self.handle(view);
});
},
handle: function (view) {
var form = view.dom.votingPanel.find('form');
var votes = form.serializeArray().map(function (option) {
return parseInt(option.value, 10);
});

if (votes.length > 0) {
var voteData = {
pollId: view.pollData.info.pollId,
options: votes,
};

Poll.sockets.updateVote(voteData, function (err, result) {
if (err) {
return app.alertError(err.message);
}
view.showResultsPanel();
});
}
},
},
{
// Remove vote
register: function (view) {
var self = this;
view.dom.removeVoteButton.off('click').on('click', function () {
self.handle(view);
});
},
handle: function (view) {
var voteData = { pollId: view.pollData.info.pollId };

Poll.sockets.removeVote(voteData, function (err, result) {
if (err) {
return app.alertError(err.message);
}
view.showResultsPanel();
});
},
},
{
// Results button
register: function (view) {
var self = this;
view.dom.resultsPanelButton.off('click').on('click', function () {
self.handle(view);
});
},
handle: function (view) {
view.showResultsPanel();
},
},
{
// To Voting button
register: function (view) {
var self = this;
view.dom.votingPanelButton.off('click').on('click', function () {
self.handle(view);
});
},
handle: function (view) {
view.showVotingPanel();
},
},
{
// Option details
register: function (view) {
var self = this;
view.dom.resultsPanel.off('click').on('click', '.poll-result-votecount', function (e) {
self.handle(view, e);
});
},
handle: function (view, e) {
var optionId = $(e.currentTarget).parents('[data-poll-option-id]').data('poll-option-id');

Poll.sockets.getOptionDetails({
pollId: view.pollData.info.pollId,
optionId: optionId,
}, function (err, details) {
if (err) {
return app.alertError(err.message);
}

view.showOptionDetails(details);
});
},
},
{
// Editing
register: function (view) {
var self = this;
view.dom.editButton.off('click').on('click', function () {
self.handle(view);
});
},
handle: function (view) {
Poll.sockets.getConfig(null, function (err, config) {
Poll.creator.show(view.pollData, config, function (data) {
});
});
},
},
];

Poll.view = { Poll.view = {
polls: {}, polls: {},
load: function (pollData) { load: function (pollData) {

View file

@ -1,7 +1,7 @@
'use strict';


const async = require.main.require('async'); const async = require.main.require('async');
const NodeBB = require('../lib/nodebb'); const NodeBB = require('../lib/nodebb');
const Poll = require('../lib/poll');


const timestamp = Date.UTC(2019, 3, 1); const timestamp = Date.UTC(2019, 3, 1);



View file

@ -1,3 +1,4 @@
'use strict';


const async = require.main.require('async'); const async = require.main.require('async');
const NodeBB = require('../lib/nodebb'); const NodeBB = require('../lib/nodebb');
@ -7,6 +8,9 @@ module.exports = {
timestamp: Date.UTC(2019, 2, 8), timestamp: Date.UTC(2019, 2, 8),
method: function (callback) { method: function (callback) {
NodeBB.db.getSortedSetRange('categories:cid', 0, -1, (err, cids) => { NodeBB.db.getSortedSetRange('categories:cid', 0, -1, (err, cids) => {
if (err) {
console.error(err);
}
async.some(cids, (cid, next) => { async.some(cids, (cid, next) => {
// if any category already had a poll:create privilege, then this has ran before // if any category already had a poll:create privilege, then this has ran before
// todo: weak check? // todo: weak check?