diff options
| author | syuilo <Syuilotan@yahoo.co.jp> | 2019-02-22 11:46:58 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-02-22 11:46:58 +0900 |
| commit | 2756f553c68082342a784ef716c62da6cea6f3ca (patch) | |
| tree | 1e0364ca9ddc1fd88e311f0687746f44e007effd /src/server/api/endpoints/mute | |
| parent | Update CHANGELOG.md (diff) | |
| download | misskey-2756f553c68082342a784ef716c62da6cea6f3ca.tar.gz misskey-2756f553c68082342a784ef716c62da6cea6f3ca.tar.bz2 misskey-2756f553c68082342a784ef716c62da6cea6f3ca.zip | |
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
* :v:
* Fix
Diffstat (limited to 'src/server/api/endpoints/mute')
| -rw-r--r-- | src/server/api/endpoints/mute/create.ts | 33 | ||||
| -rw-r--r-- | src/server/api/endpoints/mute/delete.ts | 33 | ||||
| -rw-r--r-- | src/server/api/endpoints/mute/list.ts | 11 |
3 files changed, 57 insertions, 20 deletions
diff --git a/src/server/api/endpoints/mute/create.ts b/src/server/api/endpoints/mute/create.ts index d25887fb45..166900e62f 100644 --- a/src/server/api/endpoints/mute/create.ts +++ b/src/server/api/endpoints/mute/create.ts @@ -3,6 +3,7 @@ import ID, { transform } from '../../../../misc/cafy-id'; import User from '../../../../models/user'; import Mute from '../../../../models/mute'; import define from '../../define'; +import { ApiError } from '../../error'; export const meta = { desc: { @@ -23,15 +24,35 @@ export const meta = { 'en-US': 'Target user ID' } }, + }, + + errors: { + noSuchUser: { + message: 'No such user.', + code: 'NO_SUCH_USER', + id: '6fef56f3-e765-4957-88e5-c6f65329b8a5' + }, + + muteeIsYourself: { + message: 'Mutee is yourself.', + code: 'MUTEE_IS_YOURSELF', + id: 'a4619cb2-5f23-484b-9301-94c903074e10' + }, + + alreadyMuting: { + message: 'You are already muting that user.', + code: 'ALREADY_MUTING', + id: '7e7359cb-160c-4956-b08f-4d1c653cd007' + }, } }; -export default define(meta, (ps, user) => new Promise(async (res, rej) => { +export default define(meta, async (ps, user) => { const muter = user; // 自分自身 if (user._id.equals(ps.userId)) { - return rej('mutee is yourself'); + throw new ApiError(meta.errors.muteeIsYourself); } // Get mutee @@ -45,7 +66,7 @@ export default define(meta, (ps, user) => new Promise(async (res, rej) => { }); if (mutee === null) { - return rej('user not found'); + throw new ApiError(meta.errors.noSuchUser); } // Check if already muting @@ -55,7 +76,7 @@ export default define(meta, (ps, user) => new Promise(async (res, rej) => { }); if (exist !== null) { - return rej('already muting'); + throw new ApiError(meta.errors.alreadyMuting); } // Create mute @@ -65,5 +86,5 @@ export default define(meta, (ps, user) => new Promise(async (res, rej) => { muteeId: mutee._id, }); - res(); -})); + return; +}); diff --git a/src/server/api/endpoints/mute/delete.ts b/src/server/api/endpoints/mute/delete.ts index 4c59ede6d2..1d74c45ef1 100644 --- a/src/server/api/endpoints/mute/delete.ts +++ b/src/server/api/endpoints/mute/delete.ts @@ -3,6 +3,7 @@ import ID, { transform } from '../../../../misc/cafy-id'; import User from '../../../../models/user'; import Mute from '../../../../models/mute'; import define from '../../define'; +import { ApiError } from '../../error'; export const meta = { desc: { @@ -23,15 +24,35 @@ export const meta = { 'en-US': 'Target user ID' } }, + }, + + errors: { + noSuchUser: { + message: 'No such user.', + code: 'NO_SUCH_USER', + id: 'b851d00b-8ab1-4a56-8b1b-e24187cb48ef' + }, + + muteeIsYourself: { + message: 'Mutee is yourself.', + code: 'MUTEE_IS_YOURSELF', + id: 'f428b029-6b39-4d48-a1d2-cc1ae6dd5cf9' + }, + + notMuting: { + message: 'You are not muting that user.', + code: 'NOT_MUTING', + id: '5467d020-daa9-4553-81e1-135c0c35a96d' + }, } }; -export default define(meta, (ps, user) => new Promise(async (res, rej) => { +export default define(meta, async (ps, user) => { const muter = user; // Check if the mutee is yourself if (user._id.equals(ps.userId)) { - return rej('mutee is yourself'); + throw new ApiError(meta.errors.muteeIsYourself); } // Get mutee @@ -45,7 +66,7 @@ export default define(meta, (ps, user) => new Promise(async (res, rej) => { }); if (mutee === null) { - return rej('user not found'); + throw new ApiError(meta.errors.noSuchUser); } // Check not muting @@ -55,7 +76,7 @@ export default define(meta, (ps, user) => new Promise(async (res, rej) => { }); if (exist === null) { - return rej('already not muting'); + throw new ApiError(meta.errors.notMuting); } // Delete mute @@ -63,5 +84,5 @@ export default define(meta, (ps, user) => new Promise(async (res, rej) => { _id: exist._id }); - res(); -})); + return; +}); diff --git a/src/server/api/endpoints/mute/list.ts b/src/server/api/endpoints/mute/list.ts index ffe1f971d5..84699c2373 100644 --- a/src/server/api/endpoints/mute/list.ts +++ b/src/server/api/endpoints/mute/list.ts @@ -31,12 +31,7 @@ export const meta = { } }; -export default define(meta, (ps, me) => new Promise(async (res, rej) => { - // Check if both of sinceId and untilId is specified - if (ps.sinceId && ps.untilId) { - return rej('cannot set sinceId and untilId'); - } - +export default define(meta, async (ps, me) => { const query = { muterId: me._id } as any; @@ -62,5 +57,5 @@ export default define(meta, (ps, me) => new Promise(async (res, rej) => { sort: sort }); - res(await packMany(mutes, me)); -})); + return await packMany(mutes, me); +}); |