読者です 読者をやめる 読者になる 読者になる

/var/log/laughingman7743.log

I thought what I'd do was, I'd pretend I was one of those deaf-mutes or should I?

Playframework2.4でSlick3.0とplay2-authを使ったログイン認証サンプル

Playframework Slick Scala

Play2.4でSlick3.0*1とplay2-auth*2を使ったログイン認証を実装してみた。
テンプレートはSBAdmin2*3をベースに、BootswatchのSlate*4を適用しています。(チャートはHighcharts*5が使いたいので除いています)

認証用のTraitは以下

コントローラでミックスインして利用する際に、Play2.4から利用できるランタイムDIの仕組みでサービスクラスをDIする形。

コントローラのテストは適当にMockito*6でサービスクラスのモックを作る。

サービスクラスも同様にランタイムDIを利用してリポジトリをDIする形。

サービスクラスのテストも同様に適当にMockitoでリポジトリのモックを作る。

リポジトリはHasDatabaseConfigProvider[JdbcProfile]をミックスインして、DatabaseConfigProviderをDIする形。(モデルはジェネレーターを使って生成)

リポジトリのテストはインメモリのH2Databaseを利用して、インスタンスはApplication.instanceCacheから取得する。(テスト用のDB設定はとりあえずapplication.confに記述)

ビューヘルパーは使いたくないのでほとんど使わない形です。
その他カスタムエラーハンドラやフィルタ、カスタムバリデータなども試しに組み込んでみています。

とりあえずSlick3.0のジェネレーターのカスタマイズが全然わからん。
ScalikeJDBC*7もジェネレーターがあるのでさわってみるかなと。。。

Enjoy!