diff options
| author | syuilo <syuilotan@yahoo.co.jp> | 2018-09-10 01:51:46 +0900 |
|---|---|---|
| committer | syuilo <syuilotan@yahoo.co.jp> | 2018-09-10 01:51:46 +0900 |
| commit | fd06fd4dc18313100db3f06e771c3c4258f24176 (patch) | |
| tree | b047d851dd8fe65d9b68c96b1dedae63fe2acabe /src/server/api/endpoints/notes/create.ts | |
| parent | Merge pull request #2660 from syuilo/l10n_develop (diff) | |
| download | sharkey-fd06fd4dc18313100db3f06e771c3c4258f24176.tar.gz sharkey-fd06fd4dc18313100db3f06e771c3c4258f24176.tar.bz2 sharkey-fd06fd4dc18313100db3f06e771c3c4258f24176.zip | |
Resolve #2560
Diffstat (limited to 'src/server/api/endpoints/notes/create.ts')
| -rw-r--r-- | src/server/api/endpoints/notes/create.ts | 19 |
1 files changed, 4 insertions, 15 deletions
diff --git a/src/server/api/endpoints/notes/create.ts b/src/server/api/endpoints/notes/create.ts index 47b53c943b..96745132a3 100644 --- a/src/server/api/endpoints/notes/create.ts +++ b/src/server/api/endpoints/notes/create.ts @@ -132,25 +132,14 @@ export default (params: any, user: ILocalUser, app: IApp) => new Promise(async ( let files: IDriveFile[] = []; const fileIds = ps.fileIds != null ? ps.fileIds : ps.mediaIds != null ? ps.mediaIds : null; if (fileIds != null) { - // Fetch files - // forEach だと途中でエラーなどがあっても return できないので - // 敢えて for を使っています。 - for (const fileId of fileIds) { - // Fetch file - // SELECT _id - const entity = await DriveFile.findOne({ + files = await Promise.all(fileIds.map(fileId => { + return DriveFile.findOne({ _id: fileId, 'metadata.userId': user._id }); + })); - if (entity === null) { - return rej('file not found'); - } else { - files.push(entity); - } - } - } else { - files = null; + files = files.filter(file => file != null); } let renote: INote = null; |