fix: use isPrivileged instead of isAdmin

This commit is contained in:
Barış Soner Uşaklı
2023-09-07 11:04:01 -04:00
committed by Julian Lam
parent ff07fc44e2
commit b9c3cdb679

View File

@@ -17,16 +17,18 @@ const chatsAPI = module.exports;
async function rateLimitExceeded(caller) { async function rateLimitExceeded(caller) {
const session = caller.request ? caller.request.session : caller.session; // socket vs req const session = caller.request ? caller.request.session : caller.session; // socket vs req
const now = Date.now(); const now = Date.now();
const [isAdmin, reputation] = await Promise.all([ const [isPrivileged, reputation] = await Promise.all([
user.isAdministrator(caller.uid), user.isPrivileged(caller.uid),
user.getUserField(caller.uid, 'reputation'), user.getUserField(caller.uid, 'reputation'),
]); ]);
const newbie = !isAdmin && meta.config.newbiePostDelayThreshold > reputation; const newbie = !isPrivileged && meta.config.newbiePostDelayThreshold > reputation;
const delay = newbie ? meta.config.newbieChatMessageDelay : meta.config.chatMessageDelay; const delay = newbie ? meta.config.newbieChatMessageDelay : meta.config.chatMessageDelay;
session.lastChatMessageTime = session.lastChatMessageTime || 0; session.lastChatMessageTime = session.lastChatMessageTime || 0;
if (now - session.lastChatMessageTime < delay) { if (now - session.lastChatMessageTime < delay) {
return true; return true;
} }
session.lastChatMessageTime = now; session.lastChatMessageTime = now;
return false; return false;
} }