src/Domain/HumanResource/Leave/Leave.entity.ts   A
last analyzed

Complexity

Total Complexity 5
Complexity/F 1

Size

Lines of Code 44
Function Count 5

Duplication

Duplicated Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
wmc 5
eloc 36
mnd 0
bc 0
fnc 5
dl 0
loc 44
bpm 0
cpm 1
noi 0
c 0
b 0
f 0
rs 10

5 Functions

Rating   Name   Duplication   Size   Complexity  
A Leave.getId 0 3 1
A Leave.getDate 0 3 1
A Leave.getTime 0 3 1
A Leave.getType 0 3 1
A Leave.getLeaveRequest 0 3 1
1
import { Entity, Column, PrimaryGeneratedColumn, ManyToOne } from 'typeorm';
2
import { LeaveRequest } from './LeaveRequest.entity';
3
4
@Entity()
5
export class Leave {
6
  @PrimaryGeneratedColumn('uuid')
7
  private id: string;
8
9
  @Column({ type: 'integer', nullable: false, comment: 'Stored in minutes' })
10
  private time: number;
11
12
  @Column({ type: 'date', nullable: false })
13
  private date: string;
14
15
  @ManyToOne(type => LeaveRequest, { nullable: false, onDelete: 'CASCADE' })
16
  private leaveRequest: LeaveRequest;
17
18
  constructor(leaveRequest: LeaveRequest, time: number, date: string) {
19
    this.leaveRequest = leaveRequest;
20
    this.time = time;
21
    this.date = date;
22
  }
23
24
  public getId(): string {
25
    return this.id;
26
  }
27
28
  public getLeaveRequest(): LeaveRequest {
29
    return this.leaveRequest;
30
  }
31
32
  public getType(): string {
33
    return `leave_${this.leaveRequest.getType()}`;
34
  }
35
36
  public getTime(): number {
37
    return this.time;
38
  }
39
40
  public getDate(): string {
41
    return this.date;
42
  }
43
}
44