1 package org.openecomp.portalapp.portal.controller;
3 import javax.servlet.http.HttpServletRequest;
5 import org.openecomp.portalapp.controller.EPRestrictedBaseController;
6 import org.openecomp.portalapp.portal.domain.EPUser;
7 import org.openecomp.portalapp.portal.ecomp.model.PortalRestResponse;
8 import org.openecomp.portalapp.portal.ecomp.model.PortalRestStatusEnum;
9 import org.openecomp.portalapp.portal.logging.aop.EPAuditLog;
10 import org.openecomp.portalapp.portal.service.UserService;
11 import org.openecomp.portalapp.portal.transport.ProfileDetail;
12 import org.openecomp.portalapp.portal.utils.EcompPortalUtils;
13 import org.openecomp.portalapp.util.EPUserUtils;
14 import org.openecomp.portalsdk.core.logging.logic.EELFLoggerDelegate;
15 import org.openecomp.portalsdk.core.onboarding.util.CipherUtil;
16 import org.openecomp.portalsdk.core.util.SystemProperties;
17 import org.springframework.beans.factory.annotation.Autowired;
18 import org.springframework.context.annotation.EnableAspectJAutoProxy;
19 import org.springframework.web.bind.annotation.RequestBody;
20 import org.springframework.web.bind.annotation.RequestMapping;
21 import org.springframework.web.bind.annotation.RequestMethod;
22 import org.springframework.web.bind.annotation.RestController;
25 @org.springframework.context.annotation.Configuration
26 @EnableAspectJAutoProxy
28 public class UserController extends EPRestrictedBaseController {
30 private EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(UserController.class);
33 private UserService userService;
36 * RESTful service method to get ECOMP Logged in User details.
41 * @return PortalRestResponse of EPUser
43 @RequestMapping(value = { "/portalApi/loggedinUser" }, method = RequestMethod.GET, produces = "application/json")
44 public PortalRestResponse<ProfileDetail> getLoggedinUser(HttpServletRequest request) {
45 PortalRestResponse<ProfileDetail> portalRestResponse = null;
47 EPUser user = EPUserUtils.getUserSession(request);
48 ProfileDetail profileDetail = new ProfileDetail(user.getFirstName(), user.getLastName(),
49 user.getMiddleInitial(), user.getEmail(), user.getLoginId(), CipherUtil.decrypt(user.getLoginPwd()));
50 portalRestResponse = new PortalRestResponse<ProfileDetail>(PortalRestStatusEnum.OK, "success",
52 EcompPortalUtils.logAndSerializeObject(logger, "/portalApi/loggedinUser", "result =", profileDetail);
53 } catch (Exception e) {
54 portalRestResponse = new PortalRestResponse<ProfileDetail>(PortalRestStatusEnum.ERROR, e.getMessage(),
56 logger.error(EELFLoggerDelegate.errorLogger, "getLoggedinUser failed", e);
58 return portalRestResponse;
62 * RESTful service method to update ECOMP Logged in User in DB.
66 * @param profileDetail
67 * Body with user information
68 * @return PortalRestResponse of String
70 @RequestMapping(value = {
71 "/portalApi/modifyLoggedinUser" }, method = RequestMethod.PUT, produces = "application/json")
72 public PortalRestResponse<String> modifyLoggedinUser(HttpServletRequest request,
73 @RequestBody ProfileDetail profileDetail) {
74 PortalRestResponse<String> portalRestResponse = null;
77 if (profileDetail.getFirstName().equals("") || profileDetail.getLastName().equals("")
78 || profileDetail.getEmail().equals("") || profileDetail.getLoginId().equals("")
79 || profileDetail.getLoginPassword().equals("")) {
80 errorMsg = "Required field(s) is missing";
81 portalRestResponse = new PortalRestResponse<String>(PortalRestStatusEnum.ERROR, errorMsg, null);
82 logger.error(EELFLoggerDelegate.errorLogger, "modifyLoggedinUser failed", errorMsg);
84 EPUser user = EPUserUtils.getUserSession(request);
85 user.setFirstName(profileDetail.getFirstName());
86 user.setLastName(profileDetail.getLastName());
87 user.setEmail(profileDetail.getEmail());
88 user.setMiddleInitial(profileDetail.getMiddleName());
89 user.setLoginId(profileDetail.getLoginId());
90 user.setLoginPwd(CipherUtil.encrypt(profileDetail.getLoginPassword()));
91 userService.saveUser(user);
92 // Update user info in the session
93 request.getSession().setAttribute(SystemProperties.getProperty(SystemProperties.USER_ATTRIBUTE_NAME),
95 portalRestResponse = new PortalRestResponse<String>(PortalRestStatusEnum.OK, "success", null);
96 EcompPortalUtils.logAndSerializeObject(logger, "/portalApi/modifyLoggedinUser", "result =", user);
98 } catch (Exception e) {
99 portalRestResponse = new PortalRestResponse<String>(PortalRestStatusEnum.ERROR, e.toString(), null);
100 logger.error(EELFLoggerDelegate.errorLogger, "modifyLoggedinUser failed", e);
102 return portalRestResponse;