Skip to content

Commit

Permalink
fix runtime error
Browse files Browse the repository at this point in the history
  • Loading branch information
syuilo committed Jul 13, 2023
1 parent 35ffe3c commit af30959
Showing 1 changed file with 67 additions and 67 deletions.
134 changes: 67 additions & 67 deletions packages/backend/src/core/activitypub/ApDeliverManagerService.ts
Original file line number Diff line number Diff line change
Expand Up @@ -29,73 +29,6 @@ const isFollowers = (recipe: IRecipe): recipe is IFollowersRecipe =>
const isDirect = (recipe: IRecipe): recipe is IDirectRecipe =>
recipe.type === 'Direct';

@Injectable()
export class ApDeliverManagerService {
constructor(
@Inject(DI.config)
private config: Config,

@Inject(DI.usersRepository)
private usersRepository: UsersRepository,

@Inject(DI.followingsRepository)
private followingsRepository: FollowingsRepository,

private userEntityService: UserEntityService,
private queueService: QueueService,
) {
}

/**
* Deliver activity to followers
* @param actor
* @param activity Activity
*/
@bindThis
public async deliverToFollowers(actor: { id: LocalUser['id']; host: null; }, activity: IActivity): Promise<void> {
const manager = new DeliverManager(
this.userEntityService,
this.followingsRepository,
this.queueService,
actor,
activity,
);
manager.addFollowersRecipe();
await manager.execute();
}

/**
* Deliver activity to user
* @param actor
* @param activity Activity
* @param to Target user
*/
@bindThis
public async deliverToUser(actor: { id: LocalUser['id']; host: null; }, activity: IActivity, to: RemoteUser): Promise<void> {
const manager = new DeliverManager(
this.userEntityService,
this.followingsRepository,
this.queueService,
actor,
activity,
);
manager.addDirectRecipe(to);
await manager.execute();
}

@bindThis
public createDeliverManager(actor: { id: User['id']; host: null; }, activity: IActivity | null): DeliverManager {
return new DeliverManager(
this.userEntityService,
this.followingsRepository,
this.queueService,

actor,
activity,
);
}
}

class DeliverManager {
private actor: ThinUser;
private activity: IActivity | null;
Expand Down Expand Up @@ -210,3 +143,70 @@ class DeliverManager {
this.queueService.deliverMany(this.actor, this.activity, inboxes);
}
}

@Injectable()
export class ApDeliverManagerService {
constructor(
@Inject(DI.config)
private config: Config,

@Inject(DI.usersRepository)
private usersRepository: UsersRepository,

@Inject(DI.followingsRepository)
private followingsRepository: FollowingsRepository,

private userEntityService: UserEntityService,
private queueService: QueueService,
) {
}

/**
* Deliver activity to followers
* @param actor
* @param activity Activity
*/
@bindThis
public async deliverToFollowers(actor: { id: LocalUser['id']; host: null; }, activity: IActivity): Promise<void> {
const manager = new DeliverManager(
this.userEntityService,
this.followingsRepository,
this.queueService,
actor,
activity,
);
manager.addFollowersRecipe();
await manager.execute();
}

/**
* Deliver activity to user
* @param actor
* @param activity Activity
* @param to Target user
*/
@bindThis
public async deliverToUser(actor: { id: LocalUser['id']; host: null; }, activity: IActivity, to: RemoteUser): Promise<void> {
const manager = new DeliverManager(
this.userEntityService,
this.followingsRepository,
this.queueService,
actor,
activity,
);
manager.addDirectRecipe(to);
await manager.execute();
}

@bindThis
public createDeliverManager(actor: { id: User['id']; host: null; }, activity: IActivity | null): DeliverManager {
return new DeliverManager(
this.userEntityService,
this.followingsRepository,
this.queueService,

actor,
activity,
);
}
}

0 comments on commit af30959

Please sign in to comment.