@@ -202,37 +202,39 @@ final class Auth(env: Env, accountC: => Account) extends LilaController(env):
202202 Firewall :
203203 WithProxy : proxy ?=>
204204 limit.enumeration.signup(rateLimited):
205- proxy.no.so(forms.preloadEmailDns()) >> negotiateApi(
206- html = env.security.signup
207- .website(ctx.blind)
208- .flatMap:
209- case Signup .Result .RateLimited | Signup .Result .ForbiddenNetwork => rateLimited
210- case Signup .Result .MissingCaptcha =>
211- forms.signup.website.flatMap: form =>
212- BadRequest .page(views.auth.signup(form))
213- case Signup .Result .Bad (err) =>
214- forms.signup.website.flatMap: baseForm =>
215- BadRequest .page(views.auth.signup(baseForm.withForm(err)))
216- case Signup .Result .ConfirmEmail (user, email) =>
217- Redirect (routes.Auth .checkYourEmail).withCookies:
218- EmailConfirm .cookie.make(env.security.lilaCookie, user, email)(using ctx.req)
219- case Signup .Result .AllSet (user, email) =>
220- welcome(user, email, sendWelcomeEmail = true ) >> redirectNewUser(user)
221- ,
222- api = apiVersion =>
223- env.security.signup
224- .mobile(apiVersion)
225- .flatMap:
226- case Signup .Result .RateLimited => rateLimited
227- case Signup .Result .ForbiddenNetwork =>
228- BadRequest (jsonError(" This network cannot create new accounts." ))
229- case Signup .Result .MissingCaptcha => BadRequest (jsonError(" Missing captcha?!" ))
230- case Signup .Result .Bad (err) => doubleJsonFormError(err)
231- case Signup .Result .ConfirmEmail (_, _) => Ok (Json .obj(" email_confirm" -> true ))
232- case Signup .Result .AllSet (user, email) =>
233- welcome(user, email, sendWelcomeEmail = true ) >>
234- authenticateUser(user, remember = true , pwned = IsPwned .No )
235- )
205+ proxy.no.so(forms.preloadEmailDns()) >>
206+ HTTPRequest
207+ .apiVersion(ctx.req)
208+ .match
209+ case None =>
210+ env.security.signup
211+ .website(ctx.blind)
212+ .flatMap:
213+ case Signup .Result .RateLimited | Signup .Result .ForbiddenNetwork => rateLimited
214+ case Signup .Result .MissingCaptcha =>
215+ forms.signup.website.flatMap: form =>
216+ BadRequest .page(views.auth.signup(form))
217+ case Signup .Result .Bad (err) =>
218+ forms.signup.website.flatMap: baseForm =>
219+ BadRequest .page(views.auth.signup(baseForm.withForm(err)))
220+ case Signup .Result .ConfirmEmail (user, email) =>
221+ Redirect (routes.Auth .checkYourEmail).withCookies:
222+ EmailConfirm .cookie.make(env.security.lilaCookie, user, email)(using ctx.req)
223+ case Signup .Result .AllSet (user, email) =>
224+ welcome(user, email, sendWelcomeEmail = true ) >> redirectNewUser(user)
225+ case Some (apiVersion) =>
226+ env.security.signup
227+ .mobile(apiVersion)
228+ .flatMap:
229+ case Signup .Result .RateLimited => rateLimited
230+ case Signup .Result .ForbiddenNetwork =>
231+ BadRequest (jsonError(" This network cannot create new accounts." ))
232+ case Signup .Result .MissingCaptcha => BadRequest (jsonError(" Missing captcha?!" ))
233+ case Signup .Result .Bad (err) => doubleJsonFormError(err)
234+ case Signup .Result .ConfirmEmail (_, _) => Ok (Json .obj(" email_confirm" -> true ))
235+ case Signup .Result .AllSet (user, email) =>
236+ welcome(user, email, sendWelcomeEmail = true ) >>
237+ authenticateUser(user, remember = true , pwned = IsPwned .No )
236238
237239 private def welcome (user : UserModel , email : EmailAddress , sendWelcomeEmail : Boolean )(using
238240 ctx : Context
0 commit comments