Merge pull request #11436 from hashicorp/api/exports-marshal

[OSS] Ensure partition-exports kind gets marshaled
This commit is contained in:
Freddy 2021-10-27 15:27:25 -06:00 committed by GitHub
commit d6b2a22fd0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 17 additions and 0 deletions

View File

@ -1,6 +1,7 @@
package structs package structs
import ( import (
"encoding/json"
"fmt" "fmt"
"github.com/hashicorp/consul/acl" "github.com/hashicorp/consul/acl"
@ -158,3 +159,19 @@ func (e *PartitionExportsConfigEntry) GetEnterpriseMeta() *EnterpriseMeta {
return &e.EnterpriseMeta return &e.EnterpriseMeta
} }
// MarshalJSON adds the Kind field so that the JSON can be decoded back into the
// correct type.
// This method is implemented on the structs type (as apposed to the api type)
// because that is what the API currently uses to return a response.
func (e *PartitionExportsConfigEntry) MarshalJSON() ([]byte, error) {
type Alias PartitionExportsConfigEntry
source := &struct {
Kind string
*Alias
}{
Kind: PartitionExports,
Alias: (*Alias)(e),
}
return json.Marshal(source)
}