adminsettings: Promisify

This commit is contained in:
Richard Hansen 2021-11-10 18:24:54 -05:00
parent 4e2f816665
commit 46ad93024d

View file

@ -1,12 +1,12 @@
'use strict'; 'use strict';
const eejs = require('../../eejs'); const eejs = require('../../eejs');
const fs = require('fs'); const fsp = require('fs').promises;
const hooks = require('../../../static/js/pluginfw/hooks'); const hooks = require('../../../static/js/pluginfw/hooks');
const plugins = require('../../../static/js/pluginfw/plugins'); const plugins = require('../../../static/js/pluginfw/plugins');
const settings = require('../../utils/Settings'); const settings = require('../../utils/Settings');
exports.expressCreateServer = (hookName, {app}, cb) => { exports.expressCreateServer = (hookName, {app}) => {
app.get('/admin/settings', (req, res) => { app.get('/admin/settings', (req, res) => {
res.send(eejs.require('ep_etherpad-lite/templates/admin/settings.html', { res.send(eejs.require('ep_etherpad-lite/templates/admin/settings.html', {
req, req,
@ -14,34 +14,31 @@ exports.expressCreateServer = (hookName, {app}, cb) => {
errors: [], errors: [],
})); }));
}); });
return cb();
}; };
exports.socketio = (hookName, {io}, cb) => { exports.socketio = (hookName, {io}) => {
io.of('/settings').on('connection', (socket) => { io.of('/settings').on('connection', (socket) => {
const {session: {user: {is_admin: isAdmin} = {}} = {}} = socket.conn.request; const {session: {user: {is_admin: isAdmin} = {}} = {}} = socket.conn.request;
if (!isAdmin) return; if (!isAdmin) return;
socket.on('load', (query) => { socket.on('load', async (query) => {
fs.readFile('settings.json', 'utf8', (err, data) => { let data;
if (err) { try {
return console.log(err); data = await fsp.readFile('settings.json', 'utf8');
} } catch (err) {
return console.log(err);
// if showSettingsInAdminPage is set to false, then return NOT_ALLOWED in the result }
if (settings.showSettingsInAdminPage === false) { // if showSettingsInAdminPage is set to false, then return NOT_ALLOWED in the result
socket.emit('settings', {results: 'NOT_ALLOWED'}); if (settings.showSettingsInAdminPage === false) {
} else { socket.emit('settings', {results: 'NOT_ALLOWED'});
socket.emit('settings', {results: data}); } else {
} socket.emit('settings', {results: data});
}); }
}); });
socket.on('saveSettings', (settings) => { socket.on('saveSettings', async (settings) => {
fs.writeFile('settings.json', settings, (err) => { await fsp.writeFile('settings.json', settings);
if (err) throw err; socket.emit('saveprogress', 'saved');
socket.emit('saveprogress', 'saved');
});
}); });
socket.on('restartServer', async () => { socket.on('restartServer', async () => {
@ -52,5 +49,4 @@ exports.socketio = (hookName, {io}, cb) => {
await hooks.aCallAll('restartServer'); await hooks.aCallAll('restartServer');
}); });
}); });
return cb();
}; };