summaryrefslogtreecommitdiff
path: root/src/server/api/endpoints/blocking/create.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/api/endpoints/blocking/create.ts')
-rw-r--r--src/server/api/endpoints/blocking/create.ts25
1 files changed, 13 insertions, 12 deletions
diff --git a/src/server/api/endpoints/blocking/create.ts b/src/server/api/endpoints/blocking/create.ts
index e723cb0386..0d6626b2d5 100644
--- a/src/server/api/endpoints/blocking/create.ts
+++ b/src/server/api/endpoints/blocking/create.ts
@@ -1,12 +1,11 @@
import $ from 'cafy';
-import ID, { transform } from '../../../../misc/cafy-id';
+import { ID } from '../../../../misc/cafy-id';
import * as ms from 'ms';
-import { pack } from '../../../../models/user';
-import Blocking from '../../../../models/blocking';
import create from '../../../../services/blocking/create';
import define from '../../define';
import { ApiError } from '../../error';
import { getUser } from '../../common/getters';
+import { Blockings, NoteWatchings } from '../../../../models';
export const meta = {
stability: 'stable',
@@ -25,12 +24,11 @@ export const meta = {
requireCredential: true,
- kind: 'following-write',
+ kind: 'write:blocks',
params: {
userId: {
validator: $.type(ID),
- transform: transform,
desc: {
'ja-JP': '対象のユーザーのID',
'en-US': 'Target user ID'
@@ -63,7 +61,7 @@ export default define(meta, async (ps, user) => {
const blocker = user;
// 自分自身
- if (user._id.equals(ps.userId)) {
+ if (user.id === ps.userId) {
throw new ApiError(meta.errors.blockeeIsYourself);
}
@@ -74,19 +72,22 @@ export default define(meta, async (ps, user) => {
});
// Check if already blocking
- const exist = await Blocking.findOne({
- blockerId: blocker._id,
- blockeeId: blockee._id
+ const exist = await Blockings.findOne({
+ blockerId: blocker.id,
+ blockeeId: blockee.id
});
- if (exist !== null) {
+ if (exist != null) {
throw new ApiError(meta.errors.alreadyBlocking);
}
// Create blocking
await create(blocker, blockee);
- return await pack(blockee._id, user, {
- detail: true
+ NoteWatchings.delete({
+ userId: blocker.id,
+ noteUserId: blockee.id
});
+
+ return await Blockings.pack(blockee.id, user);
});