X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=vid-app-common%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Fvid%2Fcontroller%2FAsyncInstantiationController.java;h=ce8bbb50c9996866574a701fc8b56b5320a5a824;hb=d11a4dd882e3337f13a83d219001960339243ba9;hp=c73a01877a418712a1d43f5e014bb0ffe04ded4e;hpb=fbb6e45a9186104f50162472e05b4bd76d20de5c;p=vid.git diff --git a/vid-app-common/src/main/java/org/onap/vid/controller/AsyncInstantiationController.java b/vid-app-common/src/main/java/org/onap/vid/controller/AsyncInstantiationController.java index c73a01877..ce8bbb50c 100644 --- a/vid-app-common/src/main/java/org/onap/vid/controller/AsyncInstantiationController.java +++ b/vid-app-common/src/main/java/org/onap/vid/controller/AsyncInstantiationController.java @@ -33,13 +33,13 @@ import org.onap.vid.model.ServiceInfo; import org.onap.vid.model.serviceInstantiation.ServiceInstantiation; import org.onap.vid.mso.MsoResponseWrapper2; import org.onap.vid.properties.Features; +import org.onap.vid.roles.AllPermissionProperties; import org.onap.vid.roles.RoleProvider; +import org.onap.vid.roles.RoleValidator; import org.onap.vid.services.AsyncInstantiationBusinessLogic; import org.onap.vid.services.AuditService; -import org.onap.vid.services.InstantiationTemplatesService; import org.onap.vid.utils.SystemPropertiesWrapper; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; @@ -56,7 +56,6 @@ public class AsyncInstantiationController extends VidRestrictedBaseController { public static final String ASYNC_INSTANTIATION = "asyncInstantiation"; protected final AsyncInstantiationBusinessLogic asyncInstantiationBL; - protected final InstantiationTemplatesService instantiationTemplates; protected final AsyncInstantiationRepository asyncInstantiationRepository; private final SystemPropertiesWrapper systemPropertiesWrapper; @@ -68,12 +67,10 @@ public class AsyncInstantiationController extends VidRestrictedBaseController { @Autowired public AsyncInstantiationController(AsyncInstantiationBusinessLogic asyncInstantiationBL, - InstantiationTemplatesService instantiationTemplates, AsyncInstantiationRepository asyncInstantiationRepository, RoleProvider roleProvider, FeatureManager featureManager, SystemPropertiesWrapper systemPropertiesWrapper, AuditService auditService) { this.asyncInstantiationBL = asyncInstantiationBL; - this.instantiationTemplates = instantiationTemplates; this.asyncInstantiationRepository = asyncInstantiationRepository; this.roleProvider = roleProvider; this.featureManager = featureManager; @@ -81,19 +78,9 @@ public class AsyncInstantiationController extends VidRestrictedBaseController { this.auditService = auditService; } - /** - * Gets the new services status. - * @param request the request - * @return the services list - */ @RequestMapping(method = RequestMethod.GET) - public List getServicesInfo(HttpServletRequest request, - @RequestParam(value = "serviceModelId", required = false) UUID serviceModelId) { - if (serviceModelId == null) { - return asyncInstantiationBL.getAllServicesInfo(); - } else { - return asyncInstantiationRepository.listInstantiatedServicesByServiceModelId(serviceModelId); - } + public List getServicesInfo(HttpServletRequest request) { + return asyncInstantiationBL.getAllServicesInfo(); } @RequestMapping(value = "bulk", method = RequestMethod.POST) @@ -174,19 +161,21 @@ public class AsyncInstantiationController extends VidRestrictedBaseController { return new MsoResponseWrapper2(200, uuids); } - @GetMapping("templateTopology/{jobId}") - public ServiceInstantiation getTemplateTopology(HttpServletRequest request, @PathVariable(value="jobId") UUID jobId) { - return instantiationTemplates.getJobRequestAsTemplate(jobId); - } - @RequestMapping(value = "/auditStatusForRetry/{trackById}", method = RequestMethod.GET) public JobAuditStatus getResourceAuditStatus(HttpServletRequest request, @PathVariable(value="trackById") String trackById) { return auditService.getResourceAuditStatus(trackById); } private void throwExceptionIfAccessDenied(ServiceInstantiation request, HttpServletRequest httpServletRequest, String userId) { - if (featureManager.isActive(Features.FLAG_1906_INSTANTIATION_API_USER_VALIDATION) && !roleProvider.getUserRolesValidator(httpServletRequest).isServicePermitted(request.getGlobalSubscriberId(), request.getSubscriptionServiceType())) { - throw new AccessDeniedException(String.format("User %s is not allowed to make this request", userId)); + if (featureManager.isActive(Features.FLAG_1906_INSTANTIATION_API_USER_VALIDATION)) { + RoleValidator roleValidator = roleProvider.getUserRolesValidator(httpServletRequest); + if (!roleValidator.isServicePermitted(new AllPermissionProperties( + request.getGlobalSubscriberId(), + request.getSubscriptionServiceType(), + request.getOwningEntityId())) + ) { + throw new AccessDeniedException(String.format("User %s is not allowed to make this request", userId)); + } } } }