mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-11-14 01:45:47 +01:00
feat: convert src/messaging/* to async/await (#7778)
* feat: src/messaging/create.js, #7743 * feat: src/messaging/data.js, #7743 * feat: src/messaging/delete.js, #7743 * feat: src/messaging/edit.js, index.js, #7743 * fix: added in missing awaits * feat: wrapped up src/messaging/* rewrite * refactor: messaging delete/restore similar blocks of code
This commit is contained in:
@@ -1,31 +1,16 @@
|
||||
'use strict';
|
||||
|
||||
var async = require('async');
|
||||
|
||||
module.exports = function (Messaging) {
|
||||
Messaging.deleteMessage = function (mid, roomId, callback) {
|
||||
async.waterfall([
|
||||
async.apply(Messaging.getMessageField, mid, 'deleted'),
|
||||
function (deleted, next) {
|
||||
if (deleted) {
|
||||
return next(new Error('[[error:chat-deleted-already]]'));
|
||||
}
|
||||
Messaging.deleteMessage = async mid => await doDeleteRestore(mid, 1);
|
||||
Messaging.restoreMessage = async mid => await doDeleteRestore(mid, 0);
|
||||
|
||||
Messaging.setMessageField(mid, 'deleted', 1, next);
|
||||
},
|
||||
], callback);
|
||||
};
|
||||
async function doDeleteRestore(mid, state) {
|
||||
const field = state ? 'deleted' : 'restored';
|
||||
const cur = await Messaging.getMessageField(mid, 'deleted');
|
||||
if (cur === state) {
|
||||
throw new Error('[[error:chat-' + field + '-already]]');
|
||||
}
|
||||
|
||||
Messaging.restoreMessage = function (mid, roomId, callback) {
|
||||
async.waterfall([
|
||||
async.apply(Messaging.getMessageField, mid, 'deleted'),
|
||||
function (deleted, next) {
|
||||
if (!deleted) {
|
||||
return next(new Error('[[error:chat-restored-already]]'));
|
||||
}
|
||||
|
||||
Messaging.setMessageField(mid, 'deleted', 0, next);
|
||||
},
|
||||
], callback);
|
||||
};
|
||||
return await Messaging.setMessageField(mid, 'deleted', state);
|
||||
}
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user