randydev commited on
Commit
2991639
·
verified ·
1 Parent(s): c57e522

Update index.js

Browse files
Files changed (1) hide show
  1. index.js +32 -0
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