Open bravegag opened 7 years ago
I prepared a baby-steps migration to Scala of the play-authenticate-usage sample here: https://github.com/bravegag/play-authenticate-usage-scala. My approach is to migrate the usage sample bringing up bit by bit and keep the project overall compiling and running. As of now it compiles and runs up to the evolutions step, then a runtime exception is thrown coming from Deadbolt2.
The project uses the latest version of all dependencies. The play-authenticate unreleased dependency is built locally.
I prepared a postgres 1.sql that is installed in the database using evolutions. Later, the ./test/Generator.scala
may be executed to get the generated Tables.scala
under ./app/generated
. There is a basic ./app/dao/UserDao.scala
implementation. I'm planning to do a generic Dao for Slick using that UserDao
as base.
Another thing, Deadbolt2 needs some of the Model classes implementing some traits e.g. User
to implement Subject
. This I plan to do by customizing the Slick code generator.
Help is most welcome!
Status: a handful of compiler errors away from migration.
Done => All controllers, forms, and view have been migrated to Scala, peer-reviews anyone?
Pending => so far left providers package in Java but will migrate ... issue: Scala Forms and Java Form type mismatch needed for the Login and Signup forms needed by the PA framework. Need some design improvements on the Dao/Services side
Status: first time it all runs, now get exceptions while accessing some pages ... help most welcome :)
Migration completed, now testing ... can signup, login and verify email address already!
Added support for Google reCAPTCHA via the (really nice) plugin https://github.com/chrisnappin/play-recaptcha. This plugin integrates super nicely with the standard Play Form infrastructure. Now the Scala usage implementation uses Google reCAPTCHA in the Signup Form
btw the migration took me a month but is now complete. I had to do a small workaround in-lining the AbstractUsernamePasswordAuthProvider.java
implementation (see PR #324). But once the PR #324 is merged it can be removed.
I have completed 100% test coverage of the Slick base DAO layer.
I migrated the https://github.com/bravegag/play-authenticate-usage-scala project to PA version 0.8.3 including the changes following from PR #324
Is anyone else really wanting to have a Scala version of the play-authenticate-usage? is there some fork/work in progress? I am trying to migrate the play-authenticate-usage example to Scala, have bumped into several issues and need a hand or two :)
My stack is: Scala, Play-slick and Postgres (using Slick code gen). I'm more db-driven in my projects and the performance payoffs of using Slick over JPA seem to be substantial.