
const {
    VITE_TRANSPORTE_API: base,
    VITE_TRANSPORTE_USER: user,
    VITE_TRANSPORTE_PASS: password
} = import.meta.env;

export async function load({ url }) {
    const id = url.searchParams.get('id');

    if (!id) return null;

    const token = await getToken() // token de autorizacion
    return await fetchParadero(id, token) // data de dispositivo
}

async function getToken() {
    try {
        const res = await fetch(`${base}/auth/`, {
            method: 'POST',
            body: JSON.stringify({ rut: user, password })
        })
        if (!res.ok) throw await res.text()

        const { token } = await res.json()

        // console.log({ token })
        return token;
    } catch (error) {
        console.log('token',{ error })
    }
}

async function fetchParadero(id, token) {
    try {
        const data = {
            GetInfoDevice: {
                idDispositivo: id,
                KeyAuthorizacion: "token"
            }
        }

        const res = await fetch(`${base}/dispositivos/getInfoDevice/`, {
            method: 'POST',
            body: JSON.stringify(data),
            headers: { "Authorization": `Bearer ${token}`, "Content-Type": "application/json" }
        })

        if (!res.ok) throw await res.text()
        return res.json()

    } catch (error) {
        console.log('paradero',{ error })
    }
}