This commit is contained in:
syuilo
2022-09-19 03:11:50 +09:00
parent 92c78218bc
commit a2eac9fff6
82 changed files with 671 additions and 671 deletions

View File

@ -16,7 +16,7 @@ import { QueueLoggerService } from './QueueLoggerService.js';
@Injectable()
export class QueueProcessorService {
#logger: Logger;
private logger: Logger;
constructor(
@Inject(DI.config)
@ -32,7 +32,7 @@ export class QueueProcessorService {
private deliverProcessorService: DeliverProcessorService,
private inboxProcessorService: InboxProcessorService,
) {
this.#logger = this.queueLoggerService.logger;
this.logger = this.queueLoggerService.logger;
}
public start() {
@ -44,12 +44,12 @@ export class QueueProcessorService {
};
}
const systemLogger = this.#logger.createSubLogger('system');
const deliverLogger = this.#logger.createSubLogger('deliver');
const webhookLogger = this.#logger.createSubLogger('webhook');
const inboxLogger = this.#logger.createSubLogger('inbox');
const dbLogger = this.#logger.createSubLogger('db');
const objectStorageLogger = this.#logger.createSubLogger('objectStorage');
const systemLogger = this.logger.createSubLogger('system');
const deliverLogger = this.logger.createSubLogger('deliver');
const webhookLogger = this.logger.createSubLogger('webhook');
const inboxLogger = this.logger.createSubLogger('inbox');
const dbLogger = this.logger.createSubLogger('db');
const objectStorageLogger = this.logger.createSubLogger('objectStorage');
this.queueService.systemQueue
.on('waiting', (jobId) => systemLogger.debug(`waiting id=${jobId}`))

View File

@ -10,7 +10,7 @@ import type Bull from 'bull';
@Injectable()
export class CheckExpiredMutingsProcessorService {
#logger: Logger;
private logger: Logger;
constructor(
@Inject(DI.config)
@ -22,11 +22,11 @@ export class CheckExpiredMutingsProcessorService {
private globalEventService: GlobalEventService,
private queueLoggerService: QueueLoggerService,
) {
this.#logger = this.queueLoggerService.logger.createSubLogger('check-expired-mutings');
this.logger = this.queueLoggerService.logger.createSubLogger('check-expired-mutings');
}
public async process(job: Bull.Job<Record<string, unknown>>, done: () => void): Promise<void> {
this.#logger.info('Checking expired mutings...');
this.logger.info('Checking expired mutings...');
const expired = await this.mutingsRepository.createQueryBuilder('muting')
.where('muting.expiresAt IS NOT NULL')
@ -44,7 +44,7 @@ export class CheckExpiredMutingsProcessorService {
}
}
this.#logger.succ('All expired mutings checked.');
this.logger.succ('All expired mutings checked.');
done();
}
}

View File

@ -20,7 +20,7 @@ import type Bull from 'bull';
@Injectable()
export class CleanChartsProcessorService {
#logger: Logger;
private logger: Logger;
constructor(
@Inject(DI.config)
@ -41,11 +41,11 @@ export class CleanChartsProcessorService {
private queueLoggerService: QueueLoggerService,
) {
this.#logger = this.queueLoggerService.logger.createSubLogger('clean-charts');
this.logger = this.queueLoggerService.logger.createSubLogger('clean-charts');
}
public async process(job: Bull.Job<Record<string, unknown>>, done: () => void): Promise<void> {
this.#logger.info('Clean charts...');
this.logger.info('Clean charts...');
await Promise.all([
this.federationChart.clean(),
@ -62,7 +62,7 @@ export class CleanChartsProcessorService {
this.apRequestChart.clean(),
]);
this.#logger.succ('All charts successfully cleaned.');
this.logger.succ('All charts successfully cleaned.');
done();
}
}

View File

@ -9,7 +9,7 @@ import type Bull from 'bull';
@Injectable()
export class CleanProcessorService {
#logger: Logger;
private logger: Logger;
constructor(
@Inject(DI.config)
@ -20,17 +20,17 @@ export class CleanProcessorService {
private queueLoggerService: QueueLoggerService,
) {
this.#logger = this.queueLoggerService.logger.createSubLogger('clean');
this.logger = this.queueLoggerService.logger.createSubLogger('clean');
}
public async process(job: Bull.Job<Record<string, unknown>>, done: () => void): Promise<void> {
this.#logger.info('Cleaning...');
this.logger.info('Cleaning...');
this.userIpsRepository.delete({
createdAt: LessThan(new Date(Date.now() - (1000 * 60 * 60 * 24 * 90))),
});
this.#logger.succ('Cleaned.');
this.logger.succ('Cleaned.');
done();
}
}

View File

@ -10,7 +10,7 @@ import type Bull from 'bull';
@Injectable()
export class CleanRemoteFilesProcessorService {
#logger: Logger;
private logger: Logger;
constructor(
@Inject(DI.config)
@ -22,11 +22,11 @@ export class CleanRemoteFilesProcessorService {
private driveService: DriveService,
private queueLoggerService: QueueLoggerService,
) {
this.#logger = this.queueLoggerService.logger.createSubLogger('clean-remote-files');
this.logger = this.queueLoggerService.logger.createSubLogger('clean-remote-files');
}
public async process(job: Bull.Job<Record<string, unknown>>, done: () => void): Promise<void> {
this.#logger.info('Deleting cached remote files...');
this.logger.info('Deleting cached remote files...');
let deletedCount = 0;
let cursor: any = null;
@ -63,7 +63,7 @@ export class CleanRemoteFilesProcessorService {
job.progress(deletedCount / total);
}
this.#logger.succ('All cahced remote files has been deleted.');
this.logger.succ('All cahced remote files has been deleted.');
done();
}
}

View File

@ -14,7 +14,7 @@ import type { DbUserDeleteJobData } from '../types.js';
@Injectable()
export class DeleteAccountProcessorService {
#logger: Logger;
private logger: Logger;
constructor(
@Inject(DI.config)
@ -36,11 +36,11 @@ export class DeleteAccountProcessorService {
private emailService: EmailService,
private queueLoggerService: QueueLoggerService,
) {
this.#logger = this.queueLoggerService.logger.createSubLogger('delete-account');
this.logger = this.queueLoggerService.logger.createSubLogger('delete-account');
}
public async process(job: Bull.Job<DbUserDeleteJobData>): Promise<string | void> {
this.#logger.info(`Deleting account of ${job.data.user.id} ...`);
this.logger.info(`Deleting account of ${job.data.user.id} ...`);
const user = await this.usersRepository.findOneBy({ id: job.data.user.id });
if (user == null) {
@ -71,7 +71,7 @@ export class DeleteAccountProcessorService {
await this.notesRepository.delete(notes.map(note => note.id));
}
this.#logger.succ('All of notes deleted');
this.logger.succ('All of notes deleted');
}
{ // Delete files
@ -100,7 +100,7 @@ export class DeleteAccountProcessorService {
}
}
this.#logger.succ('All of files deleted');
this.logger.succ('All of files deleted');
}
{ // Send email notification

View File

@ -11,7 +11,7 @@ import type { DbUserJobData } from '../types.js';
@Injectable()
export class DeleteDriveFilesProcessorService {
#logger: Logger;
private logger: Logger;
constructor(
@Inject(DI.config)
@ -26,11 +26,11 @@ export class DeleteDriveFilesProcessorService {
private driveService: DriveService,
private queueLoggerService: QueueLoggerService,
) {
this.#logger = this.queueLoggerService.logger.createSubLogger('delete-drive-files');
this.logger = this.queueLoggerService.logger.createSubLogger('delete-drive-files');
}
public async process(job: Bull.Job<DbUserJobData>, done: () => void): Promise<void> {
this.#logger.info(`Deleting drive files of ${job.data.user.id} ...`);
this.logger.info(`Deleting drive files of ${job.data.user.id} ...`);
const user = await this.usersRepository.findOneBy({ id: job.data.user.id });
if (user == null) {
@ -72,7 +72,7 @@ export class DeleteDriveFilesProcessorService {
job.progress(deletedCount / total);
}
this.#logger.succ(`All drive files (${deletedCount}) of ${user.id} has been deleted.`);
this.logger.succ(`All drive files (${deletedCount}) of ${user.id} has been deleted.`);
done();
}
}

View File

@ -9,7 +9,7 @@ import type { ObjectStorageFileJobData } from '../types.js';
@Injectable()
export class DeleteFileProcessorService {
#logger: Logger;
private logger: Logger;
constructor(
@Inject(DI.config)
@ -18,7 +18,7 @@ export class DeleteFileProcessorService {
private driveService: DriveService,
private queueLoggerService: QueueLoggerService,
) {
this.#logger = this.queueLoggerService.logger.createSubLogger('delete-file');
this.logger = this.queueLoggerService.logger.createSubLogger('delete-file');
}
public async process(job: Bull.Job<ObjectStorageFileJobData>): Promise<string> {

View File

@ -21,9 +21,9 @@ import type { DeliverJobData } from '../types.js';
@Injectable()
export class DeliverProcessorService {
#logger: Logger;
#suspendedHostsCache: Cache<Instance[]>;
#latest: string | null;
private logger: Logger;
private suspendedHostsCache: Cache<Instance[]>;
private latest: string | null;
constructor(
@Inject(DI.config)
@ -45,9 +45,9 @@ export class DeliverProcessorService {
private federationChart: FederationChart,
private queueLoggerService: QueueLoggerService,
) {
this.#logger = this.queueLoggerService.logger.createSubLogger('deliver');
this.#suspendedHostsCache = new Cache<Instance[]>(1000 * 60 * 60);
this.#latest = null;
this.logger = this.queueLoggerService.logger.createSubLogger('deliver');
this.suspendedHostsCache = new Cache<Instance[]>(1000 * 60 * 60);
this.latest = null;
}
public async process(job: Bull.Job<DeliverJobData>): Promise<string> {
@ -60,22 +60,22 @@ export class DeliverProcessorService {
}
// isSuspendedなら中断
let suspendedHosts = this.#suspendedHostsCache.get(null);
let suspendedHosts = this.suspendedHostsCache.get(null);
if (suspendedHosts == null) {
suspendedHosts = await this.instancesRepository.find({
where: {
isSuspended: true,
},
});
this.#suspendedHostsCache.set(null, suspendedHosts);
this.suspendedHostsCache.set(null, suspendedHosts);
}
if (suspendedHosts.map(x => x.host).includes(this.utilityService.toPuny(host))) {
return 'skip (suspended)';
}
try {
if (this.#latest !== (this.#latest = JSON.stringify(job.data.content, null, 2))) {
this.#logger.debug(`delivering ${this.#latest}`);
if (this.latest !== (this.latest = JSON.stringify(job.data.content, null, 2))) {
this.logger.debug(`delivering ${this.latest}`);
}
await this.apRequestService.signedPost(job.data.user, job.data.to, job.data.content);

View File

@ -11,7 +11,7 @@ import type { EndedPollNotificationJobData } from '../types.js';
@Injectable()
export class EndedPollNotificationProcessorService {
#logger: Logger;
private logger: Logger;
constructor(
@Inject(DI.config)
@ -26,7 +26,7 @@ export class EndedPollNotificationProcessorService {
private createNotificationService: CreateNotificationService,
private queueLoggerService: QueueLoggerService,
) {
this.#logger = this.queueLoggerService.logger.createSubLogger('ended-poll-notification');
this.logger = this.queueLoggerService.logger.createSubLogger('ended-poll-notification');
}
public async process(job: Bull.Job<EndedPollNotificationJobData>, done: () => void): Promise<void> {

View File

@ -16,7 +16,7 @@ import type { DbUserJobData } from '../types.js';
@Injectable()
export class ExportBlockingProcessorService {
#logger: Logger;
private logger: Logger;
constructor(
@Inject(DI.config)
@ -32,11 +32,11 @@ export class ExportBlockingProcessorService {
private driveService: DriveService,
private queueLoggerService: QueueLoggerService,
) {
this.#logger = this.queueLoggerService.logger.createSubLogger('export-blocking');
this.logger = this.queueLoggerService.logger.createSubLogger('export-blocking');
}
public async process(job: Bull.Job<DbUserJobData>, done: () => void): Promise<void> {
this.#logger.info(`Exporting blocking of ${job.data.user.id} ...`);
this.logger.info(`Exporting blocking of ${job.data.user.id} ...`);
const user = await this.usersRepository.findOneBy({ id: job.data.user.id });
if (user == null) {
@ -47,7 +47,7 @@ export class ExportBlockingProcessorService {
// Create temp file
const [path, cleanup] = await createTemp();
this.#logger.info(`Temp file is ${path}`);
this.logger.info(`Temp file is ${path}`);
try {
const stream = fs.createWriteStream(path, { flags: 'a' });
@ -84,7 +84,7 @@ export class ExportBlockingProcessorService {
await new Promise<void>((res, rej) => {
stream.write(content + '\n', err => {
if (err) {
this.#logger.error(err);
this.logger.error(err);
rej(err);
} else {
res();
@ -102,12 +102,12 @@ export class ExportBlockingProcessorService {
}
stream.end();
this.#logger.succ(`Exported to: ${path}`);
this.logger.succ(`Exported to: ${path}`);
const fileName = 'blocking-' + dateFormat(new Date(), 'yyyy-MM-dd-HH-mm-ss') + '.csv';
const driveFile = await this.driveService.addFile({ user, path, name: fileName, force: true });
this.#logger.succ(`Exported to: ${driveFile.id}`);
this.logger.succ(`Exported to: ${driveFile.id}`);
} finally {
cleanup();
}

View File

@ -17,7 +17,7 @@ import type Bull from 'bull';
@Injectable()
export class ExportCustomEmojisProcessorService {
#logger: Logger;
private logger: Logger;
constructor(
@Inject(DI.config)
@ -33,11 +33,11 @@ export class ExportCustomEmojisProcessorService {
private downloadService: DownloadService,
private queueLoggerService: QueueLoggerService,
) {
this.#logger = this.queueLoggerService.logger.createSubLogger('export-custom-emojis');
this.logger = this.queueLoggerService.logger.createSubLogger('export-custom-emojis');
}
public async process(job: Bull.Job, done: () => void): Promise<void> {
this.#logger.info('Exporting custom emojis ...');
this.logger.info('Exporting custom emojis ...');
const user = await this.usersRepository.findOneBy({ id: job.data.user.id });
if (user == null) {
@ -47,7 +47,7 @@ export class ExportCustomEmojisProcessorService {
const [path, cleanup] = await createTempDir();
this.#logger.info(`Temp dir is ${path}`);
this.logger.info(`Temp dir is ${path}`);
const metaPath = path + '/meta.json';
@ -59,7 +59,7 @@ export class ExportCustomEmojisProcessorService {
return new Promise<void>((res, rej) => {
metaStream.write(text, err => {
if (err) {
this.#logger.error(err);
this.logger.error(err);
rej(err);
} else {
res();
@ -90,7 +90,7 @@ export class ExportCustomEmojisProcessorService {
await this.downloadService.downloadUrl(emoji.originalUrl, emojiPath);
downloaded = true;
} catch (e) { // TODO: 何度か再試行
this.#logger.error(e instanceof Error ? e : new Error(e as string));
this.logger.error(e instanceof Error ? e : new Error(e as string));
}
if (!downloaded) {
@ -118,12 +118,12 @@ export class ExportCustomEmojisProcessorService {
zlib: { level: 0 },
});
archiveStream.on('close', async () => {
this.#logger.succ(`Exported to: ${archivePath}`);
this.logger.succ(`Exported to: ${archivePath}`);
const fileName = 'custom-emojis-' + dateFormat(new Date(), 'yyyy-MM-dd-HH-mm-ss') + '.zip';
const driveFile = await this.driveService.addFile({ user, path: archivePath, name: fileName, force: true });
this.#logger.succ(`Exported to: ${driveFile.id}`);
this.logger.succ(`Exported to: ${driveFile.id}`);
cleanup();
archiveCleanup();
done();

View File

@ -16,7 +16,7 @@ import type { DbUserJobData } from '../types.js';
@Injectable()
export class ExportFollowingProcessorService {
#logger: Logger;
private logger: Logger;
constructor(
@Inject(DI.config)
@ -35,11 +35,11 @@ export class ExportFollowingProcessorService {
private driveService: DriveService,
private queueLoggerService: QueueLoggerService,
) {
this.#logger = this.queueLoggerService.logger.createSubLogger('export-following');
this.logger = this.queueLoggerService.logger.createSubLogger('export-following');
}
public async process(job: Bull.Job<DbUserJobData>, done: () => void): Promise<void> {
this.#logger.info(`Exporting following of ${job.data.user.id} ...`);
this.logger.info(`Exporting following of ${job.data.user.id} ...`);
const user = await this.usersRepository.findOneBy({ id: job.data.user.id });
if (user == null) {
@ -50,7 +50,7 @@ export class ExportFollowingProcessorService {
// Create temp file
const [path, cleanup] = await createTemp();
this.#logger.info(`Temp file is ${path}`);
this.logger.info(`Temp file is ${path}`);
try {
const stream = fs.createWriteStream(path, { flags: 'a' });
@ -94,7 +94,7 @@ export class ExportFollowingProcessorService {
await new Promise<void>((res, rej) => {
stream.write(content + '\n', err => {
if (err) {
this.#logger.error(err);
this.logger.error(err);
rej(err);
} else {
res();
@ -105,12 +105,12 @@ export class ExportFollowingProcessorService {
}
stream.end();
this.#logger.succ(`Exported to: ${path}`);
this.logger.succ(`Exported to: ${path}`);
const fileName = 'following-' + dateFormat(new Date(), 'yyyy-MM-dd-HH-mm-ss') + '.csv';
const driveFile = await this.driveService.addFile({ user, path, name: fileName, force: true });
this.#logger.succ(`Exported to: ${driveFile.id}`);
this.logger.succ(`Exported to: ${driveFile.id}`);
} finally {
cleanup();
}

View File

@ -15,7 +15,7 @@ import type { DbUserJobData } from '../types.js';
@Injectable()
export class ExportMutingProcessorService {
#logger: Logger;
private logger: Logger;
constructor(
@Inject(DI.config)
@ -34,11 +34,11 @@ export class ExportMutingProcessorService {
private driveService: DriveService,
private queueLoggerService: QueueLoggerService,
) {
this.#logger = this.queueLoggerService.logger.createSubLogger('export-muting');
this.logger = this.queueLoggerService.logger.createSubLogger('export-muting');
}
public async process(job: Bull.Job<DbUserJobData>, done: () => void): Promise<void> {
this.#logger.info(`Exporting muting of ${job.data.user.id} ...`);
this.logger.info(`Exporting muting of ${job.data.user.id} ...`);
const user = await this.usersRepository.findOneBy({ id: job.data.user.id });
if (user == null) {
@ -49,7 +49,7 @@ export class ExportMutingProcessorService {
// Create temp file
const [path, cleanup] = await createTemp();
this.#logger.info(`Temp file is ${path}`);
this.logger.info(`Temp file is ${path}`);
try {
const stream = fs.createWriteStream(path, { flags: 'a' });
@ -87,7 +87,7 @@ export class ExportMutingProcessorService {
await new Promise<void>((res, rej) => {
stream.write(content + '\n', err => {
if (err) {
this.#logger.error(err);
this.logger.error(err);
rej(err);
} else {
res();
@ -105,12 +105,12 @@ export class ExportMutingProcessorService {
}
stream.end();
this.#logger.succ(`Exported to: ${path}`);
this.logger.succ(`Exported to: ${path}`);
const fileName = 'mute-' + dateFormat(new Date(), 'yyyy-MM-dd-HH-mm-ss') + '.csv';
const driveFile = await this.driveService.addFile({ user, path, name: fileName, force: true });
this.#logger.succ(`Exported to: ${driveFile.id}`);
this.logger.succ(`Exported to: ${driveFile.id}`);
} finally {
cleanup();
}

View File

@ -16,7 +16,7 @@ import type { DbUserJobData } from '../types.js';
@Injectable()
export class ExportNotesProcessorService {
#logger: Logger;
private logger: Logger;
constructor(
@Inject(DI.config)
@ -34,11 +34,11 @@ export class ExportNotesProcessorService {
private driveService: DriveService,
private queueLoggerService: QueueLoggerService,
) {
this.#logger = this.queueLoggerService.logger.createSubLogger('export-notes');
this.logger = this.queueLoggerService.logger.createSubLogger('export-notes');
}
public async process(job: Bull.Job<DbUserJobData>, done: () => void): Promise<void> {
this.#logger.info(`Exporting notes of ${job.data.user.id} ...`);
this.logger.info(`Exporting notes of ${job.data.user.id} ...`);
const user = await this.usersRepository.findOneBy({ id: job.data.user.id });
if (user == null) {
@ -49,7 +49,7 @@ export class ExportNotesProcessorService {
// Create temp file
const [path, cleanup] = await createTemp();
this.#logger.info(`Temp file is ${path}`);
this.logger.info(`Temp file is ${path}`);
try {
const stream = fs.createWriteStream(path, { flags: 'a' });
@ -58,7 +58,7 @@ export class ExportNotesProcessorService {
return new Promise<void>((res, rej) => {
stream.write(text, err => {
if (err) {
this.#logger.error(err);
this.logger.error(err);
rej(err);
} else {
res();
@ -112,12 +112,12 @@ export class ExportNotesProcessorService {
await write(']');
stream.end();
this.#logger.succ(`Exported to: ${path}`);
this.logger.succ(`Exported to: ${path}`);
const fileName = 'notes-' + dateFormat(new Date(), 'yyyy-MM-dd-HH-mm-ss') + '.json';
const driveFile = await this.driveService.addFile({ user, path, name: fileName, force: true });
this.#logger.succ(`Exported to: ${driveFile.id}`);
this.logger.succ(`Exported to: ${driveFile.id}`);
} finally {
cleanup();
}

View File

@ -15,7 +15,7 @@ import type { DbUserJobData } from '../types.js';
@Injectable()
export class ExportUserListsProcessorService {
#logger: Logger;
private logger: Logger;
constructor(
@Inject(DI.config)
@ -34,11 +34,11 @@ export class ExportUserListsProcessorService {
private driveService: DriveService,
private queueLoggerService: QueueLoggerService,
) {
this.#logger = this.queueLoggerService.logger.createSubLogger('export-user-lists');
this.logger = this.queueLoggerService.logger.createSubLogger('export-user-lists');
}
public async process(job: Bull.Job<DbUserJobData>, done: () => void): Promise<void> {
this.#logger.info(`Exporting user lists of ${job.data.user.id} ...`);
this.logger.info(`Exporting user lists of ${job.data.user.id} ...`);
const user = await this.usersRepository.findOneBy({ id: job.data.user.id });
if (user == null) {
@ -53,7 +53,7 @@ export class ExportUserListsProcessorService {
// Create temp file
const [path, cleanup] = await createTemp();
this.#logger.info(`Temp file is ${path}`);
this.logger.info(`Temp file is ${path}`);
try {
const stream = fs.createWriteStream(path, { flags: 'a' });
@ -70,7 +70,7 @@ export class ExportUserListsProcessorService {
await new Promise<void>((res, rej) => {
stream.write(content + '\n', err => {
if (err) {
this.#logger.error(err);
this.logger.error(err);
rej(err);
} else {
res();
@ -81,12 +81,12 @@ export class ExportUserListsProcessorService {
}
stream.end();
this.#logger.succ(`Exported to: ${path}`);
this.logger.succ(`Exported to: ${path}`);
const fileName = 'user-lists-' + dateFormat(new Date(), 'yyyy-MM-dd-HH-mm-ss') + '.csv';
const driveFile = await this.driveService.addFile({ user, path, name: fileName, force: true });
this.#logger.succ(`Exported to: ${driveFile.id}`);
this.logger.succ(`Exported to: ${driveFile.id}`);
} finally {
cleanup();
}

View File

@ -15,7 +15,7 @@ import type { DbUserImportJobData } from '../types.js';
@Injectable()
export class ImportBlockingProcessorService {
#logger: Logger;
private logger: Logger;
constructor(
@Inject(DI.config)
@ -36,11 +36,11 @@ export class ImportBlockingProcessorService {
private downloadService: DownloadService,
private queueLoggerService: QueueLoggerService,
) {
this.#logger = this.queueLoggerService.logger.createSubLogger('import-blocking');
this.logger = this.queueLoggerService.logger.createSubLogger('import-blocking');
}
public async process(job: Bull.Job<DbUserImportJobData>, done: () => void): Promise<void> {
this.#logger.info(`Importing blocking of ${job.data.user.id} ...`);
this.logger.info(`Importing blocking of ${job.data.user.id} ...`);
const user = await this.usersRepository.findOneBy({ id: job.data.user.id });
if (user == null) {
@ -88,15 +88,15 @@ export class ImportBlockingProcessorService {
// skip myself
if (target.id === job.data.user.id) continue;
this.#logger.info(`Block[${linenum}] ${target.id} ...`);
this.logger.info(`Block[${linenum}] ${target.id} ...`);
await this.userBlockingService.block(user, target);
} catch (e) {
this.#logger.warn(`Error in line:${linenum} ${e}`);
this.logger.warn(`Error in line:${linenum} ${e}`);
}
}
this.#logger.succ('Imported');
this.logger.succ('Imported');
done();
}
}

View File

@ -17,7 +17,7 @@ import type { DbUserImportJobData } from '../types.js';
// TODO: 名前衝突時の動作を選べるようにする
@Injectable()
export class ImportCustomEmojisProcessorService {
#logger: Logger;
private logger: Logger;
constructor(
@Inject(DI.config)
@ -40,11 +40,11 @@ export class ImportCustomEmojisProcessorService {
private downloadService: DownloadService,
private queueLoggerService: QueueLoggerService,
) {
this.#logger = this.queueLoggerService.logger.createSubLogger('import-custom-emojis');
this.logger = this.queueLoggerService.logger.createSubLogger('import-custom-emojis');
}
public async process(job: Bull.Job<DbUserImportJobData>, done: () => void): Promise<void> {
this.#logger.info('Importing custom emojis ...');
this.logger.info('Importing custom emojis ...');
const file = await this.driveFilesRepository.findOneBy({
id: job.data.fileId,
@ -56,7 +56,7 @@ export class ImportCustomEmojisProcessorService {
const [path, cleanup] = await createTempDir();
this.#logger.info(`Temp dir is ${path}`);
this.logger.info(`Temp dir is ${path}`);
const destPath = path + '/emojis.zip';
@ -65,7 +65,7 @@ export class ImportCustomEmojisProcessorService {
await this.downloadService.downloadUrl(file.url, destPath);
} catch (e) { // TODO: 何度か再試行
if (e instanceof Error || typeof e === 'string') {
this.#logger.error(e);
this.logger.error(e);
}
throw e;
}
@ -101,10 +101,10 @@ export class ImportCustomEmojisProcessorService {
cleanup();
this.#logger.succ('Imported');
this.logger.succ('Imported');
done();
});
unzipStream.pipe(extractor);
this.#logger.succ(`Unzipping to ${outputPath}`);
this.logger.succ(`Unzipping to ${outputPath}`);
}
}

View File

@ -15,7 +15,7 @@ import type { DbUserImportJobData } from '../types.js';
@Injectable()
export class ImportFollowingProcessorService {
#logger: Logger;
private logger: Logger;
constructor(
@Inject(DI.config)
@ -33,11 +33,11 @@ export class ImportFollowingProcessorService {
private downloadService: DownloadService,
private queueLoggerService: QueueLoggerService,
) {
this.#logger = this.queueLoggerService.logger.createSubLogger('import-following');
this.logger = this.queueLoggerService.logger.createSubLogger('import-following');
}
public async process(job: Bull.Job<DbUserImportJobData>, done: () => void): Promise<void> {
this.#logger.info(`Importing following of ${job.data.user.id} ...`);
this.logger.info(`Importing following of ${job.data.user.id} ...`);
const user = await this.usersRepository.findOneBy({ id: job.data.user.id });
if (user == null) {
@ -85,15 +85,15 @@ export class ImportFollowingProcessorService {
// skip myself
if (target.id === job.data.user.id) continue;
this.#logger.info(`Follow[${linenum}] ${target.id} ...`);
this.logger.info(`Follow[${linenum}] ${target.id} ...`);
this.userFollowingService.follow(user, target);
} catch (e) {
this.#logger.warn(`Error in line:${linenum} ${e}`);
this.logger.warn(`Error in line:${linenum} ${e}`);
}
}
this.#logger.succ('Imported');
this.logger.succ('Imported');
done();
}
}

View File

@ -16,7 +16,7 @@ import type { DbUserImportJobData } from '../types.js';
@Injectable()
export class ImportMutingProcessorService {
#logger: Logger;
private logger: Logger;
constructor(
@Inject(DI.config)
@ -34,11 +34,11 @@ export class ImportMutingProcessorService {
private downloadService: DownloadService,
private queueLoggerService: QueueLoggerService,
) {
this.#logger = this.queueLoggerService.logger.createSubLogger('import-muting');
this.logger = this.queueLoggerService.logger.createSubLogger('import-muting');
}
public async process(job: Bull.Job<DbUserImportJobData>, done: () => void): Promise<void> {
this.#logger.info(`Importing muting of ${job.data.user.id} ...`);
this.logger.info(`Importing muting of ${job.data.user.id} ...`);
const user = await this.usersRepository.findOneBy({ id: job.data.user.id });
if (user == null) {
@ -86,15 +86,15 @@ export class ImportMutingProcessorService {
// skip myself
if (target.id === job.data.user.id) continue;
this.#logger.info(`Mute[${linenum}] ${target.id} ...`);
this.logger.info(`Mute[${linenum}] ${target.id} ...`);
await this.userMutingService.mute(user, target);
} catch (e) {
this.#logger.warn(`Error in line:${linenum} ${e}`);
this.logger.warn(`Error in line:${linenum} ${e}`);
}
}
this.#logger.succ('Imported');
this.logger.succ('Imported');
done();
}
}

View File

@ -16,7 +16,7 @@ import type { DbUserImportJobData } from '../types.js';
@Injectable()
export class ImportUserListsProcessorService {
#logger: Logger;
private logger: Logger;
constructor(
@Inject(DI.config)
@ -41,11 +41,11 @@ export class ImportUserListsProcessorService {
private downloadService: DownloadService,
private queueLoggerService: QueueLoggerService,
) {
this.#logger = this.queueLoggerService.logger.createSubLogger('import-user-lists');
this.logger = this.queueLoggerService.logger.createSubLogger('import-user-lists');
}
public async process(job: Bull.Job<DbUserImportJobData>, done: () => void): Promise<void> {
this.#logger.info(`Importing user lists of ${job.data.user.id} ...`);
this.logger.info(`Importing user lists of ${job.data.user.id} ...`);
const user = await this.usersRepository.findOneBy({ id: job.data.user.id });
if (user == null) {
@ -102,11 +102,11 @@ export class ImportUserListsProcessorService {
this.userListService.push(target, list!);
} catch (e) {
this.#logger.warn(`Error in line:${linenum} ${e}`);
this.logger.warn(`Error in line:${linenum} ${e}`);
}
}
this.#logger.succ('Imported');
this.logger.succ('Imported');
done();
}
}

View File

@ -31,7 +31,7 @@ import type { DeliverJobData, InboxJobData } from '../types.js';
// ユーザーのinboxにアクティビティが届いた時の処理
@Injectable()
export class InboxProcessorService {
#logger: Logger;
private logger: Logger;
constructor(
@Inject(DI.config)
@ -57,7 +57,7 @@ export class InboxProcessorService {
private federationChart: FederationChart,
private queueLoggerService: QueueLoggerService,
) {
this.#logger = this.queueLoggerService.logger.createSubLogger('inbox');
this.logger = this.queueLoggerService.logger.createSubLogger('inbox');
}
public async process(job: Bull.Job<InboxJobData>): Promise<string> {
@ -67,7 +67,7 @@ export class InboxProcessorService {
//#region Log
const info = Object.assign({}, activity) as any;
delete info['@context'];
this.#logger.debug(JSON.stringify(info, null, 2));
this.logger.debug(JSON.stringify(info, null, 2));
//#endregion
const host = this.utilityService.toPuny(new URL(signature.keyId).hostname);

View File

@ -20,7 +20,7 @@ import type Bull from 'bull';
@Injectable()
export class ResyncChartsProcessorService {
#logger: Logger;
private logger: Logger;
constructor(
@Inject(DI.config)
@ -41,11 +41,11 @@ export class ResyncChartsProcessorService {
private queueLoggerService: QueueLoggerService,
) {
this.#logger = this.queueLoggerService.logger.createSubLogger('resync-charts');
this.logger = this.queueLoggerService.logger.createSubLogger('resync-charts');
}
public async process(job: Bull.Job<Record<string, unknown>>, done: () => void): Promise<void> {
this.#logger.info('Resync charts...');
this.logger.info('Resync charts...');
// TODO: ユーザーごとのチャートも更新する
// TODO: インスタンスごとのチャートも更新する
@ -55,7 +55,7 @@ export class ResyncChartsProcessorService {
this.usersChart.resync(),
]);
this.#logger.succ('All charts successfully resynced.');
this.logger.succ('All charts successfully resynced.');
done();
}
}

View File

@ -20,7 +20,7 @@ import type Bull from 'bull';
@Injectable()
export class TickChartsProcessorService {
#logger: Logger;
private logger: Logger;
constructor(
@Inject(DI.config)
@ -41,11 +41,11 @@ export class TickChartsProcessorService {
private queueLoggerService: QueueLoggerService,
) {
this.#logger = this.queueLoggerService.logger.createSubLogger('tick-charts');
this.logger = this.queueLoggerService.logger.createSubLogger('tick-charts');
}
public async process(job: Bull.Job<Record<string, unknown>>, done: () => void): Promise<void> {
this.#logger.info('Tick charts...');
this.logger.info('Tick charts...');
await Promise.all([
this.federationChart.tick(false),
@ -62,7 +62,7 @@ export class TickChartsProcessorService {
this.apRequestChart.tick(false),
]);
this.#logger.succ('All charts successfully ticked.');
this.logger.succ('All charts successfully ticked.');
done();
}
}

View File

@ -12,7 +12,7 @@ import type { WebhookDeliverJobData } from '../types.js';
@Injectable()
export class WebhookDeliverProcessorService {
#logger: Logger;
private logger: Logger;
constructor(
@Inject(DI.config)
@ -24,12 +24,12 @@ export class WebhookDeliverProcessorService {
private httpRequestService: HttpRequestService,
private queueLoggerService: QueueLoggerService,
) {
this.#logger = this.queueLoggerService.logger.createSubLogger('webhook');
this.logger = this.queueLoggerService.logger.createSubLogger('webhook');
}
public async process(job: Bull.Job<WebhookDeliverJobData>): Promise<string> {
try {
this.#logger.debug(`delivering ${job.data.webhookId}`);
this.logger.debug(`delivering ${job.data.webhookId}`);
const res = await this.httpRequestService.getResponse({
url: job.data.to,