2 * ============LICENSE_START==========================================
4 * ===================================================================
5 * Copyright © 2017 AT&T Intellectual Property. All rights reserved.
6 * ===================================================================
8 * Unless otherwise specified, all software contained herein is licensed
9 * under the Apache License, Version 2.0 (the “License”);
10 * you may not use this software except in compliance with the License.
11 * You may obtain a copy of the License at
13 * http://www.apache.org/licenses/LICENSE-2.0
15 * Unless required by applicable law or agreed to in writing, software
16 * distributed under the License is distributed on an "AS IS" BASIS,
17 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18 * See the License for the specific language governing permissions and
19 * limitations under the License.
21 * Unless otherwise specified, all documentation contained herein is licensed
22 * under the Creative Commons License, Attribution 4.0 Intl. (the “License”);
23 * you may not use this documentation except in compliance with the License.
24 * You may obtain a copy of the License at
26 * https://creativecommons.org/licenses/by/4.0/
28 * Unless required by applicable law or agreed to in writing, documentation
29 * distributed under the License is distributed on an "AS IS" BASIS,
30 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
31 * See the License for the specific language governing permissions and
32 * limitations under the License.
34 * ============LICENSE_END============================================
36 * ECOMP is a trademark and service mark of AT&T Intellectual Property.
38 package org.openecomp.portalapp.portal.controller;
40 import java.util.ArrayList;
41 import java.util.List;
43 import javax.servlet.http.HttpServletRequest;
44 import javax.servlet.http.HttpServletResponse;
46 import org.openecomp.portalapp.portal.domain.CentralRoleFunction;
47 import org.openecomp.portalapp.portal.domain.EPApp;
48 import org.openecomp.portalapp.portal.domain.EPUser;
49 import org.openecomp.portalapp.portal.domain.EcompAuditLog;
50 import org.openecomp.portalapp.portal.ecomp.model.PortalRestResponse;
51 import org.openecomp.portalapp.portal.ecomp.model.PortalRestStatusEnum;
52 import org.openecomp.portalapp.portal.logging.aop.EPAuditLog;
53 import org.openecomp.portalapp.portal.logging.aop.EPEELFLoggerAdvice;
54 import org.openecomp.portalapp.portal.logging.logic.EPLogUtil;
55 import org.openecomp.portalapp.portal.service.ExternalAccessRolesService;
56 import org.openecomp.portalapp.portal.transport.CentralRole;
57 import org.openecomp.portalapp.portal.utils.EPCommonSystemProperties;
58 import org.openecomp.portalapp.portal.utils.EcompPortalUtils;
59 import org.openecomp.portalapp.portal.utils.PortalConstants;
60 import org.openecomp.portalsdk.core.domain.AuditLog;
61 import org.openecomp.portalsdk.core.domain.Role;
62 import org.openecomp.portalsdk.core.domain.RoleFunction;
63 import org.openecomp.portalsdk.core.logging.logic.EELFLoggerDelegate;
64 import org.openecomp.portalsdk.core.restful.domain.EcompUser;
65 import org.openecomp.portalsdk.core.service.AuditService;
66 import org.openecomp.portalsdk.core.util.SystemProperties;
68 import org.springframework.beans.factory.annotation.Autowired;
69 import org.springframework.context.annotation.EnableAspectJAutoProxy;
70 import org.springframework.web.bind.annotation.PathVariable;
71 import org.springframework.web.bind.annotation.RequestBody;
72 import org.springframework.web.bind.annotation.RequestMapping;
73 import org.springframework.web.bind.annotation.RequestMethod;
74 import org.springframework.web.bind.annotation.RestController;
75 import org.springframework.web.client.HttpClientErrorException;
77 import com.fasterxml.jackson.databind.ObjectMapper;
79 import io.swagger.annotations.ApiOperation;
82 @RequestMapping("/auxapi")
83 @org.springframework.context.annotation.Configuration
84 @EnableAspectJAutoProxy
86 public class ExternalAccessRolesController implements BasicAuthenticationController {
88 private static final String LOGIN_ID = "LoginId";
91 private AuditService auditService;
93 private static final String UEBKEY = "uebkey";
95 private static EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(ExternalAccessRolesController.class);
98 private ExternalAccessRolesService externalAccessRolesService;
100 @ApiOperation(value = "Gets user role for an application.", response = String.class, responseContainer = "List")
101 @RequestMapping(value = { "/user/{loginId}" }, method = RequestMethod.GET, produces = "application/json")
102 public String getUser(HttpServletRequest request, HttpServletResponse response,
103 @PathVariable("loginId") String loginId) throws Exception {
105 String answer = null;
107 answer = externalAccessRolesService.getUserWithRoles(loginId, request.getHeader(UEBKEY));
108 } catch (Exception e) {
109 logger.error(EELFLoggerDelegate.errorLogger, "getUser failed", e);
114 @ApiOperation(value = "Gets roles for an application.", response = CentralRole.class, responseContainer = "Json")
115 @RequestMapping(value = { "/roles" }, method = RequestMethod.GET, produces = "application/json")
116 public List<CentralRole> getRolesForApp(HttpServletRequest request, HttpServletResponse response) throws Exception {
117 logger.debug(EELFLoggerDelegate.debugLogger, "Request received for getRolesForApp");
118 List<EPApp> applicationList = new ArrayList<>();
119 applicationList = externalAccessRolesService.getApp(request.getHeader(UEBKEY));
120 EPApp app = applicationList.get(0);
121 externalAccessRolesService.syncApplicationRolesWithEcompDB(app);
122 List<CentralRole> answer = null;
124 answer = externalAccessRolesService.getRolesForApp(request.getHeader(UEBKEY));
125 } catch (HttpClientErrorException e) {
126 if ("Application not found".equalsIgnoreCase(e.getMessage())) {
127 response.setStatus(HttpServletResponse.SC_NOT_FOUND);
129 response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
130 logger.error(EELFLoggerDelegate.errorLogger, "getRolesForApp failed", e);
132 logger.debug(EELFLoggerDelegate.debugLogger, "Request completed for getRolesForApp");
136 @ApiOperation(value = "Gets all role functions for an application.", response = CentralRoleFunction.class, responseContainer = "Json")
137 @RequestMapping(value = { "/functions" }, method = RequestMethod.GET, produces = "application/json")
138 public List<CentralRoleFunction> getRoleFunctionsList(HttpServletRequest request, HttpServletResponse response)
140 List<CentralRoleFunction> answer = null;
141 logger.debug(EELFLoggerDelegate.debugLogger, "Request received for getRoleFunctionsList");
143 answer = externalAccessRolesService.getRoleFuncList(request.getHeader(UEBKEY));
144 } catch (HttpClientErrorException e) {
145 response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
146 logger.error(EELFLoggerDelegate.errorLogger, "getRoleFunctionsList failed", e);
148 logger.debug(EELFLoggerDelegate.debugLogger, "Request completed for getRoleFunctionsList");
152 @ApiOperation(value = "Gets role information for an application.", response = CentralRole.class, responseContainer = "Json")
153 @RequestMapping(value = { "/role/{role_id}" }, method = RequestMethod.GET, produces = "application/json")
154 public CentralRole getRoleInfo(HttpServletRequest request, HttpServletResponse response,
155 @PathVariable("role_id") Long roleId) throws Exception {
156 CentralRole answer = null;
157 logger.debug(EELFLoggerDelegate.debugLogger, "Request received for getRoleInfo");
160 answer = externalAccessRolesService.getRoleInfo(roleId, request.getHeader(UEBKEY));
161 } catch (HttpClientErrorException e) {
162 response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
163 logger.error(EELFLoggerDelegate.errorLogger, "getRoleInfo failed", e);
165 logger.debug(EELFLoggerDelegate.debugLogger, "Request completed for getRoleInfo");
169 @ApiOperation(value = "Gets role information for an application provided by function code.", response = CentralRoleFunction.class, responseContainer = "Json")
170 @RequestMapping(value = { "/function/{code}" }, method = RequestMethod.GET, produces = "application/json")
171 public CentralRoleFunction getRoleFunction(HttpServletRequest request, HttpServletResponse response,
172 @PathVariable("code") String code) throws Exception {
173 CentralRoleFunction centralRoleFunction = null;
175 centralRoleFunction = externalAccessRolesService.getRoleFunction(code, request.getHeader(UEBKEY));
176 } catch (HttpClientErrorException e) {
177 response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
178 logger.error(EELFLoggerDelegate.errorLogger, "getRoleInfo failed", e);
180 return centralRoleFunction;
183 @ApiOperation(value = "Saves role function for an application.", response = PortalRestResponse.class, responseContainer = "Json")
184 @RequestMapping(value = { "/roleFunction" }, method = RequestMethod.POST, produces = "application/json")
185 public PortalRestResponse<String> saveRoleFunction(HttpServletRequest request, HttpServletResponse response,
186 @RequestBody String roleFunc) throws Exception {
188 ObjectMapper mapper = new ObjectMapper();
189 List<EPApp> applicationList = externalAccessRolesService.getApp(request.getHeader(UEBKEY));
190 EPApp requestedApp = applicationList.get(0);
191 Long appId = requestedApp.getId();
193 String data = roleFunc;
194 CentralRoleFunction availableRoleFunction = mapper.readValue(data, CentralRoleFunction.class);
195 availableRoleFunction.setAppId(appId);
196 boolean saveOrUpdateResponse = externalAccessRolesService.saveCentralRoleFunction(availableRoleFunction,
198 if (saveOrUpdateResponse) {
199 EPUser user = externalAccessRolesService.getUser(request.getHeader(LOGIN_ID)).get(0);
200 EPApp app = externalAccessRolesService.getApp(request.getHeader(UEBKEY)).get(0);
201 CentralRoleFunction function = externalAccessRolesService
202 .getRoleFunction(availableRoleFunction.getCode(), request.getHeader(UEBKEY));
203 String activityCode = (function.getCode() == null)
204 ? EcompAuditLog.CD_ACTIVITY_EXTERNAL_AUTH_ADD_FUNCTION
205 : EcompAuditLog.CD_ACTIVITY_EXTERNAL_AUTH_UPDATE_FUNCTION;
206 logger.info(EELFLoggerDelegate.applicationLogger, "saveRoleFunction: succeeded for app {}, function {}",
207 app.getId(), availableRoleFunction.getCode());
208 AuditLog auditLog = new AuditLog();
209 auditLog.setUserId(user.getId());
210 auditLog.setActivityCode(activityCode);
211 auditLog.setComments(
212 EcompPortalUtils.truncateString(
213 "saveRoleFunction role for app:" + app.getId() + " and function:'"
214 + availableRoleFunction.getCode() + "'",
215 PortalConstants.AUDIT_LOG_COMMENT_SIZE));
216 auditLog.setAffectedRecordId(user.getOrgUserId());
217 auditService.logActivity(auditLog, null);
218 MDC.put(EPCommonSystemProperties.AUDITLOG_BEGIN_TIMESTAMP, EPEELFLoggerAdvice.getCurrentDateTimeUTC());
219 MDC.put(EPCommonSystemProperties.AUDITLOG_END_TIMESTAMP, EPEELFLoggerAdvice.getCurrentDateTimeUTC());
220 EcompPortalUtils.calculateDateTimeDifferenceForLog(
221 MDC.get(EPCommonSystemProperties.AUDITLOG_BEGIN_TIMESTAMP),
222 MDC.get(EPCommonSystemProperties.AUDITLOG_END_TIMESTAMP));
223 logger.info(EELFLoggerDelegate.auditLogger,
224 EPLogUtil.formatAuditLogMessage("ExternalAccessRolesController.saveRoleFunction", activityCode,
225 String.valueOf(user.getId()), user.getOrgUserId(), availableRoleFunction.getCode()));
226 MDC.remove(EPCommonSystemProperties.AUDITLOG_BEGIN_TIMESTAMP);
227 MDC.remove(EPCommonSystemProperties.AUDITLOG_END_TIMESTAMP);
228 MDC.remove(SystemProperties.MDC_TIMER);
230 logger.error(EELFLoggerDelegate.errorLogger, "saveRoleFunction failed");
231 return new PortalRestResponse<String>(PortalRestStatusEnum.ERROR,
232 "Failed to saveRoleFunction for '" + availableRoleFunction.getCode() + "'", "Failed");
234 } catch (Exception e) {
235 logger.error(EELFLoggerDelegate.errorLogger, "saveRoleFunction failed", e);
236 return new PortalRestResponse<String>(PortalRestStatusEnum.ERROR, e.getMessage(), "Failed");
238 return new PortalRestResponse<String>(PortalRestStatusEnum.OK, "Successfully Saved", "Success");
241 @ApiOperation(value = "Deletes role function for an application.", response = PortalRestResponse.class, responseContainer = "Json")
242 @RequestMapping(value = { "/roleFunction/{code}" }, method = RequestMethod.DELETE, produces = "application/json")
243 public PortalRestResponse<String> deleteRoleFunction(HttpServletRequest request, HttpServletResponse response,
244 @PathVariable("code") String code) throws Exception {
246 EPUser user = externalAccessRolesService.getUser(request.getHeader(LOGIN_ID)).get(0);
247 EPApp app = externalAccessRolesService.getApp(request.getHeader(UEBKEY)).get(0);
248 boolean getDelFuncResponse = externalAccessRolesService.deleteCentralRoleFunction(code, app);
249 if (getDelFuncResponse) {
250 logger.info(EELFLoggerDelegate.applicationLogger, "deleteRoleFunction: succeeded for app {}, role {}",
252 AuditLog auditLog = new AuditLog();
253 auditLog.setUserId(user.getId());
254 auditLog.setActivityCode(EcompAuditLog.CD_ACTIVITY_EXTERNAL_AUTH_DELETE_FUNCTION);
255 auditLog.setComments(EcompPortalUtils.truncateString(
256 "Deleted function for app:" + app.getId() + " and function code:'" + code + "'",
257 PortalConstants.AUDIT_LOG_COMMENT_SIZE));
258 auditLog.setAffectedRecordId(user.getOrgUserId());
259 auditService.logActivity(auditLog, null);
260 MDC.put(EPCommonSystemProperties.AUDITLOG_BEGIN_TIMESTAMP, EPEELFLoggerAdvice.getCurrentDateTimeUTC());
261 MDC.put(EPCommonSystemProperties.AUDITLOG_END_TIMESTAMP, EPEELFLoggerAdvice.getCurrentDateTimeUTC());
262 EcompPortalUtils.calculateDateTimeDifferenceForLog(
263 MDC.get(EPCommonSystemProperties.AUDITLOG_BEGIN_TIMESTAMP),
264 MDC.get(EPCommonSystemProperties.AUDITLOG_END_TIMESTAMP));
265 logger.info(EELFLoggerDelegate.auditLogger,
266 EPLogUtil.formatAuditLogMessage("ExternalAccessRolesController.deleteRoleFunction",
267 EcompAuditLog.CD_ACTIVITY_EXTERNAL_AUTH_DELETE_FUNCTION, String.valueOf(user.getId()),
268 user.getOrgUserId(), code));
269 MDC.remove(EPCommonSystemProperties.AUDITLOG_BEGIN_TIMESTAMP);
270 MDC.remove(EPCommonSystemProperties.AUDITLOG_END_TIMESTAMP);
271 MDC.remove(SystemProperties.MDC_TIMER);
273 logger.error(EELFLoggerDelegate.errorLogger, "deleteRoleFunction failed");
274 return new PortalRestResponse<String>(PortalRestStatusEnum.ERROR,
275 "Failed to deleteRoleFunction for '" + code + "'", "Failed");
277 } catch (HttpClientErrorException e) {
278 response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
279 logger.error(EELFLoggerDelegate.errorLogger, "deleteRoleFunction failed", e);
280 return new PortalRestResponse<>(PortalRestStatusEnum.ERROR,
281 "Failed to deleteRoleFunction for '" + code + "'", "Failed");
283 return new PortalRestResponse<>(PortalRestStatusEnum.OK, "Successfully Deleted", "Success");
287 @ApiOperation(value = "Saves role for an application.", response = PortalRestResponse.class, responseContainer = "Json")
288 @RequestMapping(value = { "/role" }, method = RequestMethod.POST, produces = "application/json")
289 public PortalRestResponse<String> saveRole(HttpServletRequest request, HttpServletResponse response,
290 @RequestBody Role role) throws Exception {
292 EPUser user = externalAccessRolesService.getUser(request.getHeader(LOGIN_ID)).get(0);
293 EPApp app = externalAccessRolesService.getApp(request.getHeader(UEBKEY)).get(0);
294 boolean getAddResponse = externalAccessRolesService.saveRoleForApplication(role, request.getHeader(UEBKEY));
295 if (getAddResponse) {
296 String activityCode = (role.getId() == null) ? EcompAuditLog.CD_ACTIVITY_EXTERNAL_AUTH_ADD_ROLE
297 : EcompAuditLog.CD_ACTIVITY_EXTERNAL_AUTH_UPDATE_ROLE_AND_FUNCTION;
298 logger.info(EELFLoggerDelegate.applicationLogger, "saveRole: succeeded for app {}, role {}",
299 app.getId(), role.getName());
300 AuditLog auditLog = new AuditLog();
301 auditLog.setUserId(user.getId());
302 auditLog.setActivityCode(activityCode);
303 auditLog.setComments(EcompPortalUtils.truncateString(
304 "saveRole role for app:" + app.getId() + " and role:'" + role.getName() + "'",
305 PortalConstants.AUDIT_LOG_COMMENT_SIZE));
306 auditLog.setAffectedRecordId(user.getOrgUserId());
307 auditService.logActivity(auditLog, null);
308 MDC.put(EPCommonSystemProperties.AUDITLOG_BEGIN_TIMESTAMP, EPEELFLoggerAdvice.getCurrentDateTimeUTC());
309 MDC.put(EPCommonSystemProperties.AUDITLOG_END_TIMESTAMP, EPEELFLoggerAdvice.getCurrentDateTimeUTC());
310 EcompPortalUtils.calculateDateTimeDifferenceForLog(
311 MDC.get(EPCommonSystemProperties.AUDITLOG_BEGIN_TIMESTAMP),
312 MDC.get(EPCommonSystemProperties.AUDITLOG_END_TIMESTAMP));
313 logger.info(EELFLoggerDelegate.auditLogger,
314 EPLogUtil.formatAuditLogMessage("ExternalAccessRolesController.saveRole", activityCode,
315 String.valueOf(user.getId()), user.getOrgUserId(), role.getName()));
316 MDC.remove(EPCommonSystemProperties.AUDITLOG_BEGIN_TIMESTAMP);
317 MDC.remove(EPCommonSystemProperties.AUDITLOG_END_TIMESTAMP);
318 MDC.remove(SystemProperties.MDC_TIMER);
320 response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
321 return new PortalRestResponse<>(PortalRestStatusEnum.ERROR,
322 "Failed to saveRole for '" + role.getName() + "'", "Failed");
325 } catch (Exception e) {
326 response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
327 logger.error(EELFLoggerDelegate.errorLogger, "saveRole failed", e);
328 return new PortalRestResponse<String>(PortalRestStatusEnum.ERROR, "Failed to saveRole", "Failed");
330 return new PortalRestResponse<String>(PortalRestStatusEnum.OK, "Successfully Saved", "Success");
333 @ApiOperation(value = "Deletes role for an application.", response = PortalRestResponse.class, responseContainer = "Json")
334 @RequestMapping(value = { "/deleteRole/{code}" }, method = RequestMethod.DELETE, produces = "application/json")
335 public PortalRestResponse<String> deleteRole(HttpServletRequest request, HttpServletResponse response,
336 @PathVariable String code) throws Exception {
338 boolean deleteResponse = externalAccessRolesService.deleteRoleForApplication(code,
339 request.getHeader(UEBKEY));
340 if (deleteResponse) {
341 EPUser user = externalAccessRolesService.getUser(request.getHeader(LOGIN_ID)).get(0);
342 EPApp app = externalAccessRolesService.getApp(request.getHeader(UEBKEY)).get(0);
343 logger.info(EELFLoggerDelegate.applicationLogger, "deleteRole: succeeded for app {}, role {}",
345 AuditLog auditLog = new AuditLog();
346 auditLog.setUserId(user.getId());
347 auditLog.setActivityCode(EcompAuditLog.CD_ACTIVITY_EXTERNAL_AUTH_DELETE_ROLE);
348 auditLog.setComments(EcompPortalUtils.truncateString(
349 "Deleted role for app:" + app.getId() + " and role:'" + code + "'",
350 PortalConstants.AUDIT_LOG_COMMENT_SIZE));
351 auditLog.setAffectedRecordId(user.getOrgUserId());
352 auditService.logActivity(auditLog, null);
353 MDC.put(EPCommonSystemProperties.AUDITLOG_BEGIN_TIMESTAMP, EPEELFLoggerAdvice.getCurrentDateTimeUTC());
354 MDC.put(EPCommonSystemProperties.AUDITLOG_END_TIMESTAMP, EPEELFLoggerAdvice.getCurrentDateTimeUTC());
355 EcompPortalUtils.calculateDateTimeDifferenceForLog(
356 MDC.get(EPCommonSystemProperties.AUDITLOG_BEGIN_TIMESTAMP),
357 MDC.get(EPCommonSystemProperties.AUDITLOG_END_TIMESTAMP));
358 logger.info(EELFLoggerDelegate.auditLogger,
359 EPLogUtil.formatAuditLogMessage("ExternalAccessRolesController.deleteRole",
360 EcompAuditLog.CD_ACTIVITY_EXTERNAL_AUTH_DELETE_ROLE, String.valueOf(user.getId()),
361 user.getOrgUserId(), code));
362 MDC.remove(EPCommonSystemProperties.AUDITLOG_BEGIN_TIMESTAMP);
363 MDC.remove(EPCommonSystemProperties.AUDITLOG_END_TIMESTAMP);
364 MDC.remove(SystemProperties.MDC_TIMER);
366 logger.error(EELFLoggerDelegate.errorLogger, "deleteRole failed");
367 return new PortalRestResponse<String>(PortalRestStatusEnum.ERROR,
368 "Failed to deleteRole for '" + code + "'", "Failed");
370 } catch (Exception e) {
371 response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
372 logger.error(EELFLoggerDelegate.errorLogger, "deleteRole failed", e);
373 return new PortalRestResponse<String>(PortalRestStatusEnum.ERROR, "Failed to deleteRole", "Failed");
375 return new PortalRestResponse<String>(PortalRestStatusEnum.OK, "Successfully Deleted", "Success");
379 @ApiOperation(value = "Gets active roles for an application.", response = CentralRole.class, responseContainer = "Json")
380 @RequestMapping(value = { "/activeRoles" }, method = RequestMethod.GET, produces = "application/json")
381 public List<CentralRole> getActiveRoles(HttpServletRequest request, HttpServletResponse response) throws Exception {
382 List<CentralRole> cenRole = null;
384 cenRole = externalAccessRolesService.getActiveRoles(request.getHeader(UEBKEY));
385 } catch (HttpClientErrorException e) {
386 response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
387 logger.error(EELFLoggerDelegate.errorLogger, "getActiveRoles failed", e);
393 @ApiOperation(value = "deletes user roles for an application.", response = PortalRestResponse.class, responseContainer = "Json")
394 @RequestMapping(value = {
395 "/deleteDependcyRoleRecord/{roleId}" }, method = RequestMethod.DELETE, produces = "application/json")
396 public PortalRestResponse<String> deleteDependencyRoleRecord(HttpServletRequest request,
397 HttpServletResponse response, @PathVariable("roleId") Long roleId) throws Exception {
399 boolean deleteResponse = externalAccessRolesService.deleteDependencyRoleRecord(roleId,
400 request.getHeader(UEBKEY), request.getHeader(LOGIN_ID));
401 if (!deleteResponse) {
402 response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
403 return new PortalRestResponse<>(PortalRestStatusEnum.ERROR, "Failed to deleteDependencyRoleRecord",
406 } catch (HttpClientErrorException e) {
407 response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
408 logger.error(EELFLoggerDelegate.errorLogger, "deleteDependencyRoleRecord failed", e);
409 return new PortalRestResponse<>(PortalRestStatusEnum.ERROR, "Failed to deleteDependencyRoleRecord",
412 return new PortalRestResponse<>(PortalRestStatusEnum.OK, "Successfully Deleted", "Success");
415 @ApiOperation(value = "Bulk upload functions for an application.", response = PortalRestResponse.class, responseContainer = "Json")
416 @RequestMapping(value = { "/upload/portal/functions" }, method = RequestMethod.POST, produces = "application/json")
417 public PortalRestResponse<String> bulkUploadFunctions(HttpServletRequest request, HttpServletResponse response)
421 result = externalAccessRolesService.bulkUploadFunctions(request.getHeader(UEBKEY));
422 } catch (HttpClientErrorException e) {
423 response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
424 logger.error(EELFLoggerDelegate.errorLogger, "bulkUploadFunctions failed", e);
425 return new PortalRestResponse<String>(PortalRestStatusEnum.ERROR, "Failed to bulkUploadFunctions",
428 return new PortalRestResponse<String>(PortalRestStatusEnum.OK, "Successfully added: " + result, "Success");
431 @ApiOperation(value = "Bulk upload roles for an application.", response = PortalRestResponse.class, responseContainer = "Json")
432 @RequestMapping(value = { "/upload/portal/roles" }, method = RequestMethod.POST, produces = "application/json")
433 public PortalRestResponse<String> bulkUploadRoles(HttpServletRequest request, HttpServletResponse response)
437 result = externalAccessRolesService.bulkUploadRoles(request.getHeader(UEBKEY));
438 } catch (HttpClientErrorException e) {
439 response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
440 logger.error(EELFLoggerDelegate.errorLogger, "bulkUploadRoles failed", e);
441 return new PortalRestResponse<String>(PortalRestStatusEnum.ERROR, "Failed to bulkUploadRoles", "Failed");
443 return new PortalRestResponse<String>(PortalRestStatusEnum.OK, "Successfully added: " + result, "Success");
446 @ApiOperation(value = "Bulk upload role functions for an application.", response = PortalRestResponse.class, responseContainer = "Json")
447 @RequestMapping(value = {
448 "/upload/portal/roleFunctions" }, method = RequestMethod.POST, produces = "application/json")
449 public PortalRestResponse<String> bulkUploadRoleFunctions(HttpServletRequest request, HttpServletResponse response)
453 result = externalAccessRolesService.bulkUploadRolesFunctions(request.getHeader(UEBKEY));
454 } catch (HttpClientErrorException e) {
455 response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
456 logger.error(EELFLoggerDelegate.errorLogger, "bulkUploadRoleFunctions failed", e);
457 return new PortalRestResponse<String>(PortalRestStatusEnum.ERROR, "Failed to bulkUploadRoleFunctions",
460 return new PortalRestResponse<String>(PortalRestStatusEnum.OK, "Successfully added: " + result, "Success");
463 @ApiOperation(value = "Bulk upload user roles for an application.", response = PortalRestResponse.class, responseContainer = "Json")
464 @RequestMapping(value = { "/upload/portal/userRoles" }, method = RequestMethod.POST, produces = "application/json")
465 public PortalRestResponse<String> bulkUploadUserRoles(HttpServletRequest request, HttpServletResponse response)
469 result = externalAccessRolesService.bulkUploadUserRoles(request.getHeader(UEBKEY));
470 } catch (HttpClientErrorException e) {
471 response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
472 logger.error(EELFLoggerDelegate.errorLogger, "bulkUploadUserRoles failed", e);
473 return new PortalRestResponse<String>(PortalRestStatusEnum.ERROR, "Failed to bulkUploadUserRoles",
476 return new PortalRestResponse<String>(PortalRestStatusEnum.OK, "Successfully added: " + result, "Success");
479 @ApiOperation(value = "Bulk upload functions for an partner application.", response = PortalRestResponse.class, responseContainer = "Json")
480 @RequestMapping(value = { "/upload/partner/functions" }, method = RequestMethod.POST, produces = "application/json")
481 public PortalRestResponse<String> bulkUploadPartnerFunctions(HttpServletRequest request,
482 HttpServletResponse response, @RequestBody List<RoleFunction> upload) throws Exception {
484 externalAccessRolesService.bulkUploadPartnerFunctions(request.getHeader(UEBKEY), upload);
485 } catch (HttpClientErrorException e) {
486 response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
487 logger.error(EELFLoggerDelegate.errorLogger, "bulkUploadFunctions failed", e);
488 return new PortalRestResponse<String>(PortalRestStatusEnum.ERROR, "Failed to bulkUploadFunctions",
491 return new PortalRestResponse<String>(PortalRestStatusEnum.OK, "Successfully added", "Success");
494 @ApiOperation(value = "Bulk upload roles for an partner application.", response = PortalRestResponse.class, responseContainer = "Json")
495 @RequestMapping(value = { "/upload/partner/roles" }, method = RequestMethod.POST, produces = "application/json")
496 public PortalRestResponse<String> bulkUploadPartnerRoles(HttpServletRequest request, HttpServletResponse response,
497 @RequestBody List<Role> upload) throws Exception {
499 externalAccessRolesService.bulkUploadPartnerRoles(request.getHeader(UEBKEY), upload);
500 } catch (HttpClientErrorException e) {
501 response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
502 logger.error(EELFLoggerDelegate.errorLogger, "bulkUploadRoles failed", e);
503 return new PortalRestResponse<String>(PortalRestStatusEnum.ERROR, "Failed to bulkUploadRoles", "Failed");
505 return new PortalRestResponse<String>(PortalRestStatusEnum.OK, "Successfully added", "Success");
508 @ApiOperation(value = "Bulk upload role functions for an partner application.", response = PortalRestResponse.class, responseContainer = "Json")
509 @RequestMapping(value = {
510 "/upload/partner/roleFunctions" }, method = RequestMethod.POST, produces = "application/json")
511 public PortalRestResponse<String> bulkUploadPartnerRoleFunctions(HttpServletRequest request,
512 HttpServletResponse response, @RequestBody List<Role> upload) throws Exception {
514 externalAccessRolesService.bulkUploadPartnerRoleFunctions(request.getHeader(UEBKEY), upload);
515 } catch (HttpClientErrorException e) {
516 response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
517 logger.error(EELFLoggerDelegate.errorLogger, "bulkUploadRoles failed", e);
518 return new PortalRestResponse<String>(PortalRestStatusEnum.ERROR,
519 "Failed to bulkUploadPartnerRoleFunctions", "Failed");
521 return new PortalRestResponse<String>(PortalRestStatusEnum.OK, "Successfully added", "Success");
524 @ApiOperation(value = "Gets all functions along with global functions", response = List.class, responseContainer = "Json")
525 @RequestMapping(value = { "/menuFunctions" }, method = RequestMethod.GET, produces = "application/json")
526 public List<String> getMenuFunctions(HttpServletRequest request, HttpServletResponse response) throws Exception {
527 List<String> functionsList = null;
529 functionsList = externalAccessRolesService.getMenuFunctionsList(request.getHeader(UEBKEY));
530 } catch (HttpClientErrorException e) {
531 response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
532 logger.error(EELFLoggerDelegate.errorLogger, "getMenuFunctions failed", e);
534 return functionsList;
537 @ApiOperation(value = "Gets all active Users of application", response = String.class, responseContainer = "Json")
538 @RequestMapping(value = { "/users" }, method = RequestMethod.GET, produces = "application/json")
539 public List<EcompUser> getUsersOfApplication(HttpServletRequest request, HttpServletResponse response)
541 List<EcompUser> users = null;
543 users = externalAccessRolesService.getAllAppUsers(request.getHeader(UEBKEY));
544 } catch (Exception e) {
545 response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
546 logger.error(EELFLoggerDelegate.errorLogger, "getUsersOfApplication failed", e);
547 throw new Exception(e.getMessage());