diff options
| author | syuilo <Syuilotan@yahoo.co.jp> | 2021-11-12 02:02:25 +0900 |
|---|---|---|
| committer | syuilo <Syuilotan@yahoo.co.jp> | 2021-11-12 02:02:25 +0900 |
| commit | 0e4a111f81cceed275d9bec2695f6e401fb654d8 (patch) | |
| tree | 40874799472fa07416f17b50a398ac33b7771905 /src/server/api/endpoints/blocking | |
| parent | update deps (diff) | |
| download | sharkey-0e4a111f81cceed275d9bec2695f6e401fb654d8.tar.gz sharkey-0e4a111f81cceed275d9bec2695f6e401fb654d8.tar.bz2 sharkey-0e4a111f81cceed275d9bec2695f6e401fb654d8.zip | |
refactoring
Resolve #7779
Diffstat (limited to 'src/server/api/endpoints/blocking')
| -rw-r--r-- | src/server/api/endpoints/blocking/create.ts | 89 | ||||
| -rw-r--r-- | src/server/api/endpoints/blocking/delete.ts | 85 | ||||
| -rw-r--r-- | src/server/api/endpoints/blocking/list.ts | 49 |
3 files changed, 0 insertions, 223 deletions
diff --git a/src/server/api/endpoints/blocking/create.ts b/src/server/api/endpoints/blocking/create.ts deleted file mode 100644 index 2953252394..0000000000 --- a/src/server/api/endpoints/blocking/create.ts +++ /dev/null @@ -1,89 +0,0 @@ -import $ from 'cafy'; -import { ID } from '@/misc/cafy-id'; -import * as ms from 'ms'; -import create from '@/services/blocking/create'; -import define from '../../define'; -import { ApiError } from '../../error'; -import { getUser } from '../../common/getters'; -import { Blockings, NoteWatchings, Users } from '@/models/index'; - -export const meta = { - tags: ['account'], - - limit: { - duration: ms('1hour'), - max: 100 - }, - - requireCredential: true as const, - - kind: 'write:blocks', - - params: { - userId: { - validator: $.type(ID), - } - }, - - errors: { - noSuchUser: { - message: 'No such user.', - code: 'NO_SUCH_USER', - id: '7cc4f851-e2f1-4621-9633-ec9e1d00c01e' - }, - - blockeeIsYourself: { - message: 'Blockee is yourself.', - code: 'BLOCKEE_IS_YOURSELF', - id: '88b19138-f28d-42c0-8499-6a31bbd0fdc6' - }, - - alreadyBlocking: { - message: 'You are already blocking that user.', - code: 'ALREADY_BLOCKING', - id: '787fed64-acb9-464a-82eb-afbd745b9614' - }, - }, - - res: { - type: 'object' as const, - optional: false as const, nullable: false as const, - ref: 'User' - } -}; - -export default define(meta, async (ps, user) => { - const blocker = await Users.findOneOrFail(user.id); - - // 自分自身 - if (user.id === ps.userId) { - throw new ApiError(meta.errors.blockeeIsYourself); - } - - // Get blockee - const blockee = await getUser(ps.userId).catch(e => { - if (e.id === '15348ddd-432d-49c2-8a5a-8069753becff') throw new ApiError(meta.errors.noSuchUser); - throw e; - }); - - // Check if already blocking - const exist = await Blockings.findOne({ - blockerId: blocker.id, - blockeeId: blockee.id - }); - - if (exist != null) { - throw new ApiError(meta.errors.alreadyBlocking); - } - - await create(blocker, blockee); - - NoteWatchings.delete({ - userId: blocker.id, - noteUserId: blockee.id - }); - - return await Users.pack(blockee.id, blocker, { - detail: true - }); -}); diff --git a/src/server/api/endpoints/blocking/delete.ts b/src/server/api/endpoints/blocking/delete.ts deleted file mode 100644 index a66e46fdf0..0000000000 --- a/src/server/api/endpoints/blocking/delete.ts +++ /dev/null @@ -1,85 +0,0 @@ -import $ from 'cafy'; -import { ID } from '@/misc/cafy-id'; -import * as ms from 'ms'; -import deleteBlocking from '@/services/blocking/delete'; -import define from '../../define'; -import { ApiError } from '../../error'; -import { getUser } from '../../common/getters'; -import { Blockings, Users } from '@/models/index'; - -export const meta = { - tags: ['account'], - - limit: { - duration: ms('1hour'), - max: 100 - }, - - requireCredential: true as const, - - kind: 'write:blocks', - - params: { - userId: { - validator: $.type(ID), - } - }, - - errors: { - noSuchUser: { - message: 'No such user.', - code: 'NO_SUCH_USER', - id: '8621d8bf-c358-4303-a066-5ea78610eb3f' - }, - - blockeeIsYourself: { - message: 'Blockee is yourself.', - code: 'BLOCKEE_IS_YOURSELF', - id: '06f6fac6-524b-473c-a354-e97a40ae6eac' - }, - - notBlocking: { - message: 'You are not blocking that user.', - code: 'NOT_BLOCKING', - id: '291b2efa-60c6-45c0-9f6a-045c8f9b02cd' - }, - }, - - res: { - type: 'object' as const, - optional: false as const, nullable: false as const, - ref: 'User', - }, -}; - -export default define(meta, async (ps, user) => { - const blocker = await Users.findOneOrFail(user.id); - - // Check if the blockee is yourself - if (user.id === ps.userId) { - throw new ApiError(meta.errors.blockeeIsYourself); - } - - // Get blockee - const blockee = await getUser(ps.userId).catch(e => { - if (e.id === '15348ddd-432d-49c2-8a5a-8069753becff') throw new ApiError(meta.errors.noSuchUser); - throw e; - }); - - // Check not blocking - const exist = await Blockings.findOne({ - blockerId: blocker.id, - blockeeId: blockee.id - }); - - if (exist == null) { - throw new ApiError(meta.errors.notBlocking); - } - - // Delete blocking - await deleteBlocking(blocker, blockee); - - return await Users.pack(blockee.id, blocker, { - detail: true - }); -}); diff --git a/src/server/api/endpoints/blocking/list.ts b/src/server/api/endpoints/blocking/list.ts deleted file mode 100644 index fe25fdaba1..0000000000 --- a/src/server/api/endpoints/blocking/list.ts +++ /dev/null @@ -1,49 +0,0 @@ -import $ from 'cafy'; -import { ID } from '@/misc/cafy-id'; -import define from '../../define'; -import { Blockings } from '@/models/index'; -import { makePaginationQuery } from '../../common/make-pagination-query'; - -export const meta = { - tags: ['account'], - - requireCredential: true as const, - - kind: 'read:blocks', - - params: { - limit: { - validator: $.optional.num.range(1, 100), - default: 30 - }, - - sinceId: { - validator: $.optional.type(ID), - }, - - untilId: { - validator: $.optional.type(ID), - }, - }, - - res: { - type: 'array' as const, - optional: false as const, nullable: false as const, - items: { - type: 'object' as const, - optional: false as const, nullable: false as const, - ref: 'Blocking', - } - }, -}; - -export default define(meta, async (ps, me) => { - const query = makePaginationQuery(Blockings.createQueryBuilder('blocking'), ps.sinceId, ps.untilId) - .andWhere(`blocking.blockerId = :meId`, { meId: me.id }); - - const blockings = await query - .take(ps.limit!) - .getMany(); - - return await Blockings.packMany(blockings, me); -}); |