import { Octokit } from '@octokit/rest'
import { redirect } from 'next/navigation'

const octokit = new Octokit()

export default async function Download() {
  const res = await fetch('https://api.github.com/repos/jmorganca/ollama/releases', { next: { revalidate: 60 } })
  const data = await res.json()

  if (data.length === 0) {
    return new Response('not found', { status: 404 })
  }

  const latest = data[0]
  const assets = latest.assets || []

  if (assets.length === 0) {
    return new Response('not found', { status: 404 })
  }

  // todo: get the correct asset for the current arch/os
  const asset = assets.find(
    (a: any) => a.name.toLowerCase().includes('darwin') && a.name.toLowerCase().includes('.zip')
  )

  if (!asset) {
    return new Response('not found', { status: 404 })
  }

  if (asset) {
    redirect(asset.browser_download_url)
  }

  return null
}
