Passed
Pull Request — master (#165)
by Mathieu
03:12 queued 01:18
created

InvoiceRepository.countByYear   A

Complexity

Conditions 1

Size

Total Lines 6
Code Lines 6

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 6
dl 0
loc 6
rs 10
c 0
b 0
f 0
1
import { InjectRepository } from '@nestjs/typeorm';
2
import { Repository } from 'typeorm';
3
import { IInvoiceRepository } from 'src/Domain/Accounting/Repository/IInvoiceRepository';
4
import { Invoice } from 'src/Domain/Accounting/Invoice.entity';
5
6
export class InvoiceRepository implements IInvoiceRepository {
7
  constructor(
8
    @InjectRepository(Invoice)
9
    private readonly repository: Repository<Invoice>
10
  ) {}
11
12
  public save(invoice: Invoice): Promise<Invoice> {
13
    return this.repository.save(invoice);
14
  }
15
16
  public countByYear(year: number): Promise<number> {
17
    return this.repository
18
      .createQueryBuilder('invoice')
19
      .select('invoice.id')
20
      .where('extract(year FROM invoice.createdAt) = :year', {year})
21
      .getCount();
22
  }
23
}
24