Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package controllers;
- import com.fasterxml.jackson.databind.node.ObjectNode;
- import models.User;
- import play.data.Form;
- import play.data.validation.Constraints;
- import play.libs.Json;
- import play.mvc.Controller;
- import play.mvc.Result;
- /**
- * Created by lukasz on 2016-05-31.
- */
- public class Application extends Controller {
- public static Result signup() {
- Form<SignUp> signUpForm = Form.form(SignUp.class).bindFromRequest();
- if ( signUpForm.hasErrors()) {
- return badRequest(signUpForm.errorsAsJson());
- }
- SignUp newUser = signUpForm.get();
- User existingUser = User.findByEmail(newUser.email);
- if(existingUser != null) {
- return badRequest(buildJsonResponse("error", "User exists"));
- } else {
- User user = new User();
- user.setEmail(newUser.email);
- user.setPassword(newUser.password);
- user.save();
- session().clear();
- session("username", newUser.email);
- return ok(buildJsonResponse("success", "User created successfully"));
- }
- }
- public static class UserForm {
- @Constraints.Required
- @Constraints.Email
- public String email;
- }
- public static class SignUp extends UserForm {
- @Constraints.Required
- @Constraints.MinLength(6)
- public String password;
- }
- private static ObjectNode buildJsonResponse(String type, String message) {
- ObjectNode wrapper = Json.newObject();
- ObjectNode msg = Json.newObject();
- msg.put("message", message);
- wrapper.put(type, msg);
- return wrapper;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement