diff --git a/config.json b/config.json index 15616a3..ff2d43a 100644 --- a/config.json +++ b/config.json @@ -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": [ diff --git a/router/user.js b/router/user.js index 5ddd66c..37ebb7f 100644 --- a/router/user.js +++ b/router/user.js @@ -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) => { diff --git a/services/database/index.js b/services/database/index.js index 72ed6fe..700e9c5 100644 --- a/services/database/index.js +++ b/services/database/index.js @@ -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; diff --git a/services/database/progress.js b/services/database/progress.js new file mode 100644 index 0000000..704e7c3 --- /dev/null +++ b/services/database/progress.js @@ -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; + }); +} \ No newline at end of file