Passed
Pull Request — master (#70)
by Mathieu
03:05 queued 47s
created

QuoteIdGenerator   A

Complexity

Total Complexity 1

Size/Duplication

Total Lines 15
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
wmc 1
eloc 15
dl 0
loc 15
c 0
b 0
f 0
rs 10

1 Function

Rating   Name   Duplication   Size   Complexity  
A generate 0 6 1
1
import {Injectable, Inject} from '@nestjs/common';
2
import {IQuoteRepository} from './Repository/IQuoteRepository';
3
import {IDateUtils} from 'src/Application/IDateUtils';
4
5
@Injectable()
6
export class QuoteIdGenerator {
7
  constructor(
8
    @Inject('IQuoteRepository')
9
    private readonly quoteRepository: IQuoteRepository,
10
    @Inject('IDateUtils')
11
    private readonly dateUtils: IDateUtils
12
  ) {}
13
14
  public async generate(): Promise<string> {
15
    const year = this.dateUtils.getCurrentDate().getFullYear();
16
    const nbItem = await this.quoteRepository.countByYear(year);
17
18
    return `FS-DEVIS-${year}-${String(nbItem + 1).padStart(4, '0')}`;
19
  }
20
}
21