File size: 1,064 Bytes
26cbf65
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
/**
 * Controladores del modulo de lista de seguimiento (watchlist).
 *
 * Responsabilidades:
 *   - add(req, res)    → anade un mercado a la watchlist con umbral de alerta opcional.
 *   - remove(req, res) → elimina un mercado de la watchlist.
 *   - list(req, res)   → devuelve la watchlist del usuario autenticado.
 *
 * Endpoints (bajo /api/v1/watchlist, protegidos por requireAuth):
 *   POST /              → anadir mercado.
 *   GET /               → listar watchlist.
 *   DELETE /:marketId   → eliminar mercado.
 */

import { ok, created, noContent } from '../utils/apiResponse.js';
import { watchlistService } from './watchlist.service.js';

export const watchlistController = {
  async add(req, res) {
    const entry = await watchlistService.add(req.user.id, req.body);
    created(res, entry);
  },

  async remove(req, res) {
    await watchlistService.remove(req.user.id, req.params.marketId);
    noContent(res);
  },

  async list(req, res) {
    const entries = await watchlistService.list(req.user.id);
    ok(res, entries);
  },
};