Update index.js
Browse files
index.js
CHANGED
@@ -521,8 +521,35 @@ app.post("/api/v1/key/api-key-ban", authenticateApiKey, apiLimiter, async (req,
|
|
521 |
}
|
522 |
});
|
523 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
524 |
app.post('/api/v1/key/generate-key', authenticateApiKey, apiLimiter, async (req, res) => {
|
525 |
const dbClient = new Database("AkenoXJs");
|
|
|
526 |
const collection = dbClient.collection('api_keys');
|
527 |
try {
|
528 |
const newKey = generateAkenoKey();
|
@@ -538,6 +565,11 @@ app.post('/api/v1/key/generate-key', authenticateApiKey, apiLimiter, async (req,
|
|
538 |
if (userIdNumber === 0) {
|
539 |
return res.status(400).json({ error: "Invalid user_id" });
|
540 |
}
|
|
|
|
|
|
|
|
|
|
|
541 |
|
542 |
const existingUser = await collection.findOne({ owner: userIdNumber });
|
543 |
|
|
|
521 |
}
|
522 |
});
|
523 |
|
524 |
+
app.post("/api/v1/key/ban-and-delete", authenticateApiKey, apiLimiter, async (req, res) => {
|
525 |
+
const dbClient = new Database("AkenoXJs");
|
526 |
+
const bannedCollection = dbClient.collection("banned_users");
|
527 |
+
const apiKeysCollection = dbClient.collection("api_keys");
|
528 |
+
|
529 |
+
try {
|
530 |
+
const userIdString = req.query.user_id;
|
531 |
+
const userIdNumber = Number(userIdString);
|
532 |
+
|
533 |
+
if (isNaN(userIdNumber) || userIdNumber === 0) {
|
534 |
+
return res.status(400).json({ error: "Invalid user ID" });
|
535 |
+
}
|
536 |
+
|
537 |
+
if (userIdNumber === 6477856957) {
|
538 |
+
return res.status(400).json({ error: "Sorry, only the developer can perform this action." });
|
539 |
+
}
|
540 |
+
|
541 |
+
await bannedCollection.insertOne({ user_id: userIdNumber, bannedAt: new Date() });
|
542 |
+
await apiKeysCollection.deleteMany({ owner: userIdNumber });
|
543 |
+
|
544 |
+
return res.status(200).json({ message: "User permanently banned and API keys deleted" });
|
545 |
+
} catch (error) {
|
546 |
+
res.status(500).json({ error: `Failed to ban user and delete API keys: ${error.message}` });
|
547 |
+
}
|
548 |
+
});
|
549 |
+
|
550 |
app.post('/api/v1/key/generate-key', authenticateApiKey, apiLimiter, async (req, res) => {
|
551 |
const dbClient = new Database("AkenoXJs");
|
552 |
+
const bannedCollection = dbClient.collection("banned_users");
|
553 |
const collection = dbClient.collection('api_keys');
|
554 |
try {
|
555 |
const newKey = generateAkenoKey();
|
|
|
565 |
if (userIdNumber === 0) {
|
566 |
return res.status(400).json({ error: "Invalid user_id" });
|
567 |
}
|
568 |
+
|
569 |
+
const isBanned = await bannedCollection.findOne({ user_id: userId });
|
570 |
+
if (isBanned) {
|
571 |
+
return res.status(200).json({ message: "You are permanently banned from creating API keys" });
|
572 |
+
}
|
573 |
|
574 |
const existingUser = await collection.findOne({ owner: userIdNumber });
|
575 |
|