Files
falah-mobile/src/app/api/prayer/times/route.ts
T

38 lines
1.2 KiB
TypeScript
Raw Normal View History

import { NextRequest, NextResponse } from 'next/server'
// Proxies aladhan.com — free, no API key required
export async function GET(req: NextRequest) {
const { searchParams } = new URL(req.url)
const lat = searchParams.get('lat')
const lng = searchParams.get('lng')
const method = searchParams.get('method') || '3' // MWL
if (!lat || !lng) return NextResponse.json({ error: 'lat and lng required' }, { status: 400 })
try {
const res = await fetch(
`https://api.aladhan.com/v1/timings?latitude=${lat}&longitude=${lng}&method=${method}`,
{ signal: AbortSignal.timeout(8000) }
)
if (!res.ok) return NextResponse.json({ error: 'Prayer times unavailable' }, { status: 502 })
const data = await res.json()
const timings = data.data?.timings
const date = data.data?.date
return NextResponse.json({
timings: {
Fajr: timings?.Fajr,
Sunrise: timings?.Sunrise,
Dhuhr: timings?.Dhuhr,
Asr: timings?.Asr,
Maghrib: timings?.Maghrib,
Isha: timings?.Isha,
},
hijri: date?.hijri,
gregorian: date?.gregorian,
})
} catch {
return NextResponse.json({ error: 'Prayer times unavailable' }, { status: 502 })
}
}