Make admin can delete any note

This commit is contained in:
syuilo 2018-09-19 17:29:03 +09:00
parent 7576569dc9
commit faf29b768f
No known key found for this signature in database
GPG Key ID: BDC4C49D06AB9D69
2 changed files with 10 additions and 2 deletions

View File

@ -33,12 +33,16 @@ export default Vue.extend({
text: '%i18n:@pin%',
action: this.pin
});
}
if (this.note.userId == this.$store.state.i.id || this.$store.state.i.isAdmin) {
items.push({
icon: '%fa:trash-alt R%',
text: '%i18n:@delete%',
action: this.del
});
}
if (this.note.uri) {
items.push({
icon: '%fa:external-link-square-alt%',
@ -48,6 +52,7 @@ export default Vue.extend({
}
});
}
return items;
}
},

View File

@ -21,14 +21,17 @@ export default (params: any, user: ILocalUser) => new Promise(async (res, rej) =
// Fetch note
const note = await Note.findOne({
_id: noteId,
userId: user._id
_id: noteId
});
if (note === null) {
return rej('note not found');
}
if (!user.isAdmin && !note.userId.equals(user._id)) {
return rej('access denied');
}
await deleteNote(user, note);
res();