ryu-js / plugins /antiban.js
randydev's picture
Create antiban.js
03a92a9 verified
raw
history blame
1.37 kB
import express from 'express';
import { Database } from '../database/database.js';
import { authenticateApiKey, apiLimiter } from '../middleware/midware.js';
const AntibanRoutes = express.Router();
AntibanRoutes.get("/api/v1/ai/ban-user", authenticateApiKey, apiLimiter, async (req, res) => {
const dbClient = new Database("AkenoXJs");
const collection = dbClient.collection("ban_users");
try {
const userIdString = req.query.user_id;
const ReasonString = req.query.reason;
const userIdNumber = Number(userIdString);
if (isNaN(userIdNumber)) {
return res.status(400).json({ error: "Invalid or missing user_id" });
}
const existingUser = await collection.findOne({ user_ban: userIdNumber });
if (existingUser) {
return res.status(200).json({ message: `UserBan is already: ${existingUser.user_ban}`, is_ban: true});
}
const userDocument = {
user_ban: userIdNumber,
createdAt: new Date()
};
if (ReasonString) {
userDocument.reason = ReasonString;
}
await collection.insertOne(userDocument);
res.json({ message: `UserBan Successfully banned: ${userIdNumber}`, is_ban: true });
} catch (error) {
res.status(401).json({ error: error.message });
}
});
export { AntibanRoutes };