Играя със скелетен сайт и искам да изпратя потребителя на страницата за регистрация, след като е влязъл за първи път с OpenID или акаунт в Google.
Измислих това:
getAuthId creds = runDB $ do
x ← getBy $ UniqueUser $ credsIdent creds
case x of
Just (Entity uid _) → return $ Just uid
Nothing → do
return $ Just $ Key (PersistInt64 0)
И в HomeR
манипулатора проверявам за стойност на UserId, показвайки регистрационен формуляр в случай на нула.
Този подход работи, но изглежда хакерски. Какъв е правилният начин за справяне с подобен проблем?