diff options
| author | syuilo <Syuilotan@yahoo.co.jp> | 2022-09-18 03:27:08 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-09-18 03:27:08 +0900 |
| commit | b75184ec8e3436200bacdcd832e3324702553d20 (patch) | |
| tree | 8b7e316f29e95df921db57289c8b8da476d18f07 /packages/backend/src/queue/DbQueueProcessorsService.ts | |
| parent | Update ROADMAP.md (diff) | |
| download | sharkey-b75184ec8e3436200bacdcd832e3324702553d20.tar.gz sharkey-b75184ec8e3436200bacdcd832e3324702553d20.tar.bz2 sharkey-b75184ec8e3436200bacdcd832e3324702553d20.zip | |
なんかもうめっちゃ変えた
Diffstat (limited to 'packages/backend/src/queue/DbQueueProcessorsService.ts')
| -rw-r--r-- | packages/backend/src/queue/DbQueueProcessorsService.ts | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/packages/backend/src/queue/DbQueueProcessorsService.ts b/packages/backend/src/queue/DbQueueProcessorsService.ts new file mode 100644 index 0000000000..fcc9873a6f --- /dev/null +++ b/packages/backend/src/queue/DbQueueProcessorsService.ts @@ -0,0 +1,63 @@ +import { Inject, Injectable } from '@nestjs/common'; +import type { DbJobData } from '@/queue/types.js'; +import { DI } from '@/di-symbols.js'; +import { Config } from '@/config.js'; +import { DeleteDriveFilesProcessorService } from './processors/DeleteDriveFilesProcessorService.js'; +import { ExportCustomEmojisProcessorService } from './processors/ExportCustomEmojisProcessorService.js'; +import { ExportNotesProcessorService } from './processors/ExportNotesProcessorService.js'; +import { ExportFollowingProcessorService } from './processors/ExportFollowingProcessorService.js'; +import { ExportMutingProcessorService } from './processors/ExportMutingProcessorService.js'; +import { ExportBlockingProcessorService } from './processors/ExportBlockingProcessorService.js'; +import { ExportUserListsProcessorService } from './processors/ExportUserListsProcessorService.js'; +import { ImportFollowingProcessorService } from './processors/ImportFollowingProcessorService.js'; +import { ImportMutingProcessorService } from './processors/ImportMutingProcessorService.js'; +import { ImportBlockingProcessorService } from './processors/ImportBlockingProcessorService.js'; +import { ImportUserListsProcessorService } from './processors/ImportUserListsProcessorService.js'; +import { ImportCustomEmojisProcessorService } from './processors/ImportCustomEmojisProcessorService.js'; +import { DeleteAccountProcessorService } from './processors/DeleteAccountProcessorService.js'; +import type Bull from 'bull'; + +@Injectable() +export class DbQueueProcessorsService { + constructor( + @Inject(DI.config) + private config: Config, + + private deleteDriveFilesProcessorService: DeleteDriveFilesProcessorService, + private exportCustomEmojisProcessorService: ExportCustomEmojisProcessorService, + private exportNotesProcessorService: ExportNotesProcessorService, + private exportFollowingProcessorService: ExportFollowingProcessorService, + private exportMutingProcessorService: ExportMutingProcessorService, + private exportBlockingProcessorService: ExportBlockingProcessorService, + private exportUserListsProcessorService: ExportUserListsProcessorService, + private importFollowingProcessorService: ImportFollowingProcessorService, + private importMutingProcessorService: ImportMutingProcessorService, + private importBlockingProcessorService: ImportBlockingProcessorService, + private importUserListsProcessorService: ImportUserListsProcessorService, + private importCustomEmojisProcessorService: ImportCustomEmojisProcessorService, + private deleteAccountProcessorService: DeleteAccountProcessorService, + ) { + } + + public start(dbQueue: Bull.Queue<DbJobData>) { + const jobs = { + deleteDriveFiles: (job, done) => this.deleteDriveFilesProcessorService.process(job, done), + exportCustomEmojis: (job, done) => this.exportCustomEmojisProcessorService.process(job, done), + exportNotes: (job, done) => this.exportNotesProcessorService.process(job, done), + exportFollowing: (job, done) => this.exportFollowingProcessorService.process(job, done), + exportMuting: (job, done) => this.exportMutingProcessorService.process(job, done), + exportBlocking: (job, done) => this.exportBlockingProcessorService.process(job, done), + exportUserLists: (job, done) => this.exportUserListsProcessorService.process(job, done), + importFollowing: (job, done) => this.importFollowingProcessorService.process(job, done), + importMuting: (job, done) => this.importMutingProcessorService.process(job, done), + importBlocking: (job, done) => this.importBlockingProcessorService.process(job, done), + importUserLists: (job, done) => this.importUserListsProcessorService.process(job, done), + importCustomEmojis: (job, done) => this.importCustomEmojisProcessorService.process(job, done), + deleteAccount: (job, done) => this.deleteAccountProcessorService.process(job, done), + } as Record<string, Bull.ProcessCallbackFunction<DbJobData | Bull.ProcessPromiseFunction<DbJobData>>>; + + for (const [k, v] of Object.entries(jobs)) { + dbQueue.process(k, v); + } + } +} |