Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package DBEntry {
- trait ConnectionInfo {
- def conn:Jdbc.ConnectionInfo = getJDBCConnectionInfo()
- def userdb= "Users"
- def getUrl= "jdbc:foo://%DBHostname%s:%DBPort%s/%dbname%s"
- def getDBName= "oathdb"
- def getDBHostname= "127.0.0.1"
- def getDBPort= "5432"
- def getDBAccount = "oauthagent"
- def getDBPassword = "password"
- def getJDBCConnectionInfo():Jdbc.ConnectionInfo = {
- val url = this.getUrl
- val DGAccount = this.getDBAccount
- val DBPassword = this.getDBPassword
- val DBHostname = this.getDBHostname
- val DBPort = this.getDBPort
- new Jdbc.ConnectionInfo(getUrl)
- }
- }
- trait UserDBEntry extends ConnectionInfo{
- case class usr(uid:String,uname:String,passwordHash:String)
- val user : usr
- val _uid: String = ""
- val _uname: String = ""
- val _passwordHash: String = ""
- val _userdb: String = "Users"
- val _sql = "SELECT * FROM %_userdb%s WHERE name=%_uid%s AND password=%_passwordHash% LIMIT 1"
- def pullUserEntry(username:String, password:String): Try[UserDBEntry] ={
- val mapper = new ObjectMapper().registerModule(DefaultScalaModule)
- val ret = Jdbc.withResultsIterator(conn,_sql,it => mapper.readValue(mapper.writeValueAsString(it.take(1)),this.getClass))
- ret
- }
- def get(): Option[usr] = {
- Some(usr(_uid, _uname, _passwordHash))
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement