diff options
author | Madeline <46743919+MaddyUnderStars@users.noreply.github.com> | 2023-10-26 05:39:22 +0000 |
---|---|---|
committer | Madeline <46743919+MaddyUnderStars@users.noreply.github.com> | 2023-10-26 05:39:22 +0000 |
commit | cc48f595fdecfdb2825f4023fb157ff5f0e8ded6 (patch) | |
tree | 974b4612b87bf5b3fc04933f2c731d83f1ee083c /src/activitypub/federation/transforms.ts | |
parent | basic channel federation (diff) | |
download | server-cc48f595fdecfdb2825f4023fb157ff5f0e8ded6.tar.xz |
bug fixes and improvements (i wrote this code a week ago and forgot what it does) feat/federation2
Diffstat (limited to 'src/activitypub/federation/transforms.ts')
-rw-r--r-- | src/activitypub/federation/transforms.ts | 17 |
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({ |