Mercurial > gemma
changeset 440:3739aa34f838
Renamed externalservices.go to extservices.go
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Tue, 21 Aug 2018 14:45:38 +0200 |
parents | 1504f8eff12e |
children | 76a76691a298 |
files | pkg/controllers/externalservices.go pkg/controllers/extservices.go |
diffstat | 2 files changed, 64 insertions(+), 64 deletions(-) [+] |
line wrap: on
line diff
--- a/pkg/controllers/externalservices.go Tue Aug 21 12:36:10 2018 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,64 +0,0 @@ -package controllers - -import ( - "database/sql" - "log" - "sync" - - "gemma.intevation.de/gemma/pkg/auth" -) - -type extEntry struct { - url string - isWFS bool -} - -type extServices struct { - mu sync.Mutex - entries map[string]extEntry -} - -var externalServices = &extServices{} - -const selectExternalServices = `SELECT local_name, remote_url, is_wfs -FROM sys_admin.external_services` - -func (es *extServices) find(name string) (string, bool) { - es.mu.Lock() - defer es.mu.Unlock() - - if es.entries == nil { - es.entries = make(map[string]extEntry) - if err := es.load(); err != nil { - log.Printf("error: %v\n", err) - return "", false - } - } - e, found := es.entries[name] - return e.url, found -} - -func (es *extServices) load() error { - return auth.RunAs("sys_admin", func(db *sql.DB) error { - rows, err := db.Query(selectExternalServices) - if err != nil { - return err - } - defer rows.Close() - for rows.Next() { - var entry extEntry - var key string - if err := rows.Scan(&key, &entry.url, &entry.isWFS); err != nil { - return err - } - es.entries[key] = entry - } - return rows.Err() - }) -} - -func (es *extServices) invalidate() { - es.mu.Lock() - es.entries = nil - es.mu.Unlock() -}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/pkg/controllers/extservices.go Tue Aug 21 14:45:38 2018 +0200 @@ -0,0 +1,64 @@ +package controllers + +import ( + "database/sql" + "log" + "sync" + + "gemma.intevation.de/gemma/pkg/auth" +) + +type extEntry struct { + url string + isWFS bool +} + +type extServices struct { + mu sync.Mutex + entries map[string]extEntry +} + +var externalServices = &extServices{} + +const selectExternalServices = `SELECT local_name, remote_url, is_wfs +FROM sys_admin.external_services` + +func (es *extServices) find(name string) (string, bool) { + es.mu.Lock() + defer es.mu.Unlock() + + if es.entries == nil { + es.entries = make(map[string]extEntry) + if err := es.load(); err != nil { + log.Printf("error: %v\n", err) + return "", false + } + } + e, found := es.entries[name] + return e.url, found +} + +func (es *extServices) load() error { + return auth.RunAs("sys_admin", func(db *sql.DB) error { + rows, err := db.Query(selectExternalServices) + if err != nil { + return err + } + defer rows.Close() + for rows.Next() { + var entry extEntry + var key string + if err := rows.Scan(&key, &entry.url, &entry.isWFS); err != nil { + return err + } + es.entries[key] = entry + } + return rows.Err() + }) +} + +func (es *extServices) invalidate() { + es.mu.Lock() + es.entries = nil + es.mu.Unlock() +}