2025-03-05 07:05:19 +03:00

31 lines
819 B
TypeScript

import {
CanActivate,
ExecutionContext,
Injectable,
NotFoundException
} from '@nestjs/common'
import { Request } from 'express'
import { ProviderService } from '../provider/provider.service'
@Injectable()
export class AuthProviderGuard implements CanActivate {
public constructor(private readonly providerService: ProviderService) {}
public canActivate(context: ExecutionContext) {
const request = context.switchToHttp().getRequest() as Request
const provider = request.params.provider
const providerInstance = this.providerService.findByService(provider)
if (!providerInstance) {
throw new NotFoundException(
`Провайдер "${provider}" не найден. Пожалуйста, проверьте правильность введенных данных.`
)
}
return true
}
}