diff pkg/controllers/user.go @ 4242:1458c9b0fdaa json-handler-middleware

Made the sql.Conn in function accessible via the context of the request.
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Thu, 22 Aug 2019 10:18:13 +0200
parents 1b1218bbd414
children d776110b4db0
line wrap: on
line diff
--- a/pkg/controllers/user.go	Thu Aug 22 09:20:38 2019 +0200
+++ b/pkg/controllers/user.go	Thu Aug 22 10:18:13 2019 +0200
@@ -99,7 +99,6 @@
 
 func deleteUser(
 	_ interface{}, req *http.Request,
-	db *sql.Conn,
 ) (jr JSONResult, err error) {
 
 	user := mux.Vars(req)["user"]
@@ -116,6 +115,8 @@
 
 	ctx := req.Context()
 
+	db := JSONConn(req)
+
 	// Remove scheduled tasks.
 	ids, err2 := scheduler.ScheduledUserIDs(ctx, db, user)
 	if err2 == nil {
@@ -150,7 +151,6 @@
 func updateUser(
 	input interface{},
 	req *http.Request,
-	db *sql.Conn,
 ) (jr JSONResult, err error) {
 
 	user := models.UserName(mux.Vars(req)["user"])
@@ -162,6 +162,8 @@
 	newUser := input.(*models.User)
 	var res sql.Result
 
+	db := JSONConn(req)
+
 	if s, _ := auth.GetSession(req); s.Roles.Has("sys_admin") {
 		if newUser.Extent == nil {
 			res, err = db.ExecContext(
@@ -233,11 +235,12 @@
 func createUser(
 	input interface{},
 	req *http.Request,
-	db *sql.Conn,
 ) (jr JSONResult, err error) {
 
 	user := input.(*models.User)
 
+	db := JSONConn(req)
+
 	if user.Extent == nil {
 		_, err = db.ExecContext(
 			req.Context(),
@@ -280,12 +283,11 @@
 func listUsers(
 	_ interface{},
 	req *http.Request,
-	db *sql.Conn,
 ) (jr JSONResult, err error) {
 
 	var rows *sql.Rows
 
-	rows, err = db.QueryContext(req.Context(), listUsersSQL)
+	rows, err = JSONConn(req).QueryContext(req.Context(), listUsersSQL)
 	if err != nil {
 		return
 	}
@@ -319,7 +321,6 @@
 func listUser(
 	_ interface{},
 	req *http.Request,
-	db *sql.Conn,
 ) (jr JSONResult, err error) {
 
 	user := models.UserName(mux.Vars(req)["user"])
@@ -333,7 +334,7 @@
 		Extent: &models.BoundingBox{},
 	}
 
-	err = db.QueryRowContext(req.Context(), listUserSQL, user).Scan(
+	err = JSONConn(req).QueryRowContext(req.Context(), listUserSQL, user).Scan(
 		&result.Role,
 		&result.Country,
 		&result.Email,
@@ -359,7 +360,6 @@
 func sendTestMail(
 	_ interface{},
 	req *http.Request,
-	db *sql.Conn,
 ) (jr JSONResult, err error) {
 
 	user := models.UserName(mux.Vars(req)["user"])
@@ -373,7 +373,7 @@
 		Extent: &models.BoundingBox{},
 	}
 
-	err = db.QueryRowContext(req.Context(), listUserSQL, user).Scan(
+	err = JSONConn(req).QueryRowContext(req.Context(), listUserSQL, user).Scan(
 		&userData.Role,
 		&userData.Country,
 		&userData.Email,