Files
vinlottis/api/controllers/historyController.js

93 lines
1.9 KiB
JavaScript

const path = require("path");
const historyRepository = require(path.join(__dirname, "../history"));
const all = (req, res) => {
return historyRepository
.all()
.then(lotteries =>
res.send({
lotteries: lotteries,
success: true
})
)
.catch(error => {
const { statusCode, message } = error;
return res.status(statusCode || 500).send({
success: false,
message: message || "Unable to fetch history."
});
});
};
const latest = (req, res) => {
return historyRepository
.latest()
.then(lottery =>
res.send({
lottery: lottery,
success: true
})
)
.catch(error => {
const { statusCode, message } = error;
return res.status(statusCode || 500).send({
success: false,
message: message || "Unable to fetch latest history."
});
});
};
const byDate = (req, res) => {
let { date } = req.params;
date = new Date(new Date(parseInt(date)).setHours(0, 0, 0, 0)).getTime();
return historyRepository
.byEpochDate(date)
.then(winners =>
res.send({
date: date,
winners: winners,
success: true
})
)
.catch(error => {
const { statusCode, message } = error;
return res.status(statusCode || 500).send({
success: false,
message: message || "Unable to fetch history for date."
});
});
};
const byName = (req, res) => {
const { name } = req.params;
return historyRepository
.byName(name)
.then(lotteries =>
res.send({
name: name,
lotteries: lotteries,
success: true
})
)
.catch(error => {
const { statusCode, message } = error;
return res.status(statusCode || 500).send({
success: false,
message: message || "Unable to fetch history for name."
});
});
};
module.exports = {
all,
latest,
byDate,
byName
};