diff options
| author | Kagami Sascha Rosylight <saschanaz@outlook.com> | 2023-03-06 07:51:17 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-03-06 07:51:17 +0100 |
| commit | 5651353c2756e6580a819c7d4f1f5ad41553abbe (patch) | |
| tree | 7055c10a2af3734be765508e1212aa9c23ec34ee /packages/backend/src/queue/processors/CleanProcessorService.ts | |
| parent | Merge branch 'develop' into mkusername-empty (diff) | |
| parent | [ci skip] chore(client): showNoteActionsOnlyHover変更時にリロードダ... (diff) | |
| download | misskey-5651353c2756e6580a819c7d4f1f5ad41553abbe.tar.gz misskey-5651353c2756e6580a819c7d4f1f5ad41553abbe.tar.bz2 misskey-5651353c2756e6580a819c7d4f1f5ad41553abbe.zip | |
Merge branch 'develop' into mkusername-empty
Diffstat (limited to 'packages/backend/src/queue/processors/CleanProcessorService.ts')
| -rw-r--r-- | packages/backend/src/queue/processors/CleanProcessorService.ts | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/packages/backend/src/queue/processors/CleanProcessorService.ts b/packages/backend/src/queue/processors/CleanProcessorService.ts index 406184cbde..7fd2cde9c0 100644 --- a/packages/backend/src/queue/processors/CleanProcessorService.ts +++ b/packages/backend/src/queue/processors/CleanProcessorService.ts @@ -1,7 +1,7 @@ import { Inject, Injectable } from '@nestjs/common'; -import { LessThan } from 'typeorm'; +import { In, LessThan } from 'typeorm'; import { DI } from '@/di-symbols.js'; -import type { AntennaNotesRepository, MutedNotesRepository, NotificationsRepository, UserIpsRepository } from '@/models/index.js'; +import type { AntennaNotesRepository, MutedNotesRepository, NotificationsRepository, RoleAssignmentsRepository, UserIpsRepository } from '@/models/index.js'; import type { Config } from '@/config.js'; import type Logger from '@/logger.js'; import { bindThis } from '@/decorators.js'; @@ -29,6 +29,9 @@ export class CleanProcessorService { @Inject(DI.antennaNotesRepository) private antennaNotesRepository: AntennaNotesRepository, + @Inject(DI.roleAssignmentsRepository) + private roleAssignmentsRepository: RoleAssignmentsRepository, + private queueLoggerService: QueueLoggerService, private idService: IdService, ) { @@ -56,6 +59,17 @@ export class CleanProcessorService { id: LessThan(this.idService.genId(new Date(Date.now() - (1000 * 60 * 60 * 24 * 90)))), }); + const expiredRoleAssignments = await this.roleAssignmentsRepository.createQueryBuilder('assign') + .where('assign.expiresAt IS NOT NULL') + .andWhere('assign.expiresAt < :now', { now: new Date() }) + .getMany(); + + if (expiredRoleAssignments.length > 0) { + await this.roleAssignmentsRepository.delete({ + id: In(expiredRoleAssignments.map(x => x.id)), + }); + } + this.logger.succ('Cleaned.'); done(); } |