Resolve #2165
This commit is contained in:
@ -63,10 +63,12 @@ export default define(meta, (ps, me) => new Promise(async (res, rej) => {
|
||||
};
|
||||
}
|
||||
|
||||
const q =
|
||||
ps.origin == 'local' ? { host: null } :
|
||||
ps.origin == 'remote' ? { host: { $ne: null } } :
|
||||
{};
|
||||
const q = {
|
||||
'metadata.deletedAt': { $exists: false },
|
||||
} as any;
|
||||
|
||||
if (ps.origin == 'local') q['metadata._user.host'] = null;
|
||||
if (ps.origin == 'remote') q['metadata._user.host'] = { $ne: null };
|
||||
|
||||
const files = await File
|
||||
.find(q, {
|
||||
|
@ -32,14 +32,17 @@ export default define(meta, (ps, user) => new Promise(async (res, rej) => {
|
||||
// Fetch file
|
||||
const file = await DriveFile
|
||||
.findOne({
|
||||
_id: ps.fileId,
|
||||
'metadata.userId': user._id
|
||||
_id: ps.fileId
|
||||
});
|
||||
|
||||
if (file === null) {
|
||||
return rej('file-not-found');
|
||||
}
|
||||
|
||||
if (!user.isAdmin && !user.isModerator && !file.metadata.userId.equals(user._id)) {
|
||||
return rej('access denied');
|
||||
}
|
||||
|
||||
// Delete
|
||||
await del(file);
|
||||
|
||||
|
Reference in New Issue
Block a user