循環参照エラーを解消
This commit is contained in:
parent
6af0c44712
commit
ea87e2318a
|
@ -16,7 +16,7 @@ import { bindThis } from '@/decorators.js';
|
|||
import type { PrivateKeyWithPem } from '@misskey-dev/node-http-message-signatures';
|
||||
|
||||
@Injectable()
|
||||
export class AccountUpdateService {
|
||||
export class AccountUpdateService implements OnModuleInit {
|
||||
private apDeliverManagerService: ApDeliverManagerService;
|
||||
constructor(
|
||||
private moduleRef: ModuleRef,
|
||||
|
@ -30,6 +30,10 @@ export class AccountUpdateService {
|
|||
) {
|
||||
}
|
||||
|
||||
async onModuleInit() {
|
||||
this.apDeliverManagerService = this.moduleRef.get(ApDeliverManagerService.name);
|
||||
}
|
||||
|
||||
private async createUpdatePersonActivity(user: MiLocalUser) {
|
||||
return this.apRendererService.addContext(
|
||||
this.apRendererService.renderUpdate(
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
* SPDX-License-Identifier: AGPL-3.0-only
|
||||
*/
|
||||
|
||||
import { Inject, Injectable } from '@nestjs/common';
|
||||
import { Inject, Injectable, OnModuleInit } from '@nestjs/common';
|
||||
import { IsNull, Not } from 'typeorm';
|
||||
import { DI } from '@/di-symbols.js';
|
||||
import type { FollowingsRepository } from '@/models/_.js';
|
||||
|
@ -17,6 +17,7 @@ import type Logger from '@/logger.js';
|
|||
import { UserKeypairService } from '../UserKeypairService.js';
|
||||
import { ApLoggerService } from './ApLoggerService.js';
|
||||
import type { PrivateKeyWithPem } from '@misskey-dev/node-http-message-signatures';
|
||||
import { ModuleRef } from '@nestjs/core';
|
||||
|
||||
interface IRecipe {
|
||||
type: string;
|
||||
|
@ -212,21 +213,27 @@ class DeliverManager {
|
|||
}
|
||||
|
||||
@Injectable()
|
||||
export class ApDeliverManagerService {
|
||||
export class ApDeliverManagerService implements OnModuleInit {
|
||||
private logger: Logger;
|
||||
private accountUpdateService: AccountUpdateService;
|
||||
|
||||
constructor(
|
||||
private moduleRef: ModuleRef,
|
||||
|
||||
@Inject(DI.followingsRepository)
|
||||
private followingsRepository: FollowingsRepository,
|
||||
|
||||
private userKeypairService: UserKeypairService,
|
||||
private queueService: QueueService,
|
||||
private accountUpdateService: AccountUpdateService,
|
||||
private apLoggerService: ApLoggerService,
|
||||
) {
|
||||
this.logger = this.apLoggerService.logger.createSubLogger('deliver-manager');
|
||||
}
|
||||
|
||||
async onModuleInit() {
|
||||
this.accountUpdateService = this.moduleRef.get(AccountUpdateService.name);
|
||||
}
|
||||
|
||||
/**
|
||||
* Deliver activity to followers
|
||||
* @param actor
|
||||
|
|
|
@ -31,6 +31,7 @@ import { ApDeliverManagerService } from '@/core/activitypub/ApDeliverManagerServ
|
|||
import { RelayService } from '@/core/RelayService.js';
|
||||
import { ApLoggerService } from '@/core/activitypub/ApLoggerService.js';
|
||||
import { MiRemoteUser } from '@/models/User.js';
|
||||
import { UserKeypairService } from '@/core/UserKeypairService.js';
|
||||
|
||||
function genHost() {
|
||||
return randomString() + '.example.com';
|
||||
|
@ -47,6 +48,9 @@ describe('UserSuspendService', () => {
|
|||
let globalEventService: jest.Mocked<GlobalEventService>;
|
||||
let apRendererService: jest.Mocked<ApRendererService>;
|
||||
let moderationLogService: jest.Mocked<ModerationLogService>;
|
||||
let userKeypairService: jest.Mocked<UserKeypairService>;
|
||||
let accountUpdateService: AccountUpdateService;
|
||||
let apDeliverManagerService: ApDeliverManagerService;
|
||||
|
||||
async function createUser(data: Partial<MiUser> = {}): Promise<MiUser> {
|
||||
const user = {
|
||||
|
@ -92,6 +96,14 @@ describe('UserSuspendService', () => {
|
|||
UserSuspendService,
|
||||
AccountUpdateService,
|
||||
ApDeliverManagerService,
|
||||
{
|
||||
provide: AccountUpdateService.name,
|
||||
useExisting: AccountUpdateService,
|
||||
},
|
||||
{
|
||||
provide: ApDeliverManagerService.name,
|
||||
useExisting: ApDeliverManagerService,
|
||||
},
|
||||
{
|
||||
provide: UserEntityService,
|
||||
useFactory: () => ({
|
||||
|
@ -145,6 +157,12 @@ describe('UserSuspendService', () => {
|
|||
},
|
||||
}),
|
||||
},
|
||||
{
|
||||
provide: UserKeypairService,
|
||||
useFactory: () => ({
|
||||
refreshAndPrepareEd25519KeyPair: jest.fn(),
|
||||
}),
|
||||
}
|
||||
],
|
||||
}).compile();
|
||||
|
||||
|
@ -159,6 +177,12 @@ describe('UserSuspendService', () => {
|
|||
globalEventService = app.get<GlobalEventService>(GlobalEventService) as jest.Mocked<GlobalEventService>;
|
||||
apRendererService = app.get<ApRendererService>(ApRendererService) as jest.Mocked<ApRendererService>;
|
||||
moderationLogService = app.get<ModerationLogService>(ModerationLogService) as jest.Mocked<ModerationLogService>;
|
||||
userKeypairService = app.get<UserKeypairService>(UserKeypairService) as jest.Mocked<UserKeypairService>;
|
||||
|
||||
apDeliverManagerService = app.get<ApDeliverManagerService>(ApDeliverManagerService);
|
||||
await apDeliverManagerService.onModuleInit();
|
||||
accountUpdateService = app.get<AccountUpdateService>(AccountUpdateService.name);
|
||||
await accountUpdateService.onModuleInit();
|
||||
});
|
||||
|
||||
beforeEach(() => {
|
||||
|
|
Loading…
Reference in New Issue