20 lines
757 B
Go
20 lines
757 B
Go
package controlapi
|
|
|
|
import "encoding/json"
|
|
|
|
// MarshalJSON preserves the OpenAPI-required nullable projection keys. The
|
|
// generator represents JSON null as nil pointers but marks read-only pointers
|
|
// omitempty, so the default encoder would otherwise violate the v1 wire shape.
|
|
func (value ProjectionVersions) MarshalJSON() ([]byte, error) {
|
|
type projectionWire struct {
|
|
QuotaSourceVersion *int64 `json:"quota_source_version"`
|
|
AreaPolicySourceVersion *int64 `json:"area_policy_source_version"`
|
|
SyncedAt any `json:"synced_at"`
|
|
}
|
|
return json.Marshal(projectionWire{
|
|
QuotaSourceVersion: value.QuotaSourceVersion,
|
|
AreaPolicySourceVersion: value.AreaPolicySourceVersion,
|
|
SyncedAt: value.SyncedAt,
|
|
})
|
|
}
|