public Task <ContractExecutionResult> PostCcaSummary([FromBody] CCASummaryRequest ccaSummaryRequest) { Log.LogInformation($"{nameof(PostCcaSummary)}: {Request.QueryString}"); ccaSummaryRequest.Validate(); ValidateFilterMachines(nameof(PostCcaSummary), ccaSummaryRequest.ProjectUid, ccaSummaryRequest.Filter); return(WithServiceExceptionTryExecuteAsync(() => RequestExecutorContainer .Build <SummaryCCAExecutor>(ConfigStore, LoggerFactory, ServiceExceptionHandler) .ProcessAsync(ccaSummaryRequest))); }
/// <summary> /// Processes the summary CCA request by passing the request to Raptor and returning the result. /// </summary> protected override async Task <ContractExecutionResult> ProcessAsyncEx <T>(T item) { try { var request = CastRequestObjectTo <CCARequest>(item); #if RAPTOR if (configStore.GetValueBool("ENABLE_TREX_GATEWAY_CCA") ?? false) { #endif await PairUpAssetIdentifiers(request.ProjectUid.Value, request.Filter); await PairUpImportedFileIdentifiers(request.ProjectUid.Value, filter1 : request.Filter); var ccaSummaryRequest = new CCASummaryRequest( request.ProjectUid.Value, request.Filter, AutoMapperUtility.Automapper.Map <OverridingTargets>(request.LiftBuildSettings), AutoMapperUtility.Automapper.Map <LiftSettings>(request.LiftBuildSettings)); return(await trexCompactionDataProxy.SendDataPostRequest <CCASummaryResult, CCASummaryRequest>(ccaSummaryRequest, "/cca/summary", customHeaders)); #if RAPTOR } var raptorFilter = RaptorConverters.ConvertFilter(request.Filter, request.ProjectId, raptorClient); bool success = raptorClient.GetCCASummary(request.ProjectId ?? VelociraptorConstants.NO_PROJECT_ID, ASNodeRPC.__Global.Construct_TASNodeRequestDescriptor(request.CallId ?? Guid.NewGuid(), 0, TASNodeCancellationDescriptorType.cdtCCASummary), raptorFilter, RaptorConverters.ConvertLift(request.LiftBuildSettings, raptorFilter.LayerMethod), out var ccaSummary); if (success) { return(ConvertResult(ccaSummary)); } throw CreateServiceException <SummaryCCAExecutor>(ccaSummary.ReturnCode); #endif } finally { ContractExecutionStates.ClearDynamic(); } }