28 lines
1.2 KiB
JavaScript
28 lines
1.2 KiB
JavaScript
const express = require('express');
|
|
const { validate } = require('../../middleware/validation');
|
|
const { createBetSchema, updateBetSchema } = require('../../shared/validators/schemas/bet.schema');
|
|
|
|
module.exports = ({ betsController }) => {
|
|
const router = express.Router();
|
|
|
|
const controller = {
|
|
getUserBets: (req, res, next) => betsController.getUserBets(req, res, next),
|
|
getPublicBets: (req, res, next) => betsController.getPublicBets(req, res, next),
|
|
getAllBets: (req, res, next) => betsController.getAllBets(req, res, next),
|
|
getBetById: (req, res, next) => betsController.getBetById(req, res, next),
|
|
createBet: (req, res, next) => betsController.createBet(req, res, next),
|
|
updateBet: (req, res, next) => betsController.updateBet(req, res, next),
|
|
deleteBet: (req, res, next) => betsController.deleteBet(req, res, next),
|
|
};
|
|
|
|
router.get('/user', controller.getUserBets);
|
|
router.get('/public', controller.getPublicBets);
|
|
router.get('/', controller.getAllBets);
|
|
router.get('/:id', controller.getBetById);
|
|
router.post('/', validate(createBetSchema), controller.createBet);
|
|
router.put('/:id', validate(updateBetSchema), controller.updateBet);
|
|
router.delete('/:id', controller.deleteBet);
|
|
|
|
return router;
|
|
};
|