import DataFetcher from '@core/domain/common/port/DataFetcherPort' ; import LoggerPort from '@core/domain/common/port/LoggerPort' ; import Request from '@core/domain/request/Request' ; class FetchDataUseCase { constructor ( private readonly dataFetcher , private readonly logger ) { } async fetchData ( request ) { const rawData = await this . dataFetcher . fetch ( request ) ; this . logger . info ( `Data fetched [requestId=${ request . id }, rawData=${ rawData }]` ) ; return rawData ; } } export default FetchDataUseCase ;