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
This commit is contained in:
@ -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;
|
||||
}
|
||||
|
@ -1,3 +1,4 @@
|
||||
import { URL } from 'url';
|
||||
import * as promiseLimit from 'promise-limit';
|
||||
|
||||
import config from '@/config';
|
||||
|
@ -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
|
||||
|
@ -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,
|
||||
|
@ -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);
|
||||
|
@ -1,3 +1,4 @@
|
||||
import { URL } from 'url';
|
||||
import renderImage from './image';
|
||||
import renderKey from './key';
|
||||
import config from '@/config';
|
||||
|
@ -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}`,
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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,
|
||||
|
@ -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
|
||||
|
@ -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}`,
|
||||
|
@ -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}`,
|
||||
|
@ -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);
|
||||
|
@ -1,3 +1,4 @@
|
||||
import { URL } from 'url';
|
||||
import webFinger from './webfinger';
|
||||
import config from '@/config';
|
||||
import { createPerson, updatePerson } from './activitypub/models/person';
|
||||
|
@ -1,3 +1,4 @@
|
||||
import { URL } from 'url';
|
||||
import { getJson } from '@/misc/fetch';
|
||||
import { query as urlQuery } from '../prelude/url';
|
||||
|
||||
|
Reference in New Issue
Block a user