Mercurial > gemma
comparison pkg/controllers/gmimports.go @ 1637:dd31be75ce6d
Implemented gauge measurement import.
author | Raimund Renkert <raimund.renkert@intevation.de> |
---|---|
date | Thu, 20 Dec 2018 12:06:37 +0100 |
parents | |
children | 49c04bb64e0a |
comparison
equal
deleted
inserted
replaced
1636:37ee25bc2bbe | 1637:dd31be75ce6d |
---|---|
1 // This is Free Software under GNU Affero General Public License v >= 3.0 | |
2 // without warranty, see README.md and license for details. | |
3 // | |
4 // SPDX-License-Identifier: AGPL-3.0-or-later | |
5 // License-Filename: LICENSES/AGPL-3.0.txt | |
6 // | |
7 // Copyright (C) 2018 by via donau | |
8 // – Österreichische Wasserstraßen-Gesellschaft mbH | |
9 // Software engineering by Intevation GmbH | |
10 // | |
11 // Author(s): | |
12 // * Raimund Renkert <raimund.renkert@intevation.de> | |
13 | |
14 package controllers | |
15 | |
16 import ( | |
17 "database/sql" | |
18 "log" | |
19 "net/http" | |
20 | |
21 "gemma.intevation.de/gemma/pkg/auth" | |
22 "gemma.intevation.de/gemma/pkg/common" | |
23 "gemma.intevation.de/gemma/pkg/imports" | |
24 "gemma.intevation.de/gemma/pkg/models" | |
25 ) | |
26 | |
27 func importGaugeMeasurement( | |
28 input interface{}, | |
29 req *http.Request, | |
30 conn *sql.Conn, | |
31 ) (jr JSONResult, err error) { | |
32 | |
33 bi := input.(*models.GaugeMeasurementImport) | |
34 | |
35 bn := &imports.GaugeMeasurement{ | |
36 URL: bi.URL, | |
37 Insecure: bi.Insecure, | |
38 } | |
39 | |
40 var serialized string | |
41 serialized, err = common.ToJSONString(bn) | |
42 if err != nil { | |
43 return | |
44 } | |
45 | |
46 session, _ := auth.GetSession(req) | |
47 | |
48 jobID, err := imports.AddJob(imports.GMJobKind, session.User, serialized) | |
49 if err != nil { | |
50 return | |
51 } | |
52 | |
53 log.Printf("info: added import #%d to queue\n", jobID) | |
54 | |
55 result := struct { | |
56 ID int64 `json:"id"` | |
57 }{ | |
58 ID: jobID, | |
59 } | |
60 | |
61 jr = JSONResult{ | |
62 Code: http.StatusCreated, | |
63 Result: &result, | |
64 } | |
65 return | |
66 } |