summaryrefslogtreecommitdiff
path: root/src/remote/activitypub
diff options
context:
space:
mode:
authorsyuilo <Syuilotan@yahoo.co.jp>2021-03-24 11:05:37 +0900
committerGitHub <noreply@github.com>2021-03-24 11:05:37 +0900
commitce340aba7a37394c70b9f3d7cece9cfa5e91d94c (patch)
tree99612ea0d039f20e0baa9ca243e8cec0af96b11a /src/remote/activitypub
parentfix bug (diff)
downloadsharkey-ce340aba7a37394c70b9f3d7cece9cfa5e91d94c.tar.gz
sharkey-ce340aba7a37394c70b9f3d7cece9cfa5e91d94c.tar.bz2
sharkey-ce340aba7a37394c70b9f3d7cece9cfa5e91d94c.zip
Refactor (#7394)
* wip * wip * wip * wip * wip * Update define.ts * Update update.ts * Update user.ts * wip * wip * Update request.ts * URL * wip * wip * wip * wip * Update invite.ts * Update create.ts
Diffstat (limited to 'src/remote/activitypub')
-rw-r--r--src/remote/activitypub/deliver-manager.ts6
-rw-r--r--src/remote/activitypub/models/person.ts1
-rw-r--r--src/remote/activitypub/renderer/delete.ts4
-rw-r--r--src/remote/activitypub/renderer/follow.ts2
-rw-r--r--src/remote/activitypub/renderer/index.ts4
-rw-r--r--src/remote/activitypub/renderer/person.ts1
-rw-r--r--src/remote/activitypub/renderer/question.ts4
-rw-r--r--src/remote/activitypub/renderer/read.ts4
-rw-r--r--src/remote/activitypub/renderer/reject.ts4
-rw-r--r--src/remote/activitypub/renderer/remove.ts4
-rw-r--r--src/remote/activitypub/renderer/undo.ts2
-rw-r--r--src/remote/activitypub/renderer/update.ts4
-rw-r--r--src/remote/activitypub/renderer/vote.ts4
-rw-r--r--src/remote/activitypub/request.ts8
14 files changed, 27 insertions, 25 deletions
diff --git a/src/remote/activitypub/deliver-manager.ts b/src/remote/activitypub/deliver-manager.ts
index 92721f5525..f112b02b4f 100644
--- a/src/remote/activitypub/deliver-manager.ts
+++ b/src/remote/activitypub/deliver-manager.ts
@@ -1,5 +1,5 @@
import { Users, Followings } from '../../models';
-import { ILocalUser, IRemoteUser } from '../../models/entities/user';
+import { ILocalUser, IRemoteUser, User } from '../../models/entities/user';
import { deliver } from '../../queue';
//#region types
@@ -24,7 +24,7 @@ const isDirect = (recipe: any): recipe is IDirectRecipe =>
//#endregion
export default class DeliverManager {
- private actor: ILocalUser;
+ private actor: { id: User['id']; host: null; };
private activity: any;
private recipes: IRecipe[] = [];
@@ -33,7 +33,7 @@ export default class DeliverManager {
* @param actor Actor
* @param activity Activity to deliver
*/
- constructor(actor: ILocalUser, activity: any) {
+ constructor(actor: { id: User['id']; host: null; }, activity: any) {
this.actor = actor;
this.activity = activity;
}
diff --git a/src/remote/activitypub/models/person.ts b/src/remote/activitypub/models/person.ts
index 734275a473..5b032d9d9c 100644
--- a/src/remote/activitypub/models/person.ts
+++ b/src/remote/activitypub/models/person.ts
@@ -1,3 +1,4 @@
+import { URL } from 'url';
import * as promiseLimit from 'promise-limit';
import config from '@/config';
diff --git a/src/remote/activitypub/renderer/delete.ts b/src/remote/activitypub/renderer/delete.ts
index dd49193424..710f0482a6 100644
--- a/src/remote/activitypub/renderer/delete.ts
+++ b/src/remote/activitypub/renderer/delete.ts
@@ -1,7 +1,7 @@
import config from '@/config';
-import { ILocalUser } from '../../../models/entities/user';
+import { User } from '../../../models/entities/user';
-export default (object: any, user: ILocalUser) => ({
+export default (object: any, user: { id: User['id']; host: null }) => ({
type: 'Delete',
actor: `${config.url}/users/${user.id}`,
object
diff --git a/src/remote/activitypub/renderer/follow.ts b/src/remote/activitypub/renderer/follow.ts
index fb8bca52ac..252b0b2838 100644
--- a/src/remote/activitypub/renderer/follow.ts
+++ b/src/remote/activitypub/renderer/follow.ts
@@ -2,7 +2,7 @@ import config from '@/config';
import { User } from '../../../models/entities/user';
import { Users } from '../../../models';
-export default (follower: User, followee: User, requestId?: string) => {
+export default (follower: { id: User['id']; host: User['host']; uri: User['host'] }, followee: { id: User['id']; host: User['host']; uri: User['host'] }, requestId?: string) => {
const follow = {
type: 'Follow',
actor: Users.isLocalUser(follower) ? `${config.url}/users/${follower.id}` : follower.uri,
diff --git a/src/remote/activitypub/renderer/index.ts b/src/remote/activitypub/renderer/index.ts
index d96c277881..3283c88bd4 100644
--- a/src/remote/activitypub/renderer/index.ts
+++ b/src/remote/activitypub/renderer/index.ts
@@ -2,8 +2,8 @@ import config from '@/config';
import { v4 as uuid } from 'uuid';
import { IActivity } from '../type';
import { LdSignature } from '../misc/ld-signature';
-import { ILocalUser } from '../../../models/entities/user';
import { getUserKeypair } from '@/misc/keypair-store';
+import { User } from '@/models/entities/user';
export const renderActivity = (x: any): IActivity | null => {
if (x == null) return null;
@@ -20,7 +20,7 @@ export const renderActivity = (x: any): IActivity | null => {
}, x);
};
-export const attachLdSignature = async (activity: any, user: ILocalUser): Promise<IActivity | null> => {
+export const attachLdSignature = async (activity: any, user: { id: User['id']; host: null; }): Promise<IActivity | null> => {
if (activity == null) return null;
const keypair = await getUserKeypair(user.id);
diff --git a/src/remote/activitypub/renderer/person.ts b/src/remote/activitypub/renderer/person.ts
index 894a6edf01..e4e8f24f10 100644
--- a/src/remote/activitypub/renderer/person.ts
+++ b/src/remote/activitypub/renderer/person.ts
@@ -1,3 +1,4 @@
+import { URL } from 'url';
import renderImage from './image';
import renderKey from './key';
import config from '@/config';
diff --git a/src/remote/activitypub/renderer/question.ts b/src/remote/activitypub/renderer/question.ts
index 3b17c7dc9c..99670f80a1 100644
--- a/src/remote/activitypub/renderer/question.ts
+++ b/src/remote/activitypub/renderer/question.ts
@@ -1,9 +1,9 @@
import config from '@/config';
-import { ILocalUser } from '../../../models/entities/user';
+import { User } from '@/models/entities/user';
import { Note } from '../../../models/entities/note';
import { Poll } from '../../../models/entities/poll';
-export default async function renderQuestion(user: ILocalUser, note: Note, poll: Poll) {
+export default async function renderQuestion(user: { id: User['id'] }, note: Note, poll: Poll) {
const question = {
type: 'Question',
id: `${config.url}/questions/${note.id}`,
diff --git a/src/remote/activitypub/renderer/read.ts b/src/remote/activitypub/renderer/read.ts
index 1b5fef298d..1287f4ccb0 100644
--- a/src/remote/activitypub/renderer/read.ts
+++ b/src/remote/activitypub/renderer/read.ts
@@ -1,8 +1,8 @@
import config from '@/config';
-import { ILocalUser } from '../../../models/entities/user';
+import { User } from '@/models/entities/user';
import { MessagingMessage } from '../../../models/entities/messaging-message';
-export const renderReadActivity = (user: ILocalUser, message: MessagingMessage) => ({
+export const renderReadActivity = (user: { id: User['id'] }, message: MessagingMessage) => ({
type: 'Read',
actor: `${config.url}/users/${user.id}`,
object: message.uri
diff --git a/src/remote/activitypub/renderer/reject.ts b/src/remote/activitypub/renderer/reject.ts
index e29057ae9e..e1eb5b004e 100644
--- a/src/remote/activitypub/renderer/reject.ts
+++ b/src/remote/activitypub/renderer/reject.ts
@@ -1,7 +1,7 @@
import config from '@/config';
-import { ILocalUser } from '../../../models/entities/user';
+import { User } from '@/models/entities/user';
-export default (object: any, user: ILocalUser) => ({
+export default (object: any, user: { id: User['id'] }) => ({
type: 'Reject',
actor: `${config.url}/users/${user.id}`,
object
diff --git a/src/remote/activitypub/renderer/remove.ts b/src/remote/activitypub/renderer/remove.ts
index 1d5d2ffe70..ff1fab8e57 100644
--- a/src/remote/activitypub/renderer/remove.ts
+++ b/src/remote/activitypub/renderer/remove.ts
@@ -1,7 +1,7 @@
import config from '@/config';
-import { ILocalUser } from '../../../models/entities/user';
+import { User } from '@/models/entities/user';
-export default (user: ILocalUser, target: any, object: any) => ({
+export default (user: { id: User['id'] }, target: any, object: any) => ({
type: 'Remove',
actor: `${config.url}/users/${user.id}`,
target,
diff --git a/src/remote/activitypub/renderer/undo.ts b/src/remote/activitypub/renderer/undo.ts
index 0e9998a41d..6f367415c4 100644
--- a/src/remote/activitypub/renderer/undo.ts
+++ b/src/remote/activitypub/renderer/undo.ts
@@ -1,7 +1,7 @@
import config from '@/config';
import { ILocalUser, User } from '../../../models/entities/user';
-export default (object: any, user: ILocalUser | User) => ({
+export default (object: any, user: { id: User['id'] }) => ({
type: 'Undo',
actor: `${config.url}/users/${user.id}`,
object
diff --git a/src/remote/activitypub/renderer/update.ts b/src/remote/activitypub/renderer/update.ts
index 636dc5c55c..4295fc64f3 100644
--- a/src/remote/activitypub/renderer/update.ts
+++ b/src/remote/activitypub/renderer/update.ts
@@ -1,7 +1,7 @@
import config from '@/config';
-import { ILocalUser } from '../../../models/entities/user';
+import { User } from '@/models/entities/user';
-export default (object: any, user: ILocalUser) => {
+export default (object: any, user: { id: User['id'] }) => {
const activity = {
id: `${config.url}/users/${user.id}#updates/${new Date().getTime()}`,
actor: `${config.url}/users/${user.id}`,
diff --git a/src/remote/activitypub/renderer/vote.ts b/src/remote/activitypub/renderer/vote.ts
index 1eb3acc3d5..529fdaafcd 100644
--- a/src/remote/activitypub/renderer/vote.ts
+++ b/src/remote/activitypub/renderer/vote.ts
@@ -1,10 +1,10 @@
import config from '@/config';
import { Note } from '../../../models/entities/note';
-import { IRemoteUser, ILocalUser } from '../../../models/entities/user';
+import { IRemoteUser, User } from '../../../models/entities/user';
import { PollVote } from '../../../models/entities/poll-vote';
import { Poll } from '../../../models/entities/poll';
-export default async function renderVote(user: ILocalUser, vote: PollVote, note: Note, poll: Poll, pollOwner: IRemoteUser): Promise<any> {
+export default async function renderVote(user: { id: User['id'] }, vote: PollVote, note: Note, poll: Poll, pollOwner: IRemoteUser): Promise<any> {
return {
id: `${config.url}/users/${user.id}#votes/${vote.id}/activity`,
actor: `${config.url}/users/${user.id}`,
diff --git a/src/remote/activitypub/request.ts b/src/remote/activitypub/request.ts
index fc774bc9a5..e4dca32329 100644
--- a/src/remote/activitypub/request.ts
+++ b/src/remote/activitypub/request.ts
@@ -4,14 +4,14 @@ import { sign } from 'http-signature';
import * as crypto from 'crypto';
import config from '@/config';
-import { ILocalUser } from '../../models/entities/user';
+import { User } from '@/models/entities/user';
import { getAgentByUrl } from '@/misc/fetch';
import { URL } from 'url';
import got from 'got';
import * as Got from 'got';
import { getUserKeypair } from '@/misc/keypair-store';
-export default async (user: ILocalUser, url: string, object: any) => {
+export default async (user: { id: User['id'] }, url: string, object: any) => {
const timeout = 10 * 1000;
const { protocol, hostname, port, pathname, search } = new URL(url);
@@ -24,7 +24,7 @@ export default async (user: ILocalUser, url: string, object: any) => {
const keypair = await getUserKeypair(user.id);
- await new Promise((resolve, reject) => {
+ await new Promise<void>((resolve, reject) => {
const req = https.request({
agent: getAgentByUrl(new URL(`https://example.net`)),
protocol,
@@ -69,7 +69,7 @@ export default async (user: ILocalUser, url: string, object: any) => {
* @param user http-signature user
* @param url URL to fetch
*/
-export async function signedGet(url: string, user: ILocalUser) {
+export async function signedGet(url: string, user: { id: User['id'] }) {
const timeout = 10 * 1000;
const keypair = await getUserKeypair(user.id);