save-and-restore-progress-for-audio fix #12 #14

Merged
artem merged 2 commits from save-and-restore-progress-for-audio into main 2023-09-19 16:34:09 +02:00
4 changed files with 54 additions and 7 deletions
Showing only changes of commit d7879a654a - Show all commits

View File

@ -10,12 +10,12 @@
"http://localhost"
],
"database": {
"host": "database",
"host": "localhost",
"port": 27017,
"name": "webplay"
},
"redis": {
"host": "redis",
"host": "127.0.0.1",
"port": 6379
},
"album_cover_files": [

View File

@ -137,12 +137,22 @@ router
});
router
.route("/history")
.get(passport.authenticate("jwt", { session: false }), (req, res) => {
database.historyList(req.user._id, result => {
res.json(result).end();
});
.route("/progress")
.post(passport.authenticate("jwt", { session: false }), (req, res) => {
let item = req.body;
item.userId = req.user._id;
database.progress.update(item);
res.status(200).end();
})
.delete(passport.authenticate("jwt", { session: false }), (req, res) => {
let item = req.body;
item.userId = req.user._id;
database.progress.delete(item);
res.status(200).end();
});
router
.route("/history")
.post(passport.authenticate("jwt", { session: false }), (req, res) => {
let item = req.body;
item.userId = req.user._id;
@ -159,6 +169,13 @@ router
});
});
router.route("/progress/:parent")
.get(passport.authenticate("jwt", { session: false }), (req, res) => {
database.progress.get(req.params.parent, result => {
res.json(result).end();
});
})
router
.route("/settings")
.put(passport.authenticate("jwt", { session: false }), (req, res) => {

View File

@ -62,6 +62,9 @@ exports.artists = artists;
const boxes = require("./boxes");
exports.boxes = boxes;
const progress = require("./progress");
exports.progress = progress;
const videos = require("./videos");
exports.videos = videos;

View File

@ -0,0 +1,27 @@
const { ObjectId } = require('mongodb');
const connector = require("./CONNECTOR");
var dbo;
connector.connect().then((ret) => {
dbo = ret;
});
exports.get = function (parentId, callback) {
dbo.collection("progress")
.findOne({ parentId: parentId }, (err, result) => {
if (err) throw err;
callback(result);
});
}
exports.update = function (item) {
dbo.collection("progress").deleteMany({ userId: ObjectId(item.userId), parentId: item.parentId }, () => {
dbo.collection("progress").insertOne(item, (err) => {
if (err) throw err;
});
});
};
exports.delete = function (item) {
dbo.collection("progress").deleteMany({ userId: ObjectId(item.userId), id: item.id }, (err) => {
if (err) throw err;
});
}