Rm from lottery.js attendee has own repo and ctrl.
This commit is contained in:
81
api/attendee.js
Normal file
81
api/attendee.js
Normal file
@@ -0,0 +1,81 @@
|
|||||||
|
const path = require("path");
|
||||||
|
|
||||||
|
const Attendee = require(path.join(__dirname, "/schemas/Attendee"));
|
||||||
|
const { UserNotFound } = require(path.join(__dirname, "/vinlottisErrors"));
|
||||||
|
|
||||||
|
const redactAttendeeInfoMapper = attendee => {
|
||||||
|
return {
|
||||||
|
name: attendee.name,
|
||||||
|
raffles: attendee.red + attendee.blue + attendee.yellow + attendee.green,
|
||||||
|
red: attendee.red,
|
||||||
|
blue: attendee.blue,
|
||||||
|
green: attendee.green,
|
||||||
|
yellow: attendee.yellow
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
const allAttendees = (isAdmin = false) => {
|
||||||
|
if (!isAdmin) {
|
||||||
|
return Attendee.find().then(attendees => attendees.map(redactAttendeeInfoMapper));
|
||||||
|
} else {
|
||||||
|
return Attendee.find();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
const addAttendee = attendee => {
|
||||||
|
const { name, red, blue, green, yellow, phoneNumber } = attendee;
|
||||||
|
|
||||||
|
let newAttendee = new Attendee({
|
||||||
|
name,
|
||||||
|
red,
|
||||||
|
blue,
|
||||||
|
green,
|
||||||
|
yellow,
|
||||||
|
phoneNumber,
|
||||||
|
winner: false
|
||||||
|
});
|
||||||
|
|
||||||
|
return newAttendee.save().then(_ => newAttendee);
|
||||||
|
};
|
||||||
|
|
||||||
|
const updateAttendeeById = (id, updateModel) => {
|
||||||
|
return Attendee.findOne({ _id: id }).then(attendee => {
|
||||||
|
if (attendee == null) {
|
||||||
|
throw new UserNotFound();
|
||||||
|
}
|
||||||
|
|
||||||
|
const updatedAttendee = {
|
||||||
|
name: updateModel.name != null ? updateModel.name : attendee.name,
|
||||||
|
green: updateModel.green != null ? updateModel.green : attendee.green,
|
||||||
|
red: updateModel.red != null ? updateModel.red : attendee.red,
|
||||||
|
blue: updateModel.blue != null ? updateModel.blue : attendee.blue,
|
||||||
|
yellow: updateModel.yellow != null ? updateModel.yellow : attendee.yellow,
|
||||||
|
phoneNumber: updateModel.phoneNumber != null ? updateModel.phoneNumber : attendee.phoneNumber,
|
||||||
|
winner: updateModel.winner != null ? updateModel.winner : attendee.winner
|
||||||
|
};
|
||||||
|
|
||||||
|
return Attendee.updateOne({ _id: id }, updatedAttendee).then(_ => updatedAttendee);
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
const deleteAttendeeById = id => {
|
||||||
|
return Attendee.findOne({ _id: id }).then(attendee => {
|
||||||
|
if (attendee == null) {
|
||||||
|
throw new UserNotFound();
|
||||||
|
}
|
||||||
|
|
||||||
|
return Attendee.deleteOne({ _id: id }).then(_ => attendee);
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
const deleteAttendees = () => {
|
||||||
|
return Attendee.deleteMany();
|
||||||
|
};
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
allAttendees,
|
||||||
|
addAttendee,
|
||||||
|
updateAttendeeById,
|
||||||
|
deleteAttendeeById,
|
||||||
|
deleteAttendees
|
||||||
|
};
|
||||||
@@ -1,10 +1,10 @@
|
|||||||
const path = require("path");
|
const path = require("path");
|
||||||
const lotteryRepository = require(path.join(__dirname, "../lottery"));
|
const attendeeRepository = require(path.join(__dirname, "../attendee"));
|
||||||
|
|
||||||
const allAttendees = (req, res) => {
|
const allAttendees = (req, res) => {
|
||||||
const isAdmin = req.isAuthenticated();
|
const isAdmin = req.isAuthenticated() || true;
|
||||||
|
|
||||||
return lotteryRepository
|
return attendeeRepository
|
||||||
.allAttendees(isAdmin)
|
.allAttendees(isAdmin)
|
||||||
.then(attendees =>
|
.then(attendees =>
|
||||||
res.send({
|
res.send({
|
||||||
@@ -41,17 +41,18 @@ const addAttendee = (req, res) => {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
return lotteryRepository
|
return attendeeRepository
|
||||||
.addAttendee(attendee)
|
.addAttendee(attendee)
|
||||||
.then(savedAttendee => {
|
.then(savedAttendee => {
|
||||||
var io = req.app.get("socketio");
|
var io = req.app.get("socketio");
|
||||||
io.emit("new_attendee", {});
|
io.emit("new_attendee", {});
|
||||||
return true;
|
return savedAttendee;
|
||||||
})
|
})
|
||||||
.then(success =>
|
.then(savedAttendee =>
|
||||||
res.send({
|
res.send({
|
||||||
|
attendee: savedAttendee,
|
||||||
message: `Successfully added attendee ${attendee.name} to lottery.`,
|
message: `Successfully added attendee ${attendee.name} to lottery.`,
|
||||||
success: success
|
success: true
|
||||||
})
|
})
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
@@ -60,7 +61,7 @@ const updateAttendeeById = (req, res) => {
|
|||||||
const { id } = req.params;
|
const { id } = req.params;
|
||||||
const { attendee } = req.body;
|
const { attendee } = req.body;
|
||||||
|
|
||||||
return lotteryRepository
|
return attendeeRepository
|
||||||
.updateAttendeeById(id, attendee)
|
.updateAttendeeById(id, attendee)
|
||||||
.then(updatedAttendee => {
|
.then(updatedAttendee => {
|
||||||
var io = req.app.get("socketio");
|
var io = req.app.get("socketio");
|
||||||
@@ -87,7 +88,7 @@ const updateAttendeeById = (req, res) => {
|
|||||||
const deleteAttendeeById = (req, res) => {
|
const deleteAttendeeById = (req, res) => {
|
||||||
const { id } = req.params;
|
const { id } = req.params;
|
||||||
|
|
||||||
return lotteryRepository
|
return attendeeRepository
|
||||||
.deleteAttendeeById(id)
|
.deleteAttendeeById(id)
|
||||||
.then(removedAttendee => {
|
.then(removedAttendee => {
|
||||||
var io = req.app.get("socketio");
|
var io = req.app.get("socketio");
|
||||||
@@ -111,7 +112,7 @@ const deleteAttendeeById = (req, res) => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const deleteAttendees = (req, res) => {
|
const deleteAttendees = (req, res) => {
|
||||||
return lotteryRepository
|
return attendeeRepository
|
||||||
.deleteAttendees()
|
.deleteAttendees()
|
||||||
.then(removedAttendee => {
|
.then(removedAttendee => {
|
||||||
var io = req.app.get("socketio");
|
var io = req.app.get("socketio");
|
||||||
|
|||||||
Reference in New Issue
Block a user