hermes-web/lib/validate-api.ts
2023-12-30 10:56:40 +00:00

44 lines
957 B
TypeScript

import { getServerSession } from "next-auth";
import { db } from "./db";
export default async function fetchUserUsingAPI(req: Request) {
const session = await getServerSession()
console.log("server session:", session)
if (session) {
const user = await db.user.findFirst({
where: {
username: session.user?.name?.toLowerCase() as string
}
})
return {
id: user?.id,
username: user?.username
}
}
const token = req.headers?.get('x-api-key')
console.log("x-api-key:", token)
if (token === null || token === undefined)
return null
const key = await db.apiKey.findFirst({
where: {
id: token as string
}
})
const user = await db.user.findFirst({
where: {
id: key?.userId
}
})
console.log("user:", user)
return {
id: user?.id,
username: user?.username
}
}