Deprecate inject workspace repo (#6353)

This commit is contained in:
Charles Bochet
2024-07-20 00:43:29 +02:00
committed by GitHub
parent 2e38c3bbc1
commit d8cadad0fa
29 changed files with 441 additions and 359 deletions

View File

@ -2,38 +2,35 @@ import { Injectable } from '@nestjs/common';
import { Any, IsNull } from 'typeorm';
import { InjectWorkspaceRepository } from 'src/engine/twenty-orm/decorators/inject-workspace-repository.decorator';
import { WorkspaceRepository } from 'src/engine/twenty-orm/repository/workspace.repository';
import { TwentyORMManager } from 'src/engine/twenty-orm/twenty-orm.manager';
import { deleteUsingPagination } from 'src/modules/messaging/message-cleaner/utils/delete-using-pagination.util';
import { CalendarEventWorkspaceEntity } from 'src/modules/calendar/common/standard-objects/calendar-event.workspace-entity';
@Injectable()
export class CalendarEventCleanerService {
constructor(
@InjectWorkspaceRepository(CalendarEventWorkspaceEntity)
private readonly calendarEventRepository: WorkspaceRepository<CalendarEventWorkspaceEntity>,
) {}
constructor(private readonly twentyORMManager: TwentyORMManager) {}
public async cleanWorkspaceCalendarEvents(workspaceId: string) {
const calendarEventRepository =
await this.twentyORMManager.getRepository('calendarEvent');
await deleteUsingPagination(
workspaceId,
500,
async (limit, offset) => {
const nonAssociatedCalendarEvents =
await this.calendarEventRepository.find({
where: {
calendarChannelEventAssociations: {
id: IsNull(),
},
const nonAssociatedCalendarEvents = await calendarEventRepository.find({
where: {
calendarChannelEventAssociations: {
id: IsNull(),
},
take: limit,
skip: offset,
});
},
take: limit,
skip: offset,
});
return nonAssociatedCalendarEvents.map(({ id }) => id);
},
async (ids) => {
await this.calendarEventRepository.delete({ id: Any(ids) });
await calendarEventRepository.delete({ id: Any(ids) });
},
);
}