email-mcp/internal/secretstore/codec.go

24 lines
452 B
Go
Raw Permalink Normal View History

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
}