brawlset/app/app/api/admin/bsets/route.ts

46 lines
1.2 KiB
TypeScript

import { NextResponse, NextRequest } from 'next/server'
import { validateToken, decryptToken } from '@/lib/jwt'
import { db } from '@/lib/db'
export async function GET(req: NextRequest) {
try {
const token = req?.headers.get("authorization")?.split(" ")[1]
if(token !== undefined) {
if(validateToken(token)) {
const tokenData = decryptToken(token)
if(tokenData.admin == true){
const bsets = await db.bset.findMany({
relationLoadStrategy: "join",
include: {
sets: true
}
})
return NextResponse.json({"data": bsets},{
status: 200,
});
} else {
return NextResponse.json({"message": "You're not admin."},{
status: 401,
});
}
} else {
return NextResponse.json({"message": "Your token is not valid."},{
status: 401,
});
}
} else {
return NextResponse.json({"message": "You did not provide a token."},{
status: 401,
});
}
} catch (error) {
console.log(error)
return NextResponse.json(
{ error: "Failed, check console" },
{
status: 500,
}
);
}
}