Passed
Pull Request — master (#287)
by
unknown
02:11
created

CalendarSecretGuard   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 18
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
wmc 2
eloc 16
dl 0
loc 18
c 0
b 0
f 0
rs 10

1 Function

Rating   Name   Duplication   Size   Complexity  
A canActivate 0 14 2
1
import { Request } from 'express';
2
import { Injectable, CanActivate, ExecutionContext } from '@nestjs/common';
3
import { ConfigService } from '@nestjs/config';
4
5
@Injectable()
6
export class CalendarSecretGuard implements CanActivate {
7
  constructor(private configService: ConfigService) {}
8
9
  public canActivate(context: ExecutionContext): boolean {
10
    const configuredCalendarSecret = this.configService.get<string>(
11
      'CALENDAR_SECRET'
12
    );
13
14
    if (!configuredCalendarSecret) {
15
      return false;
16
    }
17
18
    const request: Request = context.switchToHttp().getRequest();
19
    const { calendar_secret } = request.query;
20
21
    return configuredCalendarSecret === calendar_secret;
22
  }
23
}
24