43 lines
1.5 KiB
Go
43 lines
1.5 KiB
Go
// Copyright (C) 2019 The Syncthing Authors.
|
|
//
|
|
// This Source Code Form is subject to the terms of the Mozilla Public
|
|
// License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
|
// You can obtain one at https://mozilla.org/MPL/2.0/.
|
|
|
|
package cli
|
|
|
|
import (
|
|
"github.com/alecthomas/kong"
|
|
)
|
|
|
|
type showCommand struct {
|
|
Version struct{} `cmd:"" help:"Show syncthing client version"`
|
|
ConfigStatus struct{} `cmd:"" help:"Show configuration status, whether or not a restart is required for changes to take effect"`
|
|
System struct{} `cmd:"" help:"Show system status"`
|
|
Connections struct{} `cmd:"" help:"Report about connections to other devices"`
|
|
Discovery struct{} `cmd:"" help:"Show the discovered addresses of remote devices (from cache of the running syncthing instance)"`
|
|
Usage struct{} `cmd:"" help:"Show usage report"`
|
|
Pending pendingCommand `cmd:"" help:"Pending subcommand group"`
|
|
}
|
|
|
|
func (*showCommand) Run(ctx Context, kongCtx *kong.Context) error {
|
|
indexDumpOutput := indexDumpOutputWrapper(ctx.clientFactory)
|
|
|
|
switch kongCtx.Selected().Name {
|
|
case "version":
|
|
return indexDumpOutput("system/version")
|
|
case "config-status":
|
|
return indexDumpOutput("config/restart-required")
|
|
case "system":
|
|
return indexDumpOutput("system/status")
|
|
case "connections":
|
|
return indexDumpOutput("system/connections")
|
|
case "discovery":
|
|
return indexDumpOutput("system/discovery")
|
|
case "usage":
|
|
return indexDumpOutput("svc/report")
|
|
}
|
|
|
|
return nil
|
|
}
|