diff options
| author | Hazelnoot <acomputerdog@gmail.com> | 2025-02-02 23:19:41 -0500 |
|---|---|---|
| committer | Hazelnoot <acomputerdog@gmail.com> | 2025-02-16 19:25:42 -0500 |
| commit | 9de5ecae518973e29f63bde51062aa0ed7eadb11 (patch) | |
| tree | f6c632f85b56cf820ae5344f5efb9b11ee0a06ff /packages/backend/src/core/ApLogService.ts | |
| parent | fix unit tests using mock-resolver (diff) | |
| download | sharkey-9de5ecae518973e29f63bde51062aa0ed7eadb11.tar.gz sharkey-9de5ecae518973e29f63bde51062aa0ed7eadb11.tar.bz2 sharkey-9de5ecae518973e29f63bde51062aa0ed7eadb11.zip | |
delete fetch logs when a note or user is deleted
Diffstat (limited to 'packages/backend/src/core/ApLogService.ts')
| -rw-r--r-- | packages/backend/src/core/ApLogService.ts | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/packages/backend/src/core/ApLogService.ts b/packages/backend/src/core/ApLogService.ts index 362eba24be..096ec21de7 100644 --- a/packages/backend/src/core/ApLogService.ts +++ b/packages/backend/src/core/ApLogService.ts @@ -5,7 +5,7 @@ import { createHash } from 'crypto'; import { Inject, Injectable } from '@nestjs/common'; -import { LessThan } from 'typeorm'; +import { In, LessThan } from 'typeorm'; import { DI } from '@/di-symbols.js'; import { SkApFetchLog, SkApInboxLog, SkApContext } from '@/models/_.js'; import type { ApContextsRepository, ApFetchLogsRepository, ApInboxLogsRepository } from '@/models/_.js'; @@ -122,6 +122,24 @@ export class ApLogService { } /** + * Deletes all logged copies of an object or objects + * @param objectUris URIs / AP IDs of the objects to delete + */ + public async deleteObjectLogs(objectUris: string | string[]): Promise<number> { + if (Array.isArray(objectUris)) { + const logsDeleted = await this.apFetchLogsRepository.delete({ + objectUri: In(objectUris), + }); + return logsDeleted.affected ?? 0; + } else { + const logsDeleted = await this.apFetchLogsRepository.delete({ + objectUri: objectUris, + }); + return logsDeleted.affected ?? 0; + } + } + + /** * Deletes all expired AP logs and garbage-collects the AP context cache. * Returns the total number of deleted rows. */ |