summary refs log tree commit diff
path: root/src/activitypub/federation/transforms.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/activitypub/federation/transforms.ts')
-rw-r--r--src/activitypub/federation/transforms.ts17
1 files changed, 12 insertions, 5 deletions
diff --git a/src/activitypub/federation/transforms.ts b/src/activitypub/federation/transforms.ts
index a11cc62b..b11005eb 100644
--- a/src/activitypub/federation/transforms.ts
+++ b/src/activitypub/federation/transforms.ts
@@ -211,13 +211,13 @@ export const transformUserToPerson = async (user: User): Promise<APPerson> => {
 	const { host, accountDomain } = Config.get().federation;
 
 	const keys = await FederationKey.findOneOrFail({
-		where: { actorId: user.id, domain: accountDomain },
+		where: { actorId: user.id },
 	});
 
 	return {
 		"@context": ACTIVITYSTREAMS_CONTEXT,
 		type: "Person",
-		id: `https://${host}/federation/users/${user.id}`,
+		id: keys.federatedId,
 
 		name: user.username,
 		preferredUsername: user.id,
@@ -232,9 +232,10 @@ export const transformUserToPerson = async (user: User): Promise<APPerson> => {
 			  ]
 			: undefined,
 
-		inbox: `https://${host}/federation/users/${user.id}/inbox`,
-		outbox: `https://${host}/federation/users/${user.id}/outbox`,
-		followers: `https://${host}/federation/users/${user.id}/followers`,
+		inbox: keys.inbox,
+		outbox: keys.outbox,
+		followers: keys.followers,
+		following: keys.following,
 		publicKey: {
 			id: `https://${host}/federation/users/${user.id}#main-key`,
 			owner: `https://${host}/federation/users/${user.id}`,
@@ -266,6 +267,8 @@ export const transformPersonToUser = async (person: APPerson) => {
 		type: ActorType.USER,
 		inbox: person.inbox.toString(),
 		outbox: person.outbox.toString(),
+		followers: person.followers?.toString(),
+		following: person.following?.toString(),
 	}).save();
 
 	return await User.create({
@@ -332,6 +335,8 @@ export const transformOrganisationToGuild = async (org: APOrganization) => {
 		type: ActorType.GUILD,
 		inbox: org.inbox.toString(),
 		outbox: org.outbox.toString(),
+		followers: org.followers?.toString(),
+		following: org.following?.toString(),
 	});
 
 	if (typeof org.attributedTo != "string")
@@ -423,6 +428,8 @@ export const transformGroupToChannel = async (
 		type: ActorType.CHANNEL,
 		inbox: group.inbox.toString(),
 		outbox: group.outbox.toString(),
+		followers: group.followers?.toString(),
+		following: group.following?.toString(),
 	});
 
 	const channel = Channel.create({