Mercurial > gemma
changeset 514:4a1db55a9920
Use auth.RunAs in JSON controller.
It's more symmetric to the rest of the application and
returns the database connection earlier to the pool.
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Mon, 27 Aug 2018 10:35:55 +0200 |
parents | b6796cd91604 |
children | ef7f56d326ae |
files | pkg/controllers/json.go |
diffstat | 1 files changed, 3 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/pkg/controllers/json.go Fri Aug 24 18:06:24 2018 +0200 +++ b/pkg/controllers/json.go Mon Aug 27 10:35:55 2018 +0200 @@ -49,11 +49,10 @@ if token, ok := auth.GetToken(req); ok && !j.NoConn { if session := auth.Sessions.Session(token); session != nil { - var conn *sql.Conn - if conn, err = auth.MetamorphConn(req.Context(), session.User); err == nil { - defer conn.Close() + err = auth.RunAs(session.User, req.Context(), func(conn *sql.Conn) error { jr, err = j.Handle(input, req, conn) - } + return err + }) } else { err = auth.ErrNoSuchToken }