Files
supabase/apps/studio/pages/api/get-deployment-commit.ts
Raúl Barroso 29ee6a2992 style: use GitHub's right product name (#38099)
* style: use GitHub's right product name

* fix: use correct kotlin provider
2025-08-22 13:43:47 +02:00

41 lines
1.2 KiB
TypeScript

import { NextApiRequest, NextApiResponse } from 'next'
async function getCommitTime(commitSha: string) {
try {
const response = await fetch(`https://github.com/supabase/supabase/commit/${commitSha}.json`, {
headers: {
Accept: 'application/json',
},
})
if (!response.ok) {
throw new Error('Failed to fetch commit details')
}
const data = await response.json()
return new Date(data.payload.commit.committedDate).toISOString()
} catch (error) {
console.error('Error fetching commit time:', error)
return 'unknown'
}
}
export default async function handler(
req: NextApiRequest,
res: NextApiResponse<{ commitSha: string; commitTime: string }>
) {
// Set cache control headers for 10 minutes so that we don't get banned by GitHub API
res.setHeader('Cache-Control', 's-maxage=600')
// Get the build commit SHA from Vercel environment variable
const commitSha = process.env.VERCEL_GIT_COMMIT_SHA || 'development'
// Only fetch commit time if we have a valid SHA
const commitTime = commitSha !== 'development' ? await getCommitTime(commitSha) : 'unknown'
res.status(200).json({
commitSha,
commitTime,
})
}