Passed
Push — master ( 1b1d3e...93cb6f )
by
unknown
02:31
created

src/Domain/HumanResource/Leave/Specification/CanLeaveRequestBeCancelled.ts   A

Complexity

Total Complexity 3
Complexity/F 3

Size

Lines of Code 29
Function Count 1

Duplication

Duplicated Lines 0
Ratio 0 %

Importance

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

1 Function

Rating   Name   Duplication   Size   Complexity  
A CanLeaveRequestBeCancelled.isSatisfiedBy 0 16 3
1
import { ILeaveRequestCancellation } from '../LeaveRequest.entity';
2
import { User } from '../../User/User.entity';
3
import { Inject } from '@nestjs/common';
4
import { IDateUtils } from 'src/Application/IDateUtils';
5
6
export class CanLeaveRequestBeCancelled {
7
  constructor(
8
    @Inject('IDateUtils')
9
    private dateUtils: IDateUtils
10
  ) {}
11
12
  public isSatisfiedBy(
13
    byUser: User,
14
    leaveRequest: ILeaveRequestCancellation
15
  ): boolean {
16
    if (byUser.getId() !== leaveRequest.getUserId()) {
17
      return false;
18
    }
19
20
    if (
21
      new Date(leaveRequest.getStartDate()) < this.dateUtils.getCurrentDate()
22
    ) {
23
      return false;
24
    }
25
26
    return true;
27
  }
28
}
29