com.liferay.sharing.web.internal.portlet.action.VerifyEmailAddressMVCResourceCommand Maven / Gradle / Ivy
/**
* SPDX-FileCopyrightText: (c) 2000 Liferay, Inc. https://liferay.com
* SPDX-License-Identifier: LGPL-2.1-or-later OR LicenseRef-Liferay-DXP-EULA-2.0.0-2023-06
*/
package com.liferay.sharing.web.internal.portlet.action;
import com.liferay.portal.kernel.json.JSONObject;
import com.liferay.portal.kernel.json.JSONUtil;
import com.liferay.portal.kernel.model.User;
import com.liferay.portal.kernel.portlet.JSONPortletResponseUtil;
import com.liferay.portal.kernel.portlet.bridges.mvc.BaseMVCResourceCommand;
import com.liferay.portal.kernel.portlet.bridges.mvc.MVCResourceCommand;
import com.liferay.portal.kernel.security.auth.PrincipalException;
import com.liferay.portal.kernel.service.UserLocalService;
import com.liferay.portal.kernel.theme.ThemeDisplay;
import com.liferay.portal.kernel.util.ContentTypes;
import com.liferay.portal.kernel.util.ParamUtil;
import com.liferay.portal.kernel.util.Portal;
import com.liferay.portal.kernel.util.WebKeys;
import com.liferay.sharing.constants.SharingPortletKeys;
import javax.portlet.ResourceRequest;
import javax.portlet.ResourceResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.osgi.service.component.annotations.Component;
import org.osgi.service.component.annotations.Reference;
/**
* @author Ambrín Chaudhary
*/
@Component(
property = {
"javax.portlet.name=" + SharingPortletKeys.SHARING,
"mvc.command.name=/sharing/verify_email_address"
},
service = MVCResourceCommand.class
)
public class VerifyEmailAddressMVCResourceCommand
extends BaseMVCResourceCommand {
@Override
protected void doServeResource(
ResourceRequest resourceRequest, ResourceResponse resourceResponse)
throws Exception {
HttpServletRequest httpServletRequest = _portal.getHttpServletRequest(
resourceRequest);
ThemeDisplay themeDisplay =
(ThemeDisplay)httpServletRequest.getAttribute(
WebKeys.THEME_DISPLAY);
if (!themeDisplay.isSignedIn()) {
throw new PrincipalException.MustBeAuthenticated(
themeDisplay.getUserId());
}
HttpServletResponse httpServletResponse =
_portal.getHttpServletResponse(resourceResponse);
httpServletResponse.setContentType(ContentTypes.APPLICATION_JSON);
JSONObject jsonObject = JSONUtil.put(
"userExists",
() -> {
String emailAddress = ParamUtil.getString(
httpServletRequest, "emailAddress");
User user = _userLocalService.fetchUserByEmailAddress(
themeDisplay.getCompanyId(), emailAddress);
if (user != null) {
return true;
}
return false;
});
JSONPortletResponseUtil.writeJSON(
resourceRequest, resourceResponse, jsonObject);
}
@Reference
private Portal _portal;
@Reference
private UserLocalService _userLocalService;
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy