comparison pkg/controllers/importqueue.go @ 2795:241e7f05a538

/api/imports/{id} result now also contains the 'enqueued' time.
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Mon, 25 Mar 2019 12:48:00 +0100
parents 0f467af6bf5c
children 972400e56e4a
comparison
equal deleted inserted replaced
2794:8791becc40b1 2795:241e7f05a538
63 ` 63 `
64 selectAfterSQL = warningSQLPrefix + ` 64 selectAfterSQL = warningSQLPrefix + `
65 SELECT enqueued FROM import.imports 65 SELECT enqueued FROM import.imports
66 WHERE 66 WHERE
67 ` 67 `
68 selectImportSummaySQL = ` 68 selectImportSummarySQL = `
69 SELECT summary FROM import.imports WHERE id = $1` 69 SELECT summary, enqueued FROM import.imports WHERE id = $1`
70 70
71 selectHasNoRunningImportSQL = ` 71 selectHasNoRunningImportSQL = `
72 SELECT true FROM import.imports 72 SELECT true FROM import.imports
73 WHERE id = $1 AND state <> 'running'::import_state` 73 WHERE id = $1 AND state <> 'running'::import_state`
74 74
372 372
373 id, _ := strconv.ParseInt(mux.Vars(req)["id"], 10, 64) 373 id, _ := strconv.ParseInt(mux.Vars(req)["id"], 10, 64)
374 374
375 // Check if he have such a import job first. 375 // Check if he have such a import job first.
376 var summary sql.NullString 376 var summary sql.NullString
377 err = conn.QueryRowContext(ctx, selectImportSummaySQL, id).Scan(&summary) 377 var enqueued time.Time
378 err = conn.QueryRowContext(ctx, selectImportSummarySQL, id).Scan(
379 &summary,
380 &enqueued,
381 )
378 switch { 382 switch {
379 case err == sql.ErrNoRows: 383 case err == sql.ErrNoRows:
380 err = JSONError{ 384 err = JSONError{
381 Code: http.StatusNotFound, 385 Code: http.StatusNotFound,
382 Message: fmt.Sprintf("Cannot find import #%d.", id), 386 Message: fmt.Sprintf("Cannot find import #%d.", id),
416 return 420 return
417 } 421 }
418 422
419 jr = JSONResult{ 423 jr = JSONResult{
420 Result: struct { 424 Result: struct {
421 Summary interface{} `json:"summary,omitempty"` 425 Enqueued models.ImportTime `json:"enqueued"`
422 Entries []*models.ImportLogEntry `json:"entries"` 426 Summary interface{} `json:"summary,omitempty"`
427 Entries []*models.ImportLogEntry `json:"entries"`
423 }{ 428 }{
424 Summary: sum, 429 Enqueued: models.ImportTime{enqueued},
425 Entries: entries, 430 Summary: sum,
431 Entries: entries,
426 }, 432 },
427 } 433 }
428 return 434 return
429 } 435 }
430 436