File size: 807 Bytes
7d29959
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6233641
8feb641
6233641
7d29959
367cfe2
 
7d29959
 
6233641
 
 
 
7d29959
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
import { cookies } from "next/headers"

export async function GET() {
  const cookie = cookies().get("auth_hf_token")

  if (!cookie) return Response.json({ status: 401, ok: false, message: "Unauthorized" });

  const request = await fetch("https://huggingface.co./oauth/userinfo", {
    method: "GET",
    headers: {
      Authorization: `Bearer ${cookie.value}`,
    },
  })

  const res = await request.clone().json().catch(() => ({}));
  // @ts-ignore
  const HF_ADMIN = process?.env?.HF_ADMIN?.split(',') ?? []
  const is_admin = res?.sub ? HF_ADMIN.includes(res?.sub) : false

  if (!res?.sub) return Response.json({ status: 401, ok: false, message: "Unauthorized" });

  return Response.json(
    {
      user: {
        ...res,
        is_admin,
      },
      status: 200,
      ok: true
    }
  )
}