use of com.willshex.blogwt.shared.api.user.call.LoginRequest in project blogwt by billy1380.
the class LoginActionHandler method handle.
/* (non-Javadoc)
*
* @see
* com.willshex.gson.web.service.server.ActionHandler#handle(com.willshex.
* gson.web.service.shared.Request,
* com.willshex.gson.web.service.shared.Response) */
@Override
protected void handle(LoginRequest input, LoginResponse output) throws Exception {
input = ApiValidator.request(input, LoginRequest.class);
input.accessCode = ApiValidator.accessCode(input.accessCode, "input.accessCode");
boolean foundToken = false;
if (input.session != null && input.session.id != null) {
foundToken = true;
}
if (!foundToken) {
IUserService userService = UserServiceProvider.provide();
User user = null;
if (input.username != null) {
user = userService.getLoginUser(input.username, input.password);
if (user == null)
throw new AuthenticationException(input.username);
}
if (user == null && input.email != null) {
user = userService.getEmailLoginUser(input.email, input.password);
if (user == null)
throw new AuthenticationException(input.email);
}
if (user == null)
throw new AuthenticationException("Either username or email addressed cannot be null");
ISessionService sessionService = SessionServiceProvider.provide();
if (LOG.isLoggable(Level.FINER)) {
LOG.finer("Getting user session");
}
output.session = sessionService.getUserSession(user);
if (output.session == null) {
if (LOG.isLoggable(Level.FINER)) {
LOG.finer("Existing session not found, creating new session");
}
output.session = sessionService.createUserSession(user, input.longTerm);
UserServiceProvider.provide().updateUserIdLastLoggedIn(user.id);
} else {
if (input.longTerm != null) {
output.session.longTerm(input.longTerm);
}
output.session = SessionServiceProvider.provide().extendSession(output.session);
output.session.user = user;
}
} else {
output.session = SessionValidator.lookupCheckAndExtend(input.session, "input.session");
}
if (output.session.user.roleKeys != null) {
output.session.user.roles = PersistenceHelper.batchLookupKeys(RoleServiceProvider.provide(), output.session.user.roleKeys);
}
if (output.session.user.permissionKeys != null) {
output.session.user.permissions = PersistenceHelper.batchLookupKeys(PermissionServiceProvider.provide(), output.session.user.permissionKeys);
}
}
use of com.willshex.blogwt.shared.api.user.call.LoginRequest in project blogwt by billy1380.
the class UserJsonServlet method processAction.
@Override
protected String processAction(String action, JsonObject request) {
String output = "null";
if ("GetUsers".equals(action)) {
GetUsersRequest input = new GetUsersRequest();
input.fromJson(request);
output = new GetUsersActionHandler().handle(input).toString();
} else if ("BlockUsers".equals(action)) {
BlockUsersRequest input = new BlockUsersRequest();
input.fromJson(request);
output = new BlockUsersActionHandler().handle(input).toString();
} else if ("FollowUsers".equals(action)) {
FollowUsersRequest input = new FollowUsersRequest();
input.fromJson(request);
output = new FollowUsersActionHandler().handle(input).toString();
} else if ("ChangeUserAccess".equals(action)) {
ChangeUserAccessRequest input = new ChangeUserAccessRequest();
input.fromJson(request);
output = new ChangeUserAccessActionHandler().handle(input).toString();
} else if ("GetRoles".equals(action)) {
GetRolesRequest input = new GetRolesRequest();
input.fromJson(request);
output = new GetRolesActionHandler().handle(input).toString();
} else if ("GetPermissions".equals(action)) {
GetPermissionsRequest input = new GetPermissionsRequest();
input.fromJson(request);
output = new GetPermissionsActionHandler().handle(input).toString();
} else if ("GetRolesAndPermissions".equals(action)) {
GetRolesAndPermissionsRequest input = new GetRolesAndPermissionsRequest();
input.fromJson(request);
output = new GetRolesAndPermissionsActionHandler().handle(input).toString();
} else if ("VerifyAccount".equals(action)) {
VerifyAccountRequest input = new VerifyAccountRequest();
input.fromJson(request);
output = new VerifyAccountActionHandler().handle(input).toString();
} else if ("ResetPassword".equals(action)) {
ResetPasswordRequest input = new ResetPasswordRequest();
input.fromJson(request);
output = new ResetPasswordActionHandler().handle(input).toString();
} else if ("GetEmailAvatar".equals(action)) {
GetEmailAvatarRequest input = new GetEmailAvatarRequest();
input.fromJson(request);
output = new GetEmailAvatarActionHandler().handle(input).toString();
} else if ("RegisterUser".equals(action)) {
RegisterUserRequest input = new RegisterUserRequest();
input.fromJson(request);
output = new RegisterUserActionHandler().handle(input).toString();
} else if ("ChangeUserDetails".equals(action)) {
ChangeUserDetailsRequest input = new ChangeUserDetailsRequest();
input.fromJson(request);
output = new ChangeUserDetailsActionHandler().handle(input).toString();
} else if ("Login".equals(action)) {
LoginRequest input = new LoginRequest();
input.fromJson(request);
output = new LoginActionHandler().handle(input).toString();
} else if ("Logout".equals(action)) {
LogoutRequest input = new LogoutRequest();
input.fromJson(request);
output = new LogoutActionHandler().handle(input).toString();
} else if ("ChangePassword".equals(action)) {
ChangePasswordRequest input = new ChangePasswordRequest();
input.fromJson(request);
output = new ChangePasswordActionHandler().handle(input).toString();
} else if ("CheckUsername".equals(action)) {
CheckUsernameRequest input = new CheckUsernameRequest();
input.fromJson(request);
output = new CheckUsernameActionHandler().handle(input).toString();
} else if ("IsAuthorised".equals(action)) {
IsAuthorisedRequest input = new IsAuthorisedRequest();
input.fromJson(request);
output = new IsAuthorisedActionHandler().handle(input).toString();
} else if ("GetUserDetails".equals(action)) {
GetUserDetailsRequest input = new GetUserDetailsRequest();
input.fromJson(request);
output = new GetUserDetailsActionHandler().handle(input).toString();
} else if ("ForgotPassword".equals(action)) {
ForgotPasswordRequest input = new ForgotPasswordRequest();
input.fromJson(request);
output = new ForgotPasswordActionHandler().handle(input).toString();
}
return output;
}
use of com.willshex.blogwt.shared.api.user.call.LoginRequest in project blogwt by billy1380.
the class SessionController method login.
public void login(String username, String password, boolean rememberMe) {
UserService userService = ApiHelper.createUserClient();
final LoginRequest input = ApiHelper.setAccessCode(new LoginRequest()).username(username).password(password).longTerm(Boolean.valueOf(rememberMe));
userService.login(input, createAsyncResponse(input));
}
use of com.willshex.blogwt.shared.api.user.call.LoginRequest in project blogwt by billy1380.
the class SessionController method restoreSession.
public void restoreSession() {
UserService userService = ApiHelper.createUserClient();
final LoginRequest input = setSession(ApiHelper.setAccessCode(new LoginRequest()));
userService.login(input, createAsyncResponse(input));
}
use of com.willshex.blogwt.shared.api.user.call.LoginRequest in project blogwt by billy1380.
the class UserService method login.
public Request login(LoginRequest input, AsyncSuccess<LoginRequest, LoginResponse> onSuccess, AsyncFailure<LoginRequest> onFailure) {
Request handle = null;
try {
handle = sendRequest(UserMethodLogin, input, new RequestCallback() {
@Override
public void onResponseReceived(Request request, Response response) {
try {
LoginResponse outputParameter = new LoginResponse();
parseResponse(response, outputParameter);
if (onSuccess != null) {
onSuccess.call(input, outputParameter);
}
onCallSuccess(UserService.this, UserMethodLogin, input, outputParameter);
} catch (JSONException | HttpException exception) {
if (onFailure != null) {
onFailure.call(input, exception);
}
onCallFailure(UserService.this, UserMethodLogin, input, exception);
}
}
@Override
public void onError(Request request, Throwable exception) {
if (onFailure != null) {
onFailure.call(input, exception);
}
onCallFailure(UserService.this, UserMethodLogin, input, exception);
}
});
onCallStart(UserService.this, UserMethodLogin, input, handle);
} catch (RequestException exception) {
if (onFailure != null) {
onFailure.call(input, exception);
}
onCallFailure(UserService.this, UserMethodLogin, input, exception);
}
return handle;
}
Aggregations