Mercurial > gemma
view pkg/controllers/search.go @ 5637:7f9600ab5461
merge
author | Thomas Junk <thomas.junk@intevation.de> |
---|---|
date | Wed, 14 Jun 2023 08:45:11 +0200 |
parents | a6e5bb85f0a7 |
children |
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, 2020 by via donau // – Österreichische Wasserstraßen-Gesellschaft mbH // Software engineering by Intevation GmbH // // Author(s): // * Sascha Wilde <sascha.wilde@intevation.de> // * Sascha Teichmann <sascha.teichmann@intevation.de> package controllers import ( "net/http" "strings" "gemma.intevation.de/gemma/pkg/models" mw "gemma.intevation.de/gemma/pkg/middleware" ) const ( searchMostSQL = `SELECT search_most($1,$2)::text` ) func searchFeature(req *http.Request) (jr mw.JSONResult, err error) { s := mw.JSONInput(req).(*models.SearchRequest) if len(s.SearchString) == 0 { err = mw.JSONError{ Code: http.StatusBadRequest, Message: "error: empty search string", } return } var result string err = mw.JSONConn(req).QueryRowContext( req.Context(), searchMostSQL, s.SearchString, s.SearchTime, ).Scan(&result) if err != nil { return } jr.Result = strings.NewReader(result) return }