/app/models/Token.scala

https://github.com/BeamStream/BeamstreamPlay · Scala · 64 lines · 29 code · 13 blank · 22 comment · 0 complexity · 95d0f0c1ae17c6910f5ff667044a964e MD5 · raw file

  1. package models
  2. import com.novus.salat.annotations.raw.Key
  3. import com.novus.salat.dao.SalatDAO
  4. import org.bson.types.ObjectId
  5. import utils.MongoHQConfig
  6. import com.mongodb.casbah.commons.MongoDBObject
  7. import com.mongodb.WriteConcern
  8. import models.mongoContext._
  9. import com.mongodb.casbah.Imports.WriteResult
  10. case class Token(@Key("_id") id: ObjectId, userId: String, tokenString: String, used: Boolean)
  11. object Token {
  12. /**
  13. * Add Mail Token
  14. */
  15. def addToken(token: Token): Option[Int] = {
  16. TokenDAO.insert(token)
  17. }
  18. /**
  19. * Remove token by Token Id
  20. */
  21. def removeToken(token: Token) {
  22. TokenDAO.remove(token)
  23. }
  24. /**
  25. * Find Mail TOken on basis of token string
  26. */
  27. def findToken(tokenString: String): List[Token] = {
  28. TokenDAO.find(MongoDBObject("tokenString" -> tokenString)).toList
  29. }
  30. def findTokenByUserId(userId: String): List[Token] = {
  31. TokenDAO.find(MongoDBObject("userId" -> userId)).toList
  32. }
  33. /**
  34. * Find Mail Token on basis of user Id
  35. */
  36. // def findTokenOnBasisOfUserID(userId: String): List[Token] = {
  37. // TokenDAO.find(MongoDBObject("userId" -> new ObjectId(userId))).toList
  38. // }
  39. //
  40. // def isUserRegistered(userId: String) = {
  41. // TokenDAO.find(MongoDBObject("userId" -> new ObjectId(userId))).toList.head.used
  42. // }
  43. /**
  44. * Update Mail TOken (VA)
  45. */
  46. def updateToken(tokenString: String): WriteResult = {
  47. val tokenRequired = TokenDAO.find(MongoDBObject("tokenString" -> tokenString)).toList
  48. TokenDAO.update(MongoDBObject("tokenString" -> tokenString), tokenRequired.head.copy(used = true), false, false, new WriteConcern)
  49. }
  50. }
  51. object TokenDAO extends SalatDAO[Token, Int](collection = MongoHQConfig.mongoDB("token"))