MCPcopy Create free account
hub / github.com/compozy/agh / GetMetadata

Method GetMetadata

internal/cli/provider.go:572–619  ·  view source on GitHub ↗
(ctx context.Context, ref string)

Source from the content-addressed store, hash-verified

570}
571
572func (r cliProviderVaultMetadataResolver) GetMetadata(ctx context.Context, ref string) (vault.Metadata, error) {
573 db, err := globaldb.OpenGlobalDB(ctx, r.homePaths.DatabaseFile)
574 if err != nil {
575 return vault.Metadata{}, fmt.Errorf("cli: open global DB for provider auth status: %w", err)
576 }
577 lookupEnv := func(key string) (string, bool) {
578 value := r.getenv(key)
579 return value, strings.TrimSpace(value) != ""
580 }
581 service, err := vault.NewService(
582 db,
583 vault.NewFileKeyProvider(r.homePaths.HomeDir, lookupEnv),
584 vault.WithLookupEnv(lookupEnv),
585 )
586 if err != nil {
587 closeErr := db.Close(ctx)
588 if closeErr != nil {
589 return vault.Metadata{}, fmt.Errorf(
590 "cli: initialize provider auth vault status: %w; close global DB: %v",
591 err,
592 closeErr,
593 )
594 }
595 return vault.Metadata{}, fmt.Errorf("cli: initialize provider auth vault status: %w", err)
596 }
597 metadata, err := service.GetMetadata(ctx, ref)
598 closeErr := db.Close(ctx)
599 if err != nil {
600 if errors.Is(err, vault.ErrSecretNotFound) {
601 if closeErr != nil {
602 return vault.Metadata{}, fmt.Errorf("cli: close provider auth vault status DB: %w", closeErr)
603 }
604 return vault.Metadata{}, err
605 }
606 if closeErr != nil {
607 return vault.Metadata{}, fmt.Errorf(
608 "cli: read provider credential metadata: %w; close global DB: %v",
609 err,
610 closeErr,
611 )
612 }
613 return vault.Metadata{}, fmt.Errorf("cli: read provider credential metadata: %w", err)
614 }
615 if closeErr != nil {
616 return vault.Metadata{}, fmt.Errorf("cli: close provider auth vault status DB: %w", closeErr)
617 }
618 return metadata, nil
619}
620
621func providerAuthStatusBundle(record providerAuthStatusRecord) outputBundle {
622 return outputBundle{

Callers

nothing calls this directly

Calls 7

GetMetadataMethod · 0.95
OpenGlobalDBFunction · 0.92
NewServiceFunction · 0.92
NewFileKeyProviderFunction · 0.92
WithLookupEnvFunction · 0.92
CloseMethod · 0.65
IsMethod · 0.45

Tested by

no test coverage detected