Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- implicit val rds = (
- (__ \ 'email).read[String] and
- (__ \ 'password).read[String] and
- (__ \ 'password2).read[String] and
- (__ \ 'firstName).read[String] and
- (__ \ 'lastName).read[String]
- ) tupled
- def signUp(builderId: String) = Action(parse.json) { request =>
- request.body.validate[(String, String, String, String, String)].map {
- case (email, password, password2, firstName, lastName) => {
- env.userService.findByEmailAndProvider(email, UsernamePasswordProvider.UsernamePassword).map {
- maybeUser => {
- maybeUser match {
- case Some(user) => BadRequest("provided email already exists")
- case None =>
- val basicProfile = BasicProfile(
- UsernamePasswordProvider.UsernamePassword,
- email,
- Some(firstName),
- Some(lastName),
- Some("%s %s".format(firstName, lastName)),
- Some(email),
- None,
- AuthenticationMethod.UserPassword,
- passwordInfo = Some(env.currentHasher.hash(password)))
- env.userService.save(basicProfile, SaveMode.SignUp);
- Ok("Your profile was successfully saved")
- }
- }
- }
- Ok("Your profile was successfully saved")
- }
- }.recoverTotal {
- e => BadRequest("Detected error:"+ JsError.toFlatJson(e))
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement