Compare commits

..

1 Commits
main ... dev

Author SHA1 Message Date
c2817fe0b3 Merge pull request 'main' (#20) from main into dev
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: #20
2023-09-27 15:17:17 +02:00
5 changed files with 14 additions and 53 deletions

View File

@ -51,12 +51,6 @@ 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) => {

View File

@ -96,7 +96,7 @@ router.route("/:id/stream")
router.route("/:id/stream/:rate/:audioIndex") router.route("/:id/stream/:rate/:audioIndex")
.get((req, res) => { .get((req, res) => {
if (!server.lists.video_quality.includes(req.params.rate)) { if (!server.lists.video_quality.includes(req.params.rate)) {
res.end(); req.end();
} }
let video = getFileName(req); let video = getFileName(req);

View File

@ -101,7 +101,7 @@ app.use(fileUpload({
})); }));
const corsOptions = { const corsOptions = {
origin: (origin, callback) => { origin: (origin, callback) => {
if (!origin || config.domain == origin.replace(/:\d*$/g, "") || config.allowed_domains.indexOf(origin.replace(/:\d*$/g, "")) !== -1) { if (!origin || config.allowed_domains.indexOf(origin.replace(/:\d*$/g, "")) !== -1) {
callback(null, true); callback(null, true);
} else { } else {
database.system.domains((domains) => { database.system.domains((domains) => {

View File

@ -310,27 +310,4 @@ 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) => {
if (result.length > count) {
let res = [];
while (count-- > 0) {
let rnd = randomNumber(0, result.length);
res.push(result[rnd]);
}
callback(res);
} else {
callback(result);
}
})
}
function randomNumber(min, max) {
return Math.floor(Math.random() * (max - min) + min);
}

View File

@ -97,27 +97,17 @@ exports.mostListened = function (filter, callback) {
} }
}, { $match: { "album.visibility": { $in: filter } } }); }, { $match: { "album.visibility": { $in: filter } } });
} else { } else {
dbo.collection("history") aggregate.unshift({ $match: { type: 'track' } });
.find()
.project({ _id: true })
.sort({ _id: -1 })
.limit(1000)
.toArray((err, ids) => {
let arr = ids.map(h => h._id);
aggregate.unshift({ $match: { type: 'track', _id: { $in: arr } } });
aggregate.push({ $sort: { counter: -1 } }, { $limit: 6 })
dbo
.collection("history")
.aggregate(aggregate, {
allowDiskUse: true
})
.toArray((err, result) => {
if (err) throw err;
callback(result);
});
});
} }
aggregate.push({ $sort: { counter: -1, _id: -1 } }, { $limit: 6 })
dbo
.collection("history")
.aggregate(aggregate, {
allowDiskUse: true
})
.toArray((err, result) => {
if (err) throw err;
callback(result);
});
}; };