[PORTAL-16 PORTAL-18] Widget ms; staging
[portal.git] / ecomp-portal-BE-common / src / main / java / org / openecomp / portalapp / portal / service / UserRolesService.java
index 1b9dfd0..eebf3bf 100644 (file)
@@ -1,67 +1,91 @@
-/*-\r
- * ================================================================================\r
- * ECOMP Portal\r
- * ================================================================================\r
- * Copyright (C) 2017 AT&T Intellectual Property\r
- * ================================================================================\r
- * Licensed under the Apache License, Version 2.0 (the "License");\r
- * you may not use this file except in compliance with the License.\r
- * You may obtain a copy of the License at\r
- * \r
- *      http://www.apache.org/licenses/LICENSE-2.0\r
- * \r
- * Unless required by applicable law or agreed to in writing, software\r
- * distributed under the License is distributed on an "AS IS" BASIS,\r
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- * See the License for the specific language governing permissions and\r
- * limitations under the License.\r
- * ================================================================================\r
- */\r
-package org.openecomp.portalapp.portal.service;\r
-\r
-import java.util.List;\r
-\r
-import org.apache.cxf.transport.http.HTTPException;\r
-import org.openecomp.portalapp.externalsystemapproval.model.ExternalSystemUser;\r
-import org.openecomp.portalapp.portal.domain.EPRole;\r
-import org.openecomp.portalapp.portal.domain.EPUser;\r
-import org.openecomp.portalapp.portal.domain.EPUserApp;\r
-import org.openecomp.portalapp.portal.domain.EPUserAppCatalogRoles;\r
-import org.openecomp.portalapp.portal.domain.ExternalSystemAccess;\r
-import org.openecomp.portalapp.portal.transport.AppWithRolesForUser;\r
-import org.openecomp.portalapp.portal.transport.FieldsValidator;\r
-import org.openecomp.portalapp.portal.transport.RoleInAppForUser;\r
-import org.openecomp.portalapp.portal.transport.UserApplicationRoles;\r
-\r
-public interface UserRolesService {\r
-\r
-       public List<RoleInAppForUser> getAppRolesForUser(Long appId, String userId);\r
-\r
-       public boolean setAppWithUserRoleStateForUser(EPUser user, AppWithRolesForUser newAppRolesForUser);\r
-\r
-       public List<UserApplicationRoles> getUsersFromAppEndpoint(Long appId) throws HTTPException;\r
-\r
-       public List<EPRole> importRolesFromRemoteApplication(Long appId) throws HTTPException;\r
-       \r
-       /**\r
-        * Gets entries from the local fn_user_role table for the specified user and\r
-        * app.\r
-        * \r
-        * @param appId\r
-        *            ID of row in fn_app\r
-        * @param userid\r
-        *            ID of row in fn_user\r
-        * @return List of EPRole; empty if none found.\r
-        */\r
-       public List<EPUserApp> getCachedAppRolesForUser(Long appId, Long userId);\r
-       \r
-       public FieldsValidator putUserAppRolesRequest(AppWithRolesForUser userAppRolesData, EPUser user);\r
-\r
-       String setAppWithUserRoleStateForUser(ExternalSystemUser newAppRolesForUser);\r
-\r
-       public List<EPUserAppCatalogRoles> getUserAppCatalogRoles(EPUser user, String appName);\r
-       \r
-       public String updateRemoteUserProfile(String orgUserId, Long appId);\r
-       \r
-       public ExternalSystemAccess getExternalRequestAccess();\r
-}\r
+/*-
+ * ================================================================================
+ * ECOMP Portal
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ================================================================================
+ */
+
+package org.openecomp.portalapp.portal.service;
+
+import java.util.List;
+
+import org.apache.cxf.transport.http.HTTPException;
+import org.openecomp.portalapp.externalsystemapproval.model.ExternalSystemUser;
+import org.openecomp.portalapp.portal.domain.EPRole;
+import org.openecomp.portalapp.portal.domain.EPUser;
+import org.openecomp.portalapp.portal.domain.EPUserApp;
+import org.openecomp.portalapp.portal.domain.EPUserAppCatalogRoles;
+import org.openecomp.portalapp.portal.domain.ExternalSystemAccess;
+import org.openecomp.portalapp.portal.transport.AppWithRolesForUser;
+import org.openecomp.portalapp.portal.transport.ExternalRequestFieldsValidator;
+import org.openecomp.portalapp.portal.transport.FieldsValidator;
+import org.openecomp.portalapp.portal.transport.RoleInAppForUser;
+import org.openecomp.portalapp.portal.transport.UserApplicationRoles;
+
+public interface UserRolesService {
+
+       /**
+        * Returns list of app roles of a single app
+        * 
+        * @param appId
+        *            ID of row in fn_app
+        * @param userId
+        *            ID of row in fn_user
+        * @param extRequestValue
+        *            set to false if request is from users page otherwise true
+        * @return List<RoleInAppForUser>
+        */
+       public List<RoleInAppForUser> getAppRolesForUser(Long appId, String userId, Boolean extRequestValue);
+
+       public boolean setAppWithUserRoleStateForUser(EPUser user, AppWithRolesForUser newAppRolesForUser);
+
+       public List<UserApplicationRoles> getUsersFromAppEndpoint(Long appId) throws HTTPException;
+
+       public List<EPRole> importRolesFromRemoteApplication(Long appId) throws HTTPException;
+
+       /**
+        * Gets entries from the local fn_user_role table for the specified user and
+        * app.
+        * 
+        * @param appId
+        *            ID of row in fn_app
+        * @param userId
+        *            ID of row in fn_user
+        * @return List of EPRole; empty if none found.
+        */
+       public List<EPUserApp> getCachedAppRolesForUser(Long appId, Long userId);
+
+       public FieldsValidator putUserAppRolesRequest(AppWithRolesForUser userAppRolesData, EPUser user);
+
+       /**
+        * Save user app roles in the database from the external request
+        * 
+        * @param newAppRolesForUser
+        * 
+        *            contains login id, app name, request id, and list of role
+        *            names
+        * @param reqType
+        * @return if any exceptions, returns detail message and true or false
+        */
+       ExternalRequestFieldsValidator setExternalRequestUserAppRole(ExternalSystemUser newAppRolesForUser, String reqType);
+
+       public List<EPUserAppCatalogRoles> getUserAppCatalogRoles(EPUser user, String appName);
+
+       public String updateRemoteUserProfile(String orgUserId, Long appId);
+
+       public ExternalSystemAccess getExternalRequestAccess();
+
+}