feat: closes #12491, add unban & unmute history

to account/info page
This commit is contained in:
Barış Soner Uşaklı
2024-04-23 11:16:04 -04:00
parent bde9136b92
commit 985663faae
10 changed files with 176 additions and 85 deletions

View File

@@ -252,7 +252,8 @@ usersAPI.unban = async function (caller, data) {
throw new Error('[[error:no-privileges]]');
}
await user.bans.unban(data.uid);
const unbanData = await user.bans.unban(data.uid, data.reason);
await db.setObjectField(`uid:${data.uid}:unban:${unbanData.timestamp}`, 'fromUid', caller.uid);
sockets.in(`uid_${data.uid}`).emit('event:unbanned');
@@ -283,6 +284,7 @@ usersAPI.mute = async function (caller, data) {
const now = Date.now();
const muteKey = `uid:${data.uid}:mute:${now}`;
const muteData = {
type: 'mute',
fromUid: caller.uid,
uid: data.uid,
timestamp: now,
@@ -315,7 +317,19 @@ usersAPI.unmute = async function (caller, data) {
}
await db.deleteObjectFields(`user:${data.uid}`, ['mutedUntil', 'mutedReason']);
const now = Date.now();
const unmuteKey = `uid:${data.uid}:unmute:${now}`;
const unmuteData = {
type: 'unmute',
fromUid: caller.uid,
uid: data.uid,
timestamp: now,
};
if (data.reason) {
unmuteData.reason = data.reason;
}
await db.sortedSetAdd(`uid:${data.uid}:unmutes:timestamp`, now, unmuteKey);
await db.setObject(unmuteKey, unmuteData);
await events.log({
type: 'user-unmute',
uid: caller.uid,