import { error } from '@sveltejs/kit' import { fetchAPI } from '$utils/api' import { getRandomItems } from 'utils/array' export const load = async ({ setHeaders }) => { try { // Get total of published photos const totalRes = await fetchAPI(`query { photo ( filter: { favorite: { _eq: true }, status: { _eq: "published" }, }, limit: -1, ) { id } }`) const { data: { photo: photosIds } } = totalRes // Get random photos const randomPhotosIds = [...getRandomItems(photosIds, 11)].map(({ id }) => id) // Query these random photos from IDs const photosRes = await fetchAPI(`query { photo (filter: { id: { _in: "${randomPhotosIds}" }}) { slug title city location { name slug country { slug name flag { id } } } image { id } } }`) const { data: { photo: photos } } = photosRes if (photos) { setHeaders({ 'Cache-Control': 'public, max-age=1, stale-while-revalidate=599' }) return { photos, } } } catch (err) { error(500, err.message) } }