wwf
2025-05-20 938c3e5a587ce950a94964ea509b9e7f8834dfae
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
33
34
35
36
import { type NextRequest, NextResponse } from 'next/server'
import { Octokit } from '@octokit/core'
import { RequestError } from '@octokit/request-error'
import { GITHUB_ACCESS_TOKEN } from '@/config'
 
type Params = {
  owner: string,
  repo: string,
}
 
const octokit = new Octokit({
  auth: GITHUB_ACCESS_TOKEN,
})
 
export async function GET(
  request: NextRequest,
  { params }: { params: Promise<Params> },
) {
  const { owner, repo } = (await params)
  try {
    const releasesRes = await octokit.request('GET /repos/{owner}/{repo}/releases', {
      owner,
      repo,
      headers: {
        'X-GitHub-Api-Version': '2022-11-28',
      },
    })
    return NextResponse.json(releasesRes)
  }
  catch (error) {
    if (error instanceof RequestError)
      return NextResponse.json(error.response)
    else
      throw error
  }
}