diff --git a/src/routes/api/games/floriferous.json.ts b/src/routes/api/games/floriferous.json.ts deleted file mode 100644 index cfeceb8..0000000 --- a/src/routes/api/games/floriferous.json.ts +++ /dev/null @@ -1,51 +0,0 @@ -import { MONGO_URL, MONGO_DB_NAME, API_PASSWORD } from '$env/static/private'; -import type { RequestHandler, RequestHandlerOutput } from '@sveltejs/kit'; - -import { MongodbFloriferousGameRepository } from '../../../lib/floriferous/mongodb-floriferous-game-repository'; -import { FloriferousApiController } from '../../../lib/floriferous/floriferous-api-controller'; -import { SimplePasswordAuthenticator } from '../../../lib/simple-password-authenticator'; - -export const GET: RequestHandler = async (): Promise => { - const controller = new FloriferousApiController( - new MongodbFloriferousGameRepository(MONGO_URL, MONGO_DB_NAME), - new SimplePasswordAuthenticator(API_PASSWORD) - ); - - const response = await controller.getRecentGames(10); - - return { - status: 200, - body: JSON.stringify(response) - }; -}; - -export const POST: RequestHandler = async ({ request }) => { - const controller = new FloriferousApiController( - new MongodbFloriferousGameRepository(MONGO_URL, MONGO_DB_NAME), - new SimplePasswordAuthenticator(API_PASSWORD) - ); - - const isAuthenticated = controller.isRequestAuthenticated(request); - - if (!isAuthenticated) { - return { - status: 401, - body: 'Unauthorized' - }; - } - - try { - const requestBody = await request.json(); - const response = await controller.createNewGame(requestBody); - - return { - status: 200, - body: JSON.parse(JSON.stringify(response)) - }; - } catch (e) { - return { - status: 500, - body: JSON.stringify(e) - }; - } -}; diff --git a/src/routes/api/games/floriferous.json/+server.ts b/src/routes/api/games/floriferous.json/+server.ts new file mode 100644 index 0000000..e1a534e --- /dev/null +++ b/src/routes/api/games/floriferous.json/+server.ts @@ -0,0 +1,51 @@ +import { MONGO_URL, MONGO_DB_NAME, API_PASSWORD } from '$env/static/private'; +import type { error } from '@sveltejs/kit'; +import type { RequestHandler } from './$types'; + +import { MongodbFloriferousGameRepository } from '$lib/floriferous/mongodb-floriferous-game-repository'; +import { FloriferousApiController } from '$lib/floriferous/floriferous-api-controller'; +import { SimplePasswordAuthenticator } from '$lib/simple-password-authenticator'; +import { + FloriferousGameApiPort, + type FloriferousGameJson +} from '$lib/floriferous/floriferous-game-api-port'; + +export const GET: RequestHandler = async () => { + const controller = new FloriferousApiController( + new MongodbFloriferousGameRepository(MONGO_URL, MONGO_DB_NAME), + new SimplePasswordAuthenticator(API_PASSWORD) + ); + + const response = await controller.getRecentGames(10); + + return new Response(JSON.stringify(response), { status: 200 }); +}; + +export const POST = async ({ request }) => { + const controller = new FloriferousApiController( + new MongodbFloriferousGameRepository(MONGO_URL, MONGO_DB_NAME), + new SimplePasswordAuthenticator(API_PASSWORD) + ); + + const isAuthenticated = controller.isRequestAuthenticated(request); + + if (!isAuthenticated) { + return { + status: 401, + body: 'Unauthorized' + }; + } + + try { + const requestBody = await request.json(); + const response = await controller.createNewGame(requestBody); + + return new Response(JSON.stringify(response), { + status: 200 + }); + } catch (e) { + return new Response(JSON.stringify(e), { + status: 500 + }); + } +}; diff --git a/src/routes/games/floriferous/index.svelte b/src/routes/games/floriferous/+page.svelte similarity index 88% rename from src/routes/games/floriferous/index.svelte rename to src/routes/games/floriferous/+page.svelte index 3e471de..129dd7d 100644 --- a/src/routes/games/floriferous/index.svelte +++ b/src/routes/games/floriferous/+page.svelte @@ -1,20 +1,7 @@ - -