Skip to content

Commit

Permalink
fix: add mapping for FlowV4
Browse files Browse the repository at this point in the history
  • Loading branch information
kamiiiel authored and a-cordier committed Jan 17, 2025
1 parent 4202c62 commit d318a8b
Showing 1 changed file with 16 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,14 @@
import io.gravitee.apim.core.utils.CollectionUtils;
import io.gravitee.definition.model.v4.ApiType;
import io.gravitee.definition.model.v4.endpointgroup.EndpointGroup;
import io.gravitee.definition.model.v4.flow.Flow;
import io.gravitee.definition.model.v4.nativeapi.NativeEndpointGroup;
import io.gravitee.definition.model.v4.nativeapi.NativeFlow;
import io.gravitee.definition.model.v4.nativeapi.NativeListener;
import io.gravitee.rest.api.management.v2.rest.model.ApiCRDSpec;
import io.gravitee.rest.api.management.v2.rest.model.ApiLifecycleState;
import io.gravitee.rest.api.management.v2.rest.model.EndpointGroupV4;
import io.gravitee.rest.api.management.v2.rest.model.FlowV4;
import io.gravitee.rest.api.management.v2.rest.model.Listener;
import io.gravitee.rest.api.management.v2.rest.model.PageCRD;
import io.gravitee.rest.api.management.v2.rest.model.PlanCRD;
Expand Down Expand Up @@ -56,6 +59,7 @@ public interface ApiCRDMapper {
@Mapping(target = "lifecycleState", qualifiedByName = "mapLifecycleState")
@Mapping(target = "listeners", expression = "java(mapApiCRDListeners(coreSpec))")
@Mapping(target = "endpointGroups", expression = "java(mapApiCRDEndpointGroups(coreSpec))")
@Mapping(target = "flows", expression = "java(mapApiCRDFlows(coreSpec))")
ApiCRDSpec map(io.gravitee.apim.core.api.model.crd.ApiCRDSpec coreSpec);

@Mapping(target = "security.type", qualifiedByName = "mapSecurityType")
Expand Down Expand Up @@ -102,4 +106,16 @@ default List<EndpointGroupV4> mapApiCRDEndpointGroups(io.gravitee.apim.core.api.
return EndpointMapper.INSTANCE.mapEndpointGroupHttpV4((List<EndpointGroup>) spec.getEndpointGroups());
}
}

default List<FlowV4> mapApiCRDFlows(io.gravitee.apim.core.api.model.crd.ApiCRDSpec spec) {
if (CollectionUtils.isEmpty(spec.getFlows())) {
return List.of();
}

if (ApiType.NATIVE.name().equalsIgnoreCase(spec.getType())) {
return FlowMapper.INSTANCE.mapFromNativeV4((List<NativeFlow>) spec.getFlows());
} else {
return FlowMapper.INSTANCE.mapFromHttpV4((List<Flow>) spec.getFlows());
}
}
}

0 comments on commit d318a8b

Please sign in to comment.