randydev commited on
Commit
258ce6a
·
verified ·
1 Parent(s): dc73788

Update index.js

Browse files
Files changed (1) hide show
  1. index.js +31 -28
index.js CHANGED
@@ -145,37 +145,40 @@ app.get("/v1/show-key", async (req, res) => {
145
  });
146
 
147
  app.post("/v1/revoked-key", async (req, res) => {
148
- const dbClient = new Database("AkenoXJs");
149
- const collection = dbClient.collection('api_keys');
150
- try {
151
- const userIdString = req.query.user_id;
152
- const userIdNumber = Number(userIdString);
153
-
154
- if (isNaN(userIdNumber)) {
155
- return res.status(400).json({ error: "Invalid or missing user_id" });
156
- }
157
 
158
- const existingUser = await collection.findOne({ owner: userIdNumber });
159
-
160
- if (existingUser) {
161
- const newKey = generateAkenoKey();
162
- const result = await collection.updateOne(
163
- { owner: existingUser.owner },
164
- { $setOnInsert: { key: newKey, createdAt: new Date(), email: existingUser.email || null } },
165
- { upsert: true });
166
-
167
- if (result.upsertedCount > 0) {
168
- res.json({ message: "New API key generated", "apiKey": newKey });
169
- } else {
170
- res.json({ message: "API key already exists for this user" });
171
- }
172
 
173
- } else {
174
- res.status(500).json({ error: "API key not found" });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
175
  }
176
- } catch (err) {
177
- res.status(500).json({ error: `Key generation failed: ${err.message}` });
178
- }
179
  });
180
 
181
  app.post('/v1/generate-key', async (req, res) => {
 
145
  });
146
 
147
  app.post("/v1/revoked-key", async (req, res) => {
148
+ const dbClient = new Database("AkenoXJs");
149
+ const collection = dbClient.collection("api_keys");
 
 
 
 
 
 
 
150
 
151
+ try {
152
+ const userIdString = req.query.user_id;
153
+ const userIdNumber = Number(userIdString);
 
 
 
 
 
 
 
 
 
 
 
154
 
155
+ if (isNaN(userIdNumber)) {
156
+ return res.status(400).json({ error: "Invalid or missing user_id" });
157
+ }
158
+
159
+ const existingUser = await collection.findOne({ owner: userIdNumber });
160
+
161
+ if (!existingUser) {
162
+ return res.status(404).json({ error: "API key not found" });
163
+ }
164
+
165
+ const newKey = generateAkenoKey();
166
+
167
+ const result = await collection.updateOne(
168
+ { owner: userIdNumber },
169
+ { $set: { key: newKey, createdAt: new Date() } },
170
+ { upsert: false }
171
+ );
172
+
173
+ if (result.modifiedCount > 0) {
174
+ res.json({ message: "API key successfully revoked and regenerated", apiKey: newKey });
175
+ } else {
176
+ res.status(500).json({ error: "Failed to update API key" });
177
+ }
178
+
179
+ } catch (err) {
180
+ res.status(500).json({ error: `Key generation failed: ${err.message}` });
181
  }
 
 
 
182
  });
183
 
184
  app.post('/v1/generate-key', async (req, res) => {