Skip to content

Commit

Permalink
fix: use POST call for user creation in ACP
Browse files Browse the repository at this point in the history
- Not entirely sure about error handling yet, more research needed
- Also added socket method deprecation utility method
  • Loading branch information
julianlam committed Oct 8, 2020
1 parent bba2a46 commit 58043e0
Show file tree
Hide file tree
Showing 4 changed files with 17 additions and 5 deletions.
9 changes: 4 additions & 5 deletions public/src/admin/manage/users.js
Expand Up @@ -353,16 +353,15 @@ define('admin/manage/users', ['translator', 'benchpress', 'autocomplete'], funct
password: password,
};

socket.emit('admin.user.createUser', user, function (err) {
if (err) {
return errorEl.translateHtml('[[admin/manage/users:alerts.error-x, ' + err.message + ']]').removeClass('hide');
}

$.post(config.relative_path + '/api/v1/users', user).done(function () {
modal.modal('hide');
modal.on('hidden.bs.modal', function () {
ajaxify.refresh();
});
app.alertSuccess('[[admin/manage/users:alerts.create-success]]');
}).fail(function () {
console.log(arguments);
// return errorEl.translateHtml('[[admin/manage/users:alerts.error-x, ' + err.message + ']]').removeClass('hide');
});
}

Expand Down
3 changes: 3 additions & 0 deletions public/src/sockets.js
Expand Up @@ -72,6 +72,9 @@ socket = window.socket;
socket.on('event:alert', function (params) {
app.alert(params);
});
socket.on('event:deprecated_call', function (data) {
console.warn('[socket.io] ', data.eventName, 'is now deprecated in favour of', data.replacement);
});

socket.removeAllListeners('event:nodebb.ready');
socket.on('event:nodebb.ready', function (data) {
Expand Down
3 changes: 3 additions & 0 deletions src/socket.io/admin/user.js
Expand Up @@ -11,6 +11,7 @@ const meta = require('../../meta');
const plugins = require('../../plugins');
const translator = require('../../translator');
const flags = require('../../flags');
const sockets = require('..');

const User = module.exports;

Expand Down Expand Up @@ -57,6 +58,8 @@ User.removeAdmins = async function (socket, uids) {
};

User.createUser = async function (socket, userData) {
sockets.warnDeprecated(socket, 'POST /api/v1/users');

if (!userData) {
throw new Error('[[error:invalid-data]]');
}
Expand Down
7 changes: 7 additions & 0 deletions src/socket.io/index.js
Expand Up @@ -258,3 +258,10 @@ Sockets.reqFromSocket = function (socket, payload, event) {
headers: headers,
};
};

Sockets.warnDeprecated = (socket, replacement) => {
socket.emit('event:deprecated_call', {
eventName: socket.previousEvents[socket.previousEvents.length - 1],
replacement: replacement,
});
};

0 comments on commit 58043e0

Please sign in to comment.