Files
2026-04-01 23:49:19 +02:00

73 lines
1.9 KiB
JavaScript

const ResponseHandler = require('../shared/response.handler');
class BetsController {
constructor({ betsService }) {
this.betsService = betsService;
}
async getUserBets(req, res, next) {
try {
const bets = await this.betsService.getUserBets(req.userId);
return ResponseHandler.success(res, bets, 'User bets retrieved successfully');
} catch (error) {
next(error);
}
}
async getPublicBets(req, res, next) {
try {
const bets = await this.betsService.getPublicBetsExcludingUser(req.userId);
return ResponseHandler.success(res, bets, 'Public bets retrieved successfully');
} catch (error) {
next(error);
}
}
async getAllBets(req, res, next) {
try {
const bets = await this.betsService.getAllBets();
return ResponseHandler.success(res, bets, 'Bets retrieved successfully');
} catch (error) {
next(error);
}
}
async getBetById(req, res, next) {
try {
const bet = await this.betsService.getBetById(req.params.id);
return ResponseHandler.success(res, bet, 'Bet retrieved successfully');
} catch (error) {
next(error);
}
}
async createBet(req, res, next) {
try {
const bet = await this.betsService.createBet(req.body);
return ResponseHandler.created(res, bet, 'Bet created successfully');
} catch (error) {
next(error);
}
}
async updateBet(req, res, next) {
try {
const bet = await this.betsService.updateBet(req.params.id, req.body);
return ResponseHandler.success(res, bet, 'Bet updated successfully');
} catch (error) {
next(error);
}
}
async deleteBet(req, res, next) {
try {
await this.betsService.deleteBet(req.params.id);
return ResponseHandler.success(res, null, 'Bet deleted successfully');
} catch (error) {
next(error);
}
}
}
module.exports = BetsController;