Refactor code structure for improved readability and maintainability
This commit is contained in:
14
backend/dist/src/routes/metadata.js
vendored
14
backend/dist/src/routes/metadata.js
vendored
@@ -40,23 +40,25 @@ const zod_2 = require("zod");
|
||||
const searchMetadataSchema = zod_1.z.object({
|
||||
q: zod_1.z.string().min(1, 'El parámetro de búsqueda es requerido'),
|
||||
platform: zod_1.z.string().optional(),
|
||||
year: zod_1.z.coerce.number().int().min(1900).max(2100).optional(),
|
||||
});
|
||||
async function metadataRoutes(app) {
|
||||
/**
|
||||
* GET /api/metadata/search?q=query&platform=optional
|
||||
* Buscar metadata de juegos
|
||||
* GET /api/metadata/search?q=query&platform=optional&year=optional
|
||||
* Buscar metadata de juegos en múltiples fuentes (IGDB, RAWG, TheGamesDB)
|
||||
*/
|
||||
app.get('/metadata/search', async (request, reply) => {
|
||||
try {
|
||||
// Validar parámetros de query con Zod
|
||||
const validated = searchMetadataSchema.parse(request.query);
|
||||
// Llamar a metadataService
|
||||
const result = await metadataService.enrichGame({
|
||||
// Llamar a metadataService.searchGames para obtener múltiples resultados
|
||||
const results = await metadataService.searchGames({
|
||||
title: validated.q,
|
||||
platform: validated.platform,
|
||||
year: validated.year,
|
||||
});
|
||||
// Si hay resultado, devolver como array; si no, devolver array vacío
|
||||
return reply.code(200).send(result ? [result] : []);
|
||||
// Devolver array de resultados
|
||||
return reply.code(200).send(results);
|
||||
}
|
||||
catch (error) {
|
||||
if (error instanceof zod_2.ZodError) {
|
||||
|
||||
Reference in New Issue
Block a user