add covers into shared items #5

Merged
artem merged 2 commits from dev into main 2023-02-17 22:15:10 +01:00
4 changed files with 11 additions and 9 deletions

View File

@ -120,14 +120,15 @@ router.route("/:id/share")
.post(passport.authenticate("jwt", { session: false }), (req, res) => { .post(passport.authenticate("jwt", { session: false }), (req, res) => {
let album_id = req.params.id let album_id = req.params.id
process.stdout.write("router/album POST albums share " + album_id + "\n"); process.stdout.write("router/album POST albums share " + album_id + "\n");
database.albums.byId(album_id, undefined, (result) => { database.albums.byId(album_id, undefined, (album) => {
if (result != undefined && req.user.roles.indexOf("admin") > -1) { if (album != undefined && req.user.roles.indexOf("admin") > -1) {
database.share.exists(album_id, result => { database.share.exists(album_id, result => {
if (result == null) { if (result == null) {
let item = { let item = {
user_id: req.user._id, user_id: req.user._id,
object_id: new ObjectId(album_id), object_id: new ObjectId(album_id),
type: "album" type: "album",
cover: album.covers.cover32
} }
database.share.add(item, (result) => { database.share.add(item, (result) => {
res.json(result).status(200).end(); res.json(result).status(200).end();

View File

@ -122,14 +122,15 @@ router.route("/:id/share")
.post(passport.authenticate("jwt", { session: false }), (req, res) => { .post(passport.authenticate("jwt", { session: false }), (req, res) => {
let box_id = req.params.id let box_id = req.params.id
process.stdout.write("router/box POST box share " + box_id + "\n"); process.stdout.write("router/box POST box share " + box_id + "\n");
database.boxes.byId(box_id, undefined, (result) => { database.boxes.byId(box_id, undefined, (box) => {
if (result != undefined && req.user.roles.indexOf("admin") > -1) { if (box != undefined && req.user.roles.indexOf("admin") > -1) {
database.share.exists(box_id, result => { database.share.exists(box_id, result => {
if (result == null) { if (result == null) {
let item = { let item = {
user_id: req.user._id, user_id: req.user._id,
object_id: new ObjectId(box_id), object_id: new ObjectId(box_id),
type: "box" type: "box",
cover: box.covers.cover32
} }
database.share.add(item, (result) => { database.share.add(item, (result) => {
res.json(result).status(200).end(); res.json(result).status(200).end();

View File

@ -15,7 +15,6 @@ let box_project = {
"videos.box_id": false, "videos.box_id": false,
"videos.mime": false, "videos.mime": false,
path: false, path: false,
"covers.cover32": false,
} }
} }
let boxes_project = { let boxes_project = {

View File

@ -45,6 +45,7 @@ exports.byId = function (id, callback) {
exports.collection = function (callback) { exports.collection = function (callback) {
dbo.collection("shares") dbo.collection("shares")
.find({}) .find({})
.sort({ type: 1 })
.toArray((err, result) => { .toArray((err, result) => {
if (err) throw err; if (err) throw err;
cb(callback, result); cb(callback, result);
@ -55,7 +56,7 @@ exports.exists = function (object_id, callback) {
dbo.collection("shares") dbo.collection("shares")
.findOne({ object_id: ObjectId(object_id) }) .findOne({ object_id: ObjectId(object_id) })
.then(result => { .then(result => {
callback(result); cp(callback, result);
}); });
} }
@ -74,7 +75,7 @@ exports.add = function (item, callback) {
]) ])
.toArray((err, result) => { .toArray((err, result) => {
if (err) throw err; if (err) throw err;
callback(result[0]); cp(callback, result[0]);
}) })
} }
}); });