MCPcopy Create free account
hub / github.com/git-bug/git-bug / decode

Function decode

bridge/core/auth/credential.go:119–144  ·  view source on GitHub ↗

decode is a helper to construct a Credential from the keyring Item

(item repository.Item)

Source from the content-addressed store, hash-verified

117
118// decode is a helper to construct a Credential from the keyring Item
119func decode(item repository.Item) (Credential, error) {
120 data := make(map[string]string)
121
122 err := json.Unmarshal(item.Data, &data)
123 if err != nil {
124 return nil, err
125 }
126
127 var cred Credential
128 switch CredentialKind(data[keyringKeyKind]) {
129 case KindToken:
130 cred, err = NewTokenFromConfig(data)
131 case KindLogin:
132 cred, err = NewLoginFromConfig(data)
133 case KindLoginPassword:
134 cred, err = NewLoginPasswordFromConfig(data)
135 default:
136 return nil, fmt.Errorf("unknown credential type \"%s\"", data[keyringKeyKind])
137 }
138
139 if err != nil {
140 return nil, fmt.Errorf("loading credential: %v", err)
141 }
142
143 return cred, nil
144}
145
146// List load all existing credentials
147func List(repo repository.RepoKeyring, opts ...ListOption) ([]Credential, error) {

Callers 3

LoadWithIdFunction · 0.85
LoadWithPrefixFunction · 0.85
ListFunction · 0.85

Calls 5

CredentialKindTypeAlias · 0.85
NewTokenFromConfigFunction · 0.85
NewLoginFromConfigFunction · 0.85
ErrorfMethod · 0.80

Tested by

no test coverage detected