fancy-banner. fix #18 #21
@ -51,6 +51,12 @@ router.route("/filter/:term")
|
|||||||
res.json(result).status(200).end();
|
res.json(result).status(200).end();
|
||||||
});
|
});
|
||||||
})
|
})
|
||||||
|
router.route("/random/:count")
|
||||||
|
.get(passport.authenticate("jwt", { session: false }), (req, res) => {
|
||||||
|
database.albums.randomCovers(req.params.count, 64, (result) => {
|
||||||
|
res.json(result).status(200).end();
|
||||||
|
});
|
||||||
|
})
|
||||||
|
|
||||||
router.route("/:id")
|
router.route("/:id")
|
||||||
.get(checkGuest, (req, res) => {
|
.get(checkGuest, (req, res) => {
|
||||||
|
@ -310,4 +310,29 @@ exports.empty = function (callback) {
|
|||||||
.toArray((err, result) => {
|
.toArray((err, result) => {
|
||||||
callback(result.filter(f => !f.tracks || f.tracks.length == 0));
|
callback(result.filter(f => !f.tracks || f.tracks.length == 0));
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
exports.randomCovers = function (count, size, callback) {
|
||||||
|
dbo
|
||||||
|
.collection("albums")
|
||||||
|
.find({ "covers.cover64": { $exists: true } })
|
||||||
|
.project({ "covers.cover64": true })
|
||||||
|
.toArray((err, result) => {
|
||||||
|
let res = [];
|
||||||
|
if (result.length > count) {
|
||||||
|
let i = 0;
|
||||||
|
while (i < count) {
|
||||||
|
let rnd = randomNumber(0, result.length);
|
||||||
|
res.push(result[rnd]);
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
callback(res);
|
||||||
|
} else {
|
||||||
|
callback(result);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
function randomNumber(min, max) {
|
||||||
|
return Math.floor(Math.random() * (max - min) + min);
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user