Completed
Push — master ( f0da19...ae4aee )
by
unknown
17s queued 11s
created

UserAdministrativeRepository.findOneByUserId   A

Complexity

Conditions 1

Size

Total Lines 16
Code Lines 15

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 15
dl 0
loc 16
c 0
b 0
f 0
rs 9.65
cc 1
1
import {InjectRepository} from '@nestjs/typeorm';
2
import {Injectable} from '@nestjs/common';
3
import {Repository} from 'typeorm';
4
import {UserAdministrative} from 'src/Domain/HumanResource/User/UserAdministrative.entity';
5
import {IUserAdministrativeRepository} from 'src/Domain/HumanResource/User/Repository/IUserAdministrativeRepository';
6
7
@Injectable()
8
export class UserAdministrativeRepository
9
  implements IUserAdministrativeRepository {
10
  constructor(
11
    @InjectRepository(UserAdministrative)
12
    private readonly repository: Repository<UserAdministrative>
13
  ) {}
14
15
  public findOneByUserId(userId: string): Promise<UserAdministrative | undefined> {
16
    return this.repository
17
      .createQueryBuilder('userAdministrative')
18
      .select([
19
        'userAdministrative.id',
20
        'userAdministrative.joiningDate',
21
        'userAdministrative.leavingDate',
22
        'userAdministrative.annualEarnings',
23
        'userAdministrative.transportFee',
24
        'userAdministrative.healthInsurance',
25
        'userAdministrative.executivePosition',
26
        'userAdministrative.contract',
27
      ])
28
      .innerJoin('userAdministrative.user', 'user')
29
      .where('user.id = :userId', {userId})
30
      .getOne();
31
  }
32
33
  public save(
34
    userAdministrative: UserAdministrative
35
  ): Promise<UserAdministrative> {
36
    return this.repository.save(userAdministrative);
37
  }
38
}
39