All Downloads are FREE. Search and download functionalities are using the official Maven repository.

models.daos.PasswordInfoDAO.scala Maven / Gradle / Ivy

The newest version!
package models.daos

import com.mohiva.play.silhouette.api.LoginInfo
import com.mohiva.play.silhouette.api.util.PasswordInfo
import com.mohiva.play.silhouette.impl.daos.DelegableAuthInfoDAO
import com.mongodb.casbah.Imports
import com.mongodb.casbah.Imports._
import models.Database

/**
 * The DAO to store the password information.
 */
class PasswordInfoDAO extends DelegableAuthInfoDAO[PasswordInfo] with AuthInfoDAO[PasswordInfo] {



  override def convertToDB(loginInfo: LoginInfo, authInfo: PasswordInfo) : DBObject = {
    MongoDBObject(
      "providerID" -> loginInfo.providerID,
      "providerKey" -> loginInfo.providerKey,
      "hasher" -> authInfo.hasher,
      "password" -> authInfo.password,
      "salt" -> authInfo.salt
    )
  }

  override def loadFromDB(dbAuthInfo : DBObject) : PasswordInfo = {
    PasswordInfo(
      Database.loadString(dbAuthInfo, "hasher"),
      Database.loadString(dbAuthInfo, "password"),
      Database.loadOptionalString(dbAuthInfo, "salt")
    )
  }
  override def data: Imports.MongoCollection = Database.db("authInfo")

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy