Mercurial > gemma
view pkg/controllers/surveys.go @ 1290:ad528ad130d6
staging area: basic layout and selectionlogic
author | Thomas Junk <thomas.junk@intevation.de> |
---|---|
date | Thu, 22 Nov 2018 13:10:22 +0100 |
parents | a244b18cb916 |
children | 5443f5c9154c |
line wrap: on
line source
// This is Free Software under GNU Affero General Public License v >= 3.0 // without warranty, see README.md and license for details. // // SPDX-License-Identifier: AGPL-3.0-or-later // License-Filename: LICENSES/AGPL-3.0.txt // // Copyright (C) 2018 by via donau // – Österreichische Wasserstraßen-Gesellschaft mbH // Software engineering by Intevation GmbH // // Author(s): // * Sascha Wilde <sascha.wilde@intevation.de> package controllers import ( "database/sql" "net/http" "gemma.intevation.de/gemma/pkg/models" "github.com/gorilla/mux" ) const ( listSurveysSQL = `SELECT s.bottleneck_id, s.date_info::text FROM waterway.bottlenecks b, waterway.sounding_results s WHERE b.objnam=$1 AND s.bottleneck_id = b.bottleneck_id;` ) func listSurveys( _ interface{}, req *http.Request, db *sql.Conn, ) (jr JSONResult, err error) { bottleneckName := mux.Vars(req)["bottleneck"] var rows *sql.Rows rows, err = db.QueryContext(req.Context(), listSurveysSQL, bottleneckName) if err != nil { return } defer rows.Close() surveys := []models.Survey{} for rows.Next() { var survey models.Survey if err = rows.Scan( &survey.BottleneckId, &survey.DateInfo, ); err != nil { return } surveys = append(surveys, survey) } if err = rows.Err(); err != nil { return } jr = JSONResult{ Result: struct { Surveys []models.Survey `json:"surveys"` }{surveys}, } return }