import { NextApiRequest, NextApiResponse } from 'next'

export default async function(req: NextApiRequest, res: NextApiResponse) {
    const { LASTFM_USERNAME, LASTFM_API } = process.env

    const { recenttracks: response } = await fetch(`https://ws.audioscrobbler.com/2.0/?method=user.getrecenttracks&user=${LASTFM_USERNAME}&api_key=${LASTFM_API}&format=json&limit=1`).then((res) => res.json())

    const { track } = response
    const { artist, name, url, image } = track[0]

    let nowplaying = Boolean(track[0]['@attr']?.nowplaying)

    if(nowplaying) {
        return res.status(200).json({
            nowplaying, 
            song: {
                artist: artist['#text'], 
                title: name,
                url: url,
                image: image[2]['#text'],
            }
        })
    }

    return res.status(200).json({ nowplaying })
}