import javax.ws.rs.QueryParam;
import javax.ws.rs.core.MediaType;
import org.openecomp.sdc.be.components.impl.PolicyTypeBusinessLogic;
-import org.openecomp.sdc.be.components.impl.aaf.AafPermission;
-import org.openecomp.sdc.be.components.impl.aaf.PermissionAllowed;
import org.openecomp.sdc.be.impl.ComponentsUtils;
import org.openecomp.sdc.be.mixin.PolicyTypeMixin;
import org.openecomp.sdc.be.model.PolicyTypeDefinition;
-import org.openecomp.sdc.be.user.UserBusinessLogic;
import org.openecomp.sdc.be.view.ResponseView;
import org.openecomp.sdc.common.api.Constants;
import org.openecomp.sdc.common.log.wrappers.Logger;
+import org.openecomp.sdc.common.util.ValidationUtils;
import org.springframework.stereotype.Controller;
@Loggable(prepend = true, value = Loggable.DEBUG, trim = false)
@Path("/v1/catalog")
-@Tags({@Tag(name = "SDC Internal APIs")})
+@Tags({@Tag(name = "SDCE-2 APIs")})
@Servers({@Server(url = "/sdc2/rest")})
@Controller
@Consumes(MediaType.APPLICATION_JSON)
private static final Logger log = Logger.getLogger(PolicyTypesEndpoint.class);
private final PolicyTypeBusinessLogic policyTypeBusinessLogic;
- public PolicyTypesEndpoint(UserBusinessLogic userBusinessLogic, ComponentsUtils componentsUtils,
+ public PolicyTypesEndpoint(ComponentsUtils componentsUtils,
PolicyTypeBusinessLogic policyTypeBusinessLogic) {
- super(userBusinessLogic, componentsUtils);
+ super(componentsUtils);
this.policyTypeBusinessLogic = policyTypeBusinessLogic;
}
@ApiResponse(responseCode = "403", description = "Restricted operation"),
@ApiResponse(responseCode = "500", description = "The GET request failed due to internal SDC problem.")})
@ResponseView(mixin = {PolicyTypeMixin.class})
- @PermissionAllowed(AafPermission.PermNames.INTERNAL_ALL_VALUE)
public List<PolicyTypeDefinition> getPolicyTypes(
- @Parameter(description = "An optional parameter to indicate the type of the container from where this call is executed") @QueryParam("internalComponentType") String internalComponentType,
+ @Parameter(description = "An optional parameter to indicate the type of the container from where this call is executed")
+ @QueryParam("internalComponentType") String internalComponentType,
+ @QueryParam("componentModel") String internalComponentModel,
@Parameter(description = "The user id", required = true) @HeaderParam(value = Constants.USER_ID_HEADER) String userId) {
log.debug("(get) Start handle request of GET policyTypes");
- return policyTypeBusinessLogic.getAllPolicyTypes(userId, internalComponentType);
+ if (internalComponentModel != null) {
+ internalComponentModel = ValidationUtils.sanitizeInputString(internalComponentModel.trim());
+ }
+ return policyTypeBusinessLogic
+ .getAllPolicyTypes(userId, internalComponentType, internalComponentModel);
}
}