Skip to content

Commit 7fef2a0

Browse files
committed
fix(api): fix topThreeUsers endpoint 404 issue
1 parent 9d67b77 commit 7fef2a0

2 files changed

Lines changed: 25 additions & 12 deletions

File tree

pages/api/topThreeUsers.js

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,35 +5,45 @@ import {
55
import { fetchTopThreeUsersByPullRequests } from '../../utils/fetchTopThreeUsersByPullRequests'
66

77
export default async function handler(req, res) {
8+
res.setTimeout(30000);
9+
810
res.setHeader('Access-Control-Allow-Origin', '*')
911
res.setHeader('Access-Control-Allow-Methods', 'GET')
1012
res.setHeader('Access-Control-Allow-Headers', 'Content-Type')
1113
res.setHeader('Cache-Control', 'public, max-age=300')
1214

1315
try {
14-
const message = 'API: Checking DB for cached top three users...'
15-
console.log(message)
16-
res.setHeader('X-Debug-Message', message)
16+
console.log('API: Starting request processing')
17+
console.log('GitHub Token present:', !!process.env.GITHUB_TOKEN)
1718

1819
let data = await getTopThreeUsersFromDb()
20+
console.log('DB Data found:', !!data)
1921

2022
if (!data) {
21-
console.log('No cached data found, fetching from GitHub...')
23+
console.log('Fetching from GitHub...')
2224
data = await fetchTopThreeUsersByPullRequests('fork-commit-merge/fork-commit-merge')
25+
console.log('GitHub data fetched:', !!data)
2326

2427
if (data && data.length > 0) {
2528
await storeTopThreeUsersInDb(data)
29+
console.log('Data stored in DB')
2630
}
2731
}
2832

2933
if (!data || data.length === 0) {
34+
console.log('No data available')
3035
return res.status(404).json({ error: 'No data available' })
3136
}
3237

38+
console.log('Returning data:', data.length, 'items')
3339
return res.status(200).json(data)
3440
} catch (error) {
3541
console.error('API route error:', error)
36-
return res.status(500).json({ error: 'Internal Server Error' })
42+
console.error('Stack trace:', error.stack)
43+
return res.status(500).json({
44+
error: 'Internal Server Error',
45+
message: error.message,
46+
stack: process.env.NODE_ENV === 'development' ? error.stack : undefined
47+
})
3748
}
3849
}
39-

utils/fetchTopThreeUsersByPullRequests.ts

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,22 +5,26 @@ export async function fetchTopThreeUsersByPullRequests(repoPath: string) {
55
}
66

77
if (process.env.GITHUB_TOKEN) {
8-
headers.Authorization = `token ${process.env.GITHUB_TOKEN}`
9-
console.log('Token present and being used') // Debug log
8+
headers.Authorization = `Bearer ${process.env.GITHUB_TOKEN}`
9+
console.log('Token present and being used')
1010
} else {
11-
console.log('No GitHub token found') // Debug log
11+
console.log('No GitHub token found')
1212
}
1313

1414
const testUrl = `https://api.github.com/repos/${repoPath}/pulls?state=closed&per_page=100`
1515

16-
// Test the token
1716
const testResponse = await fetch(testUrl, { headers })
17+
console.log('GitHub API Response Status:', testResponse.status)
18+
1819
if (!testResponse.ok) {
20+
const responseText = await testResponse.text()
1921
console.error('GitHub API Error:', {
2022
status: testResponse.status,
2123
statusText: testResponse.statusText,
22-
headers: Object.fromEntries(testResponse.headers)
24+
headers: Object.fromEntries(testResponse.headers),
25+
body: responseText
2326
})
27+
throw new Error(`GitHub API Error: ${testResponse.status} ${testResponse.statusText}`)
2428
}
2529

2630
let url: string | null = `https://api.github.com/repos/fork-commit-merge/fork-commit-merge/pulls?state=closed&per_page=100`
@@ -101,4 +105,3 @@ export async function fetchTopThreeUsersByPullRequests(repoPath: string) {
101105
throw error
102106
}
103107
}
104-

0 commit comments

Comments
 (0)