• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

cybertec-postgresql / pgwatch3 / 10458959383

19 Aug 2024 06:32PM UTC coverage: 28.809% (+0.5%) from 28.289%
10458959383

push

github

web-flow
[!] add support for application commands (#504)

[!] add support for application commands
[*] move command-line options to respective packages
[+] add "metric" sub-commands "print-sql", "print-init", closes #505
[*] ignore warning SA5008: duplicate struct tag "choice" by staticcheck
[-] fix possible nil pointer dereference in `SetupCloseHandler()`
[+] add "source" sub-command "ping", closes #506
[*] make sure no extra logging is present for sub-commands
[*] improve context deadline error message
[*] use `cmp.Or()` stdlib function instead of custom
[+] add `Options.CompleteCommand()` function

95 of 295 new or added lines in 17 files covered. (32.2%)

3 existing lines in 3 files now uncovered.

1335 of 4634 relevant lines covered (28.81%)

0.33 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/src/webserver/api.go
1
package webserver
2

3
import (
4
        "context"
5
        "encoding/json"
6

7
        "github.com/cybertec-postgresql/pgwatch3/db"
8
        "github.com/cybertec-postgresql/pgwatch3/metrics"
9
        "github.com/cybertec-postgresql/pgwatch3/sources"
10
)
11

12
func (server *WebUIServer) TryConnectToDB(params []byte) (err error) {
×
13
        return db.Ping(context.TODO(), string(params))
×
14
}
×
15

16
// UpdatePreset updates the stored preset
17
func (server *WebUIServer) UpdatePreset(name string, params []byte) error {
×
18
        var p metrics.Preset
×
19
        err := json.Unmarshal(params, &p)
×
20
        if err != nil {
×
21
                return err
×
22
        }
×
23
        return server.metricsReaderWriter.UpdatePreset(name, p)
×
24
}
25

26
// GetPresets ret        urns the list of available presets
27
func (server *WebUIServer) GetPresets() (res string, err error) {
×
28
        var mr *metrics.Metrics
×
29
        if mr, err = server.metricsReaderWriter.GetMetrics(); err != nil {
×
30
                return
×
31
        }
×
32
        b, _ := json.Marshal(mr.PresetDefs)
×
33
        res = string(b)
×
34
        return
×
35
}
36

37
// DeletePreset removes the preset from the configuration
38
func (server *WebUIServer) DeletePreset(name string) error {
×
39
        return server.metricsReaderWriter.DeletePreset(name)
×
40
}
×
41

42
// GetMetrics returns the list of metrics
43
func (server *WebUIServer) GetMetrics() (res string, err error) {
×
44
        var mr *metrics.Metrics
×
45
        if mr, err = server.metricsReaderWriter.GetMetrics(); err != nil {
×
46
                return
×
47
        }
×
48
        b, _ := json.Marshal(mr.MetricDefs)
×
49
        res = string(b)
×
50
        return
×
51
}
52

53
// UpdateMetric updates the stored metric information
54
func (server *WebUIServer) UpdateMetric(name string, params []byte) error {
×
55
        var m metrics.Metric
×
56
        err := json.Unmarshal(params, &m)
×
57
        if err != nil {
×
58
                return err
×
59
        }
×
60
        return server.metricsReaderWriter.UpdateMetric(name, m)
×
61
}
62

63
// DeleteMetric removes the metric from the configuration
64
func (server *WebUIServer) DeleteMetric(name string) error {
×
65
        return server.metricsReaderWriter.DeleteMetric(name)
×
66
}
×
67

68
// GetSources returns the list of sources fo find databases for monitoring
69
func (server *WebUIServer) GetSources() (res string, err error) {
×
70
        var dbs sources.Sources
×
71
        if dbs, err = server.sourcesReaderWriter.GetSources(); err != nil {
×
72
                return
×
73
        }
×
74
        b, _ := json.Marshal(dbs)
×
75
        res = string(b)
×
76
        return
×
77
}
78

79
// DeleteSource removes the source from the list of configured sources
80
func (server *WebUIServer) DeleteSource(database string) error {
×
81
        return server.sourcesReaderWriter.DeleteSource(database)
×
82
}
×
83

84
// UpdateSource updates the configured source information
85
func (server *WebUIServer) UpdateSource(params []byte) error {
×
86
        var md sources.Source
×
87
        err := json.Unmarshal(params, &md)
×
88
        if err != nil {
×
89
                return err
×
90
        }
×
91
        return server.sourcesReaderWriter.UpdateSource(md)
×
92
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc