23 lines
452 B
Go
23 lines
452 B
Go
package secretstore
|
|
|
|
import "encoding/json"
|
|
|
|
func MarshalCredential(cred Credential) ([]byte, error) {
|
|
if err := cred.Validate(); err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
return json.Marshal(cred)
|
|
}
|
|
|
|
func UnmarshalCredential(data []byte) (Credential, error) {
|
|
var cred Credential
|
|
if err := json.Unmarshal(data, &cred); err != nil {
|
|
return Credential{}, err
|
|
}
|
|
if err := cred.Validate(); err != nil {
|
|
return Credential{}, err
|
|
}
|
|
|
|
return cred, nil
|
|
}
|