73 lines
1.9 KiB
JavaScript
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;
|