summaryrefslogtreecommitdiff
path: root/src/services/blocking/create.ts
diff options
context:
space:
mode:
authorsyuilo <Syuilotan@yahoo.co.jp>2021-08-17 21:48:59 +0900
committerGitHub <noreply@github.com>2021-08-17 21:48:59 +0900
commit7015df37e3545d835ecd71cdcd1910fbb16e80da (patch)
tree58fe6dd4352444302dbdadb8a31d540604437495 /src/services/blocking/create.ts
parentFix truncate (#7642) (diff)
downloadsharkey-7015df37e3545d835ecd71cdcd1910fbb16e80da.tar.gz
sharkey-7015df37e3545d835ecd71cdcd1910fbb16e80da.tar.bz2
sharkey-7015df37e3545d835ecd71cdcd1910fbb16e80da.zip
enhance(server): Improve user block (#7640)
* enhance(server): Improve user block * Update CHANGELOG.md * ユーザーリスト対応 * 相手から見れなくなるように * Update 1629004542760-chart-reindex.ts https://github.com/misskey-dev/misskey/commit/2365761ba5445f26c8b66b3b20ef4be44e70d549#commitcomment-54919821 * update test * add test * add todos * Update 1629004542760-chart-reindex.ts
Diffstat (limited to 'src/services/blocking/create.ts')
-rw-r--r--src/services/blocking/create.ts18
1 files changed, 16 insertions, 2 deletions
diff --git a/src/services/blocking/create.ts b/src/services/blocking/create.ts
index be2a62692b..d92856689c 100644
--- a/src/services/blocking/create.ts
+++ b/src/services/blocking/create.ts
@@ -6,7 +6,7 @@ import renderBlock from '../../remote/activitypub/renderer/block';
import { deliver } from '../../queue';
import renderReject from '../../remote/activitypub/renderer/reject';
import { User } from '../../models/entities/user';
-import { Blockings, Users, FollowRequests, Followings } from '../../models';
+import { Blockings, Users, FollowRequests, Followings, UserListJoinings, UserLists } from '../../models';
import { perUserFollowingChart } from '../chart';
import { genId } from '@/misc/gen-id';
@@ -15,7 +15,8 @@ export default async function(blocker: User, blockee: User) {
cancelRequest(blocker, blockee),
cancelRequest(blockee, blocker),
unFollow(blocker, blockee),
- unFollow(blockee, blocker)
+ unFollow(blockee, blocker),
+ removeFromList(blockee, blocker),
]);
await Blockings.insert({
@@ -112,3 +113,16 @@ async function unFollow(follower: User, followee: User) {
deliver(follower, content, followee.inbox);
}
}
+
+async function removeFromList(listOwner: User, user: User) {
+ const userLists = await UserLists.find({
+ userId: listOwner.id,
+ });
+
+ for (const userList of userLists) {
+ await UserListJoinings.delete({
+ userListId: userList.id,
+ userId: user.id,
+ });
+ }
+}