All files / apps/api/src/modules/sampleData/loaders sampleDataReporting.service.ts

100% Statements 29/29
50% Branches 2/4
100% Functions 2/2
100% Lines 29/29

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 301x 1x 1x 1x 1x 1x 1x 1x 1x 1x 2x 2x 2x 2x 2x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x  
import { Injectable } from '@nestjs/common';
import { InjectRepository } from '@nestjs/typeorm';
import { Repository, type FindOptionsWhere } from 'typeorm';
 
import { CustomReport, CustomReportFolder } from '@amalia/core/models';
import { type Company } from '@amalia/tenants/companies/types';
 
@Injectable()
export class SampleDataReportingService {
  public constructor(
    @InjectRepository(CustomReport)
    private readonly customReportRepository: Repository<CustomReport>,
    @InjectRepository(CustomReportFolder)
    private readonly customRepostFolderRepository: Repository<CustomReportFolder>,
  ) {}
 
  /**
   * Purge company reporting data (customReport, customReportFolder)
   * @param company
   */
  public async purge(company: Company): Promise<void> {
    const companyConditions: FindOptionsWhere<CustomReport> = {
      company: { id: company.id },
    };
 
    await this.customRepostFolderRepository.delete(companyConditions);
    await this.customReportRepository.delete(companyConditions);
  }
}