@With({AdminCredentialWrapFilter.class, ConnectToDBFilter.class}) public static Result resetPasswordStep1(String username) { if (BaasBoxLogger.isTraceEnabled()) BaasBoxLogger.trace("Method Start"); // check and validate input if (username == null) return badRequest( "The 'username' field is missing in the URL, please check the documentation"); if (!UserService.exists(username)) return badRequest("Username " + username + " not found!"); QueryParams criteria = QueryParams.getInstance().where("user.name=?").params(new String[] {username}); ODocument user; try { List<ODocument> users = UserService.getUsers(criteria); user = UserService.getUsers(criteria).get(0); ODocument attrObj = user.field(UserDao.ATTRIBUTES_VISIBLE_ONLY_BY_THE_USER); if (attrObj == null || attrObj.field("email") == null) return badRequest( "Cannot reset password, the \"email\" attribute is not defined into the user's private profile"); // if (UserService.checkResetPwdAlreadyRequested(username)) return badRequest("You have // already requested a reset of your password."); String appCode = (String) Http.Context.current.get().args.get("appcode"); UserService.sendResetPwdMail(appCode, user); } catch (PasswordRecoveryException e) { BaasBoxLogger.warn("resetPasswordStep1", e); return badRequest(ExceptionUtils.getMessage(e)); } catch (Exception e) { BaasBoxLogger.warn("resetPasswordStep1", e); return internalServerError(ExceptionUtils.getFullStackTrace(e)); } if (BaasBoxLogger.isTraceEnabled()) BaasBoxLogger.trace("Method End"); return ok(); }
@With({UserCredentialWrapFilter.class, ConnectToDBFilter.class, ExtractQueryParameters.class}) public static Result getUsers() { if (BaasBoxLogger.isTraceEnabled()) BaasBoxLogger.trace("Method Start"); Context ctx = Http.Context.current.get(); QueryParams criteria = (QueryParams) ctx.args.get(IQueryParametersKeys.QUERY_PARAMETERS); List<ODocument> profiles = null; ; try { profiles = UserService.getUsers(criteria, true); } catch (SqlInjectionException e) { return badRequest( ExceptionUtils.getMessage(e) + " -- " + ExceptionUtils.getRootCauseMessage(e)); } String result = prepareResponseToJson(profiles); if (BaasBoxLogger.isTraceEnabled()) BaasBoxLogger.trace("Method End"); return ok(result); }