Passed
Push — master ( 28db6b...fa5b81 )
by Mathieu
01:55
created

api/src/Application/Order/Query/ShippingCost/GetShippingCostsQueryHandler.ts   A

Complexity

Total Complexity 2
Complexity/F 2

Size

Lines of Code 31
Function Count 1

Duplication

Duplicated Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
wmc 2
eloc 25
mnd 1
bc 1
fnc 1
dl 0
loc 31
bpm 1
cpm 2
noi 0
c 0
b 0
f 0
rs 10

1 Function

Rating   Name   Duplication   Size   Complexity  
A GetShippingCostsQueryHandler.execute 0 16 2
1
import { QueryHandler } from '@nestjs/cqrs';
2
import { Inject } from '@nestjs/common';
3
import { GetShippingCostsQuery } from './GetShippingCostsQuery';
4
import { IShippingCostRepository } from 'src/Domain/Order/Repository/IShippingCostRepository';
5
import { ShippingCostView } from '../../View/ShippingCostView';
6
7
@QueryHandler(GetShippingCostsQuery)
8
export class GetShippingCostsQueryHandler {
9
  constructor(
10
    @Inject('IShippingCostRepository')
11
    private readonly shippingcostRepository: IShippingCostRepository
12
  ) { }
13
14
  public async execute(query: GetShippingCostsQuery): Promise<ShippingCostView[]> {
15
    const shippingcostViews: ShippingCostView[] = [];
16
    const shippingCosts = await this.shippingcostRepository.findShippingCosts();
17
18
    for (const shippingCost of shippingCosts) {
19
      shippingcostViews.push(
20
        new ShippingCostView(
21
          shippingCost.getId(),
22
          shippingCost.getGrams(),
23
          shippingCost.getPriceFromCents(),
24
        )
25
      );
26
    }
27
28
    return shippingcostViews;
29
  }
30
}
31