package io.cattle.platform.iaas.api.auditing;
import io.cattle.platform.core.model.AuditLog;
import io.cattle.platform.core.model.ProcessInstance;
import io.cattle.platform.iaas.api.filter.common.AbstractDefaultResourceManagerFilter;
import io.github.ibuildthecloud.gdapi.condition.Condition;
import io.github.ibuildthecloud.gdapi.id.IdFormatter;
import io.github.ibuildthecloud.gdapi.request.ApiRequest;
import io.github.ibuildthecloud.gdapi.request.resource.ResourceManager;
import java.util.List;
import java.util.Map;
import javax.inject.Inject;
public class ResourceIdInputFilter extends AbstractDefaultResourceManagerFilter {
@Inject
IdFormatter idFormatter;
@Override
public Class<?>[] getTypeClasses() {
return new Class[] { AuditLog.class, ProcessInstance.class};
}
@Override
public Object list(String type, ApiRequest request, ResourceManager next) {
if (request.getConditions().containsKey(ResourceIdOutputFilter.RESOURCE_ID)) {
Map<String, List<Condition>> conditions = request
.getConditions();
List<Condition> conditionId = conditions.get(ResourceIdOutputFilter.RESOURCE_ID);
for (int i = 0; i < conditionId.size(); i++) {
conditionId.set(i, new Condition(conditionId.get(i).getConditionType(),
idFormatter.parseId((String) conditionId.get(i).getValue())));
}
}
return super.list(type, request, next);
}
}