mirror of
https://github.com/BradNut/boredgame
synced 2025-09-08 17:40:22 +00:00
61 lines
1.4 KiB
TypeScript
61 lines
1.4 KiB
TypeScript
import type { GameType, SavedGameType } from '$lib/types';
|
|
import kebabCase from 'just-kebab-case';
|
|
import type { Games } from '$db/schema';
|
|
|
|
export function convertToSavedGame(game: GameType | SavedGameType): SavedGameType {
|
|
return {
|
|
id: game.id,
|
|
name: game.name,
|
|
thumb_url: game.thumb_url,
|
|
players: game.players,
|
|
playtime: game.playtime,
|
|
searchTerms: `${game.name.toLowerCase()}`,
|
|
};
|
|
}
|
|
|
|
export function mapSavedGameToGame(game: SavedGameType): GameType {
|
|
const { id, name, thumb_url, players, playtime } = game;
|
|
console.log({ id, name, thumb_url, players, playtime });
|
|
|
|
return {
|
|
id,
|
|
handle: '',
|
|
name,
|
|
url: '',
|
|
edit_url: '',
|
|
thumb_url,
|
|
image_url: '',
|
|
price: 0,
|
|
price_ca: 0,
|
|
price_uk: 0,
|
|
price_au: 0,
|
|
msrp: 0,
|
|
year_published: new Date().getFullYear(),
|
|
min_players: 0,
|
|
max_players: 0,
|
|
min_playtime: 0,
|
|
max_playtime: 0,
|
|
min_age: 0,
|
|
description: '',
|
|
description_preview: '',
|
|
players,
|
|
playtime,
|
|
};
|
|
}
|
|
|
|
export function mapAPIGameToBoredGame(game: GameType): Games {
|
|
// TODO: Fix types
|
|
return {
|
|
name: game.name,
|
|
slug: kebabCase(game.name),
|
|
thumb_url: game.thumbnail,
|
|
image_url: game.image,
|
|
year_published: game.year_published,
|
|
min_players: game.min_players,
|
|
max_players: game.max_players,
|
|
min_playtime: game.min_playtime,
|
|
max_playtime: game.max_playtime,
|
|
min_age: game.min_age,
|
|
description: game.description,
|
|
};
|
|
}
|