polysignal_hackaton / backend /src /markets /markets.controller.js
blackmistcode's picture
Add files using upload-large-folder tool
dfe11f8 verified
/**
* Controladores del modulo de mercados.
*
* Responsabilidades:
* - list(req, res) → listado paginado y filtrado de mercados activos.
* - getById(req, res) → detalle de un mercado por su ID nativo de Polymarket.
*
* Datos expuestos:
* - id, question, category, countryCode, yesPrice, noPrice,
* volumeEur, liquidityEur, status, closesAt, lastSynced.
*
* Errores:
* - 404 NOT_FOUND si el mercado no existe.
*/
import { ok } from '../utils/apiResponse.js';
import { marketsService } from './markets.service.js';
export const marketsController = {
async list(req, res) {
const { limit, offset, category, status } = req.query;
const { data, total } = await marketsService.list({ limit, offset, category, status });
ok(res, data, { total, limit, offset });
},
async getById(req, res) {
const market = await marketsService.getById(req.params.id);
ok(res, market);
},
async getPriceHistory(req, res) {
const { interval } = req.query;
const history = await marketsService.getPriceHistory(req.params.id, interval);
ok(res, history);
},
};