Guest User

Untitled

a guest
May 25th, 2018
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.18 KB | None | 0 0
  1. package net.liftweb {
  2. package mapper {
  3.  
  4. import net.liftweb.persistence.{MetaSimpleUser, SimpleUser}
  5. import net.liftweb.mapper._
  6. import net.liftweb.util.Helpers
  7.  
  8. trait MapperUser[T <: MapperUser[T]] extends SimpleUser[T] with LongKeyedMapper[T] with IdPK {
  9. self: T =>
  10.  
  11. object fn extends MappedString(this, 64)
  12. def firstName = fn
  13.  
  14. object ln extends MappedString(this, 64)
  15. def lastName = ln
  16.  
  17. object emailAddr extends MappedEmail(this, 128)
  18. def email = emailAddr
  19.  
  20. object pw extends MappedString(this, 64)
  21. def password = pw
  22.  
  23. object pw_salt extends MappedString(this, 64) {
  24. override def defaultValue = Helpers.randomString(10)
  25. }
  26. def passwordSalt = pw_salt
  27. }
  28.  
  29. trait MetaMapperUser[ModelType <: MapperUser[ModelType]] extends MetaSimpleUser[ModelType] with LongKeyedMetaMapper[ModelType] {
  30. self: ModelType =>
  31.  
  32. def getByEmail(email: String) = find(By(emailAddr, email))
  33.  
  34. def encryptPassword(password: String, salt: String) = Helpers.hash("{"+password+"} salt={"+salt+"}")
  35. }
  36.  
  37. /*
  38. // Example usage:
  39. class ExampleUser extends MapperUser[ExampleUser] {
  40. def getSingleton = ExampleUser
  41. }
  42.  
  43. object ExampleUser extends ExampleUser with MetaMapperUser[ExampleUser] {
  44. }
  45. */
  46.  
  47. }
  48. }
Add Comment
Please, Sign In to add comment