Something went wrong. Try again.
[READ-ONLY] Mirror of https://github.com/openstatusHQ/cli. OpenStatus CLI www.openstatus.dev
Something went wrong. Try again.
Go
at refactor-sdk
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263package monitors
import ( "context" "fmt" "net/http" "strconv"
monitorv1 "buf.build/gen/go/openstatus/api/protocolbuffers/go/openstatus/monitor/v1" "buf.build/gen/go/openstatus/api/connectrpc/gosimple/openstatus/monitor/v1/monitorv1connect" "github.com/openstatusHQ/cli/internal/config")
// UpdateMonitor updates a monitor using the SDK, dispatching to the appropriate typefunc UpdateMonitor(httpClient *http.Client, apiKey string, id int, monitor config.Monitor) (Monitor, error) { client := NewMonitorClientWithHTTPClient(httpClient, apiKey)
switch monitor.Kind { case config.HTTP: return UpdateHTTPMonitor(client, id, monitor) case config.TCP: return UpdateTCPMonitor(client, id, monitor) default: return Monitor{}, fmt.Errorf("unsupported monitor kind: %s", monitor.Kind) }}
// UpdateHTTPMonitor updates an HTTP monitor using the SDKfunc UpdateHTTPMonitor(client monitorv1connect.MonitorServiceClient, id int, monitor config.Monitor) (Monitor, error) { httpMonitor := configToHTTPMonitor(monitor) httpMonitor.Id = strconv.Itoa(id)
req := &monitorv1.UpdateHTTPMonitorRequest{ Id: strconv.Itoa(id), Monitor: httpMonitor, }
resp, err := client.UpdateHTTPMonitor(context.Background(), req) if err != nil { return Monitor{}, fmt.Errorf("failed to update HTTP monitor: %w", err) }
return httpMonitorToLocal(resp.GetMonitor()), nil}
// UpdateTCPMonitor updates a TCP monitor using the SDKfunc UpdateTCPMonitor(client monitorv1connect.MonitorServiceClient, id int, monitor config.Monitor) (Monitor, error) { tcpMonitor := configToTCPMonitor(monitor) tcpMonitor.Id = strconv.Itoa(id)
req := &monitorv1.UpdateTCPMonitorRequest{ Id: strconv.Itoa(id), Monitor: tcpMonitor, }
resp, err := client.UpdateTCPMonitor(context.Background(), req) if err != nil { return Monitor{}, fmt.Errorf("failed to update TCP monitor: %w", err) }
return tcpMonitorToLocal(resp.GetMonitor()), nil}