Mercurial > gemma
diff pkg/controllers/importqueue.go @ 4244:4394daeea96a json-handler-middleware
Moved JSONHandler into middleware package.
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Thu, 22 Aug 2019 11:26:48 +0200 |
parents | d776110b4db0 |
children | 47922c1a088d |
line wrap: on
line diff
--- a/pkg/controllers/importqueue.go Thu Aug 22 10:54:08 2019 +0200 +++ b/pkg/controllers/importqueue.go Thu Aug 22 11:26:48 2019 +0200 @@ -30,6 +30,8 @@ "gemma.intevation.de/gemma/pkg/common" "gemma.intevation.de/gemma/pkg/imports" "gemma.intevation.de/gemma/pkg/models" + + mw "gemma.intevation.de/gemma/pkg/middleware" ) const ( @@ -228,7 +230,7 @@ return &models.ImportTime{Time: when.UTC()} } -func listImports(req *http.Request) (jr JSONResult, err error) { +func listImports(req *http.Request) (jr mw.JSONResult, err error) { var list, before, after *filledStmt @@ -238,7 +240,7 @@ ctx := req.Context() - conn := JSONConn(req) + conn := mw.JSONConn(req) // Fast path for counting @@ -252,7 +254,7 @@ case err != nil: return } - jr = JSONResult{Result: count} + jr = mw.JSONResult{Result: count} return } @@ -305,7 +307,7 @@ next = neighbored(ctx, conn, after) } - jr = JSONResult{ + jr = mw.JSONResult{ Result: struct { Prev *models.ImportTime `json:"prev,omitempty"` Next *models.ImportTime `json:"next,omitempty"` @@ -319,13 +321,13 @@ return } -func importLogs(req *http.Request) (jr JSONResult, err error) { +func importLogs(req *http.Request) (jr mw.JSONResult, err error) { ctx := req.Context() id, _ := strconv.ParseInt(mux.Vars(req)["id"], 10, 64) - conn := JSONConn(req) + conn := mw.JSONConn(req) // Check if he have such a import job first. var summary sql.NullString @@ -336,7 +338,7 @@ ) switch { case err == sql.ErrNoRows: - err = JSONError{ + err = mw.JSONError{ Code: http.StatusNotFound, Message: fmt.Sprintf("Cannot find import #%d.", id), } @@ -378,7 +380,7 @@ return } - jr = JSONResult{ + jr = mw.JSONResult{ Result: struct { Enqueued models.ImportTime `json:"enqueued"` Summary interface{} `json:"summary,omitempty"` @@ -392,13 +394,13 @@ return } -func deleteImport(req *http.Request) (jr JSONResult, err error) { +func deleteImport(req *http.Request) (jr mw.JSONResult, err error) { ctx := req.Context() id, _ := strconv.ParseInt(mux.Vars(req)["id"], 10, 64) var tx *sql.Tx - tx, err = JSONConn(req).BeginTx(ctx, nil) + tx, err = mw.JSONConn(req).BeginTx(ctx, nil) if err != nil { return } @@ -409,7 +411,7 @@ err = tx.QueryRowContext(ctx, selectHasNoRunningImportSQL, id).Scan(&dummy) switch { case err == sql.ErrNoRows: - err = JSONError{ + err = mw.JSONError{ Code: http.StatusNotFound, Message: fmt.Sprintf("Cannot find import #%d.", id), } @@ -430,7 +432,7 @@ return } - jr = JSONResult{Code: http.StatusNoContent} + jr = mw.JSONResult{Code: http.StatusNoContent} return } @@ -456,9 +458,9 @@ INSERT INTO import.import_logs (import_id, msg) VALUES ($1, $2)` ) -func reviewImports(req *http.Request) (JSONResult, error) { +func reviewImports(req *http.Request) (mw.JSONResult, error) { - rs := *JSONInput(req).(*[]models.Review) + rs := *mw.JSONInput(req).(*[]models.Review) type reviewResult struct { ID int64 `json:"id"` @@ -468,7 +470,7 @@ results := make([]reviewResult, len(rs)) - conn := JSONConn(req) + conn := mw.JSONConn(req) for i := range rs { rev := &rs[i] @@ -484,17 +486,17 @@ } } - return JSONResult{Result: results}, nil + return mw.JSONResult{Result: results}, nil } -func reviewImport(req *http.Request) (jr JSONResult, err error) { +func reviewImport(req *http.Request) (jr mw.JSONResult, err error) { vars := mux.Vars(req) id, _ := strconv.ParseInt(vars["id"], 10, 64) state := vars["state"] var msg string - if msg, err = decideImport(req, JSONConn(req), id, state); err != nil { + if msg, err = decideImport(req, mw.JSONConn(req), id, state); err != nil { return } @@ -504,7 +506,7 @@ Message: msg, } - jr = JSONResult{Result: &result} + jr = mw.JSONResult{Result: &result} return } @@ -527,7 +529,7 @@ err = tx.QueryRowContext(ctx, isPendingSQL, id).Scan(&pending, &kind) switch { case err == sql.ErrNoRows: - err = JSONError{ + err = mw.JSONError{ Code: http.StatusNotFound, Message: fmt.Sprintf("cannot find import #%d", id), } @@ -535,7 +537,7 @@ case err != nil: return case !pending: - err = JSONError{ + err = mw.JSONError{ Code: http.StatusConflict, Message: fmt.Sprintf("import #%d is not pending", id), }