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

CalendarSecretGuard.canActivate   A

Complexity

Conditions 2

Size

Total Lines 14
Code Lines 12

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 12
dl 0
loc 14
c 0
b 0
f 0
rs 9.8
cc 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