MCPcopy
hub / github.com/kopia/kopia / outputJSON

Method outputJSON

cli/command_repository_status.go:55–83  ·  view source on GitHub ↗
(ctx context.Context, r repo.Repository)

Source from the content-addressed store, hash-verified

53}
54
55func (c *commandRepositoryStatus) outputJSON(ctx context.Context, r repo.Repository) error {
56 s := RepositoryStatus{
57 ConfigFile: c.svc.repositoryConfigFileName(),
58 ClientOptions: r.ClientOptions(),
59 }
60
61 dr, ok := r.(repo.DirectRepository)
62 if ok {
63 ci := dr.BlobReader().ConnectionInfo()
64 s.UniqueIDHex = hex.EncodeToString(dr.UniqueID())
65 s.ObjectFormat = dr.ObjectFormat()
66 s.BlobRetention, _ = dr.FormatManager().BlobCfgBlob(ctx)
67 s.Storage = scrubber.ScrubSensitiveData(reflect.ValueOf(ci)).Interface().(blob.ConnectionInfo) //nolint:forcetypeassert
68 s.ContentFormat = dr.FormatManager().ScrubbedContentFormat()
69
70 switch cp, err := dr.BlobVolume().GetCapacity(ctx); {
71 case err == nil:
72 s.Capacity = &cp
73 case errors.Is(err, blob.ErrNotAVolume):
74 // This is okay, we will just not populate the result.
75 default:
76 return errors.Wrap(err, "unable to get storage volume capacity")
77 }
78 }
79
80 c.out.printStdout("%s\n", c.jo.jsonBytes(s))
81
82 return nil
83}
84
85func (c *commandRepositoryStatus) dumpUpgradeStatus(ctx context.Context, dr repo.DirectRepository) error {
86 drw, isDr := dr.(repo.DirectRepositoryWriter)

Callers 1

runMethod · 0.95

Calls 14

ScrubSensitiveDataFunction · 0.92
BlobCfgBlobMethod · 0.80
ScrubbedContentFormatMethod · 0.80
printStdoutMethod · 0.80
jsonBytesMethod · 0.80
ClientOptionsMethod · 0.65
ConnectionInfoMethod · 0.65
BlobReaderMethod · 0.65
UniqueIDMethod · 0.65
ObjectFormatMethod · 0.65
FormatManagerMethod · 0.65

Tested by

no test coverage detected