diff options
| author | MeiMei <30769358+mei23@users.noreply.github.com> | 2020-05-10 18:42:31 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-05-10 18:42:31 +0900 |
| commit | 145389768d434c46bd24662488294eead7d3addb (patch) | |
| tree | 1530f59a5c189d25500c18fc5ef21b3173b1321f /src/remote/activitypub/kernel | |
| parent | fix(server): Remove koa-compress (diff) | |
| download | sharkey-145389768d434c46bd24662488294eead7d3addb.tar.gz sharkey-145389768d434c46bd24662488294eead7d3addb.tar.bz2 sharkey-145389768d434c46bd24662488294eead7d3addb.zip | |
pub-relay (#6341)
* pub-relay
* relay actorをApplicationにする
* Disable koa-compress
* Homeはリレーに送らない
* Disable debug
* UI
* cleanupなど
Diffstat (limited to 'src/remote/activitypub/kernel')
| -rw-r--r-- | src/remote/activitypub/kernel/accept/follow.ts | 7 | ||||
| -rw-r--r-- | src/remote/activitypub/kernel/reject/follow.ts | 7 |
2 files changed, 14 insertions, 0 deletions
diff --git a/src/remote/activitypub/kernel/accept/follow.ts b/src/remote/activitypub/kernel/accept/follow.ts index c067f7622a..71c1bed9de 100644 --- a/src/remote/activitypub/kernel/accept/follow.ts +++ b/src/remote/activitypub/kernel/accept/follow.ts @@ -2,6 +2,7 @@ import { IRemoteUser } from '../../../../models/entities/user'; import accept from '../../../../services/following/requests/accept'; import { IFollow } from '../../type'; import DbResolver from '../../db-resolver'; +import { relayAccepted } from '../../../../services/relay'; export default async (actor: IRemoteUser, activity: IFollow): Promise<string> => { // ※ activityはこっちから投げたフォローリクエストなので、activity.actorは存在するローカルユーザーである必要がある @@ -17,6 +18,12 @@ export default async (actor: IRemoteUser, activity: IFollow): Promise<string> => return `skip: follower is not a local user`; } + // relay + const match = activity.id?.match(/follow-relay\/(\w+)/); + if (match) { + return await relayAccepted(match[1]); + } + await accept(actor, follower); return `ok`; }; diff --git a/src/remote/activitypub/kernel/reject/follow.ts b/src/remote/activitypub/kernel/reject/follow.ts index 49e82c7afc..d97ced46b3 100644 --- a/src/remote/activitypub/kernel/reject/follow.ts +++ b/src/remote/activitypub/kernel/reject/follow.ts @@ -2,6 +2,7 @@ import { IRemoteUser } from '../../../../models/entities/user'; import reject from '../../../../services/following/requests/reject'; import { IFollow } from '../../type'; import DbResolver from '../../db-resolver'; +import { relayRejected } from '../../../../services/relay'; export default async (actor: IRemoteUser, activity: IFollow): Promise<string> => { // ※ activityはこっちから投げたフォローリクエストなので、activity.actorは存在するローカルユーザーである必要がある @@ -17,6 +18,12 @@ export default async (actor: IRemoteUser, activity: IFollow): Promise<string> => return `skip: follower is not a local user`; } + // relay + const match = activity.id?.match(/follow-relay\/(\w+)/); + if (match) { + return await relayRejected(match[1]); + } + await reject(actor, follower); return `ok`; }; |