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 { return next.handle().pipe( map((data: BaseInquiryResponseDto) => normalizeInquiryResponse(data)), ); } }