diff options
Diffstat (limited to 'src/server/api/endpoints/blocking/create.ts')
| -rw-r--r-- | src/server/api/endpoints/blocking/create.ts | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/server/api/endpoints/blocking/create.ts b/src/server/api/endpoints/blocking/create.ts index 1bf5cf374b..4deaa39974 100644 --- a/src/server/api/endpoints/blocking/create.ts +++ b/src/server/api/endpoints/blocking/create.ts @@ -43,6 +43,12 @@ export const meta = { code: 'ALREADY_BLOCKING', id: '787fed64-acb9-464a-82eb-afbd745b9614' }, + + cannotBlockModerator: { + message: 'Cannot block a moderator or an admin.', + code: 'CANNOT_BLOCK_MODERATOR', + id: '8544aaef-89fb-e470-9f6c-385d38b474f5' + } }, res: { @@ -76,8 +82,12 @@ export default define(meta, async (ps, user) => { throw new ApiError(meta.errors.alreadyBlocking); } - // Create blocking - await create(blocker, blockee); + try { + await create(blocker, blockee); + } catch (e) { + if (e.id === 'e42b7890-5e4d-9d9c-d54b-cf4dd30adfb5') throw new ApiError(meta.errors.cannotBlockModerator); + throw e; + } NoteWatchings.delete({ userId: blocker.id, |