Website : rimsha.abasa.com
backdoor
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
var
/
www
/
talha_silentcontent
/
src
/
app
/
api
/
keys
/
Filename :
route.ts
back
Copy
import { connect } from "./../../dbConfig/dbConfig"; import User from "./../../../models/userModel" import { NextRequest, NextResponse } from "next/server"; import jwt from "jsonwebtoken"; connect(); export async function GET(request: NextRequest) { try { if (request.method !== "GET") { return NextResponse.json( { error: "Method not allowed" }, { status: 405 } ); } // Decode token const token = request.cookies.get("token")?.value || ""; const decodedToken = await jwt.verify(token, process.env.TOKEN_SECRET!); //@ts-ignore const { id } = decodedToken; // Check if user exists const user = await User.findById(id); if (!user) { return NextResponse.json({ error: "User not found" }, { status: 404 }); } // Extract API_Keys const API_Keys = user.API_Key; const response = NextResponse.json({ message: "API_KEYS are", success: true, data: { API_Keys, }, }); return response; } catch (error: any) { return NextResponse.json({ error: error.message }, { status: 500 }); } } export async function PATCH(request: NextRequest) { try { if (request.method !== "PATCH") { return NextResponse.json( { error: "Method not allowed" }, { status: 405 } ); } const reqBody = await request.json(); const { data: { apiKeyToDelete } } = reqBody; const token = request.cookies.get("token")?.value || ""; const decodedToken = await jwt.verify(token, process.env.TOKEN_SECRET!); //@ts-ignore const { id } = decodedToken; const user = await User.findById(id); if (!user) { return NextResponse.json({ error: "User not found" }, { status: 404 }); } const update = { $pull: { API_Key: apiKeyToDelete } }; const updatedUser = await User.findByIdAndUpdate(id, update, { new: true, runValidators: true }); console.log(updatedUser); // Simulate the response for demonstration purposes const response = NextResponse.json({ message: "API_KEY deleted successfully", success: true, data: { apiKeyToDelete, }, }); return response; } catch (error: any) { return NextResponse.json({ error: error.message }, { status: 500 }); } }