for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
import { InjectRepository } from '@nestjs/typeorm';
import { Repository } from 'typeorm';
import { IInvoiceRepository } from 'src/Domain/Accounting/Repository/IInvoiceRepository';
import { Invoice } from 'src/Domain/Accounting/Invoice.entity';
export class InvoiceRepository implements IInvoiceRepository {
constructor(
@InjectRepository(Invoice)
private readonly repository: Repository<Invoice>
) {}
public save(invoice: Invoice): Promise<Invoice> {
return this.repository.save(invoice);
}
public countByYear(year: number): Promise<number> {
return this.repository
.createQueryBuilder('invoice')
.select('invoice.id')
.where('extract(year FROM invoice.createdAt) = :year', {year})
.getCount();