tracks visible for all

This commit is contained in:
hpcwoess 2020-08-16 23:23:18 +02:00
parent d3a1c9edcc
commit 1ab316c774
4 changed files with 18 additions and 9 deletions

View file

@ -36,8 +36,7 @@ TrackSchema.methods.toJSONFor = function(user){
description: this.description, description: this.description,
createdAt: this.createdAt, createdAt: this.createdAt,
updatedAt: this.updatedAt, updatedAt: this.updatedAt,
points: this.points, visibleForAll: this.author ? this.author.areTracksVisibleForAll : false,
visibleForAll: user ? user.areTracksVisibleForAll : false,
author: this.author.toProfileJSONFor(user) author: this.author.toProfileJSONFor(user)
}; };
}; };

View file

@ -47,6 +47,7 @@ UserSchema.methods.toAuthJSON = function(){
token: this.generateJWT(), token: this.generateJWT(),
bio: this.bio, bio: this.bio,
image: this.image, image: this.image,
areTracksVisibleForAll: this.areTracksVisibleForAll,
apiKey: this._id apiKey: this._id
}; };
}; };
@ -79,9 +80,9 @@ UserSchema.methods.isFavorite = function(id){
}); });
}; };
//UserSchema.methods.areTracksVisibleForAll = function(id){ UserSchema.methods.isTrackVisible = function(id){
// return this.areTracksVisibleForAll(); return this.areTracksVisibleForAll();
//}; };
UserSchema.methods.follow = function(id){ UserSchema.methods.follow = function(id){

View file

@ -188,12 +188,18 @@ router.get('/', auth.optional, function(req, res, next) {
var tracksCount = results[1]; var tracksCount = results[1];
var user = results[2]; var user = results[2];
//console.log(tracks); //console.log(tracks);
var retTracks = [];
for (t of tracks) {
console.log(t);
if (t.author.areTracksVisibleForAll || t.author == user) {
retTracks.push(t);
}
}
return res.json({ return res.json({
tracks: tracks.map(function(track){ tracks: retTracks.map(function(track){
return track.toJSONFor(user); return track.toJSONFor(user);
}), }),
tracksCount: tracksCount tracksCount: retTracks.length
}); });
}); });
}).catch(next); }).catch(next);

View file

@ -29,6 +29,9 @@ router.put('/user', auth.required, function(req, res, next){
if(typeof req.body.user.image !== 'undefined'){ if(typeof req.body.user.image !== 'undefined'){
user.image = req.body.user.image; user.image = req.body.user.image;
} }
if(typeof req.body.user.areTracksVisibleForAll !== 'undefined'){
user.areTracksVisibleForAll = req.body.user.areTracksVisibleForAll;
}
if(typeof req.body.user.password !== 'undefined'){ if(typeof req.body.user.password !== 'undefined'){
user.setPassword(req.body.user.password); user.setPassword(req.body.user.password);
} }