This commit is contained in:
@@ -8,11 +8,12 @@ const checkGuest = server.checkGuest;
|
||||
const resize_image_for_album = require("../services/cover/resizer").resize_image_for_album
|
||||
|
||||
const router = new express.Router();
|
||||
const { ObjectId } = require('mongodb');
|
||||
|
||||
router.route("/favourites")
|
||||
.get(passport.authenticate("jwt", { session: false }), (req, res) => {
|
||||
database.albums.favourites(req.user._id, result => {
|
||||
res.json(result).end();
|
||||
res.json(result).status(200).end();
|
||||
});
|
||||
})
|
||||
|
||||
@@ -25,7 +26,7 @@ router.route("/page/:page")
|
||||
}
|
||||
database.albums.collection(req.params.page, filter, result => {
|
||||
process.stdout.write("router/album GET albums page " + req.params.page + " DB result\n");
|
||||
res.json(result);
|
||||
res.json(result).status(200).end();
|
||||
});
|
||||
});
|
||||
|
||||
@@ -38,7 +39,7 @@ router.route("/newest/:count")
|
||||
}
|
||||
database.albums.newest(parseInt(req.params.count), filter, result => {
|
||||
process.stdout.write("router/album GET newest " + req.params.count + " DB result\n");
|
||||
res.json(result);
|
||||
res.json(result).status(200).end();
|
||||
});
|
||||
});
|
||||
|
||||
@@ -47,7 +48,7 @@ router.route("/filter/:term")
|
||||
process.stdout.write("router/album GET filter by term " + req.params.term + "\n");
|
||||
database.albums.filter(req.params.term, result => {
|
||||
process.stdout.write("router/album GET filter by term " + req.params.term + " DB result\n");
|
||||
res.json(result);
|
||||
res.json(result).status(200).end();
|
||||
});
|
||||
})
|
||||
|
||||
@@ -60,7 +61,7 @@ router.route("/:id")
|
||||
}
|
||||
database.albums.byId(req.params.id, filter, result => {
|
||||
process.stdout.write("router/album GET album by id " + req.params.id + " DB result\n");
|
||||
res.json(result);
|
||||
res.json(result).status(200).end();
|
||||
});
|
||||
})
|
||||
.put(passport.authenticate("jwt", { session: false }), (req, res) => {
|
||||
@@ -76,7 +77,7 @@ router.route("/:id/cover")
|
||||
if (req.files.file) {
|
||||
resize_image_for_album(req.files.file.data, (result) => {
|
||||
database.albums.updateCovers({ _id: req.params.id }, result);
|
||||
res.json(result);
|
||||
res.json(result).status(200).end();
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -105,7 +106,6 @@ router.route("/:id/move")
|
||||
database.albums.delete(source, () => {
|
||||
res.status(200).end();
|
||||
});
|
||||
|
||||
} else {
|
||||
res.status(403).end();
|
||||
}
|
||||
@@ -118,18 +118,38 @@ router.route("/:id/move")
|
||||
|
||||
router.route("/:id/share")
|
||||
.post(passport.authenticate("jwt", { session: false }), (req, res) => {
|
||||
database.albums.byId(req.body.source, undefined, (result) => {
|
||||
let album_id = req.params.id
|
||||
process.stdout.write("router/album POST albums share " + album_id + "\n");
|
||||
database.albums.byId(album_id, undefined, (result) => {
|
||||
if (result != undefined && req.user.roles.indexOf("admin") > -1) {
|
||||
process.write("Add shared abum");
|
||||
database.share.exists(album_id, result => {
|
||||
if (result == null) {
|
||||
let item = {
|
||||
user_id: req.user._id,
|
||||
object_id: new ObjectId(album_id),
|
||||
type: "album"
|
||||
}
|
||||
database.share.add(item, (result) => {
|
||||
res.json(result).status(200).end();
|
||||
});
|
||||
} else {
|
||||
res.json(result).status(200).end();
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
})
|
||||
.delete(passport.authenticate("jwt", { session: false }), (req, res) => {
|
||||
database.albums.byId(req.body.source, undefined, (result) => {
|
||||
if (result != undefined && req.user.roles.indexOf("admin") > -1) {
|
||||
process.write("Delete shared abum");
|
||||
let album_id = req.params.id
|
||||
if (req.user.roles.indexOf("admin") > -1) {
|
||||
let item = {
|
||||
object_id: new ObjectId(album_id),
|
||||
type: "album"
|
||||
}
|
||||
});
|
||||
database.share.delete(item, () => {
|
||||
res.status(200).end();
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
module.exports = router;
|
||||
@@ -8,6 +8,7 @@ const checkGuest = server.checkGuest;
|
||||
const resize_image_for_box = require("../services/cover/resizer").resize_image_for_box
|
||||
|
||||
const router = new express.Router();
|
||||
const { ObjectId } = require('mongodb');
|
||||
|
||||
router.route("/favourites")
|
||||
.get(passport.authenticate("jwt", { session: false }), (req, res) => {
|
||||
@@ -44,6 +45,15 @@ router
|
||||
});
|
||||
});
|
||||
|
||||
router.route("/filter/:term")
|
||||
.get(passport.authenticate("jwt", { session: false }), (req, res) => {
|
||||
process.stdout.write("router/boxes GET filter by term " + req.params.term + "\n");
|
||||
database.boxes.filter(req.params.term, result => {
|
||||
process.stdout.write("router/boxes GET filter by term " + req.params.term + " DB result\n");
|
||||
res.json(result);
|
||||
});
|
||||
})
|
||||
|
||||
router
|
||||
.route("/:id")
|
||||
.get(checkGuest, (req, res) => {
|
||||
@@ -63,14 +73,6 @@ router
|
||||
res.end();
|
||||
});
|
||||
|
||||
router.route("/filter/:term")
|
||||
.get(passport.authenticate("jwt", { session: false }), (req, res) => {
|
||||
process.stdout.write("router/boxes GET filter by term " + req.params.term + "\n");
|
||||
database.boxes.filter(req.params.term, result => {
|
||||
process.stdout.write("router/boxes GET filter by term " + req.params.term + " DB result\n");
|
||||
res.json(result);
|
||||
});
|
||||
})
|
||||
|
||||
router.route("/:id/cover")
|
||||
.put(passport.authenticate("jwt", { session: false }), (req, res) => {
|
||||
@@ -115,4 +117,43 @@ router.route("/:id/move")
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
router.route("/:id/share")
|
||||
.post(passport.authenticate("jwt", { session: false }), (req, res) => {
|
||||
let box_id = req.params.id
|
||||
process.stdout.write("router/box POST box share " + box_id + "\n");
|
||||
database.boxes.byId(box_id, undefined, (result) => {
|
||||
if (result != undefined && req.user.roles.indexOf("admin") > -1) {
|
||||
database.share.exists(box_id, result => {
|
||||
if (result == null) {
|
||||
let item = {
|
||||
user_id: req.user._id,
|
||||
object_id: new ObjectId(box_id),
|
||||
type: "box"
|
||||
}
|
||||
database.share.add(item, (result) => {
|
||||
res.json(result).status(200).end();
|
||||
});
|
||||
} else {
|
||||
res.json(result).status(200).end();
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
})
|
||||
.delete(passport.authenticate("jwt", { session: false }), (req, res) => {
|
||||
let box_id = req.params.id
|
||||
if (req.user.roles.indexOf("admin") > -1) {
|
||||
let item = {
|
||||
object_id: new ObjectId(box_id),
|
||||
type: "box"
|
||||
}
|
||||
database.share.delete(item, () => {
|
||||
res.status(200).end();
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
|
||||
module.exports = router;
|
||||
|
||||
Reference in New Issue
Block a user