Total Complexity | 1 |
Total Lines | 20 |
Duplicated Lines | 0 % |
Changes | 0 |
1 | import { Injectable, Inject } from '@nestjs/common'; |
||
6 | |||
7 | @Injectable() |
||
8 | export class QuoteIdGenerator extends AbstractGenerator { |
||
9 | constructor( |
||
10 | @Inject('IQuoteRepository') |
||
11 | private readonly quoteRepository: IQuoteRepository, |
||
12 | @Inject('IDateUtils') |
||
13 | protected readonly dateUtils: IDateUtils, |
||
14 | protected readonly configService: ConfigService |
||
15 | ) { |
||
16 | super(dateUtils, configService); |
||
17 | } |
||
18 | |||
19 | public async generate(): Promise<string> { |
||
20 | const [ prefix, nbItem ] = await Promise.all([ |
||
21 | this.configService.get<string>('ACCOUNTING_QUOTE_PREFIX'), |
||
22 | this.quoteRepository.countByYear(this.getCurrentYear()) |
||
23 | ]); |
||
24 | |||
25 | return this.format(prefix, nbItem); |
||
26 | } |
||
28 |