Add excludeNsfw option
This commit is contained in:
@ -4,6 +4,7 @@ import DriveFile, { validateFileName, pack } from '../../../../../models/drive-f
|
||||
import { publishDriveStream } from '../../../../../stream';
|
||||
import { ILocalUser } from '../../../../../models/user';
|
||||
import getParams from '../../../get-params';
|
||||
import Note from '../../../../../models/note';
|
||||
|
||||
export const meta = {
|
||||
desc: {
|
||||
@ -93,6 +94,18 @@ export default (params: any, user: ILocalUser) => new Promise(async (res, rej) =
|
||||
}
|
||||
});
|
||||
|
||||
// ドライブのファイルが非正規化されているドキュメントも更新
|
||||
Note.find({
|
||||
'_files._id': file._id
|
||||
}).then(notes => {
|
||||
notes.forEach(note => {
|
||||
note._files[note._files.findIndex(f => f._id.equals(file._id))] = file;
|
||||
Note.findOneAndUpdate({ _id: note._id }, {
|
||||
_files: note._files
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
// Serialize
|
||||
const fileObj = await pack(file);
|
||||
|
||||
|
@ -30,6 +30,13 @@ export const meta = {
|
||||
}
|
||||
}),
|
||||
|
||||
excludeNsfw: $.bool.optional.note({
|
||||
default: false,
|
||||
desc: {
|
||||
'ja-JP': 'true にすると、NSFW指定されたファイルを除外します(fileTypeが指定されている場合のみ有効)'
|
||||
}
|
||||
}),
|
||||
|
||||
limit: $.num.optional.range(1, 100).note({
|
||||
default: 10
|
||||
}),
|
||||
@ -97,6 +104,12 @@ export default async (params: any, user: ILocalUser) => {
|
||||
query['_files.contentType'] = {
|
||||
$in: ps.fileType
|
||||
};
|
||||
|
||||
if (ps.excludeNsfw) {
|
||||
query['_files.metadata.isSensitive'] = {
|
||||
$ne: true
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
if (ps.sinceId) {
|
||||
|
Reference in New Issue
Block a user