Improve error handling of API (#4345)
* wip
* wip
* wip
* Update attached_notes.ts
* wip
* Refactor
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* Update call.ts
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* ✌️
* Fix
This commit is contained in:
parent
fc52e95ad0
commit
2756f553c6
181 changed files with 2010 additions and 1322 deletions
|
@ -5,6 +5,7 @@ import { validateFileName, pack } from '../../../../../models/drive-file';
|
|||
import create from '../../../../../services/drive/add-file';
|
||||
import define from '../../../define';
|
||||
import { apiLogger } from '../../../logger';
|
||||
import { ApiError } from '../../../error';
|
||||
|
||||
export const meta = {
|
||||
desc: {
|
||||
|
@ -51,10 +52,18 @@ export const meta = {
|
|||
'ja-JP': 'true にすると、同じハッシュを持つファイルが既にアップロードされていても強制的にファイルを作成します。',
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
errors: {
|
||||
invalidFileName: {
|
||||
message: 'Invalid file name.',
|
||||
code: 'INVALID_FILE_NAME',
|
||||
id: 'f449b209-0c60-4e51-84d5-29486263bfd4'
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
export default define(meta, (ps, user, app, file, cleanup) => new Promise(async (res, rej) => {
|
||||
export default define(meta, async (ps, user, app, file, cleanup) => {
|
||||
// Get 'name' parameter
|
||||
let name = file.originalname;
|
||||
if (name !== undefined && name !== null) {
|
||||
|
@ -64,7 +73,7 @@ export default define(meta, (ps, user, app, file, cleanup) => new Promise(async
|
|||
} else if (name === 'blob') {
|
||||
name = null;
|
||||
} else if (!validateFileName(name)) {
|
||||
return rej('invalid name');
|
||||
throw new ApiError(meta.errors.invalidFileName);
|
||||
}
|
||||
} else {
|
||||
name = null;
|
||||
|
@ -73,15 +82,11 @@ export default define(meta, (ps, user, app, file, cleanup) => new Promise(async
|
|||
try {
|
||||
// Create file
|
||||
const driveFile = await create(user, file.path, name, null, ps.folderId, ps.force, false, null, null, ps.isSensitive);
|
||||
|
||||
cleanup();
|
||||
|
||||
res(pack(driveFile, { self: true }));
|
||||
return pack(driveFile, { self: true });
|
||||
} catch (e) {
|
||||
apiLogger.error(e);
|
||||
|
||||
throw new ApiError();
|
||||
} finally {
|
||||
cleanup();
|
||||
|
||||
rej(e);
|
||||
}
|
||||
}));
|
||||
});
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue