Mercurial > gemma
diff auth/pool.go @ 240:9012e4045da4
Implemented /user delete controller.
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Thu, 26 Jul 2018 17:56:02 +0200 |
parents | 11d1a488b08f |
children | 0777aa6de45b |
line wrap: on
line diff
--- a/auth/pool.go Thu Jul 26 17:15:22 2018 +0200 +++ b/auth/pool.go Thu Jul 26 17:56:02 2018 +0200 @@ -296,6 +296,21 @@ return <-res } +func (pcp *ConnectionPool) Logout(user string) { + pcp.cmds <- func(pcp *ConnectionPool) { + for token, con := range pcp.conns { + if con.session.User == user { + if db := con.db; db != nil { + con.db = nil + db.Close() + } + delete(pcp.conns, token) + pcp.remove(token) + } + } + } +} + func (pcp *ConnectionPool) Shutdown() error { if db := pcp.storage; db != nil { log.Println("info: shutdown persistent connection pool.")