summaryrefslogtreecommitdiff
path: root/packages/backend/src/services/blocking/create.ts
diff options
context:
space:
mode:
authorJohann150 <johann.galle@protonmail.com>2022-06-04 06:52:42 +0200
committerGitHub <noreply@github.com>2022-06-04 13:52:42 +0900
commit32dff2846003bb079891593b660869511fca5f01 (patch)
tree63fd57c6c44f0fbab66fa94e40696c1dca643de2 /packages/backend/src/services/blocking/create.ts
parentfix: ensure resolver does not fetch local resources via HTTP(S) (#8733) (diff)
downloadmisskey-32dff2846003bb079891593b660869511fca5f01.tar.gz
misskey-32dff2846003bb079891593b660869511fca5f01.tar.bz2
misskey-32dff2846003bb079891593b660869511fca5f01.zip
fix: add id for activitypub follows (#8689)
* add id for activitypub follows * fix lint * fix: follower must be local, followee must be remote Misskey will only use ActivityPub follow requests for users that are local and are requesting to follow a remote user. This check is to ensure that this endpoint can not be used by other services or instances. * fix: missing import * render block with id * fix comment
Diffstat (limited to 'packages/backend/src/services/blocking/create.ts')
-rw-r--r--packages/backend/src/services/blocking/create.ts13
1 files changed, 9 insertions, 4 deletions
diff --git a/packages/backend/src/services/blocking/create.ts b/packages/backend/src/services/blocking/create.ts
index b2be78b220..a2c61cca22 100644
--- a/packages/backend/src/services/blocking/create.ts
+++ b/packages/backend/src/services/blocking/create.ts
@@ -2,9 +2,10 @@ import { publishMainStream, publishUserEvent } from '@/services/stream.js';
import { renderActivity } from '@/remote/activitypub/renderer/index.js';
import renderFollow from '@/remote/activitypub/renderer/follow.js';
import renderUndo from '@/remote/activitypub/renderer/undo.js';
-import renderBlock from '@/remote/activitypub/renderer/block.js';
+import { renderBlock } from '@/remote/activitypub/renderer/block.js';
import { deliver } from '@/queue/index.js';
import renderReject from '@/remote/activitypub/renderer/reject.js';
+import { Blocking } from '@/models/entities/blocking.js';
import { User } from '@/models/entities/user.js';
import { Blockings, Users, FollowRequests, Followings, UserListJoinings, UserLists } from '@/models/index.js';
import { perUserFollowingChart } from '@/services/chart/index.js';
@@ -22,15 +23,19 @@ export default async function(blocker: User, blockee: User) {
removeFromList(blockee, blocker),
]);
- await Blockings.insert({
+ const blocking = {
id: genId(),
createdAt: new Date(),
+ blocker,
blockerId: blocker.id,
+ blockee,
blockeeId: blockee.id,
- });
+ } as Blocking;
+
+ await Blockings.insert(blocking);
if (Users.isLocalUser(blocker) && Users.isRemoteUser(blockee)) {
- const content = renderActivity(renderBlock(blocker, blockee));
+ const content = renderActivity(renderBlock(blocking));
deliver(blocker, content, blockee.inbox);
}
}