routes/addUserAsVIP: fixed

This commit is contained in:
Nishant Arora
2021-10-21 23:59:08 -06:00
parent 2376d88481
commit 28dc0fb512

View File

@@ -5,22 +5,26 @@ import { Request, Response } from "express";
import { isUserVIP } from "../utils/isUserVIP";
import { HashedUserID } from "../types/user.model";
interface AddUserAsVIPRequest extends Request {
query: {
userID: HashedUserID;
adminUserID: string;
enabled: string;
}
}
export async function addUserAsVIP(req: Request, res: Response): Promise<Response> {
const userID = req.query.userID as HashedUserID;
let adminUserIDInput = req.query.adminUserID as string;
export async function addUserAsVIP(req: AddUserAsVIPRequest, res: Response): Promise<Response> {
const { query: { userID, adminUserID } } = req;
const enabled = req.query.enabled === undefined
? false
: req.query.enabled === "true";
const enabled = req.query?.enabled === "true";
if (userID == undefined || adminUserIDInput == undefined) {
if (!userID || !adminUserID) {
// invalid request
return res.sendStatus(400);
}
// hash the userID
adminUserIDInput = getHash(adminUserIDInput);
const adminUserIDInput = getHash(adminUserID);
if (adminUserIDInput !== config.adminUserID) {
// not authorized
@@ -33,7 +37,9 @@ export async function addUserAsVIP(req: Request, res: Response): Promise<Respons
if (enabled && !userIsVIP) {
// add them to the vip list
await db.prepare("run", 'INSERT INTO "vipUsers" VALUES(?)', [userID]);
} else if (!enabled && userIsVIP) {
}
if (!enabled && userIsVIP) {
//remove them from the shadow ban list
await db.prepare("run", 'DELETE FROM "vipUsers" WHERE "userID" = ?', [userID]);
}