forked from Shared/esg
23 lines
697 B
TypeScript
23 lines
697 B
TypeScript
import {
|
|
CallHandler,
|
|
ExecutionContext,
|
|
Injectable,
|
|
NestInterceptor,
|
|
} from '@nestjs/common';
|
|
import { Observable } from 'rxjs';
|
|
import { map } from 'rxjs/operators';
|
|
import { BaseInquiryResponseDto } from '../dto/base-inquiry-response.dto';
|
|
import { normalizeInquiryResponse } from '../helpers/inquiry-response.helper';
|
|
|
|
/**
|
|
* Ensures inquiry endpoints always emit BaseInquiryResponseDto shape.
|
|
*/
|
|
@Injectable()
|
|
export class ResponseTransformInterceptor implements NestInterceptor {
|
|
intercept(_context: ExecutionContext, next: CallHandler): Observable<unknown> {
|
|
return next.handle().pipe(
|
|
map((data: BaseInquiryResponseDto) => normalizeInquiryResponse(data)),
|
|
);
|
|
}
|
|
}
|