feat(#19): Add a basic My Dex page

This commit is contained in:
Josh Creek
2024-04-08 21:09:34 +01:00
parent 23385d2c44
commit 454259d9e7
4 changed files with 102 additions and 27 deletions
+26
View File
@@ -0,0 +1,26 @@
import { json } from '@sveltejs/kit';
import { dbConnect, dbDisconnect } from '$lib/utils/db';
import { type PokedexEntry } from '$lib/models/PokedexEntry';
import PokedexEntryRepository from '$lib/repositories/PokedexEntryRepository';
export const GET = async () => {
return json(await fetchPokeDexEntriesFromDatabase());
};
async function fetchPokeDexEntriesFromDatabase() {
let pokemonData = null as PokedexEntry[] | null;
try {
await dbConnect();
const repo = new PokedexEntryRepository();
pokemonData = await repo.findAll();
// order by pokedexNumber property, ascending
pokemonData = pokemonData.sort((a, b) => a.pokedexNumber - b.pokedexNumber);
} catch (error) {
console.error(error);
} finally {
dbDisconnect();
}
return pokemonData;
}