comparison pkg/controllers/importqueue.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 948e312e87bc
children d776110b4db0
comparison
equal deleted inserted replaced
4240:a4f76e170290 4242:1458c9b0fdaa
229 } 229 }
230 230
231 func listImports( 231 func listImports(
232 _ interface{}, 232 _ interface{},
233 req *http.Request, 233 req *http.Request,
234 conn *sql.Conn,
235 ) (jr JSONResult, err error) { 234 ) (jr JSONResult, err error) {
236 235
237 var list, before, after *filledStmt 236 var list, before, after *filledStmt
238 237
239 if list, before, after, err = buildFilters(req); err != nil { 238 if list, before, after, err = buildFilters(req); err != nil {
240 return 239 return
241 } 240 }
242 241
243 ctx := req.Context() 242 ctx := req.Context()
243
244 conn := JSONConn(req)
244 245
245 // Fast path for counting 246 // Fast path for counting
246 247
247 switch count := strings.ToLower(req.FormValue("count")); count { 248 switch count := strings.ToLower(req.FormValue("count")); count {
248 case "1", "t", "true": 249 case "1", "t", "true":
322 } 323 }
323 324
324 func importLogs( 325 func importLogs(
325 _ interface{}, 326 _ interface{},
326 req *http.Request, 327 req *http.Request,
327 conn *sql.Conn,
328 ) (jr JSONResult, err error) { 328 ) (jr JSONResult, err error) {
329 329
330 ctx := req.Context() 330 ctx := req.Context()
331 331
332 id, _ := strconv.ParseInt(mux.Vars(req)["id"], 10, 64) 332 id, _ := strconv.ParseInt(mux.Vars(req)["id"], 10, 64)
333
334 conn := JSONConn(req)
333 335
334 // Check if he have such a import job first. 336 // Check if he have such a import job first.
335 var summary sql.NullString 337 var summary sql.NullString
336 var enqueued time.Time 338 var enqueued time.Time
337 err = conn.QueryRowContext(ctx, selectImportSummarySQL, id).Scan( 339 err = conn.QueryRowContext(ctx, selectImportSummarySQL, id).Scan(
397 } 399 }
398 400
399 func deleteImport( 401 func deleteImport(
400 _ interface{}, 402 _ interface{},
401 req *http.Request, 403 req *http.Request,
402 conn *sql.Conn,
403 ) (jr JSONResult, err error) { 404 ) (jr JSONResult, err error) {
404 405
405 ctx := req.Context() 406 ctx := req.Context()
406 id, _ := strconv.ParseInt(mux.Vars(req)["id"], 10, 64) 407 id, _ := strconv.ParseInt(mux.Vars(req)["id"], 10, 64)
407 408
408 var tx *sql.Tx 409 var tx *sql.Tx
409 tx, err = conn.BeginTx(ctx, nil) 410 tx, err = JSONConn(req).BeginTx(ctx, nil)
410 if err != nil { 411 if err != nil {
411 return 412 return
412 } 413 }
413 defer tx.Rollback() 414 defer tx.Rollback()
414 415
465 ) 466 )
466 467
467 func reviewImports( 468 func reviewImports(
468 reviews interface{}, 469 reviews interface{},
469 req *http.Request, 470 req *http.Request,
470 conn *sql.Conn,
471 ) (JSONResult, error) { 471 ) (JSONResult, error) {
472 472
473 rs := *reviews.(*[]models.Review) 473 rs := *reviews.(*[]models.Review)
474 474
475 type reviewResult struct { 475 type reviewResult struct {
477 Message string `json:"message,omitempty"` 477 Message string `json:"message,omitempty"`
478 Error string `json:"error,omitempty"` 478 Error string `json:"error,omitempty"`
479 } 479 }
480 480
481 results := make([]reviewResult, len(rs)) 481 results := make([]reviewResult, len(rs))
482
483 conn := JSONConn(req)
482 484
483 for i := range rs { 485 for i := range rs {
484 rev := &rs[i] 486 rev := &rs[i]
485 msg, err := decideImport(req, conn, rev.ID, string(rev.State)) 487 msg, err := decideImport(req, conn, rev.ID, string(rev.State))
486 var errString string 488 var errString string
498 } 500 }
499 501
500 func reviewImport( 502 func reviewImport(
501 _ interface{}, 503 _ interface{},
502 req *http.Request, 504 req *http.Request,
503 conn *sql.Conn,
504 ) (jr JSONResult, err error) { 505 ) (jr JSONResult, err error) {
505 506
506 vars := mux.Vars(req) 507 vars := mux.Vars(req)
507 id, _ := strconv.ParseInt(vars["id"], 10, 64) 508 id, _ := strconv.ParseInt(vars["id"], 10, 64)
508 state := vars["state"] 509 state := vars["state"]
509 510
510 var msg string 511 var msg string
511 if msg, err = decideImport(req, conn, id, state); err != nil { 512 if msg, err = decideImport(req, JSONConn(req), id, state); err != nil {
512 return 513 return
513 } 514 }
514 515
515 result := struct { 516 result := struct {
516 Message string `json:"message"` 517 Message string `json:"message"`