MOre sms, and automatic choser
This commit is contained in:
@@ -1,7 +1,7 @@
|
|||||||
let client;
|
let client;
|
||||||
try {
|
try {
|
||||||
const redis = require("redis");
|
const redis = require("redis");
|
||||||
console.log("trying to create");
|
console.log("trying to create redis");
|
||||||
client = redis.createClient();
|
client = redis.createClient();
|
||||||
client.on("error", function(err) {
|
client.on("error", function(err) {
|
||||||
client.quit();
|
client.quit();
|
||||||
|
|||||||
@@ -11,16 +11,13 @@ const mustBeAuthenticated = require(path.join(
|
|||||||
__dirname + "/../middleware/mustBeAuthenticated"
|
__dirname + "/../middleware/mustBeAuthenticated"
|
||||||
));
|
));
|
||||||
|
|
||||||
|
const _wineFunctions = require(path.join(__dirname + "/../api/wine"));
|
||||||
|
const _personFunctions = require(path.join(__dirname + "/../api/person"));
|
||||||
const Subscription = require(path.join(__dirname + "/../schemas/Subscription"));
|
const Subscription = require(path.join(__dirname + "/../schemas/Subscription"));
|
||||||
const Purchase = require(path.join(__dirname + "/../schemas/Purchase"));
|
const Purchase = require(path.join(__dirname + "/../schemas/Purchase"));
|
||||||
const Wine = require(path.join(__dirname + "/../schemas/Wine"));
|
|
||||||
const PreLotteryWine = require(path.join(
|
const PreLotteryWine = require(path.join(
|
||||||
__dirname + "/../schemas/PreLotteryWine"
|
__dirname + "/../schemas/PreLotteryWine"
|
||||||
));
|
));
|
||||||
const VirtualWinner = require(path.join(
|
|
||||||
__dirname + "/../schemas/VirtualWinner"
|
|
||||||
));
|
|
||||||
const Highscore = require(path.join(__dirname + "/../schemas/Highscore"));
|
|
||||||
|
|
||||||
router.use((req, res, next) => {
|
router.use((req, res, next) => {
|
||||||
next();
|
next();
|
||||||
@@ -86,53 +83,10 @@ router.route("/log").post(mustBeAuthenticated, async (req, res) => {
|
|||||||
for (let i = 0; i < winnersBody.length; i++) {
|
for (let i = 0; i < winnersBody.length; i++) {
|
||||||
let currentWinner = winnersBody[i];
|
let currentWinner = winnersBody[i];
|
||||||
|
|
||||||
let wonWine = await Wine.findOne({ name: currentWinner.wine.name });
|
let wonWine = await _wineFunctions.findSaveWine(currentWinner);
|
||||||
if (wonWine == undefined) {
|
|
||||||
let newWonWine = new Wine({
|
|
||||||
name: currentWinner.wine.name,
|
|
||||||
vivinoLink: currentWinner.wine.vivinoLink,
|
|
||||||
rating: currentWinner.wine.rating,
|
|
||||||
occurences: 1,
|
|
||||||
image: currentWinner.wine.image,
|
|
||||||
id: currentWinner.wine.id
|
|
||||||
});
|
|
||||||
await newWonWine.save();
|
|
||||||
wonWine = newWonWine;
|
|
||||||
} else {
|
|
||||||
wonWine.occurences += 1;
|
|
||||||
wonWine.image = currentWinner.wine.image;
|
|
||||||
wonWine.id = currentWinner.wine.id;
|
|
||||||
await wonWine.save();
|
|
||||||
}
|
|
||||||
|
|
||||||
winesThisDate.push(wonWine);
|
winesThisDate.push(wonWine);
|
||||||
|
|
||||||
const person = await Highscore.findOne({
|
await _personFunctions.findSavePerson(currentWinner, wonWine);
|
||||||
name: currentWinner.name
|
|
||||||
});
|
|
||||||
|
|
||||||
if (person == undefined) {
|
|
||||||
let newPerson = new Highscore({
|
|
||||||
name: currentWinner.name,
|
|
||||||
wins: [
|
|
||||||
{
|
|
||||||
color: currentWinner.color,
|
|
||||||
date: date,
|
|
||||||
wine: wonWine
|
|
||||||
}
|
|
||||||
]
|
|
||||||
});
|
|
||||||
|
|
||||||
await newPerson.save();
|
|
||||||
} else {
|
|
||||||
person.wins.push({
|
|
||||||
color: currentWinner.color,
|
|
||||||
date: date,
|
|
||||||
wine: wonWine
|
|
||||||
});
|
|
||||||
person.markModified("wins");
|
|
||||||
await person.save();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
let purchase = new Purchase({
|
let purchase = new Purchase({
|
||||||
|
|||||||
@@ -7,12 +7,12 @@ mongoose.connect("mongodb://localhost:27017/vinlottis", {
|
|||||||
useNewUrlParser: true
|
useNewUrlParser: true
|
||||||
});
|
});
|
||||||
|
|
||||||
|
const _wineFunctions = require(path.join(__dirname + "/../api/wine"));
|
||||||
|
const _personFunctions = require(path.join(__dirname + "/../api/person"));
|
||||||
const Message = require(path.join(__dirname + "/../api/message"));
|
const Message = require(path.join(__dirname + "/../api/message"));
|
||||||
const VirtualWinner = require(path.join(
|
const VirtualWinner = require(path.join(
|
||||||
__dirname + "/../schemas/VirtualWinner"
|
__dirname + "/../schemas/VirtualWinner"
|
||||||
));
|
));
|
||||||
const Highscore = require(path.join(__dirname + "/../schemas/Highscore"));
|
|
||||||
const Wine = require(path.join(__dirname + "/../schemas/Wine"));
|
|
||||||
const PreLotteryWine = require(path.join(
|
const PreLotteryWine = require(path.join(
|
||||||
__dirname + "/../schemas/PreLotteryWine"
|
__dirname + "/../schemas/PreLotteryWine"
|
||||||
));
|
));
|
||||||
@@ -86,63 +86,19 @@ router.route("/:id").post(async (req, res) => {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
let wonWine = await Wine.findOne({ name: prelotteryWine.name });
|
let wonWine = await _wineFunctions.findSaveWine(prelotteryWine);
|
||||||
if (wonWine == undefined) {
|
|
||||||
let newWonWine = new Wine({
|
|
||||||
name: prelotteryWine.name,
|
|
||||||
vivinoLink: prelotteryWine.vivinoLink,
|
|
||||||
rating: prelotteryWine.rating,
|
|
||||||
occurences: 1,
|
|
||||||
image: prelotteryWine.image,
|
|
||||||
id: prelotteryWine.id
|
|
||||||
});
|
|
||||||
await newWonWine.save();
|
|
||||||
wonWine = newWonWine;
|
|
||||||
} else {
|
|
||||||
wonWine.occurences += 1;
|
|
||||||
wonWine.image = prelotteryWine.image;
|
|
||||||
wonWine.id = prelotteryWine.id;
|
|
||||||
await wonWine.save();
|
|
||||||
}
|
|
||||||
|
|
||||||
await prelotteryWine.delete();
|
await prelotteryWine.delete();
|
||||||
|
await _personFunctions.findSavePerson(foundWinner, wonWine);
|
||||||
const person = await Highscore.findOne({
|
|
||||||
name: foundWinner.name
|
|
||||||
});
|
|
||||||
|
|
||||||
if (person == undefined) {
|
|
||||||
let newPerson = new Highscore({
|
|
||||||
name: foundWinner.name,
|
|
||||||
wins: [
|
|
||||||
{
|
|
||||||
color: foundWinner.color,
|
|
||||||
date: date,
|
|
||||||
wine: wonWine
|
|
||||||
}
|
|
||||||
]
|
|
||||||
});
|
|
||||||
|
|
||||||
await newPerson.save();
|
|
||||||
} else {
|
|
||||||
person.wins.push({
|
|
||||||
color: foundWinner.color,
|
|
||||||
date: date,
|
|
||||||
wine: wonWine
|
|
||||||
});
|
|
||||||
person.markModified("wins");
|
|
||||||
await person.save();
|
|
||||||
}
|
|
||||||
|
|
||||||
await foundWinner.delete();
|
await foundWinner.delete();
|
||||||
|
|
||||||
let prelotteryWine = await PreLotteryWine.find();
|
let nextWineBottle = await PreLotteryWine.find();
|
||||||
let nextWinner = await VirtualWinner.find().sort({ timestamp_drawn: 1 });
|
let nextWinner = await VirtualWinner.find().sort({ timestamp_drawn: 1 });
|
||||||
if (nextWinner.length > 1 && prelotteryWine.length > 1) {
|
if (nextWinner.length > 1 && nextWineBottle.length > 1) {
|
||||||
Message.sendMessage(nextWinner[0]);
|
Message.sendMessage(nextWinner[0]);
|
||||||
startTimeout(id);
|
startTimeout(id);
|
||||||
} else if (nextWinner.length == 1 && prelotteryWine.length == 1) {
|
} else if (nextWinner.length == 1 && nextWineBottle.length == 1) {
|
||||||
chooseForUser(nextWinner[0], prelotteryWine[0]);
|
chooseForUser(nextWinner[0], nextWineBottle[0]);
|
||||||
}
|
}
|
||||||
|
|
||||||
res.json({
|
res.json({
|
||||||
@@ -154,51 +110,8 @@ router.route("/:id").post(async (req, res) => {
|
|||||||
async function chooseForUser(winner, prelotteryWine) {
|
async function chooseForUser(winner, prelotteryWine) {
|
||||||
let date = new Date();
|
let date = new Date();
|
||||||
date.setHours(5, 0, 0, 0);
|
date.setHours(5, 0, 0, 0);
|
||||||
let wonWine = await Wine.findOne({ name: prelotteryWine.name });
|
let wonWine = await _wineFunctions.findSaveWine(prelotteryWine);
|
||||||
if (wonWine == undefined) {
|
await _personFunctions.findSavePerson(winner, wonWine);
|
||||||
let newWonWine = new Wine({
|
|
||||||
name: prelotteryWine.name,
|
|
||||||
vivinoLink: prelotteryWine.vivinoLink,
|
|
||||||
rating: prelotteryWine.rating,
|
|
||||||
occurences: 1,
|
|
||||||
image: prelotteryWine.image,
|
|
||||||
id: prelotteryWine.id
|
|
||||||
});
|
|
||||||
await newWonWine.save();
|
|
||||||
wonWine = newWonWine;
|
|
||||||
} else {
|
|
||||||
wonWine.occurences += 1;
|
|
||||||
wonWine.image = prelotteryWine.image;
|
|
||||||
wonWine.id = prelotteryWine.id;
|
|
||||||
await wonWine.save();
|
|
||||||
}
|
|
||||||
|
|
||||||
const person = await Highscore.findOne({
|
|
||||||
name: winner.name
|
|
||||||
});
|
|
||||||
|
|
||||||
if (person == undefined) {
|
|
||||||
let newPerson = new Highscore({
|
|
||||||
name: winner.name,
|
|
||||||
wins: [
|
|
||||||
{
|
|
||||||
color: winner.color,
|
|
||||||
date: date,
|
|
||||||
wine: wonWine
|
|
||||||
}
|
|
||||||
]
|
|
||||||
});
|
|
||||||
|
|
||||||
await newPerson.save();
|
|
||||||
} else {
|
|
||||||
person.wins.push({
|
|
||||||
color: winner.color,
|
|
||||||
date: date,
|
|
||||||
wine: wonWine
|
|
||||||
});
|
|
||||||
person.markModified("wins");
|
|
||||||
await person.save();
|
|
||||||
}
|
|
||||||
|
|
||||||
await prelotteryWine.delete();
|
await prelotteryWine.delete();
|
||||||
Message.sendWonWineMessage(winner, prelotteryWine);
|
Message.sendWonWineMessage(winner, prelotteryWine);
|
||||||
|
|||||||
Reference in New Issue
Block a user