All files / src/common/interceptors Command.interceptor.ts

0% Statements 0/6
0% Branches 0/2
0% Functions 0/2
0% Lines 0/5

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18                                   
import { BadRequestException, CallHandler, ExecutionContext, Injectable, NestInterceptor } from "@nestjs/common";
import { Observable, catchError } from "rxjs";
import { CommandError } from "../errors/Command.error";
 
@Injectable()
export class CommandInterceptor implements NestInterceptor {
	intercept(context: ExecutionContext, next: CallHandler<unknown>): Observable<unknown> | Promise<Observable<unknown>> {
		return next.handle().pipe(
			catchError((error) => {
				if (error instanceof CommandError) {
					throw new BadRequestException(error.message);
				}
				throw error;
			}),
		);
	}
}