package io.cattle.platform.register.api; import io.cattle.platform.core.constants.CommonStatesConstants; import io.cattle.platform.core.constants.GenericObjectConstants; import io.cattle.platform.core.model.GenericObject; import io.cattle.platform.register.util.RegisterConstants; import io.github.ibuildthecloud.gdapi.model.Resource; import io.github.ibuildthecloud.gdapi.request.ApiRequest; import io.github.ibuildthecloud.gdapi.response.ResourceOutputFilter; import io.github.ibuildthecloud.gdapi.util.RequestUtils; public class RegisterOutputFilter implements ResourceOutputFilter { @Override public Resource filter(ApiRequest request, Object original, Resource converted) { if (!(original instanceof GenericObject)) { return converted; } Object key = request == null ? null : RequestUtils.makeSingularIfCan(request.getRequestParams().get(GenericObjectConstants.FIELD_KEY)); if (!CommonStatesConstants.ACTIVE.equals(((GenericObject) original).getState()) || key == null || !key.equals(((GenericObject) original).getKey())) { converted.getFields().remove(RegisterConstants.FIELD_ACCESS_KEY); converted.getFields().remove(RegisterConstants.FIELD_SECRET_KEY); converted.getFields().remove(GenericObjectConstants.FIELD_KEY); } return converted; } @Override public String[] getTypes() { return new String[] { RegisterConstants.KIND_REGISTER }; } @Override public Class<?>[] getTypeClasses() { return new Class<?>[0]; } }