boredgame/src/routes/game/[id]/+page.server.ts

32 lines
848 B
TypeScript
Raw Normal View History

2022-08-26 05:06:39 +00:00
import { error } from '@sveltejs/kit';
import type { PageServerLoad } from './$types';
import { boardGameApi } from '../../api';
2022-04-20 02:15:46 +00:00
export const load: PageServerLoad = async ({ params, setHeaders }) => {
const queryParams = {
2023-01-08 08:35:40 +00:00
ids: `${params?.id}`,
fields:
'id,name,price,min_age,min_players,max_players,thumb_url,playtime,min_playtime,max_playtime,min_age,description,year_published,image_url'
};
const response = await boardGameApi('get', `search`, queryParams);
if (response.status === 200) {
const gameResponse = await response.json();
2022-08-24 20:36:40 +00:00
setHeaders({
'Cache-Control': 'max-age=3600'
});
2022-04-20 02:15:46 +00:00
2023-01-08 08:35:40 +00:00
const game = gameResponse?.games[0];
game.players = `${game.min_players}-${game.max_players}`;
game.playtime = `${game.min_playtime}-${game.max_playtime}`;
return {
2023-01-08 08:35:40 +00:00
game
};
}
2022-04-20 02:15:46 +00:00
throw error(response.status, 'not found');
2022-07-28 00:05:54 +00:00
};