58695 lines
1.4 MiB
Plaintext
58695 lines
1.4 MiB
Plaintext
// Code generated by ogen, DO NOT EDIT.
|
|
|
|
package api
|
|
|
|
import (
|
|
"math/bits"
|
|
"net/url"
|
|
"strconv"
|
|
"time"
|
|
|
|
"github.com/go-faster/errors"
|
|
"github.com/go-faster/jx"
|
|
"github.com/google/uuid"
|
|
"github.com/ogen-go/ogen/json"
|
|
"github.com/ogen-go/ogen/validate"
|
|
)
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *ActionReportItem) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *ActionReportItem) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("blocked")
|
|
e.Bool(s.Blocked)
|
|
}
|
|
{
|
|
e.FieldStart("ip")
|
|
e.Str(s.IP)
|
|
}
|
|
{
|
|
e.FieldStart("blockDuration")
|
|
e.Float64(s.BlockDuration)
|
|
}
|
|
{
|
|
e.FieldStart("willUnblockAt")
|
|
json.EncodeDateTime(e, s.WillUnblockAt)
|
|
}
|
|
{
|
|
e.FieldStart("userId")
|
|
e.Str(s.UserId)
|
|
}
|
|
{
|
|
e.FieldStart("processedAt")
|
|
json.EncodeDateTime(e, s.ProcessedAt)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfActionReportItem = [6]string{
|
|
0: "blocked",
|
|
1: "ip",
|
|
2: "blockDuration",
|
|
3: "willUnblockAt",
|
|
4: "userId",
|
|
5: "processedAt",
|
|
}
|
|
|
|
// Decode decodes ActionReportItem from json.
|
|
func (s *ActionReportItem) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode ActionReportItem to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "blocked":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Bool()
|
|
s.Blocked = bool(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"blocked\"")
|
|
}
|
|
case "ip":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.IP = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"ip\"")
|
|
}
|
|
case "blockDuration":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.BlockDuration = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"blockDuration\"")
|
|
}
|
|
case "willUnblockAt":
|
|
requiredBitSet[0] |= 1 << 3
|
|
if err := func() error {
|
|
v, err := json.DecodeDateTime(d)
|
|
s.WillUnblockAt = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"willUnblockAt\"")
|
|
}
|
|
case "userId":
|
|
requiredBitSet[0] |= 1 << 4
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.UserId = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"userId\"")
|
|
}
|
|
case "processedAt":
|
|
requiredBitSet[0] |= 1 << 5
|
|
if err := func() error {
|
|
v, err := json.DecodeDateTime(d)
|
|
s.ProcessedAt = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"processedAt\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode ActionReportItem")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00111111,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfActionReportItem) {
|
|
name = jsonFieldsNameOfActionReportItem[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *ActionReportItem) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *ActionReportItem) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *ActiveInternalSquad) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *ActiveInternalSquad) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("uuid")
|
|
json.EncodeUUID(e, s.UUID)
|
|
}
|
|
{
|
|
e.FieldStart("name")
|
|
e.Str(s.Name)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfActiveInternalSquad = [2]string{
|
|
0: "uuid",
|
|
1: "name",
|
|
}
|
|
|
|
// Decode decodes ActiveInternalSquad from json.
|
|
func (s *ActiveInternalSquad) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode ActiveInternalSquad to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "uuid":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := json.DecodeUUID(d)
|
|
s.UUID = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"uuid\"")
|
|
}
|
|
case "name":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Name = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"name\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode ActiveInternalSquad")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000011,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfActiveInternalSquad) {
|
|
name = jsonFieldsNameOfActiveInternalSquad[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *ActiveInternalSquad) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *ActiveInternalSquad) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *AllHwidDevices) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *AllHwidDevices) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("devices")
|
|
e.ArrStart()
|
|
for _, elem := range s.Devices {
|
|
elem.Encode(e)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
{
|
|
e.FieldStart("total")
|
|
e.Float64(s.Total)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfAllHwidDevices = [2]string{
|
|
0: "devices",
|
|
1: "total",
|
|
}
|
|
|
|
// Decode decodes AllHwidDevices from json.
|
|
func (s *AllHwidDevices) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode AllHwidDevices to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "devices":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
s.Devices = make([]Device, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem Device
|
|
if err := elem.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
s.Devices = append(s.Devices, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"devices\"")
|
|
}
|
|
case "total":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.Total = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"total\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode AllHwidDevices")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000011,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfAllHwidDevices) {
|
|
name = jsonFieldsNameOfAllHwidDevices[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *AllHwidDevices) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *AllHwidDevices) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *BadRequestError) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *BadRequestError) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("message")
|
|
e.Str(s.Message)
|
|
}
|
|
{
|
|
e.FieldStart("statusCode")
|
|
e.Float64(s.StatusCode)
|
|
}
|
|
{
|
|
e.FieldStart("errors")
|
|
e.ArrStart()
|
|
for _, elem := range s.Errors {
|
|
elem.Encode(e)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfBadRequestError = [3]string{
|
|
0: "message",
|
|
1: "statusCode",
|
|
2: "errors",
|
|
}
|
|
|
|
// Decode decodes BadRequestError from json.
|
|
func (s *BadRequestError) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode BadRequestError to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "message":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Message = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"message\"")
|
|
}
|
|
case "statusCode":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.StatusCode = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"statusCode\"")
|
|
}
|
|
case "errors":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
s.Errors = make([]ValidationError, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem ValidationError
|
|
if err := elem.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
s.Errors = append(s.Errors, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"errors\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode BadRequestError")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000111,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfBadRequestError) {
|
|
name = jsonFieldsNameOfBadRequestError[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *BadRequestError) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *BadRequestError) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *BandwidthLastTwoDays) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *BandwidthLastTwoDays) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("current")
|
|
e.Str(s.Current)
|
|
}
|
|
{
|
|
e.FieldStart("previous")
|
|
e.Str(s.Previous)
|
|
}
|
|
{
|
|
e.FieldStart("difference")
|
|
e.Str(s.Difference)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfBandwidthLastTwoDays = [3]string{
|
|
0: "current",
|
|
1: "previous",
|
|
2: "difference",
|
|
}
|
|
|
|
// Decode decodes BandwidthLastTwoDays from json.
|
|
func (s *BandwidthLastTwoDays) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode BandwidthLastTwoDays to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "current":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Current = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"current\"")
|
|
}
|
|
case "previous":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Previous = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"previous\"")
|
|
}
|
|
case "difference":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Difference = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"difference\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode BandwidthLastTwoDays")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000111,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfBandwidthLastTwoDays) {
|
|
name = jsonFieldsNameOfBandwidthLastTwoDays[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *BandwidthLastTwoDays) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *BandwidthLastTwoDays) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *BillingHistoryItem) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *BillingHistoryItem) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("totalAmount")
|
|
e.Float64(s.TotalAmount)
|
|
}
|
|
{
|
|
e.FieldStart("totalBills")
|
|
e.Float64(s.TotalBills)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfBillingHistoryItem = [2]string{
|
|
0: "totalAmount",
|
|
1: "totalBills",
|
|
}
|
|
|
|
// Decode decodes BillingHistoryItem from json.
|
|
func (s *BillingHistoryItem) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode BillingHistoryItem to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "totalAmount":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.TotalAmount = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"totalAmount\"")
|
|
}
|
|
case "totalBills":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.TotalBills = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"totalBills\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode BillingHistoryItem")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000011,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfBillingHistoryItem) {
|
|
name = jsonFieldsNameOfBillingHistoryItem[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *BillingHistoryItem) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *BillingHistoryItem) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *BillingHistoryResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *BillingHistoryResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("response")
|
|
s.Response.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfBillingHistoryResponse = [1]string{
|
|
0: "response",
|
|
}
|
|
|
|
// Decode decodes BillingHistoryResponse from json.
|
|
func (s *BillingHistoryResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode BillingHistoryResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "response":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Response.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"response\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode BillingHistoryResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfBillingHistoryResponse) {
|
|
name = jsonFieldsNameOfBillingHistoryResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *BillingHistoryResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *BillingHistoryResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *BillingHistoryResponseResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *BillingHistoryResponseResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("records")
|
|
e.ArrStart()
|
|
for _, elem := range s.Records {
|
|
elem.Encode(e)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
{
|
|
e.FieldStart("total")
|
|
e.Float64(s.Total)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfBillingHistoryResponseResponse = [2]string{
|
|
0: "records",
|
|
1: "total",
|
|
}
|
|
|
|
// Decode decodes BillingHistoryResponseResponse from json.
|
|
func (s *BillingHistoryResponseResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode BillingHistoryResponseResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "records":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
s.Records = make([]BillingHistoryResponseResponseRecordsItem, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem BillingHistoryResponseResponseRecordsItem
|
|
if err := elem.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
s.Records = append(s.Records, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"records\"")
|
|
}
|
|
case "total":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.Total = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"total\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode BillingHistoryResponseResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000011,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfBillingHistoryResponseResponse) {
|
|
name = jsonFieldsNameOfBillingHistoryResponseResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *BillingHistoryResponseResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *BillingHistoryResponseResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *BillingHistoryResponseResponseRecordsItem) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *BillingHistoryResponseResponseRecordsItem) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("uuid")
|
|
json.EncodeUUID(e, s.UUID)
|
|
}
|
|
{
|
|
e.FieldStart("providerUuid")
|
|
json.EncodeUUID(e, s.ProviderUuid)
|
|
}
|
|
{
|
|
e.FieldStart("amount")
|
|
e.Float64(s.Amount)
|
|
}
|
|
{
|
|
e.FieldStart("billedAt")
|
|
json.EncodeDateTime(e, s.BilledAt)
|
|
}
|
|
{
|
|
e.FieldStart("provider")
|
|
s.Provider.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfBillingHistoryResponseResponseRecordsItem = [5]string{
|
|
0: "uuid",
|
|
1: "providerUuid",
|
|
2: "amount",
|
|
3: "billedAt",
|
|
4: "provider",
|
|
}
|
|
|
|
// Decode decodes BillingHistoryResponseResponseRecordsItem from json.
|
|
func (s *BillingHistoryResponseResponseRecordsItem) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode BillingHistoryResponseResponseRecordsItem to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "uuid":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := json.DecodeUUID(d)
|
|
s.UUID = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"uuid\"")
|
|
}
|
|
case "providerUuid":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := json.DecodeUUID(d)
|
|
s.ProviderUuid = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"providerUuid\"")
|
|
}
|
|
case "amount":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.Amount = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"amount\"")
|
|
}
|
|
case "billedAt":
|
|
requiredBitSet[0] |= 1 << 3
|
|
if err := func() error {
|
|
v, err := json.DecodeDateTime(d)
|
|
s.BilledAt = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"billedAt\"")
|
|
}
|
|
case "provider":
|
|
requiredBitSet[0] |= 1 << 4
|
|
if err := func() error {
|
|
if err := s.Provider.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"provider\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode BillingHistoryResponseResponseRecordsItem")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00011111,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfBillingHistoryResponseResponseRecordsItem) {
|
|
name = jsonFieldsNameOfBillingHistoryResponseResponseRecordsItem[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *BillingHistoryResponseResponseRecordsItem) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *BillingHistoryResponseResponseRecordsItem) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *BillingHistoryResponseResponseRecordsItemProvider) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *BillingHistoryResponseResponseRecordsItemProvider) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("uuid")
|
|
json.EncodeUUID(e, s.UUID)
|
|
}
|
|
{
|
|
e.FieldStart("name")
|
|
e.Str(s.Name)
|
|
}
|
|
{
|
|
e.FieldStart("faviconLink")
|
|
s.FaviconLink.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfBillingHistoryResponseResponseRecordsItemProvider = [3]string{
|
|
0: "uuid",
|
|
1: "name",
|
|
2: "faviconLink",
|
|
}
|
|
|
|
// Decode decodes BillingHistoryResponseResponseRecordsItemProvider from json.
|
|
func (s *BillingHistoryResponseResponseRecordsItemProvider) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode BillingHistoryResponseResponseRecordsItemProvider to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "uuid":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := json.DecodeUUID(d)
|
|
s.UUID = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"uuid\"")
|
|
}
|
|
case "name":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Name = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"name\"")
|
|
}
|
|
case "faviconLink":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
if err := s.FaviconLink.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"faviconLink\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode BillingHistoryResponseResponseRecordsItemProvider")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000111,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfBillingHistoryResponseResponseRecordsItemProvider) {
|
|
name = jsonFieldsNameOfBillingHistoryResponseResponseRecordsItemProvider[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *BillingHistoryResponseResponseRecordsItemProvider) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *BillingHistoryResponseResponseRecordsItemProvider) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *BillingNode) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *BillingNode) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("name")
|
|
e.Str(s.Name)
|
|
}
|
|
{
|
|
e.FieldStart("details")
|
|
s.Details.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfBillingNode = [2]string{
|
|
0: "name",
|
|
1: "details",
|
|
}
|
|
|
|
// Decode decodes BillingNode from json.
|
|
func (s *BillingNode) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode BillingNode to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "name":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Name = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"name\"")
|
|
}
|
|
case "details":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
if err := s.Details.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"details\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode BillingNode")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000011,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfBillingNode) {
|
|
name = jsonFieldsNameOfBillingNode[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *BillingNode) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *BillingNode) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *BillingNodesResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *BillingNodesResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("response")
|
|
s.Response.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfBillingNodesResponse = [1]string{
|
|
0: "response",
|
|
}
|
|
|
|
// Decode decodes BillingNodesResponse from json.
|
|
func (s *BillingNodesResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode BillingNodesResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "response":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Response.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"response\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode BillingNodesResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfBillingNodesResponse) {
|
|
name = jsonFieldsNameOfBillingNodesResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *BillingNodesResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *BillingNodesResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *BillingNodesResponseResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *BillingNodesResponseResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("totalBillingNodes")
|
|
e.Float64(s.TotalBillingNodes)
|
|
}
|
|
{
|
|
e.FieldStart("billingNodes")
|
|
e.ArrStart()
|
|
for _, elem := range s.BillingNodes {
|
|
elem.Encode(e)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
{
|
|
e.FieldStart("availableBillingNodes")
|
|
e.ArrStart()
|
|
for _, elem := range s.AvailableBillingNodes {
|
|
elem.Encode(e)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
{
|
|
e.FieldStart("totalAvailableBillingNodes")
|
|
e.Float64(s.TotalAvailableBillingNodes)
|
|
}
|
|
{
|
|
e.FieldStart("stats")
|
|
s.Stats.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfBillingNodesResponseResponse = [5]string{
|
|
0: "totalBillingNodes",
|
|
1: "billingNodes",
|
|
2: "availableBillingNodes",
|
|
3: "totalAvailableBillingNodes",
|
|
4: "stats",
|
|
}
|
|
|
|
// Decode decodes BillingNodesResponseResponse from json.
|
|
func (s *BillingNodesResponseResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode BillingNodesResponseResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "totalBillingNodes":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.TotalBillingNodes = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"totalBillingNodes\"")
|
|
}
|
|
case "billingNodes":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
s.BillingNodes = make([]BillingNodesResponseResponseBillingNodesItem, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem BillingNodesResponseResponseBillingNodesItem
|
|
if err := elem.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
s.BillingNodes = append(s.BillingNodes, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"billingNodes\"")
|
|
}
|
|
case "availableBillingNodes":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
s.AvailableBillingNodes = make([]Node, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem Node
|
|
if err := elem.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
s.AvailableBillingNodes = append(s.AvailableBillingNodes, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"availableBillingNodes\"")
|
|
}
|
|
case "totalAvailableBillingNodes":
|
|
requiredBitSet[0] |= 1 << 3
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.TotalAvailableBillingNodes = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"totalAvailableBillingNodes\"")
|
|
}
|
|
case "stats":
|
|
requiredBitSet[0] |= 1 << 4
|
|
if err := func() error {
|
|
if err := s.Stats.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"stats\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode BillingNodesResponseResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00011111,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfBillingNodesResponseResponse) {
|
|
name = jsonFieldsNameOfBillingNodesResponseResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *BillingNodesResponseResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *BillingNodesResponseResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *BillingNodesResponseResponseBillingNodesItem) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *BillingNodesResponseResponseBillingNodesItem) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("uuid")
|
|
json.EncodeUUID(e, s.UUID)
|
|
}
|
|
{
|
|
e.FieldStart("nodeUuid")
|
|
s.NodeUuid.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("name")
|
|
s.Name.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("providerUuid")
|
|
json.EncodeUUID(e, s.ProviderUuid)
|
|
}
|
|
{
|
|
e.FieldStart("provider")
|
|
s.Provider.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("node")
|
|
s.Node.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("nextBillingAt")
|
|
json.EncodeDateTime(e, s.NextBillingAt)
|
|
}
|
|
{
|
|
e.FieldStart("createdAt")
|
|
json.EncodeDateTime(e, s.CreatedAt)
|
|
}
|
|
{
|
|
e.FieldStart("updatedAt")
|
|
json.EncodeDateTime(e, s.UpdatedAt)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfBillingNodesResponseResponseBillingNodesItem = [9]string{
|
|
0: "uuid",
|
|
1: "nodeUuid",
|
|
2: "name",
|
|
3: "providerUuid",
|
|
4: "provider",
|
|
5: "node",
|
|
6: "nextBillingAt",
|
|
7: "createdAt",
|
|
8: "updatedAt",
|
|
}
|
|
|
|
// Decode decodes BillingNodesResponseResponseBillingNodesItem from json.
|
|
func (s *BillingNodesResponseResponseBillingNodesItem) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode BillingNodesResponseResponseBillingNodesItem to nil")
|
|
}
|
|
var requiredBitSet [2]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "uuid":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := json.DecodeUUID(d)
|
|
s.UUID = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"uuid\"")
|
|
}
|
|
case "nodeUuid":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
if err := s.NodeUuid.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"nodeUuid\"")
|
|
}
|
|
case "name":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
if err := s.Name.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"name\"")
|
|
}
|
|
case "providerUuid":
|
|
requiredBitSet[0] |= 1 << 3
|
|
if err := func() error {
|
|
v, err := json.DecodeUUID(d)
|
|
s.ProviderUuid = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"providerUuid\"")
|
|
}
|
|
case "provider":
|
|
requiredBitSet[0] |= 1 << 4
|
|
if err := func() error {
|
|
if err := s.Provider.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"provider\"")
|
|
}
|
|
case "node":
|
|
requiredBitSet[0] |= 1 << 5
|
|
if err := func() error {
|
|
if err := s.Node.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"node\"")
|
|
}
|
|
case "nextBillingAt":
|
|
requiredBitSet[0] |= 1 << 6
|
|
if err := func() error {
|
|
v, err := json.DecodeDateTime(d)
|
|
s.NextBillingAt = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"nextBillingAt\"")
|
|
}
|
|
case "createdAt":
|
|
requiredBitSet[0] |= 1 << 7
|
|
if err := func() error {
|
|
v, err := json.DecodeDateTime(d)
|
|
s.CreatedAt = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"createdAt\"")
|
|
}
|
|
case "updatedAt":
|
|
requiredBitSet[1] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := json.DecodeDateTime(d)
|
|
s.UpdatedAt = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"updatedAt\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode BillingNodesResponseResponseBillingNodesItem")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [2]uint8{
|
|
0b11111111,
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfBillingNodesResponseResponseBillingNodesItem) {
|
|
name = jsonFieldsNameOfBillingNodesResponseResponseBillingNodesItem[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *BillingNodesResponseResponseBillingNodesItem) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *BillingNodesResponseResponseBillingNodesItem) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *BillingNodesResponseResponseBillingNodesItemProvider) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *BillingNodesResponseResponseBillingNodesItemProvider) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("uuid")
|
|
json.EncodeUUID(e, s.UUID)
|
|
}
|
|
{
|
|
e.FieldStart("name")
|
|
e.Str(s.Name)
|
|
}
|
|
{
|
|
e.FieldStart("loginUrl")
|
|
s.LoginUrl.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("faviconLink")
|
|
s.FaviconLink.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfBillingNodesResponseResponseBillingNodesItemProvider = [4]string{
|
|
0: "uuid",
|
|
1: "name",
|
|
2: "loginUrl",
|
|
3: "faviconLink",
|
|
}
|
|
|
|
// Decode decodes BillingNodesResponseResponseBillingNodesItemProvider from json.
|
|
func (s *BillingNodesResponseResponseBillingNodesItemProvider) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode BillingNodesResponseResponseBillingNodesItemProvider to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "uuid":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := json.DecodeUUID(d)
|
|
s.UUID = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"uuid\"")
|
|
}
|
|
case "name":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Name = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"name\"")
|
|
}
|
|
case "loginUrl":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
if err := s.LoginUrl.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"loginUrl\"")
|
|
}
|
|
case "faviconLink":
|
|
requiredBitSet[0] |= 1 << 3
|
|
if err := func() error {
|
|
if err := s.FaviconLink.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"faviconLink\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode BillingNodesResponseResponseBillingNodesItemProvider")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00001111,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfBillingNodesResponseResponseBillingNodesItemProvider) {
|
|
name = jsonFieldsNameOfBillingNodesResponseResponseBillingNodesItemProvider[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *BillingNodesResponseResponseBillingNodesItemProvider) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *BillingNodesResponseResponseBillingNodesItemProvider) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *BillingNodesResponseResponseStats) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *BillingNodesResponseResponseStats) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("upcomingNodesCount")
|
|
e.Float64(s.UpcomingNodesCount)
|
|
}
|
|
{
|
|
e.FieldStart("currentMonthPayments")
|
|
e.Float64(s.CurrentMonthPayments)
|
|
}
|
|
{
|
|
e.FieldStart("totalSpent")
|
|
e.Float64(s.TotalSpent)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfBillingNodesResponseResponseStats = [3]string{
|
|
0: "upcomingNodesCount",
|
|
1: "currentMonthPayments",
|
|
2: "totalSpent",
|
|
}
|
|
|
|
// Decode decodes BillingNodesResponseResponseStats from json.
|
|
func (s *BillingNodesResponseResponseStats) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode BillingNodesResponseResponseStats to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "upcomingNodesCount":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.UpcomingNodesCount = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"upcomingNodesCount\"")
|
|
}
|
|
case "currentMonthPayments":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.CurrentMonthPayments = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"currentMonthPayments\"")
|
|
}
|
|
case "totalSpent":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.TotalSpent = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"totalSpent\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode BillingNodesResponseResponseStats")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000111,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfBillingNodesResponseResponseStats) {
|
|
name = jsonFieldsNameOfBillingNodesResponseResponseStats[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *BillingNodesResponseResponseStats) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *BillingNodesResponseResponseStats) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *BrandingSettings) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *BrandingSettings) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("title")
|
|
s.Title.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("logoUrl")
|
|
s.LogoUrl.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfBrandingSettings = [2]string{
|
|
0: "title",
|
|
1: "logoUrl",
|
|
}
|
|
|
|
// Decode decodes BrandingSettings from json.
|
|
func (s *BrandingSettings) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode BrandingSettings to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "title":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Title.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"title\"")
|
|
}
|
|
case "logoUrl":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
if err := s.LogoUrl.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"logoUrl\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode BrandingSettings")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000011,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfBrandingSettings) {
|
|
name = jsonFieldsNameOfBrandingSettings[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *BrandingSettings) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *BrandingSettings) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *BulkActionResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *BulkActionResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("response")
|
|
s.Response.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfBulkActionResponse = [1]string{
|
|
0: "response",
|
|
}
|
|
|
|
// Decode decodes BulkActionResponse from json.
|
|
func (s *BulkActionResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode BulkActionResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "response":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Response.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"response\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode BulkActionResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfBulkActionResponse) {
|
|
name = jsonFieldsNameOfBulkActionResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *BulkActionResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *BulkActionResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *BulkActionResponseResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *BulkActionResponseResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("affectedRows")
|
|
e.Float64(s.AffectedRows)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfBulkActionResponseResponse = [1]string{
|
|
0: "affectedRows",
|
|
}
|
|
|
|
// Decode decodes BulkActionResponseResponse from json.
|
|
func (s *BulkActionResponseResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode BulkActionResponseResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "affectedRows":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.AffectedRows = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"affectedRows\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode BulkActionResponseResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfBulkActionResponseResponse) {
|
|
name = jsonFieldsNameOfBulkActionResponseResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *BulkActionResponseResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *BulkActionResponseResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *BulkAllExtendExpirationDateRequest) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *BulkAllExtendExpirationDateRequest) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("extendDays")
|
|
e.Int(s.ExtendDays)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfBulkAllExtendExpirationDateRequest = [1]string{
|
|
0: "extendDays",
|
|
}
|
|
|
|
// Decode decodes BulkAllExtendExpirationDateRequest from json.
|
|
func (s *BulkAllExtendExpirationDateRequest) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode BulkAllExtendExpirationDateRequest to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "extendDays":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Int()
|
|
s.ExtendDays = int(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"extendDays\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode BulkAllExtendExpirationDateRequest")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfBulkAllExtendExpirationDateRequest) {
|
|
name = jsonFieldsNameOfBulkAllExtendExpirationDateRequest[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *BulkAllExtendExpirationDateRequest) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *BulkAllExtendExpirationDateRequest) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *BulkAllUpdateUsersRequest) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *BulkAllUpdateUsersRequest) encodeFields(e *jx.Encoder) {
|
|
{
|
|
if s.Status.Set {
|
|
e.FieldStart("status")
|
|
s.Status.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.TrafficLimitBytes.Set {
|
|
e.FieldStart("trafficLimitBytes")
|
|
s.TrafficLimitBytes.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.TrafficLimitStrategy.Set {
|
|
e.FieldStart("trafficLimitStrategy")
|
|
s.TrafficLimitStrategy.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.ExpireAt.Set {
|
|
e.FieldStart("expireAt")
|
|
s.ExpireAt.Encode(e, json.EncodeDateTime)
|
|
}
|
|
}
|
|
{
|
|
if s.Description.Set {
|
|
e.FieldStart("description")
|
|
s.Description.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.TelegramId.Set {
|
|
e.FieldStart("telegramId")
|
|
s.TelegramId.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.Email.Set {
|
|
e.FieldStart("email")
|
|
s.Email.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.Tag.Set {
|
|
e.FieldStart("tag")
|
|
s.Tag.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.HwidDeviceLimit.Set {
|
|
e.FieldStart("hwidDeviceLimit")
|
|
s.HwidDeviceLimit.Encode(e)
|
|
}
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfBulkAllUpdateUsersRequest = [9]string{
|
|
0: "status",
|
|
1: "trafficLimitBytes",
|
|
2: "trafficLimitStrategy",
|
|
3: "expireAt",
|
|
4: "description",
|
|
5: "telegramId",
|
|
6: "email",
|
|
7: "tag",
|
|
8: "hwidDeviceLimit",
|
|
}
|
|
|
|
// Decode decodes BulkAllUpdateUsersRequest from json.
|
|
func (s *BulkAllUpdateUsersRequest) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode BulkAllUpdateUsersRequest to nil")
|
|
}
|
|
s.setDefaults()
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "status":
|
|
if err := func() error {
|
|
s.Status.Reset()
|
|
if err := s.Status.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"status\"")
|
|
}
|
|
case "trafficLimitBytes":
|
|
if err := func() error {
|
|
s.TrafficLimitBytes.Reset()
|
|
if err := s.TrafficLimitBytes.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"trafficLimitBytes\"")
|
|
}
|
|
case "trafficLimitStrategy":
|
|
if err := func() error {
|
|
s.TrafficLimitStrategy.Reset()
|
|
if err := s.TrafficLimitStrategy.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"trafficLimitStrategy\"")
|
|
}
|
|
case "expireAt":
|
|
if err := func() error {
|
|
s.ExpireAt.Reset()
|
|
if err := s.ExpireAt.Decode(d, json.DecodeDateTime); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"expireAt\"")
|
|
}
|
|
case "description":
|
|
if err := func() error {
|
|
s.Description.Reset()
|
|
if err := s.Description.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"description\"")
|
|
}
|
|
case "telegramId":
|
|
if err := func() error {
|
|
s.TelegramId.Reset()
|
|
if err := s.TelegramId.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"telegramId\"")
|
|
}
|
|
case "email":
|
|
if err := func() error {
|
|
s.Email.Reset()
|
|
if err := s.Email.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"email\"")
|
|
}
|
|
case "tag":
|
|
if err := func() error {
|
|
s.Tag.Reset()
|
|
if err := s.Tag.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"tag\"")
|
|
}
|
|
case "hwidDeviceLimit":
|
|
if err := func() error {
|
|
s.HwidDeviceLimit.Reset()
|
|
if err := s.HwidDeviceLimit.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"hwidDeviceLimit\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode BulkAllUpdateUsersRequest")
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *BulkAllUpdateUsersRequest) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *BulkAllUpdateUsersRequest) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes BulkAllUpdateUsersRequestStatus as json.
|
|
func (s BulkAllUpdateUsersRequestStatus) Encode(e *jx.Encoder) {
|
|
e.Str(string(s))
|
|
}
|
|
|
|
// Decode decodes BulkAllUpdateUsersRequestStatus from json.
|
|
func (s *BulkAllUpdateUsersRequestStatus) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode BulkAllUpdateUsersRequestStatus to nil")
|
|
}
|
|
v, err := d.StrBytes()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
// Try to use constant string.
|
|
switch BulkAllUpdateUsersRequestStatus(v) {
|
|
case BulkAllUpdateUsersRequestStatusACTIVE:
|
|
*s = BulkAllUpdateUsersRequestStatusACTIVE
|
|
case BulkAllUpdateUsersRequestStatusDISABLED:
|
|
*s = BulkAllUpdateUsersRequestStatusDISABLED
|
|
case BulkAllUpdateUsersRequestStatusLIMITED:
|
|
*s = BulkAllUpdateUsersRequestStatusLIMITED
|
|
case BulkAllUpdateUsersRequestStatusEXPIRED:
|
|
*s = BulkAllUpdateUsersRequestStatusEXPIRED
|
|
default:
|
|
*s = BulkAllUpdateUsersRequestStatus(v)
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s BulkAllUpdateUsersRequestStatus) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *BulkAllUpdateUsersRequestStatus) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes BulkAllUpdateUsersRequestTrafficLimitStrategy as json.
|
|
func (s BulkAllUpdateUsersRequestTrafficLimitStrategy) Encode(e *jx.Encoder) {
|
|
e.Str(string(s))
|
|
}
|
|
|
|
// Decode decodes BulkAllUpdateUsersRequestTrafficLimitStrategy from json.
|
|
func (s *BulkAllUpdateUsersRequestTrafficLimitStrategy) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode BulkAllUpdateUsersRequestTrafficLimitStrategy to nil")
|
|
}
|
|
v, err := d.StrBytes()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
// Try to use constant string.
|
|
switch BulkAllUpdateUsersRequestTrafficLimitStrategy(v) {
|
|
case BulkAllUpdateUsersRequestTrafficLimitStrategyNORESET:
|
|
*s = BulkAllUpdateUsersRequestTrafficLimitStrategyNORESET
|
|
case BulkAllUpdateUsersRequestTrafficLimitStrategyDAY:
|
|
*s = BulkAllUpdateUsersRequestTrafficLimitStrategyDAY
|
|
case BulkAllUpdateUsersRequestTrafficLimitStrategyWEEK:
|
|
*s = BulkAllUpdateUsersRequestTrafficLimitStrategyWEEK
|
|
case BulkAllUpdateUsersRequestTrafficLimitStrategyMONTH:
|
|
*s = BulkAllUpdateUsersRequestTrafficLimitStrategyMONTH
|
|
case BulkAllUpdateUsersRequestTrafficLimitStrategyMONTHROLLING:
|
|
*s = BulkAllUpdateUsersRequestTrafficLimitStrategyMONTHROLLING
|
|
default:
|
|
*s = BulkAllUpdateUsersRequestTrafficLimitStrategy(v)
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s BulkAllUpdateUsersRequestTrafficLimitStrategy) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *BulkAllUpdateUsersRequestTrafficLimitStrategy) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *BulkDeleteUsersByStatusRequest) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *BulkDeleteUsersByStatusRequest) encodeFields(e *jx.Encoder) {
|
|
{
|
|
if s.Status.Set {
|
|
e.FieldStart("status")
|
|
s.Status.Encode(e)
|
|
}
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfBulkDeleteUsersByStatusRequest = [1]string{
|
|
0: "status",
|
|
}
|
|
|
|
// Decode decodes BulkDeleteUsersByStatusRequest from json.
|
|
func (s *BulkDeleteUsersByStatusRequest) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode BulkDeleteUsersByStatusRequest to nil")
|
|
}
|
|
s.setDefaults()
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "status":
|
|
if err := func() error {
|
|
s.Status.Reset()
|
|
if err := s.Status.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"status\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode BulkDeleteUsersByStatusRequest")
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *BulkDeleteUsersByStatusRequest) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *BulkDeleteUsersByStatusRequest) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes BulkDeleteUsersByStatusRequestStatus as json.
|
|
func (s BulkDeleteUsersByStatusRequestStatus) Encode(e *jx.Encoder) {
|
|
e.Str(string(s))
|
|
}
|
|
|
|
// Decode decodes BulkDeleteUsersByStatusRequestStatus from json.
|
|
func (s *BulkDeleteUsersByStatusRequestStatus) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode BulkDeleteUsersByStatusRequestStatus to nil")
|
|
}
|
|
v, err := d.StrBytes()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
// Try to use constant string.
|
|
switch BulkDeleteUsersByStatusRequestStatus(v) {
|
|
case BulkDeleteUsersByStatusRequestStatusACTIVE:
|
|
*s = BulkDeleteUsersByStatusRequestStatusACTIVE
|
|
case BulkDeleteUsersByStatusRequestStatusDISABLED:
|
|
*s = BulkDeleteUsersByStatusRequestStatusDISABLED
|
|
case BulkDeleteUsersByStatusRequestStatusLIMITED:
|
|
*s = BulkDeleteUsersByStatusRequestStatusLIMITED
|
|
case BulkDeleteUsersByStatusRequestStatusEXPIRED:
|
|
*s = BulkDeleteUsersByStatusRequestStatusEXPIRED
|
|
default:
|
|
*s = BulkDeleteUsersByStatusRequestStatus(v)
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s BulkDeleteUsersByStatusRequestStatus) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *BulkDeleteUsersByStatusRequestStatus) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *BulkExtendExpirationDateRequest) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *BulkExtendExpirationDateRequest) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("uuids")
|
|
e.ArrStart()
|
|
for _, elem := range s.Uuids {
|
|
json.EncodeUUID(e, elem)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
{
|
|
e.FieldStart("extendDays")
|
|
e.Int(s.ExtendDays)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfBulkExtendExpirationDateRequest = [2]string{
|
|
0: "uuids",
|
|
1: "extendDays",
|
|
}
|
|
|
|
// Decode decodes BulkExtendExpirationDateRequest from json.
|
|
func (s *BulkExtendExpirationDateRequest) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode BulkExtendExpirationDateRequest to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "uuids":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
s.Uuids = make([]uuid.UUID, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem uuid.UUID
|
|
v, err := json.DecodeUUID(d)
|
|
elem = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
s.Uuids = append(s.Uuids, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"uuids\"")
|
|
}
|
|
case "extendDays":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Int()
|
|
s.ExtendDays = int(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"extendDays\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode BulkExtendExpirationDateRequest")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000011,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfBulkExtendExpirationDateRequest) {
|
|
name = jsonFieldsNameOfBulkExtendExpirationDateRequest[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *BulkExtendExpirationDateRequest) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *BulkExtendExpirationDateRequest) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *BulkNodesActionsRequest) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *BulkNodesActionsRequest) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("uuids")
|
|
e.ArrStart()
|
|
for _, elem := range s.Uuids {
|
|
json.EncodeUUID(e, elem)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
{
|
|
e.FieldStart("action")
|
|
s.Action.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfBulkNodesActionsRequest = [2]string{
|
|
0: "uuids",
|
|
1: "action",
|
|
}
|
|
|
|
// Decode decodes BulkNodesActionsRequest from json.
|
|
func (s *BulkNodesActionsRequest) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode BulkNodesActionsRequest to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "uuids":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
s.Uuids = make([]uuid.UUID, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem uuid.UUID
|
|
v, err := json.DecodeUUID(d)
|
|
elem = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
s.Uuids = append(s.Uuids, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"uuids\"")
|
|
}
|
|
case "action":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
if err := s.Action.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"action\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode BulkNodesActionsRequest")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000011,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfBulkNodesActionsRequest) {
|
|
name = jsonFieldsNameOfBulkNodesActionsRequest[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *BulkNodesActionsRequest) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *BulkNodesActionsRequest) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes BulkNodesActionsRequestAction as json.
|
|
func (s BulkNodesActionsRequestAction) Encode(e *jx.Encoder) {
|
|
e.Str(string(s))
|
|
}
|
|
|
|
// Decode decodes BulkNodesActionsRequestAction from json.
|
|
func (s *BulkNodesActionsRequestAction) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode BulkNodesActionsRequestAction to nil")
|
|
}
|
|
v, err := d.StrBytes()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
// Try to use constant string.
|
|
switch BulkNodesActionsRequestAction(v) {
|
|
case BulkNodesActionsRequestActionENABLE:
|
|
*s = BulkNodesActionsRequestActionENABLE
|
|
case BulkNodesActionsRequestActionDISABLE:
|
|
*s = BulkNodesActionsRequestActionDISABLE
|
|
case BulkNodesActionsRequestActionRESTART:
|
|
*s = BulkNodesActionsRequestActionRESTART
|
|
case BulkNodesActionsRequestActionRESETTRAFFIC:
|
|
*s = BulkNodesActionsRequestActionRESETTRAFFIC
|
|
default:
|
|
*s = BulkNodesActionsRequestAction(v)
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s BulkNodesActionsRequestAction) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *BulkNodesActionsRequestAction) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *BulkNodesUpdateRequest) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *BulkNodesUpdateRequest) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("uuids")
|
|
e.ArrStart()
|
|
for _, elem := range s.Uuids {
|
|
json.EncodeUUID(e, elem)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
{
|
|
e.FieldStart("fields")
|
|
s.Fields.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfBulkNodesUpdateRequest = [2]string{
|
|
0: "uuids",
|
|
1: "fields",
|
|
}
|
|
|
|
// Decode decodes BulkNodesUpdateRequest from json.
|
|
func (s *BulkNodesUpdateRequest) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode BulkNodesUpdateRequest to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "uuids":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
s.Uuids = make([]uuid.UUID, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem uuid.UUID
|
|
v, err := json.DecodeUUID(d)
|
|
elem = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
s.Uuids = append(s.Uuids, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"uuids\"")
|
|
}
|
|
case "fields":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
if err := s.Fields.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"fields\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode BulkNodesUpdateRequest")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000011,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfBulkNodesUpdateRequest) {
|
|
name = jsonFieldsNameOfBulkNodesUpdateRequest[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *BulkNodesUpdateRequest) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *BulkNodesUpdateRequest) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *BulkNodesUpdateRequestFields) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *BulkNodesUpdateRequestFields) encodeFields(e *jx.Encoder) {
|
|
{
|
|
if s.CountryCode.Set {
|
|
e.FieldStart("countryCode")
|
|
s.CountryCode.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.ConsumptionMultiplier.Set {
|
|
e.FieldStart("consumptionMultiplier")
|
|
s.ConsumptionMultiplier.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.NodeConsumptionMultiplier.Set {
|
|
e.FieldStart("nodeConsumptionMultiplier")
|
|
s.NodeConsumptionMultiplier.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.ProviderUuid.Set {
|
|
e.FieldStart("providerUuid")
|
|
s.ProviderUuid.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.Tags != nil {
|
|
e.FieldStart("tags")
|
|
e.ArrStart()
|
|
for _, elem := range s.Tags {
|
|
e.Str(elem)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
}
|
|
{
|
|
if s.ActivePluginUuid.Set {
|
|
e.FieldStart("activePluginUuid")
|
|
s.ActivePluginUuid.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.Note.Set {
|
|
e.FieldStart("note")
|
|
s.Note.Encode(e)
|
|
}
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfBulkNodesUpdateRequestFields = [7]string{
|
|
0: "countryCode",
|
|
1: "consumptionMultiplier",
|
|
2: "nodeConsumptionMultiplier",
|
|
3: "providerUuid",
|
|
4: "tags",
|
|
5: "activePluginUuid",
|
|
6: "note",
|
|
}
|
|
|
|
// Decode decodes BulkNodesUpdateRequestFields from json.
|
|
func (s *BulkNodesUpdateRequestFields) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode BulkNodesUpdateRequestFields to nil")
|
|
}
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "countryCode":
|
|
if err := func() error {
|
|
s.CountryCode.Reset()
|
|
if err := s.CountryCode.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"countryCode\"")
|
|
}
|
|
case "consumptionMultiplier":
|
|
if err := func() error {
|
|
s.ConsumptionMultiplier.Reset()
|
|
if err := s.ConsumptionMultiplier.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"consumptionMultiplier\"")
|
|
}
|
|
case "nodeConsumptionMultiplier":
|
|
if err := func() error {
|
|
s.NodeConsumptionMultiplier.Reset()
|
|
if err := s.NodeConsumptionMultiplier.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"nodeConsumptionMultiplier\"")
|
|
}
|
|
case "providerUuid":
|
|
if err := func() error {
|
|
s.ProviderUuid.Reset()
|
|
if err := s.ProviderUuid.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"providerUuid\"")
|
|
}
|
|
case "tags":
|
|
if err := func() error {
|
|
s.Tags = make([]string, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem string
|
|
v, err := d.Str()
|
|
elem = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
s.Tags = append(s.Tags, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"tags\"")
|
|
}
|
|
case "activePluginUuid":
|
|
if err := func() error {
|
|
s.ActivePluginUuid.Reset()
|
|
if err := s.ActivePluginUuid.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"activePluginUuid\"")
|
|
}
|
|
case "note":
|
|
if err := func() error {
|
|
s.Note.Reset()
|
|
if err := s.Note.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"note\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode BulkNodesUpdateRequestFields")
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *BulkNodesUpdateRequestFields) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *BulkNodesUpdateRequestFields) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *BulkUpdateUsersRequest) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *BulkUpdateUsersRequest) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("uuids")
|
|
e.ArrStart()
|
|
for _, elem := range s.Uuids {
|
|
json.EncodeUUID(e, elem)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
{
|
|
e.FieldStart("fields")
|
|
s.Fields.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfBulkUpdateUsersRequest = [2]string{
|
|
0: "uuids",
|
|
1: "fields",
|
|
}
|
|
|
|
// Decode decodes BulkUpdateUsersRequest from json.
|
|
func (s *BulkUpdateUsersRequest) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode BulkUpdateUsersRequest to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "uuids":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
s.Uuids = make([]uuid.UUID, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem uuid.UUID
|
|
v, err := json.DecodeUUID(d)
|
|
elem = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
s.Uuids = append(s.Uuids, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"uuids\"")
|
|
}
|
|
case "fields":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
if err := s.Fields.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"fields\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode BulkUpdateUsersRequest")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000011,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfBulkUpdateUsersRequest) {
|
|
name = jsonFieldsNameOfBulkUpdateUsersRequest[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *BulkUpdateUsersRequest) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *BulkUpdateUsersRequest) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *BulkUpdateUsersRequestFields) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *BulkUpdateUsersRequestFields) encodeFields(e *jx.Encoder) {
|
|
{
|
|
if s.Status.Set {
|
|
e.FieldStart("status")
|
|
s.Status.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.TrafficLimitBytes.Set {
|
|
e.FieldStart("trafficLimitBytes")
|
|
s.TrafficLimitBytes.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.TrafficLimitStrategy.Set {
|
|
e.FieldStart("trafficLimitStrategy")
|
|
s.TrafficLimitStrategy.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.ExpireAt.Set {
|
|
e.FieldStart("expireAt")
|
|
s.ExpireAt.Encode(e, json.EncodeDateTime)
|
|
}
|
|
}
|
|
{
|
|
if s.Description.Set {
|
|
e.FieldStart("description")
|
|
s.Description.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.TelegramId.Set {
|
|
e.FieldStart("telegramId")
|
|
s.TelegramId.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.Email.Set {
|
|
e.FieldStart("email")
|
|
s.Email.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.Tag.Set {
|
|
e.FieldStart("tag")
|
|
s.Tag.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.HwidDeviceLimit.Set {
|
|
e.FieldStart("hwidDeviceLimit")
|
|
s.HwidDeviceLimit.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.ExternalSquadUuid.Set {
|
|
e.FieldStart("externalSquadUuid")
|
|
s.ExternalSquadUuid.Encode(e)
|
|
}
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfBulkUpdateUsersRequestFields = [10]string{
|
|
0: "status",
|
|
1: "trafficLimitBytes",
|
|
2: "trafficLimitStrategy",
|
|
3: "expireAt",
|
|
4: "description",
|
|
5: "telegramId",
|
|
6: "email",
|
|
7: "tag",
|
|
8: "hwidDeviceLimit",
|
|
9: "externalSquadUuid",
|
|
}
|
|
|
|
// Decode decodes BulkUpdateUsersRequestFields from json.
|
|
func (s *BulkUpdateUsersRequestFields) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode BulkUpdateUsersRequestFields to nil")
|
|
}
|
|
s.setDefaults()
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "status":
|
|
if err := func() error {
|
|
s.Status.Reset()
|
|
if err := s.Status.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"status\"")
|
|
}
|
|
case "trafficLimitBytes":
|
|
if err := func() error {
|
|
s.TrafficLimitBytes.Reset()
|
|
if err := s.TrafficLimitBytes.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"trafficLimitBytes\"")
|
|
}
|
|
case "trafficLimitStrategy":
|
|
if err := func() error {
|
|
s.TrafficLimitStrategy.Reset()
|
|
if err := s.TrafficLimitStrategy.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"trafficLimitStrategy\"")
|
|
}
|
|
case "expireAt":
|
|
if err := func() error {
|
|
s.ExpireAt.Reset()
|
|
if err := s.ExpireAt.Decode(d, json.DecodeDateTime); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"expireAt\"")
|
|
}
|
|
case "description":
|
|
if err := func() error {
|
|
s.Description.Reset()
|
|
if err := s.Description.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"description\"")
|
|
}
|
|
case "telegramId":
|
|
if err := func() error {
|
|
s.TelegramId.Reset()
|
|
if err := s.TelegramId.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"telegramId\"")
|
|
}
|
|
case "email":
|
|
if err := func() error {
|
|
s.Email.Reset()
|
|
if err := s.Email.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"email\"")
|
|
}
|
|
case "tag":
|
|
if err := func() error {
|
|
s.Tag.Reset()
|
|
if err := s.Tag.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"tag\"")
|
|
}
|
|
case "hwidDeviceLimit":
|
|
if err := func() error {
|
|
s.HwidDeviceLimit.Reset()
|
|
if err := s.HwidDeviceLimit.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"hwidDeviceLimit\"")
|
|
}
|
|
case "externalSquadUuid":
|
|
if err := func() error {
|
|
s.ExternalSquadUuid.Reset()
|
|
if err := s.ExternalSquadUuid.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"externalSquadUuid\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode BulkUpdateUsersRequestFields")
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *BulkUpdateUsersRequestFields) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *BulkUpdateUsersRequestFields) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes BulkUpdateUsersRequestFieldsStatus as json.
|
|
func (s BulkUpdateUsersRequestFieldsStatus) Encode(e *jx.Encoder) {
|
|
e.Str(string(s))
|
|
}
|
|
|
|
// Decode decodes BulkUpdateUsersRequestFieldsStatus from json.
|
|
func (s *BulkUpdateUsersRequestFieldsStatus) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode BulkUpdateUsersRequestFieldsStatus to nil")
|
|
}
|
|
v, err := d.StrBytes()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
// Try to use constant string.
|
|
switch BulkUpdateUsersRequestFieldsStatus(v) {
|
|
case BulkUpdateUsersRequestFieldsStatusACTIVE:
|
|
*s = BulkUpdateUsersRequestFieldsStatusACTIVE
|
|
case BulkUpdateUsersRequestFieldsStatusDISABLED:
|
|
*s = BulkUpdateUsersRequestFieldsStatusDISABLED
|
|
case BulkUpdateUsersRequestFieldsStatusLIMITED:
|
|
*s = BulkUpdateUsersRequestFieldsStatusLIMITED
|
|
case BulkUpdateUsersRequestFieldsStatusEXPIRED:
|
|
*s = BulkUpdateUsersRequestFieldsStatusEXPIRED
|
|
default:
|
|
*s = BulkUpdateUsersRequestFieldsStatus(v)
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s BulkUpdateUsersRequestFieldsStatus) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *BulkUpdateUsersRequestFieldsStatus) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes BulkUpdateUsersRequestFieldsTrafficLimitStrategy as json.
|
|
func (s BulkUpdateUsersRequestFieldsTrafficLimitStrategy) Encode(e *jx.Encoder) {
|
|
e.Str(string(s))
|
|
}
|
|
|
|
// Decode decodes BulkUpdateUsersRequestFieldsTrafficLimitStrategy from json.
|
|
func (s *BulkUpdateUsersRequestFieldsTrafficLimitStrategy) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode BulkUpdateUsersRequestFieldsTrafficLimitStrategy to nil")
|
|
}
|
|
v, err := d.StrBytes()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
// Try to use constant string.
|
|
switch BulkUpdateUsersRequestFieldsTrafficLimitStrategy(v) {
|
|
case BulkUpdateUsersRequestFieldsTrafficLimitStrategyNORESET:
|
|
*s = BulkUpdateUsersRequestFieldsTrafficLimitStrategyNORESET
|
|
case BulkUpdateUsersRequestFieldsTrafficLimitStrategyDAY:
|
|
*s = BulkUpdateUsersRequestFieldsTrafficLimitStrategyDAY
|
|
case BulkUpdateUsersRequestFieldsTrafficLimitStrategyWEEK:
|
|
*s = BulkUpdateUsersRequestFieldsTrafficLimitStrategyWEEK
|
|
case BulkUpdateUsersRequestFieldsTrafficLimitStrategyMONTH:
|
|
*s = BulkUpdateUsersRequestFieldsTrafficLimitStrategyMONTH
|
|
case BulkUpdateUsersRequestFieldsTrafficLimitStrategyMONTHROLLING:
|
|
*s = BulkUpdateUsersRequestFieldsTrafficLimitStrategyMONTHROLLING
|
|
default:
|
|
*s = BulkUpdateUsersRequestFieldsTrafficLimitStrategy(v)
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s BulkUpdateUsersRequestFieldsTrafficLimitStrategy) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *BulkUpdateUsersRequestFieldsTrafficLimitStrategy) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *BulkUpdateUsersSquadsRequest) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *BulkUpdateUsersSquadsRequest) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("uuids")
|
|
e.ArrStart()
|
|
for _, elem := range s.Uuids {
|
|
json.EncodeUUID(e, elem)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
{
|
|
e.FieldStart("activeInternalSquads")
|
|
e.ArrStart()
|
|
for _, elem := range s.ActiveInternalSquads {
|
|
json.EncodeUUID(e, elem)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfBulkUpdateUsersSquadsRequest = [2]string{
|
|
0: "uuids",
|
|
1: "activeInternalSquads",
|
|
}
|
|
|
|
// Decode decodes BulkUpdateUsersSquadsRequest from json.
|
|
func (s *BulkUpdateUsersSquadsRequest) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode BulkUpdateUsersSquadsRequest to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "uuids":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
s.Uuids = make([]uuid.UUID, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem uuid.UUID
|
|
v, err := json.DecodeUUID(d)
|
|
elem = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
s.Uuids = append(s.Uuids, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"uuids\"")
|
|
}
|
|
case "activeInternalSquads":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
s.ActiveInternalSquads = make([]uuid.UUID, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem uuid.UUID
|
|
v, err := json.DecodeUUID(d)
|
|
elem = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
s.ActiveInternalSquads = append(s.ActiveInternalSquads, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"activeInternalSquads\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode BulkUpdateUsersSquadsRequest")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000011,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfBulkUpdateUsersSquadsRequest) {
|
|
name = jsonFieldsNameOfBulkUpdateUsersSquadsRequest[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *BulkUpdateUsersSquadsRequest) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *BulkUpdateUsersSquadsRequest) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *BulkUuidsRequest) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *BulkUuidsRequest) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("uuids")
|
|
e.ArrStart()
|
|
for _, elem := range s.Uuids {
|
|
json.EncodeUUID(e, elem)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfBulkUuidsRequest = [1]string{
|
|
0: "uuids",
|
|
}
|
|
|
|
// Decode decodes BulkUuidsRequest from json.
|
|
func (s *BulkUuidsRequest) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode BulkUuidsRequest to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "uuids":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
s.Uuids = make([]uuid.UUID, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem uuid.UUID
|
|
v, err := json.DecodeUUID(d)
|
|
elem = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
s.Uuids = append(s.Uuids, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"uuids\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode BulkUuidsRequest")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfBulkUuidsRequest) {
|
|
name = jsonFieldsNameOfBulkUuidsRequest[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *BulkUuidsRequest) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *BulkUuidsRequest) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *BulkUuidsRequest2) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *BulkUuidsRequest2) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("uuids")
|
|
e.ArrStart()
|
|
for _, elem := range s.Uuids {
|
|
json.EncodeUUID(e, elem)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfBulkUuidsRequest2 = [1]string{
|
|
0: "uuids",
|
|
}
|
|
|
|
// Decode decodes BulkUuidsRequest2 from json.
|
|
func (s *BulkUuidsRequest2) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode BulkUuidsRequest2 to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "uuids":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
s.Uuids = make([]uuid.UUID, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem uuid.UUID
|
|
v, err := json.DecodeUUID(d)
|
|
elem = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
s.Uuids = append(s.Uuids, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"uuids\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode BulkUuidsRequest2")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfBulkUuidsRequest2) {
|
|
name = jsonFieldsNameOfBulkUuidsRequest2[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *BulkUuidsRequest2) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *BulkUuidsRequest2) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *ByAppItem) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *ByAppItem) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("app")
|
|
e.Str(s.App)
|
|
}
|
|
{
|
|
e.FieldStart("count")
|
|
e.Float64(s.Count)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfByAppItem = [2]string{
|
|
0: "app",
|
|
1: "count",
|
|
}
|
|
|
|
// Decode decodes ByAppItem from json.
|
|
func (s *ByAppItem) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode ByAppItem to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "app":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.App = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"app\"")
|
|
}
|
|
case "count":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.Count = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"count\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode ByAppItem")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000011,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfByAppItem) {
|
|
name = jsonFieldsNameOfByAppItem[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *ByAppItem) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *ByAppItem) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *CloneNodePluginRequestRequest) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *CloneNodePluginRequestRequest) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("cloneFromUuid")
|
|
json.EncodeUUID(e, s.CloneFromUuid)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfCloneNodePluginRequestRequest = [1]string{
|
|
0: "cloneFromUuid",
|
|
}
|
|
|
|
// Decode decodes CloneNodePluginRequestRequest from json.
|
|
func (s *CloneNodePluginRequestRequest) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode CloneNodePluginRequestRequest to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "cloneFromUuid":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := json.DecodeUUID(d)
|
|
s.CloneFromUuid = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"cloneFromUuid\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode CloneNodePluginRequestRequest")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfCloneNodePluginRequestRequest) {
|
|
name = jsonFieldsNameOfCloneNodePluginRequestRequest[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *CloneNodePluginRequestRequest) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *CloneNodePluginRequestRequest) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *Condition) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *Condition) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("headerName")
|
|
e.Str(s.HeaderName)
|
|
}
|
|
{
|
|
e.FieldStart("operator")
|
|
s.Operator.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("value")
|
|
e.Str(s.Value)
|
|
}
|
|
{
|
|
e.FieldStart("caseSensitive")
|
|
e.Bool(s.CaseSensitive)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfCondition = [4]string{
|
|
0: "headerName",
|
|
1: "operator",
|
|
2: "value",
|
|
3: "caseSensitive",
|
|
}
|
|
|
|
// Decode decodes Condition from json.
|
|
func (s *Condition) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode Condition to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "headerName":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.HeaderName = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"headerName\"")
|
|
}
|
|
case "operator":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
if err := s.Operator.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"operator\"")
|
|
}
|
|
case "value":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Value = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"value\"")
|
|
}
|
|
case "caseSensitive":
|
|
requiredBitSet[0] |= 1 << 3
|
|
if err := func() error {
|
|
v, err := d.Bool()
|
|
s.CaseSensitive = bool(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"caseSensitive\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode Condition")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00001111,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfCondition) {
|
|
name = jsonFieldsNameOfCondition[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *Condition) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *Condition) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes ConditionOperator as json.
|
|
func (s ConditionOperator) Encode(e *jx.Encoder) {
|
|
e.Str(string(s))
|
|
}
|
|
|
|
// Decode decodes ConditionOperator from json.
|
|
func (s *ConditionOperator) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode ConditionOperator to nil")
|
|
}
|
|
v, err := d.StrBytes()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
// Try to use constant string.
|
|
switch ConditionOperator(v) {
|
|
case ConditionOperatorEQUALS:
|
|
*s = ConditionOperatorEQUALS
|
|
case ConditionOperatorNOTEQUALS:
|
|
*s = ConditionOperatorNOTEQUALS
|
|
case ConditionOperatorCONTAINS:
|
|
*s = ConditionOperatorCONTAINS
|
|
case ConditionOperatorNOTCONTAINS:
|
|
*s = ConditionOperatorNOTCONTAINS
|
|
case ConditionOperatorSTARTSWITH:
|
|
*s = ConditionOperatorSTARTSWITH
|
|
case ConditionOperatorNOTSTARTSWITH:
|
|
*s = ConditionOperatorNOTSTARTSWITH
|
|
case ConditionOperatorENDSWITH:
|
|
*s = ConditionOperatorENDSWITH
|
|
case ConditionOperatorNOTENDSWITH:
|
|
*s = ConditionOperatorNOTENDSWITH
|
|
case ConditionOperatorREGEX:
|
|
*s = ConditionOperatorREGEX
|
|
case ConditionOperatorNOTREGEX:
|
|
*s = ConditionOperatorNOTREGEX
|
|
default:
|
|
*s = ConditionOperator(v)
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s ConditionOperator) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *ConditionOperator) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *Config) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *Config) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("uuid")
|
|
json.EncodeUUID(e, s.UUID)
|
|
}
|
|
{
|
|
e.FieldStart("viewPosition")
|
|
e.Int(s.ViewPosition)
|
|
}
|
|
{
|
|
e.FieldStart("name")
|
|
e.Str(s.Name)
|
|
}
|
|
{
|
|
if len(s.Config) != 0 {
|
|
e.FieldStart("config")
|
|
e.Raw(s.Config)
|
|
}
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfConfig = [4]string{
|
|
0: "uuid",
|
|
1: "viewPosition",
|
|
2: "name",
|
|
3: "config",
|
|
}
|
|
|
|
// Decode decodes Config from json.
|
|
func (s *Config) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode Config to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "uuid":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := json.DecodeUUID(d)
|
|
s.UUID = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"uuid\"")
|
|
}
|
|
case "viewPosition":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Int()
|
|
s.ViewPosition = int(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"viewPosition\"")
|
|
}
|
|
case "name":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Name = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"name\"")
|
|
}
|
|
case "config":
|
|
requiredBitSet[0] |= 1 << 3
|
|
if err := func() error {
|
|
v, err := d.RawAppend(nil)
|
|
s.Config = jx.Raw(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"config\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode Config")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00001111,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfConfig) {
|
|
name = jsonFieldsNameOfConfig[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *Config) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *Config) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *ConfigProfile) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *ConfigProfile) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("uuid")
|
|
json.EncodeUUID(e, s.UUID)
|
|
}
|
|
{
|
|
e.FieldStart("viewPosition")
|
|
e.Int(s.ViewPosition)
|
|
}
|
|
{
|
|
e.FieldStart("name")
|
|
e.Str(s.Name)
|
|
}
|
|
{
|
|
if len(s.Config) != 0 {
|
|
e.FieldStart("config")
|
|
e.Raw(s.Config)
|
|
}
|
|
}
|
|
{
|
|
e.FieldStart("inbounds")
|
|
e.ArrStart()
|
|
for _, elem := range s.Inbounds {
|
|
elem.Encode(e)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
{
|
|
e.FieldStart("nodes")
|
|
e.ArrStart()
|
|
for _, elem := range s.Nodes {
|
|
elem.Encode(e)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
{
|
|
e.FieldStart("createdAt")
|
|
json.EncodeDateTime(e, s.CreatedAt)
|
|
}
|
|
{
|
|
e.FieldStart("updatedAt")
|
|
json.EncodeDateTime(e, s.UpdatedAt)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfConfigProfile = [8]string{
|
|
0: "uuid",
|
|
1: "viewPosition",
|
|
2: "name",
|
|
3: "config",
|
|
4: "inbounds",
|
|
5: "nodes",
|
|
6: "createdAt",
|
|
7: "updatedAt",
|
|
}
|
|
|
|
// Decode decodes ConfigProfile from json.
|
|
func (s *ConfigProfile) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode ConfigProfile to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "uuid":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := json.DecodeUUID(d)
|
|
s.UUID = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"uuid\"")
|
|
}
|
|
case "viewPosition":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Int()
|
|
s.ViewPosition = int(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"viewPosition\"")
|
|
}
|
|
case "name":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Name = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"name\"")
|
|
}
|
|
case "config":
|
|
requiredBitSet[0] |= 1 << 3
|
|
if err := func() error {
|
|
v, err := d.RawAppend(nil)
|
|
s.Config = jx.Raw(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"config\"")
|
|
}
|
|
case "inbounds":
|
|
requiredBitSet[0] |= 1 << 4
|
|
if err := func() error {
|
|
s.Inbounds = make([]Inbound, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem Inbound
|
|
if err := elem.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
s.Inbounds = append(s.Inbounds, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"inbounds\"")
|
|
}
|
|
case "nodes":
|
|
requiredBitSet[0] |= 1 << 5
|
|
if err := func() error {
|
|
s.Nodes = make([]Node, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem Node
|
|
if err := elem.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
s.Nodes = append(s.Nodes, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"nodes\"")
|
|
}
|
|
case "createdAt":
|
|
requiredBitSet[0] |= 1 << 6
|
|
if err := func() error {
|
|
v, err := json.DecodeDateTime(d)
|
|
s.CreatedAt = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"createdAt\"")
|
|
}
|
|
case "updatedAt":
|
|
requiredBitSet[0] |= 1 << 7
|
|
if err := func() error {
|
|
v, err := json.DecodeDateTime(d)
|
|
s.UpdatedAt = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"updatedAt\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode ConfigProfile")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b11111111,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfConfigProfile) {
|
|
name = jsonFieldsNameOfConfigProfile[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *ConfigProfile) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *ConfigProfile) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *ConfigProfileItem) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *ConfigProfileItem) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("activeConfigProfileUuid")
|
|
s.ActiveConfigProfileUuid.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("activeInbounds")
|
|
e.ArrStart()
|
|
for _, elem := range s.ActiveInbounds {
|
|
elem.Encode(e)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfConfigProfileItem = [2]string{
|
|
0: "activeConfigProfileUuid",
|
|
1: "activeInbounds",
|
|
}
|
|
|
|
// Decode decodes ConfigProfileItem from json.
|
|
func (s *ConfigProfileItem) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode ConfigProfileItem to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "activeConfigProfileUuid":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.ActiveConfigProfileUuid.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"activeConfigProfileUuid\"")
|
|
}
|
|
case "activeInbounds":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
s.ActiveInbounds = make([]Inbound, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem Inbound
|
|
if err := elem.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
s.ActiveInbounds = append(s.ActiveInbounds, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"activeInbounds\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode ConfigProfileItem")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000011,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfConfigProfileItem) {
|
|
name = jsonFieldsNameOfConfigProfileItem[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *ConfigProfileItem) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *ConfigProfileItem) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *ConfigProfileRef) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *ConfigProfileRef) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("activeConfigProfileUuid")
|
|
json.EncodeUUID(e, s.ActiveConfigProfileUuid)
|
|
}
|
|
{
|
|
e.FieldStart("activeInbounds")
|
|
e.ArrStart()
|
|
for _, elem := range s.ActiveInbounds {
|
|
json.EncodeUUID(e, elem)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfConfigProfileRef = [2]string{
|
|
0: "activeConfigProfileUuid",
|
|
1: "activeInbounds",
|
|
}
|
|
|
|
// Decode decodes ConfigProfileRef from json.
|
|
func (s *ConfigProfileRef) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode ConfigProfileRef to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "activeConfigProfileUuid":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := json.DecodeUUID(d)
|
|
s.ActiveConfigProfileUuid = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"activeConfigProfileUuid\"")
|
|
}
|
|
case "activeInbounds":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
s.ActiveInbounds = make([]uuid.UUID, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem uuid.UUID
|
|
v, err := json.DecodeUUID(d)
|
|
elem = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
s.ActiveInbounds = append(s.ActiveInbounds, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"activeInbounds\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode ConfigProfileRef")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000011,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfConfigProfileRef) {
|
|
name = jsonFieldsNameOfConfigProfileRef[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *ConfigProfileRef) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *ConfigProfileRef) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *ConfigProfileResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *ConfigProfileResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("response")
|
|
s.Response.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfConfigProfileResponse = [1]string{
|
|
0: "response",
|
|
}
|
|
|
|
// Decode decodes ConfigProfileResponse from json.
|
|
func (s *ConfigProfileResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode ConfigProfileResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "response":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Response.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"response\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode ConfigProfileResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfConfigProfileResponse) {
|
|
name = jsonFieldsNameOfConfigProfileResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *ConfigProfileResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *ConfigProfileResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *ConfigProfilesResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *ConfigProfilesResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("response")
|
|
s.Response.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfConfigProfilesResponse = [1]string{
|
|
0: "response",
|
|
}
|
|
|
|
// Decode decodes ConfigProfilesResponse from json.
|
|
func (s *ConfigProfilesResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode ConfigProfilesResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "response":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Response.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"response\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode ConfigProfilesResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfConfigProfilesResponse) {
|
|
name = jsonFieldsNameOfConfigProfilesResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *ConfigProfilesResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *ConfigProfilesResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *ConfigProfilesResponseResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *ConfigProfilesResponseResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("total")
|
|
e.Float64(s.Total)
|
|
}
|
|
{
|
|
e.FieldStart("configProfiles")
|
|
e.ArrStart()
|
|
for _, elem := range s.ConfigProfiles {
|
|
elem.Encode(e)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfConfigProfilesResponseResponse = [2]string{
|
|
0: "total",
|
|
1: "configProfiles",
|
|
}
|
|
|
|
// Decode decodes ConfigProfilesResponseResponse from json.
|
|
func (s *ConfigProfilesResponseResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode ConfigProfilesResponseResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "total":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.Total = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"total\"")
|
|
}
|
|
case "configProfiles":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
s.ConfigProfiles = make([]ConfigProfile, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem ConfigProfile
|
|
if err := elem.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
s.ConfigProfiles = append(s.ConfigProfiles, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"configProfiles\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode ConfigProfilesResponseResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000011,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfConfigProfilesResponseResponse) {
|
|
name = jsonFieldsNameOfConfigProfilesResponseResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *ConfigProfilesResponseResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *ConfigProfilesResponseResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *CreateApiTokenRequest) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *CreateApiTokenRequest) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("name")
|
|
e.Str(s.Name)
|
|
}
|
|
{
|
|
e.FieldStart("expiresInDays")
|
|
e.Float64(s.ExpiresInDays)
|
|
}
|
|
{
|
|
if s.Scopes != nil {
|
|
e.FieldStart("scopes")
|
|
e.ArrStart()
|
|
for _, elem := range s.Scopes {
|
|
e.Str(elem)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfCreateApiTokenRequest = [3]string{
|
|
0: "name",
|
|
1: "expiresInDays",
|
|
2: "scopes",
|
|
}
|
|
|
|
// Decode decodes CreateApiTokenRequest from json.
|
|
func (s *CreateApiTokenRequest) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode CreateApiTokenRequest to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "name":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Name = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"name\"")
|
|
}
|
|
case "expiresInDays":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.ExpiresInDays = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"expiresInDays\"")
|
|
}
|
|
case "scopes":
|
|
if err := func() error {
|
|
s.Scopes = make([]string, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem string
|
|
v, err := d.Str()
|
|
elem = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
s.Scopes = append(s.Scopes, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"scopes\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode CreateApiTokenRequest")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000011,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfCreateApiTokenRequest) {
|
|
name = jsonFieldsNameOfCreateApiTokenRequest[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *CreateApiTokenRequest) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *CreateApiTokenRequest) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *CreateApiTokenResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *CreateApiTokenResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("response")
|
|
s.Response.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfCreateApiTokenResponse = [1]string{
|
|
0: "response",
|
|
}
|
|
|
|
// Decode decodes CreateApiTokenResponse from json.
|
|
func (s *CreateApiTokenResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode CreateApiTokenResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "response":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Response.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"response\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode CreateApiTokenResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfCreateApiTokenResponse) {
|
|
name = jsonFieldsNameOfCreateApiTokenResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *CreateApiTokenResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *CreateApiTokenResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *CreateApiTokenResponseResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *CreateApiTokenResponseResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("uuid")
|
|
json.EncodeUUID(e, s.UUID)
|
|
}
|
|
{
|
|
e.FieldStart("name")
|
|
e.Str(s.Name)
|
|
}
|
|
{
|
|
e.FieldStart("expireAt")
|
|
json.EncodeDateTime(e, s.ExpireAt)
|
|
}
|
|
{
|
|
e.FieldStart("scopes")
|
|
e.ArrStart()
|
|
for _, elem := range s.Scopes {
|
|
e.Str(elem)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
{
|
|
e.FieldStart("createdAt")
|
|
json.EncodeDateTime(e, s.CreatedAt)
|
|
}
|
|
{
|
|
e.FieldStart("updatedAt")
|
|
json.EncodeDateTime(e, s.UpdatedAt)
|
|
}
|
|
{
|
|
e.FieldStart("token")
|
|
e.Str(s.Token)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfCreateApiTokenResponseResponse = [7]string{
|
|
0: "uuid",
|
|
1: "name",
|
|
2: "expireAt",
|
|
3: "scopes",
|
|
4: "createdAt",
|
|
5: "updatedAt",
|
|
6: "token",
|
|
}
|
|
|
|
// Decode decodes CreateApiTokenResponseResponse from json.
|
|
func (s *CreateApiTokenResponseResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode CreateApiTokenResponseResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "uuid":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := json.DecodeUUID(d)
|
|
s.UUID = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"uuid\"")
|
|
}
|
|
case "name":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Name = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"name\"")
|
|
}
|
|
case "expireAt":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
v, err := json.DecodeDateTime(d)
|
|
s.ExpireAt = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"expireAt\"")
|
|
}
|
|
case "scopes":
|
|
requiredBitSet[0] |= 1 << 3
|
|
if err := func() error {
|
|
s.Scopes = make([]string, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem string
|
|
v, err := d.Str()
|
|
elem = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
s.Scopes = append(s.Scopes, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"scopes\"")
|
|
}
|
|
case "createdAt":
|
|
requiredBitSet[0] |= 1 << 4
|
|
if err := func() error {
|
|
v, err := json.DecodeDateTime(d)
|
|
s.CreatedAt = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"createdAt\"")
|
|
}
|
|
case "updatedAt":
|
|
requiredBitSet[0] |= 1 << 5
|
|
if err := func() error {
|
|
v, err := json.DecodeDateTime(d)
|
|
s.UpdatedAt = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"updatedAt\"")
|
|
}
|
|
case "token":
|
|
requiredBitSet[0] |= 1 << 6
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Token = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"token\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode CreateApiTokenResponseResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b01111111,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfCreateApiTokenResponseResponse) {
|
|
name = jsonFieldsNameOfCreateApiTokenResponseResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *CreateApiTokenResponseResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *CreateApiTokenResponseResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *CreateConfigProfileRequest) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *CreateConfigProfileRequest) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("name")
|
|
e.Str(s.Name)
|
|
}
|
|
{
|
|
e.FieldStart("config")
|
|
s.Config.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfCreateConfigProfileRequest = [2]string{
|
|
0: "name",
|
|
1: "config",
|
|
}
|
|
|
|
// Decode decodes CreateConfigProfileRequest from json.
|
|
func (s *CreateConfigProfileRequest) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode CreateConfigProfileRequest to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "name":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Name = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"name\"")
|
|
}
|
|
case "config":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
if err := s.Config.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"config\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode CreateConfigProfileRequest")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000011,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfCreateConfigProfileRequest) {
|
|
name = jsonFieldsNameOfCreateConfigProfileRequest[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *CreateConfigProfileRequest) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *CreateConfigProfileRequest) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *CreateConfigProfileRequestConfig) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *CreateConfigProfileRequestConfig) encodeFields(e *jx.Encoder) {
|
|
}
|
|
|
|
var jsonFieldsNameOfCreateConfigProfileRequestConfig = [0]string{}
|
|
|
|
// Decode decodes CreateConfigProfileRequestConfig from json.
|
|
func (s *CreateConfigProfileRequestConfig) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode CreateConfigProfileRequestConfig to nil")
|
|
}
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode CreateConfigProfileRequestConfig")
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *CreateConfigProfileRequestConfig) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *CreateConfigProfileRequestConfig) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *CreateExternalSquadRequest) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *CreateExternalSquadRequest) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("name")
|
|
e.Str(s.Name)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfCreateExternalSquadRequest = [1]string{
|
|
0: "name",
|
|
}
|
|
|
|
// Decode decodes CreateExternalSquadRequest from json.
|
|
func (s *CreateExternalSquadRequest) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode CreateExternalSquadRequest to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "name":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Name = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"name\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode CreateExternalSquadRequest")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfCreateExternalSquadRequest) {
|
|
name = jsonFieldsNameOfCreateExternalSquadRequest[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *CreateExternalSquadRequest) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *CreateExternalSquadRequest) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *CreateHostRequest) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *CreateHostRequest) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("inbound")
|
|
s.Inbound.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("remark")
|
|
e.Str(s.Remark)
|
|
}
|
|
{
|
|
e.FieldStart("address")
|
|
e.Str(s.Address)
|
|
}
|
|
{
|
|
e.FieldStart("port")
|
|
e.Int(s.Port)
|
|
}
|
|
{
|
|
if s.Path.Set {
|
|
e.FieldStart("path")
|
|
s.Path.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.Sni.Set {
|
|
e.FieldStart("sni")
|
|
s.Sni.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.Host.Set {
|
|
e.FieldStart("host")
|
|
s.Host.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.Alpn.Set {
|
|
e.FieldStart("alpn")
|
|
s.Alpn.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.Fingerprint.Set {
|
|
e.FieldStart("fingerprint")
|
|
s.Fingerprint.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.IsDisabled.Set {
|
|
e.FieldStart("isDisabled")
|
|
s.IsDisabled.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.SecurityLayer.Set {
|
|
e.FieldStart("securityLayer")
|
|
s.SecurityLayer.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if len(s.XhttpExtraParams) != 0 {
|
|
e.FieldStart("xhttpExtraParams")
|
|
e.Raw(s.XhttpExtraParams)
|
|
}
|
|
}
|
|
{
|
|
if len(s.MuxParams) != 0 {
|
|
e.FieldStart("muxParams")
|
|
e.Raw(s.MuxParams)
|
|
}
|
|
}
|
|
{
|
|
if len(s.SockoptParams) != 0 {
|
|
e.FieldStart("sockoptParams")
|
|
e.Raw(s.SockoptParams)
|
|
}
|
|
}
|
|
{
|
|
if len(s.FinalMask) != 0 {
|
|
e.FieldStart("finalMask")
|
|
e.Raw(s.FinalMask)
|
|
}
|
|
}
|
|
{
|
|
if s.ServerDescription.Set {
|
|
e.FieldStart("serverDescription")
|
|
s.ServerDescription.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.Tags != nil {
|
|
e.FieldStart("tags")
|
|
e.ArrStart()
|
|
for _, elem := range s.Tags {
|
|
e.Str(elem)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
}
|
|
{
|
|
if s.IsHidden.Set {
|
|
e.FieldStart("isHidden")
|
|
s.IsHidden.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.OverrideSniFromAddress.Set {
|
|
e.FieldStart("overrideSniFromAddress")
|
|
s.OverrideSniFromAddress.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.KeepSniBlank.Set {
|
|
e.FieldStart("keepSniBlank")
|
|
s.KeepSniBlank.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.PinnedPeerCertSha256.Set {
|
|
e.FieldStart("pinnedPeerCertSha256")
|
|
s.PinnedPeerCertSha256.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.VerifyPeerCertByName.Set {
|
|
e.FieldStart("verifyPeerCertByName")
|
|
s.VerifyPeerCertByName.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.VlessRouteId.Set {
|
|
e.FieldStart("vlessRouteId")
|
|
s.VlessRouteId.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.ShuffleHost.Set {
|
|
e.FieldStart("shuffleHost")
|
|
s.ShuffleHost.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.MihomoX25519.Set {
|
|
e.FieldStart("mihomoX25519")
|
|
s.MihomoX25519.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.MihomoIpVersion.Set {
|
|
e.FieldStart("mihomoIpVersion")
|
|
s.MihomoIpVersion.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.Nodes != nil {
|
|
e.FieldStart("nodes")
|
|
e.ArrStart()
|
|
for _, elem := range s.Nodes {
|
|
json.EncodeUUID(e, elem)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
}
|
|
{
|
|
if s.XrayJsonTemplateUuid.Set {
|
|
e.FieldStart("xrayJsonTemplateUuid")
|
|
s.XrayJsonTemplateUuid.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.ExcludedInternalSquads != nil {
|
|
e.FieldStart("excludedInternalSquads")
|
|
e.ArrStart()
|
|
for _, elem := range s.ExcludedInternalSquads {
|
|
json.EncodeUUID(e, elem)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
}
|
|
{
|
|
if s.ExcludeFromSubscriptionTypes != nil {
|
|
e.FieldStart("excludeFromSubscriptionTypes")
|
|
e.ArrStart()
|
|
for _, elem := range s.ExcludeFromSubscriptionTypes {
|
|
elem.Encode(e)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfCreateHostRequest = [30]string{
|
|
0: "inbound",
|
|
1: "remark",
|
|
2: "address",
|
|
3: "port",
|
|
4: "path",
|
|
5: "sni",
|
|
6: "host",
|
|
7: "alpn",
|
|
8: "fingerprint",
|
|
9: "isDisabled",
|
|
10: "securityLayer",
|
|
11: "xhttpExtraParams",
|
|
12: "muxParams",
|
|
13: "sockoptParams",
|
|
14: "finalMask",
|
|
15: "serverDescription",
|
|
16: "tags",
|
|
17: "isHidden",
|
|
18: "overrideSniFromAddress",
|
|
19: "keepSniBlank",
|
|
20: "pinnedPeerCertSha256",
|
|
21: "verifyPeerCertByName",
|
|
22: "vlessRouteId",
|
|
23: "shuffleHost",
|
|
24: "mihomoX25519",
|
|
25: "mihomoIpVersion",
|
|
26: "nodes",
|
|
27: "xrayJsonTemplateUuid",
|
|
28: "excludedInternalSquads",
|
|
29: "excludeFromSubscriptionTypes",
|
|
}
|
|
|
|
// Decode decodes CreateHostRequest from json.
|
|
func (s *CreateHostRequest) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode CreateHostRequest to nil")
|
|
}
|
|
var requiredBitSet [4]uint8
|
|
s.setDefaults()
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "inbound":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Inbound.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"inbound\"")
|
|
}
|
|
case "remark":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Remark = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"remark\"")
|
|
}
|
|
case "address":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Address = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"address\"")
|
|
}
|
|
case "port":
|
|
requiredBitSet[0] |= 1 << 3
|
|
if err := func() error {
|
|
v, err := d.Int()
|
|
s.Port = int(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"port\"")
|
|
}
|
|
case "path":
|
|
if err := func() error {
|
|
s.Path.Reset()
|
|
if err := s.Path.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"path\"")
|
|
}
|
|
case "sni":
|
|
if err := func() error {
|
|
s.Sni.Reset()
|
|
if err := s.Sni.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"sni\"")
|
|
}
|
|
case "host":
|
|
if err := func() error {
|
|
s.Host.Reset()
|
|
if err := s.Host.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"host\"")
|
|
}
|
|
case "alpn":
|
|
if err := func() error {
|
|
s.Alpn.Reset()
|
|
if err := s.Alpn.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"alpn\"")
|
|
}
|
|
case "fingerprint":
|
|
if err := func() error {
|
|
s.Fingerprint.Reset()
|
|
if err := s.Fingerprint.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"fingerprint\"")
|
|
}
|
|
case "isDisabled":
|
|
if err := func() error {
|
|
s.IsDisabled.Reset()
|
|
if err := s.IsDisabled.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"isDisabled\"")
|
|
}
|
|
case "securityLayer":
|
|
if err := func() error {
|
|
s.SecurityLayer.Reset()
|
|
if err := s.SecurityLayer.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"securityLayer\"")
|
|
}
|
|
case "xhttpExtraParams":
|
|
if err := func() error {
|
|
v, err := d.RawAppend(nil)
|
|
s.XhttpExtraParams = jx.Raw(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"xhttpExtraParams\"")
|
|
}
|
|
case "muxParams":
|
|
if err := func() error {
|
|
v, err := d.RawAppend(nil)
|
|
s.MuxParams = jx.Raw(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"muxParams\"")
|
|
}
|
|
case "sockoptParams":
|
|
if err := func() error {
|
|
v, err := d.RawAppend(nil)
|
|
s.SockoptParams = jx.Raw(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"sockoptParams\"")
|
|
}
|
|
case "finalMask":
|
|
if err := func() error {
|
|
v, err := d.RawAppend(nil)
|
|
s.FinalMask = jx.Raw(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"finalMask\"")
|
|
}
|
|
case "serverDescription":
|
|
if err := func() error {
|
|
s.ServerDescription.Reset()
|
|
if err := s.ServerDescription.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"serverDescription\"")
|
|
}
|
|
case "tags":
|
|
if err := func() error {
|
|
s.Tags = make([]string, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem string
|
|
v, err := d.Str()
|
|
elem = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
s.Tags = append(s.Tags, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"tags\"")
|
|
}
|
|
case "isHidden":
|
|
if err := func() error {
|
|
s.IsHidden.Reset()
|
|
if err := s.IsHidden.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"isHidden\"")
|
|
}
|
|
case "overrideSniFromAddress":
|
|
if err := func() error {
|
|
s.OverrideSniFromAddress.Reset()
|
|
if err := s.OverrideSniFromAddress.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"overrideSniFromAddress\"")
|
|
}
|
|
case "keepSniBlank":
|
|
if err := func() error {
|
|
s.KeepSniBlank.Reset()
|
|
if err := s.KeepSniBlank.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"keepSniBlank\"")
|
|
}
|
|
case "pinnedPeerCertSha256":
|
|
if err := func() error {
|
|
s.PinnedPeerCertSha256.Reset()
|
|
if err := s.PinnedPeerCertSha256.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"pinnedPeerCertSha256\"")
|
|
}
|
|
case "verifyPeerCertByName":
|
|
if err := func() error {
|
|
s.VerifyPeerCertByName.Reset()
|
|
if err := s.VerifyPeerCertByName.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"verifyPeerCertByName\"")
|
|
}
|
|
case "vlessRouteId":
|
|
if err := func() error {
|
|
s.VlessRouteId.Reset()
|
|
if err := s.VlessRouteId.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"vlessRouteId\"")
|
|
}
|
|
case "shuffleHost":
|
|
if err := func() error {
|
|
s.ShuffleHost.Reset()
|
|
if err := s.ShuffleHost.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"shuffleHost\"")
|
|
}
|
|
case "mihomoX25519":
|
|
if err := func() error {
|
|
s.MihomoX25519.Reset()
|
|
if err := s.MihomoX25519.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"mihomoX25519\"")
|
|
}
|
|
case "mihomoIpVersion":
|
|
if err := func() error {
|
|
s.MihomoIpVersion.Reset()
|
|
if err := s.MihomoIpVersion.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"mihomoIpVersion\"")
|
|
}
|
|
case "nodes":
|
|
if err := func() error {
|
|
s.Nodes = make([]uuid.UUID, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem uuid.UUID
|
|
v, err := json.DecodeUUID(d)
|
|
elem = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
s.Nodes = append(s.Nodes, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"nodes\"")
|
|
}
|
|
case "xrayJsonTemplateUuid":
|
|
if err := func() error {
|
|
s.XrayJsonTemplateUuid.Reset()
|
|
if err := s.XrayJsonTemplateUuid.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"xrayJsonTemplateUuid\"")
|
|
}
|
|
case "excludedInternalSquads":
|
|
if err := func() error {
|
|
s.ExcludedInternalSquads = make([]uuid.UUID, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem uuid.UUID
|
|
v, err := json.DecodeUUID(d)
|
|
elem = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
s.ExcludedInternalSquads = append(s.ExcludedInternalSquads, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"excludedInternalSquads\"")
|
|
}
|
|
case "excludeFromSubscriptionTypes":
|
|
if err := func() error {
|
|
s.ExcludeFromSubscriptionTypes = make([]CreateHostRequestExcludeFromSubscriptionTypesItem, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem CreateHostRequestExcludeFromSubscriptionTypesItem
|
|
if err := elem.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
s.ExcludeFromSubscriptionTypes = append(s.ExcludeFromSubscriptionTypes, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"excludeFromSubscriptionTypes\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode CreateHostRequest")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [4]uint8{
|
|
0b00001111,
|
|
0b00000000,
|
|
0b00000000,
|
|
0b00000000,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfCreateHostRequest) {
|
|
name = jsonFieldsNameOfCreateHostRequest[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *CreateHostRequest) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *CreateHostRequest) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes CreateHostRequestAlpn as json.
|
|
func (s CreateHostRequestAlpn) Encode(e *jx.Encoder) {
|
|
e.Str(string(s))
|
|
}
|
|
|
|
// Decode decodes CreateHostRequestAlpn from json.
|
|
func (s *CreateHostRequestAlpn) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode CreateHostRequestAlpn to nil")
|
|
}
|
|
v, err := d.StrBytes()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
// Try to use constant string.
|
|
switch CreateHostRequestAlpn(v) {
|
|
case CreateHostRequestAlpnH3:
|
|
*s = CreateHostRequestAlpnH3
|
|
case CreateHostRequestAlpnH2:
|
|
*s = CreateHostRequestAlpnH2
|
|
case CreateHostRequestAlpnHTTP11:
|
|
*s = CreateHostRequestAlpnHTTP11
|
|
case CreateHostRequestAlpnH2HTTP11:
|
|
*s = CreateHostRequestAlpnH2HTTP11
|
|
case CreateHostRequestAlpnH3H2HTTP11:
|
|
*s = CreateHostRequestAlpnH3H2HTTP11
|
|
case CreateHostRequestAlpnH3H2:
|
|
*s = CreateHostRequestAlpnH3H2
|
|
default:
|
|
*s = CreateHostRequestAlpn(v)
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s CreateHostRequestAlpn) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *CreateHostRequestAlpn) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes CreateHostRequestExcludeFromSubscriptionTypesItem as json.
|
|
func (s CreateHostRequestExcludeFromSubscriptionTypesItem) Encode(e *jx.Encoder) {
|
|
e.Str(string(s))
|
|
}
|
|
|
|
// Decode decodes CreateHostRequestExcludeFromSubscriptionTypesItem from json.
|
|
func (s *CreateHostRequestExcludeFromSubscriptionTypesItem) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode CreateHostRequestExcludeFromSubscriptionTypesItem to nil")
|
|
}
|
|
v, err := d.StrBytes()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
// Try to use constant string.
|
|
switch CreateHostRequestExcludeFromSubscriptionTypesItem(v) {
|
|
case CreateHostRequestExcludeFromSubscriptionTypesItemXRAYJSON:
|
|
*s = CreateHostRequestExcludeFromSubscriptionTypesItemXRAYJSON
|
|
case CreateHostRequestExcludeFromSubscriptionTypesItemXRAYBASE64:
|
|
*s = CreateHostRequestExcludeFromSubscriptionTypesItemXRAYBASE64
|
|
case CreateHostRequestExcludeFromSubscriptionTypesItemMIHOMO:
|
|
*s = CreateHostRequestExcludeFromSubscriptionTypesItemMIHOMO
|
|
case CreateHostRequestExcludeFromSubscriptionTypesItemSTASH:
|
|
*s = CreateHostRequestExcludeFromSubscriptionTypesItemSTASH
|
|
case CreateHostRequestExcludeFromSubscriptionTypesItemCLASH:
|
|
*s = CreateHostRequestExcludeFromSubscriptionTypesItemCLASH
|
|
case CreateHostRequestExcludeFromSubscriptionTypesItemSINGBOX:
|
|
*s = CreateHostRequestExcludeFromSubscriptionTypesItemSINGBOX
|
|
default:
|
|
*s = CreateHostRequestExcludeFromSubscriptionTypesItem(v)
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s CreateHostRequestExcludeFromSubscriptionTypesItem) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *CreateHostRequestExcludeFromSubscriptionTypesItem) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes CreateHostRequestMihomoIpVersion as json.
|
|
func (s CreateHostRequestMihomoIpVersion) Encode(e *jx.Encoder) {
|
|
e.Str(string(s))
|
|
}
|
|
|
|
// Decode decodes CreateHostRequestMihomoIpVersion from json.
|
|
func (s *CreateHostRequestMihomoIpVersion) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode CreateHostRequestMihomoIpVersion to nil")
|
|
}
|
|
v, err := d.StrBytes()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
// Try to use constant string.
|
|
switch CreateHostRequestMihomoIpVersion(v) {
|
|
case CreateHostRequestMihomoIpVersionDual:
|
|
*s = CreateHostRequestMihomoIpVersionDual
|
|
case CreateHostRequestMihomoIpVersionIpv4:
|
|
*s = CreateHostRequestMihomoIpVersionIpv4
|
|
case CreateHostRequestMihomoIpVersionIpv6:
|
|
*s = CreateHostRequestMihomoIpVersionIpv6
|
|
case CreateHostRequestMihomoIpVersionIpv4Prefer:
|
|
*s = CreateHostRequestMihomoIpVersionIpv4Prefer
|
|
case CreateHostRequestMihomoIpVersionIpv6Prefer:
|
|
*s = CreateHostRequestMihomoIpVersionIpv6Prefer
|
|
default:
|
|
*s = CreateHostRequestMihomoIpVersion(v)
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s CreateHostRequestMihomoIpVersion) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *CreateHostRequestMihomoIpVersion) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes CreateHostRequestSecurityLayer as json.
|
|
func (s CreateHostRequestSecurityLayer) Encode(e *jx.Encoder) {
|
|
e.Str(string(s))
|
|
}
|
|
|
|
// Decode decodes CreateHostRequestSecurityLayer from json.
|
|
func (s *CreateHostRequestSecurityLayer) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode CreateHostRequestSecurityLayer to nil")
|
|
}
|
|
v, err := d.StrBytes()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
// Try to use constant string.
|
|
switch CreateHostRequestSecurityLayer(v) {
|
|
case CreateHostRequestSecurityLayerDEFAULT:
|
|
*s = CreateHostRequestSecurityLayerDEFAULT
|
|
case CreateHostRequestSecurityLayerTLS:
|
|
*s = CreateHostRequestSecurityLayerTLS
|
|
case CreateHostRequestSecurityLayerNONE:
|
|
*s = CreateHostRequestSecurityLayerNONE
|
|
default:
|
|
*s = CreateHostRequestSecurityLayer(v)
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s CreateHostRequestSecurityLayer) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *CreateHostRequestSecurityLayer) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *CreateInfraBillingHistoryRecordRequest) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *CreateInfraBillingHistoryRecordRequest) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("providerUuid")
|
|
json.EncodeUUID(e, s.ProviderUuid)
|
|
}
|
|
{
|
|
e.FieldStart("amount")
|
|
e.Float64(s.Amount)
|
|
}
|
|
{
|
|
e.FieldStart("billedAt")
|
|
json.EncodeDateTime(e, s.BilledAt)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfCreateInfraBillingHistoryRecordRequest = [3]string{
|
|
0: "providerUuid",
|
|
1: "amount",
|
|
2: "billedAt",
|
|
}
|
|
|
|
// Decode decodes CreateInfraBillingHistoryRecordRequest from json.
|
|
func (s *CreateInfraBillingHistoryRecordRequest) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode CreateInfraBillingHistoryRecordRequest to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "providerUuid":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := json.DecodeUUID(d)
|
|
s.ProviderUuid = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"providerUuid\"")
|
|
}
|
|
case "amount":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.Amount = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"amount\"")
|
|
}
|
|
case "billedAt":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
v, err := json.DecodeDateTime(d)
|
|
s.BilledAt = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"billedAt\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode CreateInfraBillingHistoryRecordRequest")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000111,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfCreateInfraBillingHistoryRecordRequest) {
|
|
name = jsonFieldsNameOfCreateInfraBillingHistoryRecordRequest[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *CreateInfraBillingHistoryRecordRequest) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *CreateInfraBillingHistoryRecordRequest) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *CreateInfraBillingNodeRequest) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *CreateInfraBillingNodeRequest) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("providerUuid")
|
|
json.EncodeUUID(e, s.ProviderUuid)
|
|
}
|
|
{
|
|
e.FieldStart("nodeUuid")
|
|
s.NodeUuid.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("name")
|
|
s.Name.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("nextBillingAt")
|
|
json.EncodeDateTime(e, s.NextBillingAt)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfCreateInfraBillingNodeRequest = [4]string{
|
|
0: "providerUuid",
|
|
1: "nodeUuid",
|
|
2: "name",
|
|
3: "nextBillingAt",
|
|
}
|
|
|
|
// Decode decodes CreateInfraBillingNodeRequest from json.
|
|
func (s *CreateInfraBillingNodeRequest) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode CreateInfraBillingNodeRequest to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "providerUuid":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := json.DecodeUUID(d)
|
|
s.ProviderUuid = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"providerUuid\"")
|
|
}
|
|
case "nodeUuid":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
if err := s.NodeUuid.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"nodeUuid\"")
|
|
}
|
|
case "name":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
if err := s.Name.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"name\"")
|
|
}
|
|
case "nextBillingAt":
|
|
requiredBitSet[0] |= 1 << 3
|
|
if err := func() error {
|
|
v, err := json.DecodeDateTime(d)
|
|
s.NextBillingAt = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"nextBillingAt\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode CreateInfraBillingNodeRequest")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00001111,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfCreateInfraBillingNodeRequest) {
|
|
name = jsonFieldsNameOfCreateInfraBillingNodeRequest[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *CreateInfraBillingNodeRequest) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *CreateInfraBillingNodeRequest) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *CreateInfraProviderRequest) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *CreateInfraProviderRequest) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("name")
|
|
e.Str(s.Name)
|
|
}
|
|
{
|
|
if s.FaviconLink.Set {
|
|
e.FieldStart("faviconLink")
|
|
s.FaviconLink.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.LoginUrl.Set {
|
|
e.FieldStart("loginUrl")
|
|
s.LoginUrl.Encode(e)
|
|
}
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfCreateInfraProviderRequest = [3]string{
|
|
0: "name",
|
|
1: "faviconLink",
|
|
2: "loginUrl",
|
|
}
|
|
|
|
// Decode decodes CreateInfraProviderRequest from json.
|
|
func (s *CreateInfraProviderRequest) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode CreateInfraProviderRequest to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "name":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Name = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"name\"")
|
|
}
|
|
case "faviconLink":
|
|
if err := func() error {
|
|
s.FaviconLink.Reset()
|
|
if err := s.FaviconLink.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"faviconLink\"")
|
|
}
|
|
case "loginUrl":
|
|
if err := func() error {
|
|
s.LoginUrl.Reset()
|
|
if err := s.LoginUrl.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"loginUrl\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode CreateInfraProviderRequest")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfCreateInfraProviderRequest) {
|
|
name = jsonFieldsNameOfCreateInfraProviderRequest[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *CreateInfraProviderRequest) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *CreateInfraProviderRequest) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *CreateInternalSquadRequest) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *CreateInternalSquadRequest) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("name")
|
|
e.Str(s.Name)
|
|
}
|
|
{
|
|
e.FieldStart("inbounds")
|
|
e.ArrStart()
|
|
for _, elem := range s.Inbounds {
|
|
json.EncodeUUID(e, elem)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfCreateInternalSquadRequest = [2]string{
|
|
0: "name",
|
|
1: "inbounds",
|
|
}
|
|
|
|
// Decode decodes CreateInternalSquadRequest from json.
|
|
func (s *CreateInternalSquadRequest) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode CreateInternalSquadRequest to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "name":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Name = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"name\"")
|
|
}
|
|
case "inbounds":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
s.Inbounds = make([]uuid.UUID, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem uuid.UUID
|
|
v, err := json.DecodeUUID(d)
|
|
elem = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
s.Inbounds = append(s.Inbounds, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"inbounds\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode CreateInternalSquadRequest")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000011,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfCreateInternalSquadRequest) {
|
|
name = jsonFieldsNameOfCreateInternalSquadRequest[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *CreateInternalSquadRequest) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *CreateInternalSquadRequest) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *CreateNodePluginRequest) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *CreateNodePluginRequest) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("name")
|
|
e.Str(s.Name)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfCreateNodePluginRequest = [1]string{
|
|
0: "name",
|
|
}
|
|
|
|
// Decode decodes CreateNodePluginRequest from json.
|
|
func (s *CreateNodePluginRequest) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode CreateNodePluginRequest to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "name":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Name = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"name\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode CreateNodePluginRequest")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfCreateNodePluginRequest) {
|
|
name = jsonFieldsNameOfCreateNodePluginRequest[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *CreateNodePluginRequest) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *CreateNodePluginRequest) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *CreateNodePluginResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *CreateNodePluginResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("response")
|
|
s.Response.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfCreateNodePluginResponse = [1]string{
|
|
0: "response",
|
|
}
|
|
|
|
// Decode decodes CreateNodePluginResponse from json.
|
|
func (s *CreateNodePluginResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode CreateNodePluginResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "response":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Response.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"response\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode CreateNodePluginResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfCreateNodePluginResponse) {
|
|
name = jsonFieldsNameOfCreateNodePluginResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *CreateNodePluginResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *CreateNodePluginResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *CreateNodeRequest) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *CreateNodeRequest) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("name")
|
|
e.Str(s.Name)
|
|
}
|
|
{
|
|
e.FieldStart("address")
|
|
e.Str(s.Address)
|
|
}
|
|
{
|
|
if s.Port.Set {
|
|
e.FieldStart("port")
|
|
s.Port.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.ProxyUrl.Set {
|
|
e.FieldStart("proxyUrl")
|
|
s.ProxyUrl.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.IsTrafficTrackingActive.Set {
|
|
e.FieldStart("isTrafficTrackingActive")
|
|
s.IsTrafficTrackingActive.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.TrafficLimitBytes.Set {
|
|
e.FieldStart("trafficLimitBytes")
|
|
s.TrafficLimitBytes.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.NotifyPercent.Set {
|
|
e.FieldStart("notifyPercent")
|
|
s.NotifyPercent.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.TrafficResetDay.Set {
|
|
e.FieldStart("trafficResetDay")
|
|
s.TrafficResetDay.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.CountryCode.Set {
|
|
e.FieldStart("countryCode")
|
|
s.CountryCode.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.ConsumptionMultiplier.Set {
|
|
e.FieldStart("consumptionMultiplier")
|
|
s.ConsumptionMultiplier.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.NodeConsumptionMultiplier.Set {
|
|
e.FieldStart("nodeConsumptionMultiplier")
|
|
s.NodeConsumptionMultiplier.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
e.FieldStart("configProfile")
|
|
s.ConfigProfile.Encode(e)
|
|
}
|
|
{
|
|
if s.ProviderUuid.Set {
|
|
e.FieldStart("providerUuid")
|
|
s.ProviderUuid.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.Tags != nil {
|
|
e.FieldStart("tags")
|
|
e.ArrStart()
|
|
for _, elem := range s.Tags {
|
|
e.Str(elem)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
}
|
|
{
|
|
if s.ActivePluginUuid.Set {
|
|
e.FieldStart("activePluginUuid")
|
|
s.ActivePluginUuid.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.Note.Set {
|
|
e.FieldStart("note")
|
|
s.Note.Encode(e)
|
|
}
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfCreateNodeRequest = [16]string{
|
|
0: "name",
|
|
1: "address",
|
|
2: "port",
|
|
3: "proxyUrl",
|
|
4: "isTrafficTrackingActive",
|
|
5: "trafficLimitBytes",
|
|
6: "notifyPercent",
|
|
7: "trafficResetDay",
|
|
8: "countryCode",
|
|
9: "consumptionMultiplier",
|
|
10: "nodeConsumptionMultiplier",
|
|
11: "configProfile",
|
|
12: "providerUuid",
|
|
13: "tags",
|
|
14: "activePluginUuid",
|
|
15: "note",
|
|
}
|
|
|
|
// Decode decodes CreateNodeRequest from json.
|
|
func (s *CreateNodeRequest) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode CreateNodeRequest to nil")
|
|
}
|
|
var requiredBitSet [2]uint8
|
|
s.setDefaults()
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "name":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Name = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"name\"")
|
|
}
|
|
case "address":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Address = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"address\"")
|
|
}
|
|
case "port":
|
|
if err := func() error {
|
|
s.Port.Reset()
|
|
if err := s.Port.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"port\"")
|
|
}
|
|
case "proxyUrl":
|
|
if err := func() error {
|
|
s.ProxyUrl.Reset()
|
|
if err := s.ProxyUrl.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"proxyUrl\"")
|
|
}
|
|
case "isTrafficTrackingActive":
|
|
if err := func() error {
|
|
s.IsTrafficTrackingActive.Reset()
|
|
if err := s.IsTrafficTrackingActive.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"isTrafficTrackingActive\"")
|
|
}
|
|
case "trafficLimitBytes":
|
|
if err := func() error {
|
|
s.TrafficLimitBytes.Reset()
|
|
if err := s.TrafficLimitBytes.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"trafficLimitBytes\"")
|
|
}
|
|
case "notifyPercent":
|
|
if err := func() error {
|
|
s.NotifyPercent.Reset()
|
|
if err := s.NotifyPercent.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"notifyPercent\"")
|
|
}
|
|
case "trafficResetDay":
|
|
if err := func() error {
|
|
s.TrafficResetDay.Reset()
|
|
if err := s.TrafficResetDay.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"trafficResetDay\"")
|
|
}
|
|
case "countryCode":
|
|
if err := func() error {
|
|
s.CountryCode.Reset()
|
|
if err := s.CountryCode.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"countryCode\"")
|
|
}
|
|
case "consumptionMultiplier":
|
|
if err := func() error {
|
|
s.ConsumptionMultiplier.Reset()
|
|
if err := s.ConsumptionMultiplier.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"consumptionMultiplier\"")
|
|
}
|
|
case "nodeConsumptionMultiplier":
|
|
if err := func() error {
|
|
s.NodeConsumptionMultiplier.Reset()
|
|
if err := s.NodeConsumptionMultiplier.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"nodeConsumptionMultiplier\"")
|
|
}
|
|
case "configProfile":
|
|
requiredBitSet[1] |= 1 << 3
|
|
if err := func() error {
|
|
if err := s.ConfigProfile.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"configProfile\"")
|
|
}
|
|
case "providerUuid":
|
|
if err := func() error {
|
|
s.ProviderUuid.Reset()
|
|
if err := s.ProviderUuid.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"providerUuid\"")
|
|
}
|
|
case "tags":
|
|
if err := func() error {
|
|
s.Tags = make([]string, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem string
|
|
v, err := d.Str()
|
|
elem = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
s.Tags = append(s.Tags, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"tags\"")
|
|
}
|
|
case "activePluginUuid":
|
|
if err := func() error {
|
|
s.ActivePluginUuid.Reset()
|
|
if err := s.ActivePluginUuid.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"activePluginUuid\"")
|
|
}
|
|
case "note":
|
|
if err := func() error {
|
|
s.Note.Reset()
|
|
if err := s.Note.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"note\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode CreateNodeRequest")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [2]uint8{
|
|
0b00000011,
|
|
0b00001000,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfCreateNodeRequest) {
|
|
name = jsonFieldsNameOfCreateNodeRequest[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *CreateNodeRequest) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *CreateNodeRequest) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *CreateSubscriptionPageConfigRequest) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *CreateSubscriptionPageConfigRequest) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("name")
|
|
e.Str(s.Name)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfCreateSubscriptionPageConfigRequest = [1]string{
|
|
0: "name",
|
|
}
|
|
|
|
// Decode decodes CreateSubscriptionPageConfigRequest from json.
|
|
func (s *CreateSubscriptionPageConfigRequest) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode CreateSubscriptionPageConfigRequest to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "name":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Name = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"name\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode CreateSubscriptionPageConfigRequest")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfCreateSubscriptionPageConfigRequest) {
|
|
name = jsonFieldsNameOfCreateSubscriptionPageConfigRequest[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *CreateSubscriptionPageConfigRequest) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *CreateSubscriptionPageConfigRequest) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *CreateSubscriptionPageConfigResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *CreateSubscriptionPageConfigResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("response")
|
|
s.Response.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfCreateSubscriptionPageConfigResponse = [1]string{
|
|
0: "response",
|
|
}
|
|
|
|
// Decode decodes CreateSubscriptionPageConfigResponse from json.
|
|
func (s *CreateSubscriptionPageConfigResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode CreateSubscriptionPageConfigResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "response":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Response.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"response\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode CreateSubscriptionPageConfigResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfCreateSubscriptionPageConfigResponse) {
|
|
name = jsonFieldsNameOfCreateSubscriptionPageConfigResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *CreateSubscriptionPageConfigResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *CreateSubscriptionPageConfigResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *CreateSubscriptionTemplateRequest) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *CreateSubscriptionTemplateRequest) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("name")
|
|
e.Str(s.Name)
|
|
}
|
|
{
|
|
e.FieldStart("templateType")
|
|
s.TemplateType.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfCreateSubscriptionTemplateRequest = [2]string{
|
|
0: "name",
|
|
1: "templateType",
|
|
}
|
|
|
|
// Decode decodes CreateSubscriptionTemplateRequest from json.
|
|
func (s *CreateSubscriptionTemplateRequest) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode CreateSubscriptionTemplateRequest to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "name":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Name = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"name\"")
|
|
}
|
|
case "templateType":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
if err := s.TemplateType.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"templateType\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode CreateSubscriptionTemplateRequest")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000011,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfCreateSubscriptionTemplateRequest) {
|
|
name = jsonFieldsNameOfCreateSubscriptionTemplateRequest[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *CreateSubscriptionTemplateRequest) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *CreateSubscriptionTemplateRequest) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes CreateSubscriptionTemplateRequestTemplateType as json.
|
|
func (s CreateSubscriptionTemplateRequestTemplateType) Encode(e *jx.Encoder) {
|
|
e.Str(string(s))
|
|
}
|
|
|
|
// Decode decodes CreateSubscriptionTemplateRequestTemplateType from json.
|
|
func (s *CreateSubscriptionTemplateRequestTemplateType) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode CreateSubscriptionTemplateRequestTemplateType to nil")
|
|
}
|
|
v, err := d.StrBytes()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
// Try to use constant string.
|
|
switch CreateSubscriptionTemplateRequestTemplateType(v) {
|
|
case CreateSubscriptionTemplateRequestTemplateTypeXRAYJSON:
|
|
*s = CreateSubscriptionTemplateRequestTemplateTypeXRAYJSON
|
|
case CreateSubscriptionTemplateRequestTemplateTypeXRAYBASE64:
|
|
*s = CreateSubscriptionTemplateRequestTemplateTypeXRAYBASE64
|
|
case CreateSubscriptionTemplateRequestTemplateTypeMIHOMO:
|
|
*s = CreateSubscriptionTemplateRequestTemplateTypeMIHOMO
|
|
case CreateSubscriptionTemplateRequestTemplateTypeSTASH:
|
|
*s = CreateSubscriptionTemplateRequestTemplateTypeSTASH
|
|
case CreateSubscriptionTemplateRequestTemplateTypeCLASH:
|
|
*s = CreateSubscriptionTemplateRequestTemplateTypeCLASH
|
|
case CreateSubscriptionTemplateRequestTemplateTypeSINGBOX:
|
|
*s = CreateSubscriptionTemplateRequestTemplateTypeSINGBOX
|
|
default:
|
|
*s = CreateSubscriptionTemplateRequestTemplateType(v)
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s CreateSubscriptionTemplateRequestTemplateType) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *CreateSubscriptionTemplateRequestTemplateType) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *CreateUserHwidDeviceRequest) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *CreateUserHwidDeviceRequest) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("hwid")
|
|
e.Str(s.Hwid)
|
|
}
|
|
{
|
|
e.FieldStart("userUuid")
|
|
json.EncodeUUID(e, s.UserUuid)
|
|
}
|
|
{
|
|
if s.Platform.Set {
|
|
e.FieldStart("platform")
|
|
s.Platform.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.OsVersion.Set {
|
|
e.FieldStart("osVersion")
|
|
s.OsVersion.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.DeviceModel.Set {
|
|
e.FieldStart("deviceModel")
|
|
s.DeviceModel.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.UserAgent.Set {
|
|
e.FieldStart("userAgent")
|
|
s.UserAgent.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.RequestIp.Set {
|
|
e.FieldStart("requestIp")
|
|
s.RequestIp.Encode(e)
|
|
}
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfCreateUserHwidDeviceRequest = [7]string{
|
|
0: "hwid",
|
|
1: "userUuid",
|
|
2: "platform",
|
|
3: "osVersion",
|
|
4: "deviceModel",
|
|
5: "userAgent",
|
|
6: "requestIp",
|
|
}
|
|
|
|
// Decode decodes CreateUserHwidDeviceRequest from json.
|
|
func (s *CreateUserHwidDeviceRequest) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode CreateUserHwidDeviceRequest to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "hwid":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Hwid = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"hwid\"")
|
|
}
|
|
case "userUuid":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := json.DecodeUUID(d)
|
|
s.UserUuid = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"userUuid\"")
|
|
}
|
|
case "platform":
|
|
if err := func() error {
|
|
s.Platform.Reset()
|
|
if err := s.Platform.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"platform\"")
|
|
}
|
|
case "osVersion":
|
|
if err := func() error {
|
|
s.OsVersion.Reset()
|
|
if err := s.OsVersion.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"osVersion\"")
|
|
}
|
|
case "deviceModel":
|
|
if err := func() error {
|
|
s.DeviceModel.Reset()
|
|
if err := s.DeviceModel.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"deviceModel\"")
|
|
}
|
|
case "userAgent":
|
|
if err := func() error {
|
|
s.UserAgent.Reset()
|
|
if err := s.UserAgent.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"userAgent\"")
|
|
}
|
|
case "requestIp":
|
|
if err := func() error {
|
|
s.RequestIp.Reset()
|
|
if err := s.RequestIp.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"requestIp\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode CreateUserHwidDeviceRequest")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000011,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfCreateUserHwidDeviceRequest) {
|
|
name = jsonFieldsNameOfCreateUserHwidDeviceRequest[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *CreateUserHwidDeviceRequest) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *CreateUserHwidDeviceRequest) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *CreateUserRequest) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *CreateUserRequest) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("username")
|
|
e.Str(s.Username)
|
|
}
|
|
{
|
|
if s.Status.Set {
|
|
e.FieldStart("status")
|
|
s.Status.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.ShortUuid.Set {
|
|
e.FieldStart("shortUuid")
|
|
s.ShortUuid.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.TrojanPassword.Set {
|
|
e.FieldStart("trojanPassword")
|
|
s.TrojanPassword.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.VlessUuid.Set {
|
|
e.FieldStart("vlessUuid")
|
|
s.VlessUuid.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.SsPassword.Set {
|
|
e.FieldStart("ssPassword")
|
|
s.SsPassword.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.TrafficLimitBytes.Set {
|
|
e.FieldStart("trafficLimitBytes")
|
|
s.TrafficLimitBytes.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.TrafficLimitStrategy.Set {
|
|
e.FieldStart("trafficLimitStrategy")
|
|
s.TrafficLimitStrategy.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
e.FieldStart("expireAt")
|
|
json.EncodeDateTime(e, s.ExpireAt)
|
|
}
|
|
{
|
|
if s.CreatedAt.Set {
|
|
e.FieldStart("createdAt")
|
|
s.CreatedAt.Encode(e, json.EncodeDateTime)
|
|
}
|
|
}
|
|
{
|
|
if s.LastTrafficResetAt.Set {
|
|
e.FieldStart("lastTrafficResetAt")
|
|
s.LastTrafficResetAt.Encode(e, json.EncodeDateTime)
|
|
}
|
|
}
|
|
{
|
|
if s.Description.Set {
|
|
e.FieldStart("description")
|
|
s.Description.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.Tag.Set {
|
|
e.FieldStart("tag")
|
|
s.Tag.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.TelegramId.Set {
|
|
e.FieldStart("telegramId")
|
|
s.TelegramId.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.Email.Set {
|
|
e.FieldStart("email")
|
|
s.Email.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.HwidDeviceLimit.Set {
|
|
e.FieldStart("hwidDeviceLimit")
|
|
s.HwidDeviceLimit.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.ActiveInternalSquads != nil {
|
|
e.FieldStart("activeInternalSquads")
|
|
e.ArrStart()
|
|
for _, elem := range s.ActiveInternalSquads {
|
|
json.EncodeUUID(e, elem)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
}
|
|
{
|
|
if s.UUID.Set {
|
|
e.FieldStart("uuid")
|
|
s.UUID.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.ExternalSquadUuid.Set {
|
|
e.FieldStart("externalSquadUuid")
|
|
s.ExternalSquadUuid.Encode(e)
|
|
}
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfCreateUserRequest = [19]string{
|
|
0: "username",
|
|
1: "status",
|
|
2: "shortUuid",
|
|
3: "trojanPassword",
|
|
4: "vlessUuid",
|
|
5: "ssPassword",
|
|
6: "trafficLimitBytes",
|
|
7: "trafficLimitStrategy",
|
|
8: "expireAt",
|
|
9: "createdAt",
|
|
10: "lastTrafficResetAt",
|
|
11: "description",
|
|
12: "tag",
|
|
13: "telegramId",
|
|
14: "email",
|
|
15: "hwidDeviceLimit",
|
|
16: "activeInternalSquads",
|
|
17: "uuid",
|
|
18: "externalSquadUuid",
|
|
}
|
|
|
|
// Decode decodes CreateUserRequest from json.
|
|
func (s *CreateUserRequest) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode CreateUserRequest to nil")
|
|
}
|
|
var requiredBitSet [3]uint8
|
|
s.setDefaults()
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "username":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Username = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"username\"")
|
|
}
|
|
case "status":
|
|
if err := func() error {
|
|
s.Status.Reset()
|
|
if err := s.Status.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"status\"")
|
|
}
|
|
case "shortUuid":
|
|
if err := func() error {
|
|
s.ShortUuid.Reset()
|
|
if err := s.ShortUuid.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"shortUuid\"")
|
|
}
|
|
case "trojanPassword":
|
|
if err := func() error {
|
|
s.TrojanPassword.Reset()
|
|
if err := s.TrojanPassword.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"trojanPassword\"")
|
|
}
|
|
case "vlessUuid":
|
|
if err := func() error {
|
|
s.VlessUuid.Reset()
|
|
if err := s.VlessUuid.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"vlessUuid\"")
|
|
}
|
|
case "ssPassword":
|
|
if err := func() error {
|
|
s.SsPassword.Reset()
|
|
if err := s.SsPassword.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"ssPassword\"")
|
|
}
|
|
case "trafficLimitBytes":
|
|
if err := func() error {
|
|
s.TrafficLimitBytes.Reset()
|
|
if err := s.TrafficLimitBytes.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"trafficLimitBytes\"")
|
|
}
|
|
case "trafficLimitStrategy":
|
|
if err := func() error {
|
|
s.TrafficLimitStrategy.Reset()
|
|
if err := s.TrafficLimitStrategy.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"trafficLimitStrategy\"")
|
|
}
|
|
case "expireAt":
|
|
requiredBitSet[1] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := json.DecodeDateTime(d)
|
|
s.ExpireAt = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"expireAt\"")
|
|
}
|
|
case "createdAt":
|
|
if err := func() error {
|
|
s.CreatedAt.Reset()
|
|
if err := s.CreatedAt.Decode(d, json.DecodeDateTime); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"createdAt\"")
|
|
}
|
|
case "lastTrafficResetAt":
|
|
if err := func() error {
|
|
s.LastTrafficResetAt.Reset()
|
|
if err := s.LastTrafficResetAt.Decode(d, json.DecodeDateTime); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"lastTrafficResetAt\"")
|
|
}
|
|
case "description":
|
|
if err := func() error {
|
|
s.Description.Reset()
|
|
if err := s.Description.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"description\"")
|
|
}
|
|
case "tag":
|
|
if err := func() error {
|
|
s.Tag.Reset()
|
|
if err := s.Tag.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"tag\"")
|
|
}
|
|
case "telegramId":
|
|
if err := func() error {
|
|
s.TelegramId.Reset()
|
|
if err := s.TelegramId.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"telegramId\"")
|
|
}
|
|
case "email":
|
|
if err := func() error {
|
|
s.Email.Reset()
|
|
if err := s.Email.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"email\"")
|
|
}
|
|
case "hwidDeviceLimit":
|
|
if err := func() error {
|
|
s.HwidDeviceLimit.Reset()
|
|
if err := s.HwidDeviceLimit.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"hwidDeviceLimit\"")
|
|
}
|
|
case "activeInternalSquads":
|
|
if err := func() error {
|
|
s.ActiveInternalSquads = make([]uuid.UUID, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem uuid.UUID
|
|
v, err := json.DecodeUUID(d)
|
|
elem = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
s.ActiveInternalSquads = append(s.ActiveInternalSquads, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"activeInternalSquads\"")
|
|
}
|
|
case "uuid":
|
|
if err := func() error {
|
|
s.UUID.Reset()
|
|
if err := s.UUID.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"uuid\"")
|
|
}
|
|
case "externalSquadUuid":
|
|
if err := func() error {
|
|
s.ExternalSquadUuid.Reset()
|
|
if err := s.ExternalSquadUuid.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"externalSquadUuid\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode CreateUserRequest")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [3]uint8{
|
|
0b00000001,
|
|
0b00000001,
|
|
0b00000000,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfCreateUserRequest) {
|
|
name = jsonFieldsNameOfCreateUserRequest[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *CreateUserRequest) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *CreateUserRequest) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes CreateUserRequestStatus as json.
|
|
func (s CreateUserRequestStatus) Encode(e *jx.Encoder) {
|
|
e.Str(string(s))
|
|
}
|
|
|
|
// Decode decodes CreateUserRequestStatus from json.
|
|
func (s *CreateUserRequestStatus) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode CreateUserRequestStatus to nil")
|
|
}
|
|
v, err := d.StrBytes()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
// Try to use constant string.
|
|
switch CreateUserRequestStatus(v) {
|
|
case CreateUserRequestStatusACTIVE:
|
|
*s = CreateUserRequestStatusACTIVE
|
|
case CreateUserRequestStatusDISABLED:
|
|
*s = CreateUserRequestStatusDISABLED
|
|
case CreateUserRequestStatusLIMITED:
|
|
*s = CreateUserRequestStatusLIMITED
|
|
case CreateUserRequestStatusEXPIRED:
|
|
*s = CreateUserRequestStatusEXPIRED
|
|
default:
|
|
*s = CreateUserRequestStatus(v)
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s CreateUserRequestStatus) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *CreateUserRequestStatus) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes CreateUserRequestTrafficLimitStrategy as json.
|
|
func (s CreateUserRequestTrafficLimitStrategy) Encode(e *jx.Encoder) {
|
|
e.Str(string(s))
|
|
}
|
|
|
|
// Decode decodes CreateUserRequestTrafficLimitStrategy from json.
|
|
func (s *CreateUserRequestTrafficLimitStrategy) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode CreateUserRequestTrafficLimitStrategy to nil")
|
|
}
|
|
v, err := d.StrBytes()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
// Try to use constant string.
|
|
switch CreateUserRequestTrafficLimitStrategy(v) {
|
|
case CreateUserRequestTrafficLimitStrategyNORESET:
|
|
*s = CreateUserRequestTrafficLimitStrategyNORESET
|
|
case CreateUserRequestTrafficLimitStrategyDAY:
|
|
*s = CreateUserRequestTrafficLimitStrategyDAY
|
|
case CreateUserRequestTrafficLimitStrategyWEEK:
|
|
*s = CreateUserRequestTrafficLimitStrategyWEEK
|
|
case CreateUserRequestTrafficLimitStrategyMONTH:
|
|
*s = CreateUserRequestTrafficLimitStrategyMONTH
|
|
case CreateUserRequestTrafficLimitStrategyMONTHROLLING:
|
|
*s = CreateUserRequestTrafficLimitStrategyMONTHROLLING
|
|
default:
|
|
*s = CreateUserRequestTrafficLimitStrategy(v)
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s CreateUserRequestTrafficLimitStrategy) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *CreateUserRequestTrafficLimitStrategy) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *CustomRemark) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *CustomRemark) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("expiredUsers")
|
|
e.ArrStart()
|
|
for _, elem := range s.ExpiredUsers {
|
|
e.Str(elem)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
{
|
|
e.FieldStart("limitedUsers")
|
|
e.ArrStart()
|
|
for _, elem := range s.LimitedUsers {
|
|
e.Str(elem)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
{
|
|
e.FieldStart("disabledUsers")
|
|
e.ArrStart()
|
|
for _, elem := range s.DisabledUsers {
|
|
e.Str(elem)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
{
|
|
e.FieldStart("emptyHosts")
|
|
e.ArrStart()
|
|
for _, elem := range s.EmptyHosts {
|
|
e.Str(elem)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
{
|
|
e.FieldStart("HWIDMaxDevicesExceeded")
|
|
e.ArrStart()
|
|
for _, elem := range s.HWIDMaxDevicesExceeded {
|
|
e.Str(elem)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
{
|
|
e.FieldStart("HWIDNotSupported")
|
|
e.ArrStart()
|
|
for _, elem := range s.HWIDNotSupported {
|
|
e.Str(elem)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfCustomRemark = [6]string{
|
|
0: "expiredUsers",
|
|
1: "limitedUsers",
|
|
2: "disabledUsers",
|
|
3: "emptyHosts",
|
|
4: "HWIDMaxDevicesExceeded",
|
|
5: "HWIDNotSupported",
|
|
}
|
|
|
|
// Decode decodes CustomRemark from json.
|
|
func (s *CustomRemark) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode CustomRemark to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "expiredUsers":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
s.ExpiredUsers = make([]string, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem string
|
|
v, err := d.Str()
|
|
elem = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
s.ExpiredUsers = append(s.ExpiredUsers, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"expiredUsers\"")
|
|
}
|
|
case "limitedUsers":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
s.LimitedUsers = make([]string, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem string
|
|
v, err := d.Str()
|
|
elem = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
s.LimitedUsers = append(s.LimitedUsers, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"limitedUsers\"")
|
|
}
|
|
case "disabledUsers":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
s.DisabledUsers = make([]string, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem string
|
|
v, err := d.Str()
|
|
elem = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
s.DisabledUsers = append(s.DisabledUsers, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"disabledUsers\"")
|
|
}
|
|
case "emptyHosts":
|
|
requiredBitSet[0] |= 1 << 3
|
|
if err := func() error {
|
|
s.EmptyHosts = make([]string, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem string
|
|
v, err := d.Str()
|
|
elem = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
s.EmptyHosts = append(s.EmptyHosts, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"emptyHosts\"")
|
|
}
|
|
case "HWIDMaxDevicesExceeded":
|
|
requiredBitSet[0] |= 1 << 4
|
|
if err := func() error {
|
|
s.HWIDMaxDevicesExceeded = make([]string, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem string
|
|
v, err := d.Str()
|
|
elem = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
s.HWIDMaxDevicesExceeded = append(s.HWIDMaxDevicesExceeded, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"HWIDMaxDevicesExceeded\"")
|
|
}
|
|
case "HWIDNotSupported":
|
|
requiredBitSet[0] |= 1 << 5
|
|
if err := func() error {
|
|
s.HWIDNotSupported = make([]string, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem string
|
|
v, err := d.Str()
|
|
elem = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
s.HWIDNotSupported = append(s.HWIDNotSupported, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"HWIDNotSupported\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode CustomRemark")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00111111,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfCustomRemark) {
|
|
name = jsonFieldsNameOfCustomRemark[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *CustomRemark) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *CustomRemark) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *DebugSrrMatcherRequest) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *DebugSrrMatcherRequest) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("responseRules")
|
|
s.ResponseRules.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfDebugSrrMatcherRequest = [1]string{
|
|
0: "responseRules",
|
|
}
|
|
|
|
// Decode decodes DebugSrrMatcherRequest from json.
|
|
func (s *DebugSrrMatcherRequest) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode DebugSrrMatcherRequest to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "responseRules":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.ResponseRules.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"responseRules\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode DebugSrrMatcherRequest")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfDebugSrrMatcherRequest) {
|
|
name = jsonFieldsNameOfDebugSrrMatcherRequest[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *DebugSrrMatcherRequest) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *DebugSrrMatcherRequest) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *DebugSrrMatcherResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *DebugSrrMatcherResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("response")
|
|
s.Response.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfDebugSrrMatcherResponse = [1]string{
|
|
0: "response",
|
|
}
|
|
|
|
// Decode decodes DebugSrrMatcherResponse from json.
|
|
func (s *DebugSrrMatcherResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode DebugSrrMatcherResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "response":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Response.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"response\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode DebugSrrMatcherResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfDebugSrrMatcherResponse) {
|
|
name = jsonFieldsNameOfDebugSrrMatcherResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *DebugSrrMatcherResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *DebugSrrMatcherResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *DebugSrrMatcherResponseResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *DebugSrrMatcherResponseResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("matched")
|
|
e.Bool(s.Matched)
|
|
}
|
|
{
|
|
e.FieldStart("responseType")
|
|
s.ResponseType.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("matchedRule")
|
|
s.MatchedRule.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("inputHeaders")
|
|
s.InputHeaders.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("outputHeaders")
|
|
s.OutputHeaders.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfDebugSrrMatcherResponseResponse = [5]string{
|
|
0: "matched",
|
|
1: "responseType",
|
|
2: "matchedRule",
|
|
3: "inputHeaders",
|
|
4: "outputHeaders",
|
|
}
|
|
|
|
// Decode decodes DebugSrrMatcherResponseResponse from json.
|
|
func (s *DebugSrrMatcherResponseResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode DebugSrrMatcherResponseResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "matched":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Bool()
|
|
s.Matched = bool(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"matched\"")
|
|
}
|
|
case "responseType":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
if err := s.ResponseType.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"responseType\"")
|
|
}
|
|
case "matchedRule":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
if err := s.MatchedRule.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"matchedRule\"")
|
|
}
|
|
case "inputHeaders":
|
|
requiredBitSet[0] |= 1 << 3
|
|
if err := func() error {
|
|
if err := s.InputHeaders.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"inputHeaders\"")
|
|
}
|
|
case "outputHeaders":
|
|
requiredBitSet[0] |= 1 << 4
|
|
if err := func() error {
|
|
if err := s.OutputHeaders.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"outputHeaders\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode DebugSrrMatcherResponseResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00011111,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfDebugSrrMatcherResponseResponse) {
|
|
name = jsonFieldsNameOfDebugSrrMatcherResponseResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *DebugSrrMatcherResponseResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *DebugSrrMatcherResponseResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s DebugSrrMatcherResponseResponseInputHeaders) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields implements json.Marshaler.
|
|
func (s DebugSrrMatcherResponseResponseInputHeaders) encodeFields(e *jx.Encoder) {
|
|
for k, elem := range s {
|
|
e.FieldStart(k)
|
|
|
|
e.Str(elem)
|
|
}
|
|
}
|
|
|
|
// Decode decodes DebugSrrMatcherResponseResponseInputHeaders from json.
|
|
func (s *DebugSrrMatcherResponseResponseInputHeaders) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode DebugSrrMatcherResponseResponseInputHeaders to nil")
|
|
}
|
|
m := s.init()
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
var elem string
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
elem = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrapf(err, "decode field %q", k)
|
|
}
|
|
m[string(k)] = elem
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode DebugSrrMatcherResponseResponseInputHeaders")
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s DebugSrrMatcherResponseResponseInputHeaders) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *DebugSrrMatcherResponseResponseInputHeaders) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s DebugSrrMatcherResponseResponseOutputHeaders) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields implements json.Marshaler.
|
|
func (s DebugSrrMatcherResponseResponseOutputHeaders) encodeFields(e *jx.Encoder) {
|
|
for k, elem := range s {
|
|
e.FieldStart(k)
|
|
|
|
e.Str(elem)
|
|
}
|
|
}
|
|
|
|
// Decode decodes DebugSrrMatcherResponseResponseOutputHeaders from json.
|
|
func (s *DebugSrrMatcherResponseResponseOutputHeaders) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode DebugSrrMatcherResponseResponseOutputHeaders to nil")
|
|
}
|
|
m := s.init()
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
var elem string
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
elem = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrapf(err, "decode field %q", k)
|
|
}
|
|
m[string(k)] = elem
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode DebugSrrMatcherResponseResponseOutputHeaders")
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s DebugSrrMatcherResponseResponseOutputHeaders) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *DebugSrrMatcherResponseResponseOutputHeaders) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes DebugSrrMatcherResponseResponseResponseType as json.
|
|
func (s DebugSrrMatcherResponseResponseResponseType) Encode(e *jx.Encoder) {
|
|
e.Str(string(s))
|
|
}
|
|
|
|
// Decode decodes DebugSrrMatcherResponseResponseResponseType from json.
|
|
func (s *DebugSrrMatcherResponseResponseResponseType) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode DebugSrrMatcherResponseResponseResponseType to nil")
|
|
}
|
|
v, err := d.StrBytes()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
// Try to use constant string.
|
|
switch DebugSrrMatcherResponseResponseResponseType(v) {
|
|
case DebugSrrMatcherResponseResponseResponseTypeXRAYJSON:
|
|
*s = DebugSrrMatcherResponseResponseResponseTypeXRAYJSON
|
|
case DebugSrrMatcherResponseResponseResponseTypeXRAYBASE64:
|
|
*s = DebugSrrMatcherResponseResponseResponseTypeXRAYBASE64
|
|
case DebugSrrMatcherResponseResponseResponseTypeMIHOMO:
|
|
*s = DebugSrrMatcherResponseResponseResponseTypeMIHOMO
|
|
case DebugSrrMatcherResponseResponseResponseTypeSTASH:
|
|
*s = DebugSrrMatcherResponseResponseResponseTypeSTASH
|
|
case DebugSrrMatcherResponseResponseResponseTypeCLASH:
|
|
*s = DebugSrrMatcherResponseResponseResponseTypeCLASH
|
|
case DebugSrrMatcherResponseResponseResponseTypeSINGBOX:
|
|
*s = DebugSrrMatcherResponseResponseResponseTypeSINGBOX
|
|
case DebugSrrMatcherResponseResponseResponseTypeBROWSER:
|
|
*s = DebugSrrMatcherResponseResponseResponseTypeBROWSER
|
|
case DebugSrrMatcherResponseResponseResponseTypeBLOCK:
|
|
*s = DebugSrrMatcherResponseResponseResponseTypeBLOCK
|
|
case DebugSrrMatcherResponseResponseResponseTypeSTATUSCODE404:
|
|
*s = DebugSrrMatcherResponseResponseResponseTypeSTATUSCODE404
|
|
case DebugSrrMatcherResponseResponseResponseTypeSTATUSCODE451:
|
|
*s = DebugSrrMatcherResponseResponseResponseTypeSTATUSCODE451
|
|
case DebugSrrMatcherResponseResponseResponseTypeSOCKETDROP:
|
|
*s = DebugSrrMatcherResponseResponseResponseTypeSOCKETDROP
|
|
default:
|
|
*s = DebugSrrMatcherResponseResponseResponseType(v)
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s DebugSrrMatcherResponseResponseResponseType) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *DebugSrrMatcherResponseResponseResponseType) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *DebugSrrMatcherSettings) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *DebugSrrMatcherSettings) encodeFields(e *jx.Encoder) {
|
|
{
|
|
if s.DisableSubscriptionAccessByPath.Set {
|
|
e.FieldStart("disableSubscriptionAccessByPath")
|
|
s.DisableSubscriptionAccessByPath.Encode(e)
|
|
}
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfDebugSrrMatcherSettings = [1]string{
|
|
0: "disableSubscriptionAccessByPath",
|
|
}
|
|
|
|
// Decode decodes DebugSrrMatcherSettings from json.
|
|
func (s *DebugSrrMatcherSettings) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode DebugSrrMatcherSettings to nil")
|
|
}
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "disableSubscriptionAccessByPath":
|
|
if err := func() error {
|
|
s.DisableSubscriptionAccessByPath.Reset()
|
|
if err := s.DisableSubscriptionAccessByPath.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"disableSubscriptionAccessByPath\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode DebugSrrMatcherSettings")
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *DebugSrrMatcherSettings) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *DebugSrrMatcherSettings) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *DeleteAllUserHwidDevicesRequest) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *DeleteAllUserHwidDevicesRequest) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("userUuid")
|
|
json.EncodeUUID(e, s.UserUuid)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfDeleteAllUserHwidDevicesRequest = [1]string{
|
|
0: "userUuid",
|
|
}
|
|
|
|
// Decode decodes DeleteAllUserHwidDevicesRequest from json.
|
|
func (s *DeleteAllUserHwidDevicesRequest) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode DeleteAllUserHwidDevicesRequest to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "userUuid":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := json.DecodeUUID(d)
|
|
s.UserUuid = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"userUuid\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode DeleteAllUserHwidDevicesRequest")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfDeleteAllUserHwidDevicesRequest) {
|
|
name = jsonFieldsNameOfDeleteAllUserHwidDevicesRequest[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *DeleteAllUserHwidDevicesRequest) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *DeleteAllUserHwidDevicesRequest) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *DeleteApiTokenResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *DeleteApiTokenResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("response")
|
|
e.Bool(s.Response)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfDeleteApiTokenResponse = [1]string{
|
|
0: "response",
|
|
}
|
|
|
|
// Decode decodes DeleteApiTokenResponse from json.
|
|
func (s *DeleteApiTokenResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode DeleteApiTokenResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "response":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Bool()
|
|
s.Response = bool(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"response\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode DeleteApiTokenResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfDeleteApiTokenResponse) {
|
|
name = jsonFieldsNameOfDeleteApiTokenResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *DeleteApiTokenResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *DeleteApiTokenResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *DeletePasskeyRequest) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *DeletePasskeyRequest) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("id")
|
|
e.Str(s.ID)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfDeletePasskeyRequest = [1]string{
|
|
0: "id",
|
|
}
|
|
|
|
// Decode decodes DeletePasskeyRequest from json.
|
|
func (s *DeletePasskeyRequest) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode DeletePasskeyRequest to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "id":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.ID = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"id\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode DeletePasskeyRequest")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfDeletePasskeyRequest) {
|
|
name = jsonFieldsNameOfDeletePasskeyRequest[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *DeletePasskeyRequest) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *DeletePasskeyRequest) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *DeleteResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *DeleteResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("response")
|
|
s.Response.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfDeleteResponse = [1]string{
|
|
0: "response",
|
|
}
|
|
|
|
// Decode decodes DeleteResponse from json.
|
|
func (s *DeleteResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode DeleteResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "response":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Response.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"response\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode DeleteResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfDeleteResponse) {
|
|
name = jsonFieldsNameOfDeleteResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *DeleteResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *DeleteResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *DeleteResponseResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *DeleteResponseResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("isDeleted")
|
|
e.Bool(s.IsDeleted)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfDeleteResponseResponse = [1]string{
|
|
0: "isDeleted",
|
|
}
|
|
|
|
// Decode decodes DeleteResponseResponse from json.
|
|
func (s *DeleteResponseResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode DeleteResponseResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "isDeleted":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Bool()
|
|
s.IsDeleted = bool(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"isDeleted\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode DeleteResponseResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfDeleteResponseResponse) {
|
|
name = jsonFieldsNameOfDeleteResponseResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *DeleteResponseResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *DeleteResponseResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *DeleteSnippetRequest) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *DeleteSnippetRequest) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("name")
|
|
e.Str(s.Name)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfDeleteSnippetRequest = [1]string{
|
|
0: "name",
|
|
}
|
|
|
|
// Decode decodes DeleteSnippetRequest from json.
|
|
func (s *DeleteSnippetRequest) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode DeleteSnippetRequest to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "name":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Name = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"name\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode DeleteSnippetRequest")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfDeleteSnippetRequest) {
|
|
name = jsonFieldsNameOfDeleteSnippetRequest[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *DeleteSnippetRequest) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *DeleteSnippetRequest) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *DeleteUserHwidDeviceRequest) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *DeleteUserHwidDeviceRequest) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("userUuid")
|
|
json.EncodeUUID(e, s.UserUuid)
|
|
}
|
|
{
|
|
e.FieldStart("hwid")
|
|
e.Str(s.Hwid)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfDeleteUserHwidDeviceRequest = [2]string{
|
|
0: "userUuid",
|
|
1: "hwid",
|
|
}
|
|
|
|
// Decode decodes DeleteUserHwidDeviceRequest from json.
|
|
func (s *DeleteUserHwidDeviceRequest) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode DeleteUserHwidDeviceRequest to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "userUuid":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := json.DecodeUUID(d)
|
|
s.UserUuid = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"userUuid\"")
|
|
}
|
|
case "hwid":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Hwid = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"hwid\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode DeleteUserHwidDeviceRequest")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000011,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfDeleteUserHwidDeviceRequest) {
|
|
name = jsonFieldsNameOfDeleteUserHwidDeviceRequest[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *DeleteUserHwidDeviceRequest) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *DeleteUserHwidDeviceRequest) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *Device) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *Device) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("hwid")
|
|
e.Str(s.Hwid)
|
|
}
|
|
{
|
|
e.FieldStart("userId")
|
|
e.Float64(s.UserId)
|
|
}
|
|
{
|
|
e.FieldStart("platform")
|
|
s.Platform.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("osVersion")
|
|
s.OsVersion.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("deviceModel")
|
|
s.DeviceModel.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("userAgent")
|
|
s.UserAgent.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("requestIp")
|
|
s.RequestIp.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("createdAt")
|
|
json.EncodeDateTime(e, s.CreatedAt)
|
|
}
|
|
{
|
|
e.FieldStart("updatedAt")
|
|
json.EncodeDateTime(e, s.UpdatedAt)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfDevice = [9]string{
|
|
0: "hwid",
|
|
1: "userId",
|
|
2: "platform",
|
|
3: "osVersion",
|
|
4: "deviceModel",
|
|
5: "userAgent",
|
|
6: "requestIp",
|
|
7: "createdAt",
|
|
8: "updatedAt",
|
|
}
|
|
|
|
// Decode decodes Device from json.
|
|
func (s *Device) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode Device to nil")
|
|
}
|
|
var requiredBitSet [2]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "hwid":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Hwid = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"hwid\"")
|
|
}
|
|
case "userId":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.UserId = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"userId\"")
|
|
}
|
|
case "platform":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
if err := s.Platform.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"platform\"")
|
|
}
|
|
case "osVersion":
|
|
requiredBitSet[0] |= 1 << 3
|
|
if err := func() error {
|
|
if err := s.OsVersion.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"osVersion\"")
|
|
}
|
|
case "deviceModel":
|
|
requiredBitSet[0] |= 1 << 4
|
|
if err := func() error {
|
|
if err := s.DeviceModel.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"deviceModel\"")
|
|
}
|
|
case "userAgent":
|
|
requiredBitSet[0] |= 1 << 5
|
|
if err := func() error {
|
|
if err := s.UserAgent.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"userAgent\"")
|
|
}
|
|
case "requestIp":
|
|
requiredBitSet[0] |= 1 << 6
|
|
if err := func() error {
|
|
if err := s.RequestIp.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"requestIp\"")
|
|
}
|
|
case "createdAt":
|
|
requiredBitSet[0] |= 1 << 7
|
|
if err := func() error {
|
|
v, err := json.DecodeDateTime(d)
|
|
s.CreatedAt = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"createdAt\"")
|
|
}
|
|
case "updatedAt":
|
|
requiredBitSet[1] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := json.DecodeDateTime(d)
|
|
s.UpdatedAt = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"updatedAt\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode Device")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [2]uint8{
|
|
0b11111111,
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfDevice) {
|
|
name = jsonFieldsNameOfDevice[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *Device) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *Device) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *DropConnectionsRequest) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *DropConnectionsRequest) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("dropBy")
|
|
s.DropBy.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("targetNodes")
|
|
s.TargetNodes.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfDropConnectionsRequest = [2]string{
|
|
0: "dropBy",
|
|
1: "targetNodes",
|
|
}
|
|
|
|
// Decode decodes DropConnectionsRequest from json.
|
|
func (s *DropConnectionsRequest) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode DropConnectionsRequest to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "dropBy":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.DropBy.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"dropBy\"")
|
|
}
|
|
case "targetNodes":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
if err := s.TargetNodes.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"targetNodes\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode DropConnectionsRequest")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000011,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfDropConnectionsRequest) {
|
|
name = jsonFieldsNameOfDropConnectionsRequest[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *DropConnectionsRequest) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *DropConnectionsRequest) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes DropConnectionsRequestDropBy as json.
|
|
func (s DropConnectionsRequestDropBy) Encode(e *jx.Encoder) {
|
|
switch s.Type {
|
|
case DropConnectionsRequestDropBy0DropConnectionsRequestDropBy:
|
|
s.DropConnectionsRequestDropBy0.Encode(e)
|
|
case DropConnectionsRequestDropBy1DropConnectionsRequestDropBy:
|
|
s.DropConnectionsRequestDropBy1.Encode(e)
|
|
}
|
|
}
|
|
|
|
func (s DropConnectionsRequestDropBy) encodeFields(e *jx.Encoder) {
|
|
switch s.Type {
|
|
case DropConnectionsRequestDropBy0DropConnectionsRequestDropBy:
|
|
s.DropConnectionsRequestDropBy0.encodeFields(e)
|
|
case DropConnectionsRequestDropBy1DropConnectionsRequestDropBy:
|
|
s.DropConnectionsRequestDropBy1.encodeFields(e)
|
|
}
|
|
}
|
|
|
|
// Decode decodes DropConnectionsRequestDropBy from json.
|
|
func (s *DropConnectionsRequestDropBy) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode DropConnectionsRequestDropBy to nil")
|
|
}
|
|
// Sum type fields.
|
|
if typ := d.Next(); typ != jx.Object {
|
|
return errors.Errorf("unexpected json type %q", typ)
|
|
}
|
|
|
|
var found bool
|
|
if err := d.Capture(func(d *jx.Decoder) error {
|
|
return d.ObjBytes(func(d *jx.Decoder, key []byte) error {
|
|
switch string(key) {
|
|
case "ipAddresses":
|
|
// Type-based discrimination: check if field has expected JSON type
|
|
if typ := d.Next(); typ != jx.Array {
|
|
// Field exists but has wrong type, not a match for this variant
|
|
return d.Skip()
|
|
}
|
|
match := DropConnectionsRequestDropBy1DropConnectionsRequestDropBy
|
|
if found && s.Type != match {
|
|
s.Type = ""
|
|
return errors.Errorf("multiple oneOf matches: (%v, %v)", s.Type, match)
|
|
}
|
|
found = true
|
|
s.Type = match
|
|
case "userUuids":
|
|
// Type-based discrimination: check if field has expected JSON type
|
|
if typ := d.Next(); typ != jx.Array {
|
|
// Field exists but has wrong type, not a match for this variant
|
|
return d.Skip()
|
|
}
|
|
match := DropConnectionsRequestDropBy0DropConnectionsRequestDropBy
|
|
if found && s.Type != match {
|
|
s.Type = ""
|
|
return errors.Errorf("multiple oneOf matches: (%v, %v)", s.Type, match)
|
|
}
|
|
found = true
|
|
s.Type = match
|
|
case "by":
|
|
// Value-based discrimination: check enum value
|
|
if typ := d.Next(); typ != jx.String {
|
|
return d.Skip()
|
|
}
|
|
value, err := d.StrBytes()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
switch string(value) {
|
|
case "ipAddresses":
|
|
match := DropConnectionsRequestDropBy1DropConnectionsRequestDropBy
|
|
if found && s.Type != match {
|
|
s.Type = ""
|
|
return errors.Errorf("multiple oneOf matches: (%v, %v)", s.Type, match)
|
|
}
|
|
found = true
|
|
s.Type = match
|
|
case "userUuids":
|
|
match := DropConnectionsRequestDropBy0DropConnectionsRequestDropBy
|
|
if found && s.Type != match {
|
|
s.Type = ""
|
|
return errors.Errorf("multiple oneOf matches: (%v, %v)", s.Type, match)
|
|
}
|
|
found = true
|
|
s.Type = match
|
|
default:
|
|
// Unknown enum value, ignore and continue
|
|
}
|
|
return nil
|
|
}
|
|
return d.Skip()
|
|
})
|
|
}); err != nil {
|
|
return errors.Wrap(err, "capture")
|
|
}
|
|
if !found {
|
|
return errors.New("unable to detect sum type variant")
|
|
}
|
|
switch s.Type {
|
|
case DropConnectionsRequestDropBy0DropConnectionsRequestDropBy:
|
|
if err := s.DropConnectionsRequestDropBy0.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
case DropConnectionsRequestDropBy1DropConnectionsRequestDropBy:
|
|
if err := s.DropConnectionsRequestDropBy1.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
default:
|
|
return errors.Errorf("inferred invalid type: %s", s.Type)
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s DropConnectionsRequestDropBy) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *DropConnectionsRequestDropBy) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *DropConnectionsRequestDropBy0) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *DropConnectionsRequestDropBy0) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("by")
|
|
s.By.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("userUuids")
|
|
e.ArrStart()
|
|
for _, elem := range s.UserUuids {
|
|
json.EncodeUUID(e, elem)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfDropConnectionsRequestDropBy0 = [2]string{
|
|
0: "by",
|
|
1: "userUuids",
|
|
}
|
|
|
|
// Decode decodes DropConnectionsRequestDropBy0 from json.
|
|
func (s *DropConnectionsRequestDropBy0) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode DropConnectionsRequestDropBy0 to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "by":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.By.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"by\"")
|
|
}
|
|
case "userUuids":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
s.UserUuids = make([]uuid.UUID, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem uuid.UUID
|
|
v, err := json.DecodeUUID(d)
|
|
elem = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
s.UserUuids = append(s.UserUuids, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"userUuids\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode DropConnectionsRequestDropBy0")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000011,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfDropConnectionsRequestDropBy0) {
|
|
name = jsonFieldsNameOfDropConnectionsRequestDropBy0[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *DropConnectionsRequestDropBy0) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *DropConnectionsRequestDropBy0) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes DropConnectionsRequestDropBy0By as json.
|
|
func (s DropConnectionsRequestDropBy0By) Encode(e *jx.Encoder) {
|
|
e.Str(string(s))
|
|
}
|
|
|
|
// Decode decodes DropConnectionsRequestDropBy0By from json.
|
|
func (s *DropConnectionsRequestDropBy0By) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode DropConnectionsRequestDropBy0By to nil")
|
|
}
|
|
v, err := d.StrBytes()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
// Try to use constant string.
|
|
switch DropConnectionsRequestDropBy0By(v) {
|
|
case DropConnectionsRequestDropBy0ByUserUuids:
|
|
*s = DropConnectionsRequestDropBy0ByUserUuids
|
|
default:
|
|
*s = DropConnectionsRequestDropBy0By(v)
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s DropConnectionsRequestDropBy0By) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *DropConnectionsRequestDropBy0By) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *DropConnectionsRequestDropBy1) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *DropConnectionsRequestDropBy1) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("by")
|
|
s.By.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("ipAddresses")
|
|
e.ArrStart()
|
|
for _, elem := range s.IpAddresses {
|
|
e.Str(elem)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfDropConnectionsRequestDropBy1 = [2]string{
|
|
0: "by",
|
|
1: "ipAddresses",
|
|
}
|
|
|
|
// Decode decodes DropConnectionsRequestDropBy1 from json.
|
|
func (s *DropConnectionsRequestDropBy1) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode DropConnectionsRequestDropBy1 to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "by":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.By.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"by\"")
|
|
}
|
|
case "ipAddresses":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
s.IpAddresses = make([]string, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem string
|
|
v, err := d.Str()
|
|
elem = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
s.IpAddresses = append(s.IpAddresses, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"ipAddresses\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode DropConnectionsRequestDropBy1")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000011,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfDropConnectionsRequestDropBy1) {
|
|
name = jsonFieldsNameOfDropConnectionsRequestDropBy1[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *DropConnectionsRequestDropBy1) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *DropConnectionsRequestDropBy1) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes DropConnectionsRequestDropBy1By as json.
|
|
func (s DropConnectionsRequestDropBy1By) Encode(e *jx.Encoder) {
|
|
e.Str(string(s))
|
|
}
|
|
|
|
// Decode decodes DropConnectionsRequestDropBy1By from json.
|
|
func (s *DropConnectionsRequestDropBy1By) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode DropConnectionsRequestDropBy1By to nil")
|
|
}
|
|
v, err := d.StrBytes()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
// Try to use constant string.
|
|
switch DropConnectionsRequestDropBy1By(v) {
|
|
case DropConnectionsRequestDropBy1ByIpAddresses:
|
|
*s = DropConnectionsRequestDropBy1ByIpAddresses
|
|
default:
|
|
*s = DropConnectionsRequestDropBy1By(v)
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s DropConnectionsRequestDropBy1By) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *DropConnectionsRequestDropBy1By) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes DropConnectionsRequestTargetNodes as json.
|
|
func (s DropConnectionsRequestTargetNodes) Encode(e *jx.Encoder) {
|
|
switch s.Type {
|
|
case DropConnectionsRequestTargetNodes0DropConnectionsRequestTargetNodes:
|
|
s.DropConnectionsRequestTargetNodes0.Encode(e)
|
|
case DropConnectionsRequestTargetNodes1DropConnectionsRequestTargetNodes:
|
|
s.DropConnectionsRequestTargetNodes1.Encode(e)
|
|
}
|
|
}
|
|
|
|
func (s DropConnectionsRequestTargetNodes) encodeFields(e *jx.Encoder) {
|
|
switch s.Type {
|
|
case DropConnectionsRequestTargetNodes0DropConnectionsRequestTargetNodes:
|
|
s.DropConnectionsRequestTargetNodes0.encodeFields(e)
|
|
case DropConnectionsRequestTargetNodes1DropConnectionsRequestTargetNodes:
|
|
s.DropConnectionsRequestTargetNodes1.encodeFields(e)
|
|
}
|
|
}
|
|
|
|
// Decode decodes DropConnectionsRequestTargetNodes from json.
|
|
func (s *DropConnectionsRequestTargetNodes) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode DropConnectionsRequestTargetNodes to nil")
|
|
}
|
|
// Sum type fields.
|
|
if typ := d.Next(); typ != jx.Object {
|
|
return errors.Errorf("unexpected json type %q", typ)
|
|
}
|
|
|
|
var found bool
|
|
if err := d.Capture(func(d *jx.Decoder) error {
|
|
return d.ObjBytes(func(d *jx.Decoder, key []byte) error {
|
|
switch string(key) {
|
|
case "nodeUuids":
|
|
// Type-based discrimination: check if field has expected JSON type
|
|
if typ := d.Next(); typ != jx.Array {
|
|
// Field exists but has wrong type, not a match for this variant
|
|
return d.Skip()
|
|
}
|
|
match := DropConnectionsRequestTargetNodes1DropConnectionsRequestTargetNodes
|
|
if found && s.Type != match {
|
|
s.Type = ""
|
|
return errors.Errorf("multiple oneOf matches: (%v, %v)", s.Type, match)
|
|
}
|
|
found = true
|
|
s.Type = match
|
|
case "target":
|
|
// Value-based discrimination: check enum value
|
|
if typ := d.Next(); typ != jx.String {
|
|
return d.Skip()
|
|
}
|
|
value, err := d.StrBytes()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
switch string(value) {
|
|
case "allNodes":
|
|
match := DropConnectionsRequestTargetNodes0DropConnectionsRequestTargetNodes
|
|
if found && s.Type != match {
|
|
s.Type = ""
|
|
return errors.Errorf("multiple oneOf matches: (%v, %v)", s.Type, match)
|
|
}
|
|
found = true
|
|
s.Type = match
|
|
case "specificNodes":
|
|
match := DropConnectionsRequestTargetNodes1DropConnectionsRequestTargetNodes
|
|
if found && s.Type != match {
|
|
s.Type = ""
|
|
return errors.Errorf("multiple oneOf matches: (%v, %v)", s.Type, match)
|
|
}
|
|
found = true
|
|
s.Type = match
|
|
default:
|
|
// Unknown enum value, ignore and continue
|
|
}
|
|
return nil
|
|
}
|
|
return d.Skip()
|
|
})
|
|
}); err != nil {
|
|
return errors.Wrap(err, "capture")
|
|
}
|
|
if !found {
|
|
return errors.New("unable to detect sum type variant")
|
|
}
|
|
switch s.Type {
|
|
case DropConnectionsRequestTargetNodes0DropConnectionsRequestTargetNodes:
|
|
if err := s.DropConnectionsRequestTargetNodes0.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
case DropConnectionsRequestTargetNodes1DropConnectionsRequestTargetNodes:
|
|
if err := s.DropConnectionsRequestTargetNodes1.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
default:
|
|
return errors.Errorf("inferred invalid type: %s", s.Type)
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s DropConnectionsRequestTargetNodes) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *DropConnectionsRequestTargetNodes) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *DropConnectionsRequestTargetNodes0) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *DropConnectionsRequestTargetNodes0) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("target")
|
|
s.Target.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfDropConnectionsRequestTargetNodes0 = [1]string{
|
|
0: "target",
|
|
}
|
|
|
|
// Decode decodes DropConnectionsRequestTargetNodes0 from json.
|
|
func (s *DropConnectionsRequestTargetNodes0) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode DropConnectionsRequestTargetNodes0 to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "target":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Target.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"target\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode DropConnectionsRequestTargetNodes0")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfDropConnectionsRequestTargetNodes0) {
|
|
name = jsonFieldsNameOfDropConnectionsRequestTargetNodes0[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *DropConnectionsRequestTargetNodes0) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *DropConnectionsRequestTargetNodes0) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes DropConnectionsRequestTargetNodes0Target as json.
|
|
func (s DropConnectionsRequestTargetNodes0Target) Encode(e *jx.Encoder) {
|
|
e.Str(string(s))
|
|
}
|
|
|
|
// Decode decodes DropConnectionsRequestTargetNodes0Target from json.
|
|
func (s *DropConnectionsRequestTargetNodes0Target) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode DropConnectionsRequestTargetNodes0Target to nil")
|
|
}
|
|
v, err := d.StrBytes()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
// Try to use constant string.
|
|
switch DropConnectionsRequestTargetNodes0Target(v) {
|
|
case DropConnectionsRequestTargetNodes0TargetAllNodes:
|
|
*s = DropConnectionsRequestTargetNodes0TargetAllNodes
|
|
default:
|
|
*s = DropConnectionsRequestTargetNodes0Target(v)
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s DropConnectionsRequestTargetNodes0Target) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *DropConnectionsRequestTargetNodes0Target) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *DropConnectionsRequestTargetNodes1) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *DropConnectionsRequestTargetNodes1) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("target")
|
|
s.Target.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("nodeUuids")
|
|
e.ArrStart()
|
|
for _, elem := range s.NodeUuids {
|
|
json.EncodeUUID(e, elem)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfDropConnectionsRequestTargetNodes1 = [2]string{
|
|
0: "target",
|
|
1: "nodeUuids",
|
|
}
|
|
|
|
// Decode decodes DropConnectionsRequestTargetNodes1 from json.
|
|
func (s *DropConnectionsRequestTargetNodes1) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode DropConnectionsRequestTargetNodes1 to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "target":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Target.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"target\"")
|
|
}
|
|
case "nodeUuids":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
s.NodeUuids = make([]uuid.UUID, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem uuid.UUID
|
|
v, err := json.DecodeUUID(d)
|
|
elem = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
s.NodeUuids = append(s.NodeUuids, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"nodeUuids\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode DropConnectionsRequestTargetNodes1")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000011,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfDropConnectionsRequestTargetNodes1) {
|
|
name = jsonFieldsNameOfDropConnectionsRequestTargetNodes1[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *DropConnectionsRequestTargetNodes1) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *DropConnectionsRequestTargetNodes1) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes DropConnectionsRequestTargetNodes1Target as json.
|
|
func (s DropConnectionsRequestTargetNodes1Target) Encode(e *jx.Encoder) {
|
|
e.Str(string(s))
|
|
}
|
|
|
|
// Decode decodes DropConnectionsRequestTargetNodes1Target from json.
|
|
func (s *DropConnectionsRequestTargetNodes1Target) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode DropConnectionsRequestTargetNodes1Target to nil")
|
|
}
|
|
v, err := d.StrBytes()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
// Try to use constant string.
|
|
switch DropConnectionsRequestTargetNodes1Target(v) {
|
|
case DropConnectionsRequestTargetNodes1TargetSpecificNodes:
|
|
*s = DropConnectionsRequestTargetNodes1TargetSpecificNodes
|
|
default:
|
|
*s = DropConnectionsRequestTargetNodes1Target(v)
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s DropConnectionsRequestTargetNodes1Target) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *DropConnectionsRequestTargetNodes1Target) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *EncryptionItem) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *EncryptionItem) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("method")
|
|
s.Method.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("key")
|
|
e.Str(s.Key)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfEncryptionItem = [2]string{
|
|
0: "method",
|
|
1: "key",
|
|
}
|
|
|
|
// Decode decodes EncryptionItem from json.
|
|
func (s *EncryptionItem) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode EncryptionItem to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "method":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Method.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"method\"")
|
|
}
|
|
case "key":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Key = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"key\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode EncryptionItem")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000011,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfEncryptionItem) {
|
|
name = jsonFieldsNameOfEncryptionItem[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *EncryptionItem) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *EncryptionItem) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes EncryptionItemMethod as json.
|
|
func (s EncryptionItemMethod) Encode(e *jx.Encoder) {
|
|
e.Str(string(s))
|
|
}
|
|
|
|
// Decode decodes EncryptionItemMethod from json.
|
|
func (s *EncryptionItemMethod) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode EncryptionItemMethod to nil")
|
|
}
|
|
v, err := d.StrBytes()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
// Try to use constant string.
|
|
switch EncryptionItemMethod(v) {
|
|
case EncryptionItemMethodAge1:
|
|
*s = EncryptionItemMethodAge1
|
|
case EncryptionItemMethodAge1pq1:
|
|
*s = EncryptionItemMethodAge1pq1
|
|
default:
|
|
*s = EncryptionItemMethod(v)
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s EncryptionItemMethod) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *EncryptionItemMethod) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *EventResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *EventResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("response")
|
|
s.Response.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfEventResponse = [1]string{
|
|
0: "response",
|
|
}
|
|
|
|
// Decode decodes EventResponse from json.
|
|
func (s *EventResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode EventResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "response":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Response.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"response\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode EventResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfEventResponse) {
|
|
name = jsonFieldsNameOfEventResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *EventResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *EventResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *EventResponseResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *EventResponseResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("eventSent")
|
|
e.Bool(s.EventSent)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfEventResponseResponse = [1]string{
|
|
0: "eventSent",
|
|
}
|
|
|
|
// Decode decodes EventResponseResponse from json.
|
|
func (s *EventResponseResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode EventResponseResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "eventSent":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Bool()
|
|
s.EventSent = bool(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"eventSent\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode EventResponseResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfEventResponseResponse) {
|
|
name = jsonFieldsNameOfEventResponseResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *EventResponseResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *EventResponseResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *ExternalSquad) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *ExternalSquad) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("uuid")
|
|
json.EncodeUUID(e, s.UUID)
|
|
}
|
|
{
|
|
e.FieldStart("viewPosition")
|
|
e.Int(s.ViewPosition)
|
|
}
|
|
{
|
|
e.FieldStart("name")
|
|
e.Str(s.Name)
|
|
}
|
|
{
|
|
e.FieldStart("info")
|
|
s.Info.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("templates")
|
|
e.ArrStart()
|
|
for _, elem := range s.Templates {
|
|
elem.Encode(e)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
{
|
|
e.FieldStart("subscriptionSettings")
|
|
s.SubscriptionSettings.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("hostOverrides")
|
|
s.HostOverrides.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("responseHeaders")
|
|
s.ResponseHeaders.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("hwidSettings")
|
|
s.HwidSettings.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("customRemarks")
|
|
s.CustomRemarks.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("subpageConfigUuid")
|
|
s.SubpageConfigUuid.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("createdAt")
|
|
json.EncodeDateTime(e, s.CreatedAt)
|
|
}
|
|
{
|
|
e.FieldStart("updatedAt")
|
|
json.EncodeDateTime(e, s.UpdatedAt)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfExternalSquad = [13]string{
|
|
0: "uuid",
|
|
1: "viewPosition",
|
|
2: "name",
|
|
3: "info",
|
|
4: "templates",
|
|
5: "subscriptionSettings",
|
|
6: "hostOverrides",
|
|
7: "responseHeaders",
|
|
8: "hwidSettings",
|
|
9: "customRemarks",
|
|
10: "subpageConfigUuid",
|
|
11: "createdAt",
|
|
12: "updatedAt",
|
|
}
|
|
|
|
// Decode decodes ExternalSquad from json.
|
|
func (s *ExternalSquad) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode ExternalSquad to nil")
|
|
}
|
|
var requiredBitSet [2]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "uuid":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := json.DecodeUUID(d)
|
|
s.UUID = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"uuid\"")
|
|
}
|
|
case "viewPosition":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Int()
|
|
s.ViewPosition = int(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"viewPosition\"")
|
|
}
|
|
case "name":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Name = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"name\"")
|
|
}
|
|
case "info":
|
|
requiredBitSet[0] |= 1 << 3
|
|
if err := func() error {
|
|
if err := s.Info.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"info\"")
|
|
}
|
|
case "templates":
|
|
requiredBitSet[0] |= 1 << 4
|
|
if err := func() error {
|
|
s.Templates = make([]TemplateRef, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem TemplateRef
|
|
if err := elem.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
s.Templates = append(s.Templates, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"templates\"")
|
|
}
|
|
case "subscriptionSettings":
|
|
requiredBitSet[0] |= 1 << 5
|
|
if err := func() error {
|
|
if err := s.SubscriptionSettings.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"subscriptionSettings\"")
|
|
}
|
|
case "hostOverrides":
|
|
requiredBitSet[0] |= 1 << 6
|
|
if err := func() error {
|
|
if err := s.HostOverrides.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"hostOverrides\"")
|
|
}
|
|
case "responseHeaders":
|
|
requiredBitSet[0] |= 1 << 7
|
|
if err := func() error {
|
|
if err := s.ResponseHeaders.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"responseHeaders\"")
|
|
}
|
|
case "hwidSettings":
|
|
requiredBitSet[1] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.HwidSettings.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"hwidSettings\"")
|
|
}
|
|
case "customRemarks":
|
|
requiredBitSet[1] |= 1 << 1
|
|
if err := func() error {
|
|
if err := s.CustomRemarks.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"customRemarks\"")
|
|
}
|
|
case "subpageConfigUuid":
|
|
requiredBitSet[1] |= 1 << 2
|
|
if err := func() error {
|
|
if err := s.SubpageConfigUuid.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"subpageConfigUuid\"")
|
|
}
|
|
case "createdAt":
|
|
requiredBitSet[1] |= 1 << 3
|
|
if err := func() error {
|
|
v, err := json.DecodeDateTime(d)
|
|
s.CreatedAt = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"createdAt\"")
|
|
}
|
|
case "updatedAt":
|
|
requiredBitSet[1] |= 1 << 4
|
|
if err := func() error {
|
|
v, err := json.DecodeDateTime(d)
|
|
s.UpdatedAt = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"updatedAt\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode ExternalSquad")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [2]uint8{
|
|
0b11111111,
|
|
0b00011111,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfExternalSquad) {
|
|
name = jsonFieldsNameOfExternalSquad[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *ExternalSquad) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *ExternalSquad) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s ExternalSquadResponseHeaders) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields implements json.Marshaler.
|
|
func (s ExternalSquadResponseHeaders) encodeFields(e *jx.Encoder) {
|
|
for k, elem := range s {
|
|
e.FieldStart(k)
|
|
|
|
e.Str(elem)
|
|
}
|
|
}
|
|
|
|
// Decode decodes ExternalSquadResponseHeaders from json.
|
|
func (s *ExternalSquadResponseHeaders) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode ExternalSquadResponseHeaders to nil")
|
|
}
|
|
m := s.init()
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
var elem string
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
elem = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrapf(err, "decode field %q", k)
|
|
}
|
|
m[string(k)] = elem
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode ExternalSquadResponseHeaders")
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s ExternalSquadResponseHeaders) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *ExternalSquadResponseHeaders) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *ExternalSquadResponseResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *ExternalSquadResponseResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("response")
|
|
s.Response.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfExternalSquadResponseResponse = [1]string{
|
|
0: "response",
|
|
}
|
|
|
|
// Decode decodes ExternalSquadResponseResponse from json.
|
|
func (s *ExternalSquadResponseResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode ExternalSquadResponseResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "response":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Response.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"response\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode ExternalSquadResponseResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfExternalSquadResponseResponse) {
|
|
name = jsonFieldsNameOfExternalSquadResponseResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *ExternalSquadResponseResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *ExternalSquadResponseResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *ExternalSquadsResponInfoItem) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *ExternalSquadsResponInfoItem) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("membersCount")
|
|
e.Float64(s.MembersCount)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfExternalSquadsResponInfoItem = [1]string{
|
|
0: "membersCount",
|
|
}
|
|
|
|
// Decode decodes ExternalSquadsResponInfoItem from json.
|
|
func (s *ExternalSquadsResponInfoItem) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode ExternalSquadsResponInfoItem to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "membersCount":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.MembersCount = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"membersCount\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode ExternalSquadsResponInfoItem")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfExternalSquadsResponInfoItem) {
|
|
name = jsonFieldsNameOfExternalSquadsResponInfoItem[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *ExternalSquadsResponInfoItem) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *ExternalSquadsResponInfoItem) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *ExternalSquadsResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *ExternalSquadsResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("response")
|
|
s.Response.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfExternalSquadsResponse = [1]string{
|
|
0: "response",
|
|
}
|
|
|
|
// Decode decodes ExternalSquadsResponse from json.
|
|
func (s *ExternalSquadsResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode ExternalSquadsResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "response":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Response.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"response\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode ExternalSquadsResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfExternalSquadsResponse) {
|
|
name = jsonFieldsNameOfExternalSquadsResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *ExternalSquadsResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *ExternalSquadsResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *ExternalSquadsResponseResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *ExternalSquadsResponseResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("total")
|
|
e.Float64(s.Total)
|
|
}
|
|
{
|
|
e.FieldStart("externalSquads")
|
|
e.ArrStart()
|
|
for _, elem := range s.ExternalSquads {
|
|
elem.Encode(e)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfExternalSquadsResponseResponse = [2]string{
|
|
0: "total",
|
|
1: "externalSquads",
|
|
}
|
|
|
|
// Decode decodes ExternalSquadsResponseResponse from json.
|
|
func (s *ExternalSquadsResponseResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode ExternalSquadsResponseResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "total":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.Total = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"total\"")
|
|
}
|
|
case "externalSquads":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
s.ExternalSquads = make([]ExternalSquad, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem ExternalSquad
|
|
if err := elem.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
s.ExternalSquads = append(s.ExternalSquads, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"externalSquads\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode ExternalSquadsResponseResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000011,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfExternalSquadsResponseResponse) {
|
|
name = jsonFieldsNameOfExternalSquadsResponseResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *ExternalSquadsResponseResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *ExternalSquadsResponseResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *FetchIpsResultResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *FetchIpsResultResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("response")
|
|
s.Response.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfFetchIpsResultResponse = [1]string{
|
|
0: "response",
|
|
}
|
|
|
|
// Decode decodes FetchIpsResultResponse from json.
|
|
func (s *FetchIpsResultResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode FetchIpsResultResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "response":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Response.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"response\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode FetchIpsResultResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfFetchIpsResultResponse) {
|
|
name = jsonFieldsNameOfFetchIpsResultResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *FetchIpsResultResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *FetchIpsResultResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *FetchIpsResultResponseResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *FetchIpsResultResponseResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("isCompleted")
|
|
e.Bool(s.IsCompleted)
|
|
}
|
|
{
|
|
e.FieldStart("isFailed")
|
|
e.Bool(s.IsFailed)
|
|
}
|
|
{
|
|
e.FieldStart("progress")
|
|
s.Progress.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("result")
|
|
s.Result.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfFetchIpsResultResponseResponse = [4]string{
|
|
0: "isCompleted",
|
|
1: "isFailed",
|
|
2: "progress",
|
|
3: "result",
|
|
}
|
|
|
|
// Decode decodes FetchIpsResultResponseResponse from json.
|
|
func (s *FetchIpsResultResponseResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode FetchIpsResultResponseResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "isCompleted":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Bool()
|
|
s.IsCompleted = bool(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"isCompleted\"")
|
|
}
|
|
case "isFailed":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Bool()
|
|
s.IsFailed = bool(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"isFailed\"")
|
|
}
|
|
case "progress":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
if err := s.Progress.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"progress\"")
|
|
}
|
|
case "result":
|
|
requiredBitSet[0] |= 1 << 3
|
|
if err := func() error {
|
|
if err := s.Result.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"result\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode FetchIpsResultResponseResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00001111,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfFetchIpsResultResponseResponse) {
|
|
name = jsonFieldsNameOfFetchIpsResultResponseResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *FetchIpsResultResponseResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *FetchIpsResultResponseResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *FetchIpsResultResponseResponseProgress) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *FetchIpsResultResponseResponseProgress) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("total")
|
|
e.Float64(s.Total)
|
|
}
|
|
{
|
|
e.FieldStart("completed")
|
|
e.Float64(s.Completed)
|
|
}
|
|
{
|
|
e.FieldStart("percent")
|
|
e.Float64(s.Percent)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfFetchIpsResultResponseResponseProgress = [3]string{
|
|
0: "total",
|
|
1: "completed",
|
|
2: "percent",
|
|
}
|
|
|
|
// Decode decodes FetchIpsResultResponseResponseProgress from json.
|
|
func (s *FetchIpsResultResponseResponseProgress) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode FetchIpsResultResponseResponseProgress to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "total":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.Total = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"total\"")
|
|
}
|
|
case "completed":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.Completed = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"completed\"")
|
|
}
|
|
case "percent":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.Percent = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"percent\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode FetchIpsResultResponseResponseProgress")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000111,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfFetchIpsResultResponseResponseProgress) {
|
|
name = jsonFieldsNameOfFetchIpsResultResponseResponseProgress[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *FetchIpsResultResponseResponseProgress) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *FetchIpsResultResponseResponseProgress) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *FetchIpsResultResponseResponseResult) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *FetchIpsResultResponseResponseResult) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("success")
|
|
e.Bool(s.Success)
|
|
}
|
|
{
|
|
e.FieldStart("userUuid")
|
|
json.EncodeUUID(e, s.UserUuid)
|
|
}
|
|
{
|
|
e.FieldStart("userId")
|
|
e.Str(s.UserId)
|
|
}
|
|
{
|
|
e.FieldStart("nodes")
|
|
e.ArrStart()
|
|
for _, elem := range s.Nodes {
|
|
elem.Encode(e)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfFetchIpsResultResponseResponseResult = [4]string{
|
|
0: "success",
|
|
1: "userUuid",
|
|
2: "userId",
|
|
3: "nodes",
|
|
}
|
|
|
|
// Decode decodes FetchIpsResultResponseResponseResult from json.
|
|
func (s *FetchIpsResultResponseResponseResult) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode FetchIpsResultResponseResponseResult to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "success":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Bool()
|
|
s.Success = bool(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"success\"")
|
|
}
|
|
case "userUuid":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := json.DecodeUUID(d)
|
|
s.UserUuid = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"userUuid\"")
|
|
}
|
|
case "userId":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.UserId = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"userId\"")
|
|
}
|
|
case "nodes":
|
|
requiredBitSet[0] |= 1 << 3
|
|
if err := func() error {
|
|
s.Nodes = make([]FetchIpsResultResponseResponseResultNodesItem, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem FetchIpsResultResponseResponseResultNodesItem
|
|
if err := elem.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
s.Nodes = append(s.Nodes, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"nodes\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode FetchIpsResultResponseResponseResult")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00001111,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfFetchIpsResultResponseResponseResult) {
|
|
name = jsonFieldsNameOfFetchIpsResultResponseResponseResult[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *FetchIpsResultResponseResponseResult) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *FetchIpsResultResponseResponseResult) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *FetchIpsResultResponseResponseResultNodesItem) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *FetchIpsResultResponseResponseResultNodesItem) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("nodeUuid")
|
|
json.EncodeUUID(e, s.NodeUuid)
|
|
}
|
|
{
|
|
e.FieldStart("nodeName")
|
|
e.Str(s.NodeName)
|
|
}
|
|
{
|
|
e.FieldStart("countryCode")
|
|
e.Str(s.CountryCode)
|
|
}
|
|
{
|
|
e.FieldStart("ips")
|
|
e.ArrStart()
|
|
for _, elem := range s.Ips {
|
|
elem.Encode(e)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfFetchIpsResultResponseResponseResultNodesItem = [4]string{
|
|
0: "nodeUuid",
|
|
1: "nodeName",
|
|
2: "countryCode",
|
|
3: "ips",
|
|
}
|
|
|
|
// Decode decodes FetchIpsResultResponseResponseResultNodesItem from json.
|
|
func (s *FetchIpsResultResponseResponseResultNodesItem) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode FetchIpsResultResponseResponseResultNodesItem to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "nodeUuid":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := json.DecodeUUID(d)
|
|
s.NodeUuid = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"nodeUuid\"")
|
|
}
|
|
case "nodeName":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.NodeName = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"nodeName\"")
|
|
}
|
|
case "countryCode":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.CountryCode = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"countryCode\"")
|
|
}
|
|
case "ips":
|
|
requiredBitSet[0] |= 1 << 3
|
|
if err := func() error {
|
|
s.Ips = make([]Ips, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem Ips
|
|
if err := elem.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
s.Ips = append(s.Ips, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"ips\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode FetchIpsResultResponseResponseResultNodesItem")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00001111,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfFetchIpsResultResponseResponseResultNodesItem) {
|
|
name = jsonFieldsNameOfFetchIpsResultResponseResponseResultNodesItem[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *FetchIpsResultResponseResponseResultNodesItem) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *FetchIpsResultResponseResponseResultNodesItem) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *FetchUsersIpsResultResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *FetchUsersIpsResultResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("response")
|
|
s.Response.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfFetchUsersIpsResultResponse = [1]string{
|
|
0: "response",
|
|
}
|
|
|
|
// Decode decodes FetchUsersIpsResultResponse from json.
|
|
func (s *FetchUsersIpsResultResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode FetchUsersIpsResultResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "response":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Response.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"response\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode FetchUsersIpsResultResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfFetchUsersIpsResultResponse) {
|
|
name = jsonFieldsNameOfFetchUsersIpsResultResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *FetchUsersIpsResultResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *FetchUsersIpsResultResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *FetchUsersIpsResultResponseResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *FetchUsersIpsResultResponseResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("isCompleted")
|
|
e.Bool(s.IsCompleted)
|
|
}
|
|
{
|
|
e.FieldStart("isFailed")
|
|
e.Bool(s.IsFailed)
|
|
}
|
|
{
|
|
e.FieldStart("result")
|
|
s.Result.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfFetchUsersIpsResultResponseResponse = [3]string{
|
|
0: "isCompleted",
|
|
1: "isFailed",
|
|
2: "result",
|
|
}
|
|
|
|
// Decode decodes FetchUsersIpsResultResponseResponse from json.
|
|
func (s *FetchUsersIpsResultResponseResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode FetchUsersIpsResultResponseResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "isCompleted":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Bool()
|
|
s.IsCompleted = bool(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"isCompleted\"")
|
|
}
|
|
case "isFailed":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Bool()
|
|
s.IsFailed = bool(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"isFailed\"")
|
|
}
|
|
case "result":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
if err := s.Result.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"result\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode FetchUsersIpsResultResponseResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000111,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfFetchUsersIpsResultResponseResponse) {
|
|
name = jsonFieldsNameOfFetchUsersIpsResultResponseResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *FetchUsersIpsResultResponseResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *FetchUsersIpsResultResponseResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *FetchUsersIpsResultResponseResponseResult) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *FetchUsersIpsResultResponseResponseResult) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("success")
|
|
e.Bool(s.Success)
|
|
}
|
|
{
|
|
e.FieldStart("nodeUuid")
|
|
json.EncodeUUID(e, s.NodeUuid)
|
|
}
|
|
{
|
|
e.FieldStart("users")
|
|
e.ArrStart()
|
|
for _, elem := range s.Users {
|
|
elem.Encode(e)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfFetchUsersIpsResultResponseResponseResult = [3]string{
|
|
0: "success",
|
|
1: "nodeUuid",
|
|
2: "users",
|
|
}
|
|
|
|
// Decode decodes FetchUsersIpsResultResponseResponseResult from json.
|
|
func (s *FetchUsersIpsResultResponseResponseResult) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode FetchUsersIpsResultResponseResponseResult to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "success":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Bool()
|
|
s.Success = bool(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"success\"")
|
|
}
|
|
case "nodeUuid":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := json.DecodeUUID(d)
|
|
s.NodeUuid = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"nodeUuid\"")
|
|
}
|
|
case "users":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
s.Users = make([]FetchUsersIpsResultResponseResponseResultUsersItem, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem FetchUsersIpsResultResponseResponseResultUsersItem
|
|
if err := elem.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
s.Users = append(s.Users, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"users\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode FetchUsersIpsResultResponseResponseResult")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000111,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfFetchUsersIpsResultResponseResponseResult) {
|
|
name = jsonFieldsNameOfFetchUsersIpsResultResponseResponseResult[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *FetchUsersIpsResultResponseResponseResult) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *FetchUsersIpsResultResponseResponseResult) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *FetchUsersIpsResultResponseResponseResultUsersItem) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *FetchUsersIpsResultResponseResponseResultUsersItem) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("userId")
|
|
e.Str(s.UserId)
|
|
}
|
|
{
|
|
e.FieldStart("ips")
|
|
e.ArrStart()
|
|
for _, elem := range s.Ips {
|
|
elem.Encode(e)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfFetchUsersIpsResultResponseResponseResultUsersItem = [2]string{
|
|
0: "userId",
|
|
1: "ips",
|
|
}
|
|
|
|
// Decode decodes FetchUsersIpsResultResponseResponseResultUsersItem from json.
|
|
func (s *FetchUsersIpsResultResponseResponseResultUsersItem) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode FetchUsersIpsResultResponseResponseResultUsersItem to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "userId":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.UserId = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"userId\"")
|
|
}
|
|
case "ips":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
s.Ips = make([]Ips, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem Ips
|
|
if err := elem.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
s.Ips = append(s.Ips, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"ips\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode FetchUsersIpsResultResponseResponseResultUsersItem")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000011,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfFetchUsersIpsResultResponseResponseResultUsersItem) {
|
|
name = jsonFieldsNameOfFetchUsersIpsResultResponseResponseResultUsersItem[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *FetchUsersIpsResultResponseResponseResultUsersItem) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *FetchUsersIpsResultResponseResponseResultUsersItem) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *FindAllApiTokensResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *FindAllApiTokensResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("response")
|
|
s.Response.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfFindAllApiTokensResponse = [1]string{
|
|
0: "response",
|
|
}
|
|
|
|
// Decode decodes FindAllApiTokensResponse from json.
|
|
func (s *FindAllApiTokensResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode FindAllApiTokensResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "response":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Response.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"response\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode FindAllApiTokensResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfFindAllApiTokensResponse) {
|
|
name = jsonFieldsNameOfFindAllApiTokensResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *FindAllApiTokensResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *FindAllApiTokensResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *FindAllApiTokensResponseResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *FindAllApiTokensResponseResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("tokens")
|
|
e.ArrStart()
|
|
for _, elem := range s.Tokens {
|
|
elem.Encode(e)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
{
|
|
e.FieldStart("docs")
|
|
s.Docs.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfFindAllApiTokensResponseResponse = [2]string{
|
|
0: "tokens",
|
|
1: "docs",
|
|
}
|
|
|
|
// Decode decodes FindAllApiTokensResponseResponse from json.
|
|
func (s *FindAllApiTokensResponseResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode FindAllApiTokensResponseResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "tokens":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
s.Tokens = make([]FindAllApiTokensResponseResponseTokensItem, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem FindAllApiTokensResponseResponseTokensItem
|
|
if err := elem.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
s.Tokens = append(s.Tokens, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"tokens\"")
|
|
}
|
|
case "docs":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
if err := s.Docs.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"docs\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode FindAllApiTokensResponseResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000011,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfFindAllApiTokensResponseResponse) {
|
|
name = jsonFieldsNameOfFindAllApiTokensResponseResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *FindAllApiTokensResponseResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *FindAllApiTokensResponseResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *FindAllApiTokensResponseResponseDocs) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *FindAllApiTokensResponseResponseDocs) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("enabled")
|
|
e.Bool(s.Enabled)
|
|
}
|
|
{
|
|
e.FieldStart("scalarPath")
|
|
s.ScalarPath.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("swaggerPath")
|
|
s.SwaggerPath.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfFindAllApiTokensResponseResponseDocs = [3]string{
|
|
0: "enabled",
|
|
1: "scalarPath",
|
|
2: "swaggerPath",
|
|
}
|
|
|
|
// Decode decodes FindAllApiTokensResponseResponseDocs from json.
|
|
func (s *FindAllApiTokensResponseResponseDocs) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode FindAllApiTokensResponseResponseDocs to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "enabled":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Bool()
|
|
s.Enabled = bool(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"enabled\"")
|
|
}
|
|
case "scalarPath":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
if err := s.ScalarPath.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"scalarPath\"")
|
|
}
|
|
case "swaggerPath":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
if err := s.SwaggerPath.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"swaggerPath\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode FindAllApiTokensResponseResponseDocs")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000111,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfFindAllApiTokensResponseResponseDocs) {
|
|
name = jsonFieldsNameOfFindAllApiTokensResponseResponseDocs[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *FindAllApiTokensResponseResponseDocs) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *FindAllApiTokensResponseResponseDocs) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *FindAllApiTokensResponseResponseTokensItem) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *FindAllApiTokensResponseResponseTokensItem) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("uuid")
|
|
json.EncodeUUID(e, s.UUID)
|
|
}
|
|
{
|
|
e.FieldStart("name")
|
|
e.Str(s.Name)
|
|
}
|
|
{
|
|
e.FieldStart("expireAt")
|
|
json.EncodeDateTime(e, s.ExpireAt)
|
|
}
|
|
{
|
|
e.FieldStart("scopes")
|
|
e.ArrStart()
|
|
for _, elem := range s.Scopes {
|
|
e.Str(elem)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
{
|
|
e.FieldStart("createdAt")
|
|
json.EncodeDateTime(e, s.CreatedAt)
|
|
}
|
|
{
|
|
e.FieldStart("updatedAt")
|
|
json.EncodeDateTime(e, s.UpdatedAt)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfFindAllApiTokensResponseResponseTokensItem = [6]string{
|
|
0: "uuid",
|
|
1: "name",
|
|
2: "expireAt",
|
|
3: "scopes",
|
|
4: "createdAt",
|
|
5: "updatedAt",
|
|
}
|
|
|
|
// Decode decodes FindAllApiTokensResponseResponseTokensItem from json.
|
|
func (s *FindAllApiTokensResponseResponseTokensItem) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode FindAllApiTokensResponseResponseTokensItem to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "uuid":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := json.DecodeUUID(d)
|
|
s.UUID = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"uuid\"")
|
|
}
|
|
case "name":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Name = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"name\"")
|
|
}
|
|
case "expireAt":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
v, err := json.DecodeDateTime(d)
|
|
s.ExpireAt = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"expireAt\"")
|
|
}
|
|
case "scopes":
|
|
requiredBitSet[0] |= 1 << 3
|
|
if err := func() error {
|
|
s.Scopes = make([]string, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem string
|
|
v, err := d.Str()
|
|
elem = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
s.Scopes = append(s.Scopes, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"scopes\"")
|
|
}
|
|
case "createdAt":
|
|
requiredBitSet[0] |= 1 << 4
|
|
if err := func() error {
|
|
v, err := json.DecodeDateTime(d)
|
|
s.CreatedAt = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"createdAt\"")
|
|
}
|
|
case "updatedAt":
|
|
requiredBitSet[0] |= 1 << 5
|
|
if err := func() error {
|
|
v, err := json.DecodeDateTime(d)
|
|
s.UpdatedAt = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"updatedAt\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode FindAllApiTokensResponseResponseTokensItem")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00111111,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfFindAllApiTokensResponseResponseTokensItem) {
|
|
name = jsonFieldsNameOfFindAllApiTokensResponseResponseTokensItem[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *FindAllApiTokensResponseResponseTokensItem) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *FindAllApiTokensResponseResponseTokensItem) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *ForbiddenError) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *ForbiddenError) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("message")
|
|
e.Str(s.Message)
|
|
}
|
|
{
|
|
e.FieldStart("statusCode")
|
|
e.Float64(s.StatusCode)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfForbiddenError = [2]string{
|
|
0: "message",
|
|
1: "statusCode",
|
|
}
|
|
|
|
// Decode decodes ForbiddenError from json.
|
|
func (s *ForbiddenError) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode ForbiddenError to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "message":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Message = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"message\"")
|
|
}
|
|
case "statusCode":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.StatusCode = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"statusCode\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode ForbiddenError")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000011,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfForbiddenError) {
|
|
name = jsonFieldsNameOfForbiddenError[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *ForbiddenError) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *ForbiddenError) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GenerateX25519Response) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GenerateX25519Response) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("response")
|
|
s.Response.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGenerateX25519Response = [1]string{
|
|
0: "response",
|
|
}
|
|
|
|
// Decode decodes GenerateX25519Response from json.
|
|
func (s *GenerateX25519Response) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GenerateX25519Response to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "response":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Response.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"response\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GenerateX25519Response")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGenerateX25519Response) {
|
|
name = jsonFieldsNameOfGenerateX25519Response[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GenerateX25519Response) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GenerateX25519Response) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GenerateX25519ResponseResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GenerateX25519ResponseResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("keypairs")
|
|
e.ArrStart()
|
|
for _, elem := range s.Keypairs {
|
|
elem.Encode(e)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGenerateX25519ResponseResponse = [1]string{
|
|
0: "keypairs",
|
|
}
|
|
|
|
// Decode decodes GenerateX25519ResponseResponse from json.
|
|
func (s *GenerateX25519ResponseResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GenerateX25519ResponseResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "keypairs":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
s.Keypairs = make([]GenerateX25519ResponseResponseKeypairsItem, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem GenerateX25519ResponseResponseKeypairsItem
|
|
if err := elem.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
s.Keypairs = append(s.Keypairs, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"keypairs\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GenerateX25519ResponseResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGenerateX25519ResponseResponse) {
|
|
name = jsonFieldsNameOfGenerateX25519ResponseResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GenerateX25519ResponseResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GenerateX25519ResponseResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GenerateX25519ResponseResponseKeypairsItem) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GenerateX25519ResponseResponseKeypairsItem) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("publicKey")
|
|
e.Str(s.PublicKey)
|
|
}
|
|
{
|
|
e.FieldStart("privateKey")
|
|
e.Str(s.PrivateKey)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGenerateX25519ResponseResponseKeypairsItem = [2]string{
|
|
0: "publicKey",
|
|
1: "privateKey",
|
|
}
|
|
|
|
// Decode decodes GenerateX25519ResponseResponseKeypairsItem from json.
|
|
func (s *GenerateX25519ResponseResponseKeypairsItem) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GenerateX25519ResponseResponseKeypairsItem to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "publicKey":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.PublicKey = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"publicKey\"")
|
|
}
|
|
case "privateKey":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.PrivateKey = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"privateKey\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GenerateX25519ResponseResponseKeypairsItem")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000011,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGenerateX25519ResponseResponseKeypairsItem) {
|
|
name = jsonFieldsNameOfGenerateX25519ResponseResponseKeypairsItem[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GenerateX25519ResponseResponseKeypairsItem) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GenerateX25519ResponseResponseKeypairsItem) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *Generic) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *Generic) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("enabled")
|
|
e.Bool(s.Enabled)
|
|
}
|
|
{
|
|
e.FieldStart("clientId")
|
|
s.ClientId.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("clientSecret")
|
|
s.ClientSecret.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("withPkce")
|
|
e.Bool(s.WithPkce)
|
|
}
|
|
{
|
|
e.FieldStart("authorizationUrl")
|
|
s.AuthorizationUrl.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("tokenUrl")
|
|
s.TokenUrl.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("frontendDomain")
|
|
s.FrontendDomain.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("allowedEmails")
|
|
e.ArrStart()
|
|
for _, elem := range s.AllowedEmails {
|
|
e.Str(elem)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGeneric = [8]string{
|
|
0: "enabled",
|
|
1: "clientId",
|
|
2: "clientSecret",
|
|
3: "withPkce",
|
|
4: "authorizationUrl",
|
|
5: "tokenUrl",
|
|
6: "frontendDomain",
|
|
7: "allowedEmails",
|
|
}
|
|
|
|
// Decode decodes Generic from json.
|
|
func (s *Generic) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode Generic to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "enabled":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Bool()
|
|
s.Enabled = bool(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"enabled\"")
|
|
}
|
|
case "clientId":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
if err := s.ClientId.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"clientId\"")
|
|
}
|
|
case "clientSecret":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
if err := s.ClientSecret.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"clientSecret\"")
|
|
}
|
|
case "withPkce":
|
|
requiredBitSet[0] |= 1 << 3
|
|
if err := func() error {
|
|
v, err := d.Bool()
|
|
s.WithPkce = bool(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"withPkce\"")
|
|
}
|
|
case "authorizationUrl":
|
|
requiredBitSet[0] |= 1 << 4
|
|
if err := func() error {
|
|
if err := s.AuthorizationUrl.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"authorizationUrl\"")
|
|
}
|
|
case "tokenUrl":
|
|
requiredBitSet[0] |= 1 << 5
|
|
if err := func() error {
|
|
if err := s.TokenUrl.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"tokenUrl\"")
|
|
}
|
|
case "frontendDomain":
|
|
requiredBitSet[0] |= 1 << 6
|
|
if err := func() error {
|
|
if err := s.FrontendDomain.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"frontendDomain\"")
|
|
}
|
|
case "allowedEmails":
|
|
requiredBitSet[0] |= 1 << 7
|
|
if err := func() error {
|
|
s.AllowedEmails = make([]string, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem string
|
|
v, err := d.Str()
|
|
elem = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
s.AllowedEmails = append(s.AllowedEmails, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"allowedEmails\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode Generic")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b11111111,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGeneric) {
|
|
name = jsonFieldsNameOfGeneric[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *Generic) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *Generic) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GetAllHwidDevicesResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GetAllHwidDevicesResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("response")
|
|
s.Response.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGetAllHwidDevicesResponse = [1]string{
|
|
0: "response",
|
|
}
|
|
|
|
// Decode decodes GetAllHwidDevicesResponse from json.
|
|
func (s *GetAllHwidDevicesResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetAllHwidDevicesResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "response":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Response.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"response\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetAllHwidDevicesResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGetAllHwidDevicesResponse) {
|
|
name = jsonFieldsNameOfGetAllHwidDevicesResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GetAllHwidDevicesResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetAllHwidDevicesResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GetAllSubscriptionsResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GetAllSubscriptionsResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("response")
|
|
s.Response.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGetAllSubscriptionsResponse = [1]string{
|
|
0: "response",
|
|
}
|
|
|
|
// Decode decodes GetAllSubscriptionsResponse from json.
|
|
func (s *GetAllSubscriptionsResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetAllSubscriptionsResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "response":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Response.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"response\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetAllSubscriptionsResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGetAllSubscriptionsResponse) {
|
|
name = jsonFieldsNameOfGetAllSubscriptionsResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GetAllSubscriptionsResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetAllSubscriptionsResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GetAllSubscriptionsResponseResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GetAllSubscriptionsResponseResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("subscriptions")
|
|
e.ArrStart()
|
|
for _, elem := range s.Subscriptions {
|
|
elem.Encode(e)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
{
|
|
e.FieldStart("total")
|
|
e.Float64(s.Total)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGetAllSubscriptionsResponseResponse = [2]string{
|
|
0: "subscriptions",
|
|
1: "total",
|
|
}
|
|
|
|
// Decode decodes GetAllSubscriptionsResponseResponse from json.
|
|
func (s *GetAllSubscriptionsResponseResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetAllSubscriptionsResponseResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "subscriptions":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
s.Subscriptions = make([]Subscription, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem Subscription
|
|
if err := elem.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
s.Subscriptions = append(s.Subscriptions, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"subscriptions\"")
|
|
}
|
|
case "total":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.Total = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"total\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetAllSubscriptionsResponseResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000011,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGetAllSubscriptionsResponseResponse) {
|
|
name = jsonFieldsNameOfGetAllSubscriptionsResponseResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GetAllSubscriptionsResponseResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetAllSubscriptionsResponseResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GetAllUsersResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GetAllUsersResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("response")
|
|
s.Response.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGetAllUsersResponse = [1]string{
|
|
0: "response",
|
|
}
|
|
|
|
// Decode decodes GetAllUsersResponse from json.
|
|
func (s *GetAllUsersResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetAllUsersResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "response":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Response.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"response\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetAllUsersResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGetAllUsersResponse) {
|
|
name = jsonFieldsNameOfGetAllUsersResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GetAllUsersResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetAllUsersResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GetAllUsersResponseResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GetAllUsersResponseResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("users")
|
|
e.ArrStart()
|
|
for _, elem := range s.Users {
|
|
elem.Encode(e)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
{
|
|
e.FieldStart("total")
|
|
e.Float64(s.Total)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGetAllUsersResponseResponse = [2]string{
|
|
0: "users",
|
|
1: "total",
|
|
}
|
|
|
|
// Decode decodes GetAllUsersResponseResponse from json.
|
|
func (s *GetAllUsersResponseResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetAllUsersResponseResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "users":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
s.Users = make([]UserItemInfo, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem UserItemInfo
|
|
if err := elem.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
s.Users = append(s.Users, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"users\"")
|
|
}
|
|
case "total":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.Total = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"total\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetAllUsersResponseResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000011,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGetAllUsersResponseResponse) {
|
|
name = jsonFieldsNameOfGetAllUsersResponseResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GetAllUsersResponseResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetAllUsersResponseResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GetApiTokenScopesResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GetApiTokenScopesResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("response")
|
|
s.Response.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGetApiTokenScopesResponse = [1]string{
|
|
0: "response",
|
|
}
|
|
|
|
// Decode decodes GetApiTokenScopesResponse from json.
|
|
func (s *GetApiTokenScopesResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetApiTokenScopesResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "response":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Response.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"response\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetApiTokenScopesResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGetApiTokenScopesResponse) {
|
|
name = jsonFieldsNameOfGetApiTokenScopesResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GetApiTokenScopesResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetApiTokenScopesResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GetApiTokenScopesResponseResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GetApiTokenScopesResponseResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("wildcard")
|
|
e.Str(s.Wildcard)
|
|
}
|
|
{
|
|
e.FieldStart("resources")
|
|
e.ArrStart()
|
|
for _, elem := range s.Resources {
|
|
elem.Encode(e)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGetApiTokenScopesResponseResponse = [2]string{
|
|
0: "wildcard",
|
|
1: "resources",
|
|
}
|
|
|
|
// Decode decodes GetApiTokenScopesResponseResponse from json.
|
|
func (s *GetApiTokenScopesResponseResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetApiTokenScopesResponseResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "wildcard":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Wildcard = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"wildcard\"")
|
|
}
|
|
case "resources":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
s.Resources = make([]GetApiTokenScopesResponseResponseResourcesItem, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem GetApiTokenScopesResponseResponseResourcesItem
|
|
if err := elem.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
s.Resources = append(s.Resources, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"resources\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetApiTokenScopesResponseResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000011,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGetApiTokenScopesResponseResponse) {
|
|
name = jsonFieldsNameOfGetApiTokenScopesResponseResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GetApiTokenScopesResponseResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetApiTokenScopesResponseResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GetApiTokenScopesResponseResponseResourcesItem) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GetApiTokenScopesResponseResponseResourcesItem) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("resource")
|
|
e.Str(s.Resource)
|
|
}
|
|
{
|
|
e.FieldStart("resourceScopes")
|
|
e.ArrStart()
|
|
for _, elem := range s.ResourceScopes {
|
|
e.Str(elem)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
{
|
|
e.FieldStart("endpoints")
|
|
e.ArrStart()
|
|
for _, elem := range s.Endpoints {
|
|
elem.Encode(e)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGetApiTokenScopesResponseResponseResourcesItem = [3]string{
|
|
0: "resource",
|
|
1: "resourceScopes",
|
|
2: "endpoints",
|
|
}
|
|
|
|
// Decode decodes GetApiTokenScopesResponseResponseResourcesItem from json.
|
|
func (s *GetApiTokenScopesResponseResponseResourcesItem) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetApiTokenScopesResponseResponseResourcesItem to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "resource":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Resource = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"resource\"")
|
|
}
|
|
case "resourceScopes":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
s.ResourceScopes = make([]string, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem string
|
|
v, err := d.Str()
|
|
elem = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
s.ResourceScopes = append(s.ResourceScopes, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"resourceScopes\"")
|
|
}
|
|
case "endpoints":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
s.Endpoints = make([]GetApiTokenScopesResponseResponseResourcesItemEndpointsItem, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem GetApiTokenScopesResponseResponseResourcesItemEndpointsItem
|
|
if err := elem.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
s.Endpoints = append(s.Endpoints, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"endpoints\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetApiTokenScopesResponseResponseResourcesItem")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000111,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGetApiTokenScopesResponseResponseResourcesItem) {
|
|
name = jsonFieldsNameOfGetApiTokenScopesResponseResponseResourcesItem[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GetApiTokenScopesResponseResponseResourcesItem) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetApiTokenScopesResponseResponseResourcesItem) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GetApiTokenScopesResponseResponseResourcesItemEndpointsItem) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GetApiTokenScopesResponseResponseResourcesItemEndpointsItem) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("key")
|
|
e.Str(s.Key)
|
|
}
|
|
{
|
|
e.FieldStart("kind")
|
|
s.Kind.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("method")
|
|
e.Str(s.Method)
|
|
}
|
|
{
|
|
e.FieldStart("path")
|
|
e.Str(s.Path)
|
|
}
|
|
{
|
|
e.FieldStart("description")
|
|
e.Str(s.Description)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGetApiTokenScopesResponseResponseResourcesItemEndpointsItem = [5]string{
|
|
0: "key",
|
|
1: "kind",
|
|
2: "method",
|
|
3: "path",
|
|
4: "description",
|
|
}
|
|
|
|
// Decode decodes GetApiTokenScopesResponseResponseResourcesItemEndpointsItem from json.
|
|
func (s *GetApiTokenScopesResponseResponseResourcesItemEndpointsItem) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetApiTokenScopesResponseResponseResourcesItemEndpointsItem to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "key":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Key = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"key\"")
|
|
}
|
|
case "kind":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
if err := s.Kind.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"kind\"")
|
|
}
|
|
case "method":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Method = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"method\"")
|
|
}
|
|
case "path":
|
|
requiredBitSet[0] |= 1 << 3
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Path = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"path\"")
|
|
}
|
|
case "description":
|
|
requiredBitSet[0] |= 1 << 4
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Description = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"description\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetApiTokenScopesResponseResponseResourcesItemEndpointsItem")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00011111,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGetApiTokenScopesResponseResponseResourcesItemEndpointsItem) {
|
|
name = jsonFieldsNameOfGetApiTokenScopesResponseResponseResourcesItemEndpointsItem[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GetApiTokenScopesResponseResponseResourcesItemEndpointsItem) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetApiTokenScopesResponseResponseResourcesItemEndpointsItem) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes GetApiTokenScopesResponseResponseResourcesItemEndpointsItemKind as json.
|
|
func (s GetApiTokenScopesResponseResponseResourcesItemEndpointsItemKind) Encode(e *jx.Encoder) {
|
|
e.Str(string(s))
|
|
}
|
|
|
|
// Decode decodes GetApiTokenScopesResponseResponseResourcesItemEndpointsItemKind from json.
|
|
func (s *GetApiTokenScopesResponseResponseResourcesItemEndpointsItemKind) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetApiTokenScopesResponseResponseResourcesItemEndpointsItemKind to nil")
|
|
}
|
|
v, err := d.StrBytes()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
// Try to use constant string.
|
|
switch GetApiTokenScopesResponseResponseResourcesItemEndpointsItemKind(v) {
|
|
case GetApiTokenScopesResponseResponseResourcesItemEndpointsItemKindRead:
|
|
*s = GetApiTokenScopesResponseResponseResourcesItemEndpointsItemKindRead
|
|
case GetApiTokenScopesResponseResponseResourcesItemEndpointsItemKindWrite:
|
|
*s = GetApiTokenScopesResponseResponseResourcesItemEndpointsItemKindWrite
|
|
default:
|
|
*s = GetApiTokenScopesResponseResponseResourcesItemEndpointsItemKind(v)
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s GetApiTokenScopesResponseResponseResourcesItemEndpointsItemKind) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetApiTokenScopesResponseResponseResourcesItemEndpointsItemKind) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GetBandwidthStatsResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GetBandwidthStatsResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("response")
|
|
s.Response.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGetBandwidthStatsResponse = [1]string{
|
|
0: "response",
|
|
}
|
|
|
|
// Decode decodes GetBandwidthStatsResponse from json.
|
|
func (s *GetBandwidthStatsResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetBandwidthStatsResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "response":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Response.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"response\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetBandwidthStatsResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGetBandwidthStatsResponse) {
|
|
name = jsonFieldsNameOfGetBandwidthStatsResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GetBandwidthStatsResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetBandwidthStatsResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GetBandwidthStatsResponseResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GetBandwidthStatsResponseResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("bandwidthLastTwoDays")
|
|
s.BandwidthLastTwoDays.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("bandwidthLastSevenDays")
|
|
s.BandwidthLastSevenDays.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("bandwidthLast30Days")
|
|
s.BandwidthLast30Days.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("bandwidthCalendarMonth")
|
|
s.BandwidthCalendarMonth.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("bandwidthCurrentYear")
|
|
s.BandwidthCurrentYear.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGetBandwidthStatsResponseResponse = [5]string{
|
|
0: "bandwidthLastTwoDays",
|
|
1: "bandwidthLastSevenDays",
|
|
2: "bandwidthLast30Days",
|
|
3: "bandwidthCalendarMonth",
|
|
4: "bandwidthCurrentYear",
|
|
}
|
|
|
|
// Decode decodes GetBandwidthStatsResponseResponse from json.
|
|
func (s *GetBandwidthStatsResponseResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetBandwidthStatsResponseResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "bandwidthLastTwoDays":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.BandwidthLastTwoDays.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"bandwidthLastTwoDays\"")
|
|
}
|
|
case "bandwidthLastSevenDays":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
if err := s.BandwidthLastSevenDays.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"bandwidthLastSevenDays\"")
|
|
}
|
|
case "bandwidthLast30Days":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
if err := s.BandwidthLast30Days.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"bandwidthLast30Days\"")
|
|
}
|
|
case "bandwidthCalendarMonth":
|
|
requiredBitSet[0] |= 1 << 3
|
|
if err := func() error {
|
|
if err := s.BandwidthCalendarMonth.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"bandwidthCalendarMonth\"")
|
|
}
|
|
case "bandwidthCurrentYear":
|
|
requiredBitSet[0] |= 1 << 4
|
|
if err := func() error {
|
|
if err := s.BandwidthCurrentYear.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"bandwidthCurrentYear\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetBandwidthStatsResponseResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00011111,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGetBandwidthStatsResponseResponse) {
|
|
name = jsonFieldsNameOfGetBandwidthStatsResponseResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GetBandwidthStatsResponseResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetBandwidthStatsResponseResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GetConnectionKeysByUuidResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GetConnectionKeysByUuidResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("response")
|
|
s.Response.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGetConnectionKeysByUuidResponse = [1]string{
|
|
0: "response",
|
|
}
|
|
|
|
// Decode decodes GetConnectionKeysByUuidResponse from json.
|
|
func (s *GetConnectionKeysByUuidResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetConnectionKeysByUuidResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "response":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Response.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"response\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetConnectionKeysByUuidResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGetConnectionKeysByUuidResponse) {
|
|
name = jsonFieldsNameOfGetConnectionKeysByUuidResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GetConnectionKeysByUuidResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetConnectionKeysByUuidResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GetConnectionKeysByUuidResponseResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GetConnectionKeysByUuidResponseResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("enabledKeys")
|
|
e.ArrStart()
|
|
for _, elem := range s.EnabledKeys {
|
|
e.Str(elem)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
{
|
|
e.FieldStart("hiddenKeys")
|
|
e.ArrStart()
|
|
for _, elem := range s.HiddenKeys {
|
|
e.Str(elem)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
{
|
|
e.FieldStart("disabledKeys")
|
|
e.ArrStart()
|
|
for _, elem := range s.DisabledKeys {
|
|
e.Str(elem)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGetConnectionKeysByUuidResponseResponse = [3]string{
|
|
0: "enabledKeys",
|
|
1: "hiddenKeys",
|
|
2: "disabledKeys",
|
|
}
|
|
|
|
// Decode decodes GetConnectionKeysByUuidResponseResponse from json.
|
|
func (s *GetConnectionKeysByUuidResponseResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetConnectionKeysByUuidResponseResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "enabledKeys":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
s.EnabledKeys = make([]string, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem string
|
|
v, err := d.Str()
|
|
elem = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
s.EnabledKeys = append(s.EnabledKeys, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"enabledKeys\"")
|
|
}
|
|
case "hiddenKeys":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
s.HiddenKeys = make([]string, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem string
|
|
v, err := d.Str()
|
|
elem = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
s.HiddenKeys = append(s.HiddenKeys, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"hiddenKeys\"")
|
|
}
|
|
case "disabledKeys":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
s.DisabledKeys = make([]string, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem string
|
|
v, err := d.Str()
|
|
elem = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
s.DisabledKeys = append(s.DisabledKeys, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"disabledKeys\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetConnectionKeysByUuidResponseResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000111,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGetConnectionKeysByUuidResponseResponse) {
|
|
name = jsonFieldsNameOfGetConnectionKeysByUuidResponseResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GetConnectionKeysByUuidResponseResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetConnectionKeysByUuidResponseResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GetHwidDevicesStatsResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GetHwidDevicesStatsResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("response")
|
|
s.Response.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGetHwidDevicesStatsResponse = [1]string{
|
|
0: "response",
|
|
}
|
|
|
|
// Decode decodes GetHwidDevicesStatsResponse from json.
|
|
func (s *GetHwidDevicesStatsResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetHwidDevicesStatsResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "response":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Response.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"response\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetHwidDevicesStatsResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGetHwidDevicesStatsResponse) {
|
|
name = jsonFieldsNameOfGetHwidDevicesStatsResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GetHwidDevicesStatsResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetHwidDevicesStatsResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GetHwidDevicesStatsResponseResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GetHwidDevicesStatsResponseResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("byPlatform")
|
|
e.ArrStart()
|
|
for _, elem := range s.ByPlatform {
|
|
elem.Encode(e)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
{
|
|
e.FieldStart("stats")
|
|
s.Stats.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGetHwidDevicesStatsResponseResponse = [2]string{
|
|
0: "byPlatform",
|
|
1: "stats",
|
|
}
|
|
|
|
// Decode decodes GetHwidDevicesStatsResponseResponse from json.
|
|
func (s *GetHwidDevicesStatsResponseResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetHwidDevicesStatsResponseResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "byPlatform":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
s.ByPlatform = make([]GetHwidDevicesStatsResponseResponseByPlatformItem, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem GetHwidDevicesStatsResponseResponseByPlatformItem
|
|
if err := elem.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
s.ByPlatform = append(s.ByPlatform, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"byPlatform\"")
|
|
}
|
|
case "stats":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
if err := s.Stats.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"stats\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetHwidDevicesStatsResponseResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000011,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGetHwidDevicesStatsResponseResponse) {
|
|
name = jsonFieldsNameOfGetHwidDevicesStatsResponseResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GetHwidDevicesStatsResponseResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetHwidDevicesStatsResponseResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GetHwidDevicesStatsResponseResponseByPlatformItem) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GetHwidDevicesStatsResponseResponseByPlatformItem) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("platform")
|
|
e.Str(s.Platform)
|
|
}
|
|
{
|
|
e.FieldStart("count")
|
|
e.Float64(s.Count)
|
|
}
|
|
{
|
|
e.FieldStart("byApp")
|
|
e.ArrStart()
|
|
for _, elem := range s.ByApp {
|
|
elem.Encode(e)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGetHwidDevicesStatsResponseResponseByPlatformItem = [3]string{
|
|
0: "platform",
|
|
1: "count",
|
|
2: "byApp",
|
|
}
|
|
|
|
// Decode decodes GetHwidDevicesStatsResponseResponseByPlatformItem from json.
|
|
func (s *GetHwidDevicesStatsResponseResponseByPlatformItem) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetHwidDevicesStatsResponseResponseByPlatformItem to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "platform":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Platform = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"platform\"")
|
|
}
|
|
case "count":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.Count = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"count\"")
|
|
}
|
|
case "byApp":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
s.ByApp = make([]ByAppItem, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem ByAppItem
|
|
if err := elem.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
s.ByApp = append(s.ByApp, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"byApp\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetHwidDevicesStatsResponseResponseByPlatformItem")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000111,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGetHwidDevicesStatsResponseResponseByPlatformItem) {
|
|
name = jsonFieldsNameOfGetHwidDevicesStatsResponseResponseByPlatformItem[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GetHwidDevicesStatsResponseResponseByPlatformItem) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetHwidDevicesStatsResponseResponseByPlatformItem) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GetHwidDevicesStatsResponseResponseStats) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GetHwidDevicesStatsResponseResponseStats) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("totalUniqueDevices")
|
|
e.Float64(s.TotalUniqueDevices)
|
|
}
|
|
{
|
|
e.FieldStart("totalHwidDevices")
|
|
e.Float64(s.TotalHwidDevices)
|
|
}
|
|
{
|
|
e.FieldStart("averageHwidDevicesPerUser")
|
|
e.Float64(s.AverageHwidDevicesPerUser)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGetHwidDevicesStatsResponseResponseStats = [3]string{
|
|
0: "totalUniqueDevices",
|
|
1: "totalHwidDevices",
|
|
2: "averageHwidDevicesPerUser",
|
|
}
|
|
|
|
// Decode decodes GetHwidDevicesStatsResponseResponseStats from json.
|
|
func (s *GetHwidDevicesStatsResponseResponseStats) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetHwidDevicesStatsResponseResponseStats to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "totalUniqueDevices":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.TotalUniqueDevices = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"totalUniqueDevices\"")
|
|
}
|
|
case "totalHwidDevices":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.TotalHwidDevices = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"totalHwidDevices\"")
|
|
}
|
|
case "averageHwidDevicesPerUser":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.AverageHwidDevicesPerUser = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"averageHwidDevicesPerUser\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetHwidDevicesStatsResponseResponseStats")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000111,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGetHwidDevicesStatsResponseResponseStats) {
|
|
name = jsonFieldsNameOfGetHwidDevicesStatsResponseResponseStats[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GetHwidDevicesStatsResponseResponseStats) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetHwidDevicesStatsResponseResponseStats) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GetInfraProvidersResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GetInfraProvidersResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("response")
|
|
s.Response.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGetInfraProvidersResponse = [1]string{
|
|
0: "response",
|
|
}
|
|
|
|
// Decode decodes GetInfraProvidersResponse from json.
|
|
func (s *GetInfraProvidersResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetInfraProvidersResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "response":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Response.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"response\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetInfraProvidersResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGetInfraProvidersResponse) {
|
|
name = jsonFieldsNameOfGetInfraProvidersResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GetInfraProvidersResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetInfraProvidersResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GetInfraProvidersResponseResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GetInfraProvidersResponseResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("total")
|
|
e.Float64(s.Total)
|
|
}
|
|
{
|
|
e.FieldStart("providers")
|
|
e.ArrStart()
|
|
for _, elem := range s.Providers {
|
|
elem.Encode(e)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGetInfraProvidersResponseResponse = [2]string{
|
|
0: "total",
|
|
1: "providers",
|
|
}
|
|
|
|
// Decode decodes GetInfraProvidersResponseResponse from json.
|
|
func (s *GetInfraProvidersResponseResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetInfraProvidersResponseResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "total":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.Total = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"total\"")
|
|
}
|
|
case "providers":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
s.Providers = make([]Provider, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem Provider
|
|
if err := elem.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
s.Providers = append(s.Providers, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"providers\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetInfraProvidersResponseResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000011,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGetInfraProvidersResponseResponse) {
|
|
name = jsonFieldsNameOfGetInfraProvidersResponseResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GetInfraProvidersResponseResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetInfraProvidersResponseResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GetInternalSquadAccessibleNodesResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GetInternalSquadAccessibleNodesResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("response")
|
|
s.Response.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGetInternalSquadAccessibleNodesResponse = [1]string{
|
|
0: "response",
|
|
}
|
|
|
|
// Decode decodes GetInternalSquadAccessibleNodesResponse from json.
|
|
func (s *GetInternalSquadAccessibleNodesResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetInternalSquadAccessibleNodesResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "response":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Response.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"response\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetInternalSquadAccessibleNodesResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGetInternalSquadAccessibleNodesResponse) {
|
|
name = jsonFieldsNameOfGetInternalSquadAccessibleNodesResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GetInternalSquadAccessibleNodesResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetInternalSquadAccessibleNodesResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GetInternalSquadAccessibleNodesResponseResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GetInternalSquadAccessibleNodesResponseResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("squadUuid")
|
|
json.EncodeUUID(e, s.SquadUuid)
|
|
}
|
|
{
|
|
e.FieldStart("accessibleNodes")
|
|
e.ArrStart()
|
|
for _, elem := range s.AccessibleNodes {
|
|
elem.Encode(e)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGetInternalSquadAccessibleNodesResponseResponse = [2]string{
|
|
0: "squadUuid",
|
|
1: "accessibleNodes",
|
|
}
|
|
|
|
// Decode decodes GetInternalSquadAccessibleNodesResponseResponse from json.
|
|
func (s *GetInternalSquadAccessibleNodesResponseResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetInternalSquadAccessibleNodesResponseResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "squadUuid":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := json.DecodeUUID(d)
|
|
s.SquadUuid = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"squadUuid\"")
|
|
}
|
|
case "accessibleNodes":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
s.AccessibleNodes = make([]GetInternalSquadAccessibleNodesResponseResponseAccessibleNodesItem, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem GetInternalSquadAccessibleNodesResponseResponseAccessibleNodesItem
|
|
if err := elem.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
s.AccessibleNodes = append(s.AccessibleNodes, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"accessibleNodes\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetInternalSquadAccessibleNodesResponseResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000011,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGetInternalSquadAccessibleNodesResponseResponse) {
|
|
name = jsonFieldsNameOfGetInternalSquadAccessibleNodesResponseResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GetInternalSquadAccessibleNodesResponseResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetInternalSquadAccessibleNodesResponseResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GetInternalSquadAccessibleNodesResponseResponseAccessibleNodesItem) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GetInternalSquadAccessibleNodesResponseResponseAccessibleNodesItem) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("uuid")
|
|
json.EncodeUUID(e, s.UUID)
|
|
}
|
|
{
|
|
e.FieldStart("nodeName")
|
|
e.Str(s.NodeName)
|
|
}
|
|
{
|
|
e.FieldStart("countryCode")
|
|
e.Str(s.CountryCode)
|
|
}
|
|
{
|
|
e.FieldStart("configProfileUuid")
|
|
json.EncodeUUID(e, s.ConfigProfileUuid)
|
|
}
|
|
{
|
|
e.FieldStart("configProfileName")
|
|
e.Str(s.ConfigProfileName)
|
|
}
|
|
{
|
|
e.FieldStart("activeInbounds")
|
|
e.ArrStart()
|
|
for _, elem := range s.ActiveInbounds {
|
|
e.Str(elem)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGetInternalSquadAccessibleNodesResponseResponseAccessibleNodesItem = [6]string{
|
|
0: "uuid",
|
|
1: "nodeName",
|
|
2: "countryCode",
|
|
3: "configProfileUuid",
|
|
4: "configProfileName",
|
|
5: "activeInbounds",
|
|
}
|
|
|
|
// Decode decodes GetInternalSquadAccessibleNodesResponseResponseAccessibleNodesItem from json.
|
|
func (s *GetInternalSquadAccessibleNodesResponseResponseAccessibleNodesItem) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetInternalSquadAccessibleNodesResponseResponseAccessibleNodesItem to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "uuid":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := json.DecodeUUID(d)
|
|
s.UUID = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"uuid\"")
|
|
}
|
|
case "nodeName":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.NodeName = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"nodeName\"")
|
|
}
|
|
case "countryCode":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.CountryCode = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"countryCode\"")
|
|
}
|
|
case "configProfileUuid":
|
|
requiredBitSet[0] |= 1 << 3
|
|
if err := func() error {
|
|
v, err := json.DecodeUUID(d)
|
|
s.ConfigProfileUuid = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"configProfileUuid\"")
|
|
}
|
|
case "configProfileName":
|
|
requiredBitSet[0] |= 1 << 4
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.ConfigProfileName = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"configProfileName\"")
|
|
}
|
|
case "activeInbounds":
|
|
requiredBitSet[0] |= 1 << 5
|
|
if err := func() error {
|
|
s.ActiveInbounds = make([]string, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem string
|
|
v, err := d.Str()
|
|
elem = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
s.ActiveInbounds = append(s.ActiveInbounds, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"activeInbounds\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetInternalSquadAccessibleNodesResponseResponseAccessibleNodesItem")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00111111,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGetInternalSquadAccessibleNodesResponseResponseAccessibleNodesItem) {
|
|
name = jsonFieldsNameOfGetInternalSquadAccessibleNodesResponseResponseAccessibleNodesItem[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GetInternalSquadAccessibleNodesResponseResponseAccessibleNodesItem) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetInternalSquadAccessibleNodesResponseResponseAccessibleNodesItem) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GetLegacyStatsNodesUsersUsageResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GetLegacyStatsNodesUsersUsageResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("response")
|
|
e.ArrStart()
|
|
for _, elem := range s.Response {
|
|
elem.Encode(e)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGetLegacyStatsNodesUsersUsageResponse = [1]string{
|
|
0: "response",
|
|
}
|
|
|
|
// Decode decodes GetLegacyStatsNodesUsersUsageResponse from json.
|
|
func (s *GetLegacyStatsNodesUsersUsageResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetLegacyStatsNodesUsersUsageResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "response":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
s.Response = make([]GetLegacyStatsNodesUsersUsageResponseResponseItem, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem GetLegacyStatsNodesUsersUsageResponseResponseItem
|
|
if err := elem.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
s.Response = append(s.Response, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"response\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetLegacyStatsNodesUsersUsageResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGetLegacyStatsNodesUsersUsageResponse) {
|
|
name = jsonFieldsNameOfGetLegacyStatsNodesUsersUsageResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GetLegacyStatsNodesUsersUsageResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetLegacyStatsNodesUsersUsageResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GetLegacyStatsNodesUsersUsageResponseResponseItem) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GetLegacyStatsNodesUsersUsageResponseResponseItem) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("userUuid")
|
|
json.EncodeUUID(e, s.UserUuid)
|
|
}
|
|
{
|
|
e.FieldStart("username")
|
|
e.Str(s.Username)
|
|
}
|
|
{
|
|
e.FieldStart("nodeUuid")
|
|
json.EncodeUUID(e, s.NodeUuid)
|
|
}
|
|
{
|
|
e.FieldStart("total")
|
|
e.Float64(s.Total)
|
|
}
|
|
{
|
|
e.FieldStart("date")
|
|
e.Str(s.Date)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGetLegacyStatsNodesUsersUsageResponseResponseItem = [5]string{
|
|
0: "userUuid",
|
|
1: "username",
|
|
2: "nodeUuid",
|
|
3: "total",
|
|
4: "date",
|
|
}
|
|
|
|
// Decode decodes GetLegacyStatsNodesUsersUsageResponseResponseItem from json.
|
|
func (s *GetLegacyStatsNodesUsersUsageResponseResponseItem) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetLegacyStatsNodesUsersUsageResponseResponseItem to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "userUuid":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := json.DecodeUUID(d)
|
|
s.UserUuid = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"userUuid\"")
|
|
}
|
|
case "username":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Username = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"username\"")
|
|
}
|
|
case "nodeUuid":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
v, err := json.DecodeUUID(d)
|
|
s.NodeUuid = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"nodeUuid\"")
|
|
}
|
|
case "total":
|
|
requiredBitSet[0] |= 1 << 3
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.Total = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"total\"")
|
|
}
|
|
case "date":
|
|
requiredBitSet[0] |= 1 << 4
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Date = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"date\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetLegacyStatsNodesUsersUsageResponseResponseItem")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00011111,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGetLegacyStatsNodesUsersUsageResponseResponseItem) {
|
|
name = jsonFieldsNameOfGetLegacyStatsNodesUsersUsageResponseResponseItem[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GetLegacyStatsNodesUsersUsageResponseResponseItem) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetLegacyStatsNodesUsersUsageResponseResponseItem) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GetLegacyStatsUserUsageResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GetLegacyStatsUserUsageResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("response")
|
|
e.ArrStart()
|
|
for _, elem := range s.Response {
|
|
elem.Encode(e)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGetLegacyStatsUserUsageResponse = [1]string{
|
|
0: "response",
|
|
}
|
|
|
|
// Decode decodes GetLegacyStatsUserUsageResponse from json.
|
|
func (s *GetLegacyStatsUserUsageResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetLegacyStatsUserUsageResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "response":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
s.Response = make([]GetLegacyStatsUserUsageResponseResponseItem, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem GetLegacyStatsUserUsageResponseResponseItem
|
|
if err := elem.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
s.Response = append(s.Response, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"response\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetLegacyStatsUserUsageResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGetLegacyStatsUserUsageResponse) {
|
|
name = jsonFieldsNameOfGetLegacyStatsUserUsageResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GetLegacyStatsUserUsageResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetLegacyStatsUserUsageResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GetLegacyStatsUserUsageResponseResponseItem) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GetLegacyStatsUserUsageResponseResponseItem) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("userUuid")
|
|
json.EncodeUUID(e, s.UserUuid)
|
|
}
|
|
{
|
|
e.FieldStart("nodeUuid")
|
|
json.EncodeUUID(e, s.NodeUuid)
|
|
}
|
|
{
|
|
e.FieldStart("nodeName")
|
|
e.Str(s.NodeName)
|
|
}
|
|
{
|
|
e.FieldStart("countryCode")
|
|
e.Str(s.CountryCode)
|
|
}
|
|
{
|
|
e.FieldStart("total")
|
|
e.Float64(s.Total)
|
|
}
|
|
{
|
|
e.FieldStart("date")
|
|
e.Str(s.Date)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGetLegacyStatsUserUsageResponseResponseItem = [6]string{
|
|
0: "userUuid",
|
|
1: "nodeUuid",
|
|
2: "nodeName",
|
|
3: "countryCode",
|
|
4: "total",
|
|
5: "date",
|
|
}
|
|
|
|
// Decode decodes GetLegacyStatsUserUsageResponseResponseItem from json.
|
|
func (s *GetLegacyStatsUserUsageResponseResponseItem) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetLegacyStatsUserUsageResponseResponseItem to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "userUuid":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := json.DecodeUUID(d)
|
|
s.UserUuid = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"userUuid\"")
|
|
}
|
|
case "nodeUuid":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := json.DecodeUUID(d)
|
|
s.NodeUuid = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"nodeUuid\"")
|
|
}
|
|
case "nodeName":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.NodeName = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"nodeName\"")
|
|
}
|
|
case "countryCode":
|
|
requiredBitSet[0] |= 1 << 3
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.CountryCode = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"countryCode\"")
|
|
}
|
|
case "total":
|
|
requiredBitSet[0] |= 1 << 4
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.Total = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"total\"")
|
|
}
|
|
case "date":
|
|
requiredBitSet[0] |= 1 << 5
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Date = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"date\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetLegacyStatsUserUsageResponseResponseItem")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00111111,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGetLegacyStatsUserUsageResponseResponseItem) {
|
|
name = jsonFieldsNameOfGetLegacyStatsUserUsageResponseResponseItem[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GetLegacyStatsUserUsageResponseResponseItem) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetLegacyStatsUserUsageResponseResponseItem) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GetMetadataResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GetMetadataResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("response")
|
|
s.Response.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGetMetadataResponse = [1]string{
|
|
0: "response",
|
|
}
|
|
|
|
// Decode decodes GetMetadataResponse from json.
|
|
func (s *GetMetadataResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetMetadataResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "response":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Response.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"response\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetMetadataResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGetMetadataResponse) {
|
|
name = jsonFieldsNameOfGetMetadataResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GetMetadataResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetMetadataResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GetMetadataResponseResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GetMetadataResponseResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("version")
|
|
e.Str(s.Version)
|
|
}
|
|
{
|
|
e.FieldStart("build")
|
|
s.Build.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("git")
|
|
s.Git.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGetMetadataResponseResponse = [3]string{
|
|
0: "version",
|
|
1: "build",
|
|
2: "git",
|
|
}
|
|
|
|
// Decode decodes GetMetadataResponseResponse from json.
|
|
func (s *GetMetadataResponseResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetMetadataResponseResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "version":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Version = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"version\"")
|
|
}
|
|
case "build":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
if err := s.Build.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"build\"")
|
|
}
|
|
case "git":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
if err := s.Git.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"git\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetMetadataResponseResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000111,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGetMetadataResponseResponse) {
|
|
name = jsonFieldsNameOfGetMetadataResponseResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GetMetadataResponseResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetMetadataResponseResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GetMetadataResponseResponseBuild) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GetMetadataResponseResponseBuild) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("time")
|
|
e.Str(s.Time)
|
|
}
|
|
{
|
|
e.FieldStart("number")
|
|
e.Str(s.Number)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGetMetadataResponseResponseBuild = [2]string{
|
|
0: "time",
|
|
1: "number",
|
|
}
|
|
|
|
// Decode decodes GetMetadataResponseResponseBuild from json.
|
|
func (s *GetMetadataResponseResponseBuild) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetMetadataResponseResponseBuild to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "time":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Time = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"time\"")
|
|
}
|
|
case "number":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Number = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"number\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetMetadataResponseResponseBuild")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000011,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGetMetadataResponseResponseBuild) {
|
|
name = jsonFieldsNameOfGetMetadataResponseResponseBuild[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GetMetadataResponseResponseBuild) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetMetadataResponseResponseBuild) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GetMetadataResponseResponseGit) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GetMetadataResponseResponseGit) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("backend")
|
|
s.Backend.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("frontend")
|
|
s.Frontend.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGetMetadataResponseResponseGit = [2]string{
|
|
0: "backend",
|
|
1: "frontend",
|
|
}
|
|
|
|
// Decode decodes GetMetadataResponseResponseGit from json.
|
|
func (s *GetMetadataResponseResponseGit) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetMetadataResponseResponseGit to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "backend":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Backend.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"backend\"")
|
|
}
|
|
case "frontend":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
if err := s.Frontend.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"frontend\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetMetadataResponseResponseGit")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000011,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGetMetadataResponseResponseGit) {
|
|
name = jsonFieldsNameOfGetMetadataResponseResponseGit[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GetMetadataResponseResponseGit) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetMetadataResponseResponseGit) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GetMetadataResponseResponseGitBackend) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GetMetadataResponseResponseGitBackend) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("commitSha")
|
|
e.Str(s.CommitSha)
|
|
}
|
|
{
|
|
e.FieldStart("branch")
|
|
e.Str(s.Branch)
|
|
}
|
|
{
|
|
e.FieldStart("commitUrl")
|
|
e.Str(s.CommitUrl)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGetMetadataResponseResponseGitBackend = [3]string{
|
|
0: "commitSha",
|
|
1: "branch",
|
|
2: "commitUrl",
|
|
}
|
|
|
|
// Decode decodes GetMetadataResponseResponseGitBackend from json.
|
|
func (s *GetMetadataResponseResponseGitBackend) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetMetadataResponseResponseGitBackend to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "commitSha":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.CommitSha = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"commitSha\"")
|
|
}
|
|
case "branch":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Branch = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"branch\"")
|
|
}
|
|
case "commitUrl":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.CommitUrl = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"commitUrl\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetMetadataResponseResponseGitBackend")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000111,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGetMetadataResponseResponseGitBackend) {
|
|
name = jsonFieldsNameOfGetMetadataResponseResponseGitBackend[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GetMetadataResponseResponseGitBackend) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetMetadataResponseResponseGitBackend) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GetMetadataResponseResponseGitFrontend) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GetMetadataResponseResponseGitFrontend) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("commitSha")
|
|
e.Str(s.CommitSha)
|
|
}
|
|
{
|
|
e.FieldStart("commitUrl")
|
|
e.Str(s.CommitUrl)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGetMetadataResponseResponseGitFrontend = [2]string{
|
|
0: "commitSha",
|
|
1: "commitUrl",
|
|
}
|
|
|
|
// Decode decodes GetMetadataResponseResponseGitFrontend from json.
|
|
func (s *GetMetadataResponseResponseGitFrontend) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetMetadataResponseResponseGitFrontend to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "commitSha":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.CommitSha = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"commitSha\"")
|
|
}
|
|
case "commitUrl":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.CommitUrl = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"commitUrl\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetMetadataResponseResponseGitFrontend")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000011,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGetMetadataResponseResponseGitFrontend) {
|
|
name = jsonFieldsNameOfGetMetadataResponseResponseGitFrontend[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GetMetadataResponseResponseGitFrontend) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetMetadataResponseResponseGitFrontend) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GetNodesMetricsResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GetNodesMetricsResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("response")
|
|
s.Response.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGetNodesMetricsResponse = [1]string{
|
|
0: "response",
|
|
}
|
|
|
|
// Decode decodes GetNodesMetricsResponse from json.
|
|
func (s *GetNodesMetricsResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetNodesMetricsResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "response":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Response.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"response\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetNodesMetricsResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGetNodesMetricsResponse) {
|
|
name = jsonFieldsNameOfGetNodesMetricsResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GetNodesMetricsResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetNodesMetricsResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GetNodesMetricsResponseResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GetNodesMetricsResponseResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("nodes")
|
|
e.ArrStart()
|
|
for _, elem := range s.Nodes {
|
|
elem.Encode(e)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGetNodesMetricsResponseResponse = [1]string{
|
|
0: "nodes",
|
|
}
|
|
|
|
// Decode decodes GetNodesMetricsResponseResponse from json.
|
|
func (s *GetNodesMetricsResponseResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetNodesMetricsResponseResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "nodes":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
s.Nodes = make([]GetNodesMetricsResponseResponseNodesItem, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem GetNodesMetricsResponseResponseNodesItem
|
|
if err := elem.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
s.Nodes = append(s.Nodes, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"nodes\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetNodesMetricsResponseResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGetNodesMetricsResponseResponse) {
|
|
name = jsonFieldsNameOfGetNodesMetricsResponseResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GetNodesMetricsResponseResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetNodesMetricsResponseResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GetNodesMetricsResponseResponseNodesItem) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GetNodesMetricsResponseResponseNodesItem) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("nodeUuid")
|
|
e.Str(s.NodeUuid)
|
|
}
|
|
{
|
|
e.FieldStart("nodeName")
|
|
e.Str(s.NodeName)
|
|
}
|
|
{
|
|
e.FieldStart("countryEmoji")
|
|
e.Str(s.CountryEmoji)
|
|
}
|
|
{
|
|
e.FieldStart("providerName")
|
|
e.Str(s.ProviderName)
|
|
}
|
|
{
|
|
e.FieldStart("usersOnline")
|
|
e.Float64(s.UsersOnline)
|
|
}
|
|
{
|
|
e.FieldStart("inboundsStats")
|
|
e.ArrStart()
|
|
for _, elem := range s.InboundsStats {
|
|
elem.Encode(e)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
{
|
|
e.FieldStart("outboundsStats")
|
|
e.ArrStart()
|
|
for _, elem := range s.OutboundsStats {
|
|
elem.Encode(e)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGetNodesMetricsResponseResponseNodesItem = [7]string{
|
|
0: "nodeUuid",
|
|
1: "nodeName",
|
|
2: "countryEmoji",
|
|
3: "providerName",
|
|
4: "usersOnline",
|
|
5: "inboundsStats",
|
|
6: "outboundsStats",
|
|
}
|
|
|
|
// Decode decodes GetNodesMetricsResponseResponseNodesItem from json.
|
|
func (s *GetNodesMetricsResponseResponseNodesItem) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetNodesMetricsResponseResponseNodesItem to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "nodeUuid":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.NodeUuid = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"nodeUuid\"")
|
|
}
|
|
case "nodeName":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.NodeName = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"nodeName\"")
|
|
}
|
|
case "countryEmoji":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.CountryEmoji = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"countryEmoji\"")
|
|
}
|
|
case "providerName":
|
|
requiredBitSet[0] |= 1 << 3
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.ProviderName = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"providerName\"")
|
|
}
|
|
case "usersOnline":
|
|
requiredBitSet[0] |= 1 << 4
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.UsersOnline = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"usersOnline\"")
|
|
}
|
|
case "inboundsStats":
|
|
requiredBitSet[0] |= 1 << 5
|
|
if err := func() error {
|
|
s.InboundsStats = make([]InboundsStat, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem InboundsStat
|
|
if err := elem.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
s.InboundsStats = append(s.InboundsStats, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"inboundsStats\"")
|
|
}
|
|
case "outboundsStats":
|
|
requiredBitSet[0] |= 1 << 6
|
|
if err := func() error {
|
|
s.OutboundsStats = make([]InboundsStat, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem InboundsStat
|
|
if err := elem.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
s.OutboundsStats = append(s.OutboundsStats, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"outboundsStats\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetNodesMetricsResponseResponseNodesItem")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b01111111,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGetNodesMetricsResponseResponseNodesItem) {
|
|
name = jsonFieldsNameOfGetNodesMetricsResponseResponseNodesItem[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GetNodesMetricsResponseResponseNodesItem) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetNodesMetricsResponseResponseNodesItem) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GetNodesStatisticsResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GetNodesStatisticsResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("response")
|
|
s.Response.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGetNodesStatisticsResponse = [1]string{
|
|
0: "response",
|
|
}
|
|
|
|
// Decode decodes GetNodesStatisticsResponse from json.
|
|
func (s *GetNodesStatisticsResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetNodesStatisticsResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "response":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Response.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"response\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetNodesStatisticsResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGetNodesStatisticsResponse) {
|
|
name = jsonFieldsNameOfGetNodesStatisticsResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GetNodesStatisticsResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetNodesStatisticsResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GetNodesStatisticsResponseResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GetNodesStatisticsResponseResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("lastSevenDays")
|
|
e.ArrStart()
|
|
for _, elem := range s.LastSevenDays {
|
|
elem.Encode(e)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGetNodesStatisticsResponseResponse = [1]string{
|
|
0: "lastSevenDays",
|
|
}
|
|
|
|
// Decode decodes GetNodesStatisticsResponseResponse from json.
|
|
func (s *GetNodesStatisticsResponseResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetNodesStatisticsResponseResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "lastSevenDays":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
s.LastSevenDays = make([]GetNodesStatisticsResponseResponseLastSevenDaysItem, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem GetNodesStatisticsResponseResponseLastSevenDaysItem
|
|
if err := elem.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
s.LastSevenDays = append(s.LastSevenDays, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"lastSevenDays\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetNodesStatisticsResponseResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGetNodesStatisticsResponseResponse) {
|
|
name = jsonFieldsNameOfGetNodesStatisticsResponseResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GetNodesStatisticsResponseResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetNodesStatisticsResponseResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GetNodesStatisticsResponseResponseLastSevenDaysItem) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GetNodesStatisticsResponseResponseLastSevenDaysItem) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("nodeName")
|
|
e.Str(s.NodeName)
|
|
}
|
|
{
|
|
e.FieldStart("date")
|
|
e.Str(s.Date)
|
|
}
|
|
{
|
|
e.FieldStart("totalBytes")
|
|
e.Str(s.TotalBytes)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGetNodesStatisticsResponseResponseLastSevenDaysItem = [3]string{
|
|
0: "nodeName",
|
|
1: "date",
|
|
2: "totalBytes",
|
|
}
|
|
|
|
// Decode decodes GetNodesStatisticsResponseResponseLastSevenDaysItem from json.
|
|
func (s *GetNodesStatisticsResponseResponseLastSevenDaysItem) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetNodesStatisticsResponseResponseLastSevenDaysItem to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "nodeName":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.NodeName = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"nodeName\"")
|
|
}
|
|
case "date":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Date = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"date\"")
|
|
}
|
|
case "totalBytes":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.TotalBytes = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"totalBytes\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetNodesStatisticsResponseResponseLastSevenDaysItem")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000111,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGetNodesStatisticsResponseResponseLastSevenDaysItem) {
|
|
name = jsonFieldsNameOfGetNodesStatisticsResponseResponseLastSevenDaysItem[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GetNodesStatisticsResponseResponseLastSevenDaysItem) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetNodesStatisticsResponseResponseLastSevenDaysItem) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GetPubKeyResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GetPubKeyResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("response")
|
|
s.Response.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGetPubKeyResponse = [1]string{
|
|
0: "response",
|
|
}
|
|
|
|
// Decode decodes GetPubKeyResponse from json.
|
|
func (s *GetPubKeyResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetPubKeyResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "response":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Response.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"response\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetPubKeyResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGetPubKeyResponse) {
|
|
name = jsonFieldsNameOfGetPubKeyResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GetPubKeyResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetPubKeyResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GetPubKeyResponseResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GetPubKeyResponseResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("pubKey")
|
|
e.Str(s.PubKey)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGetPubKeyResponseResponse = [1]string{
|
|
0: "pubKey",
|
|
}
|
|
|
|
// Decode decodes GetPubKeyResponseResponse from json.
|
|
func (s *GetPubKeyResponseResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetPubKeyResponseResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "pubKey":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.PubKey = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"pubKey\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetPubKeyResponseResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGetPubKeyResponseResponse) {
|
|
name = jsonFieldsNameOfGetPubKeyResponseResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GetPubKeyResponseResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetPubKeyResponseResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GetRawSubscriptionByShortUuidResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GetRawSubscriptionByShortUuidResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("response")
|
|
s.Response.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGetRawSubscriptionByShortUuidResponse = [1]string{
|
|
0: "response",
|
|
}
|
|
|
|
// Decode decodes GetRawSubscriptionByShortUuidResponse from json.
|
|
func (s *GetRawSubscriptionByShortUuidResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetRawSubscriptionByShortUuidResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "response":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Response.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"response\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetRawSubscriptionByShortUuidResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGetRawSubscriptionByShortUuidResponse) {
|
|
name = jsonFieldsNameOfGetRawSubscriptionByShortUuidResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GetRawSubscriptionByShortUuidResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetRawSubscriptionByShortUuidResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("user")
|
|
s.User.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("convertedUserInfo")
|
|
s.ConvertedUserInfo.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("headers")
|
|
s.Headers.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("resolvedProxyConfigs")
|
|
e.ArrStart()
|
|
for _, elem := range s.ResolvedProxyConfigs {
|
|
elem.Encode(e)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGetRawSubscriptionByShortUuidResponseResponse = [4]string{
|
|
0: "user",
|
|
1: "convertedUserInfo",
|
|
2: "headers",
|
|
3: "resolvedProxyConfigs",
|
|
}
|
|
|
|
// Decode decodes GetRawSubscriptionByShortUuidResponseResponse from json.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetRawSubscriptionByShortUuidResponseResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "user":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.User.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"user\"")
|
|
}
|
|
case "convertedUserInfo":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
if err := s.ConvertedUserInfo.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"convertedUserInfo\"")
|
|
}
|
|
case "headers":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
if err := s.Headers.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"headers\"")
|
|
}
|
|
case "resolvedProxyConfigs":
|
|
requiredBitSet[0] |= 1 << 3
|
|
if err := func() error {
|
|
s.ResolvedProxyConfigs = make([]GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItem, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItem
|
|
if err := elem.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
s.ResolvedProxyConfigs = append(s.ResolvedProxyConfigs, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"resolvedProxyConfigs\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetRawSubscriptionByShortUuidResponseResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00001111,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGetRawSubscriptionByShortUuidResponseResponse) {
|
|
name = jsonFieldsNameOfGetRawSubscriptionByShortUuidResponseResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseConvertedUserInfo) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseConvertedUserInfo) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("daysLeft")
|
|
e.Float64(s.DaysLeft)
|
|
}
|
|
{
|
|
e.FieldStart("trafficLimit")
|
|
e.Str(s.TrafficLimit)
|
|
}
|
|
{
|
|
e.FieldStart("trafficUsed")
|
|
e.Str(s.TrafficUsed)
|
|
}
|
|
{
|
|
e.FieldStart("lifetimeTrafficUsed")
|
|
e.Str(s.LifetimeTrafficUsed)
|
|
}
|
|
{
|
|
e.FieldStart("hwidCheckup")
|
|
s.HwidCheckup.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGetRawSubscriptionByShortUuidResponseResponseConvertedUserInfo = [5]string{
|
|
0: "daysLeft",
|
|
1: "trafficLimit",
|
|
2: "trafficUsed",
|
|
3: "lifetimeTrafficUsed",
|
|
4: "hwidCheckup",
|
|
}
|
|
|
|
// Decode decodes GetRawSubscriptionByShortUuidResponseResponseConvertedUserInfo from json.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseConvertedUserInfo) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetRawSubscriptionByShortUuidResponseResponseConvertedUserInfo to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "daysLeft":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.DaysLeft = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"daysLeft\"")
|
|
}
|
|
case "trafficLimit":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.TrafficLimit = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"trafficLimit\"")
|
|
}
|
|
case "trafficUsed":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.TrafficUsed = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"trafficUsed\"")
|
|
}
|
|
case "lifetimeTrafficUsed":
|
|
requiredBitSet[0] |= 1 << 3
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.LifetimeTrafficUsed = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"lifetimeTrafficUsed\"")
|
|
}
|
|
case "hwidCheckup":
|
|
requiredBitSet[0] |= 1 << 4
|
|
if err := func() error {
|
|
if err := s.HwidCheckup.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"hwidCheckup\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetRawSubscriptionByShortUuidResponseResponseConvertedUserInfo")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00011111,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGetRawSubscriptionByShortUuidResponseResponseConvertedUserInfo) {
|
|
name = jsonFieldsNameOfGetRawSubscriptionByShortUuidResponseResponseConvertedUserInfo[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseConvertedUserInfo) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseConvertedUserInfo) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseConvertedUserInfoHwidCheckup) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseConvertedUserInfoHwidCheckup) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("subscriptionAllowed")
|
|
e.Bool(s.SubscriptionAllowed)
|
|
}
|
|
{
|
|
e.FieldStart("maxDeviceReached")
|
|
e.Bool(s.MaxDeviceReached)
|
|
}
|
|
{
|
|
e.FieldStart("hwidNotSupported")
|
|
e.Bool(s.HwidNotSupported)
|
|
}
|
|
{
|
|
e.FieldStart("limitBypassed")
|
|
e.Bool(s.LimitBypassed)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGetRawSubscriptionByShortUuidResponseResponseConvertedUserInfoHwidCheckup = [4]string{
|
|
0: "subscriptionAllowed",
|
|
1: "maxDeviceReached",
|
|
2: "hwidNotSupported",
|
|
3: "limitBypassed",
|
|
}
|
|
|
|
// Decode decodes GetRawSubscriptionByShortUuidResponseResponseConvertedUserInfoHwidCheckup from json.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseConvertedUserInfoHwidCheckup) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetRawSubscriptionByShortUuidResponseResponseConvertedUserInfoHwidCheckup to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "subscriptionAllowed":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Bool()
|
|
s.SubscriptionAllowed = bool(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"subscriptionAllowed\"")
|
|
}
|
|
case "maxDeviceReached":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Bool()
|
|
s.MaxDeviceReached = bool(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"maxDeviceReached\"")
|
|
}
|
|
case "hwidNotSupported":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
v, err := d.Bool()
|
|
s.HwidNotSupported = bool(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"hwidNotSupported\"")
|
|
}
|
|
case "limitBypassed":
|
|
requiredBitSet[0] |= 1 << 3
|
|
if err := func() error {
|
|
v, err := d.Bool()
|
|
s.LimitBypassed = bool(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"limitBypassed\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetRawSubscriptionByShortUuidResponseResponseConvertedUserInfoHwidCheckup")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00001111,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGetRawSubscriptionByShortUuidResponseResponseConvertedUserInfoHwidCheckup) {
|
|
name = jsonFieldsNameOfGetRawSubscriptionByShortUuidResponseResponseConvertedUserInfoHwidCheckup[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseConvertedUserInfoHwidCheckup) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseConvertedUserInfoHwidCheckup) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s GetRawSubscriptionByShortUuidResponseResponseHeaders) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields implements json.Marshaler.
|
|
func (s GetRawSubscriptionByShortUuidResponseResponseHeaders) encodeFields(e *jx.Encoder) {
|
|
for k, elem := range s {
|
|
e.FieldStart(k)
|
|
|
|
e.Str(elem)
|
|
}
|
|
}
|
|
|
|
// Decode decodes GetRawSubscriptionByShortUuidResponseResponseHeaders from json.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseHeaders) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetRawSubscriptionByShortUuidResponseResponseHeaders to nil")
|
|
}
|
|
m := s.init()
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
var elem string
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
elem = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrapf(err, "decode field %q", k)
|
|
}
|
|
m[string(k)] = elem
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetRawSubscriptionByShortUuidResponseResponseHeaders")
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s GetRawSubscriptionByShortUuidResponseResponseHeaders) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseHeaders) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItem) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItem) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("finalRemark")
|
|
e.Str(s.FinalRemark)
|
|
}
|
|
{
|
|
e.FieldStart("address")
|
|
e.Str(s.Address)
|
|
}
|
|
{
|
|
e.FieldStart("port")
|
|
e.Int(s.Port)
|
|
}
|
|
{
|
|
e.FieldStart("protocol")
|
|
s.Protocol.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("protocolOptions")
|
|
s.ProtocolOptions.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("transport")
|
|
s.Transport.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("transportOptions")
|
|
s.TransportOptions.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("security")
|
|
s.Security.Encode(e)
|
|
}
|
|
{
|
|
if s.SecurityOptions.Set {
|
|
e.FieldStart("securityOptions")
|
|
s.SecurityOptions.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
e.FieldStart("streamOverrides")
|
|
s.StreamOverrides.Encode(e)
|
|
}
|
|
{
|
|
if len(s.Mux) != 0 {
|
|
e.FieldStart("mux")
|
|
e.Raw(s.Mux)
|
|
}
|
|
}
|
|
{
|
|
e.FieldStart("clientOverrides")
|
|
s.ClientOverrides.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("metadata")
|
|
s.Metadata.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItem = [13]string{
|
|
0: "finalRemark",
|
|
1: "address",
|
|
2: "port",
|
|
3: "protocol",
|
|
4: "protocolOptions",
|
|
5: "transport",
|
|
6: "transportOptions",
|
|
7: "security",
|
|
8: "securityOptions",
|
|
9: "streamOverrides",
|
|
10: "mux",
|
|
11: "clientOverrides",
|
|
12: "metadata",
|
|
}
|
|
|
|
// Decode decodes GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItem from json.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItem) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItem to nil")
|
|
}
|
|
var requiredBitSet [2]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "finalRemark":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.FinalRemark = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"finalRemark\"")
|
|
}
|
|
case "address":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Address = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"address\"")
|
|
}
|
|
case "port":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
v, err := d.Int()
|
|
s.Port = int(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"port\"")
|
|
}
|
|
case "protocol":
|
|
requiredBitSet[0] |= 1 << 3
|
|
if err := func() error {
|
|
if err := s.Protocol.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"protocol\"")
|
|
}
|
|
case "protocolOptions":
|
|
requiredBitSet[0] |= 1 << 4
|
|
if err := func() error {
|
|
if err := s.ProtocolOptions.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"protocolOptions\"")
|
|
}
|
|
case "transport":
|
|
requiredBitSet[0] |= 1 << 5
|
|
if err := func() error {
|
|
if err := s.Transport.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"transport\"")
|
|
}
|
|
case "transportOptions":
|
|
requiredBitSet[0] |= 1 << 6
|
|
if err := func() error {
|
|
if err := s.TransportOptions.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"transportOptions\"")
|
|
}
|
|
case "security":
|
|
requiredBitSet[0] |= 1 << 7
|
|
if err := func() error {
|
|
if err := s.Security.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"security\"")
|
|
}
|
|
case "securityOptions":
|
|
if err := func() error {
|
|
s.SecurityOptions.Reset()
|
|
if err := s.SecurityOptions.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"securityOptions\"")
|
|
}
|
|
case "streamOverrides":
|
|
requiredBitSet[1] |= 1 << 1
|
|
if err := func() error {
|
|
if err := s.StreamOverrides.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"streamOverrides\"")
|
|
}
|
|
case "mux":
|
|
requiredBitSet[1] |= 1 << 2
|
|
if err := func() error {
|
|
v, err := d.RawAppend(nil)
|
|
s.Mux = jx.Raw(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"mux\"")
|
|
}
|
|
case "clientOverrides":
|
|
requiredBitSet[1] |= 1 << 3
|
|
if err := func() error {
|
|
if err := s.ClientOverrides.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"clientOverrides\"")
|
|
}
|
|
case "metadata":
|
|
requiredBitSet[1] |= 1 << 4
|
|
if err := func() error {
|
|
if err := s.Metadata.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"metadata\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItem")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [2]uint8{
|
|
0b11111111,
|
|
0b00011110,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItem) {
|
|
name = jsonFieldsNameOfGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItem[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItem) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItem) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemClientOverrides) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemClientOverrides) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("shuffleHost")
|
|
e.Bool(s.ShuffleHost)
|
|
}
|
|
{
|
|
e.FieldStart("mihomoX25519")
|
|
e.Bool(s.MihomoX25519)
|
|
}
|
|
{
|
|
e.FieldStart("mihomoIpVersion")
|
|
s.MihomoIpVersion.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("serverDescription")
|
|
s.ServerDescription.Encode(e)
|
|
}
|
|
{
|
|
if len(s.XrayJsonTemplate) != 0 {
|
|
e.FieldStart("xrayJsonTemplate")
|
|
e.Raw(s.XrayJsonTemplate)
|
|
}
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemClientOverrides = [5]string{
|
|
0: "shuffleHost",
|
|
1: "mihomoX25519",
|
|
2: "mihomoIpVersion",
|
|
3: "serverDescription",
|
|
4: "xrayJsonTemplate",
|
|
}
|
|
|
|
// Decode decodes GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemClientOverrides from json.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemClientOverrides) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemClientOverrides to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "shuffleHost":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Bool()
|
|
s.ShuffleHost = bool(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"shuffleHost\"")
|
|
}
|
|
case "mihomoX25519":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Bool()
|
|
s.MihomoX25519 = bool(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"mihomoX25519\"")
|
|
}
|
|
case "mihomoIpVersion":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
if err := s.MihomoIpVersion.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"mihomoIpVersion\"")
|
|
}
|
|
case "serverDescription":
|
|
requiredBitSet[0] |= 1 << 3
|
|
if err := func() error {
|
|
if err := s.ServerDescription.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"serverDescription\"")
|
|
}
|
|
case "xrayJsonTemplate":
|
|
requiredBitSet[0] |= 1 << 4
|
|
if err := func() error {
|
|
v, err := d.RawAppend(nil)
|
|
s.XrayJsonTemplate = jx.Raw(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"xrayJsonTemplate\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemClientOverrides")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00011111,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemClientOverrides) {
|
|
name = jsonFieldsNameOfGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemClientOverrides[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemClientOverrides) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemClientOverrides) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemClientOverridesMihomoIpVersion as json.
|
|
func (s GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemClientOverridesMihomoIpVersion) Encode(e *jx.Encoder) {
|
|
e.Str(string(s))
|
|
}
|
|
|
|
// Decode decodes GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemClientOverridesMihomoIpVersion from json.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemClientOverridesMihomoIpVersion) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemClientOverridesMihomoIpVersion to nil")
|
|
}
|
|
v, err := d.StrBytes()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
// Try to use constant string.
|
|
switch GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemClientOverridesMihomoIpVersion(v) {
|
|
case GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemClientOverridesMihomoIpVersionDual:
|
|
*s = GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemClientOverridesMihomoIpVersionDual
|
|
case GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemClientOverridesMihomoIpVersionIpv4:
|
|
*s = GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemClientOverridesMihomoIpVersionIpv4
|
|
case GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemClientOverridesMihomoIpVersionIpv6:
|
|
*s = GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemClientOverridesMihomoIpVersionIpv6
|
|
case GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemClientOverridesMihomoIpVersionIpv4Prefer:
|
|
*s = GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemClientOverridesMihomoIpVersionIpv4Prefer
|
|
case GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemClientOverridesMihomoIpVersionIpv6Prefer:
|
|
*s = GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemClientOverridesMihomoIpVersionIpv6Prefer
|
|
default:
|
|
*s = GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemClientOverridesMihomoIpVersion(v)
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemClientOverridesMihomoIpVersion) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemClientOverridesMihomoIpVersion) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemMetadata) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemMetadata) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("uuid")
|
|
json.EncodeUUID(e, s.UUID)
|
|
}
|
|
{
|
|
e.FieldStart("tags")
|
|
e.ArrStart()
|
|
for _, elem := range s.Tags {
|
|
e.Str(elem)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
{
|
|
e.FieldStart("excludeFromSubscriptionTypes")
|
|
e.ArrStart()
|
|
for _, elem := range s.ExcludeFromSubscriptionTypes {
|
|
elem.Encode(e)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
{
|
|
e.FieldStart("inboundTag")
|
|
e.Str(s.InboundTag)
|
|
}
|
|
{
|
|
e.FieldStart("configProfileUuid")
|
|
s.ConfigProfileUuid.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("configProfileInboundUuid")
|
|
s.ConfigProfileInboundUuid.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("isDisabled")
|
|
e.Bool(s.IsDisabled)
|
|
}
|
|
{
|
|
e.FieldStart("isHidden")
|
|
e.Bool(s.IsHidden)
|
|
}
|
|
{
|
|
e.FieldStart("viewPosition")
|
|
e.Int(s.ViewPosition)
|
|
}
|
|
{
|
|
e.FieldStart("remark")
|
|
e.Str(s.Remark)
|
|
}
|
|
{
|
|
e.FieldStart("vlessRouteId")
|
|
s.VlessRouteId.Encode(e)
|
|
}
|
|
{
|
|
if len(s.RawInbound) != 0 {
|
|
e.FieldStart("rawInbound")
|
|
e.Raw(s.RawInbound)
|
|
}
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemMetadata = [12]string{
|
|
0: "uuid",
|
|
1: "tags",
|
|
2: "excludeFromSubscriptionTypes",
|
|
3: "inboundTag",
|
|
4: "configProfileUuid",
|
|
5: "configProfileInboundUuid",
|
|
6: "isDisabled",
|
|
7: "isHidden",
|
|
8: "viewPosition",
|
|
9: "remark",
|
|
10: "vlessRouteId",
|
|
11: "rawInbound",
|
|
}
|
|
|
|
// Decode decodes GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemMetadata from json.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemMetadata) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemMetadata to nil")
|
|
}
|
|
var requiredBitSet [2]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "uuid":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := json.DecodeUUID(d)
|
|
s.UUID = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"uuid\"")
|
|
}
|
|
case "tags":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
s.Tags = make([]string, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem string
|
|
v, err := d.Str()
|
|
elem = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
s.Tags = append(s.Tags, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"tags\"")
|
|
}
|
|
case "excludeFromSubscriptionTypes":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
s.ExcludeFromSubscriptionTypes = make([]GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemMetadataExcludeFromSubscriptionTypesItem, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemMetadataExcludeFromSubscriptionTypesItem
|
|
if err := elem.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
s.ExcludeFromSubscriptionTypes = append(s.ExcludeFromSubscriptionTypes, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"excludeFromSubscriptionTypes\"")
|
|
}
|
|
case "inboundTag":
|
|
requiredBitSet[0] |= 1 << 3
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.InboundTag = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"inboundTag\"")
|
|
}
|
|
case "configProfileUuid":
|
|
requiredBitSet[0] |= 1 << 4
|
|
if err := func() error {
|
|
if err := s.ConfigProfileUuid.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"configProfileUuid\"")
|
|
}
|
|
case "configProfileInboundUuid":
|
|
requiredBitSet[0] |= 1 << 5
|
|
if err := func() error {
|
|
if err := s.ConfigProfileInboundUuid.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"configProfileInboundUuid\"")
|
|
}
|
|
case "isDisabled":
|
|
requiredBitSet[0] |= 1 << 6
|
|
if err := func() error {
|
|
v, err := d.Bool()
|
|
s.IsDisabled = bool(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"isDisabled\"")
|
|
}
|
|
case "isHidden":
|
|
requiredBitSet[0] |= 1 << 7
|
|
if err := func() error {
|
|
v, err := d.Bool()
|
|
s.IsHidden = bool(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"isHidden\"")
|
|
}
|
|
case "viewPosition":
|
|
requiredBitSet[1] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Int()
|
|
s.ViewPosition = int(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"viewPosition\"")
|
|
}
|
|
case "remark":
|
|
requiredBitSet[1] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Remark = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"remark\"")
|
|
}
|
|
case "vlessRouteId":
|
|
requiredBitSet[1] |= 1 << 2
|
|
if err := func() error {
|
|
if err := s.VlessRouteId.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"vlessRouteId\"")
|
|
}
|
|
case "rawInbound":
|
|
requiredBitSet[1] |= 1 << 3
|
|
if err := func() error {
|
|
v, err := d.RawAppend(nil)
|
|
s.RawInbound = jx.Raw(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"rawInbound\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemMetadata")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [2]uint8{
|
|
0b11111111,
|
|
0b00001111,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemMetadata) {
|
|
name = jsonFieldsNameOfGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemMetadata[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemMetadata) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemMetadata) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemMetadataExcludeFromSubscriptionTypesItem as json.
|
|
func (s GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemMetadataExcludeFromSubscriptionTypesItem) Encode(e *jx.Encoder) {
|
|
e.Str(string(s))
|
|
}
|
|
|
|
// Decode decodes GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemMetadataExcludeFromSubscriptionTypesItem from json.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemMetadataExcludeFromSubscriptionTypesItem) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemMetadataExcludeFromSubscriptionTypesItem to nil")
|
|
}
|
|
v, err := d.StrBytes()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
// Try to use constant string.
|
|
switch GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemMetadataExcludeFromSubscriptionTypesItem(v) {
|
|
case GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemMetadataExcludeFromSubscriptionTypesItemXRAYJSON:
|
|
*s = GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemMetadataExcludeFromSubscriptionTypesItemXRAYJSON
|
|
case GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemMetadataExcludeFromSubscriptionTypesItemXRAYBASE64:
|
|
*s = GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemMetadataExcludeFromSubscriptionTypesItemXRAYBASE64
|
|
case GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemMetadataExcludeFromSubscriptionTypesItemMIHOMO:
|
|
*s = GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemMetadataExcludeFromSubscriptionTypesItemMIHOMO
|
|
case GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemMetadataExcludeFromSubscriptionTypesItemSTASH:
|
|
*s = GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemMetadataExcludeFromSubscriptionTypesItemSTASH
|
|
case GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemMetadataExcludeFromSubscriptionTypesItemCLASH:
|
|
*s = GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemMetadataExcludeFromSubscriptionTypesItemCLASH
|
|
case GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemMetadataExcludeFromSubscriptionTypesItemSINGBOX:
|
|
*s = GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemMetadataExcludeFromSubscriptionTypesItemSINGBOX
|
|
default:
|
|
*s = GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemMetadataExcludeFromSubscriptionTypesItem(v)
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemMetadataExcludeFromSubscriptionTypesItem) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemMetadataExcludeFromSubscriptionTypesItem) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocol as json.
|
|
func (s GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocol) Encode(e *jx.Encoder) {
|
|
e.Str(string(s))
|
|
}
|
|
|
|
// Decode decodes GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocol from json.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocol) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocol to nil")
|
|
}
|
|
v, err := d.StrBytes()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
// Try to use constant string.
|
|
switch GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocol(v) {
|
|
case GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolVless:
|
|
*s = GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolVless
|
|
case GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolTrojan:
|
|
*s = GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolTrojan
|
|
case GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolShadowsocks:
|
|
*s = GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolShadowsocks
|
|
case GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolHysteria:
|
|
*s = GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolHysteria
|
|
default:
|
|
*s = GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocol(v)
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocol) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocol) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions as json.
|
|
func (s GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions) Encode(e *jx.Encoder) {
|
|
switch s.Type {
|
|
case GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions0GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions:
|
|
s.GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions0.Encode(e)
|
|
case GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions1GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions:
|
|
s.GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions1.Encode(e)
|
|
case GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions2GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions:
|
|
s.GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions2.Encode(e)
|
|
case GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions3GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions:
|
|
s.GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions3.Encode(e)
|
|
}
|
|
}
|
|
|
|
func (s GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions) encodeFields(e *jx.Encoder) {
|
|
switch s.Type {
|
|
case GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions0GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions:
|
|
s.GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions0.encodeFields(e)
|
|
case GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions1GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions:
|
|
s.GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions1.encodeFields(e)
|
|
case GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions2GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions:
|
|
s.GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions2.encodeFields(e)
|
|
case GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions3GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions:
|
|
s.GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions3.encodeFields(e)
|
|
}
|
|
}
|
|
|
|
// Decode decodes GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions from json.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions to nil")
|
|
}
|
|
// Sum type fields.
|
|
if typ := d.Next(); typ != jx.Object {
|
|
return errors.Errorf("unexpected json type %q", typ)
|
|
}
|
|
|
|
var found bool
|
|
if err := d.Capture(func(d *jx.Decoder) error {
|
|
return d.ObjBytes(func(d *jx.Decoder, key []byte) error {
|
|
switch string(key) {
|
|
case "encryption":
|
|
// Type-based discrimination: check if field has expected JSON type
|
|
if typ := d.Next(); typ != jx.String {
|
|
// Field exists but has wrong type, not a match for this variant
|
|
return d.Skip()
|
|
}
|
|
match := GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions0GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions
|
|
if found && s.Type != match {
|
|
s.Type = ""
|
|
return errors.Errorf("multiple oneOf matches: (%v, %v)", s.Type, match)
|
|
}
|
|
found = true
|
|
s.Type = match
|
|
case "flow":
|
|
// Type-based discrimination: check if field has expected JSON type
|
|
if typ := d.Next(); typ != jx.String {
|
|
// Field exists but has wrong type, not a match for this variant
|
|
return d.Skip()
|
|
}
|
|
match := GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions0GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions
|
|
if found && s.Type != match {
|
|
s.Type = ""
|
|
return errors.Errorf("multiple oneOf matches: (%v, %v)", s.Type, match)
|
|
}
|
|
found = true
|
|
s.Type = match
|
|
case "id":
|
|
// Type-based discrimination: check if field has expected JSON type
|
|
if typ := d.Next(); typ != jx.String {
|
|
// Field exists but has wrong type, not a match for this variant
|
|
return d.Skip()
|
|
}
|
|
match := GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions0GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions
|
|
if found && s.Type != match {
|
|
s.Type = ""
|
|
return errors.Errorf("multiple oneOf matches: (%v, %v)", s.Type, match)
|
|
}
|
|
found = true
|
|
s.Type = match
|
|
case "method":
|
|
// Type-based discrimination: check if field has expected JSON type
|
|
if typ := d.Next(); typ != jx.String {
|
|
// Field exists but has wrong type, not a match for this variant
|
|
return d.Skip()
|
|
}
|
|
match := GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions2GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions
|
|
if found && s.Type != match {
|
|
s.Type = ""
|
|
return errors.Errorf("multiple oneOf matches: (%v, %v)", s.Type, match)
|
|
}
|
|
found = true
|
|
s.Type = match
|
|
case "uot":
|
|
// Type-based discrimination: check if field has expected JSON type
|
|
if typ := d.Next(); typ != jx.Bool {
|
|
// Field exists but has wrong type, not a match for this variant
|
|
return d.Skip()
|
|
}
|
|
match := GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions2GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions
|
|
if found && s.Type != match {
|
|
s.Type = ""
|
|
return errors.Errorf("multiple oneOf matches: (%v, %v)", s.Type, match)
|
|
}
|
|
found = true
|
|
s.Type = match
|
|
case "uotVersion":
|
|
// Type-based discrimination: check if field has expected JSON type
|
|
if typ := d.Next(); typ != jx.Number {
|
|
// Field exists but has wrong type, not a match for this variant
|
|
return d.Skip()
|
|
}
|
|
match := GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions2GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions
|
|
if found && s.Type != match {
|
|
s.Type = ""
|
|
return errors.Errorf("multiple oneOf matches: (%v, %v)", s.Type, match)
|
|
}
|
|
found = true
|
|
s.Type = match
|
|
case "version":
|
|
// Type-based discrimination: check if field has expected JSON type
|
|
if typ := d.Next(); typ != jx.Number {
|
|
// Field exists but has wrong type, not a match for this variant
|
|
return d.Skip()
|
|
}
|
|
match := GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions3GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions
|
|
if found && s.Type != match {
|
|
s.Type = ""
|
|
return errors.Errorf("multiple oneOf matches: (%v, %v)", s.Type, match)
|
|
}
|
|
found = true
|
|
s.Type = match
|
|
}
|
|
return d.Skip()
|
|
})
|
|
}); err != nil {
|
|
return errors.Wrap(err, "capture")
|
|
}
|
|
if !found {
|
|
s.Type = GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions1GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions
|
|
}
|
|
switch s.Type {
|
|
case GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions0GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions:
|
|
if err := s.GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions0.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
case GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions1GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions:
|
|
if err := s.GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions1.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
case GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions2GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions:
|
|
if err := s.GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions2.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
case GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions3GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions:
|
|
if err := s.GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions3.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
default:
|
|
return errors.Errorf("inferred invalid type: %s", s.Type)
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions0) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions0) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("encryption")
|
|
e.Str(s.Encryption)
|
|
}
|
|
{
|
|
e.FieldStart("id")
|
|
e.Str(s.ID)
|
|
}
|
|
{
|
|
e.FieldStart("flow")
|
|
s.Flow.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions0 = [3]string{
|
|
0: "encryption",
|
|
1: "id",
|
|
2: "flow",
|
|
}
|
|
|
|
// Decode decodes GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions0 from json.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions0) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions0 to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "encryption":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Encryption = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"encryption\"")
|
|
}
|
|
case "id":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.ID = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"id\"")
|
|
}
|
|
case "flow":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
if err := s.Flow.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"flow\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions0")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000111,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions0) {
|
|
name = jsonFieldsNameOfGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions0[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions0) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions0) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions0Flow as json.
|
|
func (s GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions0Flow) Encode(e *jx.Encoder) {
|
|
e.Str(string(s))
|
|
}
|
|
|
|
// Decode decodes GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions0Flow from json.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions0Flow) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions0Flow to nil")
|
|
}
|
|
v, err := d.StrBytes()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
// Try to use constant string.
|
|
switch GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions0Flow(v) {
|
|
case GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions0FlowEmpty:
|
|
*s = GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions0FlowEmpty
|
|
case GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions0FlowXtlsRprxVision:
|
|
*s = GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions0FlowXtlsRprxVision
|
|
case GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions0FlowXtlsRprxVisionUdp443:
|
|
*s = GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions0FlowXtlsRprxVisionUdp443
|
|
default:
|
|
*s = GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions0Flow(v)
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions0Flow) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions0Flow) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions1) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions1) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("password")
|
|
e.Str(s.Password)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions1 = [1]string{
|
|
0: "password",
|
|
}
|
|
|
|
// Decode decodes GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions1 from json.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions1) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions1 to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "password":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Password = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"password\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions1")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions1) {
|
|
name = jsonFieldsNameOfGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions1[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions1) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions1) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions2) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions2) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("method")
|
|
e.Str(s.Method)
|
|
}
|
|
{
|
|
e.FieldStart("password")
|
|
e.Str(s.Password)
|
|
}
|
|
{
|
|
e.FieldStart("uot")
|
|
e.Bool(s.Uot)
|
|
}
|
|
{
|
|
e.FieldStart("uotVersion")
|
|
e.Int(s.UotVersion)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions2 = [4]string{
|
|
0: "method",
|
|
1: "password",
|
|
2: "uot",
|
|
3: "uotVersion",
|
|
}
|
|
|
|
// Decode decodes GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions2 from json.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions2) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions2 to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "method":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Method = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"method\"")
|
|
}
|
|
case "password":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Password = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"password\"")
|
|
}
|
|
case "uot":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
v, err := d.Bool()
|
|
s.Uot = bool(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"uot\"")
|
|
}
|
|
case "uotVersion":
|
|
requiredBitSet[0] |= 1 << 3
|
|
if err := func() error {
|
|
v, err := d.Int()
|
|
s.UotVersion = int(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"uotVersion\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions2")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00001111,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions2) {
|
|
name = jsonFieldsNameOfGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions2[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions2) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions2) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions3) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions3) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("version")
|
|
e.Int(s.Version)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions3 = [1]string{
|
|
0: "version",
|
|
}
|
|
|
|
// Decode decodes GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions3 from json.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions3) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions3 to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "version":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Int()
|
|
s.Version = int(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"version\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions3")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions3) {
|
|
name = jsonFieldsNameOfGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions3[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions3) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemProtocolOptions3) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemSecurity as json.
|
|
func (s GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemSecurity) Encode(e *jx.Encoder) {
|
|
e.Str(string(s))
|
|
}
|
|
|
|
// Decode decodes GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemSecurity from json.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemSecurity) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemSecurity to nil")
|
|
}
|
|
v, err := d.StrBytes()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
// Try to use constant string.
|
|
switch GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemSecurity(v) {
|
|
case GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemSecurityTLS:
|
|
*s = GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemSecurityTLS
|
|
case GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemSecurityReality:
|
|
*s = GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemSecurityReality
|
|
case GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemSecurityNone:
|
|
*s = GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemSecurityNone
|
|
default:
|
|
*s = GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemSecurity(v)
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemSecurity) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemSecurity) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemSecurityOptions as json.
|
|
func (s GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemSecurityOptions) Encode(e *jx.Encoder) {
|
|
switch s.Type {
|
|
case GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemSecurityOptions0GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemSecurityOptions:
|
|
s.GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemSecurityOptions0.Encode(e)
|
|
case GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemSecurityOptions1GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemSecurityOptions:
|
|
s.GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemSecurityOptions1.Encode(e)
|
|
}
|
|
}
|
|
|
|
func (s GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemSecurityOptions) encodeFields(e *jx.Encoder) {
|
|
switch s.Type {
|
|
case GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemSecurityOptions0GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemSecurityOptions:
|
|
s.GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemSecurityOptions0.encodeFields(e)
|
|
case GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemSecurityOptions1GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemSecurityOptions:
|
|
s.GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemSecurityOptions1.encodeFields(e)
|
|
}
|
|
}
|
|
|
|
// Decode decodes GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemSecurityOptions from json.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemSecurityOptions) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemSecurityOptions to nil")
|
|
}
|
|
// Sum type fields.
|
|
if typ := d.Next(); typ != jx.Object {
|
|
return errors.Errorf("unexpected json type %q", typ)
|
|
}
|
|
|
|
var found bool
|
|
if err := d.Capture(func(d *jx.Decoder) error {
|
|
return d.ObjBytes(func(d *jx.Decoder, key []byte) error {
|
|
switch string(key) {
|
|
case "alpn":
|
|
// Type-based discrimination: check if field has expected JSON type (nullable)
|
|
typ := d.Next()
|
|
if typ != jx.String && typ != jx.Null {
|
|
// Field exists but has wrong type, not a match for this variant
|
|
return d.Skip()
|
|
}
|
|
match := GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemSecurityOptions0GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemSecurityOptions
|
|
if found && s.Type != match {
|
|
s.Type = ""
|
|
return errors.Errorf("multiple oneOf matches: (%v, %v)", s.Type, match)
|
|
}
|
|
found = true
|
|
s.Type = match
|
|
case "echConfigList":
|
|
// Type-based discrimination: check if field has expected JSON type (nullable)
|
|
typ := d.Next()
|
|
if typ != jx.String && typ != jx.Null {
|
|
// Field exists but has wrong type, not a match for this variant
|
|
return d.Skip()
|
|
}
|
|
match := GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemSecurityOptions0GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemSecurityOptions
|
|
if found && s.Type != match {
|
|
s.Type = ""
|
|
return errors.Errorf("multiple oneOf matches: (%v, %v)", s.Type, match)
|
|
}
|
|
found = true
|
|
s.Type = match
|
|
case "echForceQuery":
|
|
// Type-based discrimination: check if field has expected JSON type (nullable)
|
|
typ := d.Next()
|
|
if typ != jx.String && typ != jx.Null {
|
|
// Field exists but has wrong type, not a match for this variant
|
|
return d.Skip()
|
|
}
|
|
match := GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemSecurityOptions0GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemSecurityOptions
|
|
if found && s.Type != match {
|
|
s.Type = ""
|
|
return errors.Errorf("multiple oneOf matches: (%v, %v)", s.Type, match)
|
|
}
|
|
found = true
|
|
s.Type = match
|
|
case "enableSessionResumption":
|
|
// Type-based discrimination: check if field has expected JSON type
|
|
if typ := d.Next(); typ != jx.Bool {
|
|
// Field exists but has wrong type, not a match for this variant
|
|
return d.Skip()
|
|
}
|
|
match := GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemSecurityOptions0GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemSecurityOptions
|
|
if found && s.Type != match {
|
|
s.Type = ""
|
|
return errors.Errorf("multiple oneOf matches: (%v, %v)", s.Type, match)
|
|
}
|
|
found = true
|
|
s.Type = match
|
|
case "mldsa65Verify":
|
|
// Type-based discrimination: check if field has expected JSON type (nullable)
|
|
typ := d.Next()
|
|
if typ != jx.String && typ != jx.Null {
|
|
// Field exists but has wrong type, not a match for this variant
|
|
return d.Skip()
|
|
}
|
|
match := GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemSecurityOptions1GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemSecurityOptions
|
|
if found && s.Type != match {
|
|
s.Type = ""
|
|
return errors.Errorf("multiple oneOf matches: (%v, %v)", s.Type, match)
|
|
}
|
|
found = true
|
|
s.Type = match
|
|
case "pinnedPeerCertSha256":
|
|
// Type-based discrimination: check if field has expected JSON type (nullable)
|
|
typ := d.Next()
|
|
if typ != jx.String && typ != jx.Null {
|
|
// Field exists but has wrong type, not a match for this variant
|
|
return d.Skip()
|
|
}
|
|
match := GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemSecurityOptions0GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemSecurityOptions
|
|
if found && s.Type != match {
|
|
s.Type = ""
|
|
return errors.Errorf("multiple oneOf matches: (%v, %v)", s.Type, match)
|
|
}
|
|
found = true
|
|
s.Type = match
|
|
case "publicKey":
|
|
// Type-based discrimination: check if field has expected JSON type
|
|
if typ := d.Next(); typ != jx.String {
|
|
// Field exists but has wrong type, not a match for this variant
|
|
return d.Skip()
|
|
}
|
|
match := GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemSecurityOptions1GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemSecurityOptions
|
|
if found && s.Type != match {
|
|
s.Type = ""
|
|
return errors.Errorf("multiple oneOf matches: (%v, %v)", s.Type, match)
|
|
}
|
|
found = true
|
|
s.Type = match
|
|
case "shortId":
|
|
// Type-based discrimination: check if field has expected JSON type (nullable)
|
|
typ := d.Next()
|
|
if typ != jx.String && typ != jx.Null {
|
|
// Field exists but has wrong type, not a match for this variant
|
|
return d.Skip()
|
|
}
|
|
match := GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemSecurityOptions1GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemSecurityOptions
|
|
if found && s.Type != match {
|
|
s.Type = ""
|
|
return errors.Errorf("multiple oneOf matches: (%v, %v)", s.Type, match)
|
|
}
|
|
found = true
|
|
s.Type = match
|
|
case "spiderX":
|
|
// Type-based discrimination: check if field has expected JSON type (nullable)
|
|
typ := d.Next()
|
|
if typ != jx.String && typ != jx.Null {
|
|
// Field exists but has wrong type, not a match for this variant
|
|
return d.Skip()
|
|
}
|
|
match := GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemSecurityOptions1GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemSecurityOptions
|
|
if found && s.Type != match {
|
|
s.Type = ""
|
|
return errors.Errorf("multiple oneOf matches: (%v, %v)", s.Type, match)
|
|
}
|
|
found = true
|
|
s.Type = match
|
|
case "verifyPeerCertByName":
|
|
// Type-based discrimination: check if field has expected JSON type (nullable)
|
|
typ := d.Next()
|
|
if typ != jx.String && typ != jx.Null {
|
|
// Field exists but has wrong type, not a match for this variant
|
|
return d.Skip()
|
|
}
|
|
match := GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemSecurityOptions0GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemSecurityOptions
|
|
if found && s.Type != match {
|
|
s.Type = ""
|
|
return errors.Errorf("multiple oneOf matches: (%v, %v)", s.Type, match)
|
|
}
|
|
found = true
|
|
s.Type = match
|
|
}
|
|
return d.Skip()
|
|
})
|
|
}); err != nil {
|
|
return errors.Wrap(err, "capture")
|
|
}
|
|
if !found {
|
|
return errors.New("unable to detect sum type variant")
|
|
}
|
|
switch s.Type {
|
|
case GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemSecurityOptions0GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemSecurityOptions:
|
|
if err := s.GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemSecurityOptions0.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
case GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemSecurityOptions1GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemSecurityOptions:
|
|
if err := s.GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemSecurityOptions1.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
default:
|
|
return errors.Errorf("inferred invalid type: %s", s.Type)
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemSecurityOptions) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemSecurityOptions) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemSecurityOptions0) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemSecurityOptions0) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("pinnedPeerCertSha256")
|
|
s.PinnedPeerCertSha256.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("verifyPeerCertByName")
|
|
s.VerifyPeerCertByName.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("alpn")
|
|
s.Alpn.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("enableSessionResumption")
|
|
e.Bool(s.EnableSessionResumption)
|
|
}
|
|
{
|
|
e.FieldStart("fingerprint")
|
|
s.Fingerprint.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("serverName")
|
|
s.ServerName.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("echConfigList")
|
|
s.EchConfigList.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("echForceQuery")
|
|
s.EchForceQuery.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemSecurityOptions0 = [8]string{
|
|
0: "pinnedPeerCertSha256",
|
|
1: "verifyPeerCertByName",
|
|
2: "alpn",
|
|
3: "enableSessionResumption",
|
|
4: "fingerprint",
|
|
5: "serverName",
|
|
6: "echConfigList",
|
|
7: "echForceQuery",
|
|
}
|
|
|
|
// Decode decodes GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemSecurityOptions0 from json.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemSecurityOptions0) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemSecurityOptions0 to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "pinnedPeerCertSha256":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.PinnedPeerCertSha256.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"pinnedPeerCertSha256\"")
|
|
}
|
|
case "verifyPeerCertByName":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
if err := s.VerifyPeerCertByName.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"verifyPeerCertByName\"")
|
|
}
|
|
case "alpn":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
if err := s.Alpn.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"alpn\"")
|
|
}
|
|
case "enableSessionResumption":
|
|
requiredBitSet[0] |= 1 << 3
|
|
if err := func() error {
|
|
v, err := d.Bool()
|
|
s.EnableSessionResumption = bool(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"enableSessionResumption\"")
|
|
}
|
|
case "fingerprint":
|
|
requiredBitSet[0] |= 1 << 4
|
|
if err := func() error {
|
|
if err := s.Fingerprint.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"fingerprint\"")
|
|
}
|
|
case "serverName":
|
|
requiredBitSet[0] |= 1 << 5
|
|
if err := func() error {
|
|
if err := s.ServerName.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"serverName\"")
|
|
}
|
|
case "echConfigList":
|
|
requiredBitSet[0] |= 1 << 6
|
|
if err := func() error {
|
|
if err := s.EchConfigList.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"echConfigList\"")
|
|
}
|
|
case "echForceQuery":
|
|
requiredBitSet[0] |= 1 << 7
|
|
if err := func() error {
|
|
if err := s.EchForceQuery.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"echForceQuery\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemSecurityOptions0")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b11111111,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemSecurityOptions0) {
|
|
name = jsonFieldsNameOfGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemSecurityOptions0[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemSecurityOptions0) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemSecurityOptions0) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemSecurityOptions1) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemSecurityOptions1) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("fingerprint")
|
|
e.Str(s.Fingerprint)
|
|
}
|
|
{
|
|
e.FieldStart("publicKey")
|
|
e.Str(s.PublicKey)
|
|
}
|
|
{
|
|
e.FieldStart("shortId")
|
|
s.ShortId.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("serverName")
|
|
e.Str(s.ServerName)
|
|
}
|
|
{
|
|
e.FieldStart("spiderX")
|
|
s.SpiderX.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("mldsa65Verify")
|
|
s.Mldsa65Verify.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemSecurityOptions1 = [6]string{
|
|
0: "fingerprint",
|
|
1: "publicKey",
|
|
2: "shortId",
|
|
3: "serverName",
|
|
4: "spiderX",
|
|
5: "mldsa65Verify",
|
|
}
|
|
|
|
// Decode decodes GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemSecurityOptions1 from json.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemSecurityOptions1) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemSecurityOptions1 to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "fingerprint":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Fingerprint = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"fingerprint\"")
|
|
}
|
|
case "publicKey":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.PublicKey = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"publicKey\"")
|
|
}
|
|
case "shortId":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
if err := s.ShortId.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"shortId\"")
|
|
}
|
|
case "serverName":
|
|
requiredBitSet[0] |= 1 << 3
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.ServerName = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"serverName\"")
|
|
}
|
|
case "spiderX":
|
|
requiredBitSet[0] |= 1 << 4
|
|
if err := func() error {
|
|
if err := s.SpiderX.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"spiderX\"")
|
|
}
|
|
case "mldsa65Verify":
|
|
requiredBitSet[0] |= 1 << 5
|
|
if err := func() error {
|
|
if err := s.Mldsa65Verify.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"mldsa65Verify\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemSecurityOptions1")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00111111,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemSecurityOptions1) {
|
|
name = jsonFieldsNameOfGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemSecurityOptions1[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemSecurityOptions1) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemSecurityOptions1) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemStreamOverrides) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemStreamOverrides) encodeFields(e *jx.Encoder) {
|
|
{
|
|
if len(s.FinalMask) != 0 {
|
|
e.FieldStart("finalMask")
|
|
e.Raw(s.FinalMask)
|
|
}
|
|
}
|
|
{
|
|
if len(s.Sockopt) != 0 {
|
|
e.FieldStart("sockopt")
|
|
e.Raw(s.Sockopt)
|
|
}
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemStreamOverrides = [2]string{
|
|
0: "finalMask",
|
|
1: "sockopt",
|
|
}
|
|
|
|
// Decode decodes GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemStreamOverrides from json.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemStreamOverrides) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemStreamOverrides to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "finalMask":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.RawAppend(nil)
|
|
s.FinalMask = jx.Raw(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"finalMask\"")
|
|
}
|
|
case "sockopt":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.RawAppend(nil)
|
|
s.Sockopt = jx.Raw(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"sockopt\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemStreamOverrides")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000011,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemStreamOverrides) {
|
|
name = jsonFieldsNameOfGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemStreamOverrides[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemStreamOverrides) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemStreamOverrides) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransport as json.
|
|
func (s GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransport) Encode(e *jx.Encoder) {
|
|
e.Str(string(s))
|
|
}
|
|
|
|
// Decode decodes GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransport from json.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransport) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransport to nil")
|
|
}
|
|
v, err := d.StrBytes()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
// Try to use constant string.
|
|
switch GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransport(v) {
|
|
case GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportTCP:
|
|
*s = GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportTCP
|
|
case GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportXhttp:
|
|
*s = GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportXhttp
|
|
case GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportWs:
|
|
*s = GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportWs
|
|
case GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportHttpupgrade:
|
|
*s = GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportHttpupgrade
|
|
case GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportGrpc:
|
|
*s = GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportGrpc
|
|
case GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportKcp:
|
|
*s = GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportKcp
|
|
case GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportHysteria:
|
|
*s = GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportHysteria
|
|
default:
|
|
*s = GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransport(v)
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransport) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransport) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions as json.
|
|
func (s GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions) Encode(e *jx.Encoder) {
|
|
switch s.Type {
|
|
case GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions:
|
|
s.GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0.Encode(e)
|
|
case GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions1GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions:
|
|
s.GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions1.Encode(e)
|
|
case GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions2GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions:
|
|
s.GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions2.Encode(e)
|
|
case GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions3GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions:
|
|
s.GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions3.Encode(e)
|
|
case GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions4GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions:
|
|
s.GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions4.Encode(e)
|
|
case GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions5GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions:
|
|
s.GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions5.Encode(e)
|
|
case GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions6GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions:
|
|
s.GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions6.Encode(e)
|
|
}
|
|
}
|
|
|
|
func (s GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions) encodeFields(e *jx.Encoder) {
|
|
switch s.Type {
|
|
case GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions:
|
|
s.GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0.encodeFields(e)
|
|
case GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions1GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions:
|
|
s.GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions1.encodeFields(e)
|
|
case GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions2GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions:
|
|
s.GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions2.encodeFields(e)
|
|
case GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions3GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions:
|
|
s.GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions3.encodeFields(e)
|
|
case GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions4GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions:
|
|
s.GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions4.encodeFields(e)
|
|
case GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions5GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions:
|
|
s.GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions5.encodeFields(e)
|
|
case GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions6GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions:
|
|
s.GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions6.encodeFields(e)
|
|
}
|
|
}
|
|
|
|
// Decode decodes GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions from json.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions to nil")
|
|
}
|
|
// Sum type fields.
|
|
if typ := d.Next(); typ != jx.Object {
|
|
return errors.Errorf("unexpected json type %q", typ)
|
|
}
|
|
|
|
var found bool
|
|
if err := d.Capture(func(d *jx.Decoder) error {
|
|
return d.ObjBytes(func(d *jx.Decoder, key []byte) error {
|
|
switch string(key) {
|
|
case "auth":
|
|
// Type-based discrimination: check if field has expected JSON type
|
|
if typ := d.Next(); typ != jx.String {
|
|
// Field exists but has wrong type, not a match for this variant
|
|
return d.Skip()
|
|
}
|
|
match := GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions6GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions
|
|
if found && s.Type != match {
|
|
s.Type = ""
|
|
return errors.Errorf("multiple oneOf matches: (%v, %v)", s.Type, match)
|
|
}
|
|
found = true
|
|
s.Type = match
|
|
case "authority":
|
|
// Type-based discrimination: check if field has expected JSON type (nullable)
|
|
typ := d.Next()
|
|
if typ != jx.String && typ != jx.Null {
|
|
// Field exists but has wrong type, not a match for this variant
|
|
return d.Skip()
|
|
}
|
|
match := GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions4GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions
|
|
if found && s.Type != match {
|
|
s.Type = ""
|
|
return errors.Errorf("multiple oneOf matches: (%v, %v)", s.Type, match)
|
|
}
|
|
found = true
|
|
s.Type = match
|
|
case "clientMtu":
|
|
// Type-based discrimination: check if field has expected JSON type
|
|
if typ := d.Next(); typ != jx.Number {
|
|
// Field exists but has wrong type, not a match for this variant
|
|
return d.Skip()
|
|
}
|
|
match := GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions5GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions
|
|
if found && s.Type != match {
|
|
s.Type = ""
|
|
return errors.Errorf("multiple oneOf matches: (%v, %v)", s.Type, match)
|
|
}
|
|
found = true
|
|
s.Type = match
|
|
case "clientTti":
|
|
// Type-based discrimination: check if field has expected JSON type
|
|
if typ := d.Next(); typ != jx.Number {
|
|
// Field exists but has wrong type, not a match for this variant
|
|
return d.Skip()
|
|
}
|
|
match := GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions5GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions
|
|
if found && s.Type != match {
|
|
s.Type = ""
|
|
return errors.Errorf("multiple oneOf matches: (%v, %v)", s.Type, match)
|
|
}
|
|
found = true
|
|
s.Type = match
|
|
case "congestion":
|
|
// Type-based discrimination: check if field has expected JSON type
|
|
if typ := d.Next(); typ != jx.Bool {
|
|
// Field exists but has wrong type, not a match for this variant
|
|
return d.Skip()
|
|
}
|
|
match := GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions5GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions
|
|
if found && s.Type != match {
|
|
s.Type = ""
|
|
return errors.Errorf("multiple oneOf matches: (%v, %v)", s.Type, match)
|
|
}
|
|
found = true
|
|
s.Type = match
|
|
case "extra":
|
|
// Type-based discrimination: check if field has expected JSON type (nullable)
|
|
typ := d.Next()
|
|
if typ != jx.Object && typ != jx.Null {
|
|
// Field exists but has wrong type, not a match for this variant
|
|
return d.Skip()
|
|
}
|
|
match := GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions1GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions
|
|
if found && s.Type != match {
|
|
s.Type = ""
|
|
return errors.Errorf("multiple oneOf matches: (%v, %v)", s.Type, match)
|
|
}
|
|
found = true
|
|
s.Type = match
|
|
case "header":
|
|
match := GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions
|
|
if found && s.Type != match {
|
|
s.Type = ""
|
|
return errors.Errorf("multiple oneOf matches: (%v, %v)", s.Type, match)
|
|
}
|
|
found = true
|
|
s.Type = match
|
|
case "heartbeatPeriod":
|
|
// Type-based discrimination: check if field has expected JSON type (nullable)
|
|
typ := d.Next()
|
|
if typ != jx.Number && typ != jx.Null {
|
|
// Field exists but has wrong type, not a match for this variant
|
|
return d.Skip()
|
|
}
|
|
match := GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions2GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions
|
|
if found && s.Type != match {
|
|
s.Type = ""
|
|
return errors.Errorf("multiple oneOf matches: (%v, %v)", s.Type, match)
|
|
}
|
|
found = true
|
|
s.Type = match
|
|
case "mode":
|
|
// Type-based discrimination: check if field has expected JSON type
|
|
if typ := d.Next(); typ != jx.String {
|
|
// Field exists but has wrong type, not a match for this variant
|
|
return d.Skip()
|
|
}
|
|
match := GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions1GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions
|
|
if found && s.Type != match {
|
|
s.Type = ""
|
|
return errors.Errorf("multiple oneOf matches: (%v, %v)", s.Type, match)
|
|
}
|
|
found = true
|
|
s.Type = match
|
|
case "multiMode":
|
|
// Type-based discrimination: check if field has expected JSON type
|
|
if typ := d.Next(); typ != jx.Bool {
|
|
// Field exists but has wrong type, not a match for this variant
|
|
return d.Skip()
|
|
}
|
|
match := GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions4GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions
|
|
if found && s.Type != match {
|
|
s.Type = ""
|
|
return errors.Errorf("multiple oneOf matches: (%v, %v)", s.Type, match)
|
|
}
|
|
found = true
|
|
s.Type = match
|
|
case "serviceName":
|
|
// Type-based discrimination: check if field has expected JSON type (nullable)
|
|
typ := d.Next()
|
|
if typ != jx.String && typ != jx.Null {
|
|
// Field exists but has wrong type, not a match for this variant
|
|
return d.Skip()
|
|
}
|
|
match := GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions4GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions
|
|
if found && s.Type != match {
|
|
s.Type = ""
|
|
return errors.Errorf("multiple oneOf matches: (%v, %v)", s.Type, match)
|
|
}
|
|
found = true
|
|
s.Type = match
|
|
case "version":
|
|
// Type-based discrimination: check if field has expected JSON type
|
|
if typ := d.Next(); typ != jx.Number {
|
|
// Field exists but has wrong type, not a match for this variant
|
|
return d.Skip()
|
|
}
|
|
match := GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions6GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions
|
|
if found && s.Type != match {
|
|
s.Type = ""
|
|
return errors.Errorf("multiple oneOf matches: (%v, %v)", s.Type, match)
|
|
}
|
|
found = true
|
|
s.Type = match
|
|
}
|
|
return d.Skip()
|
|
})
|
|
}); err != nil {
|
|
return errors.Wrap(err, "capture")
|
|
}
|
|
if !found {
|
|
s.Type = GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions3GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions
|
|
}
|
|
switch s.Type {
|
|
case GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions:
|
|
if err := s.GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
case GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions1GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions:
|
|
if err := s.GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions1.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
case GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions2GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions:
|
|
if err := s.GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions2.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
case GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions3GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions:
|
|
if err := s.GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions3.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
case GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions4GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions:
|
|
if err := s.GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions4.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
case GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions5GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions:
|
|
if err := s.GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions5.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
case GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions6GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions:
|
|
if err := s.GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions6.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
default:
|
|
return errors.Errorf("inferred invalid type: %s", s.Type)
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("header")
|
|
s.Header.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0 = [1]string{
|
|
0: "header",
|
|
}
|
|
|
|
// Decode decodes GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0 from json.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0 to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "header":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Header.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"header\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0) {
|
|
name = jsonFieldsNameOfGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header as json.
|
|
func (s GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header) Encode(e *jx.Encoder) {
|
|
switch s.Type {
|
|
case GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header0GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header:
|
|
s.GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header0.Encode(e)
|
|
case GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header1GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header:
|
|
s.GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header1.Encode(e)
|
|
}
|
|
}
|
|
|
|
func (s GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header) encodeFields(e *jx.Encoder) {
|
|
switch s.Type {
|
|
case GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header0GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header:
|
|
s.GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header0.encodeFields(e)
|
|
case GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header1GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header:
|
|
s.GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header1.encodeFields(e)
|
|
}
|
|
}
|
|
|
|
// Decode decodes GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header from json.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header to nil")
|
|
}
|
|
// Sum type fields.
|
|
if typ := d.Next(); typ != jx.Object {
|
|
return errors.Errorf("unexpected json type %q", typ)
|
|
}
|
|
|
|
var found bool
|
|
if err := d.Capture(func(d *jx.Decoder) error {
|
|
return d.ObjBytes(func(d *jx.Decoder, key []byte) error {
|
|
switch string(key) {
|
|
case "request":
|
|
// Type-based discrimination: check if field has expected JSON type
|
|
if typ := d.Next(); typ != jx.Object {
|
|
// Field exists but has wrong type, not a match for this variant
|
|
return d.Skip()
|
|
}
|
|
match := GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header1GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header
|
|
if found && s.Type != match {
|
|
s.Type = ""
|
|
return errors.Errorf("multiple oneOf matches: (%v, %v)", s.Type, match)
|
|
}
|
|
found = true
|
|
s.Type = match
|
|
case "response":
|
|
// Type-based discrimination: check if field has expected JSON type
|
|
if typ := d.Next(); typ != jx.Object {
|
|
// Field exists but has wrong type, not a match for this variant
|
|
return d.Skip()
|
|
}
|
|
match := GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header1GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header
|
|
if found && s.Type != match {
|
|
s.Type = ""
|
|
return errors.Errorf("multiple oneOf matches: (%v, %v)", s.Type, match)
|
|
}
|
|
found = true
|
|
s.Type = match
|
|
case "type":
|
|
// Value-based discrimination: check enum value
|
|
if typ := d.Next(); typ != jx.String {
|
|
return d.Skip()
|
|
}
|
|
value, err := d.StrBytes()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
switch string(value) {
|
|
case "http":
|
|
match := GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header1GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header
|
|
if found && s.Type != match {
|
|
s.Type = ""
|
|
return errors.Errorf("multiple oneOf matches: (%v, %v)", s.Type, match)
|
|
}
|
|
found = true
|
|
s.Type = match
|
|
case "none":
|
|
match := GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header0GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header
|
|
if found && s.Type != match {
|
|
s.Type = ""
|
|
return errors.Errorf("multiple oneOf matches: (%v, %v)", s.Type, match)
|
|
}
|
|
found = true
|
|
s.Type = match
|
|
default:
|
|
// Unknown enum value, ignore and continue
|
|
}
|
|
return nil
|
|
}
|
|
return d.Skip()
|
|
})
|
|
}); err != nil {
|
|
return errors.Wrap(err, "capture")
|
|
}
|
|
if !found {
|
|
return errors.New("unable to detect sum type variant")
|
|
}
|
|
switch s.Type {
|
|
case GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header0GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header:
|
|
if err := s.GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header0.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
case GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header1GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header:
|
|
if err := s.GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header1.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
default:
|
|
return errors.Errorf("inferred invalid type: %s", s.Type)
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header0) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header0) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("type")
|
|
s.Type.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header0 = [1]string{
|
|
0: "type",
|
|
}
|
|
|
|
// Decode decodes GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header0 from json.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header0) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header0 to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "type":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Type.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"type\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header0")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header0) {
|
|
name = jsonFieldsNameOfGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header0[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header0) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header0) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header0Type as json.
|
|
func (s GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header0Type) Encode(e *jx.Encoder) {
|
|
e.Str(string(s))
|
|
}
|
|
|
|
// Decode decodes GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header0Type from json.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header0Type) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header0Type to nil")
|
|
}
|
|
v, err := d.StrBytes()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
// Try to use constant string.
|
|
switch GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header0Type(v) {
|
|
case GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header0TypeNone:
|
|
*s = GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header0TypeNone
|
|
default:
|
|
*s = GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header0Type(v)
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header0Type) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header0Type) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header1) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header1) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("type")
|
|
s.Type.Encode(e)
|
|
}
|
|
{
|
|
if s.Request.Set {
|
|
e.FieldStart("request")
|
|
s.Request.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.Response.Set {
|
|
e.FieldStart("response")
|
|
s.Response.Encode(e)
|
|
}
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header1 = [3]string{
|
|
0: "type",
|
|
1: "request",
|
|
2: "response",
|
|
}
|
|
|
|
// Decode decodes GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header1 from json.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header1) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header1 to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "type":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Type.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"type\"")
|
|
}
|
|
case "request":
|
|
if err := func() error {
|
|
s.Request.Reset()
|
|
if err := s.Request.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"request\"")
|
|
}
|
|
case "response":
|
|
if err := func() error {
|
|
s.Response.Reset()
|
|
if err := s.Response.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"response\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header1")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header1) {
|
|
name = jsonFieldsNameOfGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header1[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header1) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header1) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header1Request) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header1Request) encodeFields(e *jx.Encoder) {
|
|
{
|
|
if s.Version.Set {
|
|
e.FieldStart("version")
|
|
s.Version.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.Method.Set {
|
|
e.FieldStart("method")
|
|
s.Method.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.Path != nil {
|
|
e.FieldStart("path")
|
|
e.ArrStart()
|
|
for _, elem := range s.Path {
|
|
e.Str(elem)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
}
|
|
{
|
|
if s.Headers.Set {
|
|
e.FieldStart("headers")
|
|
s.Headers.Encode(e)
|
|
}
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header1Request = [4]string{
|
|
0: "version",
|
|
1: "method",
|
|
2: "path",
|
|
3: "headers",
|
|
}
|
|
|
|
// Decode decodes GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header1Request from json.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header1Request) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header1Request to nil")
|
|
}
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "version":
|
|
if err := func() error {
|
|
s.Version.Reset()
|
|
if err := s.Version.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"version\"")
|
|
}
|
|
case "method":
|
|
if err := func() error {
|
|
s.Method.Reset()
|
|
if err := s.Method.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"method\"")
|
|
}
|
|
case "path":
|
|
if err := func() error {
|
|
s.Path = make([]string, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem string
|
|
v, err := d.Str()
|
|
elem = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
s.Path = append(s.Path, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"path\"")
|
|
}
|
|
case "headers":
|
|
if err := func() error {
|
|
s.Headers.Reset()
|
|
if err := s.Headers.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"headers\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header1Request")
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header1Request) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header1Request) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header1RequestHeaders) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields implements json.Marshaler.
|
|
func (s GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header1RequestHeaders) encodeFields(e *jx.Encoder) {
|
|
for k, elem := range s {
|
|
e.FieldStart(k)
|
|
|
|
if len(elem) != 0 {
|
|
e.Raw(elem)
|
|
}
|
|
}
|
|
}
|
|
|
|
// Decode decodes GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header1RequestHeaders from json.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header1RequestHeaders) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header1RequestHeaders to nil")
|
|
}
|
|
m := s.init()
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
var elem jx.Raw
|
|
if err := func() error {
|
|
v, err := d.RawAppend(nil)
|
|
elem = jx.Raw(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrapf(err, "decode field %q", k)
|
|
}
|
|
m[string(k)] = elem
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header1RequestHeaders")
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header1RequestHeaders) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header1RequestHeaders) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header1Response) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header1Response) encodeFields(e *jx.Encoder) {
|
|
{
|
|
if s.Version.Set {
|
|
e.FieldStart("version")
|
|
s.Version.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.Status.Set {
|
|
e.FieldStart("status")
|
|
s.Status.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.Reason.Set {
|
|
e.FieldStart("reason")
|
|
s.Reason.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.Headers.Set {
|
|
e.FieldStart("headers")
|
|
s.Headers.Encode(e)
|
|
}
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header1Response = [4]string{
|
|
0: "version",
|
|
1: "status",
|
|
2: "reason",
|
|
3: "headers",
|
|
}
|
|
|
|
// Decode decodes GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header1Response from json.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header1Response) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header1Response to nil")
|
|
}
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "version":
|
|
if err := func() error {
|
|
s.Version.Reset()
|
|
if err := s.Version.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"version\"")
|
|
}
|
|
case "status":
|
|
if err := func() error {
|
|
s.Status.Reset()
|
|
if err := s.Status.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"status\"")
|
|
}
|
|
case "reason":
|
|
if err := func() error {
|
|
s.Reason.Reset()
|
|
if err := s.Reason.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"reason\"")
|
|
}
|
|
case "headers":
|
|
if err := func() error {
|
|
s.Headers.Reset()
|
|
if err := s.Headers.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"headers\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header1Response")
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header1Response) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header1Response) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header1ResponseHeaders) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields implements json.Marshaler.
|
|
func (s GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header1ResponseHeaders) encodeFields(e *jx.Encoder) {
|
|
for k, elem := range s {
|
|
e.FieldStart(k)
|
|
|
|
if len(elem) != 0 {
|
|
e.Raw(elem)
|
|
}
|
|
}
|
|
}
|
|
|
|
// Decode decodes GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header1ResponseHeaders from json.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header1ResponseHeaders) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header1ResponseHeaders to nil")
|
|
}
|
|
m := s.init()
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
var elem jx.Raw
|
|
if err := func() error {
|
|
v, err := d.RawAppend(nil)
|
|
elem = jx.Raw(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrapf(err, "decode field %q", k)
|
|
}
|
|
m[string(k)] = elem
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header1ResponseHeaders")
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header1ResponseHeaders) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header1ResponseHeaders) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header1Type as json.
|
|
func (s GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header1Type) Encode(e *jx.Encoder) {
|
|
e.Str(string(s))
|
|
}
|
|
|
|
// Decode decodes GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header1Type from json.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header1Type) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header1Type to nil")
|
|
}
|
|
v, err := d.StrBytes()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
// Try to use constant string.
|
|
switch GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header1Type(v) {
|
|
case GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header1TypeHTTP:
|
|
*s = GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header1TypeHTTP
|
|
default:
|
|
*s = GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header1Type(v)
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header1Type) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header1Type) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions1) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions1) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("path")
|
|
s.Path.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("host")
|
|
s.Host.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("mode")
|
|
s.Mode.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("extra")
|
|
s.Extra.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions1 = [4]string{
|
|
0: "path",
|
|
1: "host",
|
|
2: "mode",
|
|
3: "extra",
|
|
}
|
|
|
|
// Decode decodes GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions1 from json.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions1) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions1 to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "path":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Path.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"path\"")
|
|
}
|
|
case "host":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
if err := s.Host.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"host\"")
|
|
}
|
|
case "mode":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
if err := s.Mode.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"mode\"")
|
|
}
|
|
case "extra":
|
|
requiredBitSet[0] |= 1 << 3
|
|
if err := func() error {
|
|
if err := s.Extra.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"extra\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions1")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00001111,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions1) {
|
|
name = jsonFieldsNameOfGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions1[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions1) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions1) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions1Extra) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields implements json.Marshaler.
|
|
func (s GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions1Extra) encodeFields(e *jx.Encoder) {
|
|
for k, elem := range s {
|
|
e.FieldStart(k)
|
|
|
|
if len(elem) != 0 {
|
|
e.Raw(elem)
|
|
}
|
|
}
|
|
}
|
|
|
|
// Decode decodes GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions1Extra from json.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions1Extra) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions1Extra to nil")
|
|
}
|
|
m := s.init()
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
var elem jx.Raw
|
|
if err := func() error {
|
|
v, err := d.RawAppend(nil)
|
|
elem = jx.Raw(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrapf(err, "decode field %q", k)
|
|
}
|
|
m[string(k)] = elem
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions1Extra")
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions1Extra) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions1Extra) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions1Mode as json.
|
|
func (s GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions1Mode) Encode(e *jx.Encoder) {
|
|
e.Str(string(s))
|
|
}
|
|
|
|
// Decode decodes GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions1Mode from json.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions1Mode) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions1Mode to nil")
|
|
}
|
|
v, err := d.StrBytes()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
// Try to use constant string.
|
|
switch GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions1Mode(v) {
|
|
case GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions1ModeAuto:
|
|
*s = GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions1ModeAuto
|
|
case GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions1ModePacketUp:
|
|
*s = GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions1ModePacketUp
|
|
case GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions1ModeStreamUp:
|
|
*s = GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions1ModeStreamUp
|
|
case GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions1ModeStreamOne:
|
|
*s = GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions1ModeStreamOne
|
|
default:
|
|
*s = GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions1Mode(v)
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions1Mode) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions1Mode) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions2) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions2) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("path")
|
|
s.Path.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("host")
|
|
s.Host.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("headers")
|
|
s.Headers.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("heartbeatPeriod")
|
|
s.HeartbeatPeriod.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions2 = [4]string{
|
|
0: "path",
|
|
1: "host",
|
|
2: "headers",
|
|
3: "heartbeatPeriod",
|
|
}
|
|
|
|
// Decode decodes GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions2 from json.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions2) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions2 to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "path":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Path.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"path\"")
|
|
}
|
|
case "host":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
if err := s.Host.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"host\"")
|
|
}
|
|
case "headers":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
if err := s.Headers.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"headers\"")
|
|
}
|
|
case "heartbeatPeriod":
|
|
requiredBitSet[0] |= 1 << 3
|
|
if err := func() error {
|
|
if err := s.HeartbeatPeriod.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"heartbeatPeriod\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions2")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00001111,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions2) {
|
|
name = jsonFieldsNameOfGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions2[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions2) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions2) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions2Headers) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields implements json.Marshaler.
|
|
func (s GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions2Headers) encodeFields(e *jx.Encoder) {
|
|
for k, elem := range s {
|
|
e.FieldStart(k)
|
|
|
|
e.Str(elem)
|
|
}
|
|
}
|
|
|
|
// Decode decodes GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions2Headers from json.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions2Headers) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions2Headers to nil")
|
|
}
|
|
m := s.init()
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
var elem string
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
elem = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrapf(err, "decode field %q", k)
|
|
}
|
|
m[string(k)] = elem
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions2Headers")
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions2Headers) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions2Headers) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions3) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions3) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("path")
|
|
s.Path.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("host")
|
|
s.Host.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("headers")
|
|
s.Headers.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions3 = [3]string{
|
|
0: "path",
|
|
1: "host",
|
|
2: "headers",
|
|
}
|
|
|
|
// Decode decodes GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions3 from json.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions3) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions3 to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "path":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Path.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"path\"")
|
|
}
|
|
case "host":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
if err := s.Host.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"host\"")
|
|
}
|
|
case "headers":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
if err := s.Headers.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"headers\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions3")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000111,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions3) {
|
|
name = jsonFieldsNameOfGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions3[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions3) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions3) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions3Headers) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields implements json.Marshaler.
|
|
func (s GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions3Headers) encodeFields(e *jx.Encoder) {
|
|
for k, elem := range s {
|
|
e.FieldStart(k)
|
|
|
|
e.Str(elem)
|
|
}
|
|
}
|
|
|
|
// Decode decodes GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions3Headers from json.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions3Headers) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions3Headers to nil")
|
|
}
|
|
m := s.init()
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
var elem string
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
elem = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrapf(err, "decode field %q", k)
|
|
}
|
|
m[string(k)] = elem
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions3Headers")
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions3Headers) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions3Headers) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions4) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions4) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("authority")
|
|
s.Authority.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("serviceName")
|
|
s.ServiceName.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("multiMode")
|
|
e.Bool(s.MultiMode)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions4 = [3]string{
|
|
0: "authority",
|
|
1: "serviceName",
|
|
2: "multiMode",
|
|
}
|
|
|
|
// Decode decodes GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions4 from json.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions4) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions4 to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "authority":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Authority.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"authority\"")
|
|
}
|
|
case "serviceName":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
if err := s.ServiceName.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"serviceName\"")
|
|
}
|
|
case "multiMode":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
v, err := d.Bool()
|
|
s.MultiMode = bool(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"multiMode\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions4")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000111,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions4) {
|
|
name = jsonFieldsNameOfGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions4[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions4) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions4) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions5) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions5) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("clientMtu")
|
|
e.Int(s.ClientMtu)
|
|
}
|
|
{
|
|
e.FieldStart("clientTti")
|
|
e.Int(s.ClientTti)
|
|
}
|
|
{
|
|
e.FieldStart("congestion")
|
|
e.Bool(s.Congestion)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions5 = [3]string{
|
|
0: "clientMtu",
|
|
1: "clientTti",
|
|
2: "congestion",
|
|
}
|
|
|
|
// Decode decodes GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions5 from json.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions5) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions5 to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "clientMtu":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Int()
|
|
s.ClientMtu = int(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"clientMtu\"")
|
|
}
|
|
case "clientTti":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Int()
|
|
s.ClientTti = int(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"clientTti\"")
|
|
}
|
|
case "congestion":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
v, err := d.Bool()
|
|
s.Congestion = bool(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"congestion\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions5")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000111,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions5) {
|
|
name = jsonFieldsNameOfGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions5[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions5) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions5) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions6) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions6) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("version")
|
|
e.Int(s.Version)
|
|
}
|
|
{
|
|
e.FieldStart("auth")
|
|
e.Str(s.Auth)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions6 = [2]string{
|
|
0: "version",
|
|
1: "auth",
|
|
}
|
|
|
|
// Decode decodes GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions6 from json.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions6) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions6 to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "version":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Int()
|
|
s.Version = int(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"version\"")
|
|
}
|
|
case "auth":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Auth = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"auth\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions6")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000011,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions6) {
|
|
name = jsonFieldsNameOfGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions6[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions6) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions6) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GetRecapResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GetRecapResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("response")
|
|
s.Response.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGetRecapResponse = [1]string{
|
|
0: "response",
|
|
}
|
|
|
|
// Decode decodes GetRecapResponse from json.
|
|
func (s *GetRecapResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetRecapResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "response":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Response.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"response\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetRecapResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGetRecapResponse) {
|
|
name = jsonFieldsNameOfGetRecapResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GetRecapResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetRecapResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GetRecapResponseResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GetRecapResponseResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("thisMonth")
|
|
s.ThisMonth.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("total")
|
|
s.Total.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("version")
|
|
e.Str(s.Version)
|
|
}
|
|
{
|
|
e.FieldStart("initDate")
|
|
json.EncodeDateTime(e, s.InitDate)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGetRecapResponseResponse = [4]string{
|
|
0: "thisMonth",
|
|
1: "total",
|
|
2: "version",
|
|
3: "initDate",
|
|
}
|
|
|
|
// Decode decodes GetRecapResponseResponse from json.
|
|
func (s *GetRecapResponseResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetRecapResponseResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "thisMonth":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.ThisMonth.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"thisMonth\"")
|
|
}
|
|
case "total":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
if err := s.Total.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"total\"")
|
|
}
|
|
case "version":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Version = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"version\"")
|
|
}
|
|
case "initDate":
|
|
requiredBitSet[0] |= 1 << 3
|
|
if err := func() error {
|
|
v, err := json.DecodeDateTime(d)
|
|
s.InitDate = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"initDate\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetRecapResponseResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00001111,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGetRecapResponseResponse) {
|
|
name = jsonFieldsNameOfGetRecapResponseResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GetRecapResponseResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetRecapResponseResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GetRecapResponseResponseThisMonth) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GetRecapResponseResponseThisMonth) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("users")
|
|
e.Float64(s.Users)
|
|
}
|
|
{
|
|
e.FieldStart("traffic")
|
|
e.Str(s.Traffic)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGetRecapResponseResponseThisMonth = [2]string{
|
|
0: "users",
|
|
1: "traffic",
|
|
}
|
|
|
|
// Decode decodes GetRecapResponseResponseThisMonth from json.
|
|
func (s *GetRecapResponseResponseThisMonth) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetRecapResponseResponseThisMonth to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "users":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.Users = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"users\"")
|
|
}
|
|
case "traffic":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Traffic = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"traffic\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetRecapResponseResponseThisMonth")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000011,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGetRecapResponseResponseThisMonth) {
|
|
name = jsonFieldsNameOfGetRecapResponseResponseThisMonth[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GetRecapResponseResponseThisMonth) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetRecapResponseResponseThisMonth) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GetRecapResponseResponseTotal) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GetRecapResponseResponseTotal) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("users")
|
|
e.Float64(s.Users)
|
|
}
|
|
{
|
|
e.FieldStart("nodes")
|
|
e.Float64(s.Nodes)
|
|
}
|
|
{
|
|
e.FieldStart("traffic")
|
|
e.Str(s.Traffic)
|
|
}
|
|
{
|
|
e.FieldStart("nodesRam")
|
|
e.Str(s.NodesRam)
|
|
}
|
|
{
|
|
e.FieldStart("nodesCpuCores")
|
|
e.Float64(s.NodesCpuCores)
|
|
}
|
|
{
|
|
e.FieldStart("distinctCountries")
|
|
e.Float64(s.DistinctCountries)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGetRecapResponseResponseTotal = [6]string{
|
|
0: "users",
|
|
1: "nodes",
|
|
2: "traffic",
|
|
3: "nodesRam",
|
|
4: "nodesCpuCores",
|
|
5: "distinctCountries",
|
|
}
|
|
|
|
// Decode decodes GetRecapResponseResponseTotal from json.
|
|
func (s *GetRecapResponseResponseTotal) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetRecapResponseResponseTotal to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "users":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.Users = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"users\"")
|
|
}
|
|
case "nodes":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.Nodes = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"nodes\"")
|
|
}
|
|
case "traffic":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Traffic = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"traffic\"")
|
|
}
|
|
case "nodesRam":
|
|
requiredBitSet[0] |= 1 << 3
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.NodesRam = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"nodesRam\"")
|
|
}
|
|
case "nodesCpuCores":
|
|
requiredBitSet[0] |= 1 << 4
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.NodesCpuCores = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"nodesCpuCores\"")
|
|
}
|
|
case "distinctCountries":
|
|
requiredBitSet[0] |= 1 << 5
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.DistinctCountries = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"distinctCountries\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetRecapResponseResponseTotal")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00111111,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGetRecapResponseResponseTotal) {
|
|
name = jsonFieldsNameOfGetRecapResponseResponseTotal[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GetRecapResponseResponseTotal) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetRecapResponseResponseTotal) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GetRemnawaveHealthResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GetRemnawaveHealthResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("response")
|
|
s.Response.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGetRemnawaveHealthResponse = [1]string{
|
|
0: "response",
|
|
}
|
|
|
|
// Decode decodes GetRemnawaveHealthResponse from json.
|
|
func (s *GetRemnawaveHealthResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetRemnawaveHealthResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "response":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Response.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"response\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetRemnawaveHealthResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGetRemnawaveHealthResponse) {
|
|
name = jsonFieldsNameOfGetRemnawaveHealthResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GetRemnawaveHealthResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetRemnawaveHealthResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GetRemnawaveHealthResponseResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GetRemnawaveHealthResponseResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("runtimeMetrics")
|
|
e.ArrStart()
|
|
for _, elem := range s.RuntimeMetrics {
|
|
elem.Encode(e)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGetRemnawaveHealthResponseResponse = [1]string{
|
|
0: "runtimeMetrics",
|
|
}
|
|
|
|
// Decode decodes GetRemnawaveHealthResponseResponse from json.
|
|
func (s *GetRemnawaveHealthResponseResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetRemnawaveHealthResponseResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "runtimeMetrics":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
s.RuntimeMetrics = make([]GetRemnawaveHealthResponseResponseRuntimeMetricsItem, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem GetRemnawaveHealthResponseResponseRuntimeMetricsItem
|
|
if err := elem.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
s.RuntimeMetrics = append(s.RuntimeMetrics, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"runtimeMetrics\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetRemnawaveHealthResponseResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGetRemnawaveHealthResponseResponse) {
|
|
name = jsonFieldsNameOfGetRemnawaveHealthResponseResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GetRemnawaveHealthResponseResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetRemnawaveHealthResponseResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GetRemnawaveHealthResponseResponseRuntimeMetricsItem) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GetRemnawaveHealthResponseResponseRuntimeMetricsItem) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("rss")
|
|
e.Float64(s.Rss)
|
|
}
|
|
{
|
|
e.FieldStart("heapUsed")
|
|
e.Float64(s.HeapUsed)
|
|
}
|
|
{
|
|
e.FieldStart("heapTotal")
|
|
e.Float64(s.HeapTotal)
|
|
}
|
|
{
|
|
e.FieldStart("external")
|
|
e.Float64(s.External)
|
|
}
|
|
{
|
|
e.FieldStart("arrayBuffers")
|
|
e.Float64(s.ArrayBuffers)
|
|
}
|
|
{
|
|
e.FieldStart("eventLoopDelayMs")
|
|
e.Float64(s.EventLoopDelayMs)
|
|
}
|
|
{
|
|
e.FieldStart("eventLoopP99Ms")
|
|
e.Float64(s.EventLoopP99Ms)
|
|
}
|
|
{
|
|
e.FieldStart("activeHandles")
|
|
e.Float64(s.ActiveHandles)
|
|
}
|
|
{
|
|
e.FieldStart("uptime")
|
|
e.Float64(s.Uptime)
|
|
}
|
|
{
|
|
e.FieldStart("pid")
|
|
e.Float64(s.Pid)
|
|
}
|
|
{
|
|
e.FieldStart("timestamp")
|
|
e.Float64(s.Timestamp)
|
|
}
|
|
{
|
|
e.FieldStart("instanceId")
|
|
e.Str(s.InstanceId)
|
|
}
|
|
{
|
|
e.FieldStart("instanceType")
|
|
e.Str(s.InstanceType)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGetRemnawaveHealthResponseResponseRuntimeMetricsItem = [13]string{
|
|
0: "rss",
|
|
1: "heapUsed",
|
|
2: "heapTotal",
|
|
3: "external",
|
|
4: "arrayBuffers",
|
|
5: "eventLoopDelayMs",
|
|
6: "eventLoopP99Ms",
|
|
7: "activeHandles",
|
|
8: "uptime",
|
|
9: "pid",
|
|
10: "timestamp",
|
|
11: "instanceId",
|
|
12: "instanceType",
|
|
}
|
|
|
|
// Decode decodes GetRemnawaveHealthResponseResponseRuntimeMetricsItem from json.
|
|
func (s *GetRemnawaveHealthResponseResponseRuntimeMetricsItem) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetRemnawaveHealthResponseResponseRuntimeMetricsItem to nil")
|
|
}
|
|
var requiredBitSet [2]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "rss":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.Rss = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"rss\"")
|
|
}
|
|
case "heapUsed":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.HeapUsed = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"heapUsed\"")
|
|
}
|
|
case "heapTotal":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.HeapTotal = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"heapTotal\"")
|
|
}
|
|
case "external":
|
|
requiredBitSet[0] |= 1 << 3
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.External = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"external\"")
|
|
}
|
|
case "arrayBuffers":
|
|
requiredBitSet[0] |= 1 << 4
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.ArrayBuffers = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"arrayBuffers\"")
|
|
}
|
|
case "eventLoopDelayMs":
|
|
requiredBitSet[0] |= 1 << 5
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.EventLoopDelayMs = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"eventLoopDelayMs\"")
|
|
}
|
|
case "eventLoopP99Ms":
|
|
requiredBitSet[0] |= 1 << 6
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.EventLoopP99Ms = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"eventLoopP99Ms\"")
|
|
}
|
|
case "activeHandles":
|
|
requiredBitSet[0] |= 1 << 7
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.ActiveHandles = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"activeHandles\"")
|
|
}
|
|
case "uptime":
|
|
requiredBitSet[1] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.Uptime = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"uptime\"")
|
|
}
|
|
case "pid":
|
|
requiredBitSet[1] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.Pid = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"pid\"")
|
|
}
|
|
case "timestamp":
|
|
requiredBitSet[1] |= 1 << 2
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.Timestamp = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"timestamp\"")
|
|
}
|
|
case "instanceId":
|
|
requiredBitSet[1] |= 1 << 3
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.InstanceId = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"instanceId\"")
|
|
}
|
|
case "instanceType":
|
|
requiredBitSet[1] |= 1 << 4
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.InstanceType = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"instanceType\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetRemnawaveHealthResponseResponseRuntimeMetricsItem")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [2]uint8{
|
|
0b11111111,
|
|
0b00011111,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGetRemnawaveHealthResponseResponseRuntimeMetricsItem) {
|
|
name = jsonFieldsNameOfGetRemnawaveHealthResponseResponseRuntimeMetricsItem[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GetRemnawaveHealthResponseResponseRuntimeMetricsItem) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetRemnawaveHealthResponseResponseRuntimeMetricsItem) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GetStatsNodesUsersUsageRequest) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GetStatsNodesUsersUsageRequest) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("nodesUuids")
|
|
e.ArrStart()
|
|
for _, elem := range s.NodesUuids {
|
|
json.EncodeUUID(e, elem)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGetStatsNodesUsersUsageRequest = [1]string{
|
|
0: "nodesUuids",
|
|
}
|
|
|
|
// Decode decodes GetStatsNodesUsersUsageRequest from json.
|
|
func (s *GetStatsNodesUsersUsageRequest) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetStatsNodesUsersUsageRequest to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "nodesUuids":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
s.NodesUuids = make([]uuid.UUID, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem uuid.UUID
|
|
v, err := json.DecodeUUID(d)
|
|
elem = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
s.NodesUuids = append(s.NodesUuids, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"nodesUuids\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetStatsNodesUsersUsageRequest")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGetStatsNodesUsersUsageRequest) {
|
|
name = jsonFieldsNameOfGetStatsNodesUsersUsageRequest[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GetStatsNodesUsersUsageRequest) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetStatsNodesUsersUsageRequest) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GetStatsResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GetStatsResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("response")
|
|
s.Response.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGetStatsResponse = [1]string{
|
|
0: "response",
|
|
}
|
|
|
|
// Decode decodes GetStatsResponse from json.
|
|
func (s *GetStatsResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetStatsResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "response":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Response.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"response\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetStatsResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGetStatsResponse) {
|
|
name = jsonFieldsNameOfGetStatsResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GetStatsResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetStatsResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GetStatsResponseResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GetStatsResponseResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("cpu")
|
|
s.CPU.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("memory")
|
|
s.Memory.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("uptime")
|
|
e.Float64(s.Uptime)
|
|
}
|
|
{
|
|
e.FieldStart("timestamp")
|
|
e.Float64(s.Timestamp)
|
|
}
|
|
{
|
|
e.FieldStart("users")
|
|
s.Users.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("onlineStats")
|
|
s.OnlineStats.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("nodes")
|
|
s.Nodes.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGetStatsResponseResponse = [7]string{
|
|
0: "cpu",
|
|
1: "memory",
|
|
2: "uptime",
|
|
3: "timestamp",
|
|
4: "users",
|
|
5: "onlineStats",
|
|
6: "nodes",
|
|
}
|
|
|
|
// Decode decodes GetStatsResponseResponse from json.
|
|
func (s *GetStatsResponseResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetStatsResponseResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "cpu":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.CPU.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"cpu\"")
|
|
}
|
|
case "memory":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
if err := s.Memory.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"memory\"")
|
|
}
|
|
case "uptime":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.Uptime = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"uptime\"")
|
|
}
|
|
case "timestamp":
|
|
requiredBitSet[0] |= 1 << 3
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.Timestamp = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"timestamp\"")
|
|
}
|
|
case "users":
|
|
requiredBitSet[0] |= 1 << 4
|
|
if err := func() error {
|
|
if err := s.Users.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"users\"")
|
|
}
|
|
case "onlineStats":
|
|
requiredBitSet[0] |= 1 << 5
|
|
if err := func() error {
|
|
if err := s.OnlineStats.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"onlineStats\"")
|
|
}
|
|
case "nodes":
|
|
requiredBitSet[0] |= 1 << 6
|
|
if err := func() error {
|
|
if err := s.Nodes.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"nodes\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetStatsResponseResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b01111111,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGetStatsResponseResponse) {
|
|
name = jsonFieldsNameOfGetStatsResponseResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GetStatsResponseResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetStatsResponseResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GetStatsResponseResponseCPU) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GetStatsResponseResponseCPU) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("cores")
|
|
e.Float64(s.Cores)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGetStatsResponseResponseCPU = [1]string{
|
|
0: "cores",
|
|
}
|
|
|
|
// Decode decodes GetStatsResponseResponseCPU from json.
|
|
func (s *GetStatsResponseResponseCPU) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetStatsResponseResponseCPU to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "cores":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.Cores = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"cores\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetStatsResponseResponseCPU")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGetStatsResponseResponseCPU) {
|
|
name = jsonFieldsNameOfGetStatsResponseResponseCPU[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GetStatsResponseResponseCPU) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetStatsResponseResponseCPU) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GetStatsResponseResponseMemory) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GetStatsResponseResponseMemory) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("total")
|
|
e.Float64(s.Total)
|
|
}
|
|
{
|
|
e.FieldStart("free")
|
|
e.Float64(s.Free)
|
|
}
|
|
{
|
|
e.FieldStart("used")
|
|
e.Float64(s.Used)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGetStatsResponseResponseMemory = [3]string{
|
|
0: "total",
|
|
1: "free",
|
|
2: "used",
|
|
}
|
|
|
|
// Decode decodes GetStatsResponseResponseMemory from json.
|
|
func (s *GetStatsResponseResponseMemory) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetStatsResponseResponseMemory to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "total":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.Total = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"total\"")
|
|
}
|
|
case "free":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.Free = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"free\"")
|
|
}
|
|
case "used":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.Used = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"used\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetStatsResponseResponseMemory")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000111,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGetStatsResponseResponseMemory) {
|
|
name = jsonFieldsNameOfGetStatsResponseResponseMemory[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GetStatsResponseResponseMemory) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetStatsResponseResponseMemory) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GetStatsResponseResponseNodes) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GetStatsResponseResponseNodes) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("totalOnline")
|
|
e.Float64(s.TotalOnline)
|
|
}
|
|
{
|
|
e.FieldStart("totalBytesLifetime")
|
|
e.Str(s.TotalBytesLifetime)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGetStatsResponseResponseNodes = [2]string{
|
|
0: "totalOnline",
|
|
1: "totalBytesLifetime",
|
|
}
|
|
|
|
// Decode decodes GetStatsResponseResponseNodes from json.
|
|
func (s *GetStatsResponseResponseNodes) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetStatsResponseResponseNodes to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "totalOnline":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.TotalOnline = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"totalOnline\"")
|
|
}
|
|
case "totalBytesLifetime":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.TotalBytesLifetime = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"totalBytesLifetime\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetStatsResponseResponseNodes")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000011,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGetStatsResponseResponseNodes) {
|
|
name = jsonFieldsNameOfGetStatsResponseResponseNodes[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GetStatsResponseResponseNodes) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetStatsResponseResponseNodes) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GetStatsResponseResponseOnlineStats) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GetStatsResponseResponseOnlineStats) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("lastDay")
|
|
e.Float64(s.LastDay)
|
|
}
|
|
{
|
|
e.FieldStart("lastWeek")
|
|
e.Float64(s.LastWeek)
|
|
}
|
|
{
|
|
e.FieldStart("neverOnline")
|
|
e.Float64(s.NeverOnline)
|
|
}
|
|
{
|
|
e.FieldStart("onlineNow")
|
|
e.Float64(s.OnlineNow)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGetStatsResponseResponseOnlineStats = [4]string{
|
|
0: "lastDay",
|
|
1: "lastWeek",
|
|
2: "neverOnline",
|
|
3: "onlineNow",
|
|
}
|
|
|
|
// Decode decodes GetStatsResponseResponseOnlineStats from json.
|
|
func (s *GetStatsResponseResponseOnlineStats) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetStatsResponseResponseOnlineStats to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "lastDay":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.LastDay = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"lastDay\"")
|
|
}
|
|
case "lastWeek":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.LastWeek = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"lastWeek\"")
|
|
}
|
|
case "neverOnline":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.NeverOnline = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"neverOnline\"")
|
|
}
|
|
case "onlineNow":
|
|
requiredBitSet[0] |= 1 << 3
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.OnlineNow = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"onlineNow\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetStatsResponseResponseOnlineStats")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00001111,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGetStatsResponseResponseOnlineStats) {
|
|
name = jsonFieldsNameOfGetStatsResponseResponseOnlineStats[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GetStatsResponseResponseOnlineStats) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetStatsResponseResponseOnlineStats) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GetStatsResponseResponseUsers) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GetStatsResponseResponseUsers) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("statusCounts")
|
|
s.StatusCounts.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("totalUsers")
|
|
e.Float64(s.TotalUsers)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGetStatsResponseResponseUsers = [2]string{
|
|
0: "statusCounts",
|
|
1: "totalUsers",
|
|
}
|
|
|
|
// Decode decodes GetStatsResponseResponseUsers from json.
|
|
func (s *GetStatsResponseResponseUsers) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetStatsResponseResponseUsers to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "statusCounts":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.StatusCounts.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"statusCounts\"")
|
|
}
|
|
case "totalUsers":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.TotalUsers = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"totalUsers\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetStatsResponseResponseUsers")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000011,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGetStatsResponseResponseUsers) {
|
|
name = jsonFieldsNameOfGetStatsResponseResponseUsers[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GetStatsResponseResponseUsers) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetStatsResponseResponseUsers) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s GetStatsResponseResponseUsersStatusCounts) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields implements json.Marshaler.
|
|
func (s GetStatsResponseResponseUsersStatusCounts) encodeFields(e *jx.Encoder) {
|
|
for k, elem := range s {
|
|
e.FieldStart(k)
|
|
|
|
e.Float64(elem)
|
|
}
|
|
}
|
|
|
|
// Decode decodes GetStatsResponseResponseUsersStatusCounts from json.
|
|
func (s *GetStatsResponseResponseUsersStatusCounts) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetStatsResponseResponseUsersStatusCounts to nil")
|
|
}
|
|
m := s.init()
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
var elem float64
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
elem = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrapf(err, "decode field %q", k)
|
|
}
|
|
m[string(k)] = elem
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetStatsResponseResponseUsersStatusCounts")
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s GetStatsResponseResponseUsersStatusCounts) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetStatsResponseResponseUsersStatusCounts) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GetStatusResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GetStatusResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("response")
|
|
s.Response.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGetStatusResponse = [1]string{
|
|
0: "response",
|
|
}
|
|
|
|
// Decode decodes GetStatusResponse from json.
|
|
func (s *GetStatusResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetStatusResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "response":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Response.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"response\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetStatusResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGetStatusResponse) {
|
|
name = jsonFieldsNameOfGetStatusResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GetStatusResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetStatusResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GetStatusResponseResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GetStatusResponseResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("isLoginAllowed")
|
|
e.Bool(s.IsLoginAllowed)
|
|
}
|
|
{
|
|
e.FieldStart("isRegisterAllowed")
|
|
e.Bool(s.IsRegisterAllowed)
|
|
}
|
|
{
|
|
e.FieldStart("authentication")
|
|
s.Authentication.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("branding")
|
|
s.Branding.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGetStatusResponseResponse = [4]string{
|
|
0: "isLoginAllowed",
|
|
1: "isRegisterAllowed",
|
|
2: "authentication",
|
|
3: "branding",
|
|
}
|
|
|
|
// Decode decodes GetStatusResponseResponse from json.
|
|
func (s *GetStatusResponseResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetStatusResponseResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "isLoginAllowed":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Bool()
|
|
s.IsLoginAllowed = bool(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"isLoginAllowed\"")
|
|
}
|
|
case "isRegisterAllowed":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Bool()
|
|
s.IsRegisterAllowed = bool(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"isRegisterAllowed\"")
|
|
}
|
|
case "authentication":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
if err := s.Authentication.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"authentication\"")
|
|
}
|
|
case "branding":
|
|
requiredBitSet[0] |= 1 << 3
|
|
if err := func() error {
|
|
if err := s.Branding.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"branding\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetStatusResponseResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00001111,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGetStatusResponseResponse) {
|
|
name = jsonFieldsNameOfGetStatusResponseResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GetStatusResponseResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetStatusResponseResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GetStatusResponseResponseAuthentication) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GetStatusResponseResponseAuthentication) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("passkey")
|
|
s.Passkey.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("oauth2")
|
|
s.OAuth2.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("password")
|
|
s.Password.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGetStatusResponseResponseAuthentication = [3]string{
|
|
0: "passkey",
|
|
1: "oauth2",
|
|
2: "password",
|
|
}
|
|
|
|
// Decode decodes GetStatusResponseResponseAuthentication from json.
|
|
func (s *GetStatusResponseResponseAuthentication) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetStatusResponseResponseAuthentication to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "passkey":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Passkey.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"passkey\"")
|
|
}
|
|
case "oauth2":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
if err := s.OAuth2.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"oauth2\"")
|
|
}
|
|
case "password":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
if err := s.Password.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"password\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetStatusResponseResponseAuthentication")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000111,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGetStatusResponseResponseAuthentication) {
|
|
name = jsonFieldsNameOfGetStatusResponseResponseAuthentication[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GetStatusResponseResponseAuthentication) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetStatusResponseResponseAuthentication) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GetStatusResponseResponseAuthenticationOAuth2) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GetStatusResponseResponseAuthenticationOAuth2) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("providers")
|
|
s.Providers.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGetStatusResponseResponseAuthenticationOAuth2 = [1]string{
|
|
0: "providers",
|
|
}
|
|
|
|
// Decode decodes GetStatusResponseResponseAuthenticationOAuth2 from json.
|
|
func (s *GetStatusResponseResponseAuthenticationOAuth2) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetStatusResponseResponseAuthenticationOAuth2 to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "providers":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Providers.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"providers\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetStatusResponseResponseAuthenticationOAuth2")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGetStatusResponseResponseAuthenticationOAuth2) {
|
|
name = jsonFieldsNameOfGetStatusResponseResponseAuthenticationOAuth2[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GetStatusResponseResponseAuthenticationOAuth2) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetStatusResponseResponseAuthenticationOAuth2) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s GetStatusResponseResponseAuthenticationOAuth2Providers) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields implements json.Marshaler.
|
|
func (s GetStatusResponseResponseAuthenticationOAuth2Providers) encodeFields(e *jx.Encoder) {
|
|
for k, elem := range s {
|
|
e.FieldStart(k)
|
|
|
|
e.Bool(elem)
|
|
}
|
|
}
|
|
|
|
// Decode decodes GetStatusResponseResponseAuthenticationOAuth2Providers from json.
|
|
func (s *GetStatusResponseResponseAuthenticationOAuth2Providers) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetStatusResponseResponseAuthenticationOAuth2Providers to nil")
|
|
}
|
|
m := s.init()
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
var elem bool
|
|
if err := func() error {
|
|
v, err := d.Bool()
|
|
elem = bool(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrapf(err, "decode field %q", k)
|
|
}
|
|
m[string(k)] = elem
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetStatusResponseResponseAuthenticationOAuth2Providers")
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s GetStatusResponseResponseAuthenticationOAuth2Providers) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetStatusResponseResponseAuthenticationOAuth2Providers) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GetStatusResponseResponseBranding) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GetStatusResponseResponseBranding) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("title")
|
|
s.Title.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("logoUrl")
|
|
s.LogoUrl.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGetStatusResponseResponseBranding = [2]string{
|
|
0: "title",
|
|
1: "logoUrl",
|
|
}
|
|
|
|
// Decode decodes GetStatusResponseResponseBranding from json.
|
|
func (s *GetStatusResponseResponseBranding) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetStatusResponseResponseBranding to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "title":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Title.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"title\"")
|
|
}
|
|
case "logoUrl":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
if err := s.LogoUrl.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"logoUrl\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetStatusResponseResponseBranding")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000011,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGetStatusResponseResponseBranding) {
|
|
name = jsonFieldsNameOfGetStatusResponseResponseBranding[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GetStatusResponseResponseBranding) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetStatusResponseResponseBranding) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GetSubpageConfigByShortUuidRequestBody) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GetSubpageConfigByShortUuidRequestBody) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("requestHeaders")
|
|
s.RequestHeaders.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGetSubpageConfigByShortUuidRequestBody = [1]string{
|
|
0: "requestHeaders",
|
|
}
|
|
|
|
// Decode decodes GetSubpageConfigByShortUuidRequestBody from json.
|
|
func (s *GetSubpageConfigByShortUuidRequestBody) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetSubpageConfigByShortUuidRequestBody to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "requestHeaders":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.RequestHeaders.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"requestHeaders\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetSubpageConfigByShortUuidRequestBody")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGetSubpageConfigByShortUuidRequestBody) {
|
|
name = jsonFieldsNameOfGetSubpageConfigByShortUuidRequestBody[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GetSubpageConfigByShortUuidRequestBody) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetSubpageConfigByShortUuidRequestBody) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s GetSubpageConfigByShortUuidRequestBodyRequestHeaders) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields implements json.Marshaler.
|
|
func (s GetSubpageConfigByShortUuidRequestBodyRequestHeaders) encodeFields(e *jx.Encoder) {
|
|
for k, elem := range s {
|
|
e.FieldStart(k)
|
|
|
|
e.Str(elem)
|
|
}
|
|
}
|
|
|
|
// Decode decodes GetSubpageConfigByShortUuidRequestBodyRequestHeaders from json.
|
|
func (s *GetSubpageConfigByShortUuidRequestBodyRequestHeaders) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetSubpageConfigByShortUuidRequestBodyRequestHeaders to nil")
|
|
}
|
|
m := s.init()
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
var elem string
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
elem = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrapf(err, "decode field %q", k)
|
|
}
|
|
m[string(k)] = elem
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetSubpageConfigByShortUuidRequestBodyRequestHeaders")
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s GetSubpageConfigByShortUuidRequestBodyRequestHeaders) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetSubpageConfigByShortUuidRequestBodyRequestHeaders) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GetSubpageConfigByShortUuidResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GetSubpageConfigByShortUuidResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("response")
|
|
s.Response.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGetSubpageConfigByShortUuidResponse = [1]string{
|
|
0: "response",
|
|
}
|
|
|
|
// Decode decodes GetSubpageConfigByShortUuidResponse from json.
|
|
func (s *GetSubpageConfigByShortUuidResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetSubpageConfigByShortUuidResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "response":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Response.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"response\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetSubpageConfigByShortUuidResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGetSubpageConfigByShortUuidResponse) {
|
|
name = jsonFieldsNameOfGetSubpageConfigByShortUuidResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GetSubpageConfigByShortUuidResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetSubpageConfigByShortUuidResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GetSubpageConfigByShortUuidResponseResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GetSubpageConfigByShortUuidResponseResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("subpageConfigUuid")
|
|
s.SubpageConfigUuid.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("webpageAllowed")
|
|
e.Bool(s.WebpageAllowed)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGetSubpageConfigByShortUuidResponseResponse = [2]string{
|
|
0: "subpageConfigUuid",
|
|
1: "webpageAllowed",
|
|
}
|
|
|
|
// Decode decodes GetSubpageConfigByShortUuidResponseResponse from json.
|
|
func (s *GetSubpageConfigByShortUuidResponseResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetSubpageConfigByShortUuidResponseResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "subpageConfigUuid":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.SubpageConfigUuid.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"subpageConfigUuid\"")
|
|
}
|
|
case "webpageAllowed":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Bool()
|
|
s.WebpageAllowed = bool(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"webpageAllowed\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetSubpageConfigByShortUuidResponseResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000011,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGetSubpageConfigByShortUuidResponseResponse) {
|
|
name = jsonFieldsNameOfGetSubpageConfigByShortUuidResponseResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GetSubpageConfigByShortUuidResponseResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetSubpageConfigByShortUuidResponseResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GetSubscriptionRequestHistoryResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GetSubscriptionRequestHistoryResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("response")
|
|
s.Response.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGetSubscriptionRequestHistoryResponse = [1]string{
|
|
0: "response",
|
|
}
|
|
|
|
// Decode decodes GetSubscriptionRequestHistoryResponse from json.
|
|
func (s *GetSubscriptionRequestHistoryResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetSubscriptionRequestHistoryResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "response":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Response.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"response\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetSubscriptionRequestHistoryResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGetSubscriptionRequestHistoryResponse) {
|
|
name = jsonFieldsNameOfGetSubscriptionRequestHistoryResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GetSubscriptionRequestHistoryResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetSubscriptionRequestHistoryResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GetSubscriptionRequestHistoryStatsResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GetSubscriptionRequestHistoryStatsResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("response")
|
|
s.Response.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGetSubscriptionRequestHistoryStatsResponse = [1]string{
|
|
0: "response",
|
|
}
|
|
|
|
// Decode decodes GetSubscriptionRequestHistoryStatsResponse from json.
|
|
func (s *GetSubscriptionRequestHistoryStatsResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetSubscriptionRequestHistoryStatsResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "response":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Response.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"response\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetSubscriptionRequestHistoryStatsResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGetSubscriptionRequestHistoryStatsResponse) {
|
|
name = jsonFieldsNameOfGetSubscriptionRequestHistoryStatsResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GetSubscriptionRequestHistoryStatsResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetSubscriptionRequestHistoryStatsResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GetSubscriptionRequestHistoryStatsResponseResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GetSubscriptionRequestHistoryStatsResponseResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("byParsedApp")
|
|
e.ArrStart()
|
|
for _, elem := range s.ByParsedApp {
|
|
elem.Encode(e)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
{
|
|
e.FieldStart("hourlyRequestStats")
|
|
e.ArrStart()
|
|
for _, elem := range s.HourlyRequestStats {
|
|
elem.Encode(e)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGetSubscriptionRequestHistoryStatsResponseResponse = [2]string{
|
|
0: "byParsedApp",
|
|
1: "hourlyRequestStats",
|
|
}
|
|
|
|
// Decode decodes GetSubscriptionRequestHistoryStatsResponseResponse from json.
|
|
func (s *GetSubscriptionRequestHistoryStatsResponseResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetSubscriptionRequestHistoryStatsResponseResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "byParsedApp":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
s.ByParsedApp = make([]ByAppItem, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem ByAppItem
|
|
if err := elem.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
s.ByParsedApp = append(s.ByParsedApp, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"byParsedApp\"")
|
|
}
|
|
case "hourlyRequestStats":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
s.HourlyRequestStats = make([]GetSubscriptionRequestHistoryStatsResponseResponseHourlyRequestStatsItem, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem GetSubscriptionRequestHistoryStatsResponseResponseHourlyRequestStatsItem
|
|
if err := elem.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
s.HourlyRequestStats = append(s.HourlyRequestStats, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"hourlyRequestStats\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetSubscriptionRequestHistoryStatsResponseResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000011,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGetSubscriptionRequestHistoryStatsResponseResponse) {
|
|
name = jsonFieldsNameOfGetSubscriptionRequestHistoryStatsResponseResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GetSubscriptionRequestHistoryStatsResponseResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetSubscriptionRequestHistoryStatsResponseResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GetSubscriptionRequestHistoryStatsResponseResponseHourlyRequestStatsItem) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GetSubscriptionRequestHistoryStatsResponseResponseHourlyRequestStatsItem) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("dateTime")
|
|
json.EncodeDateTime(e, s.DateTime)
|
|
}
|
|
{
|
|
e.FieldStart("requestCount")
|
|
e.Float64(s.RequestCount)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGetSubscriptionRequestHistoryStatsResponseResponseHourlyRequestStatsItem = [2]string{
|
|
0: "dateTime",
|
|
1: "requestCount",
|
|
}
|
|
|
|
// Decode decodes GetSubscriptionRequestHistoryStatsResponseResponseHourlyRequestStatsItem from json.
|
|
func (s *GetSubscriptionRequestHistoryStatsResponseResponseHourlyRequestStatsItem) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetSubscriptionRequestHistoryStatsResponseResponseHourlyRequestStatsItem to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "dateTime":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := json.DecodeDateTime(d)
|
|
s.DateTime = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"dateTime\"")
|
|
}
|
|
case "requestCount":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.RequestCount = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"requestCount\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetSubscriptionRequestHistoryStatsResponseResponseHourlyRequestStatsItem")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000011,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGetSubscriptionRequestHistoryStatsResponseResponseHourlyRequestStatsItem) {
|
|
name = jsonFieldsNameOfGetSubscriptionRequestHistoryStatsResponseResponseHourlyRequestStatsItem[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GetSubscriptionRequestHistoryStatsResponseResponseHourlyRequestStatsItem) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetSubscriptionRequestHistoryStatsResponseResponseHourlyRequestStatsItem) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GetTopUsersByHwidDevicesResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GetTopUsersByHwidDevicesResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("response")
|
|
s.Response.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGetTopUsersByHwidDevicesResponse = [1]string{
|
|
0: "response",
|
|
}
|
|
|
|
// Decode decodes GetTopUsersByHwidDevicesResponse from json.
|
|
func (s *GetTopUsersByHwidDevicesResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetTopUsersByHwidDevicesResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "response":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Response.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"response\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetTopUsersByHwidDevicesResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGetTopUsersByHwidDevicesResponse) {
|
|
name = jsonFieldsNameOfGetTopUsersByHwidDevicesResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GetTopUsersByHwidDevicesResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetTopUsersByHwidDevicesResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GetTopUsersByHwidDevicesResponseResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GetTopUsersByHwidDevicesResponseResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("users")
|
|
e.ArrStart()
|
|
for _, elem := range s.Users {
|
|
elem.Encode(e)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
{
|
|
e.FieldStart("total")
|
|
e.Float64(s.Total)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGetTopUsersByHwidDevicesResponseResponse = [2]string{
|
|
0: "users",
|
|
1: "total",
|
|
}
|
|
|
|
// Decode decodes GetTopUsersByHwidDevicesResponseResponse from json.
|
|
func (s *GetTopUsersByHwidDevicesResponseResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetTopUsersByHwidDevicesResponseResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "users":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
s.Users = make([]GetTopUsersByHwidDevicesResponseResponseUsersItem, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem GetTopUsersByHwidDevicesResponseResponseUsersItem
|
|
if err := elem.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
s.Users = append(s.Users, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"users\"")
|
|
}
|
|
case "total":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.Total = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"total\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetTopUsersByHwidDevicesResponseResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000011,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGetTopUsersByHwidDevicesResponseResponse) {
|
|
name = jsonFieldsNameOfGetTopUsersByHwidDevicesResponseResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GetTopUsersByHwidDevicesResponseResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetTopUsersByHwidDevicesResponseResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GetTopUsersByHwidDevicesResponseResponseUsersItem) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GetTopUsersByHwidDevicesResponseResponseUsersItem) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("userUuid")
|
|
json.EncodeUUID(e, s.UserUuid)
|
|
}
|
|
{
|
|
e.FieldStart("id")
|
|
e.Float64(s.ID)
|
|
}
|
|
{
|
|
e.FieldStart("username")
|
|
e.Str(s.Username)
|
|
}
|
|
{
|
|
e.FieldStart("devicesCount")
|
|
e.Float64(s.DevicesCount)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGetTopUsersByHwidDevicesResponseResponseUsersItem = [4]string{
|
|
0: "userUuid",
|
|
1: "id",
|
|
2: "username",
|
|
3: "devicesCount",
|
|
}
|
|
|
|
// Decode decodes GetTopUsersByHwidDevicesResponseResponseUsersItem from json.
|
|
func (s *GetTopUsersByHwidDevicesResponseResponseUsersItem) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetTopUsersByHwidDevicesResponseResponseUsersItem to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "userUuid":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := json.DecodeUUID(d)
|
|
s.UserUuid = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"userUuid\"")
|
|
}
|
|
case "id":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.ID = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"id\"")
|
|
}
|
|
case "username":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Username = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"username\"")
|
|
}
|
|
case "devicesCount":
|
|
requiredBitSet[0] |= 1 << 3
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.DevicesCount = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"devicesCount\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetTopUsersByHwidDevicesResponseResponseUsersItem")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00001111,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGetTopUsersByHwidDevicesResponseResponseUsersItem) {
|
|
name = jsonFieldsNameOfGetTopUsersByHwidDevicesResponseResponseUsersItem[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GetTopUsersByHwidDevicesResponseResponseUsersItem) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetTopUsersByHwidDevicesResponseResponseUsersItem) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GetTorrentBlockerReportsStatsResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GetTorrentBlockerReportsStatsResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("response")
|
|
s.Response.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGetTorrentBlockerReportsStatsResponse = [1]string{
|
|
0: "response",
|
|
}
|
|
|
|
// Decode decodes GetTorrentBlockerReportsStatsResponse from json.
|
|
func (s *GetTorrentBlockerReportsStatsResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetTorrentBlockerReportsStatsResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "response":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Response.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"response\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetTorrentBlockerReportsStatsResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGetTorrentBlockerReportsStatsResponse) {
|
|
name = jsonFieldsNameOfGetTorrentBlockerReportsStatsResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GetTorrentBlockerReportsStatsResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetTorrentBlockerReportsStatsResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GetTorrentBlockerReportsStatsResponseResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GetTorrentBlockerReportsStatsResponseResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("stats")
|
|
s.Stats.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("topUsers")
|
|
e.ArrStart()
|
|
for _, elem := range s.TopUsers {
|
|
elem.Encode(e)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
{
|
|
e.FieldStart("topNodes")
|
|
e.ArrStart()
|
|
for _, elem := range s.TopNodes {
|
|
elem.Encode(e)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGetTorrentBlockerReportsStatsResponseResponse = [3]string{
|
|
0: "stats",
|
|
1: "topUsers",
|
|
2: "topNodes",
|
|
}
|
|
|
|
// Decode decodes GetTorrentBlockerReportsStatsResponseResponse from json.
|
|
func (s *GetTorrentBlockerReportsStatsResponseResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetTorrentBlockerReportsStatsResponseResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "stats":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Stats.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"stats\"")
|
|
}
|
|
case "topUsers":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
s.TopUsers = make([]GetTorrentBlockerReportsStatsResponseResponseTopUsersItem, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem GetTorrentBlockerReportsStatsResponseResponseTopUsersItem
|
|
if err := elem.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
s.TopUsers = append(s.TopUsers, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"topUsers\"")
|
|
}
|
|
case "topNodes":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
s.TopNodes = make([]TopNode, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem TopNode
|
|
if err := elem.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
s.TopNodes = append(s.TopNodes, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"topNodes\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetTorrentBlockerReportsStatsResponseResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000111,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGetTorrentBlockerReportsStatsResponseResponse) {
|
|
name = jsonFieldsNameOfGetTorrentBlockerReportsStatsResponseResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GetTorrentBlockerReportsStatsResponseResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetTorrentBlockerReportsStatsResponseResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GetTorrentBlockerReportsStatsResponseResponseStats) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GetTorrentBlockerReportsStatsResponseResponseStats) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("distinctNodes")
|
|
e.Float64(s.DistinctNodes)
|
|
}
|
|
{
|
|
e.FieldStart("distinctUsers")
|
|
e.Float64(s.DistinctUsers)
|
|
}
|
|
{
|
|
e.FieldStart("totalReports")
|
|
e.Float64(s.TotalReports)
|
|
}
|
|
{
|
|
e.FieldStart("reportsLast24Hours")
|
|
e.Float64(s.ReportsLast24Hours)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGetTorrentBlockerReportsStatsResponseResponseStats = [4]string{
|
|
0: "distinctNodes",
|
|
1: "distinctUsers",
|
|
2: "totalReports",
|
|
3: "reportsLast24Hours",
|
|
}
|
|
|
|
// Decode decodes GetTorrentBlockerReportsStatsResponseResponseStats from json.
|
|
func (s *GetTorrentBlockerReportsStatsResponseResponseStats) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetTorrentBlockerReportsStatsResponseResponseStats to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "distinctNodes":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.DistinctNodes = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"distinctNodes\"")
|
|
}
|
|
case "distinctUsers":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.DistinctUsers = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"distinctUsers\"")
|
|
}
|
|
case "totalReports":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.TotalReports = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"totalReports\"")
|
|
}
|
|
case "reportsLast24Hours":
|
|
requiredBitSet[0] |= 1 << 3
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.ReportsLast24Hours = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"reportsLast24Hours\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetTorrentBlockerReportsStatsResponseResponseStats")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00001111,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGetTorrentBlockerReportsStatsResponseResponseStats) {
|
|
name = jsonFieldsNameOfGetTorrentBlockerReportsStatsResponseResponseStats[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GetTorrentBlockerReportsStatsResponseResponseStats) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetTorrentBlockerReportsStatsResponseResponseStats) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GetTorrentBlockerReportsStatsResponseResponseTopUsersItem) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GetTorrentBlockerReportsStatsResponseResponseTopUsersItem) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("uuid")
|
|
json.EncodeUUID(e, s.UUID)
|
|
}
|
|
{
|
|
e.FieldStart("color")
|
|
e.Str(s.Color)
|
|
}
|
|
{
|
|
e.FieldStart("username")
|
|
e.Str(s.Username)
|
|
}
|
|
{
|
|
e.FieldStart("total")
|
|
e.Float64(s.Total)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGetTorrentBlockerReportsStatsResponseResponseTopUsersItem = [4]string{
|
|
0: "uuid",
|
|
1: "color",
|
|
2: "username",
|
|
3: "total",
|
|
}
|
|
|
|
// Decode decodes GetTorrentBlockerReportsStatsResponseResponseTopUsersItem from json.
|
|
func (s *GetTorrentBlockerReportsStatsResponseResponseTopUsersItem) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetTorrentBlockerReportsStatsResponseResponseTopUsersItem to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "uuid":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := json.DecodeUUID(d)
|
|
s.UUID = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"uuid\"")
|
|
}
|
|
case "color":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Color = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"color\"")
|
|
}
|
|
case "username":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Username = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"username\"")
|
|
}
|
|
case "total":
|
|
requiredBitSet[0] |= 1 << 3
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.Total = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"total\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetTorrentBlockerReportsStatsResponseResponseTopUsersItem")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00001111,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGetTorrentBlockerReportsStatsResponseResponseTopUsersItem) {
|
|
name = jsonFieldsNameOfGetTorrentBlockerReportsStatsResponseResponseTopUsersItem[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GetTorrentBlockerReportsStatsResponseResponseTopUsersItem) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetTorrentBlockerReportsStatsResponseResponseTopUsersItem) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GetUserAccessibleNodesResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GetUserAccessibleNodesResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("response")
|
|
s.Response.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGetUserAccessibleNodesResponse = [1]string{
|
|
0: "response",
|
|
}
|
|
|
|
// Decode decodes GetUserAccessibleNodesResponse from json.
|
|
func (s *GetUserAccessibleNodesResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetUserAccessibleNodesResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "response":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Response.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"response\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetUserAccessibleNodesResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGetUserAccessibleNodesResponse) {
|
|
name = jsonFieldsNameOfGetUserAccessibleNodesResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GetUserAccessibleNodesResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetUserAccessibleNodesResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GetUserAccessibleNodesResponseResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GetUserAccessibleNodesResponseResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("userUuid")
|
|
json.EncodeUUID(e, s.UserUuid)
|
|
}
|
|
{
|
|
e.FieldStart("activeNodes")
|
|
e.ArrStart()
|
|
for _, elem := range s.ActiveNodes {
|
|
elem.Encode(e)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGetUserAccessibleNodesResponseResponse = [2]string{
|
|
0: "userUuid",
|
|
1: "activeNodes",
|
|
}
|
|
|
|
// Decode decodes GetUserAccessibleNodesResponseResponse from json.
|
|
func (s *GetUserAccessibleNodesResponseResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetUserAccessibleNodesResponseResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "userUuid":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := json.DecodeUUID(d)
|
|
s.UserUuid = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"userUuid\"")
|
|
}
|
|
case "activeNodes":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
s.ActiveNodes = make([]GetUserAccessibleNodesResponseResponseActiveNodesItem, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem GetUserAccessibleNodesResponseResponseActiveNodesItem
|
|
if err := elem.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
s.ActiveNodes = append(s.ActiveNodes, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"activeNodes\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetUserAccessibleNodesResponseResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000011,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGetUserAccessibleNodesResponseResponse) {
|
|
name = jsonFieldsNameOfGetUserAccessibleNodesResponseResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GetUserAccessibleNodesResponseResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetUserAccessibleNodesResponseResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GetUserAccessibleNodesResponseResponseActiveNodesItem) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GetUserAccessibleNodesResponseResponseActiveNodesItem) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("uuid")
|
|
json.EncodeUUID(e, s.UUID)
|
|
}
|
|
{
|
|
e.FieldStart("nodeName")
|
|
e.Str(s.NodeName)
|
|
}
|
|
{
|
|
e.FieldStart("countryCode")
|
|
e.Str(s.CountryCode)
|
|
}
|
|
{
|
|
e.FieldStart("configProfileUuid")
|
|
json.EncodeUUID(e, s.ConfigProfileUuid)
|
|
}
|
|
{
|
|
e.FieldStart("configProfileName")
|
|
e.Str(s.ConfigProfileName)
|
|
}
|
|
{
|
|
e.FieldStart("activeSquads")
|
|
e.ArrStart()
|
|
for _, elem := range s.ActiveSquads {
|
|
elem.Encode(e)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGetUserAccessibleNodesResponseResponseActiveNodesItem = [6]string{
|
|
0: "uuid",
|
|
1: "nodeName",
|
|
2: "countryCode",
|
|
3: "configProfileUuid",
|
|
4: "configProfileName",
|
|
5: "activeSquads",
|
|
}
|
|
|
|
// Decode decodes GetUserAccessibleNodesResponseResponseActiveNodesItem from json.
|
|
func (s *GetUserAccessibleNodesResponseResponseActiveNodesItem) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetUserAccessibleNodesResponseResponseActiveNodesItem to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "uuid":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := json.DecodeUUID(d)
|
|
s.UUID = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"uuid\"")
|
|
}
|
|
case "nodeName":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.NodeName = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"nodeName\"")
|
|
}
|
|
case "countryCode":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.CountryCode = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"countryCode\"")
|
|
}
|
|
case "configProfileUuid":
|
|
requiredBitSet[0] |= 1 << 3
|
|
if err := func() error {
|
|
v, err := json.DecodeUUID(d)
|
|
s.ConfigProfileUuid = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"configProfileUuid\"")
|
|
}
|
|
case "configProfileName":
|
|
requiredBitSet[0] |= 1 << 4
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.ConfigProfileName = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"configProfileName\"")
|
|
}
|
|
case "activeSquads":
|
|
requiredBitSet[0] |= 1 << 5
|
|
if err := func() error {
|
|
s.ActiveSquads = make([]GetUserAccessibleNodesResponseResponseActiveNodesItemActiveSquadsItem, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem GetUserAccessibleNodesResponseResponseActiveNodesItemActiveSquadsItem
|
|
if err := elem.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
s.ActiveSquads = append(s.ActiveSquads, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"activeSquads\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetUserAccessibleNodesResponseResponseActiveNodesItem")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00111111,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGetUserAccessibleNodesResponseResponseActiveNodesItem) {
|
|
name = jsonFieldsNameOfGetUserAccessibleNodesResponseResponseActiveNodesItem[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GetUserAccessibleNodesResponseResponseActiveNodesItem) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetUserAccessibleNodesResponseResponseActiveNodesItem) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GetUserAccessibleNodesResponseResponseActiveNodesItemActiveSquadsItem) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GetUserAccessibleNodesResponseResponseActiveNodesItemActiveSquadsItem) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("squadName")
|
|
e.Str(s.SquadName)
|
|
}
|
|
{
|
|
e.FieldStart("activeInbounds")
|
|
e.ArrStart()
|
|
for _, elem := range s.ActiveInbounds {
|
|
e.Str(elem)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGetUserAccessibleNodesResponseResponseActiveNodesItemActiveSquadsItem = [2]string{
|
|
0: "squadName",
|
|
1: "activeInbounds",
|
|
}
|
|
|
|
// Decode decodes GetUserAccessibleNodesResponseResponseActiveNodesItemActiveSquadsItem from json.
|
|
func (s *GetUserAccessibleNodesResponseResponseActiveNodesItemActiveSquadsItem) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetUserAccessibleNodesResponseResponseActiveNodesItemActiveSquadsItem to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "squadName":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.SquadName = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"squadName\"")
|
|
}
|
|
case "activeInbounds":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
s.ActiveInbounds = make([]string, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem string
|
|
v, err := d.Str()
|
|
elem = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
s.ActiveInbounds = append(s.ActiveInbounds, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"activeInbounds\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetUserAccessibleNodesResponseResponseActiveNodesItemActiveSquadsItem")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000011,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGetUserAccessibleNodesResponseResponseActiveNodesItemActiveSquadsItem) {
|
|
name = jsonFieldsNameOfGetUserAccessibleNodesResponseResponseActiveNodesItemActiveSquadsItem[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GetUserAccessibleNodesResponseResponseActiveNodesItemActiveSquadsItem) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetUserAccessibleNodesResponseResponseActiveNodesItemActiveSquadsItem) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GetUserSubscriptionRequestHistoryResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GetUserSubscriptionRequestHistoryResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("response")
|
|
s.Response.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGetUserSubscriptionRequestHistoryResponse = [1]string{
|
|
0: "response",
|
|
}
|
|
|
|
// Decode decodes GetUserSubscriptionRequestHistoryResponse from json.
|
|
func (s *GetUserSubscriptionRequestHistoryResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetUserSubscriptionRequestHistoryResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "response":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Response.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"response\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetUserSubscriptionRequestHistoryResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGetUserSubscriptionRequestHistoryResponse) {
|
|
name = jsonFieldsNameOfGetUserSubscriptionRequestHistoryResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GetUserSubscriptionRequestHistoryResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetUserSubscriptionRequestHistoryResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GetUsersStreamResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GetUsersStreamResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("response")
|
|
s.Response.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGetUsersStreamResponse = [1]string{
|
|
0: "response",
|
|
}
|
|
|
|
// Decode decodes GetUsersStreamResponse from json.
|
|
func (s *GetUsersStreamResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetUsersStreamResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "response":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Response.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"response\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetUsersStreamResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGetUsersStreamResponse) {
|
|
name = jsonFieldsNameOfGetUsersStreamResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GetUsersStreamResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetUsersStreamResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *GetUsersStreamResponseResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *GetUsersStreamResponseResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("users")
|
|
e.ArrStart()
|
|
for _, elem := range s.Users {
|
|
elem.Encode(e)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
{
|
|
e.FieldStart("nextCursor")
|
|
s.NextCursor.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("hasMore")
|
|
e.Bool(s.HasMore)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGetUsersStreamResponseResponse = [3]string{
|
|
0: "users",
|
|
1: "nextCursor",
|
|
2: "hasMore",
|
|
}
|
|
|
|
// Decode decodes GetUsersStreamResponseResponse from json.
|
|
func (s *GetUsersStreamResponseResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode GetUsersStreamResponseResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "users":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
s.Users = make([]UserItemInfo, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem UserItemInfo
|
|
if err := elem.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
s.Users = append(s.Users, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"users\"")
|
|
}
|
|
case "nextCursor":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
if err := s.NextCursor.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"nextCursor\"")
|
|
}
|
|
case "hasMore":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
v, err := d.Bool()
|
|
s.HasMore = bool(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"hasMore\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode GetUsersStreamResponseResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000111,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGetUsersStreamResponseResponse) {
|
|
name = jsonFieldsNameOfGetUsersStreamResponseResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *GetUsersStreamResponseResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *GetUsersStreamResponseResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *Github) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *Github) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("enabled")
|
|
e.Bool(s.Enabled)
|
|
}
|
|
{
|
|
e.FieldStart("clientId")
|
|
s.ClientId.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("clientSecret")
|
|
s.ClientSecret.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("allowedEmails")
|
|
e.ArrStart()
|
|
for _, elem := range s.AllowedEmails {
|
|
e.Str(elem)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfGithub = [4]string{
|
|
0: "enabled",
|
|
1: "clientId",
|
|
2: "clientSecret",
|
|
3: "allowedEmails",
|
|
}
|
|
|
|
// Decode decodes Github from json.
|
|
func (s *Github) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode Github to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "enabled":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Bool()
|
|
s.Enabled = bool(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"enabled\"")
|
|
}
|
|
case "clientId":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
if err := s.ClientId.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"clientId\"")
|
|
}
|
|
case "clientSecret":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
if err := s.ClientSecret.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"clientSecret\"")
|
|
}
|
|
case "allowedEmails":
|
|
requiredBitSet[0] |= 1 << 3
|
|
if err := func() error {
|
|
s.AllowedEmails = make([]string, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem string
|
|
v, err := d.Str()
|
|
elem = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
s.AllowedEmails = append(s.AllowedEmails, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"allowedEmails\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode Github")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00001111,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfGithub) {
|
|
name = jsonFieldsNameOfGithub[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *Github) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *Github) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *Header) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *Header) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("key")
|
|
e.Str(s.Key)
|
|
}
|
|
{
|
|
e.FieldStart("value")
|
|
e.Str(s.Value)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfHeader = [2]string{
|
|
0: "key",
|
|
1: "value",
|
|
}
|
|
|
|
// Decode decodes Header from json.
|
|
func (s *Header) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode Header to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "key":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Key = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"key\"")
|
|
}
|
|
case "value":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Value = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"value\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode Header")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000011,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfHeader) {
|
|
name = jsonFieldsNameOfHeader[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *Header) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *Header) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *HostItem) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *HostItem) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("uuid")
|
|
json.EncodeUUID(e, s.UUID)
|
|
}
|
|
{
|
|
e.FieldStart("viewPosition")
|
|
e.Int(s.ViewPosition)
|
|
}
|
|
{
|
|
e.FieldStart("remark")
|
|
e.Str(s.Remark)
|
|
}
|
|
{
|
|
e.FieldStart("address")
|
|
e.Str(s.Address)
|
|
}
|
|
{
|
|
e.FieldStart("port")
|
|
e.Int(s.Port)
|
|
}
|
|
{
|
|
e.FieldStart("path")
|
|
s.Path.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("sni")
|
|
s.Sni.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("host")
|
|
s.Host.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("alpn")
|
|
s.Alpn.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("fingerprint")
|
|
s.Fingerprint.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("isDisabled")
|
|
e.Bool(s.IsDisabled)
|
|
}
|
|
{
|
|
if s.SecurityLayer.Set {
|
|
e.FieldStart("securityLayer")
|
|
s.SecurityLayer.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if len(s.XhttpExtraParams) != 0 {
|
|
e.FieldStart("xhttpExtraParams")
|
|
e.Raw(s.XhttpExtraParams)
|
|
}
|
|
}
|
|
{
|
|
if len(s.MuxParams) != 0 {
|
|
e.FieldStart("muxParams")
|
|
e.Raw(s.MuxParams)
|
|
}
|
|
}
|
|
{
|
|
if len(s.SockoptParams) != 0 {
|
|
e.FieldStart("sockoptParams")
|
|
e.Raw(s.SockoptParams)
|
|
}
|
|
}
|
|
{
|
|
if len(s.FinalMask) != 0 {
|
|
e.FieldStart("finalMask")
|
|
e.Raw(s.FinalMask)
|
|
}
|
|
}
|
|
{
|
|
e.FieldStart("inbound")
|
|
s.Inbound.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("serverDescription")
|
|
s.ServerDescription.Encode(e)
|
|
}
|
|
{
|
|
if s.Tags != nil {
|
|
e.FieldStart("tags")
|
|
e.ArrStart()
|
|
for _, elem := range s.Tags {
|
|
e.Str(elem)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
}
|
|
{
|
|
if s.IsHidden.Set {
|
|
e.FieldStart("isHidden")
|
|
s.IsHidden.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.OverrideSniFromAddress.Set {
|
|
e.FieldStart("overrideSniFromAddress")
|
|
s.OverrideSniFromAddress.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.KeepSniBlank.Set {
|
|
e.FieldStart("keepSniBlank")
|
|
s.KeepSniBlank.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
e.FieldStart("vlessRouteId")
|
|
s.VlessRouteId.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("pinnedPeerCertSha256")
|
|
s.PinnedPeerCertSha256.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("verifyPeerCertByName")
|
|
s.VerifyPeerCertByName.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("shuffleHost")
|
|
e.Bool(s.ShuffleHost)
|
|
}
|
|
{
|
|
e.FieldStart("mihomoX25519")
|
|
e.Bool(s.MihomoX25519)
|
|
}
|
|
{
|
|
e.FieldStart("mihomoIpVersion")
|
|
s.MihomoIpVersion.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("nodes")
|
|
e.ArrStart()
|
|
for _, elem := range s.Nodes {
|
|
json.EncodeUUID(e, elem)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
{
|
|
e.FieldStart("xrayJsonTemplateUuid")
|
|
s.XrayJsonTemplateUuid.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("excludedInternalSquads")
|
|
e.ArrStart()
|
|
for _, elem := range s.ExcludedInternalSquads {
|
|
json.EncodeUUID(e, elem)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
{
|
|
e.FieldStart("excludeFromSubscriptionTypes")
|
|
e.ArrStart()
|
|
for _, elem := range s.ExcludeFromSubscriptionTypes {
|
|
elem.Encode(e)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfHostItem = [32]string{
|
|
0: "uuid",
|
|
1: "viewPosition",
|
|
2: "remark",
|
|
3: "address",
|
|
4: "port",
|
|
5: "path",
|
|
6: "sni",
|
|
7: "host",
|
|
8: "alpn",
|
|
9: "fingerprint",
|
|
10: "isDisabled",
|
|
11: "securityLayer",
|
|
12: "xhttpExtraParams",
|
|
13: "muxParams",
|
|
14: "sockoptParams",
|
|
15: "finalMask",
|
|
16: "inbound",
|
|
17: "serverDescription",
|
|
18: "tags",
|
|
19: "isHidden",
|
|
20: "overrideSniFromAddress",
|
|
21: "keepSniBlank",
|
|
22: "vlessRouteId",
|
|
23: "pinnedPeerCertSha256",
|
|
24: "verifyPeerCertByName",
|
|
25: "shuffleHost",
|
|
26: "mihomoX25519",
|
|
27: "mihomoIpVersion",
|
|
28: "nodes",
|
|
29: "xrayJsonTemplateUuid",
|
|
30: "excludedInternalSquads",
|
|
31: "excludeFromSubscriptionTypes",
|
|
}
|
|
|
|
// Decode decodes HostItem from json.
|
|
func (s *HostItem) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode HostItem to nil")
|
|
}
|
|
var requiredBitSet [4]uint8
|
|
s.setDefaults()
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "uuid":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := json.DecodeUUID(d)
|
|
s.UUID = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"uuid\"")
|
|
}
|
|
case "viewPosition":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Int()
|
|
s.ViewPosition = int(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"viewPosition\"")
|
|
}
|
|
case "remark":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Remark = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"remark\"")
|
|
}
|
|
case "address":
|
|
requiredBitSet[0] |= 1 << 3
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Address = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"address\"")
|
|
}
|
|
case "port":
|
|
requiredBitSet[0] |= 1 << 4
|
|
if err := func() error {
|
|
v, err := d.Int()
|
|
s.Port = int(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"port\"")
|
|
}
|
|
case "path":
|
|
requiredBitSet[0] |= 1 << 5
|
|
if err := func() error {
|
|
if err := s.Path.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"path\"")
|
|
}
|
|
case "sni":
|
|
requiredBitSet[0] |= 1 << 6
|
|
if err := func() error {
|
|
if err := s.Sni.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"sni\"")
|
|
}
|
|
case "host":
|
|
requiredBitSet[0] |= 1 << 7
|
|
if err := func() error {
|
|
if err := s.Host.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"host\"")
|
|
}
|
|
case "alpn":
|
|
requiredBitSet[1] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Alpn.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"alpn\"")
|
|
}
|
|
case "fingerprint":
|
|
requiredBitSet[1] |= 1 << 1
|
|
if err := func() error {
|
|
if err := s.Fingerprint.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"fingerprint\"")
|
|
}
|
|
case "isDisabled":
|
|
requiredBitSet[1] |= 1 << 2
|
|
if err := func() error {
|
|
v, err := d.Bool()
|
|
s.IsDisabled = bool(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"isDisabled\"")
|
|
}
|
|
case "securityLayer":
|
|
if err := func() error {
|
|
s.SecurityLayer.Reset()
|
|
if err := s.SecurityLayer.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"securityLayer\"")
|
|
}
|
|
case "xhttpExtraParams":
|
|
requiredBitSet[1] |= 1 << 4
|
|
if err := func() error {
|
|
v, err := d.RawAppend(nil)
|
|
s.XhttpExtraParams = jx.Raw(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"xhttpExtraParams\"")
|
|
}
|
|
case "muxParams":
|
|
requiredBitSet[1] |= 1 << 5
|
|
if err := func() error {
|
|
v, err := d.RawAppend(nil)
|
|
s.MuxParams = jx.Raw(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"muxParams\"")
|
|
}
|
|
case "sockoptParams":
|
|
requiredBitSet[1] |= 1 << 6
|
|
if err := func() error {
|
|
v, err := d.RawAppend(nil)
|
|
s.SockoptParams = jx.Raw(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"sockoptParams\"")
|
|
}
|
|
case "finalMask":
|
|
requiredBitSet[1] |= 1 << 7
|
|
if err := func() error {
|
|
v, err := d.RawAppend(nil)
|
|
s.FinalMask = jx.Raw(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"finalMask\"")
|
|
}
|
|
case "inbound":
|
|
requiredBitSet[2] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Inbound.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"inbound\"")
|
|
}
|
|
case "serverDescription":
|
|
requiredBitSet[2] |= 1 << 1
|
|
if err := func() error {
|
|
if err := s.ServerDescription.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"serverDescription\"")
|
|
}
|
|
case "tags":
|
|
if err := func() error {
|
|
s.Tags = make([]string, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem string
|
|
v, err := d.Str()
|
|
elem = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
s.Tags = append(s.Tags, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"tags\"")
|
|
}
|
|
case "isHidden":
|
|
if err := func() error {
|
|
s.IsHidden.Reset()
|
|
if err := s.IsHidden.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"isHidden\"")
|
|
}
|
|
case "overrideSniFromAddress":
|
|
if err := func() error {
|
|
s.OverrideSniFromAddress.Reset()
|
|
if err := s.OverrideSniFromAddress.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"overrideSniFromAddress\"")
|
|
}
|
|
case "keepSniBlank":
|
|
if err := func() error {
|
|
s.KeepSniBlank.Reset()
|
|
if err := s.KeepSniBlank.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"keepSniBlank\"")
|
|
}
|
|
case "vlessRouteId":
|
|
requiredBitSet[2] |= 1 << 6
|
|
if err := func() error {
|
|
if err := s.VlessRouteId.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"vlessRouteId\"")
|
|
}
|
|
case "pinnedPeerCertSha256":
|
|
requiredBitSet[2] |= 1 << 7
|
|
if err := func() error {
|
|
if err := s.PinnedPeerCertSha256.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"pinnedPeerCertSha256\"")
|
|
}
|
|
case "verifyPeerCertByName":
|
|
requiredBitSet[3] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.VerifyPeerCertByName.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"verifyPeerCertByName\"")
|
|
}
|
|
case "shuffleHost":
|
|
requiredBitSet[3] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Bool()
|
|
s.ShuffleHost = bool(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"shuffleHost\"")
|
|
}
|
|
case "mihomoX25519":
|
|
requiredBitSet[3] |= 1 << 2
|
|
if err := func() error {
|
|
v, err := d.Bool()
|
|
s.MihomoX25519 = bool(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"mihomoX25519\"")
|
|
}
|
|
case "mihomoIpVersion":
|
|
requiredBitSet[3] |= 1 << 3
|
|
if err := func() error {
|
|
if err := s.MihomoIpVersion.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"mihomoIpVersion\"")
|
|
}
|
|
case "nodes":
|
|
requiredBitSet[3] |= 1 << 4
|
|
if err := func() error {
|
|
s.Nodes = make([]uuid.UUID, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem uuid.UUID
|
|
v, err := json.DecodeUUID(d)
|
|
elem = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
s.Nodes = append(s.Nodes, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"nodes\"")
|
|
}
|
|
case "xrayJsonTemplateUuid":
|
|
requiredBitSet[3] |= 1 << 5
|
|
if err := func() error {
|
|
if err := s.XrayJsonTemplateUuid.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"xrayJsonTemplateUuid\"")
|
|
}
|
|
case "excludedInternalSquads":
|
|
requiredBitSet[3] |= 1 << 6
|
|
if err := func() error {
|
|
s.ExcludedInternalSquads = make([]uuid.UUID, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem uuid.UUID
|
|
v, err := json.DecodeUUID(d)
|
|
elem = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
s.ExcludedInternalSquads = append(s.ExcludedInternalSquads, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"excludedInternalSquads\"")
|
|
}
|
|
case "excludeFromSubscriptionTypes":
|
|
requiredBitSet[3] |= 1 << 7
|
|
if err := func() error {
|
|
s.ExcludeFromSubscriptionTypes = make([]HostItemExcludeFromSubscriptionTypesItem, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem HostItemExcludeFromSubscriptionTypesItem
|
|
if err := elem.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
s.ExcludeFromSubscriptionTypes = append(s.ExcludeFromSubscriptionTypes, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"excludeFromSubscriptionTypes\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode HostItem")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [4]uint8{
|
|
0b11111111,
|
|
0b11110111,
|
|
0b11000011,
|
|
0b11111111,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfHostItem) {
|
|
name = jsonFieldsNameOfHostItem[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *HostItem) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *HostItem) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes HostItemAlpn as json.
|
|
func (s HostItemAlpn) Encode(e *jx.Encoder) {
|
|
e.Str(string(s))
|
|
}
|
|
|
|
// Decode decodes HostItemAlpn from json.
|
|
func (s *HostItemAlpn) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode HostItemAlpn to nil")
|
|
}
|
|
v, err := d.StrBytes()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
// Try to use constant string.
|
|
switch HostItemAlpn(v) {
|
|
case HostItemAlpnH3:
|
|
*s = HostItemAlpnH3
|
|
case HostItemAlpnH2:
|
|
*s = HostItemAlpnH2
|
|
case HostItemAlpnHTTP11:
|
|
*s = HostItemAlpnHTTP11
|
|
case HostItemAlpnH2HTTP11:
|
|
*s = HostItemAlpnH2HTTP11
|
|
case HostItemAlpnH3H2HTTP11:
|
|
*s = HostItemAlpnH3H2HTTP11
|
|
case HostItemAlpnH3H2:
|
|
*s = HostItemAlpnH3H2
|
|
default:
|
|
*s = HostItemAlpn(v)
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s HostItemAlpn) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *HostItemAlpn) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes HostItemExcludeFromSubscriptionTypesItem as json.
|
|
func (s HostItemExcludeFromSubscriptionTypesItem) Encode(e *jx.Encoder) {
|
|
e.Str(string(s))
|
|
}
|
|
|
|
// Decode decodes HostItemExcludeFromSubscriptionTypesItem from json.
|
|
func (s *HostItemExcludeFromSubscriptionTypesItem) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode HostItemExcludeFromSubscriptionTypesItem to nil")
|
|
}
|
|
v, err := d.StrBytes()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
// Try to use constant string.
|
|
switch HostItemExcludeFromSubscriptionTypesItem(v) {
|
|
case HostItemExcludeFromSubscriptionTypesItemXRAYJSON:
|
|
*s = HostItemExcludeFromSubscriptionTypesItemXRAYJSON
|
|
case HostItemExcludeFromSubscriptionTypesItemXRAYBASE64:
|
|
*s = HostItemExcludeFromSubscriptionTypesItemXRAYBASE64
|
|
case HostItemExcludeFromSubscriptionTypesItemMIHOMO:
|
|
*s = HostItemExcludeFromSubscriptionTypesItemMIHOMO
|
|
case HostItemExcludeFromSubscriptionTypesItemSTASH:
|
|
*s = HostItemExcludeFromSubscriptionTypesItemSTASH
|
|
case HostItemExcludeFromSubscriptionTypesItemCLASH:
|
|
*s = HostItemExcludeFromSubscriptionTypesItemCLASH
|
|
case HostItemExcludeFromSubscriptionTypesItemSINGBOX:
|
|
*s = HostItemExcludeFromSubscriptionTypesItemSINGBOX
|
|
default:
|
|
*s = HostItemExcludeFromSubscriptionTypesItem(v)
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s HostItemExcludeFromSubscriptionTypesItem) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *HostItemExcludeFromSubscriptionTypesItem) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes HostItemMihomoIpVersion as json.
|
|
func (s HostItemMihomoIpVersion) Encode(e *jx.Encoder) {
|
|
e.Str(string(s))
|
|
}
|
|
|
|
// Decode decodes HostItemMihomoIpVersion from json.
|
|
func (s *HostItemMihomoIpVersion) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode HostItemMihomoIpVersion to nil")
|
|
}
|
|
v, err := d.StrBytes()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
// Try to use constant string.
|
|
switch HostItemMihomoIpVersion(v) {
|
|
case HostItemMihomoIpVersionDual:
|
|
*s = HostItemMihomoIpVersionDual
|
|
case HostItemMihomoIpVersionIpv4:
|
|
*s = HostItemMihomoIpVersionIpv4
|
|
case HostItemMihomoIpVersionIpv6:
|
|
*s = HostItemMihomoIpVersionIpv6
|
|
case HostItemMihomoIpVersionIpv4Prefer:
|
|
*s = HostItemMihomoIpVersionIpv4Prefer
|
|
case HostItemMihomoIpVersionIpv6Prefer:
|
|
*s = HostItemMihomoIpVersionIpv6Prefer
|
|
default:
|
|
*s = HostItemMihomoIpVersion(v)
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s HostItemMihomoIpVersion) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *HostItemMihomoIpVersion) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes HostItemSecurityLayer as json.
|
|
func (s HostItemSecurityLayer) Encode(e *jx.Encoder) {
|
|
e.Str(string(s))
|
|
}
|
|
|
|
// Decode decodes HostItemSecurityLayer from json.
|
|
func (s *HostItemSecurityLayer) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode HostItemSecurityLayer to nil")
|
|
}
|
|
v, err := d.StrBytes()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
// Try to use constant string.
|
|
switch HostItemSecurityLayer(v) {
|
|
case HostItemSecurityLayerDEFAULT:
|
|
*s = HostItemSecurityLayerDEFAULT
|
|
case HostItemSecurityLayerTLS:
|
|
*s = HostItemSecurityLayerTLS
|
|
case HostItemSecurityLayerNONE:
|
|
*s = HostItemSecurityLayerNONE
|
|
default:
|
|
*s = HostItemSecurityLayer(v)
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s HostItemSecurityLayer) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *HostItemSecurityLayer) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *HostListResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *HostListResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("response")
|
|
e.ArrStart()
|
|
for _, elem := range s.Response {
|
|
elem.Encode(e)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfHostListResponse = [1]string{
|
|
0: "response",
|
|
}
|
|
|
|
// Decode decodes HostListResponse from json.
|
|
func (s *HostListResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode HostListResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "response":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
s.Response = make([]HostItem, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem HostItem
|
|
if err := elem.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
s.Response = append(s.Response, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"response\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode HostListResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfHostListResponse) {
|
|
name = jsonFieldsNameOfHostListResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *HostListResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *HostListResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *HostOverride) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *HostOverride) encodeFields(e *jx.Encoder) {
|
|
{
|
|
if s.ServerDescription.Set {
|
|
e.FieldStart("serverDescription")
|
|
s.ServerDescription.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.VlessRouteId.Set {
|
|
e.FieldStart("vlessRouteId")
|
|
s.VlessRouteId.Encode(e)
|
|
}
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfHostOverride = [2]string{
|
|
0: "serverDescription",
|
|
1: "vlessRouteId",
|
|
}
|
|
|
|
// Decode decodes HostOverride from json.
|
|
func (s *HostOverride) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode HostOverride to nil")
|
|
}
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "serverDescription":
|
|
if err := func() error {
|
|
s.ServerDescription.Reset()
|
|
if err := s.ServerDescription.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"serverDescription\"")
|
|
}
|
|
case "vlessRouteId":
|
|
if err := func() error {
|
|
s.VlessRouteId.Reset()
|
|
if err := s.VlessRouteId.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"vlessRouteId\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode HostOverride")
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *HostOverride) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *HostOverride) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *HostResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *HostResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("response")
|
|
s.Response.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfHostResponse = [1]string{
|
|
0: "response",
|
|
}
|
|
|
|
// Decode decodes HostResponse from json.
|
|
func (s *HostResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode HostResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "response":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Response.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"response\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode HostResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfHostResponse) {
|
|
name = jsonFieldsNameOfHostResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *HostResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *HostResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *HwidDevicesResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *HwidDevicesResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("response")
|
|
s.Response.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfHwidDevicesResponse = [1]string{
|
|
0: "response",
|
|
}
|
|
|
|
// Decode decodes HwidDevicesResponse from json.
|
|
func (s *HwidDevicesResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode HwidDevicesResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "response":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Response.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"response\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode HwidDevicesResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfHwidDevicesResponse) {
|
|
name = jsonFieldsNameOfHwidDevicesResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *HwidDevicesResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *HwidDevicesResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *HwidSettings) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *HwidSettings) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("enabled")
|
|
e.Bool(s.Enabled)
|
|
}
|
|
{
|
|
e.FieldStart("fallbackDeviceLimit")
|
|
e.Float64(s.FallbackDeviceLimit)
|
|
}
|
|
{
|
|
e.FieldStart("maxDevicesAnnounce")
|
|
s.MaxDevicesAnnounce.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfHwidSettings = [3]string{
|
|
0: "enabled",
|
|
1: "fallbackDeviceLimit",
|
|
2: "maxDevicesAnnounce",
|
|
}
|
|
|
|
// Decode decodes HwidSettings from json.
|
|
func (s *HwidSettings) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode HwidSettings to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "enabled":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Bool()
|
|
s.Enabled = bool(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"enabled\"")
|
|
}
|
|
case "fallbackDeviceLimit":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.FallbackDeviceLimit = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"fallbackDeviceLimit\"")
|
|
}
|
|
case "maxDevicesAnnounce":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
if err := s.MaxDevicesAnnounce.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"maxDevicesAnnounce\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode HwidSettings")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000111,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfHwidSettings) {
|
|
name = jsonFieldsNameOfHwidSettings[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *HwidSettings) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *HwidSettings) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *Inbound) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *Inbound) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("uuid")
|
|
json.EncodeUUID(e, s.UUID)
|
|
}
|
|
{
|
|
e.FieldStart("profileUuid")
|
|
json.EncodeUUID(e, s.ProfileUuid)
|
|
}
|
|
{
|
|
e.FieldStart("tag")
|
|
e.Str(s.Tag)
|
|
}
|
|
{
|
|
e.FieldStart("type")
|
|
e.Str(s.Type)
|
|
}
|
|
{
|
|
e.FieldStart("network")
|
|
s.Network.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("security")
|
|
s.Security.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("port")
|
|
s.Port.Encode(e)
|
|
}
|
|
{
|
|
if len(s.RawInbound) != 0 {
|
|
e.FieldStart("rawInbound")
|
|
e.Raw(s.RawInbound)
|
|
}
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfInbound = [8]string{
|
|
0: "uuid",
|
|
1: "profileUuid",
|
|
2: "tag",
|
|
3: "type",
|
|
4: "network",
|
|
5: "security",
|
|
6: "port",
|
|
7: "rawInbound",
|
|
}
|
|
|
|
// Decode decodes Inbound from json.
|
|
func (s *Inbound) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode Inbound to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "uuid":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := json.DecodeUUID(d)
|
|
s.UUID = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"uuid\"")
|
|
}
|
|
case "profileUuid":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := json.DecodeUUID(d)
|
|
s.ProfileUuid = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"profileUuid\"")
|
|
}
|
|
case "tag":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Tag = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"tag\"")
|
|
}
|
|
case "type":
|
|
requiredBitSet[0] |= 1 << 3
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Type = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"type\"")
|
|
}
|
|
case "network":
|
|
requiredBitSet[0] |= 1 << 4
|
|
if err := func() error {
|
|
if err := s.Network.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"network\"")
|
|
}
|
|
case "security":
|
|
requiredBitSet[0] |= 1 << 5
|
|
if err := func() error {
|
|
if err := s.Security.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"security\"")
|
|
}
|
|
case "port":
|
|
requiredBitSet[0] |= 1 << 6
|
|
if err := func() error {
|
|
if err := s.Port.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"port\"")
|
|
}
|
|
case "rawInbound":
|
|
requiredBitSet[0] |= 1 << 7
|
|
if err := func() error {
|
|
v, err := d.RawAppend(nil)
|
|
s.RawInbound = jx.Raw(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"rawInbound\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode Inbound")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b11111111,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfInbound) {
|
|
name = jsonFieldsNameOfInbound[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *Inbound) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *Inbound) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *InboundItem) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *InboundItem) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("configProfileUuid")
|
|
s.ConfigProfileUuid.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("configProfileInboundUuid")
|
|
s.ConfigProfileInboundUuid.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfInboundItem = [2]string{
|
|
0: "configProfileUuid",
|
|
1: "configProfileInboundUuid",
|
|
}
|
|
|
|
// Decode decodes InboundItem from json.
|
|
func (s *InboundItem) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode InboundItem to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "configProfileUuid":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.ConfigProfileUuid.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"configProfileUuid\"")
|
|
}
|
|
case "configProfileInboundUuid":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
if err := s.ConfigProfileInboundUuid.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"configProfileInboundUuid\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode InboundItem")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000011,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfInboundItem) {
|
|
name = jsonFieldsNameOfInboundItem[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *InboundItem) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *InboundItem) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *InboundRef) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *InboundRef) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("configProfileUuid")
|
|
json.EncodeUUID(e, s.ConfigProfileUuid)
|
|
}
|
|
{
|
|
e.FieldStart("configProfileInboundUuid")
|
|
json.EncodeUUID(e, s.ConfigProfileInboundUuid)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfInboundRef = [2]string{
|
|
0: "configProfileUuid",
|
|
1: "configProfileInboundUuid",
|
|
}
|
|
|
|
// Decode decodes InboundRef from json.
|
|
func (s *InboundRef) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode InboundRef to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "configProfileUuid":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := json.DecodeUUID(d)
|
|
s.ConfigProfileUuid = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"configProfileUuid\"")
|
|
}
|
|
case "configProfileInboundUuid":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := json.DecodeUUID(d)
|
|
s.ConfigProfileInboundUuid = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"configProfileInboundUuid\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode InboundRef")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000011,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfInboundRef) {
|
|
name = jsonFieldsNameOfInboundRef[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *InboundRef) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *InboundRef) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *InboundsResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *InboundsResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("response")
|
|
s.Response.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfInboundsResponse = [1]string{
|
|
0: "response",
|
|
}
|
|
|
|
// Decode decodes InboundsResponse from json.
|
|
func (s *InboundsResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode InboundsResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "response":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Response.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"response\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode InboundsResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfInboundsResponse) {
|
|
name = jsonFieldsNameOfInboundsResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *InboundsResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *InboundsResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *InboundsResponseResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *InboundsResponseResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("total")
|
|
e.Float64(s.Total)
|
|
}
|
|
{
|
|
e.FieldStart("inbounds")
|
|
e.ArrStart()
|
|
for _, elem := range s.Inbounds {
|
|
elem.Encode(e)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfInboundsResponseResponse = [2]string{
|
|
0: "total",
|
|
1: "inbounds",
|
|
}
|
|
|
|
// Decode decodes InboundsResponseResponse from json.
|
|
func (s *InboundsResponseResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode InboundsResponseResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "total":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.Total = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"total\"")
|
|
}
|
|
case "inbounds":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
s.Inbounds = make([]InboundsResponseResponseInboundsItem, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem InboundsResponseResponseInboundsItem
|
|
if err := elem.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
s.Inbounds = append(s.Inbounds, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"inbounds\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode InboundsResponseResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000011,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfInboundsResponseResponse) {
|
|
name = jsonFieldsNameOfInboundsResponseResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *InboundsResponseResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *InboundsResponseResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *InboundsResponseResponseInboundsItem) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *InboundsResponseResponseInboundsItem) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("uuid")
|
|
json.EncodeUUID(e, s.UUID)
|
|
}
|
|
{
|
|
e.FieldStart("profileUuid")
|
|
json.EncodeUUID(e, s.ProfileUuid)
|
|
}
|
|
{
|
|
e.FieldStart("tag")
|
|
e.Str(s.Tag)
|
|
}
|
|
{
|
|
e.FieldStart("type")
|
|
e.Str(s.Type)
|
|
}
|
|
{
|
|
e.FieldStart("network")
|
|
s.Network.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("security")
|
|
s.Security.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("port")
|
|
s.Port.Encode(e)
|
|
}
|
|
{
|
|
if len(s.RawInbound) != 0 {
|
|
e.FieldStart("rawInbound")
|
|
e.Raw(s.RawInbound)
|
|
}
|
|
}
|
|
{
|
|
e.FieldStart("activeSquads")
|
|
e.ArrStart()
|
|
for _, elem := range s.ActiveSquads {
|
|
json.EncodeUUID(e, elem)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfInboundsResponseResponseInboundsItem = [9]string{
|
|
0: "uuid",
|
|
1: "profileUuid",
|
|
2: "tag",
|
|
3: "type",
|
|
4: "network",
|
|
5: "security",
|
|
6: "port",
|
|
7: "rawInbound",
|
|
8: "activeSquads",
|
|
}
|
|
|
|
// Decode decodes InboundsResponseResponseInboundsItem from json.
|
|
func (s *InboundsResponseResponseInboundsItem) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode InboundsResponseResponseInboundsItem to nil")
|
|
}
|
|
var requiredBitSet [2]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "uuid":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := json.DecodeUUID(d)
|
|
s.UUID = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"uuid\"")
|
|
}
|
|
case "profileUuid":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := json.DecodeUUID(d)
|
|
s.ProfileUuid = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"profileUuid\"")
|
|
}
|
|
case "tag":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Tag = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"tag\"")
|
|
}
|
|
case "type":
|
|
requiredBitSet[0] |= 1 << 3
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Type = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"type\"")
|
|
}
|
|
case "network":
|
|
requiredBitSet[0] |= 1 << 4
|
|
if err := func() error {
|
|
if err := s.Network.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"network\"")
|
|
}
|
|
case "security":
|
|
requiredBitSet[0] |= 1 << 5
|
|
if err := func() error {
|
|
if err := s.Security.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"security\"")
|
|
}
|
|
case "port":
|
|
requiredBitSet[0] |= 1 << 6
|
|
if err := func() error {
|
|
if err := s.Port.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"port\"")
|
|
}
|
|
case "rawInbound":
|
|
requiredBitSet[0] |= 1 << 7
|
|
if err := func() error {
|
|
v, err := d.RawAppend(nil)
|
|
s.RawInbound = jx.Raw(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"rawInbound\"")
|
|
}
|
|
case "activeSquads":
|
|
requiredBitSet[1] |= 1 << 0
|
|
if err := func() error {
|
|
s.ActiveSquads = make([]uuid.UUID, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem uuid.UUID
|
|
v, err := json.DecodeUUID(d)
|
|
elem = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
s.ActiveSquads = append(s.ActiveSquads, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"activeSquads\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode InboundsResponseResponseInboundsItem")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [2]uint8{
|
|
0b11111111,
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfInboundsResponseResponseInboundsItem) {
|
|
name = jsonFieldsNameOfInboundsResponseResponseInboundsItem[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *InboundsResponseResponseInboundsItem) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *InboundsResponseResponseInboundsItem) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *InboundsStat) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *InboundsStat) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("tag")
|
|
e.Str(s.Tag)
|
|
}
|
|
{
|
|
e.FieldStart("upload")
|
|
e.Str(s.Upload)
|
|
}
|
|
{
|
|
e.FieldStart("download")
|
|
e.Str(s.Download)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfInboundsStat = [3]string{
|
|
0: "tag",
|
|
1: "upload",
|
|
2: "download",
|
|
}
|
|
|
|
// Decode decodes InboundsStat from json.
|
|
func (s *InboundsStat) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode InboundsStat to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "tag":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Tag = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"tag\"")
|
|
}
|
|
case "upload":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Upload = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"upload\"")
|
|
}
|
|
case "download":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Download = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"download\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode InboundsStat")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000111,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfInboundsStat) {
|
|
name = jsonFieldsNameOfInboundsStat[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *InboundsStat) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *InboundsStat) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *InfraProviderResponseResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *InfraProviderResponseResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("response")
|
|
s.Response.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfInfraProviderResponseResponse = [1]string{
|
|
0: "response",
|
|
}
|
|
|
|
// Decode decodes InfraProviderResponseResponse from json.
|
|
func (s *InfraProviderResponseResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode InfraProviderResponseResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "response":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Response.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"response\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode InfraProviderResponseResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfInfraProviderResponseResponse) {
|
|
name = jsonFieldsNameOfInfraProviderResponseResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *InfraProviderResponseResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *InfraProviderResponseResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *InfraProvidersDetail) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *InfraProvidersDetail) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("nodeUuid")
|
|
json.EncodeUUID(e, s.NodeUuid)
|
|
}
|
|
{
|
|
e.FieldStart("countryCode")
|
|
e.Str(s.CountryCode)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfInfraProvidersDetail = [2]string{
|
|
0: "nodeUuid",
|
|
1: "countryCode",
|
|
}
|
|
|
|
// Decode decodes InfraProvidersDetail from json.
|
|
func (s *InfraProvidersDetail) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode InfraProvidersDetail to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "nodeUuid":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := json.DecodeUUID(d)
|
|
s.NodeUuid = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"nodeUuid\"")
|
|
}
|
|
case "countryCode":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.CountryCode = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"countryCode\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode InfraProvidersDetail")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000011,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfInfraProvidersDetail) {
|
|
name = jsonFieldsNameOfInfraProvidersDetail[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *InfraProvidersDetail) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *InfraProvidersDetail) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *InterfaceItem) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *InterfaceItem) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("interface")
|
|
e.Str(s.Interface)
|
|
}
|
|
{
|
|
e.FieldStart("rxBytesPerSec")
|
|
e.Float64(s.RxBytesPerSec)
|
|
}
|
|
{
|
|
e.FieldStart("txBytesPerSec")
|
|
e.Float64(s.TxBytesPerSec)
|
|
}
|
|
{
|
|
e.FieldStart("rxTotal")
|
|
e.Float64(s.RxTotal)
|
|
}
|
|
{
|
|
e.FieldStart("txTotal")
|
|
e.Float64(s.TxTotal)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfInterfaceItem = [5]string{
|
|
0: "interface",
|
|
1: "rxBytesPerSec",
|
|
2: "txBytesPerSec",
|
|
3: "rxTotal",
|
|
4: "txTotal",
|
|
}
|
|
|
|
// Decode decodes InterfaceItem from json.
|
|
func (s *InterfaceItem) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode InterfaceItem to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "interface":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Interface = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"interface\"")
|
|
}
|
|
case "rxBytesPerSec":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.RxBytesPerSec = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"rxBytesPerSec\"")
|
|
}
|
|
case "txBytesPerSec":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.TxBytesPerSec = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"txBytesPerSec\"")
|
|
}
|
|
case "rxTotal":
|
|
requiredBitSet[0] |= 1 << 3
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.RxTotal = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"rxTotal\"")
|
|
}
|
|
case "txTotal":
|
|
requiredBitSet[0] |= 1 << 4
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.TxTotal = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"txTotal\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode InterfaceItem")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00011111,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfInterfaceItem) {
|
|
name = jsonFieldsNameOfInterfaceItem[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *InterfaceItem) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *InterfaceItem) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *InternalServerError) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *InternalServerError) encodeFields(e *jx.Encoder) {
|
|
{
|
|
if s.Timestamp.Set {
|
|
e.FieldStart("timestamp")
|
|
s.Timestamp.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.Path.Set {
|
|
e.FieldStart("path")
|
|
s.Path.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.Message.Set {
|
|
e.FieldStart("message")
|
|
s.Message.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.ErrorCode.Set {
|
|
e.FieldStart("errorCode")
|
|
s.ErrorCode.Encode(e)
|
|
}
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfInternalServerError = [4]string{
|
|
0: "timestamp",
|
|
1: "path",
|
|
2: "message",
|
|
3: "errorCode",
|
|
}
|
|
|
|
// Decode decodes InternalServerError from json.
|
|
func (s *InternalServerError) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode InternalServerError to nil")
|
|
}
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "timestamp":
|
|
if err := func() error {
|
|
s.Timestamp.Reset()
|
|
if err := s.Timestamp.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"timestamp\"")
|
|
}
|
|
case "path":
|
|
if err := func() error {
|
|
s.Path.Reset()
|
|
if err := s.Path.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"path\"")
|
|
}
|
|
case "message":
|
|
if err := func() error {
|
|
s.Message.Reset()
|
|
if err := s.Message.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"message\"")
|
|
}
|
|
case "errorCode":
|
|
if err := func() error {
|
|
s.ErrorCode.Reset()
|
|
if err := s.ErrorCode.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"errorCode\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode InternalServerError")
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *InternalServerError) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *InternalServerError) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *InternalSquad) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *InternalSquad) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("uuid")
|
|
json.EncodeUUID(e, s.UUID)
|
|
}
|
|
{
|
|
e.FieldStart("viewPosition")
|
|
e.Int(s.ViewPosition)
|
|
}
|
|
{
|
|
e.FieldStart("name")
|
|
e.Str(s.Name)
|
|
}
|
|
{
|
|
e.FieldStart("info")
|
|
s.Info.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("inbounds")
|
|
e.ArrStart()
|
|
for _, elem := range s.Inbounds {
|
|
elem.Encode(e)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
{
|
|
e.FieldStart("createdAt")
|
|
json.EncodeDateTime(e, s.CreatedAt)
|
|
}
|
|
{
|
|
e.FieldStart("updatedAt")
|
|
json.EncodeDateTime(e, s.UpdatedAt)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfInternalSquad = [7]string{
|
|
0: "uuid",
|
|
1: "viewPosition",
|
|
2: "name",
|
|
3: "info",
|
|
4: "inbounds",
|
|
5: "createdAt",
|
|
6: "updatedAt",
|
|
}
|
|
|
|
// Decode decodes InternalSquad from json.
|
|
func (s *InternalSquad) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode InternalSquad to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "uuid":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := json.DecodeUUID(d)
|
|
s.UUID = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"uuid\"")
|
|
}
|
|
case "viewPosition":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Int()
|
|
s.ViewPosition = int(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"viewPosition\"")
|
|
}
|
|
case "name":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Name = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"name\"")
|
|
}
|
|
case "info":
|
|
requiredBitSet[0] |= 1 << 3
|
|
if err := func() error {
|
|
if err := s.Info.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"info\"")
|
|
}
|
|
case "inbounds":
|
|
requiredBitSet[0] |= 1 << 4
|
|
if err := func() error {
|
|
s.Inbounds = make([]Inbound, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem Inbound
|
|
if err := elem.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
s.Inbounds = append(s.Inbounds, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"inbounds\"")
|
|
}
|
|
case "createdAt":
|
|
requiredBitSet[0] |= 1 << 5
|
|
if err := func() error {
|
|
v, err := json.DecodeDateTime(d)
|
|
s.CreatedAt = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"createdAt\"")
|
|
}
|
|
case "updatedAt":
|
|
requiredBitSet[0] |= 1 << 6
|
|
if err := func() error {
|
|
v, err := json.DecodeDateTime(d)
|
|
s.UpdatedAt = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"updatedAt\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode InternalSquad")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b01111111,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfInternalSquad) {
|
|
name = jsonFieldsNameOfInternalSquad[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *InternalSquad) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *InternalSquad) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *InternalSquadResponseResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *InternalSquadResponseResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("response")
|
|
s.Response.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfInternalSquadResponseResponse = [1]string{
|
|
0: "response",
|
|
}
|
|
|
|
// Decode decodes InternalSquadResponseResponse from json.
|
|
func (s *InternalSquadResponseResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode InternalSquadResponseResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "response":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Response.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"response\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode InternalSquadResponseResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfInternalSquadResponseResponse) {
|
|
name = jsonFieldsNameOfInternalSquadResponseResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *InternalSquadResponseResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *InternalSquadResponseResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *InternalSquadsResponInfoItem) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *InternalSquadsResponInfoItem) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("membersCount")
|
|
e.Float64(s.MembersCount)
|
|
}
|
|
{
|
|
e.FieldStart("inboundsCount")
|
|
e.Float64(s.InboundsCount)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfInternalSquadsResponInfoItem = [2]string{
|
|
0: "membersCount",
|
|
1: "inboundsCount",
|
|
}
|
|
|
|
// Decode decodes InternalSquadsResponInfoItem from json.
|
|
func (s *InternalSquadsResponInfoItem) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode InternalSquadsResponInfoItem to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "membersCount":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.MembersCount = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"membersCount\"")
|
|
}
|
|
case "inboundsCount":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.InboundsCount = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"inboundsCount\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode InternalSquadsResponInfoItem")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000011,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfInternalSquadsResponInfoItem) {
|
|
name = jsonFieldsNameOfInternalSquadsResponInfoItem[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *InternalSquadsResponInfoItem) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *InternalSquadsResponInfoItem) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *InternalSquadsResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *InternalSquadsResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("response")
|
|
s.Response.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfInternalSquadsResponse = [1]string{
|
|
0: "response",
|
|
}
|
|
|
|
// Decode decodes InternalSquadsResponse from json.
|
|
func (s *InternalSquadsResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode InternalSquadsResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "response":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Response.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"response\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode InternalSquadsResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfInternalSquadsResponse) {
|
|
name = jsonFieldsNameOfInternalSquadsResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *InternalSquadsResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *InternalSquadsResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *InternalSquadsResponseResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *InternalSquadsResponseResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("total")
|
|
e.Float64(s.Total)
|
|
}
|
|
{
|
|
e.FieldStart("internalSquads")
|
|
e.ArrStart()
|
|
for _, elem := range s.InternalSquads {
|
|
elem.Encode(e)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfInternalSquadsResponseResponse = [2]string{
|
|
0: "total",
|
|
1: "internalSquads",
|
|
}
|
|
|
|
// Decode decodes InternalSquadsResponseResponse from json.
|
|
func (s *InternalSquadsResponseResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode InternalSquadsResponseResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "total":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.Total = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"total\"")
|
|
}
|
|
case "internalSquads":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
s.InternalSquads = make([]InternalSquad, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem InternalSquad
|
|
if err := elem.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
s.InternalSquads = append(s.InternalSquads, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"internalSquads\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode InternalSquadsResponseResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000011,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfInternalSquadsResponseResponse) {
|
|
name = jsonFieldsNameOfInternalSquadsResponseResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *InternalSquadsResponseResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *InternalSquadsResponseResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *Ips) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *Ips) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("ip")
|
|
e.Str(s.IP)
|
|
}
|
|
{
|
|
e.FieldStart("lastSeen")
|
|
json.EncodeDateTime(e, s.LastSeen)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfIps = [2]string{
|
|
0: "ip",
|
|
1: "lastSeen",
|
|
}
|
|
|
|
// Decode decodes Ips from json.
|
|
func (s *Ips) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode Ips to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "ip":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.IP = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"ip\"")
|
|
}
|
|
case "lastSeen":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := json.DecodeDateTime(d)
|
|
s.LastSeen = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"lastSeen\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode Ips")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000011,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfIps) {
|
|
name = jsonFieldsNameOfIps[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *Ips) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *Ips) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *IpsResponseResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *IpsResponseResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("response")
|
|
s.Response.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfIpsResponseResponse = [1]string{
|
|
0: "response",
|
|
}
|
|
|
|
// Decode decodes IpsResponseResponse from json.
|
|
func (s *IpsResponseResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode IpsResponseResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "response":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Response.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"response\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode IpsResponseResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfIpsResponseResponse) {
|
|
name = jsonFieldsNameOfIpsResponseResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *IpsResponseResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *IpsResponseResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *IpsResponseResponseResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *IpsResponseResponseResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("jobId")
|
|
e.Str(s.JobId)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfIpsResponseResponseResponse = [1]string{
|
|
0: "jobId",
|
|
}
|
|
|
|
// Decode decodes IpsResponseResponseResponse from json.
|
|
func (s *IpsResponseResponseResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode IpsResponseResponseResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "jobId":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.JobId = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"jobId\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode IpsResponseResponseResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfIpsResponseResponseResponse) {
|
|
name = jsonFieldsNameOfIpsResponseResponseResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *IpsResponseResponseResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *IpsResponseResponseResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *Keycloak) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *Keycloak) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("enabled")
|
|
e.Bool(s.Enabled)
|
|
}
|
|
{
|
|
e.FieldStart("realm")
|
|
s.Realm.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("clientId")
|
|
s.ClientId.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("clientSecret")
|
|
s.ClientSecret.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("frontendDomain")
|
|
s.FrontendDomain.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("keycloakDomain")
|
|
s.KeycloakDomain.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("allowedEmails")
|
|
e.ArrStart()
|
|
for _, elem := range s.AllowedEmails {
|
|
e.Str(elem)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfKeycloak = [7]string{
|
|
0: "enabled",
|
|
1: "realm",
|
|
2: "clientId",
|
|
3: "clientSecret",
|
|
4: "frontendDomain",
|
|
5: "keycloakDomain",
|
|
6: "allowedEmails",
|
|
}
|
|
|
|
// Decode decodes Keycloak from json.
|
|
func (s *Keycloak) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode Keycloak to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "enabled":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Bool()
|
|
s.Enabled = bool(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"enabled\"")
|
|
}
|
|
case "realm":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
if err := s.Realm.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"realm\"")
|
|
}
|
|
case "clientId":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
if err := s.ClientId.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"clientId\"")
|
|
}
|
|
case "clientSecret":
|
|
requiredBitSet[0] |= 1 << 3
|
|
if err := func() error {
|
|
if err := s.ClientSecret.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"clientSecret\"")
|
|
}
|
|
case "frontendDomain":
|
|
requiredBitSet[0] |= 1 << 4
|
|
if err := func() error {
|
|
if err := s.FrontendDomain.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"frontendDomain\"")
|
|
}
|
|
case "keycloakDomain":
|
|
requiredBitSet[0] |= 1 << 5
|
|
if err := func() error {
|
|
if err := s.KeycloakDomain.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"keycloakDomain\"")
|
|
}
|
|
case "allowedEmails":
|
|
requiredBitSet[0] |= 1 << 6
|
|
if err := func() error {
|
|
s.AllowedEmails = make([]string, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem string
|
|
v, err := d.Str()
|
|
elem = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
s.AllowedEmails = append(s.AllowedEmails, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"allowedEmails\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode Keycloak")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b01111111,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfKeycloak) {
|
|
name = jsonFieldsNameOfKeycloak[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *Keycloak) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *Keycloak) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *LoginRequest) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *LoginRequest) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("username")
|
|
e.Str(s.Username)
|
|
}
|
|
{
|
|
e.FieldStart("password")
|
|
e.Str(s.Password)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfLoginRequest = [2]string{
|
|
0: "username",
|
|
1: "password",
|
|
}
|
|
|
|
// Decode decodes LoginRequest from json.
|
|
func (s *LoginRequest) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode LoginRequest to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "username":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Username = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"username\"")
|
|
}
|
|
case "password":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Password = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"password\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode LoginRequest")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000011,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfLoginRequest) {
|
|
name = jsonFieldsNameOfLoginRequest[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *LoginRequest) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *LoginRequest) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes BrandingSettings as json.
|
|
func (o NilBrandingSettings) Encode(e *jx.Encoder) {
|
|
if o.Null {
|
|
e.Null()
|
|
return
|
|
}
|
|
o.Value.Encode(e)
|
|
}
|
|
|
|
// Decode decodes BrandingSettings from json.
|
|
func (o *NilBrandingSettings) Decode(d *jx.Decoder) error {
|
|
if o == nil {
|
|
return errors.New("invalid: unable to decode NilBrandingSettings to nil")
|
|
}
|
|
if d.Next() == jx.Null {
|
|
if err := d.Null(); err != nil {
|
|
return err
|
|
}
|
|
|
|
var v BrandingSettings
|
|
o.Value = v
|
|
o.Null = true
|
|
return nil
|
|
}
|
|
o.Null = false
|
|
if err := o.Value.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s NilBrandingSettings) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *NilBrandingSettings) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes CustomRemark as json.
|
|
func (o NilCustomRemark) Encode(e *jx.Encoder) {
|
|
if o.Null {
|
|
e.Null()
|
|
return
|
|
}
|
|
o.Value.Encode(e)
|
|
}
|
|
|
|
// Decode decodes CustomRemark from json.
|
|
func (o *NilCustomRemark) Decode(d *jx.Decoder) error {
|
|
if o == nil {
|
|
return errors.New("invalid: unable to decode NilCustomRemark to nil")
|
|
}
|
|
if d.Next() == jx.Null {
|
|
if err := d.Null(); err != nil {
|
|
return err
|
|
}
|
|
|
|
var v CustomRemark
|
|
o.Value = v
|
|
o.Null = true
|
|
return nil
|
|
}
|
|
o.Null = false
|
|
if err := o.Value.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s NilCustomRemark) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *NilCustomRemark) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes time.Time as json.
|
|
func (o NilDateTime) Encode(e *jx.Encoder, format func(*jx.Encoder, time.Time)) {
|
|
if o.Null {
|
|
e.Null()
|
|
return
|
|
}
|
|
format(e, o.Value)
|
|
}
|
|
|
|
// Decode decodes time.Time from json.
|
|
func (o *NilDateTime) Decode(d *jx.Decoder, format func(*jx.Decoder) (time.Time, error)) error {
|
|
if o == nil {
|
|
return errors.New("invalid: unable to decode NilDateTime to nil")
|
|
}
|
|
if d.Next() == jx.Null {
|
|
if err := d.Null(); err != nil {
|
|
return err
|
|
}
|
|
|
|
var v time.Time
|
|
o.Value = v
|
|
o.Null = true
|
|
return nil
|
|
}
|
|
o.Null = false
|
|
v, err := format(d)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
o.Value = v
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s NilDateTime) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e, json.EncodeDateTime)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *NilDateTime) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d, json.DecodeDateTime)
|
|
}
|
|
|
|
// Encode encodes ExternalSquadResponseHeaders as json.
|
|
func (o NilExternalSquadResponseHeaders) Encode(e *jx.Encoder) {
|
|
if o.Null {
|
|
e.Null()
|
|
return
|
|
}
|
|
o.Value.Encode(e)
|
|
}
|
|
|
|
// Decode decodes ExternalSquadResponseHeaders from json.
|
|
func (o *NilExternalSquadResponseHeaders) Decode(d *jx.Decoder) error {
|
|
if o == nil {
|
|
return errors.New("invalid: unable to decode NilExternalSquadResponseHeaders to nil")
|
|
}
|
|
if d.Next() == jx.Null {
|
|
if err := d.Null(); err != nil {
|
|
return err
|
|
}
|
|
|
|
var v ExternalSquadResponseHeaders
|
|
o.Value = v
|
|
o.Null = true
|
|
return nil
|
|
}
|
|
o.Null = false
|
|
o.Value = make(ExternalSquadResponseHeaders)
|
|
if err := o.Value.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s NilExternalSquadResponseHeaders) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *NilExternalSquadResponseHeaders) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes FetchIpsResultResponseResponseResult as json.
|
|
func (o NilFetchIpsResultResponseResponseResult) Encode(e *jx.Encoder) {
|
|
if o.Null {
|
|
e.Null()
|
|
return
|
|
}
|
|
o.Value.Encode(e)
|
|
}
|
|
|
|
// Decode decodes FetchIpsResultResponseResponseResult from json.
|
|
func (o *NilFetchIpsResultResponseResponseResult) Decode(d *jx.Decoder) error {
|
|
if o == nil {
|
|
return errors.New("invalid: unable to decode NilFetchIpsResultResponseResponseResult to nil")
|
|
}
|
|
if d.Next() == jx.Null {
|
|
if err := d.Null(); err != nil {
|
|
return err
|
|
}
|
|
|
|
var v FetchIpsResultResponseResponseResult
|
|
o.Value = v
|
|
o.Null = true
|
|
return nil
|
|
}
|
|
o.Null = false
|
|
if err := o.Value.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s NilFetchIpsResultResponseResponseResult) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *NilFetchIpsResultResponseResponseResult) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes FetchUsersIpsResultResponseResponseResult as json.
|
|
func (o NilFetchUsersIpsResultResponseResponseResult) Encode(e *jx.Encoder) {
|
|
if o.Null {
|
|
e.Null()
|
|
return
|
|
}
|
|
o.Value.Encode(e)
|
|
}
|
|
|
|
// Decode decodes FetchUsersIpsResultResponseResponseResult from json.
|
|
func (o *NilFetchUsersIpsResultResponseResponseResult) Decode(d *jx.Decoder) error {
|
|
if o == nil {
|
|
return errors.New("invalid: unable to decode NilFetchUsersIpsResultResponseResponseResult to nil")
|
|
}
|
|
if d.Next() == jx.Null {
|
|
if err := d.Null(); err != nil {
|
|
return err
|
|
}
|
|
|
|
var v FetchUsersIpsResultResponseResponseResult
|
|
o.Value = v
|
|
o.Null = true
|
|
return nil
|
|
}
|
|
o.Null = false
|
|
if err := o.Value.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s NilFetchUsersIpsResultResponseResponseResult) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *NilFetchUsersIpsResultResponseResponseResult) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes float64 as json.
|
|
func (o NilFloat64) Encode(e *jx.Encoder) {
|
|
if o.Null {
|
|
e.Null()
|
|
return
|
|
}
|
|
e.Float64(float64(o.Value))
|
|
}
|
|
|
|
// Decode decodes float64 from json.
|
|
func (o *NilFloat64) Decode(d *jx.Decoder) error {
|
|
if o == nil {
|
|
return errors.New("invalid: unable to decode NilFloat64 to nil")
|
|
}
|
|
if d.Next() == jx.Null {
|
|
if err := d.Null(); err != nil {
|
|
return err
|
|
}
|
|
|
|
var v float64
|
|
o.Value = v
|
|
o.Null = true
|
|
return nil
|
|
}
|
|
o.Null = false
|
|
v, err := d.Float64()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
o.Value = float64(v)
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s NilFloat64) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *NilFloat64) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes GetRawSubscriptionByShortUuidResponseResponseConvertedUserInfoHwidCheckup as json.
|
|
func (o NilGetRawSubscriptionByShortUuidResponseResponseConvertedUserInfoHwidCheckup) Encode(e *jx.Encoder) {
|
|
if o.Null {
|
|
e.Null()
|
|
return
|
|
}
|
|
o.Value.Encode(e)
|
|
}
|
|
|
|
// Decode decodes GetRawSubscriptionByShortUuidResponseResponseConvertedUserInfoHwidCheckup from json.
|
|
func (o *NilGetRawSubscriptionByShortUuidResponseResponseConvertedUserInfoHwidCheckup) Decode(d *jx.Decoder) error {
|
|
if o == nil {
|
|
return errors.New("invalid: unable to decode NilGetRawSubscriptionByShortUuidResponseResponseConvertedUserInfoHwidCheckup to nil")
|
|
}
|
|
if d.Next() == jx.Null {
|
|
if err := d.Null(); err != nil {
|
|
return err
|
|
}
|
|
|
|
var v GetRawSubscriptionByShortUuidResponseResponseConvertedUserInfoHwidCheckup
|
|
o.Value = v
|
|
o.Null = true
|
|
return nil
|
|
}
|
|
o.Null = false
|
|
if err := o.Value.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s NilGetRawSubscriptionByShortUuidResponseResponseConvertedUserInfoHwidCheckup) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *NilGetRawSubscriptionByShortUuidResponseResponseConvertedUserInfoHwidCheckup) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemClientOverridesMihomoIpVersion as json.
|
|
func (o NilGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemClientOverridesMihomoIpVersion) Encode(e *jx.Encoder) {
|
|
if o.Null {
|
|
e.Null()
|
|
return
|
|
}
|
|
e.Str(string(o.Value))
|
|
}
|
|
|
|
// Decode decodes GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemClientOverridesMihomoIpVersion from json.
|
|
func (o *NilGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemClientOverridesMihomoIpVersion) Decode(d *jx.Decoder) error {
|
|
if o == nil {
|
|
return errors.New("invalid: unable to decode NilGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemClientOverridesMihomoIpVersion to nil")
|
|
}
|
|
if d.Next() == jx.Null {
|
|
if err := d.Null(); err != nil {
|
|
return err
|
|
}
|
|
|
|
var v GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemClientOverridesMihomoIpVersion
|
|
o.Value = v
|
|
o.Null = true
|
|
return nil
|
|
}
|
|
o.Null = false
|
|
if err := o.Value.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s NilGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemClientOverridesMihomoIpVersion) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *NilGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemClientOverridesMihomoIpVersion) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header as json.
|
|
func (o NilGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header) Encode(e *jx.Encoder) {
|
|
if o.Null {
|
|
e.Null()
|
|
return
|
|
}
|
|
o.Value.Encode(e)
|
|
}
|
|
|
|
// Decode decodes GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header from json.
|
|
func (o *NilGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header) Decode(d *jx.Decoder) error {
|
|
if o == nil {
|
|
return errors.New("invalid: unable to decode NilGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header to nil")
|
|
}
|
|
if d.Next() == jx.Null {
|
|
if err := d.Null(); err != nil {
|
|
return err
|
|
}
|
|
|
|
var v GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header
|
|
o.Value = v
|
|
o.Null = true
|
|
return nil
|
|
}
|
|
o.Null = false
|
|
if err := o.Value.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s NilGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *NilGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions1Extra as json.
|
|
func (o NilGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions1Extra) Encode(e *jx.Encoder) {
|
|
if o.Null {
|
|
e.Null()
|
|
return
|
|
}
|
|
o.Value.Encode(e)
|
|
}
|
|
|
|
// Decode decodes GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions1Extra from json.
|
|
func (o *NilGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions1Extra) Decode(d *jx.Decoder) error {
|
|
if o == nil {
|
|
return errors.New("invalid: unable to decode NilGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions1Extra to nil")
|
|
}
|
|
if d.Next() == jx.Null {
|
|
if err := d.Null(); err != nil {
|
|
return err
|
|
}
|
|
|
|
var v GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions1Extra
|
|
o.Value = v
|
|
o.Null = true
|
|
return nil
|
|
}
|
|
o.Null = false
|
|
o.Value = make(GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions1Extra)
|
|
if err := o.Value.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s NilGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions1Extra) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *NilGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions1Extra) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions2Headers as json.
|
|
func (o NilGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions2Headers) Encode(e *jx.Encoder) {
|
|
if o.Null {
|
|
e.Null()
|
|
return
|
|
}
|
|
o.Value.Encode(e)
|
|
}
|
|
|
|
// Decode decodes GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions2Headers from json.
|
|
func (o *NilGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions2Headers) Decode(d *jx.Decoder) error {
|
|
if o == nil {
|
|
return errors.New("invalid: unable to decode NilGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions2Headers to nil")
|
|
}
|
|
if d.Next() == jx.Null {
|
|
if err := d.Null(); err != nil {
|
|
return err
|
|
}
|
|
|
|
var v GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions2Headers
|
|
o.Value = v
|
|
o.Null = true
|
|
return nil
|
|
}
|
|
o.Null = false
|
|
o.Value = make(GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions2Headers)
|
|
if err := o.Value.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s NilGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions2Headers) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *NilGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions2Headers) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions3Headers as json.
|
|
func (o NilGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions3Headers) Encode(e *jx.Encoder) {
|
|
if o.Null {
|
|
e.Null()
|
|
return
|
|
}
|
|
o.Value.Encode(e)
|
|
}
|
|
|
|
// Decode decodes GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions3Headers from json.
|
|
func (o *NilGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions3Headers) Decode(d *jx.Decoder) error {
|
|
if o == nil {
|
|
return errors.New("invalid: unable to decode NilGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions3Headers to nil")
|
|
}
|
|
if d.Next() == jx.Null {
|
|
if err := d.Null(); err != nil {
|
|
return err
|
|
}
|
|
|
|
var v GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions3Headers
|
|
o.Value = v
|
|
o.Null = true
|
|
return nil
|
|
}
|
|
o.Null = false
|
|
o.Value = make(GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions3Headers)
|
|
if err := o.Value.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s NilGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions3Headers) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *NilGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions3Headers) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes GetStatusResponseResponseAuthentication as json.
|
|
func (o NilGetStatusResponseResponseAuthentication) Encode(e *jx.Encoder) {
|
|
if o.Null {
|
|
e.Null()
|
|
return
|
|
}
|
|
o.Value.Encode(e)
|
|
}
|
|
|
|
// Decode decodes GetStatusResponseResponseAuthentication from json.
|
|
func (o *NilGetStatusResponseResponseAuthentication) Decode(d *jx.Decoder) error {
|
|
if o == nil {
|
|
return errors.New("invalid: unable to decode NilGetStatusResponseResponseAuthentication to nil")
|
|
}
|
|
if d.Next() == jx.Null {
|
|
if err := d.Null(); err != nil {
|
|
return err
|
|
}
|
|
|
|
var v GetStatusResponseResponseAuthentication
|
|
o.Value = v
|
|
o.Null = true
|
|
return nil
|
|
}
|
|
o.Null = false
|
|
if err := o.Value.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s NilGetStatusResponseResponseAuthentication) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *NilGetStatusResponseResponseAuthentication) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes HostItemAlpn as json.
|
|
func (o NilHostItemAlpn) Encode(e *jx.Encoder) {
|
|
if o.Null {
|
|
e.Null()
|
|
return
|
|
}
|
|
e.Str(string(o.Value))
|
|
}
|
|
|
|
// Decode decodes HostItemAlpn from json.
|
|
func (o *NilHostItemAlpn) Decode(d *jx.Decoder) error {
|
|
if o == nil {
|
|
return errors.New("invalid: unable to decode NilHostItemAlpn to nil")
|
|
}
|
|
if d.Next() == jx.Null {
|
|
if err := d.Null(); err != nil {
|
|
return err
|
|
}
|
|
|
|
var v HostItemAlpn
|
|
o.Value = v
|
|
o.Null = true
|
|
return nil
|
|
}
|
|
o.Null = false
|
|
if err := o.Value.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s NilHostItemAlpn) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *NilHostItemAlpn) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes HostItemMihomoIpVersion as json.
|
|
func (o NilHostItemMihomoIpVersion) Encode(e *jx.Encoder) {
|
|
if o.Null {
|
|
e.Null()
|
|
return
|
|
}
|
|
e.Str(string(o.Value))
|
|
}
|
|
|
|
// Decode decodes HostItemMihomoIpVersion from json.
|
|
func (o *NilHostItemMihomoIpVersion) Decode(d *jx.Decoder) error {
|
|
if o == nil {
|
|
return errors.New("invalid: unable to decode NilHostItemMihomoIpVersion to nil")
|
|
}
|
|
if d.Next() == jx.Null {
|
|
if err := d.Null(); err != nil {
|
|
return err
|
|
}
|
|
|
|
var v HostItemMihomoIpVersion
|
|
o.Value = v
|
|
o.Null = true
|
|
return nil
|
|
}
|
|
o.Null = false
|
|
if err := o.Value.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s NilHostItemMihomoIpVersion) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *NilHostItemMihomoIpVersion) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes HostOverride as json.
|
|
func (o NilHostOverride) Encode(e *jx.Encoder) {
|
|
if o.Null {
|
|
e.Null()
|
|
return
|
|
}
|
|
o.Value.Encode(e)
|
|
}
|
|
|
|
// Decode decodes HostOverride from json.
|
|
func (o *NilHostOverride) Decode(d *jx.Decoder) error {
|
|
if o == nil {
|
|
return errors.New("invalid: unable to decode NilHostOverride to nil")
|
|
}
|
|
if d.Next() == jx.Null {
|
|
if err := d.Null(); err != nil {
|
|
return err
|
|
}
|
|
|
|
var v HostOverride
|
|
o.Value = v
|
|
o.Null = true
|
|
return nil
|
|
}
|
|
o.Null = false
|
|
if err := o.Value.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s NilHostOverride) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *NilHostOverride) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes HwidSettings as json.
|
|
func (o NilHwidSettings) Encode(e *jx.Encoder) {
|
|
if o.Null {
|
|
e.Null()
|
|
return
|
|
}
|
|
o.Value.Encode(e)
|
|
}
|
|
|
|
// Decode decodes HwidSettings from json.
|
|
func (o *NilHwidSettings) Decode(d *jx.Decoder) error {
|
|
if o == nil {
|
|
return errors.New("invalid: unable to decode NilHwidSettings to nil")
|
|
}
|
|
if d.Next() == jx.Null {
|
|
if err := d.Null(); err != nil {
|
|
return err
|
|
}
|
|
|
|
var v HwidSettings
|
|
o.Value = v
|
|
o.Null = true
|
|
return nil
|
|
}
|
|
o.Null = false
|
|
if err := o.Value.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s NilHwidSettings) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *NilHwidSettings) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes InfraProvidersDetail as json.
|
|
func (o NilInfraProvidersDetail) Encode(e *jx.Encoder) {
|
|
if o.Null {
|
|
e.Null()
|
|
return
|
|
}
|
|
o.Value.Encode(e)
|
|
}
|
|
|
|
// Decode decodes InfraProvidersDetail from json.
|
|
func (o *NilInfraProvidersDetail) Decode(d *jx.Decoder) error {
|
|
if o == nil {
|
|
return errors.New("invalid: unable to decode NilInfraProvidersDetail to nil")
|
|
}
|
|
if d.Next() == jx.Null {
|
|
if err := d.Null(); err != nil {
|
|
return err
|
|
}
|
|
|
|
var v InfraProvidersDetail
|
|
o.Value = v
|
|
o.Null = true
|
|
return nil
|
|
}
|
|
o.Null = false
|
|
if err := o.Value.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s NilInfraProvidersDetail) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *NilInfraProvidersDetail) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes int as json.
|
|
func (o NilInt) Encode(e *jx.Encoder) {
|
|
if o.Null {
|
|
e.Null()
|
|
return
|
|
}
|
|
e.Int(int(o.Value))
|
|
}
|
|
|
|
// Decode decodes int from json.
|
|
func (o *NilInt) Decode(d *jx.Decoder) error {
|
|
if o == nil {
|
|
return errors.New("invalid: unable to decode NilInt to nil")
|
|
}
|
|
if d.Next() == jx.Null {
|
|
if err := d.Null(); err != nil {
|
|
return err
|
|
}
|
|
|
|
var v int
|
|
o.Value = v
|
|
o.Null = true
|
|
return nil
|
|
}
|
|
o.Null = false
|
|
v, err := d.Int()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
o.Value = int(v)
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s NilInt) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *NilInt) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes InterfaceItem as json.
|
|
func (o NilInterfaceItem) Encode(e *jx.Encoder) {
|
|
if o.Null {
|
|
e.Null()
|
|
return
|
|
}
|
|
o.Value.Encode(e)
|
|
}
|
|
|
|
// Decode decodes InterfaceItem from json.
|
|
func (o *NilInterfaceItem) Decode(d *jx.Decoder) error {
|
|
if o == nil {
|
|
return errors.New("invalid: unable to decode NilInterfaceItem to nil")
|
|
}
|
|
if d.Next() == jx.Null {
|
|
if err := d.Null(); err != nil {
|
|
return err
|
|
}
|
|
|
|
var v InterfaceItem
|
|
o.Value = v
|
|
o.Null = true
|
|
return nil
|
|
}
|
|
o.Null = false
|
|
if err := o.Value.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s NilInterfaceItem) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *NilInterfaceItem) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes Oauth2Settings as json.
|
|
func (o NilOauth2Settings) Encode(e *jx.Encoder) {
|
|
if o.Null {
|
|
e.Null()
|
|
return
|
|
}
|
|
o.Value.Encode(e)
|
|
}
|
|
|
|
// Decode decodes Oauth2Settings from json.
|
|
func (o *NilOauth2Settings) Decode(d *jx.Decoder) error {
|
|
if o == nil {
|
|
return errors.New("invalid: unable to decode NilOauth2Settings to nil")
|
|
}
|
|
if d.Next() == jx.Null {
|
|
if err := d.Null(); err != nil {
|
|
return err
|
|
}
|
|
|
|
var v Oauth2Settings
|
|
o.Value = v
|
|
o.Null = true
|
|
return nil
|
|
}
|
|
o.Null = false
|
|
if err := o.Value.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s NilOauth2Settings) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *NilOauth2Settings) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes PasskeySettings as json.
|
|
func (o NilPasskeySettings) Encode(e *jx.Encoder) {
|
|
if o.Null {
|
|
e.Null()
|
|
return
|
|
}
|
|
o.Value.Encode(e)
|
|
}
|
|
|
|
// Decode decodes PasskeySettings from json.
|
|
func (o *NilPasskeySettings) Decode(d *jx.Decoder) error {
|
|
if o == nil {
|
|
return errors.New("invalid: unable to decode NilPasskeySettings to nil")
|
|
}
|
|
if d.Next() == jx.Null {
|
|
if err := d.Null(); err != nil {
|
|
return err
|
|
}
|
|
|
|
var v PasskeySettings
|
|
o.Value = v
|
|
o.Null = true
|
|
return nil
|
|
}
|
|
o.Null = false
|
|
if err := o.Value.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s NilPasskeySettings) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *NilPasskeySettings) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes PasswordSettings as json.
|
|
func (o NilPasswordSettings) Encode(e *jx.Encoder) {
|
|
if o.Null {
|
|
e.Null()
|
|
return
|
|
}
|
|
o.Value.Encode(e)
|
|
}
|
|
|
|
// Decode decodes PasswordSettings from json.
|
|
func (o *NilPasswordSettings) Decode(d *jx.Decoder) error {
|
|
if o == nil {
|
|
return errors.New("invalid: unable to decode NilPasswordSettings to nil")
|
|
}
|
|
if d.Next() == jx.Null {
|
|
if err := d.Null(); err != nil {
|
|
return err
|
|
}
|
|
|
|
var v PasswordSettings
|
|
o.Value = v
|
|
o.Null = true
|
|
return nil
|
|
}
|
|
o.Null = false
|
|
if err := o.Value.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s NilPasswordSettings) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *NilPasswordSettings) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes ProviderItem as json.
|
|
func (o NilProviderItem) Encode(e *jx.Encoder) {
|
|
if o.Null {
|
|
e.Null()
|
|
return
|
|
}
|
|
o.Value.Encode(e)
|
|
}
|
|
|
|
// Decode decodes ProviderItem from json.
|
|
func (o *NilProviderItem) Decode(d *jx.Decoder) error {
|
|
if o == nil {
|
|
return errors.New("invalid: unable to decode NilProviderItem to nil")
|
|
}
|
|
if d.Next() == jx.Null {
|
|
if err := d.Null(); err != nil {
|
|
return err
|
|
}
|
|
|
|
var v ProviderItem
|
|
o.Value = v
|
|
o.Null = true
|
|
return nil
|
|
}
|
|
o.Null = false
|
|
if err := o.Value.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s NilProviderItem) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *NilProviderItem) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes string as json.
|
|
func (o NilString) Encode(e *jx.Encoder) {
|
|
if o.Null {
|
|
e.Null()
|
|
return
|
|
}
|
|
e.Str(string(o.Value))
|
|
}
|
|
|
|
// Decode decodes string from json.
|
|
func (o *NilString) Decode(d *jx.Decoder) error {
|
|
if o == nil {
|
|
return errors.New("invalid: unable to decode NilString to nil")
|
|
}
|
|
if d.Next() == jx.Null {
|
|
if err := d.Null(); err != nil {
|
|
return err
|
|
}
|
|
|
|
var v string
|
|
o.Value = v
|
|
o.Null = true
|
|
return nil
|
|
}
|
|
o.Null = false
|
|
v, err := d.Str()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
o.Value = string(v)
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s NilString) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *NilString) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes SubscriptionSettings as json.
|
|
func (o NilSubscriptionSettings) Encode(e *jx.Encoder) {
|
|
if o.Null {
|
|
e.Null()
|
|
return
|
|
}
|
|
o.Value.Encode(e)
|
|
}
|
|
|
|
// Decode decodes SubscriptionSettings from json.
|
|
func (o *NilSubscriptionSettings) Decode(d *jx.Decoder) error {
|
|
if o == nil {
|
|
return errors.New("invalid: unable to decode NilSubscriptionSettings to nil")
|
|
}
|
|
if d.Next() == jx.Null {
|
|
if err := d.Null(); err != nil {
|
|
return err
|
|
}
|
|
|
|
var v SubscriptionSettings
|
|
o.Value = v
|
|
o.Null = true
|
|
return nil
|
|
}
|
|
o.Null = false
|
|
if err := o.Value.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s NilSubscriptionSettings) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *NilSubscriptionSettings) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes SubscriptionSettingsResponseResponseCustomResponseHeaders as json.
|
|
func (o NilSubscriptionSettingsResponseResponseCustomResponseHeaders) Encode(e *jx.Encoder) {
|
|
if o.Null {
|
|
e.Null()
|
|
return
|
|
}
|
|
o.Value.Encode(e)
|
|
}
|
|
|
|
// Decode decodes SubscriptionSettingsResponseResponseCustomResponseHeaders from json.
|
|
func (o *NilSubscriptionSettingsResponseResponseCustomResponseHeaders) Decode(d *jx.Decoder) error {
|
|
if o == nil {
|
|
return errors.New("invalid: unable to decode NilSubscriptionSettingsResponseResponseCustomResponseHeaders to nil")
|
|
}
|
|
if d.Next() == jx.Null {
|
|
if err := d.Null(); err != nil {
|
|
return err
|
|
}
|
|
|
|
var v SubscriptionSettingsResponseResponseCustomResponseHeaders
|
|
o.Value = v
|
|
o.Null = true
|
|
return nil
|
|
}
|
|
o.Null = false
|
|
o.Value = make(SubscriptionSettingsResponseResponseCustomResponseHeaders)
|
|
if err := o.Value.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s NilSubscriptionSettingsResponseResponseCustomResponseHeaders) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *NilSubscriptionSettingsResponseResponseCustomResponseHeaders) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes SystemItem as json.
|
|
func (o NilSystemItem) Encode(e *jx.Encoder) {
|
|
if o.Null {
|
|
e.Null()
|
|
return
|
|
}
|
|
o.Value.Encode(e)
|
|
}
|
|
|
|
// Decode decodes SystemItem from json.
|
|
func (o *NilSystemItem) Decode(d *jx.Decoder) error {
|
|
if o == nil {
|
|
return errors.New("invalid: unable to decode NilSystemItem to nil")
|
|
}
|
|
if d.Next() == jx.Null {
|
|
if err := d.Null(); err != nil {
|
|
return err
|
|
}
|
|
|
|
var v SystemItem
|
|
o.Value = v
|
|
o.Null = true
|
|
return nil
|
|
}
|
|
o.Null = false
|
|
if err := o.Value.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s NilSystemItem) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *NilSystemItem) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes url.URL as json.
|
|
func (o NilURI) Encode(e *jx.Encoder) {
|
|
if o.Null {
|
|
e.Null()
|
|
return
|
|
}
|
|
json.EncodeURI(e, o.Value)
|
|
}
|
|
|
|
// Decode decodes url.URL from json.
|
|
func (o *NilURI) Decode(d *jx.Decoder) error {
|
|
if o == nil {
|
|
return errors.New("invalid: unable to decode NilURI to nil")
|
|
}
|
|
if d.Next() == jx.Null {
|
|
if err := d.Null(); err != nil {
|
|
return err
|
|
}
|
|
|
|
var v url.URL
|
|
o.Value = v
|
|
o.Null = true
|
|
return nil
|
|
}
|
|
o.Null = false
|
|
v, err := json.DecodeURI(d)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
o.Value = v
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s NilURI) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *NilURI) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes uuid.UUID as json.
|
|
func (o NilUUID) Encode(e *jx.Encoder) {
|
|
if o.Null {
|
|
e.Null()
|
|
return
|
|
}
|
|
json.EncodeUUID(e, o.Value)
|
|
}
|
|
|
|
// Decode decodes uuid.UUID from json.
|
|
func (o *NilUUID) Decode(d *jx.Decoder) error {
|
|
if o == nil {
|
|
return errors.New("invalid: unable to decode NilUUID to nil")
|
|
}
|
|
if d.Next() == jx.Null {
|
|
if err := d.Null(); err != nil {
|
|
return err
|
|
}
|
|
|
|
var v uuid.UUID
|
|
o.Value = v
|
|
o.Null = true
|
|
return nil
|
|
}
|
|
o.Null = false
|
|
v, err := json.DecodeUUID(d)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
o.Value = v
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s NilUUID) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *NilUUID) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes Version as json.
|
|
func (o NilVersion) Encode(e *jx.Encoder) {
|
|
if o.Null {
|
|
e.Null()
|
|
return
|
|
}
|
|
o.Value.Encode(e)
|
|
}
|
|
|
|
// Decode decodes Version from json.
|
|
func (o *NilVersion) Decode(d *jx.Decoder) error {
|
|
if o == nil {
|
|
return errors.New("invalid: unable to decode NilVersion to nil")
|
|
}
|
|
if d.Next() == jx.Null {
|
|
if err := d.Null(); err != nil {
|
|
return err
|
|
}
|
|
|
|
var v Version
|
|
o.Value = v
|
|
o.Null = true
|
|
return nil
|
|
}
|
|
o.Null = false
|
|
if err := o.Value.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s NilVersion) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *NilVersion) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *Node) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *Node) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("uuid")
|
|
json.EncodeUUID(e, s.UUID)
|
|
}
|
|
{
|
|
e.FieldStart("name")
|
|
e.Str(s.Name)
|
|
}
|
|
{
|
|
e.FieldStart("countryCode")
|
|
e.Str(s.CountryCode)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfNode = [3]string{
|
|
0: "uuid",
|
|
1: "name",
|
|
2: "countryCode",
|
|
}
|
|
|
|
// Decode decodes Node from json.
|
|
func (s *Node) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode Node to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "uuid":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := json.DecodeUUID(d)
|
|
s.UUID = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"uuid\"")
|
|
}
|
|
case "name":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Name = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"name\"")
|
|
}
|
|
case "countryCode":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.CountryCode = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"countryCode\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode Node")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000111,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfNode) {
|
|
name = jsonFieldsNameOfNode[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *Node) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *Node) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *NodePlugin) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *NodePlugin) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("uuid")
|
|
json.EncodeUUID(e, s.UUID)
|
|
}
|
|
{
|
|
e.FieldStart("viewPosition")
|
|
e.Int(s.ViewPosition)
|
|
}
|
|
{
|
|
e.FieldStart("name")
|
|
e.Str(s.Name)
|
|
}
|
|
{
|
|
if len(s.PluginConfig) != 0 {
|
|
e.FieldStart("pluginConfig")
|
|
e.Raw(s.PluginConfig)
|
|
}
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfNodePlugin = [4]string{
|
|
0: "uuid",
|
|
1: "viewPosition",
|
|
2: "name",
|
|
3: "pluginConfig",
|
|
}
|
|
|
|
// Decode decodes NodePlugin from json.
|
|
func (s *NodePlugin) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode NodePlugin to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "uuid":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := json.DecodeUUID(d)
|
|
s.UUID = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"uuid\"")
|
|
}
|
|
case "viewPosition":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Int()
|
|
s.ViewPosition = int(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"viewPosition\"")
|
|
}
|
|
case "name":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Name = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"name\"")
|
|
}
|
|
case "pluginConfig":
|
|
requiredBitSet[0] |= 1 << 3
|
|
if err := func() error {
|
|
v, err := d.RawAppend(nil)
|
|
s.PluginConfig = jx.Raw(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"pluginConfig\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode NodePlugin")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00001111,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfNodePlugin) {
|
|
name = jsonFieldsNameOfNodePlugin[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *NodePlugin) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *NodePlugin) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *NodePluginResponseResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *NodePluginResponseResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("response")
|
|
s.Response.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfNodePluginResponseResponse = [1]string{
|
|
0: "response",
|
|
}
|
|
|
|
// Decode decodes NodePluginResponseResponse from json.
|
|
func (s *NodePluginResponseResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode NodePluginResponseResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "response":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Response.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"response\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode NodePluginResponseResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfNodePluginResponseResponse) {
|
|
name = jsonFieldsNameOfNodePluginResponseResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *NodePluginResponseResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *NodePluginResponseResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *NodePluginResponseResponseResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *NodePluginResponseResponseResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("uuid")
|
|
json.EncodeUUID(e, s.UUID)
|
|
}
|
|
{
|
|
e.FieldStart("viewPosition")
|
|
e.Int(s.ViewPosition)
|
|
}
|
|
{
|
|
e.FieldStart("name")
|
|
e.Str(s.Name)
|
|
}
|
|
{
|
|
if len(s.PluginConfig) != 0 {
|
|
e.FieldStart("pluginConfig")
|
|
e.Raw(s.PluginConfig)
|
|
}
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfNodePluginResponseResponseResponse = [4]string{
|
|
0: "uuid",
|
|
1: "viewPosition",
|
|
2: "name",
|
|
3: "pluginConfig",
|
|
}
|
|
|
|
// Decode decodes NodePluginResponseResponseResponse from json.
|
|
func (s *NodePluginResponseResponseResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode NodePluginResponseResponseResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "uuid":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := json.DecodeUUID(d)
|
|
s.UUID = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"uuid\"")
|
|
}
|
|
case "viewPosition":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Int()
|
|
s.ViewPosition = int(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"viewPosition\"")
|
|
}
|
|
case "name":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Name = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"name\"")
|
|
}
|
|
case "pluginConfig":
|
|
requiredBitSet[0] |= 1 << 3
|
|
if err := func() error {
|
|
v, err := d.RawAppend(nil)
|
|
s.PluginConfig = jx.Raw(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"pluginConfig\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode NodePluginResponseResponseResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00001111,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfNodePluginResponseResponseResponse) {
|
|
name = jsonFieldsNameOfNodePluginResponseResponseResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *NodePluginResponseResponseResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *NodePluginResponseResponseResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *NodePluginsResponseResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *NodePluginsResponseResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("response")
|
|
s.Response.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfNodePluginsResponseResponse = [1]string{
|
|
0: "response",
|
|
}
|
|
|
|
// Decode decodes NodePluginsResponseResponse from json.
|
|
func (s *NodePluginsResponseResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode NodePluginsResponseResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "response":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Response.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"response\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode NodePluginsResponseResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfNodePluginsResponseResponse) {
|
|
name = jsonFieldsNameOfNodePluginsResponseResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *NodePluginsResponseResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *NodePluginsResponseResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *NodePluginsResponseResponseResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *NodePluginsResponseResponseResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("total")
|
|
e.Float64(s.Total)
|
|
}
|
|
{
|
|
e.FieldStart("nodePlugins")
|
|
e.ArrStart()
|
|
for _, elem := range s.NodePlugins {
|
|
elem.Encode(e)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfNodePluginsResponseResponseResponse = [2]string{
|
|
0: "total",
|
|
1: "nodePlugins",
|
|
}
|
|
|
|
// Decode decodes NodePluginsResponseResponseResponse from json.
|
|
func (s *NodePluginsResponseResponseResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode NodePluginsResponseResponseResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "total":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.Total = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"total\"")
|
|
}
|
|
case "nodePlugins":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
s.NodePlugins = make([]NodePlugin, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem NodePlugin
|
|
if err := elem.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
s.NodePlugins = append(s.NodePlugins, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"nodePlugins\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode NodePluginsResponseResponseResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000011,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfNodePluginsResponseResponseResponse) {
|
|
name = jsonFieldsNameOfNodePluginsResponseResponseResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *NodePluginsResponseResponseResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *NodePluginsResponseResponseResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *NodeRequestBodyRequest) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *NodeRequestBodyRequest) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("forceRestart")
|
|
e.Bool(s.ForceRestart)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfNodeRequestBodyRequest = [1]string{
|
|
0: "forceRestart",
|
|
}
|
|
|
|
// Decode decodes NodeRequestBodyRequest from json.
|
|
func (s *NodeRequestBodyRequest) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode NodeRequestBodyRequest to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "forceRestart":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Bool()
|
|
s.ForceRestart = bool(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"forceRestart\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode NodeRequestBodyRequest")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfNodeRequestBodyRequest) {
|
|
name = jsonFieldsNameOfNodeRequestBodyRequest[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *NodeRequestBodyRequest) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *NodeRequestBodyRequest) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *NodeResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *NodeResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("response")
|
|
s.Response.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfNodeResponse = [1]string{
|
|
0: "response",
|
|
}
|
|
|
|
// Decode decodes NodeResponse from json.
|
|
func (s *NodeResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode NodeResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "response":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Response.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"response\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode NodeResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfNodeResponse) {
|
|
name = jsonFieldsNameOfNodeResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *NodeResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *NodeResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *NodeResponseDataItem) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *NodeResponseDataItem) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("uuid")
|
|
json.EncodeUUID(e, s.UUID)
|
|
}
|
|
{
|
|
e.FieldStart("name")
|
|
e.Str(s.Name)
|
|
}
|
|
{
|
|
e.FieldStart("address")
|
|
e.Str(s.Address)
|
|
}
|
|
{
|
|
e.FieldStart("port")
|
|
s.Port.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("proxyUrl")
|
|
s.ProxyUrl.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("isConnected")
|
|
e.Bool(s.IsConnected)
|
|
}
|
|
{
|
|
e.FieldStart("isDisabled")
|
|
e.Bool(s.IsDisabled)
|
|
}
|
|
{
|
|
e.FieldStart("isConnecting")
|
|
e.Bool(s.IsConnecting)
|
|
}
|
|
{
|
|
e.FieldStart("lastStatusChange")
|
|
s.LastStatusChange.Encode(e, json.EncodeDateTime)
|
|
}
|
|
{
|
|
e.FieldStart("lastStatusMessage")
|
|
s.LastStatusMessage.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("isTrafficTrackingActive")
|
|
e.Bool(s.IsTrafficTrackingActive)
|
|
}
|
|
{
|
|
e.FieldStart("trafficResetDay")
|
|
s.TrafficResetDay.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("trafficLimitBytes")
|
|
s.TrafficLimitBytes.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("trafficUsedBytes")
|
|
s.TrafficUsedBytes.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("notifyPercent")
|
|
s.NotifyPercent.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("viewPosition")
|
|
e.Int(s.ViewPosition)
|
|
}
|
|
{
|
|
e.FieldStart("countryCode")
|
|
e.Str(s.CountryCode)
|
|
}
|
|
{
|
|
e.FieldStart("consumptionMultiplier")
|
|
e.Float64(s.ConsumptionMultiplier)
|
|
}
|
|
{
|
|
e.FieldStart("nodeConsumptionMultiplier")
|
|
e.Float64(s.NodeConsumptionMultiplier)
|
|
}
|
|
{
|
|
e.FieldStart("tags")
|
|
e.ArrStart()
|
|
for _, elem := range s.Tags {
|
|
e.Str(elem)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
{
|
|
e.FieldStart("createdAt")
|
|
json.EncodeDateTime(e, s.CreatedAt)
|
|
}
|
|
{
|
|
e.FieldStart("updatedAt")
|
|
json.EncodeDateTime(e, s.UpdatedAt)
|
|
}
|
|
{
|
|
e.FieldStart("configProfile")
|
|
s.ConfigProfile.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("providerUuid")
|
|
s.ProviderUuid.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("provider")
|
|
s.Provider.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("activePluginUuid")
|
|
s.ActivePluginUuid.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("system")
|
|
s.System.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("versions")
|
|
s.Versions.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("xrayUptime")
|
|
e.Float64(s.XrayUptime)
|
|
}
|
|
{
|
|
e.FieldStart("usersOnline")
|
|
e.Float64(s.UsersOnline)
|
|
}
|
|
{
|
|
e.FieldStart("note")
|
|
s.Note.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfNodeResponseDataItem = [31]string{
|
|
0: "uuid",
|
|
1: "name",
|
|
2: "address",
|
|
3: "port",
|
|
4: "proxyUrl",
|
|
5: "isConnected",
|
|
6: "isDisabled",
|
|
7: "isConnecting",
|
|
8: "lastStatusChange",
|
|
9: "lastStatusMessage",
|
|
10: "isTrafficTrackingActive",
|
|
11: "trafficResetDay",
|
|
12: "trafficLimitBytes",
|
|
13: "trafficUsedBytes",
|
|
14: "notifyPercent",
|
|
15: "viewPosition",
|
|
16: "countryCode",
|
|
17: "consumptionMultiplier",
|
|
18: "nodeConsumptionMultiplier",
|
|
19: "tags",
|
|
20: "createdAt",
|
|
21: "updatedAt",
|
|
22: "configProfile",
|
|
23: "providerUuid",
|
|
24: "provider",
|
|
25: "activePluginUuid",
|
|
26: "system",
|
|
27: "versions",
|
|
28: "xrayUptime",
|
|
29: "usersOnline",
|
|
30: "note",
|
|
}
|
|
|
|
// Decode decodes NodeResponseDataItem from json.
|
|
func (s *NodeResponseDataItem) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode NodeResponseDataItem to nil")
|
|
}
|
|
var requiredBitSet [4]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "uuid":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := json.DecodeUUID(d)
|
|
s.UUID = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"uuid\"")
|
|
}
|
|
case "name":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Name = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"name\"")
|
|
}
|
|
case "address":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Address = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"address\"")
|
|
}
|
|
case "port":
|
|
requiredBitSet[0] |= 1 << 3
|
|
if err := func() error {
|
|
if err := s.Port.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"port\"")
|
|
}
|
|
case "proxyUrl":
|
|
requiredBitSet[0] |= 1 << 4
|
|
if err := func() error {
|
|
if err := s.ProxyUrl.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"proxyUrl\"")
|
|
}
|
|
case "isConnected":
|
|
requiredBitSet[0] |= 1 << 5
|
|
if err := func() error {
|
|
v, err := d.Bool()
|
|
s.IsConnected = bool(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"isConnected\"")
|
|
}
|
|
case "isDisabled":
|
|
requiredBitSet[0] |= 1 << 6
|
|
if err := func() error {
|
|
v, err := d.Bool()
|
|
s.IsDisabled = bool(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"isDisabled\"")
|
|
}
|
|
case "isConnecting":
|
|
requiredBitSet[0] |= 1 << 7
|
|
if err := func() error {
|
|
v, err := d.Bool()
|
|
s.IsConnecting = bool(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"isConnecting\"")
|
|
}
|
|
case "lastStatusChange":
|
|
requiredBitSet[1] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.LastStatusChange.Decode(d, json.DecodeDateTime); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"lastStatusChange\"")
|
|
}
|
|
case "lastStatusMessage":
|
|
requiredBitSet[1] |= 1 << 1
|
|
if err := func() error {
|
|
if err := s.LastStatusMessage.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"lastStatusMessage\"")
|
|
}
|
|
case "isTrafficTrackingActive":
|
|
requiredBitSet[1] |= 1 << 2
|
|
if err := func() error {
|
|
v, err := d.Bool()
|
|
s.IsTrafficTrackingActive = bool(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"isTrafficTrackingActive\"")
|
|
}
|
|
case "trafficResetDay":
|
|
requiredBitSet[1] |= 1 << 3
|
|
if err := func() error {
|
|
if err := s.TrafficResetDay.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"trafficResetDay\"")
|
|
}
|
|
case "trafficLimitBytes":
|
|
requiredBitSet[1] |= 1 << 4
|
|
if err := func() error {
|
|
if err := s.TrafficLimitBytes.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"trafficLimitBytes\"")
|
|
}
|
|
case "trafficUsedBytes":
|
|
requiredBitSet[1] |= 1 << 5
|
|
if err := func() error {
|
|
if err := s.TrafficUsedBytes.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"trafficUsedBytes\"")
|
|
}
|
|
case "notifyPercent":
|
|
requiredBitSet[1] |= 1 << 6
|
|
if err := func() error {
|
|
if err := s.NotifyPercent.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"notifyPercent\"")
|
|
}
|
|
case "viewPosition":
|
|
requiredBitSet[1] |= 1 << 7
|
|
if err := func() error {
|
|
v, err := d.Int()
|
|
s.ViewPosition = int(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"viewPosition\"")
|
|
}
|
|
case "countryCode":
|
|
requiredBitSet[2] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.CountryCode = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"countryCode\"")
|
|
}
|
|
case "consumptionMultiplier":
|
|
requiredBitSet[2] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.ConsumptionMultiplier = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"consumptionMultiplier\"")
|
|
}
|
|
case "nodeConsumptionMultiplier":
|
|
requiredBitSet[2] |= 1 << 2
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.NodeConsumptionMultiplier = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"nodeConsumptionMultiplier\"")
|
|
}
|
|
case "tags":
|
|
requiredBitSet[2] |= 1 << 3
|
|
if err := func() error {
|
|
s.Tags = make([]string, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem string
|
|
v, err := d.Str()
|
|
elem = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
s.Tags = append(s.Tags, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"tags\"")
|
|
}
|
|
case "createdAt":
|
|
requiredBitSet[2] |= 1 << 4
|
|
if err := func() error {
|
|
v, err := json.DecodeDateTime(d)
|
|
s.CreatedAt = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"createdAt\"")
|
|
}
|
|
case "updatedAt":
|
|
requiredBitSet[2] |= 1 << 5
|
|
if err := func() error {
|
|
v, err := json.DecodeDateTime(d)
|
|
s.UpdatedAt = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"updatedAt\"")
|
|
}
|
|
case "configProfile":
|
|
requiredBitSet[2] |= 1 << 6
|
|
if err := func() error {
|
|
if err := s.ConfigProfile.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"configProfile\"")
|
|
}
|
|
case "providerUuid":
|
|
requiredBitSet[2] |= 1 << 7
|
|
if err := func() error {
|
|
if err := s.ProviderUuid.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"providerUuid\"")
|
|
}
|
|
case "provider":
|
|
requiredBitSet[3] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Provider.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"provider\"")
|
|
}
|
|
case "activePluginUuid":
|
|
requiredBitSet[3] |= 1 << 1
|
|
if err := func() error {
|
|
if err := s.ActivePluginUuid.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"activePluginUuid\"")
|
|
}
|
|
case "system":
|
|
requiredBitSet[3] |= 1 << 2
|
|
if err := func() error {
|
|
if err := s.System.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"system\"")
|
|
}
|
|
case "versions":
|
|
requiredBitSet[3] |= 1 << 3
|
|
if err := func() error {
|
|
if err := s.Versions.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"versions\"")
|
|
}
|
|
case "xrayUptime":
|
|
requiredBitSet[3] |= 1 << 4
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.XrayUptime = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"xrayUptime\"")
|
|
}
|
|
case "usersOnline":
|
|
requiredBitSet[3] |= 1 << 5
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.UsersOnline = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"usersOnline\"")
|
|
}
|
|
case "note":
|
|
requiredBitSet[3] |= 1 << 6
|
|
if err := func() error {
|
|
if err := s.Note.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"note\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode NodeResponseDataItem")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [4]uint8{
|
|
0b11111111,
|
|
0b11111111,
|
|
0b11111111,
|
|
0b01111111,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfNodeResponseDataItem) {
|
|
name = jsonFieldsNameOfNodeResponseDataItem[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *NodeResponseDataItem) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *NodeResponseDataItem) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *NodeResponseInfoItem) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *NodeResponseInfoItem) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("arch")
|
|
e.Str(s.Arch)
|
|
}
|
|
{
|
|
e.FieldStart("cpus")
|
|
e.Int(s.Cpus)
|
|
}
|
|
{
|
|
e.FieldStart("cpuModel")
|
|
e.Str(s.CpuModel)
|
|
}
|
|
{
|
|
e.FieldStart("memoryTotal")
|
|
e.Float64(s.MemoryTotal)
|
|
}
|
|
{
|
|
e.FieldStart("hostname")
|
|
e.Str(s.Hostname)
|
|
}
|
|
{
|
|
e.FieldStart("platform")
|
|
e.Str(s.Platform)
|
|
}
|
|
{
|
|
e.FieldStart("release")
|
|
e.Str(s.Release)
|
|
}
|
|
{
|
|
e.FieldStart("type")
|
|
e.Str(s.Type)
|
|
}
|
|
{
|
|
e.FieldStart("version")
|
|
e.Str(s.Version)
|
|
}
|
|
{
|
|
e.FieldStart("networkInterfaces")
|
|
e.ArrStart()
|
|
for _, elem := range s.NetworkInterfaces {
|
|
e.Str(elem)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfNodeResponseInfoItem = [10]string{
|
|
0: "arch",
|
|
1: "cpus",
|
|
2: "cpuModel",
|
|
3: "memoryTotal",
|
|
4: "hostname",
|
|
5: "platform",
|
|
6: "release",
|
|
7: "type",
|
|
8: "version",
|
|
9: "networkInterfaces",
|
|
}
|
|
|
|
// Decode decodes NodeResponseInfoItem from json.
|
|
func (s *NodeResponseInfoItem) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode NodeResponseInfoItem to nil")
|
|
}
|
|
var requiredBitSet [2]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "arch":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Arch = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"arch\"")
|
|
}
|
|
case "cpus":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Int()
|
|
s.Cpus = int(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"cpus\"")
|
|
}
|
|
case "cpuModel":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.CpuModel = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"cpuModel\"")
|
|
}
|
|
case "memoryTotal":
|
|
requiredBitSet[0] |= 1 << 3
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.MemoryTotal = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"memoryTotal\"")
|
|
}
|
|
case "hostname":
|
|
requiredBitSet[0] |= 1 << 4
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Hostname = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"hostname\"")
|
|
}
|
|
case "platform":
|
|
requiredBitSet[0] |= 1 << 5
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Platform = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"platform\"")
|
|
}
|
|
case "release":
|
|
requiredBitSet[0] |= 1 << 6
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Release = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"release\"")
|
|
}
|
|
case "type":
|
|
requiredBitSet[0] |= 1 << 7
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Type = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"type\"")
|
|
}
|
|
case "version":
|
|
requiredBitSet[1] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Version = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"version\"")
|
|
}
|
|
case "networkInterfaces":
|
|
requiredBitSet[1] |= 1 << 1
|
|
if err := func() error {
|
|
s.NetworkInterfaces = make([]string, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem string
|
|
v, err := d.Str()
|
|
elem = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
s.NetworkInterfaces = append(s.NetworkInterfaces, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"networkInterfaces\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode NodeResponseInfoItem")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [2]uint8{
|
|
0b11111111,
|
|
0b00000011,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfNodeResponseInfoItem) {
|
|
name = jsonFieldsNameOfNodeResponseInfoItem[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *NodeResponseInfoItem) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *NodeResponseInfoItem) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *NodesResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *NodesResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("response")
|
|
e.ArrStart()
|
|
for _, elem := range s.Response {
|
|
elem.Encode(e)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfNodesResponse = [1]string{
|
|
0: "response",
|
|
}
|
|
|
|
// Decode decodes NodesResponse from json.
|
|
func (s *NodesResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode NodesResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "response":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
s.Response = make([]NodeResponseDataItem, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem NodeResponseDataItem
|
|
if err := elem.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
s.Response = append(s.Response, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"response\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode NodesResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfNodesResponse) {
|
|
name = jsonFieldsNameOfNodesResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *NodesResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *NodesResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *NotFoundError) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *NotFoundError) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("message")
|
|
e.Str(s.Message)
|
|
}
|
|
{
|
|
e.FieldStart("statusCode")
|
|
e.Float64(s.StatusCode)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfNotFoundError = [2]string{
|
|
0: "message",
|
|
1: "statusCode",
|
|
}
|
|
|
|
// Decode decodes NotFoundError from json.
|
|
func (s *NotFoundError) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode NotFoundError to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "message":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Message = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"message\"")
|
|
}
|
|
case "statusCode":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.StatusCode = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"statusCode\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode NotFoundError")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000011,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfNotFoundError) {
|
|
name = jsonFieldsNameOfNotFoundError[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *NotFoundError) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *NotFoundError) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *OAuth2AuthorizeRequest) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *OAuth2AuthorizeRequest) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("provider")
|
|
s.Provider.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfOAuth2AuthorizeRequest = [1]string{
|
|
0: "provider",
|
|
}
|
|
|
|
// Decode decodes OAuth2AuthorizeRequest from json.
|
|
func (s *OAuth2AuthorizeRequest) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode OAuth2AuthorizeRequest to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "provider":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Provider.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"provider\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode OAuth2AuthorizeRequest")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfOAuth2AuthorizeRequest) {
|
|
name = jsonFieldsNameOfOAuth2AuthorizeRequest[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *OAuth2AuthorizeRequest) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *OAuth2AuthorizeRequest) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes OAuth2AuthorizeRequestProvider as json.
|
|
func (s OAuth2AuthorizeRequestProvider) Encode(e *jx.Encoder) {
|
|
e.Str(string(s))
|
|
}
|
|
|
|
// Decode decodes OAuth2AuthorizeRequestProvider from json.
|
|
func (s *OAuth2AuthorizeRequestProvider) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode OAuth2AuthorizeRequestProvider to nil")
|
|
}
|
|
v, err := d.StrBytes()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
// Try to use constant string.
|
|
switch OAuth2AuthorizeRequestProvider(v) {
|
|
case OAuth2AuthorizeRequestProviderTelegram:
|
|
*s = OAuth2AuthorizeRequestProviderTelegram
|
|
case OAuth2AuthorizeRequestProviderGithub:
|
|
*s = OAuth2AuthorizeRequestProviderGithub
|
|
case OAuth2AuthorizeRequestProviderPocketid:
|
|
*s = OAuth2AuthorizeRequestProviderPocketid
|
|
case OAuth2AuthorizeRequestProviderYandex:
|
|
*s = OAuth2AuthorizeRequestProviderYandex
|
|
case OAuth2AuthorizeRequestProviderKeycloak:
|
|
*s = OAuth2AuthorizeRequestProviderKeycloak
|
|
case OAuth2AuthorizeRequestProviderGeneric:
|
|
*s = OAuth2AuthorizeRequestProviderGeneric
|
|
default:
|
|
*s = OAuth2AuthorizeRequestProvider(v)
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s OAuth2AuthorizeRequestProvider) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *OAuth2AuthorizeRequestProvider) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *OAuth2AuthorizeResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *OAuth2AuthorizeResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("response")
|
|
s.Response.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfOAuth2AuthorizeResponse = [1]string{
|
|
0: "response",
|
|
}
|
|
|
|
// Decode decodes OAuth2AuthorizeResponse from json.
|
|
func (s *OAuth2AuthorizeResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode OAuth2AuthorizeResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "response":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Response.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"response\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode OAuth2AuthorizeResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfOAuth2AuthorizeResponse) {
|
|
name = jsonFieldsNameOfOAuth2AuthorizeResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *OAuth2AuthorizeResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *OAuth2AuthorizeResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *OAuth2AuthorizeResponseResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *OAuth2AuthorizeResponseResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("authorizationUrl")
|
|
s.AuthorizationUrl.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfOAuth2AuthorizeResponseResponse = [1]string{
|
|
0: "authorizationUrl",
|
|
}
|
|
|
|
// Decode decodes OAuth2AuthorizeResponseResponse from json.
|
|
func (s *OAuth2AuthorizeResponseResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode OAuth2AuthorizeResponseResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "authorizationUrl":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.AuthorizationUrl.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"authorizationUrl\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode OAuth2AuthorizeResponseResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfOAuth2AuthorizeResponseResponse) {
|
|
name = jsonFieldsNameOfOAuth2AuthorizeResponseResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *OAuth2AuthorizeResponseResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *OAuth2AuthorizeResponseResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *OAuth2CallbackRequest) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *OAuth2CallbackRequest) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("provider")
|
|
s.Provider.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("code")
|
|
e.Str(s.Code)
|
|
}
|
|
{
|
|
e.FieldStart("state")
|
|
e.Str(s.State)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfOAuth2CallbackRequest = [3]string{
|
|
0: "provider",
|
|
1: "code",
|
|
2: "state",
|
|
}
|
|
|
|
// Decode decodes OAuth2CallbackRequest from json.
|
|
func (s *OAuth2CallbackRequest) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode OAuth2CallbackRequest to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "provider":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Provider.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"provider\"")
|
|
}
|
|
case "code":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Code = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"code\"")
|
|
}
|
|
case "state":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.State = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"state\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode OAuth2CallbackRequest")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000111,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfOAuth2CallbackRequest) {
|
|
name = jsonFieldsNameOfOAuth2CallbackRequest[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *OAuth2CallbackRequest) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *OAuth2CallbackRequest) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes OAuth2CallbackRequestProvider as json.
|
|
func (s OAuth2CallbackRequestProvider) Encode(e *jx.Encoder) {
|
|
e.Str(string(s))
|
|
}
|
|
|
|
// Decode decodes OAuth2CallbackRequestProvider from json.
|
|
func (s *OAuth2CallbackRequestProvider) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode OAuth2CallbackRequestProvider to nil")
|
|
}
|
|
v, err := d.StrBytes()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
// Try to use constant string.
|
|
switch OAuth2CallbackRequestProvider(v) {
|
|
case OAuth2CallbackRequestProviderTelegram:
|
|
*s = OAuth2CallbackRequestProviderTelegram
|
|
case OAuth2CallbackRequestProviderGithub:
|
|
*s = OAuth2CallbackRequestProviderGithub
|
|
case OAuth2CallbackRequestProviderPocketid:
|
|
*s = OAuth2CallbackRequestProviderPocketid
|
|
case OAuth2CallbackRequestProviderYandex:
|
|
*s = OAuth2CallbackRequestProviderYandex
|
|
case OAuth2CallbackRequestProviderKeycloak:
|
|
*s = OAuth2CallbackRequestProviderKeycloak
|
|
case OAuth2CallbackRequestProviderGeneric:
|
|
*s = OAuth2CallbackRequestProviderGeneric
|
|
default:
|
|
*s = OAuth2CallbackRequestProvider(v)
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s OAuth2CallbackRequestProvider) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *OAuth2CallbackRequestProvider) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *Oauth2Settings) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *Oauth2Settings) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("github")
|
|
s.Github.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("pocketid")
|
|
s.Pocketid.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("yandex")
|
|
s.Yandex.Encode(e)
|
|
}
|
|
{
|
|
if s.Keycloak.Set {
|
|
e.FieldStart("keycloak")
|
|
s.Keycloak.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.Generic.Set {
|
|
e.FieldStart("generic")
|
|
s.Generic.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.Telegram.Set {
|
|
e.FieldStart("telegram")
|
|
s.Telegram.Encode(e)
|
|
}
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfOauth2Settings = [6]string{
|
|
0: "github",
|
|
1: "pocketid",
|
|
2: "yandex",
|
|
3: "keycloak",
|
|
4: "generic",
|
|
5: "telegram",
|
|
}
|
|
|
|
// Decode decodes Oauth2Settings from json.
|
|
func (s *Oauth2Settings) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode Oauth2Settings to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "github":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Github.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"github\"")
|
|
}
|
|
case "pocketid":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
if err := s.Pocketid.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"pocketid\"")
|
|
}
|
|
case "yandex":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
if err := s.Yandex.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"yandex\"")
|
|
}
|
|
case "keycloak":
|
|
if err := func() error {
|
|
s.Keycloak.Reset()
|
|
if err := s.Keycloak.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"keycloak\"")
|
|
}
|
|
case "generic":
|
|
if err := func() error {
|
|
s.Generic.Reset()
|
|
if err := s.Generic.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"generic\"")
|
|
}
|
|
case "telegram":
|
|
if err := func() error {
|
|
s.Telegram.Reset()
|
|
if err := s.Telegram.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"telegram\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode Oauth2Settings")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000111,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfOauth2Settings) {
|
|
name = jsonFieldsNameOfOauth2Settings[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *Oauth2Settings) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *Oauth2Settings) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes bool as json.
|
|
func (o OptBool) Encode(e *jx.Encoder) {
|
|
if !o.Set {
|
|
return
|
|
}
|
|
e.Bool(bool(o.Value))
|
|
}
|
|
|
|
// Decode decodes bool from json.
|
|
func (o *OptBool) Decode(d *jx.Decoder) error {
|
|
if o == nil {
|
|
return errors.New("invalid: unable to decode OptBool to nil")
|
|
}
|
|
o.Set = true
|
|
v, err := d.Bool()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
o.Value = bool(v)
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s OptBool) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *OptBool) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes BulkAllUpdateUsersRequestStatus as json.
|
|
func (o OptBulkAllUpdateUsersRequestStatus) Encode(e *jx.Encoder) {
|
|
if !o.Set {
|
|
return
|
|
}
|
|
e.Str(string(o.Value))
|
|
}
|
|
|
|
// Decode decodes BulkAllUpdateUsersRequestStatus from json.
|
|
func (o *OptBulkAllUpdateUsersRequestStatus) Decode(d *jx.Decoder) error {
|
|
if o == nil {
|
|
return errors.New("invalid: unable to decode OptBulkAllUpdateUsersRequestStatus to nil")
|
|
}
|
|
o.Set = true
|
|
if err := o.Value.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s OptBulkAllUpdateUsersRequestStatus) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *OptBulkAllUpdateUsersRequestStatus) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes BulkAllUpdateUsersRequestTrafficLimitStrategy as json.
|
|
func (o OptBulkAllUpdateUsersRequestTrafficLimitStrategy) Encode(e *jx.Encoder) {
|
|
if !o.Set {
|
|
return
|
|
}
|
|
e.Str(string(o.Value))
|
|
}
|
|
|
|
// Decode decodes BulkAllUpdateUsersRequestTrafficLimitStrategy from json.
|
|
func (o *OptBulkAllUpdateUsersRequestTrafficLimitStrategy) Decode(d *jx.Decoder) error {
|
|
if o == nil {
|
|
return errors.New("invalid: unable to decode OptBulkAllUpdateUsersRequestTrafficLimitStrategy to nil")
|
|
}
|
|
o.Set = true
|
|
if err := o.Value.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s OptBulkAllUpdateUsersRequestTrafficLimitStrategy) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *OptBulkAllUpdateUsersRequestTrafficLimitStrategy) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes BulkDeleteUsersByStatusRequestStatus as json.
|
|
func (o OptBulkDeleteUsersByStatusRequestStatus) Encode(e *jx.Encoder) {
|
|
if !o.Set {
|
|
return
|
|
}
|
|
e.Str(string(o.Value))
|
|
}
|
|
|
|
// Decode decodes BulkDeleteUsersByStatusRequestStatus from json.
|
|
func (o *OptBulkDeleteUsersByStatusRequestStatus) Decode(d *jx.Decoder) error {
|
|
if o == nil {
|
|
return errors.New("invalid: unable to decode OptBulkDeleteUsersByStatusRequestStatus to nil")
|
|
}
|
|
o.Set = true
|
|
if err := o.Value.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s OptBulkDeleteUsersByStatusRequestStatus) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *OptBulkDeleteUsersByStatusRequestStatus) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes BulkUpdateUsersRequestFieldsStatus as json.
|
|
func (o OptBulkUpdateUsersRequestFieldsStatus) Encode(e *jx.Encoder) {
|
|
if !o.Set {
|
|
return
|
|
}
|
|
e.Str(string(o.Value))
|
|
}
|
|
|
|
// Decode decodes BulkUpdateUsersRequestFieldsStatus from json.
|
|
func (o *OptBulkUpdateUsersRequestFieldsStatus) Decode(d *jx.Decoder) error {
|
|
if o == nil {
|
|
return errors.New("invalid: unable to decode OptBulkUpdateUsersRequestFieldsStatus to nil")
|
|
}
|
|
o.Set = true
|
|
if err := o.Value.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s OptBulkUpdateUsersRequestFieldsStatus) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *OptBulkUpdateUsersRequestFieldsStatus) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes BulkUpdateUsersRequestFieldsTrafficLimitStrategy as json.
|
|
func (o OptBulkUpdateUsersRequestFieldsTrafficLimitStrategy) Encode(e *jx.Encoder) {
|
|
if !o.Set {
|
|
return
|
|
}
|
|
e.Str(string(o.Value))
|
|
}
|
|
|
|
// Decode decodes BulkUpdateUsersRequestFieldsTrafficLimitStrategy from json.
|
|
func (o *OptBulkUpdateUsersRequestFieldsTrafficLimitStrategy) Decode(d *jx.Decoder) error {
|
|
if o == nil {
|
|
return errors.New("invalid: unable to decode OptBulkUpdateUsersRequestFieldsTrafficLimitStrategy to nil")
|
|
}
|
|
o.Set = true
|
|
if err := o.Value.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s OptBulkUpdateUsersRequestFieldsTrafficLimitStrategy) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *OptBulkUpdateUsersRequestFieldsTrafficLimitStrategy) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes ConfigProfileRef as json.
|
|
func (o OptConfigProfileRef) Encode(e *jx.Encoder) {
|
|
if !o.Set {
|
|
return
|
|
}
|
|
o.Value.Encode(e)
|
|
}
|
|
|
|
// Decode decodes ConfigProfileRef from json.
|
|
func (o *OptConfigProfileRef) Decode(d *jx.Decoder) error {
|
|
if o == nil {
|
|
return errors.New("invalid: unable to decode OptConfigProfileRef to nil")
|
|
}
|
|
o.Set = true
|
|
if err := o.Value.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s OptConfigProfileRef) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *OptConfigProfileRef) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes CreateHostRequestSecurityLayer as json.
|
|
func (o OptCreateHostRequestSecurityLayer) Encode(e *jx.Encoder) {
|
|
if !o.Set {
|
|
return
|
|
}
|
|
e.Str(string(o.Value))
|
|
}
|
|
|
|
// Decode decodes CreateHostRequestSecurityLayer from json.
|
|
func (o *OptCreateHostRequestSecurityLayer) Decode(d *jx.Decoder) error {
|
|
if o == nil {
|
|
return errors.New("invalid: unable to decode OptCreateHostRequestSecurityLayer to nil")
|
|
}
|
|
o.Set = true
|
|
if err := o.Value.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s OptCreateHostRequestSecurityLayer) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *OptCreateHostRequestSecurityLayer) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes CreateUserRequestStatus as json.
|
|
func (o OptCreateUserRequestStatus) Encode(e *jx.Encoder) {
|
|
if !o.Set {
|
|
return
|
|
}
|
|
e.Str(string(o.Value))
|
|
}
|
|
|
|
// Decode decodes CreateUserRequestStatus from json.
|
|
func (o *OptCreateUserRequestStatus) Decode(d *jx.Decoder) error {
|
|
if o == nil {
|
|
return errors.New("invalid: unable to decode OptCreateUserRequestStatus to nil")
|
|
}
|
|
o.Set = true
|
|
if err := o.Value.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s OptCreateUserRequestStatus) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *OptCreateUserRequestStatus) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes CreateUserRequestTrafficLimitStrategy as json.
|
|
func (o OptCreateUserRequestTrafficLimitStrategy) Encode(e *jx.Encoder) {
|
|
if !o.Set {
|
|
return
|
|
}
|
|
e.Str(string(o.Value))
|
|
}
|
|
|
|
// Decode decodes CreateUserRequestTrafficLimitStrategy from json.
|
|
func (o *OptCreateUserRequestTrafficLimitStrategy) Decode(d *jx.Decoder) error {
|
|
if o == nil {
|
|
return errors.New("invalid: unable to decode OptCreateUserRequestTrafficLimitStrategy to nil")
|
|
}
|
|
o.Set = true
|
|
if err := o.Value.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s OptCreateUserRequestTrafficLimitStrategy) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *OptCreateUserRequestTrafficLimitStrategy) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes time.Time as json.
|
|
func (o OptDateTime) Encode(e *jx.Encoder, format func(*jx.Encoder, time.Time)) {
|
|
if !o.Set {
|
|
return
|
|
}
|
|
format(e, o.Value)
|
|
}
|
|
|
|
// Decode decodes time.Time from json.
|
|
func (o *OptDateTime) Decode(d *jx.Decoder, format func(*jx.Decoder) (time.Time, error)) error {
|
|
if o == nil {
|
|
return errors.New("invalid: unable to decode OptDateTime to nil")
|
|
}
|
|
o.Set = true
|
|
v, err := format(d)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
o.Value = v
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s OptDateTime) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e, json.EncodeDateTime)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *OptDateTime) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d, json.DecodeDateTime)
|
|
}
|
|
|
|
// Encode encodes DebugSrrMatcherSettings as json.
|
|
func (o OptDebugSrrMatcherSettings) Encode(e *jx.Encoder) {
|
|
if !o.Set {
|
|
return
|
|
}
|
|
o.Value.Encode(e)
|
|
}
|
|
|
|
// Decode decodes DebugSrrMatcherSettings from json.
|
|
func (o *OptDebugSrrMatcherSettings) Decode(d *jx.Decoder) error {
|
|
if o == nil {
|
|
return errors.New("invalid: unable to decode OptDebugSrrMatcherSettings to nil")
|
|
}
|
|
o.Set = true
|
|
if err := o.Value.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s OptDebugSrrMatcherSettings) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *OptDebugSrrMatcherSettings) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes EncryptionItem as json.
|
|
func (o OptEncryptionItem) Encode(e *jx.Encoder) {
|
|
if !o.Set {
|
|
return
|
|
}
|
|
o.Value.Encode(e)
|
|
}
|
|
|
|
// Decode decodes EncryptionItem from json.
|
|
func (o *OptEncryptionItem) Decode(d *jx.Decoder) error {
|
|
if o == nil {
|
|
return errors.New("invalid: unable to decode OptEncryptionItem to nil")
|
|
}
|
|
o.Set = true
|
|
if err := o.Value.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s OptEncryptionItem) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *OptEncryptionItem) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes float64 as json.
|
|
func (o OptFloat64) Encode(e *jx.Encoder) {
|
|
if !o.Set {
|
|
return
|
|
}
|
|
e.Float64(float64(o.Value))
|
|
}
|
|
|
|
// Decode decodes float64 from json.
|
|
func (o *OptFloat64) Decode(d *jx.Decoder) error {
|
|
if o == nil {
|
|
return errors.New("invalid: unable to decode OptFloat64 to nil")
|
|
}
|
|
o.Set = true
|
|
v, err := d.Float64()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
o.Value = float64(v)
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s OptFloat64) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *OptFloat64) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes Generic as json.
|
|
func (o OptGeneric) Encode(e *jx.Encoder) {
|
|
if !o.Set {
|
|
return
|
|
}
|
|
o.Value.Encode(e)
|
|
}
|
|
|
|
// Decode decodes Generic from json.
|
|
func (o *OptGeneric) Decode(d *jx.Decoder) error {
|
|
if o == nil {
|
|
return errors.New("invalid: unable to decode OptGeneric to nil")
|
|
}
|
|
o.Set = true
|
|
if err := o.Value.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s OptGeneric) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *OptGeneric) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemSecurityOptions as json.
|
|
func (o OptGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemSecurityOptions) Encode(e *jx.Encoder) {
|
|
if !o.Set {
|
|
return
|
|
}
|
|
o.Value.Encode(e)
|
|
}
|
|
|
|
// Decode decodes GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemSecurityOptions from json.
|
|
func (o *OptGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemSecurityOptions) Decode(d *jx.Decoder) error {
|
|
if o == nil {
|
|
return errors.New("invalid: unable to decode OptGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemSecurityOptions to nil")
|
|
}
|
|
o.Set = true
|
|
if err := o.Value.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s OptGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemSecurityOptions) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *OptGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemSecurityOptions) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header1Request as json.
|
|
func (o OptGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header1Request) Encode(e *jx.Encoder) {
|
|
if !o.Set {
|
|
return
|
|
}
|
|
o.Value.Encode(e)
|
|
}
|
|
|
|
// Decode decodes GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header1Request from json.
|
|
func (o *OptGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header1Request) Decode(d *jx.Decoder) error {
|
|
if o == nil {
|
|
return errors.New("invalid: unable to decode OptGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header1Request to nil")
|
|
}
|
|
o.Set = true
|
|
if err := o.Value.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s OptGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header1Request) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *OptGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header1Request) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header1RequestHeaders as json.
|
|
func (o OptGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header1RequestHeaders) Encode(e *jx.Encoder) {
|
|
if !o.Set {
|
|
return
|
|
}
|
|
o.Value.Encode(e)
|
|
}
|
|
|
|
// Decode decodes GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header1RequestHeaders from json.
|
|
func (o *OptGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header1RequestHeaders) Decode(d *jx.Decoder) error {
|
|
if o == nil {
|
|
return errors.New("invalid: unable to decode OptGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header1RequestHeaders to nil")
|
|
}
|
|
o.Set = true
|
|
o.Value = make(GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header1RequestHeaders)
|
|
if err := o.Value.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s OptGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header1RequestHeaders) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *OptGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header1RequestHeaders) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header1Response as json.
|
|
func (o OptGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header1Response) Encode(e *jx.Encoder) {
|
|
if !o.Set {
|
|
return
|
|
}
|
|
o.Value.Encode(e)
|
|
}
|
|
|
|
// Decode decodes GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header1Response from json.
|
|
func (o *OptGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header1Response) Decode(d *jx.Decoder) error {
|
|
if o == nil {
|
|
return errors.New("invalid: unable to decode OptGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header1Response to nil")
|
|
}
|
|
o.Set = true
|
|
if err := o.Value.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s OptGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header1Response) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *OptGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header1Response) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header1ResponseHeaders as json.
|
|
func (o OptGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header1ResponseHeaders) Encode(e *jx.Encoder) {
|
|
if !o.Set {
|
|
return
|
|
}
|
|
o.Value.Encode(e)
|
|
}
|
|
|
|
// Decode decodes GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header1ResponseHeaders from json.
|
|
func (o *OptGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header1ResponseHeaders) Decode(d *jx.Decoder) error {
|
|
if o == nil {
|
|
return errors.New("invalid: unable to decode OptGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header1ResponseHeaders to nil")
|
|
}
|
|
o.Set = true
|
|
o.Value = make(GetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header1ResponseHeaders)
|
|
if err := o.Value.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s OptGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header1ResponseHeaders) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *OptGetRawSubscriptionByShortUuidResponseResponseResolvedProxyConfigsItemTransportOptions0Header1ResponseHeaders) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes HostItemSecurityLayer as json.
|
|
func (o OptHostItemSecurityLayer) Encode(e *jx.Encoder) {
|
|
if !o.Set {
|
|
return
|
|
}
|
|
e.Str(string(o.Value))
|
|
}
|
|
|
|
// Decode decodes HostItemSecurityLayer from json.
|
|
func (o *OptHostItemSecurityLayer) Decode(d *jx.Decoder) error {
|
|
if o == nil {
|
|
return errors.New("invalid: unable to decode OptHostItemSecurityLayer to nil")
|
|
}
|
|
o.Set = true
|
|
if err := o.Value.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s OptHostItemSecurityLayer) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *OptHostItemSecurityLayer) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes InboundRef as json.
|
|
func (o OptInboundRef) Encode(e *jx.Encoder) {
|
|
if !o.Set {
|
|
return
|
|
}
|
|
o.Value.Encode(e)
|
|
}
|
|
|
|
// Decode decodes InboundRef from json.
|
|
func (o *OptInboundRef) Decode(d *jx.Decoder) error {
|
|
if o == nil {
|
|
return errors.New("invalid: unable to decode OptInboundRef to nil")
|
|
}
|
|
o.Set = true
|
|
if err := o.Value.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s OptInboundRef) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *OptInboundRef) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes int as json.
|
|
func (o OptInt) Encode(e *jx.Encoder) {
|
|
if !o.Set {
|
|
return
|
|
}
|
|
e.Int(int(o.Value))
|
|
}
|
|
|
|
// Decode decodes int from json.
|
|
func (o *OptInt) Decode(d *jx.Decoder) error {
|
|
if o == nil {
|
|
return errors.New("invalid: unable to decode OptInt to nil")
|
|
}
|
|
o.Set = true
|
|
v, err := d.Int()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
o.Value = int(v)
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s OptInt) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *OptInt) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes Keycloak as json.
|
|
func (o OptKeycloak) Encode(e *jx.Encoder) {
|
|
if !o.Set {
|
|
return
|
|
}
|
|
o.Value.Encode(e)
|
|
}
|
|
|
|
// Decode decodes Keycloak from json.
|
|
func (o *OptKeycloak) Decode(d *jx.Decoder) error {
|
|
if o == nil {
|
|
return errors.New("invalid: unable to decode OptKeycloak to nil")
|
|
}
|
|
o.Set = true
|
|
if err := o.Value.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s OptKeycloak) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *OptKeycloak) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes BrandingSettings as json.
|
|
func (o OptNilBrandingSettings) Encode(e *jx.Encoder) {
|
|
if !o.Set {
|
|
return
|
|
}
|
|
if o.Null {
|
|
e.Null()
|
|
return
|
|
}
|
|
o.Value.Encode(e)
|
|
}
|
|
|
|
// Decode decodes BrandingSettings from json.
|
|
func (o *OptNilBrandingSettings) Decode(d *jx.Decoder) error {
|
|
if o == nil {
|
|
return errors.New("invalid: unable to decode OptNilBrandingSettings to nil")
|
|
}
|
|
if d.Next() == jx.Null {
|
|
if err := d.Null(); err != nil {
|
|
return err
|
|
}
|
|
|
|
var v BrandingSettings
|
|
o.Value = v
|
|
o.Set = true
|
|
o.Null = true
|
|
return nil
|
|
}
|
|
o.Set = true
|
|
o.Null = false
|
|
if err := o.Value.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s OptNilBrandingSettings) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *OptNilBrandingSettings) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes CreateHostRequestAlpn as json.
|
|
func (o OptNilCreateHostRequestAlpn) Encode(e *jx.Encoder) {
|
|
if !o.Set {
|
|
return
|
|
}
|
|
if o.Null {
|
|
e.Null()
|
|
return
|
|
}
|
|
e.Str(string(o.Value))
|
|
}
|
|
|
|
// Decode decodes CreateHostRequestAlpn from json.
|
|
func (o *OptNilCreateHostRequestAlpn) Decode(d *jx.Decoder) error {
|
|
if o == nil {
|
|
return errors.New("invalid: unable to decode OptNilCreateHostRequestAlpn to nil")
|
|
}
|
|
if d.Next() == jx.Null {
|
|
if err := d.Null(); err != nil {
|
|
return err
|
|
}
|
|
|
|
var v CreateHostRequestAlpn
|
|
o.Value = v
|
|
o.Set = true
|
|
o.Null = true
|
|
return nil
|
|
}
|
|
o.Set = true
|
|
o.Null = false
|
|
if err := o.Value.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s OptNilCreateHostRequestAlpn) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *OptNilCreateHostRequestAlpn) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes CreateHostRequestMihomoIpVersion as json.
|
|
func (o OptNilCreateHostRequestMihomoIpVersion) Encode(e *jx.Encoder) {
|
|
if !o.Set {
|
|
return
|
|
}
|
|
if o.Null {
|
|
e.Null()
|
|
return
|
|
}
|
|
e.Str(string(o.Value))
|
|
}
|
|
|
|
// Decode decodes CreateHostRequestMihomoIpVersion from json.
|
|
func (o *OptNilCreateHostRequestMihomoIpVersion) Decode(d *jx.Decoder) error {
|
|
if o == nil {
|
|
return errors.New("invalid: unable to decode OptNilCreateHostRequestMihomoIpVersion to nil")
|
|
}
|
|
if d.Next() == jx.Null {
|
|
if err := d.Null(); err != nil {
|
|
return err
|
|
}
|
|
|
|
var v CreateHostRequestMihomoIpVersion
|
|
o.Value = v
|
|
o.Set = true
|
|
o.Null = true
|
|
return nil
|
|
}
|
|
o.Set = true
|
|
o.Null = false
|
|
if err := o.Value.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s OptNilCreateHostRequestMihomoIpVersion) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *OptNilCreateHostRequestMihomoIpVersion) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes CustomRemark as json.
|
|
func (o OptNilCustomRemark) Encode(e *jx.Encoder) {
|
|
if !o.Set {
|
|
return
|
|
}
|
|
if o.Null {
|
|
e.Null()
|
|
return
|
|
}
|
|
o.Value.Encode(e)
|
|
}
|
|
|
|
// Decode decodes CustomRemark from json.
|
|
func (o *OptNilCustomRemark) Decode(d *jx.Decoder) error {
|
|
if o == nil {
|
|
return errors.New("invalid: unable to decode OptNilCustomRemark to nil")
|
|
}
|
|
if d.Next() == jx.Null {
|
|
if err := d.Null(); err != nil {
|
|
return err
|
|
}
|
|
|
|
var v CustomRemark
|
|
o.Value = v
|
|
o.Set = true
|
|
o.Null = true
|
|
return nil
|
|
}
|
|
o.Set = true
|
|
o.Null = false
|
|
if err := o.Value.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s OptNilCustomRemark) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *OptNilCustomRemark) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes HostOverride as json.
|
|
func (o OptNilHostOverride) Encode(e *jx.Encoder) {
|
|
if !o.Set {
|
|
return
|
|
}
|
|
if o.Null {
|
|
e.Null()
|
|
return
|
|
}
|
|
o.Value.Encode(e)
|
|
}
|
|
|
|
// Decode decodes HostOverride from json.
|
|
func (o *OptNilHostOverride) Decode(d *jx.Decoder) error {
|
|
if o == nil {
|
|
return errors.New("invalid: unable to decode OptNilHostOverride to nil")
|
|
}
|
|
if d.Next() == jx.Null {
|
|
if err := d.Null(); err != nil {
|
|
return err
|
|
}
|
|
|
|
var v HostOverride
|
|
o.Value = v
|
|
o.Set = true
|
|
o.Null = true
|
|
return nil
|
|
}
|
|
o.Set = true
|
|
o.Null = false
|
|
if err := o.Value.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s OptNilHostOverride) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *OptNilHostOverride) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes HwidSettings as json.
|
|
func (o OptNilHwidSettings) Encode(e *jx.Encoder) {
|
|
if !o.Set {
|
|
return
|
|
}
|
|
if o.Null {
|
|
e.Null()
|
|
return
|
|
}
|
|
o.Value.Encode(e)
|
|
}
|
|
|
|
// Decode decodes HwidSettings from json.
|
|
func (o *OptNilHwidSettings) Decode(d *jx.Decoder) error {
|
|
if o == nil {
|
|
return errors.New("invalid: unable to decode OptNilHwidSettings to nil")
|
|
}
|
|
if d.Next() == jx.Null {
|
|
if err := d.Null(); err != nil {
|
|
return err
|
|
}
|
|
|
|
var v HwidSettings
|
|
o.Value = v
|
|
o.Set = true
|
|
o.Null = true
|
|
return nil
|
|
}
|
|
o.Set = true
|
|
o.Null = false
|
|
if err := o.Value.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s OptNilHwidSettings) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *OptNilHwidSettings) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes int as json.
|
|
func (o OptNilInt) Encode(e *jx.Encoder) {
|
|
if !o.Set {
|
|
return
|
|
}
|
|
if o.Null {
|
|
e.Null()
|
|
return
|
|
}
|
|
e.Int(int(o.Value))
|
|
}
|
|
|
|
// Decode decodes int from json.
|
|
func (o *OptNilInt) Decode(d *jx.Decoder) error {
|
|
if o == nil {
|
|
return errors.New("invalid: unable to decode OptNilInt to nil")
|
|
}
|
|
if d.Next() == jx.Null {
|
|
if err := d.Null(); err != nil {
|
|
return err
|
|
}
|
|
|
|
var v int
|
|
o.Value = v
|
|
o.Set = true
|
|
o.Null = true
|
|
return nil
|
|
}
|
|
o.Set = true
|
|
o.Null = false
|
|
v, err := d.Int()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
o.Value = int(v)
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s OptNilInt) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *OptNilInt) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes Oauth2Settings as json.
|
|
func (o OptNilOauth2Settings) Encode(e *jx.Encoder) {
|
|
if !o.Set {
|
|
return
|
|
}
|
|
if o.Null {
|
|
e.Null()
|
|
return
|
|
}
|
|
o.Value.Encode(e)
|
|
}
|
|
|
|
// Decode decodes Oauth2Settings from json.
|
|
func (o *OptNilOauth2Settings) Decode(d *jx.Decoder) error {
|
|
if o == nil {
|
|
return errors.New("invalid: unable to decode OptNilOauth2Settings to nil")
|
|
}
|
|
if d.Next() == jx.Null {
|
|
if err := d.Null(); err != nil {
|
|
return err
|
|
}
|
|
|
|
var v Oauth2Settings
|
|
o.Value = v
|
|
o.Set = true
|
|
o.Null = true
|
|
return nil
|
|
}
|
|
o.Set = true
|
|
o.Null = false
|
|
if err := o.Value.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s OptNilOauth2Settings) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *OptNilOauth2Settings) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes PasskeySettings as json.
|
|
func (o OptNilPasskeySettings) Encode(e *jx.Encoder) {
|
|
if !o.Set {
|
|
return
|
|
}
|
|
if o.Null {
|
|
e.Null()
|
|
return
|
|
}
|
|
o.Value.Encode(e)
|
|
}
|
|
|
|
// Decode decodes PasskeySettings from json.
|
|
func (o *OptNilPasskeySettings) Decode(d *jx.Decoder) error {
|
|
if o == nil {
|
|
return errors.New("invalid: unable to decode OptNilPasskeySettings to nil")
|
|
}
|
|
if d.Next() == jx.Null {
|
|
if err := d.Null(); err != nil {
|
|
return err
|
|
}
|
|
|
|
var v PasskeySettings
|
|
o.Value = v
|
|
o.Set = true
|
|
o.Null = true
|
|
return nil
|
|
}
|
|
o.Set = true
|
|
o.Null = false
|
|
if err := o.Value.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s OptNilPasskeySettings) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *OptNilPasskeySettings) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes PasswordSettings as json.
|
|
func (o OptNilPasswordSettings) Encode(e *jx.Encoder) {
|
|
if !o.Set {
|
|
return
|
|
}
|
|
if o.Null {
|
|
e.Null()
|
|
return
|
|
}
|
|
o.Value.Encode(e)
|
|
}
|
|
|
|
// Decode decodes PasswordSettings from json.
|
|
func (o *OptNilPasswordSettings) Decode(d *jx.Decoder) error {
|
|
if o == nil {
|
|
return errors.New("invalid: unable to decode OptNilPasswordSettings to nil")
|
|
}
|
|
if d.Next() == jx.Null {
|
|
if err := d.Null(); err != nil {
|
|
return err
|
|
}
|
|
|
|
var v PasswordSettings
|
|
o.Value = v
|
|
o.Set = true
|
|
o.Null = true
|
|
return nil
|
|
}
|
|
o.Set = true
|
|
o.Null = false
|
|
if err := o.Value.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s OptNilPasswordSettings) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *OptNilPasswordSettings) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes string as json.
|
|
func (o OptNilString) Encode(e *jx.Encoder) {
|
|
if !o.Set {
|
|
return
|
|
}
|
|
if o.Null {
|
|
e.Null()
|
|
return
|
|
}
|
|
e.Str(string(o.Value))
|
|
}
|
|
|
|
// Decode decodes string from json.
|
|
func (o *OptNilString) Decode(d *jx.Decoder) error {
|
|
if o == nil {
|
|
return errors.New("invalid: unable to decode OptNilString to nil")
|
|
}
|
|
if d.Next() == jx.Null {
|
|
if err := d.Null(); err != nil {
|
|
return err
|
|
}
|
|
|
|
var v string
|
|
o.Value = v
|
|
o.Set = true
|
|
o.Null = true
|
|
return nil
|
|
}
|
|
o.Set = true
|
|
o.Null = false
|
|
v, err := d.Str()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
o.Value = string(v)
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s OptNilString) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *OptNilString) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes SubscriptionSettings as json.
|
|
func (o OptNilSubscriptionSettings) Encode(e *jx.Encoder) {
|
|
if !o.Set {
|
|
return
|
|
}
|
|
if o.Null {
|
|
e.Null()
|
|
return
|
|
}
|
|
o.Value.Encode(e)
|
|
}
|
|
|
|
// Decode decodes SubscriptionSettings from json.
|
|
func (o *OptNilSubscriptionSettings) Decode(d *jx.Decoder) error {
|
|
if o == nil {
|
|
return errors.New("invalid: unable to decode OptNilSubscriptionSettings to nil")
|
|
}
|
|
if d.Next() == jx.Null {
|
|
if err := d.Null(); err != nil {
|
|
return err
|
|
}
|
|
|
|
var v SubscriptionSettings
|
|
o.Value = v
|
|
o.Set = true
|
|
o.Null = true
|
|
return nil
|
|
}
|
|
o.Set = true
|
|
o.Null = false
|
|
if err := o.Value.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s OptNilSubscriptionSettings) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *OptNilSubscriptionSettings) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes url.URL as json.
|
|
func (o OptNilURI) Encode(e *jx.Encoder) {
|
|
if !o.Set {
|
|
return
|
|
}
|
|
if o.Null {
|
|
e.Null()
|
|
return
|
|
}
|
|
json.EncodeURI(e, o.Value)
|
|
}
|
|
|
|
// Decode decodes url.URL from json.
|
|
func (o *OptNilURI) Decode(d *jx.Decoder) error {
|
|
if o == nil {
|
|
return errors.New("invalid: unable to decode OptNilURI to nil")
|
|
}
|
|
if d.Next() == jx.Null {
|
|
if err := d.Null(); err != nil {
|
|
return err
|
|
}
|
|
|
|
var v url.URL
|
|
o.Value = v
|
|
o.Set = true
|
|
o.Null = true
|
|
return nil
|
|
}
|
|
o.Set = true
|
|
o.Null = false
|
|
v, err := json.DecodeURI(d)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
o.Value = v
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s OptNilURI) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *OptNilURI) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes uuid.UUID as json.
|
|
func (o OptNilUUID) Encode(e *jx.Encoder) {
|
|
if !o.Set {
|
|
return
|
|
}
|
|
if o.Null {
|
|
e.Null()
|
|
return
|
|
}
|
|
json.EncodeUUID(e, o.Value)
|
|
}
|
|
|
|
// Decode decodes uuid.UUID from json.
|
|
func (o *OptNilUUID) Decode(d *jx.Decoder) error {
|
|
if o == nil {
|
|
return errors.New("invalid: unable to decode OptNilUUID to nil")
|
|
}
|
|
if d.Next() == jx.Null {
|
|
if err := d.Null(); err != nil {
|
|
return err
|
|
}
|
|
|
|
var v uuid.UUID
|
|
o.Value = v
|
|
o.Set = true
|
|
o.Null = true
|
|
return nil
|
|
}
|
|
o.Set = true
|
|
o.Null = false
|
|
v, err := json.DecodeUUID(d)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
o.Value = v
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s OptNilUUID) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *OptNilUUID) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes UpdateExternalSquadRequestResponseHeaders as json.
|
|
func (o OptNilUpdateExternalSquadRequestResponseHeaders) Encode(e *jx.Encoder) {
|
|
if !o.Set {
|
|
return
|
|
}
|
|
if o.Null {
|
|
e.Null()
|
|
return
|
|
}
|
|
o.Value.Encode(e)
|
|
}
|
|
|
|
// Decode decodes UpdateExternalSquadRequestResponseHeaders from json.
|
|
func (o *OptNilUpdateExternalSquadRequestResponseHeaders) Decode(d *jx.Decoder) error {
|
|
if o == nil {
|
|
return errors.New("invalid: unable to decode OptNilUpdateExternalSquadRequestResponseHeaders to nil")
|
|
}
|
|
if d.Next() == jx.Null {
|
|
if err := d.Null(); err != nil {
|
|
return err
|
|
}
|
|
|
|
var v UpdateExternalSquadRequestResponseHeaders
|
|
o.Value = v
|
|
o.Set = true
|
|
o.Null = true
|
|
return nil
|
|
}
|
|
o.Set = true
|
|
o.Null = false
|
|
o.Value = make(UpdateExternalSquadRequestResponseHeaders)
|
|
if err := o.Value.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s OptNilUpdateExternalSquadRequestResponseHeaders) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *OptNilUpdateExternalSquadRequestResponseHeaders) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes UpdateHostRequestAlpn as json.
|
|
func (o OptNilUpdateHostRequestAlpn) Encode(e *jx.Encoder) {
|
|
if !o.Set {
|
|
return
|
|
}
|
|
if o.Null {
|
|
e.Null()
|
|
return
|
|
}
|
|
e.Str(string(o.Value))
|
|
}
|
|
|
|
// Decode decodes UpdateHostRequestAlpn from json.
|
|
func (o *OptNilUpdateHostRequestAlpn) Decode(d *jx.Decoder) error {
|
|
if o == nil {
|
|
return errors.New("invalid: unable to decode OptNilUpdateHostRequestAlpn to nil")
|
|
}
|
|
if d.Next() == jx.Null {
|
|
if err := d.Null(); err != nil {
|
|
return err
|
|
}
|
|
|
|
var v UpdateHostRequestAlpn
|
|
o.Value = v
|
|
o.Set = true
|
|
o.Null = true
|
|
return nil
|
|
}
|
|
o.Set = true
|
|
o.Null = false
|
|
if err := o.Value.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s OptNilUpdateHostRequestAlpn) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *OptNilUpdateHostRequestAlpn) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes UpdateHostRequestMihomoIpVersion as json.
|
|
func (o OptNilUpdateHostRequestMihomoIpVersion) Encode(e *jx.Encoder) {
|
|
if !o.Set {
|
|
return
|
|
}
|
|
if o.Null {
|
|
e.Null()
|
|
return
|
|
}
|
|
e.Str(string(o.Value))
|
|
}
|
|
|
|
// Decode decodes UpdateHostRequestMihomoIpVersion from json.
|
|
func (o *OptNilUpdateHostRequestMihomoIpVersion) Decode(d *jx.Decoder) error {
|
|
if o == nil {
|
|
return errors.New("invalid: unable to decode OptNilUpdateHostRequestMihomoIpVersion to nil")
|
|
}
|
|
if d.Next() == jx.Null {
|
|
if err := d.Null(); err != nil {
|
|
return err
|
|
}
|
|
|
|
var v UpdateHostRequestMihomoIpVersion
|
|
o.Value = v
|
|
o.Set = true
|
|
o.Null = true
|
|
return nil
|
|
}
|
|
o.Set = true
|
|
o.Null = false
|
|
if err := o.Value.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s OptNilUpdateHostRequestMihomoIpVersion) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *OptNilUpdateHostRequestMihomoIpVersion) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes UpdateManyHostsRequestAlpn as json.
|
|
func (o OptNilUpdateManyHostsRequestAlpn) Encode(e *jx.Encoder) {
|
|
if !o.Set {
|
|
return
|
|
}
|
|
if o.Null {
|
|
e.Null()
|
|
return
|
|
}
|
|
e.Str(string(o.Value))
|
|
}
|
|
|
|
// Decode decodes UpdateManyHostsRequestAlpn from json.
|
|
func (o *OptNilUpdateManyHostsRequestAlpn) Decode(d *jx.Decoder) error {
|
|
if o == nil {
|
|
return errors.New("invalid: unable to decode OptNilUpdateManyHostsRequestAlpn to nil")
|
|
}
|
|
if d.Next() == jx.Null {
|
|
if err := d.Null(); err != nil {
|
|
return err
|
|
}
|
|
|
|
var v UpdateManyHostsRequestAlpn
|
|
o.Value = v
|
|
o.Set = true
|
|
o.Null = true
|
|
return nil
|
|
}
|
|
o.Set = true
|
|
o.Null = false
|
|
if err := o.Value.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s OptNilUpdateManyHostsRequestAlpn) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *OptNilUpdateManyHostsRequestAlpn) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes UpdateManyHostsRequestMihomoIpVersion as json.
|
|
func (o OptNilUpdateManyHostsRequestMihomoIpVersion) Encode(e *jx.Encoder) {
|
|
if !o.Set {
|
|
return
|
|
}
|
|
if o.Null {
|
|
e.Null()
|
|
return
|
|
}
|
|
e.Str(string(o.Value))
|
|
}
|
|
|
|
// Decode decodes UpdateManyHostsRequestMihomoIpVersion from json.
|
|
func (o *OptNilUpdateManyHostsRequestMihomoIpVersion) Decode(d *jx.Decoder) error {
|
|
if o == nil {
|
|
return errors.New("invalid: unable to decode OptNilUpdateManyHostsRequestMihomoIpVersion to nil")
|
|
}
|
|
if d.Next() == jx.Null {
|
|
if err := d.Null(); err != nil {
|
|
return err
|
|
}
|
|
|
|
var v UpdateManyHostsRequestMihomoIpVersion
|
|
o.Value = v
|
|
o.Set = true
|
|
o.Null = true
|
|
return nil
|
|
}
|
|
o.Set = true
|
|
o.Null = false
|
|
if err := o.Value.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s OptNilUpdateManyHostsRequestMihomoIpVersion) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *OptNilUpdateManyHostsRequestMihomoIpVersion) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes ResponseModification as json.
|
|
func (o OptResponseModification) Encode(e *jx.Encoder) {
|
|
if !o.Set {
|
|
return
|
|
}
|
|
o.Value.Encode(e)
|
|
}
|
|
|
|
// Decode decodes ResponseModification from json.
|
|
func (o *OptResponseModification) Decode(d *jx.Decoder) error {
|
|
if o == nil {
|
|
return errors.New("invalid: unable to decode OptResponseModification to nil")
|
|
}
|
|
o.Set = true
|
|
if err := o.Value.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s OptResponseModification) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *OptResponseModification) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes ResponseRules as json.
|
|
func (o OptResponseRules) Encode(e *jx.Encoder) {
|
|
if !o.Set {
|
|
return
|
|
}
|
|
o.Value.Encode(e)
|
|
}
|
|
|
|
// Decode decodes ResponseRules from json.
|
|
func (o *OptResponseRules) Decode(d *jx.Decoder) error {
|
|
if o == nil {
|
|
return errors.New("invalid: unable to decode OptResponseRules to nil")
|
|
}
|
|
o.Set = true
|
|
if err := o.Value.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s OptResponseRules) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *OptResponseRules) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes string as json.
|
|
func (o OptString) Encode(e *jx.Encoder) {
|
|
if !o.Set {
|
|
return
|
|
}
|
|
e.Str(string(o.Value))
|
|
}
|
|
|
|
// Decode decodes string from json.
|
|
func (o *OptString) Decode(d *jx.Decoder) error {
|
|
if o == nil {
|
|
return errors.New("invalid: unable to decode OptString to nil")
|
|
}
|
|
o.Set = true
|
|
v, err := d.Str()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
o.Value = string(v)
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s OptString) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *OptString) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes Telegram as json.
|
|
func (o OptTelegram) Encode(e *jx.Encoder) {
|
|
if !o.Set {
|
|
return
|
|
}
|
|
o.Value.Encode(e)
|
|
}
|
|
|
|
// Decode decodes Telegram from json.
|
|
func (o *OptTelegram) Decode(d *jx.Decoder) error {
|
|
if o == nil {
|
|
return errors.New("invalid: unable to decode OptTelegram to nil")
|
|
}
|
|
o.Set = true
|
|
if err := o.Value.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s OptTelegram) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *OptTelegram) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes url.URL as json.
|
|
func (o OptURI) Encode(e *jx.Encoder) {
|
|
if !o.Set {
|
|
return
|
|
}
|
|
json.EncodeURI(e, o.Value)
|
|
}
|
|
|
|
// Decode decodes url.URL from json.
|
|
func (o *OptURI) Decode(d *jx.Decoder) error {
|
|
if o == nil {
|
|
return errors.New("invalid: unable to decode OptURI to nil")
|
|
}
|
|
o.Set = true
|
|
v, err := json.DecodeURI(d)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
o.Value = v
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s OptURI) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *OptURI) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes uuid.UUID as json.
|
|
func (o OptUUID) Encode(e *jx.Encoder) {
|
|
if !o.Set {
|
|
return
|
|
}
|
|
json.EncodeUUID(e, o.Value)
|
|
}
|
|
|
|
// Decode decodes uuid.UUID from json.
|
|
func (o *OptUUID) Decode(d *jx.Decoder) error {
|
|
if o == nil {
|
|
return errors.New("invalid: unable to decode OptUUID to nil")
|
|
}
|
|
o.Set = true
|
|
v, err := json.DecodeUUID(d)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
o.Value = v
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s OptUUID) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *OptUUID) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes UpdateHostRequestSecurityLayer as json.
|
|
func (o OptUpdateHostRequestSecurityLayer) Encode(e *jx.Encoder) {
|
|
if !o.Set {
|
|
return
|
|
}
|
|
e.Str(string(o.Value))
|
|
}
|
|
|
|
// Decode decodes UpdateHostRequestSecurityLayer from json.
|
|
func (o *OptUpdateHostRequestSecurityLayer) Decode(d *jx.Decoder) error {
|
|
if o == nil {
|
|
return errors.New("invalid: unable to decode OptUpdateHostRequestSecurityLayer to nil")
|
|
}
|
|
o.Set = true
|
|
if err := o.Value.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s OptUpdateHostRequestSecurityLayer) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *OptUpdateHostRequestSecurityLayer) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes UpdateManyHostsRequestSecurityLayer as json.
|
|
func (o OptUpdateManyHostsRequestSecurityLayer) Encode(e *jx.Encoder) {
|
|
if !o.Set {
|
|
return
|
|
}
|
|
e.Str(string(o.Value))
|
|
}
|
|
|
|
// Decode decodes UpdateManyHostsRequestSecurityLayer from json.
|
|
func (o *OptUpdateManyHostsRequestSecurityLayer) Decode(d *jx.Decoder) error {
|
|
if o == nil {
|
|
return errors.New("invalid: unable to decode OptUpdateManyHostsRequestSecurityLayer to nil")
|
|
}
|
|
o.Set = true
|
|
if err := o.Value.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s OptUpdateManyHostsRequestSecurityLayer) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *OptUpdateManyHostsRequestSecurityLayer) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes UpdateSubscriptionSettingsRequestCustomResponseHeaders as json.
|
|
func (o OptUpdateSubscriptionSettingsRequestCustomResponseHeaders) Encode(e *jx.Encoder) {
|
|
if !o.Set {
|
|
return
|
|
}
|
|
o.Value.Encode(e)
|
|
}
|
|
|
|
// Decode decodes UpdateSubscriptionSettingsRequestCustomResponseHeaders from json.
|
|
func (o *OptUpdateSubscriptionSettingsRequestCustomResponseHeaders) Decode(d *jx.Decoder) error {
|
|
if o == nil {
|
|
return errors.New("invalid: unable to decode OptUpdateSubscriptionSettingsRequestCustomResponseHeaders to nil")
|
|
}
|
|
o.Set = true
|
|
o.Value = make(UpdateSubscriptionSettingsRequestCustomResponseHeaders)
|
|
if err := o.Value.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s OptUpdateSubscriptionSettingsRequestCustomResponseHeaders) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *OptUpdateSubscriptionSettingsRequestCustomResponseHeaders) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes UpdateUserRequestStatus as json.
|
|
func (o OptUpdateUserRequestStatus) Encode(e *jx.Encoder) {
|
|
if !o.Set {
|
|
return
|
|
}
|
|
e.Str(string(o.Value))
|
|
}
|
|
|
|
// Decode decodes UpdateUserRequestStatus from json.
|
|
func (o *OptUpdateUserRequestStatus) Decode(d *jx.Decoder) error {
|
|
if o == nil {
|
|
return errors.New("invalid: unable to decode OptUpdateUserRequestStatus to nil")
|
|
}
|
|
o.Set = true
|
|
if err := o.Value.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s OptUpdateUserRequestStatus) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *OptUpdateUserRequestStatus) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes UpdateUserRequestTrafficLimitStrategy as json.
|
|
func (o OptUpdateUserRequestTrafficLimitStrategy) Encode(e *jx.Encoder) {
|
|
if !o.Set {
|
|
return
|
|
}
|
|
e.Str(string(o.Value))
|
|
}
|
|
|
|
// Decode decodes UpdateUserRequestTrafficLimitStrategy from json.
|
|
func (o *OptUpdateUserRequestTrafficLimitStrategy) Decode(d *jx.Decoder) error {
|
|
if o == nil {
|
|
return errors.New("invalid: unable to decode OptUpdateUserRequestTrafficLimitStrategy to nil")
|
|
}
|
|
o.Set = true
|
|
if err := o.Value.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s OptUpdateUserRequestTrafficLimitStrategy) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *OptUpdateUserRequestTrafficLimitStrategy) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes UserItemInfoStatus as json.
|
|
func (o OptUserItemInfoStatus) Encode(e *jx.Encoder) {
|
|
if !o.Set {
|
|
return
|
|
}
|
|
e.Str(string(o.Value))
|
|
}
|
|
|
|
// Decode decodes UserItemInfoStatus from json.
|
|
func (o *OptUserItemInfoStatus) Decode(d *jx.Decoder) error {
|
|
if o == nil {
|
|
return errors.New("invalid: unable to decode OptUserItemInfoStatus to nil")
|
|
}
|
|
o.Set = true
|
|
if err := o.Value.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s OptUserItemInfoStatus) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *OptUserItemInfoStatus) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes UserItemInfoTrafficLimitStrategy as json.
|
|
func (o OptUserItemInfoTrafficLimitStrategy) Encode(e *jx.Encoder) {
|
|
if !o.Set {
|
|
return
|
|
}
|
|
e.Str(string(o.Value))
|
|
}
|
|
|
|
// Decode decodes UserItemInfoTrafficLimitStrategy from json.
|
|
func (o *OptUserItemInfoTrafficLimitStrategy) Decode(d *jx.Decoder) error {
|
|
if o == nil {
|
|
return errors.New("invalid: unable to decode OptUserItemInfoTrafficLimitStrategy to nil")
|
|
}
|
|
o.Set = true
|
|
if err := o.Value.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s OptUserItemInfoTrafficLimitStrategy) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *OptUserItemInfoTrafficLimitStrategy) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *PasskeyOptions) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *PasskeyOptions) encodeFields(e *jx.Encoder) {
|
|
{
|
|
if len(s.Response) != 0 {
|
|
e.FieldStart("response")
|
|
e.Raw(s.Response)
|
|
}
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfPasskeyOptions = [1]string{
|
|
0: "response",
|
|
}
|
|
|
|
// Decode decodes PasskeyOptions from json.
|
|
func (s *PasskeyOptions) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode PasskeyOptions to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "response":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.RawAppend(nil)
|
|
s.Response = jx.Raw(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"response\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode PasskeyOptions")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfPasskeyOptions) {
|
|
name = jsonFieldsNameOfPasskeyOptions[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *PasskeyOptions) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *PasskeyOptions) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *PasskeySettings) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *PasskeySettings) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("enabled")
|
|
e.Bool(s.Enabled)
|
|
}
|
|
{
|
|
e.FieldStart("rpId")
|
|
s.RpId.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("origin")
|
|
s.Origin.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfPasskeySettings = [3]string{
|
|
0: "enabled",
|
|
1: "rpId",
|
|
2: "origin",
|
|
}
|
|
|
|
// Decode decodes PasskeySettings from json.
|
|
func (s *PasskeySettings) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode PasskeySettings to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "enabled":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Bool()
|
|
s.Enabled = bool(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"enabled\"")
|
|
}
|
|
case "rpId":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
if err := s.RpId.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"rpId\"")
|
|
}
|
|
case "origin":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
if err := s.Origin.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"origin\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode PasskeySettings")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000111,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfPasskeySettings) {
|
|
name = jsonFieldsNameOfPasskeySettings[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *PasskeySettings) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *PasskeySettings) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *PasskeysResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *PasskeysResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("response")
|
|
s.Response.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfPasskeysResponse = [1]string{
|
|
0: "response",
|
|
}
|
|
|
|
// Decode decodes PasskeysResponse from json.
|
|
func (s *PasskeysResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode PasskeysResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "response":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Response.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"response\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode PasskeysResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfPasskeysResponse) {
|
|
name = jsonFieldsNameOfPasskeysResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *PasskeysResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *PasskeysResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *PasskeysResponseResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *PasskeysResponseResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("passkeys")
|
|
e.ArrStart()
|
|
for _, elem := range s.Passkeys {
|
|
elem.Encode(e)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfPasskeysResponseResponse = [1]string{
|
|
0: "passkeys",
|
|
}
|
|
|
|
// Decode decodes PasskeysResponseResponse from json.
|
|
func (s *PasskeysResponseResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode PasskeysResponseResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "passkeys":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
s.Passkeys = make([]PasskeysResponseResponsePasskeysItem, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem PasskeysResponseResponsePasskeysItem
|
|
if err := elem.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
s.Passkeys = append(s.Passkeys, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"passkeys\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode PasskeysResponseResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfPasskeysResponseResponse) {
|
|
name = jsonFieldsNameOfPasskeysResponseResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *PasskeysResponseResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *PasskeysResponseResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *PasskeysResponseResponsePasskeysItem) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *PasskeysResponseResponsePasskeysItem) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("id")
|
|
e.Str(s.ID)
|
|
}
|
|
{
|
|
e.FieldStart("name")
|
|
e.Str(s.Name)
|
|
}
|
|
{
|
|
e.FieldStart("createdAt")
|
|
json.EncodeDateTime(e, s.CreatedAt)
|
|
}
|
|
{
|
|
e.FieldStart("lastUsedAt")
|
|
json.EncodeDateTime(e, s.LastUsedAt)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfPasskeysResponseResponsePasskeysItem = [4]string{
|
|
0: "id",
|
|
1: "name",
|
|
2: "createdAt",
|
|
3: "lastUsedAt",
|
|
}
|
|
|
|
// Decode decodes PasskeysResponseResponsePasskeysItem from json.
|
|
func (s *PasskeysResponseResponsePasskeysItem) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode PasskeysResponseResponsePasskeysItem to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "id":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.ID = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"id\"")
|
|
}
|
|
case "name":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Name = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"name\"")
|
|
}
|
|
case "createdAt":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
v, err := json.DecodeDateTime(d)
|
|
s.CreatedAt = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"createdAt\"")
|
|
}
|
|
case "lastUsedAt":
|
|
requiredBitSet[0] |= 1 << 3
|
|
if err := func() error {
|
|
v, err := json.DecodeDateTime(d)
|
|
s.LastUsedAt = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"lastUsedAt\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode PasskeysResponseResponsePasskeysItem")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00001111,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfPasskeysResponseResponsePasskeysItem) {
|
|
name = jsonFieldsNameOfPasskeysResponseResponsePasskeysItem[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *PasskeysResponseResponsePasskeysItem) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *PasskeysResponseResponsePasskeysItem) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *PasswordSettings) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *PasswordSettings) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("enabled")
|
|
e.Bool(s.Enabled)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfPasswordSettings = [1]string{
|
|
0: "enabled",
|
|
}
|
|
|
|
// Decode decodes PasswordSettings from json.
|
|
func (s *PasswordSettings) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode PasswordSettings to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "enabled":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Bool()
|
|
s.Enabled = bool(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"enabled\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode PasswordSettings")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfPasswordSettings) {
|
|
name = jsonFieldsNameOfPasswordSettings[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *PasswordSettings) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *PasswordSettings) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *PluginExecutorRequest) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *PluginExecutorRequest) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("command")
|
|
s.Command.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("targetNodes")
|
|
s.TargetNodes.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfPluginExecutorRequest = [2]string{
|
|
0: "command",
|
|
1: "targetNodes",
|
|
}
|
|
|
|
// Decode decodes PluginExecutorRequest from json.
|
|
func (s *PluginExecutorRequest) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode PluginExecutorRequest to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "command":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Command.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"command\"")
|
|
}
|
|
case "targetNodes":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
if err := s.TargetNodes.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"targetNodes\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode PluginExecutorRequest")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000011,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfPluginExecutorRequest) {
|
|
name = jsonFieldsNameOfPluginExecutorRequest[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *PluginExecutorRequest) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *PluginExecutorRequest) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes PluginExecutorRequestCommand as json.
|
|
func (s PluginExecutorRequestCommand) Encode(e *jx.Encoder) {
|
|
switch s.Type {
|
|
case PluginExecutorRequestCommand0PluginExecutorRequestCommand:
|
|
s.PluginExecutorRequestCommand0.Encode(e)
|
|
case PluginExecutorRequestCommand1PluginExecutorRequestCommand:
|
|
s.PluginExecutorRequestCommand1.Encode(e)
|
|
case PluginExecutorRequestCommand2PluginExecutorRequestCommand:
|
|
s.PluginExecutorRequestCommand2.Encode(e)
|
|
}
|
|
}
|
|
|
|
func (s PluginExecutorRequestCommand) encodeFields(e *jx.Encoder) {
|
|
switch s.Type {
|
|
case PluginExecutorRequestCommand0PluginExecutorRequestCommand:
|
|
s.PluginExecutorRequestCommand0.encodeFields(e)
|
|
case PluginExecutorRequestCommand1PluginExecutorRequestCommand:
|
|
s.PluginExecutorRequestCommand1.encodeFields(e)
|
|
case PluginExecutorRequestCommand2PluginExecutorRequestCommand:
|
|
s.PluginExecutorRequestCommand2.encodeFields(e)
|
|
}
|
|
}
|
|
|
|
// Decode decodes PluginExecutorRequestCommand from json.
|
|
func (s *PluginExecutorRequestCommand) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode PluginExecutorRequestCommand to nil")
|
|
}
|
|
// Sum type fields.
|
|
if typ := d.Next(); typ != jx.Object {
|
|
return errors.Errorf("unexpected json type %q", typ)
|
|
}
|
|
|
|
var found bool
|
|
if err := d.Capture(func(d *jx.Decoder) error {
|
|
return d.ObjBytes(func(d *jx.Decoder, key []byte) error {
|
|
switch string(key) {
|
|
case "ips":
|
|
// Array element discrimination: peek into array to check first element type
|
|
if typ := d.Next(); typ != jx.Array {
|
|
return d.Skip()
|
|
}
|
|
// Capture array to peek at first element without consuming
|
|
if err := d.Capture(func(d *jx.Decoder) error {
|
|
// Check if array is empty
|
|
iter, err := d.ArrIter()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
if !iter.Next() {
|
|
// Empty array - use first variant as default
|
|
if !found {
|
|
found = true
|
|
s.Type = PluginExecutorRequestCommand0PluginExecutorRequestCommand
|
|
}
|
|
return nil
|
|
}
|
|
elemType := d.Next()
|
|
switch elemType {
|
|
case jx.Object:
|
|
match := PluginExecutorRequestCommand0PluginExecutorRequestCommand
|
|
if found && s.Type != match {
|
|
s.Type = ""
|
|
return errors.Errorf("multiple oneOf matches: (%v, %v)", s.Type, match)
|
|
}
|
|
found = true
|
|
s.Type = match
|
|
case jx.String:
|
|
match := PluginExecutorRequestCommand1PluginExecutorRequestCommand
|
|
if found && s.Type != match {
|
|
s.Type = ""
|
|
return errors.Errorf("multiple oneOf matches: (%v, %v)", s.Type, match)
|
|
}
|
|
found = true
|
|
s.Type = match
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
case "command":
|
|
// Value-based discrimination: check enum value
|
|
if typ := d.Next(); typ != jx.String {
|
|
return d.Skip()
|
|
}
|
|
value, err := d.StrBytes()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
switch string(value) {
|
|
case "blockIps":
|
|
match := PluginExecutorRequestCommand0PluginExecutorRequestCommand
|
|
if found && s.Type != match {
|
|
s.Type = ""
|
|
return errors.Errorf("multiple oneOf matches: (%v, %v)", s.Type, match)
|
|
}
|
|
found = true
|
|
s.Type = match
|
|
case "recreateTables":
|
|
match := PluginExecutorRequestCommand2PluginExecutorRequestCommand
|
|
if found && s.Type != match {
|
|
s.Type = ""
|
|
return errors.Errorf("multiple oneOf matches: (%v, %v)", s.Type, match)
|
|
}
|
|
found = true
|
|
s.Type = match
|
|
case "unblockIps":
|
|
match := PluginExecutorRequestCommand1PluginExecutorRequestCommand
|
|
if found && s.Type != match {
|
|
s.Type = ""
|
|
return errors.Errorf("multiple oneOf matches: (%v, %v)", s.Type, match)
|
|
}
|
|
found = true
|
|
s.Type = match
|
|
default:
|
|
// Unknown enum value, ignore and continue
|
|
}
|
|
return nil
|
|
}
|
|
return d.Skip()
|
|
})
|
|
}); err != nil {
|
|
return errors.Wrap(err, "capture")
|
|
}
|
|
if !found {
|
|
return errors.New("unable to detect sum type variant")
|
|
}
|
|
switch s.Type {
|
|
case PluginExecutorRequestCommand0PluginExecutorRequestCommand:
|
|
if err := s.PluginExecutorRequestCommand0.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
case PluginExecutorRequestCommand1PluginExecutorRequestCommand:
|
|
if err := s.PluginExecutorRequestCommand1.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
case PluginExecutorRequestCommand2PluginExecutorRequestCommand:
|
|
if err := s.PluginExecutorRequestCommand2.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
default:
|
|
return errors.Errorf("inferred invalid type: %s", s.Type)
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s PluginExecutorRequestCommand) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *PluginExecutorRequestCommand) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *PluginExecutorRequestCommand0) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *PluginExecutorRequestCommand0) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("command")
|
|
s.Command.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("ips")
|
|
e.ArrStart()
|
|
for _, elem := range s.Ips {
|
|
elem.Encode(e)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfPluginExecutorRequestCommand0 = [2]string{
|
|
0: "command",
|
|
1: "ips",
|
|
}
|
|
|
|
// Decode decodes PluginExecutorRequestCommand0 from json.
|
|
func (s *PluginExecutorRequestCommand0) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode PluginExecutorRequestCommand0 to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "command":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Command.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"command\"")
|
|
}
|
|
case "ips":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
s.Ips = make([]PluginExecutorRequestCommand0IpsItem, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem PluginExecutorRequestCommand0IpsItem
|
|
if err := elem.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
s.Ips = append(s.Ips, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"ips\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode PluginExecutorRequestCommand0")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000011,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfPluginExecutorRequestCommand0) {
|
|
name = jsonFieldsNameOfPluginExecutorRequestCommand0[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *PluginExecutorRequestCommand0) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *PluginExecutorRequestCommand0) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes PluginExecutorRequestCommand0Command as json.
|
|
func (s PluginExecutorRequestCommand0Command) Encode(e *jx.Encoder) {
|
|
e.Str(string(s))
|
|
}
|
|
|
|
// Decode decodes PluginExecutorRequestCommand0Command from json.
|
|
func (s *PluginExecutorRequestCommand0Command) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode PluginExecutorRequestCommand0Command to nil")
|
|
}
|
|
v, err := d.StrBytes()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
// Try to use constant string.
|
|
switch PluginExecutorRequestCommand0Command(v) {
|
|
case PluginExecutorRequestCommand0CommandBlockIps:
|
|
*s = PluginExecutorRequestCommand0CommandBlockIps
|
|
default:
|
|
*s = PluginExecutorRequestCommand0Command(v)
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s PluginExecutorRequestCommand0Command) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *PluginExecutorRequestCommand0Command) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *PluginExecutorRequestCommand0IpsItem) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *PluginExecutorRequestCommand0IpsItem) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("ip")
|
|
e.Str(s.IP)
|
|
}
|
|
{
|
|
e.FieldStart("timeout")
|
|
e.Float64(s.Timeout)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfPluginExecutorRequestCommand0IpsItem = [2]string{
|
|
0: "ip",
|
|
1: "timeout",
|
|
}
|
|
|
|
// Decode decodes PluginExecutorRequestCommand0IpsItem from json.
|
|
func (s *PluginExecutorRequestCommand0IpsItem) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode PluginExecutorRequestCommand0IpsItem to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "ip":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.IP = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"ip\"")
|
|
}
|
|
case "timeout":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.Timeout = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"timeout\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode PluginExecutorRequestCommand0IpsItem")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000011,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfPluginExecutorRequestCommand0IpsItem) {
|
|
name = jsonFieldsNameOfPluginExecutorRequestCommand0IpsItem[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *PluginExecutorRequestCommand0IpsItem) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *PluginExecutorRequestCommand0IpsItem) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *PluginExecutorRequestCommand1) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *PluginExecutorRequestCommand1) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("command")
|
|
s.Command.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("ips")
|
|
e.ArrStart()
|
|
for _, elem := range s.Ips {
|
|
e.Str(elem)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfPluginExecutorRequestCommand1 = [2]string{
|
|
0: "command",
|
|
1: "ips",
|
|
}
|
|
|
|
// Decode decodes PluginExecutorRequestCommand1 from json.
|
|
func (s *PluginExecutorRequestCommand1) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode PluginExecutorRequestCommand1 to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "command":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Command.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"command\"")
|
|
}
|
|
case "ips":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
s.Ips = make([]string, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem string
|
|
v, err := d.Str()
|
|
elem = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
s.Ips = append(s.Ips, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"ips\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode PluginExecutorRequestCommand1")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000011,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfPluginExecutorRequestCommand1) {
|
|
name = jsonFieldsNameOfPluginExecutorRequestCommand1[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *PluginExecutorRequestCommand1) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *PluginExecutorRequestCommand1) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes PluginExecutorRequestCommand1Command as json.
|
|
func (s PluginExecutorRequestCommand1Command) Encode(e *jx.Encoder) {
|
|
e.Str(string(s))
|
|
}
|
|
|
|
// Decode decodes PluginExecutorRequestCommand1Command from json.
|
|
func (s *PluginExecutorRequestCommand1Command) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode PluginExecutorRequestCommand1Command to nil")
|
|
}
|
|
v, err := d.StrBytes()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
// Try to use constant string.
|
|
switch PluginExecutorRequestCommand1Command(v) {
|
|
case PluginExecutorRequestCommand1CommandUnblockIps:
|
|
*s = PluginExecutorRequestCommand1CommandUnblockIps
|
|
default:
|
|
*s = PluginExecutorRequestCommand1Command(v)
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s PluginExecutorRequestCommand1Command) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *PluginExecutorRequestCommand1Command) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *PluginExecutorRequestCommand2) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *PluginExecutorRequestCommand2) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("command")
|
|
s.Command.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfPluginExecutorRequestCommand2 = [1]string{
|
|
0: "command",
|
|
}
|
|
|
|
// Decode decodes PluginExecutorRequestCommand2 from json.
|
|
func (s *PluginExecutorRequestCommand2) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode PluginExecutorRequestCommand2 to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "command":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Command.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"command\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode PluginExecutorRequestCommand2")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfPluginExecutorRequestCommand2) {
|
|
name = jsonFieldsNameOfPluginExecutorRequestCommand2[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *PluginExecutorRequestCommand2) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *PluginExecutorRequestCommand2) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes PluginExecutorRequestCommand2Command as json.
|
|
func (s PluginExecutorRequestCommand2Command) Encode(e *jx.Encoder) {
|
|
e.Str(string(s))
|
|
}
|
|
|
|
// Decode decodes PluginExecutorRequestCommand2Command from json.
|
|
func (s *PluginExecutorRequestCommand2Command) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode PluginExecutorRequestCommand2Command to nil")
|
|
}
|
|
v, err := d.StrBytes()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
// Try to use constant string.
|
|
switch PluginExecutorRequestCommand2Command(v) {
|
|
case PluginExecutorRequestCommand2CommandRecreateTables:
|
|
*s = PluginExecutorRequestCommand2CommandRecreateTables
|
|
default:
|
|
*s = PluginExecutorRequestCommand2Command(v)
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s PluginExecutorRequestCommand2Command) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *PluginExecutorRequestCommand2Command) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes PluginExecutorRequestTargetNodes as json.
|
|
func (s PluginExecutorRequestTargetNodes) Encode(e *jx.Encoder) {
|
|
switch s.Type {
|
|
case PluginExecutorRequestTargetNodes0PluginExecutorRequestTargetNodes:
|
|
s.PluginExecutorRequestTargetNodes0.Encode(e)
|
|
case PluginExecutorRequestTargetNodes1PluginExecutorRequestTargetNodes:
|
|
s.PluginExecutorRequestTargetNodes1.Encode(e)
|
|
}
|
|
}
|
|
|
|
func (s PluginExecutorRequestTargetNodes) encodeFields(e *jx.Encoder) {
|
|
switch s.Type {
|
|
case PluginExecutorRequestTargetNodes0PluginExecutorRequestTargetNodes:
|
|
s.PluginExecutorRequestTargetNodes0.encodeFields(e)
|
|
case PluginExecutorRequestTargetNodes1PluginExecutorRequestTargetNodes:
|
|
s.PluginExecutorRequestTargetNodes1.encodeFields(e)
|
|
}
|
|
}
|
|
|
|
// Decode decodes PluginExecutorRequestTargetNodes from json.
|
|
func (s *PluginExecutorRequestTargetNodes) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode PluginExecutorRequestTargetNodes to nil")
|
|
}
|
|
// Sum type fields.
|
|
if typ := d.Next(); typ != jx.Object {
|
|
return errors.Errorf("unexpected json type %q", typ)
|
|
}
|
|
|
|
var found bool
|
|
if err := d.Capture(func(d *jx.Decoder) error {
|
|
return d.ObjBytes(func(d *jx.Decoder, key []byte) error {
|
|
switch string(key) {
|
|
case "nodeUuids":
|
|
// Type-based discrimination: check if field has expected JSON type
|
|
if typ := d.Next(); typ != jx.Array {
|
|
// Field exists but has wrong type, not a match for this variant
|
|
return d.Skip()
|
|
}
|
|
match := PluginExecutorRequestTargetNodes1PluginExecutorRequestTargetNodes
|
|
if found && s.Type != match {
|
|
s.Type = ""
|
|
return errors.Errorf("multiple oneOf matches: (%v, %v)", s.Type, match)
|
|
}
|
|
found = true
|
|
s.Type = match
|
|
case "target":
|
|
// Value-based discrimination: check enum value
|
|
if typ := d.Next(); typ != jx.String {
|
|
return d.Skip()
|
|
}
|
|
value, err := d.StrBytes()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
switch string(value) {
|
|
case "allNodes":
|
|
match := PluginExecutorRequestTargetNodes0PluginExecutorRequestTargetNodes
|
|
if found && s.Type != match {
|
|
s.Type = ""
|
|
return errors.Errorf("multiple oneOf matches: (%v, %v)", s.Type, match)
|
|
}
|
|
found = true
|
|
s.Type = match
|
|
case "specificNodes":
|
|
match := PluginExecutorRequestTargetNodes1PluginExecutorRequestTargetNodes
|
|
if found && s.Type != match {
|
|
s.Type = ""
|
|
return errors.Errorf("multiple oneOf matches: (%v, %v)", s.Type, match)
|
|
}
|
|
found = true
|
|
s.Type = match
|
|
default:
|
|
// Unknown enum value, ignore and continue
|
|
}
|
|
return nil
|
|
}
|
|
return d.Skip()
|
|
})
|
|
}); err != nil {
|
|
return errors.Wrap(err, "capture")
|
|
}
|
|
if !found {
|
|
return errors.New("unable to detect sum type variant")
|
|
}
|
|
switch s.Type {
|
|
case PluginExecutorRequestTargetNodes0PluginExecutorRequestTargetNodes:
|
|
if err := s.PluginExecutorRequestTargetNodes0.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
case PluginExecutorRequestTargetNodes1PluginExecutorRequestTargetNodes:
|
|
if err := s.PluginExecutorRequestTargetNodes1.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
default:
|
|
return errors.Errorf("inferred invalid type: %s", s.Type)
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s PluginExecutorRequestTargetNodes) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *PluginExecutorRequestTargetNodes) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *PluginExecutorRequestTargetNodes0) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *PluginExecutorRequestTargetNodes0) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("target")
|
|
s.Target.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfPluginExecutorRequestTargetNodes0 = [1]string{
|
|
0: "target",
|
|
}
|
|
|
|
// Decode decodes PluginExecutorRequestTargetNodes0 from json.
|
|
func (s *PluginExecutorRequestTargetNodes0) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode PluginExecutorRequestTargetNodes0 to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "target":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Target.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"target\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode PluginExecutorRequestTargetNodes0")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfPluginExecutorRequestTargetNodes0) {
|
|
name = jsonFieldsNameOfPluginExecutorRequestTargetNodes0[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *PluginExecutorRequestTargetNodes0) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *PluginExecutorRequestTargetNodes0) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes PluginExecutorRequestTargetNodes0Target as json.
|
|
func (s PluginExecutorRequestTargetNodes0Target) Encode(e *jx.Encoder) {
|
|
e.Str(string(s))
|
|
}
|
|
|
|
// Decode decodes PluginExecutorRequestTargetNodes0Target from json.
|
|
func (s *PluginExecutorRequestTargetNodes0Target) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode PluginExecutorRequestTargetNodes0Target to nil")
|
|
}
|
|
v, err := d.StrBytes()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
// Try to use constant string.
|
|
switch PluginExecutorRequestTargetNodes0Target(v) {
|
|
case PluginExecutorRequestTargetNodes0TargetAllNodes:
|
|
*s = PluginExecutorRequestTargetNodes0TargetAllNodes
|
|
default:
|
|
*s = PluginExecutorRequestTargetNodes0Target(v)
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s PluginExecutorRequestTargetNodes0Target) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *PluginExecutorRequestTargetNodes0Target) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *PluginExecutorRequestTargetNodes1) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *PluginExecutorRequestTargetNodes1) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("target")
|
|
s.Target.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("nodeUuids")
|
|
e.ArrStart()
|
|
for _, elem := range s.NodeUuids {
|
|
json.EncodeUUID(e, elem)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfPluginExecutorRequestTargetNodes1 = [2]string{
|
|
0: "target",
|
|
1: "nodeUuids",
|
|
}
|
|
|
|
// Decode decodes PluginExecutorRequestTargetNodes1 from json.
|
|
func (s *PluginExecutorRequestTargetNodes1) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode PluginExecutorRequestTargetNodes1 to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "target":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Target.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"target\"")
|
|
}
|
|
case "nodeUuids":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
s.NodeUuids = make([]uuid.UUID, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem uuid.UUID
|
|
v, err := json.DecodeUUID(d)
|
|
elem = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
s.NodeUuids = append(s.NodeUuids, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"nodeUuids\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode PluginExecutorRequestTargetNodes1")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000011,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfPluginExecutorRequestTargetNodes1) {
|
|
name = jsonFieldsNameOfPluginExecutorRequestTargetNodes1[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *PluginExecutorRequestTargetNodes1) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *PluginExecutorRequestTargetNodes1) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes PluginExecutorRequestTargetNodes1Target as json.
|
|
func (s PluginExecutorRequestTargetNodes1Target) Encode(e *jx.Encoder) {
|
|
e.Str(string(s))
|
|
}
|
|
|
|
// Decode decodes PluginExecutorRequestTargetNodes1Target from json.
|
|
func (s *PluginExecutorRequestTargetNodes1Target) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode PluginExecutorRequestTargetNodes1Target to nil")
|
|
}
|
|
v, err := d.StrBytes()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
// Try to use constant string.
|
|
switch PluginExecutorRequestTargetNodes1Target(v) {
|
|
case PluginExecutorRequestTargetNodes1TargetSpecificNodes:
|
|
*s = PluginExecutorRequestTargetNodes1TargetSpecificNodes
|
|
default:
|
|
*s = PluginExecutorRequestTargetNodes1Target(v)
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s PluginExecutorRequestTargetNodes1Target) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *PluginExecutorRequestTargetNodes1Target) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *Pocketid) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *Pocketid) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("enabled")
|
|
e.Bool(s.Enabled)
|
|
}
|
|
{
|
|
e.FieldStart("clientId")
|
|
s.ClientId.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("clientSecret")
|
|
s.ClientSecret.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("plainDomain")
|
|
s.PlainDomain.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("allowedEmails")
|
|
e.ArrStart()
|
|
for _, elem := range s.AllowedEmails {
|
|
e.Str(elem)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfPocketid = [5]string{
|
|
0: "enabled",
|
|
1: "clientId",
|
|
2: "clientSecret",
|
|
3: "plainDomain",
|
|
4: "allowedEmails",
|
|
}
|
|
|
|
// Decode decodes Pocketid from json.
|
|
func (s *Pocketid) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode Pocketid to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "enabled":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Bool()
|
|
s.Enabled = bool(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"enabled\"")
|
|
}
|
|
case "clientId":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
if err := s.ClientId.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"clientId\"")
|
|
}
|
|
case "clientSecret":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
if err := s.ClientSecret.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"clientSecret\"")
|
|
}
|
|
case "plainDomain":
|
|
requiredBitSet[0] |= 1 << 3
|
|
if err := func() error {
|
|
if err := s.PlainDomain.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"plainDomain\"")
|
|
}
|
|
case "allowedEmails":
|
|
requiredBitSet[0] |= 1 << 4
|
|
if err := func() error {
|
|
s.AllowedEmails = make([]string, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem string
|
|
v, err := d.Str()
|
|
elem = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
s.AllowedEmails = append(s.AllowedEmails, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"allowedEmails\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode Pocketid")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00011111,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfPocketid) {
|
|
name = jsonFieldsNameOfPocketid[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *Pocketid) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *Pocketid) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *ProfileModificationRequest) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *ProfileModificationRequest) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("uuids")
|
|
e.ArrStart()
|
|
for _, elem := range s.Uuids {
|
|
json.EncodeUUID(e, elem)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
{
|
|
e.FieldStart("configProfile")
|
|
s.ConfigProfile.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfProfileModificationRequest = [2]string{
|
|
0: "uuids",
|
|
1: "configProfile",
|
|
}
|
|
|
|
// Decode decodes ProfileModificationRequest from json.
|
|
func (s *ProfileModificationRequest) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode ProfileModificationRequest to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "uuids":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
s.Uuids = make([]uuid.UUID, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem uuid.UUID
|
|
v, err := json.DecodeUUID(d)
|
|
elem = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
s.Uuids = append(s.Uuids, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"uuids\"")
|
|
}
|
|
case "configProfile":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
if err := s.ConfigProfile.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"configProfile\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode ProfileModificationRequest")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000011,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfProfileModificationRequest) {
|
|
name = jsonFieldsNameOfProfileModificationRequest[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *ProfileModificationRequest) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *ProfileModificationRequest) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *ProfileModificationRequestConfigProfile) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *ProfileModificationRequestConfigProfile) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("activeConfigProfileUuid")
|
|
json.EncodeUUID(e, s.ActiveConfigProfileUuid)
|
|
}
|
|
{
|
|
e.FieldStart("activeInbounds")
|
|
e.ArrStart()
|
|
for _, elem := range s.ActiveInbounds {
|
|
json.EncodeUUID(e, elem)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfProfileModificationRequestConfigProfile = [2]string{
|
|
0: "activeConfigProfileUuid",
|
|
1: "activeInbounds",
|
|
}
|
|
|
|
// Decode decodes ProfileModificationRequestConfigProfile from json.
|
|
func (s *ProfileModificationRequestConfigProfile) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode ProfileModificationRequestConfigProfile to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "activeConfigProfileUuid":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := json.DecodeUUID(d)
|
|
s.ActiveConfigProfileUuid = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"activeConfigProfileUuid\"")
|
|
}
|
|
case "activeInbounds":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
s.ActiveInbounds = make([]uuid.UUID, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem uuid.UUID
|
|
v, err := json.DecodeUUID(d)
|
|
elem = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
s.ActiveInbounds = append(s.ActiveInbounds, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"activeInbounds\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode ProfileModificationRequestConfigProfile")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000011,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfProfileModificationRequestConfigProfile) {
|
|
name = jsonFieldsNameOfProfileModificationRequestConfigProfile[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *ProfileModificationRequestConfigProfile) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *ProfileModificationRequestConfigProfile) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *Provider) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *Provider) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("uuid")
|
|
json.EncodeUUID(e, s.UUID)
|
|
}
|
|
{
|
|
e.FieldStart("name")
|
|
e.Str(s.Name)
|
|
}
|
|
{
|
|
e.FieldStart("faviconLink")
|
|
s.FaviconLink.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("loginUrl")
|
|
s.LoginUrl.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("createdAt")
|
|
json.EncodeDateTime(e, s.CreatedAt)
|
|
}
|
|
{
|
|
e.FieldStart("updatedAt")
|
|
json.EncodeDateTime(e, s.UpdatedAt)
|
|
}
|
|
{
|
|
e.FieldStart("billingHistory")
|
|
s.BillingHistory.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("billingNodes")
|
|
e.ArrStart()
|
|
for _, elem := range s.BillingNodes {
|
|
elem.Encode(e)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfProvider = [8]string{
|
|
0: "uuid",
|
|
1: "name",
|
|
2: "faviconLink",
|
|
3: "loginUrl",
|
|
4: "createdAt",
|
|
5: "updatedAt",
|
|
6: "billingHistory",
|
|
7: "billingNodes",
|
|
}
|
|
|
|
// Decode decodes Provider from json.
|
|
func (s *Provider) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode Provider to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "uuid":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := json.DecodeUUID(d)
|
|
s.UUID = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"uuid\"")
|
|
}
|
|
case "name":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Name = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"name\"")
|
|
}
|
|
case "faviconLink":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
if err := s.FaviconLink.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"faviconLink\"")
|
|
}
|
|
case "loginUrl":
|
|
requiredBitSet[0] |= 1 << 3
|
|
if err := func() error {
|
|
if err := s.LoginUrl.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"loginUrl\"")
|
|
}
|
|
case "createdAt":
|
|
requiredBitSet[0] |= 1 << 4
|
|
if err := func() error {
|
|
v, err := json.DecodeDateTime(d)
|
|
s.CreatedAt = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"createdAt\"")
|
|
}
|
|
case "updatedAt":
|
|
requiredBitSet[0] |= 1 << 5
|
|
if err := func() error {
|
|
v, err := json.DecodeDateTime(d)
|
|
s.UpdatedAt = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"updatedAt\"")
|
|
}
|
|
case "billingHistory":
|
|
requiredBitSet[0] |= 1 << 6
|
|
if err := func() error {
|
|
if err := s.BillingHistory.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"billingHistory\"")
|
|
}
|
|
case "billingNodes":
|
|
requiredBitSet[0] |= 1 << 7
|
|
if err := func() error {
|
|
s.BillingNodes = make([]BillingNode, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem BillingNode
|
|
if err := elem.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
s.BillingNodes = append(s.BillingNodes, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"billingNodes\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode Provider")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b11111111,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfProvider) {
|
|
name = jsonFieldsNameOfProvider[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *Provider) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *Provider) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *ProviderItem) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *ProviderItem) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("uuid")
|
|
json.EncodeUUID(e, s.UUID)
|
|
}
|
|
{
|
|
e.FieldStart("name")
|
|
e.Str(s.Name)
|
|
}
|
|
{
|
|
e.FieldStart("faviconLink")
|
|
s.FaviconLink.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("loginUrl")
|
|
s.LoginUrl.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("createdAt")
|
|
json.EncodeDateTime(e, s.CreatedAt)
|
|
}
|
|
{
|
|
e.FieldStart("updatedAt")
|
|
json.EncodeDateTime(e, s.UpdatedAt)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfProviderItem = [6]string{
|
|
0: "uuid",
|
|
1: "name",
|
|
2: "faviconLink",
|
|
3: "loginUrl",
|
|
4: "createdAt",
|
|
5: "updatedAt",
|
|
}
|
|
|
|
// Decode decodes ProviderItem from json.
|
|
func (s *ProviderItem) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode ProviderItem to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "uuid":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := json.DecodeUUID(d)
|
|
s.UUID = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"uuid\"")
|
|
}
|
|
case "name":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Name = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"name\"")
|
|
}
|
|
case "faviconLink":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
if err := s.FaviconLink.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"faviconLink\"")
|
|
}
|
|
case "loginUrl":
|
|
requiredBitSet[0] |= 1 << 3
|
|
if err := func() error {
|
|
if err := s.LoginUrl.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"loginUrl\"")
|
|
}
|
|
case "createdAt":
|
|
requiredBitSet[0] |= 1 << 4
|
|
if err := func() error {
|
|
v, err := json.DecodeDateTime(d)
|
|
s.CreatedAt = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"createdAt\"")
|
|
}
|
|
case "updatedAt":
|
|
requiredBitSet[0] |= 1 << 5
|
|
if err := func() error {
|
|
v, err := json.DecodeDateTime(d)
|
|
s.UpdatedAt = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"updatedAt\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode ProviderItem")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00111111,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfProviderItem) {
|
|
name = jsonFieldsNameOfProviderItem[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *ProviderItem) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *ProviderItem) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *Record) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *Record) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("id")
|
|
e.Float64(s.ID)
|
|
}
|
|
{
|
|
e.FieldStart("userId")
|
|
e.Float64(s.UserId)
|
|
}
|
|
{
|
|
e.FieldStart("requestAt")
|
|
json.EncodeDateTime(e, s.RequestAt)
|
|
}
|
|
{
|
|
e.FieldStart("requestIp")
|
|
s.RequestIp.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("userAgent")
|
|
s.UserAgent.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfRecord = [5]string{
|
|
0: "id",
|
|
1: "userId",
|
|
2: "requestAt",
|
|
3: "requestIp",
|
|
4: "userAgent",
|
|
}
|
|
|
|
// Decode decodes Record from json.
|
|
func (s *Record) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode Record to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "id":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.ID = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"id\"")
|
|
}
|
|
case "userId":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.UserId = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"userId\"")
|
|
}
|
|
case "requestAt":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
v, err := json.DecodeDateTime(d)
|
|
s.RequestAt = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"requestAt\"")
|
|
}
|
|
case "requestIp":
|
|
requiredBitSet[0] |= 1 << 3
|
|
if err := func() error {
|
|
if err := s.RequestIp.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"requestIp\"")
|
|
}
|
|
case "userAgent":
|
|
requiredBitSet[0] |= 1 << 4
|
|
if err := func() error {
|
|
if err := s.UserAgent.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"userAgent\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode Record")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00011111,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfRecord) {
|
|
name = jsonFieldsNameOfRecord[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *Record) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *Record) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *RegisterRequest) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *RegisterRequest) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("username")
|
|
e.Str(s.Username)
|
|
}
|
|
{
|
|
e.FieldStart("password")
|
|
e.Str(s.Password)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfRegisterRequest = [2]string{
|
|
0: "username",
|
|
1: "password",
|
|
}
|
|
|
|
// Decode decodes RegisterRequest from json.
|
|
func (s *RegisterRequest) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode RegisterRequest to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "username":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Username = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"username\"")
|
|
}
|
|
case "password":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Password = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"password\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode RegisterRequest")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000011,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfRegisterRequest) {
|
|
name = jsonFieldsNameOfRegisterRequest[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *RegisterRequest) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *RegisterRequest) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *ReorderHostRequest) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *ReorderHostRequest) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("hosts")
|
|
e.ArrStart()
|
|
for _, elem := range s.Hosts {
|
|
elem.Encode(e)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfReorderHostRequest = [1]string{
|
|
0: "hosts",
|
|
}
|
|
|
|
// Decode decodes ReorderHostRequest from json.
|
|
func (s *ReorderHostRequest) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode ReorderHostRequest to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "hosts":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
s.Hosts = make([]ReorderRequestItem, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem ReorderRequestItem
|
|
if err := elem.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
s.Hosts = append(s.Hosts, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"hosts\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode ReorderHostRequest")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfReorderHostRequest) {
|
|
name = jsonFieldsNameOfReorderHostRequest[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *ReorderHostRequest) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *ReorderHostRequest) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *ReorderHostResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *ReorderHostResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("response")
|
|
s.Response.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfReorderHostResponse = [1]string{
|
|
0: "response",
|
|
}
|
|
|
|
// Decode decodes ReorderHostResponse from json.
|
|
func (s *ReorderHostResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode ReorderHostResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "response":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Response.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"response\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode ReorderHostResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfReorderHostResponse) {
|
|
name = jsonFieldsNameOfReorderHostResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *ReorderHostResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *ReorderHostResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *ReorderHostResponseResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *ReorderHostResponseResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("isUpdated")
|
|
e.Bool(s.IsUpdated)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfReorderHostResponseResponse = [1]string{
|
|
0: "isUpdated",
|
|
}
|
|
|
|
// Decode decodes ReorderHostResponseResponse from json.
|
|
func (s *ReorderHostResponseResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode ReorderHostResponseResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "isUpdated":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Bool()
|
|
s.IsUpdated = bool(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"isUpdated\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode ReorderHostResponseResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfReorderHostResponseResponse) {
|
|
name = jsonFieldsNameOfReorderHostResponseResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *ReorderHostResponseResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *ReorderHostResponseResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *ReorderNodeRequest) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *ReorderNodeRequest) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("nodes")
|
|
e.ArrStart()
|
|
for _, elem := range s.Nodes {
|
|
elem.Encode(e)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfReorderNodeRequest = [1]string{
|
|
0: "nodes",
|
|
}
|
|
|
|
// Decode decodes ReorderNodeRequest from json.
|
|
func (s *ReorderNodeRequest) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode ReorderNodeRequest to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "nodes":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
s.Nodes = make([]ReorderRequestItem, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem ReorderRequestItem
|
|
if err := elem.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
s.Nodes = append(s.Nodes, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"nodes\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode ReorderNodeRequest")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfReorderNodeRequest) {
|
|
name = jsonFieldsNameOfReorderNodeRequest[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *ReorderNodeRequest) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *ReorderNodeRequest) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *ReorderRequest) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *ReorderRequest) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("items")
|
|
e.ArrStart()
|
|
for _, elem := range s.Items {
|
|
elem.Encode(e)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfReorderRequest = [1]string{
|
|
0: "items",
|
|
}
|
|
|
|
// Decode decodes ReorderRequest from json.
|
|
func (s *ReorderRequest) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode ReorderRequest to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "items":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
s.Items = make([]ReorderRequestItem, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem ReorderRequestItem
|
|
if err := elem.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
s.Items = append(s.Items, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"items\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode ReorderRequest")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfReorderRequest) {
|
|
name = jsonFieldsNameOfReorderRequest[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *ReorderRequest) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *ReorderRequest) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *ReorderRequestItem) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *ReorderRequestItem) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("viewPosition")
|
|
e.Int(s.ViewPosition)
|
|
}
|
|
{
|
|
e.FieldStart("uuid")
|
|
json.EncodeUUID(e, s.UUID)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfReorderRequestItem = [2]string{
|
|
0: "viewPosition",
|
|
1: "uuid",
|
|
}
|
|
|
|
// Decode decodes ReorderRequestItem from json.
|
|
func (s *ReorderRequestItem) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode ReorderRequestItem to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "viewPosition":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Int()
|
|
s.ViewPosition = int(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"viewPosition\"")
|
|
}
|
|
case "uuid":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := json.DecodeUUID(d)
|
|
s.UUID = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"uuid\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode ReorderRequestItem")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000011,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfReorderRequestItem) {
|
|
name = jsonFieldsNameOfReorderRequestItem[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *ReorderRequestItem) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *ReorderRequestItem) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *ReportItem) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *ReportItem) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("actionReport")
|
|
s.ActionReport.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("xrayReport")
|
|
s.XrayReport.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfReportItem = [2]string{
|
|
0: "actionReport",
|
|
1: "xrayReport",
|
|
}
|
|
|
|
// Decode decodes ReportItem from json.
|
|
func (s *ReportItem) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode ReportItem to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "actionReport":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.ActionReport.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"actionReport\"")
|
|
}
|
|
case "xrayReport":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
if err := s.XrayReport.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"xrayReport\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode ReportItem")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000011,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfReportItem) {
|
|
name = jsonFieldsNameOfReportItem[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *ReportItem) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *ReportItem) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *ResolveUserRequestBody) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *ResolveUserRequestBody) encodeFields(e *jx.Encoder) {
|
|
{
|
|
if s.UUID.Set {
|
|
e.FieldStart("uuid")
|
|
s.UUID.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.ID.Set {
|
|
e.FieldStart("id")
|
|
s.ID.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.ShortUuid.Set {
|
|
e.FieldStart("shortUuid")
|
|
s.ShortUuid.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.Username.Set {
|
|
e.FieldStart("username")
|
|
s.Username.Encode(e)
|
|
}
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfResolveUserRequestBody = [4]string{
|
|
0: "uuid",
|
|
1: "id",
|
|
2: "shortUuid",
|
|
3: "username",
|
|
}
|
|
|
|
// Decode decodes ResolveUserRequestBody from json.
|
|
func (s *ResolveUserRequestBody) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode ResolveUserRequestBody to nil")
|
|
}
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "uuid":
|
|
if err := func() error {
|
|
s.UUID.Reset()
|
|
if err := s.UUID.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"uuid\"")
|
|
}
|
|
case "id":
|
|
if err := func() error {
|
|
s.ID.Reset()
|
|
if err := s.ID.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"id\"")
|
|
}
|
|
case "shortUuid":
|
|
if err := func() error {
|
|
s.ShortUuid.Reset()
|
|
if err := s.ShortUuid.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"shortUuid\"")
|
|
}
|
|
case "username":
|
|
if err := func() error {
|
|
s.Username.Reset()
|
|
if err := s.Username.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"username\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode ResolveUserRequestBody")
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *ResolveUserRequestBody) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *ResolveUserRequestBody) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *ResolveUserResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *ResolveUserResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("response")
|
|
s.Response.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfResolveUserResponse = [1]string{
|
|
0: "response",
|
|
}
|
|
|
|
// Decode decodes ResolveUserResponse from json.
|
|
func (s *ResolveUserResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode ResolveUserResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "response":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Response.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"response\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode ResolveUserResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfResolveUserResponse) {
|
|
name = jsonFieldsNameOfResolveUserResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *ResolveUserResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *ResolveUserResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *ResolveUserResponseResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *ResolveUserResponseResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("uuid")
|
|
json.EncodeUUID(e, s.UUID)
|
|
}
|
|
{
|
|
e.FieldStart("username")
|
|
e.Str(s.Username)
|
|
}
|
|
{
|
|
e.FieldStart("id")
|
|
e.Float64(s.ID)
|
|
}
|
|
{
|
|
e.FieldStart("shortUuid")
|
|
e.Str(s.ShortUuid)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfResolveUserResponseResponse = [4]string{
|
|
0: "uuid",
|
|
1: "username",
|
|
2: "id",
|
|
3: "shortUuid",
|
|
}
|
|
|
|
// Decode decodes ResolveUserResponseResponse from json.
|
|
func (s *ResolveUserResponseResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode ResolveUserResponseResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "uuid":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := json.DecodeUUID(d)
|
|
s.UUID = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"uuid\"")
|
|
}
|
|
case "username":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Username = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"username\"")
|
|
}
|
|
case "id":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.ID = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"id\"")
|
|
}
|
|
case "shortUuid":
|
|
requiredBitSet[0] |= 1 << 3
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.ShortUuid = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"shortUuid\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode ResolveUserResponseResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00001111,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfResolveUserResponseResponse) {
|
|
name = jsonFieldsNameOfResolveUserResponseResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *ResolveUserResponseResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *ResolveUserResponseResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *ResponseModification) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *ResponseModification) encodeFields(e *jx.Encoder) {
|
|
{
|
|
if s.Headers != nil {
|
|
e.FieldStart("headers")
|
|
e.ArrStart()
|
|
for _, elem := range s.Headers {
|
|
elem.Encode(e)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
}
|
|
{
|
|
if s.ApplyHeadersToEnd.Set {
|
|
e.FieldStart("applyHeadersToEnd")
|
|
s.ApplyHeadersToEnd.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.SubscriptionTemplate.Set {
|
|
e.FieldStart("subscriptionTemplate")
|
|
s.SubscriptionTemplate.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.IgnoreHostXrayJsonTemplate.Set {
|
|
e.FieldStart("ignoreHostXrayJsonTemplate")
|
|
s.IgnoreHostXrayJsonTemplate.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.IgnoreServeJsonAtBaseSubscription.Set {
|
|
e.FieldStart("ignoreServeJsonAtBaseSubscription")
|
|
s.IgnoreServeJsonAtBaseSubscription.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.AdditionalExtendedClientsRegex != nil {
|
|
e.FieldStart("additionalExtendedClientsRegex")
|
|
e.ArrStart()
|
|
for _, elem := range s.AdditionalExtendedClientsRegex {
|
|
e.Str(elem)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
}
|
|
{
|
|
if s.DisableHwidCheck.Set {
|
|
e.FieldStart("disableHwidCheck")
|
|
s.DisableHwidCheck.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.Encryption.Set {
|
|
e.FieldStart("encryption")
|
|
s.Encryption.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.ExcludeHostsByTags != nil {
|
|
e.FieldStart("excludeHostsByTags")
|
|
e.ArrStart()
|
|
for _, elem := range s.ExcludeHostsByTags {
|
|
e.Str(elem)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfResponseModification = [9]string{
|
|
0: "headers",
|
|
1: "applyHeadersToEnd",
|
|
2: "subscriptionTemplate",
|
|
3: "ignoreHostXrayJsonTemplate",
|
|
4: "ignoreServeJsonAtBaseSubscription",
|
|
5: "additionalExtendedClientsRegex",
|
|
6: "disableHwidCheck",
|
|
7: "encryption",
|
|
8: "excludeHostsByTags",
|
|
}
|
|
|
|
// Decode decodes ResponseModification from json.
|
|
func (s *ResponseModification) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode ResponseModification to nil")
|
|
}
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "headers":
|
|
if err := func() error {
|
|
s.Headers = make([]Header, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem Header
|
|
if err := elem.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
s.Headers = append(s.Headers, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"headers\"")
|
|
}
|
|
case "applyHeadersToEnd":
|
|
if err := func() error {
|
|
s.ApplyHeadersToEnd.Reset()
|
|
if err := s.ApplyHeadersToEnd.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"applyHeadersToEnd\"")
|
|
}
|
|
case "subscriptionTemplate":
|
|
if err := func() error {
|
|
s.SubscriptionTemplate.Reset()
|
|
if err := s.SubscriptionTemplate.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"subscriptionTemplate\"")
|
|
}
|
|
case "ignoreHostXrayJsonTemplate":
|
|
if err := func() error {
|
|
s.IgnoreHostXrayJsonTemplate.Reset()
|
|
if err := s.IgnoreHostXrayJsonTemplate.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"ignoreHostXrayJsonTemplate\"")
|
|
}
|
|
case "ignoreServeJsonAtBaseSubscription":
|
|
if err := func() error {
|
|
s.IgnoreServeJsonAtBaseSubscription.Reset()
|
|
if err := s.IgnoreServeJsonAtBaseSubscription.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"ignoreServeJsonAtBaseSubscription\"")
|
|
}
|
|
case "additionalExtendedClientsRegex":
|
|
if err := func() error {
|
|
s.AdditionalExtendedClientsRegex = make([]string, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem string
|
|
v, err := d.Str()
|
|
elem = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
s.AdditionalExtendedClientsRegex = append(s.AdditionalExtendedClientsRegex, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"additionalExtendedClientsRegex\"")
|
|
}
|
|
case "disableHwidCheck":
|
|
if err := func() error {
|
|
s.DisableHwidCheck.Reset()
|
|
if err := s.DisableHwidCheck.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"disableHwidCheck\"")
|
|
}
|
|
case "encryption":
|
|
if err := func() error {
|
|
s.Encryption.Reset()
|
|
if err := s.Encryption.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"encryption\"")
|
|
}
|
|
case "excludeHostsByTags":
|
|
if err := func() error {
|
|
s.ExcludeHostsByTags = make([]string, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem string
|
|
v, err := d.Str()
|
|
elem = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
s.ExcludeHostsByTags = append(s.ExcludeHostsByTags, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"excludeHostsByTags\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode ResponseModification")
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *ResponseModification) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *ResponseModification) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *ResponseRules) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *ResponseRules) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("version")
|
|
s.Version.Encode(e)
|
|
}
|
|
{
|
|
if s.Settings.Set {
|
|
e.FieldStart("settings")
|
|
s.Settings.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
e.FieldStart("rules")
|
|
e.ArrStart()
|
|
for _, elem := range s.Rules {
|
|
elem.Encode(e)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfResponseRules = [3]string{
|
|
0: "version",
|
|
1: "settings",
|
|
2: "rules",
|
|
}
|
|
|
|
// Decode decodes ResponseRules from json.
|
|
func (s *ResponseRules) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode ResponseRules to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "version":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Version.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"version\"")
|
|
}
|
|
case "settings":
|
|
if err := func() error {
|
|
s.Settings.Reset()
|
|
if err := s.Settings.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"settings\"")
|
|
}
|
|
case "rules":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
s.Rules = make([]Rule, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem Rule
|
|
if err := elem.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
s.Rules = append(s.Rules, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"rules\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode ResponseRules")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000101,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfResponseRules) {
|
|
name = jsonFieldsNameOfResponseRules[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *ResponseRules) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *ResponseRules) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes ResponseRulesVersion as json.
|
|
func (s ResponseRulesVersion) Encode(e *jx.Encoder) {
|
|
e.Str(string(s))
|
|
}
|
|
|
|
// Decode decodes ResponseRulesVersion from json.
|
|
func (s *ResponseRulesVersion) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode ResponseRulesVersion to nil")
|
|
}
|
|
v, err := d.StrBytes()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
// Try to use constant string.
|
|
switch ResponseRulesVersion(v) {
|
|
case ResponseRulesVersion1:
|
|
*s = ResponseRulesVersion1
|
|
default:
|
|
*s = ResponseRulesVersion(v)
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s ResponseRulesVersion) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *ResponseRulesVersion) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *RevokeUserSubscriptionBody) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *RevokeUserSubscriptionBody) encodeFields(e *jx.Encoder) {
|
|
{
|
|
if s.RevokeOnlyPasswords.Set {
|
|
e.FieldStart("revokeOnlyPasswords")
|
|
s.RevokeOnlyPasswords.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.ShortUuid.Set {
|
|
e.FieldStart("shortUuid")
|
|
s.ShortUuid.Encode(e)
|
|
}
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfRevokeUserSubscriptionBody = [2]string{
|
|
0: "revokeOnlyPasswords",
|
|
1: "shortUuid",
|
|
}
|
|
|
|
// Decode decodes RevokeUserSubscriptionBody from json.
|
|
func (s *RevokeUserSubscriptionBody) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode RevokeUserSubscriptionBody to nil")
|
|
}
|
|
s.setDefaults()
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "revokeOnlyPasswords":
|
|
if err := func() error {
|
|
s.RevokeOnlyPasswords.Reset()
|
|
if err := s.RevokeOnlyPasswords.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"revokeOnlyPasswords\"")
|
|
}
|
|
case "shortUuid":
|
|
if err := func() error {
|
|
s.ShortUuid.Reset()
|
|
if err := s.ShortUuid.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"shortUuid\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode RevokeUserSubscriptionBody")
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *RevokeUserSubscriptionBody) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *RevokeUserSubscriptionBody) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *Rule) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *Rule) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("name")
|
|
e.Str(s.Name)
|
|
}
|
|
{
|
|
if s.Description.Set {
|
|
e.FieldStart("description")
|
|
s.Description.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
e.FieldStart("enabled")
|
|
e.Bool(s.Enabled)
|
|
}
|
|
{
|
|
e.FieldStart("operator")
|
|
s.Operator.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("conditions")
|
|
e.ArrStart()
|
|
for _, elem := range s.Conditions {
|
|
elem.Encode(e)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
{
|
|
e.FieldStart("responseType")
|
|
s.ResponseType.Encode(e)
|
|
}
|
|
{
|
|
if s.ResponseModifications.Set {
|
|
e.FieldStart("responseModifications")
|
|
s.ResponseModifications.Encode(e)
|
|
}
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfRule = [7]string{
|
|
0: "name",
|
|
1: "description",
|
|
2: "enabled",
|
|
3: "operator",
|
|
4: "conditions",
|
|
5: "responseType",
|
|
6: "responseModifications",
|
|
}
|
|
|
|
// Decode decodes Rule from json.
|
|
func (s *Rule) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode Rule to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "name":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Name = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"name\"")
|
|
}
|
|
case "description":
|
|
if err := func() error {
|
|
s.Description.Reset()
|
|
if err := s.Description.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"description\"")
|
|
}
|
|
case "enabled":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
v, err := d.Bool()
|
|
s.Enabled = bool(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"enabled\"")
|
|
}
|
|
case "operator":
|
|
requiredBitSet[0] |= 1 << 3
|
|
if err := func() error {
|
|
if err := s.Operator.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"operator\"")
|
|
}
|
|
case "conditions":
|
|
requiredBitSet[0] |= 1 << 4
|
|
if err := func() error {
|
|
s.Conditions = make([]Condition, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem Condition
|
|
if err := elem.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
s.Conditions = append(s.Conditions, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"conditions\"")
|
|
}
|
|
case "responseType":
|
|
requiredBitSet[0] |= 1 << 5
|
|
if err := func() error {
|
|
if err := s.ResponseType.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"responseType\"")
|
|
}
|
|
case "responseModifications":
|
|
if err := func() error {
|
|
s.ResponseModifications.Reset()
|
|
if err := s.ResponseModifications.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"responseModifications\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode Rule")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00111101,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfRule) {
|
|
name = jsonFieldsNameOfRule[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *Rule) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *Rule) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes RuleOperator as json.
|
|
func (s RuleOperator) Encode(e *jx.Encoder) {
|
|
e.Str(string(s))
|
|
}
|
|
|
|
// Decode decodes RuleOperator from json.
|
|
func (s *RuleOperator) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode RuleOperator to nil")
|
|
}
|
|
v, err := d.StrBytes()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
// Try to use constant string.
|
|
switch RuleOperator(v) {
|
|
case RuleOperatorAND:
|
|
*s = RuleOperatorAND
|
|
case RuleOperatorOR:
|
|
*s = RuleOperatorOR
|
|
default:
|
|
*s = RuleOperator(v)
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s RuleOperator) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *RuleOperator) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes RuleResponseType as json.
|
|
func (s RuleResponseType) Encode(e *jx.Encoder) {
|
|
e.Str(string(s))
|
|
}
|
|
|
|
// Decode decodes RuleResponseType from json.
|
|
func (s *RuleResponseType) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode RuleResponseType to nil")
|
|
}
|
|
v, err := d.StrBytes()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
// Try to use constant string.
|
|
switch RuleResponseType(v) {
|
|
case RuleResponseTypeXRAYJSON:
|
|
*s = RuleResponseTypeXRAYJSON
|
|
case RuleResponseTypeXRAYBASE64:
|
|
*s = RuleResponseTypeXRAYBASE64
|
|
case RuleResponseTypeMIHOMO:
|
|
*s = RuleResponseTypeMIHOMO
|
|
case RuleResponseTypeSTASH:
|
|
*s = RuleResponseTypeSTASH
|
|
case RuleResponseTypeCLASH:
|
|
*s = RuleResponseTypeCLASH
|
|
case RuleResponseTypeSINGBOX:
|
|
*s = RuleResponseTypeSINGBOX
|
|
case RuleResponseTypeBROWSER:
|
|
*s = RuleResponseTypeBROWSER
|
|
case RuleResponseTypeBLOCK:
|
|
*s = RuleResponseTypeBLOCK
|
|
case RuleResponseTypeSTATUSCODE404:
|
|
*s = RuleResponseTypeSTATUSCODE404
|
|
case RuleResponseTypeSTATUSCODE451:
|
|
*s = RuleResponseTypeSTATUSCODE451
|
|
case RuleResponseTypeSOCKETDROP:
|
|
*s = RuleResponseTypeSOCKETDROP
|
|
default:
|
|
*s = RuleResponseType(v)
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s RuleResponseType) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *RuleResponseType) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *SettingsResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *SettingsResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("response")
|
|
s.Response.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfSettingsResponse = [1]string{
|
|
0: "response",
|
|
}
|
|
|
|
// Decode decodes SettingsResponse from json.
|
|
func (s *SettingsResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode SettingsResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "response":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Response.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"response\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode SettingsResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfSettingsResponse) {
|
|
name = jsonFieldsNameOfSettingsResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *SettingsResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *SettingsResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *SettingsResponseResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *SettingsResponseResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("passkeySettings")
|
|
s.PasskeySettings.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("oauth2Settings")
|
|
s.Oauth2Settings.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("passwordSettings")
|
|
s.PasswordSettings.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("brandingSettings")
|
|
s.BrandingSettings.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfSettingsResponseResponse = [4]string{
|
|
0: "passkeySettings",
|
|
1: "oauth2Settings",
|
|
2: "passwordSettings",
|
|
3: "brandingSettings",
|
|
}
|
|
|
|
// Decode decodes SettingsResponseResponse from json.
|
|
func (s *SettingsResponseResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode SettingsResponseResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "passkeySettings":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.PasskeySettings.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"passkeySettings\"")
|
|
}
|
|
case "oauth2Settings":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
if err := s.Oauth2Settings.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"oauth2Settings\"")
|
|
}
|
|
case "passwordSettings":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
if err := s.PasswordSettings.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"passwordSettings\"")
|
|
}
|
|
case "brandingSettings":
|
|
requiredBitSet[0] |= 1 << 3
|
|
if err := func() error {
|
|
if err := s.BrandingSettings.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"brandingSettings\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode SettingsResponseResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00001111,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfSettingsResponseResponse) {
|
|
name = jsonFieldsNameOfSettingsResponseResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *SettingsResponseResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *SettingsResponseResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *SnippetRequest) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *SnippetRequest) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("name")
|
|
e.Str(s.Name)
|
|
}
|
|
{
|
|
e.FieldStart("snippet")
|
|
e.ArrStart()
|
|
for _, elem := range s.Snippet {
|
|
elem.Encode(e)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfSnippetRequest = [2]string{
|
|
0: "name",
|
|
1: "snippet",
|
|
}
|
|
|
|
// Decode decodes SnippetRequest from json.
|
|
func (s *SnippetRequest) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode SnippetRequest to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "name":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Name = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"name\"")
|
|
}
|
|
case "snippet":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
s.Snippet = make([]SnippetRequestSnippetItem, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem SnippetRequestSnippetItem
|
|
if err := elem.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
s.Snippet = append(s.Snippet, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"snippet\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode SnippetRequest")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000011,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfSnippetRequest) {
|
|
name = jsonFieldsNameOfSnippetRequest[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *SnippetRequest) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *SnippetRequest) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *SnippetRequestSnippetItem) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *SnippetRequestSnippetItem) encodeFields(e *jx.Encoder) {
|
|
}
|
|
|
|
var jsonFieldsNameOfSnippetRequestSnippetItem = [0]string{}
|
|
|
|
// Decode decodes SnippetRequestSnippetItem from json.
|
|
func (s *SnippetRequestSnippetItem) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode SnippetRequestSnippetItem to nil")
|
|
}
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode SnippetRequestSnippetItem")
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *SnippetRequestSnippetItem) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *SnippetRequestSnippetItem) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *SnippetsResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *SnippetsResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("response")
|
|
s.Response.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfSnippetsResponse = [1]string{
|
|
0: "response",
|
|
}
|
|
|
|
// Decode decodes SnippetsResponse from json.
|
|
func (s *SnippetsResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode SnippetsResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "response":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Response.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"response\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode SnippetsResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfSnippetsResponse) {
|
|
name = jsonFieldsNameOfSnippetsResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *SnippetsResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *SnippetsResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *SnippetsResponseResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *SnippetsResponseResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("total")
|
|
e.Float64(s.Total)
|
|
}
|
|
{
|
|
e.FieldStart("snippets")
|
|
e.ArrStart()
|
|
for _, elem := range s.Snippets {
|
|
elem.Encode(e)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfSnippetsResponseResponse = [2]string{
|
|
0: "total",
|
|
1: "snippets",
|
|
}
|
|
|
|
// Decode decodes SnippetsResponseResponse from json.
|
|
func (s *SnippetsResponseResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode SnippetsResponseResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "total":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.Total = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"total\"")
|
|
}
|
|
case "snippets":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
s.Snippets = make([]SnippetsResponseResponseSnippetsItem, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem SnippetsResponseResponseSnippetsItem
|
|
if err := elem.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
s.Snippets = append(s.Snippets, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"snippets\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode SnippetsResponseResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000011,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfSnippetsResponseResponse) {
|
|
name = jsonFieldsNameOfSnippetsResponseResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *SnippetsResponseResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *SnippetsResponseResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *SnippetsResponseResponseSnippetsItem) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *SnippetsResponseResponseSnippetsItem) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("name")
|
|
e.Str(s.Name)
|
|
}
|
|
{
|
|
if len(s.Snippet) != 0 {
|
|
e.FieldStart("snippet")
|
|
e.Raw(s.Snippet)
|
|
}
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfSnippetsResponseResponseSnippetsItem = [2]string{
|
|
0: "name",
|
|
1: "snippet",
|
|
}
|
|
|
|
// Decode decodes SnippetsResponseResponseSnippetsItem from json.
|
|
func (s *SnippetsResponseResponseSnippetsItem) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode SnippetsResponseResponseSnippetsItem to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "name":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Name = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"name\"")
|
|
}
|
|
case "snippet":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.RawAppend(nil)
|
|
s.Snippet = jx.Raw(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"snippet\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode SnippetsResponseResponseSnippetsItem")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000011,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfSnippetsResponseResponseSnippetsItem) {
|
|
name = jsonFieldsNameOfSnippetsResponseResponseSnippetsItem[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *SnippetsResponseResponseSnippetsItem) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *SnippetsResponseResponseSnippetsItem) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *Stat) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *Stat) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("memoryFree")
|
|
e.Float64(s.MemoryFree)
|
|
}
|
|
{
|
|
e.FieldStart("memoryUsed")
|
|
e.Float64(s.MemoryUsed)
|
|
}
|
|
{
|
|
e.FieldStart("uptime")
|
|
e.Float64(s.Uptime)
|
|
}
|
|
{
|
|
e.FieldStart("loadAvg")
|
|
e.ArrStart()
|
|
for _, elem := range s.LoadAvg {
|
|
e.Float64(elem)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
{
|
|
e.FieldStart("interface")
|
|
s.Interface.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfStat = [5]string{
|
|
0: "memoryFree",
|
|
1: "memoryUsed",
|
|
2: "uptime",
|
|
3: "loadAvg",
|
|
4: "interface",
|
|
}
|
|
|
|
// Decode decodes Stat from json.
|
|
func (s *Stat) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode Stat to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "memoryFree":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.MemoryFree = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"memoryFree\"")
|
|
}
|
|
case "memoryUsed":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.MemoryUsed = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"memoryUsed\"")
|
|
}
|
|
case "uptime":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.Uptime = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"uptime\"")
|
|
}
|
|
case "loadAvg":
|
|
requiredBitSet[0] |= 1 << 3
|
|
if err := func() error {
|
|
s.LoadAvg = make([]float64, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem float64
|
|
v, err := d.Float64()
|
|
elem = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
s.LoadAvg = append(s.LoadAvg, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"loadAvg\"")
|
|
}
|
|
case "interface":
|
|
requiredBitSet[0] |= 1 << 4
|
|
if err := func() error {
|
|
if err := s.Interface.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"interface\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode Stat")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00011111,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfStat) {
|
|
name = jsonFieldsNameOfStat[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *Stat) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *Stat) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *StatsNodeUsersUsageResponseResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *StatsNodeUsersUsageResponseResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("response")
|
|
s.Response.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfStatsNodeUsersUsageResponseResponse = [1]string{
|
|
0: "response",
|
|
}
|
|
|
|
// Decode decodes StatsNodeUsersUsageResponseResponse from json.
|
|
func (s *StatsNodeUsersUsageResponseResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode StatsNodeUsersUsageResponseResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "response":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Response.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"response\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode StatsNodeUsersUsageResponseResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfStatsNodeUsersUsageResponseResponse) {
|
|
name = jsonFieldsNameOfStatsNodeUsersUsageResponseResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *StatsNodeUsersUsageResponseResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *StatsNodeUsersUsageResponseResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *StatsNodeUsersUsageResponseResponseResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *StatsNodeUsersUsageResponseResponseResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("categories")
|
|
e.ArrStart()
|
|
for _, elem := range s.Categories {
|
|
e.Str(elem)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
{
|
|
e.FieldStart("sparklineData")
|
|
e.ArrStart()
|
|
for _, elem := range s.SparklineData {
|
|
e.Float64(elem)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
{
|
|
e.FieldStart("topUsers")
|
|
e.ArrStart()
|
|
for _, elem := range s.TopUsers {
|
|
elem.Encode(e)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfStatsNodeUsersUsageResponseResponseResponse = [3]string{
|
|
0: "categories",
|
|
1: "sparklineData",
|
|
2: "topUsers",
|
|
}
|
|
|
|
// Decode decodes StatsNodeUsersUsageResponseResponseResponse from json.
|
|
func (s *StatsNodeUsersUsageResponseResponseResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode StatsNodeUsersUsageResponseResponseResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "categories":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
s.Categories = make([]string, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem string
|
|
v, err := d.Str()
|
|
elem = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
s.Categories = append(s.Categories, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"categories\"")
|
|
}
|
|
case "sparklineData":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
s.SparklineData = make([]float64, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem float64
|
|
v, err := d.Float64()
|
|
elem = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
s.SparklineData = append(s.SparklineData, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"sparklineData\"")
|
|
}
|
|
case "topUsers":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
s.TopUsers = make([]StatsNodeUsersUsageResponseResponseResponseTopUsersItem, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem StatsNodeUsersUsageResponseResponseResponseTopUsersItem
|
|
if err := elem.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
s.TopUsers = append(s.TopUsers, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"topUsers\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode StatsNodeUsersUsageResponseResponseResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000111,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfStatsNodeUsersUsageResponseResponseResponse) {
|
|
name = jsonFieldsNameOfStatsNodeUsersUsageResponseResponseResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *StatsNodeUsersUsageResponseResponseResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *StatsNodeUsersUsageResponseResponseResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *StatsNodeUsersUsageResponseResponseResponseTopUsersItem) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *StatsNodeUsersUsageResponseResponseResponseTopUsersItem) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("color")
|
|
e.Str(s.Color)
|
|
}
|
|
{
|
|
e.FieldStart("username")
|
|
e.Str(s.Username)
|
|
}
|
|
{
|
|
e.FieldStart("total")
|
|
e.Float64(s.Total)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfStatsNodeUsersUsageResponseResponseResponseTopUsersItem = [3]string{
|
|
0: "color",
|
|
1: "username",
|
|
2: "total",
|
|
}
|
|
|
|
// Decode decodes StatsNodeUsersUsageResponseResponseResponseTopUsersItem from json.
|
|
func (s *StatsNodeUsersUsageResponseResponseResponseTopUsersItem) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode StatsNodeUsersUsageResponseResponseResponseTopUsersItem to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "color":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Color = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"color\"")
|
|
}
|
|
case "username":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Username = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"username\"")
|
|
}
|
|
case "total":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.Total = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"total\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode StatsNodeUsersUsageResponseResponseResponseTopUsersItem")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000111,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfStatsNodeUsersUsageResponseResponseResponseTopUsersItem) {
|
|
name = jsonFieldsNameOfStatsNodeUsersUsageResponseResponseResponseTopUsersItem[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *StatsNodeUsersUsageResponseResponseResponseTopUsersItem) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *StatsNodeUsersUsageResponseResponseResponseTopUsersItem) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *StatsUserUsageResponseResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *StatsUserUsageResponseResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("response")
|
|
s.Response.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfStatsUserUsageResponseResponse = [1]string{
|
|
0: "response",
|
|
}
|
|
|
|
// Decode decodes StatsUserUsageResponseResponse from json.
|
|
func (s *StatsUserUsageResponseResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode StatsUserUsageResponseResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "response":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Response.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"response\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode StatsUserUsageResponseResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfStatsUserUsageResponseResponse) {
|
|
name = jsonFieldsNameOfStatsUserUsageResponseResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *StatsUserUsageResponseResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *StatsUserUsageResponseResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *StatsUserUsageResponseResponseResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *StatsUserUsageResponseResponseResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("categories")
|
|
e.ArrStart()
|
|
for _, elem := range s.Categories {
|
|
e.Str(elem)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
{
|
|
e.FieldStart("sparklineData")
|
|
e.ArrStart()
|
|
for _, elem := range s.SparklineData {
|
|
e.Float64(elem)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
{
|
|
e.FieldStart("topNodes")
|
|
e.ArrStart()
|
|
for _, elem := range s.TopNodes {
|
|
elem.Encode(e)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
{
|
|
e.FieldStart("series")
|
|
e.ArrStart()
|
|
for _, elem := range s.Series {
|
|
elem.Encode(e)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfStatsUserUsageResponseResponseResponse = [4]string{
|
|
0: "categories",
|
|
1: "sparklineData",
|
|
2: "topNodes",
|
|
3: "series",
|
|
}
|
|
|
|
// Decode decodes StatsUserUsageResponseResponseResponse from json.
|
|
func (s *StatsUserUsageResponseResponseResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode StatsUserUsageResponseResponseResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "categories":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
s.Categories = make([]string, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem string
|
|
v, err := d.Str()
|
|
elem = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
s.Categories = append(s.Categories, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"categories\"")
|
|
}
|
|
case "sparklineData":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
s.SparklineData = make([]float64, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem float64
|
|
v, err := d.Float64()
|
|
elem = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
s.SparklineData = append(s.SparklineData, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"sparklineData\"")
|
|
}
|
|
case "topNodes":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
s.TopNodes = make([]TopNode, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem TopNode
|
|
if err := elem.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
s.TopNodes = append(s.TopNodes, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"topNodes\"")
|
|
}
|
|
case "series":
|
|
requiredBitSet[0] |= 1 << 3
|
|
if err := func() error {
|
|
s.Series = make([]StatsUserUsageResponseResponseResponseSeriesItem, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem StatsUserUsageResponseResponseResponseSeriesItem
|
|
if err := elem.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
s.Series = append(s.Series, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"series\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode StatsUserUsageResponseResponseResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00001111,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfStatsUserUsageResponseResponseResponse) {
|
|
name = jsonFieldsNameOfStatsUserUsageResponseResponseResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *StatsUserUsageResponseResponseResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *StatsUserUsageResponseResponseResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *StatsUserUsageResponseResponseResponseSeriesItem) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *StatsUserUsageResponseResponseResponseSeriesItem) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("uuid")
|
|
json.EncodeUUID(e, s.UUID)
|
|
}
|
|
{
|
|
e.FieldStart("name")
|
|
e.Str(s.Name)
|
|
}
|
|
{
|
|
e.FieldStart("color")
|
|
e.Str(s.Color)
|
|
}
|
|
{
|
|
e.FieldStart("countryCode")
|
|
e.Str(s.CountryCode)
|
|
}
|
|
{
|
|
e.FieldStart("total")
|
|
e.Float64(s.Total)
|
|
}
|
|
{
|
|
e.FieldStart("data")
|
|
e.ArrStart()
|
|
for _, elem := range s.Data {
|
|
e.Float64(elem)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfStatsUserUsageResponseResponseResponseSeriesItem = [6]string{
|
|
0: "uuid",
|
|
1: "name",
|
|
2: "color",
|
|
3: "countryCode",
|
|
4: "total",
|
|
5: "data",
|
|
}
|
|
|
|
// Decode decodes StatsUserUsageResponseResponseResponseSeriesItem from json.
|
|
func (s *StatsUserUsageResponseResponseResponseSeriesItem) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode StatsUserUsageResponseResponseResponseSeriesItem to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "uuid":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := json.DecodeUUID(d)
|
|
s.UUID = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"uuid\"")
|
|
}
|
|
case "name":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Name = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"name\"")
|
|
}
|
|
case "color":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Color = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"color\"")
|
|
}
|
|
case "countryCode":
|
|
requiredBitSet[0] |= 1 << 3
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.CountryCode = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"countryCode\"")
|
|
}
|
|
case "total":
|
|
requiredBitSet[0] |= 1 << 4
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.Total = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"total\"")
|
|
}
|
|
case "data":
|
|
requiredBitSet[0] |= 1 << 5
|
|
if err := func() error {
|
|
s.Data = make([]float64, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem float64
|
|
v, err := d.Float64()
|
|
elem = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
s.Data = append(s.Data, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"data\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode StatsUserUsageResponseResponseResponseSeriesItem")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00111111,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfStatsUserUsageResponseResponseResponseSeriesItem) {
|
|
name = jsonFieldsNameOfStatsUserUsageResponseResponseResponseSeriesItem[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *StatsUserUsageResponseResponseResponseSeriesItem) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *StatsUserUsageResponseResponseResponseSeriesItem) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *Subscription) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *Subscription) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("isFound")
|
|
e.Bool(s.IsFound)
|
|
}
|
|
{
|
|
e.FieldStart("user")
|
|
s.User.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("links")
|
|
e.ArrStart()
|
|
for _, elem := range s.Links {
|
|
e.Str(elem)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
{
|
|
e.FieldStart("ssConfLinks")
|
|
s.SsConfLinks.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("subscriptionUrl")
|
|
e.Str(s.SubscriptionUrl)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfSubscription = [5]string{
|
|
0: "isFound",
|
|
1: "user",
|
|
2: "links",
|
|
3: "ssConfLinks",
|
|
4: "subscriptionUrl",
|
|
}
|
|
|
|
// Decode decodes Subscription from json.
|
|
func (s *Subscription) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode Subscription to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "isFound":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Bool()
|
|
s.IsFound = bool(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"isFound\"")
|
|
}
|
|
case "user":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
if err := s.User.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"user\"")
|
|
}
|
|
case "links":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
s.Links = make([]string, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem string
|
|
v, err := d.Str()
|
|
elem = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
s.Links = append(s.Links, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"links\"")
|
|
}
|
|
case "ssConfLinks":
|
|
requiredBitSet[0] |= 1 << 3
|
|
if err := func() error {
|
|
if err := s.SsConfLinks.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"ssConfLinks\"")
|
|
}
|
|
case "subscriptionUrl":
|
|
requiredBitSet[0] |= 1 << 4
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.SubscriptionUrl = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"subscriptionUrl\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode Subscription")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00011111,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfSubscription) {
|
|
name = jsonFieldsNameOfSubscription[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *Subscription) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *Subscription) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *SubscriptionPageConfigResponseResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *SubscriptionPageConfigResponseResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("response")
|
|
s.Response.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfSubscriptionPageConfigResponseResponse = [1]string{
|
|
0: "response",
|
|
}
|
|
|
|
// Decode decodes SubscriptionPageConfigResponseResponse from json.
|
|
func (s *SubscriptionPageConfigResponseResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode SubscriptionPageConfigResponseResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "response":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Response.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"response\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode SubscriptionPageConfigResponseResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfSubscriptionPageConfigResponseResponse) {
|
|
name = jsonFieldsNameOfSubscriptionPageConfigResponseResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *SubscriptionPageConfigResponseResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *SubscriptionPageConfigResponseResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *SubscriptionPageConfigResponseResponseResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *SubscriptionPageConfigResponseResponseResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("uuid")
|
|
json.EncodeUUID(e, s.UUID)
|
|
}
|
|
{
|
|
e.FieldStart("viewPosition")
|
|
e.Int(s.ViewPosition)
|
|
}
|
|
{
|
|
e.FieldStart("name")
|
|
e.Str(s.Name)
|
|
}
|
|
{
|
|
if len(s.Config) != 0 {
|
|
e.FieldStart("config")
|
|
e.Raw(s.Config)
|
|
}
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfSubscriptionPageConfigResponseResponseResponse = [4]string{
|
|
0: "uuid",
|
|
1: "viewPosition",
|
|
2: "name",
|
|
3: "config",
|
|
}
|
|
|
|
// Decode decodes SubscriptionPageConfigResponseResponseResponse from json.
|
|
func (s *SubscriptionPageConfigResponseResponseResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode SubscriptionPageConfigResponseResponseResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "uuid":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := json.DecodeUUID(d)
|
|
s.UUID = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"uuid\"")
|
|
}
|
|
case "viewPosition":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Int()
|
|
s.ViewPosition = int(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"viewPosition\"")
|
|
}
|
|
case "name":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Name = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"name\"")
|
|
}
|
|
case "config":
|
|
requiredBitSet[0] |= 1 << 3
|
|
if err := func() error {
|
|
v, err := d.RawAppend(nil)
|
|
s.Config = jx.Raw(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"config\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode SubscriptionPageConfigResponseResponseResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00001111,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfSubscriptionPageConfigResponseResponseResponse) {
|
|
name = jsonFieldsNameOfSubscriptionPageConfigResponseResponseResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *SubscriptionPageConfigResponseResponseResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *SubscriptionPageConfigResponseResponseResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *SubscriptionPageConfigsResponseResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *SubscriptionPageConfigsResponseResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("response")
|
|
s.Response.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfSubscriptionPageConfigsResponseResponse = [1]string{
|
|
0: "response",
|
|
}
|
|
|
|
// Decode decodes SubscriptionPageConfigsResponseResponse from json.
|
|
func (s *SubscriptionPageConfigsResponseResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode SubscriptionPageConfigsResponseResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "response":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Response.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"response\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode SubscriptionPageConfigsResponseResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfSubscriptionPageConfigsResponseResponse) {
|
|
name = jsonFieldsNameOfSubscriptionPageConfigsResponseResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *SubscriptionPageConfigsResponseResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *SubscriptionPageConfigsResponseResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *SubscriptionPageConfigsResponseResponseResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *SubscriptionPageConfigsResponseResponseResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("total")
|
|
e.Float64(s.Total)
|
|
}
|
|
{
|
|
e.FieldStart("configs")
|
|
e.ArrStart()
|
|
for _, elem := range s.Configs {
|
|
elem.Encode(e)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfSubscriptionPageConfigsResponseResponseResponse = [2]string{
|
|
0: "total",
|
|
1: "configs",
|
|
}
|
|
|
|
// Decode decodes SubscriptionPageConfigsResponseResponseResponse from json.
|
|
func (s *SubscriptionPageConfigsResponseResponseResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode SubscriptionPageConfigsResponseResponseResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "total":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.Total = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"total\"")
|
|
}
|
|
case "configs":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
s.Configs = make([]Config, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem Config
|
|
if err := elem.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
s.Configs = append(s.Configs, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"configs\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode SubscriptionPageConfigsResponseResponseResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000011,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfSubscriptionPageConfigsResponseResponseResponse) {
|
|
name = jsonFieldsNameOfSubscriptionPageConfigsResponseResponseResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *SubscriptionPageConfigsResponseResponseResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *SubscriptionPageConfigsResponseResponseResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *SubscriptionResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *SubscriptionResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("response")
|
|
s.Response.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfSubscriptionResponse = [1]string{
|
|
0: "response",
|
|
}
|
|
|
|
// Decode decodes SubscriptionResponse from json.
|
|
func (s *SubscriptionResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode SubscriptionResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "response":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Response.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"response\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode SubscriptionResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfSubscriptionResponse) {
|
|
name = jsonFieldsNameOfSubscriptionResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *SubscriptionResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *SubscriptionResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *SubscriptionSettings) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *SubscriptionSettings) encodeFields(e *jx.Encoder) {
|
|
{
|
|
if s.ProfileTitle.Set {
|
|
e.FieldStart("profileTitle")
|
|
s.ProfileTitle.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.SupportLink.Set {
|
|
e.FieldStart("supportLink")
|
|
s.SupportLink.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.ProfileUpdateInterval.Set {
|
|
e.FieldStart("profileUpdateInterval")
|
|
s.ProfileUpdateInterval.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.IsProfileWebpageUrlEnabled.Set {
|
|
e.FieldStart("isProfileWebpageUrlEnabled")
|
|
s.IsProfileWebpageUrlEnabled.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.ServeJsonAtBaseSubscription.Set {
|
|
e.FieldStart("serveJsonAtBaseSubscription")
|
|
s.ServeJsonAtBaseSubscription.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.IsShowCustomRemarks.Set {
|
|
e.FieldStart("isShowCustomRemarks")
|
|
s.IsShowCustomRemarks.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.HappAnnounce.Set {
|
|
e.FieldStart("happAnnounce")
|
|
s.HappAnnounce.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.HappRouting.Set {
|
|
e.FieldStart("happRouting")
|
|
s.HappRouting.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.RandomizeHosts.Set {
|
|
e.FieldStart("randomizeHosts")
|
|
s.RandomizeHosts.Encode(e)
|
|
}
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfSubscriptionSettings = [9]string{
|
|
0: "profileTitle",
|
|
1: "supportLink",
|
|
2: "profileUpdateInterval",
|
|
3: "isProfileWebpageUrlEnabled",
|
|
4: "serveJsonAtBaseSubscription",
|
|
5: "isShowCustomRemarks",
|
|
6: "happAnnounce",
|
|
7: "happRouting",
|
|
8: "randomizeHosts",
|
|
}
|
|
|
|
// Decode decodes SubscriptionSettings from json.
|
|
func (s *SubscriptionSettings) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode SubscriptionSettings to nil")
|
|
}
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "profileTitle":
|
|
if err := func() error {
|
|
s.ProfileTitle.Reset()
|
|
if err := s.ProfileTitle.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"profileTitle\"")
|
|
}
|
|
case "supportLink":
|
|
if err := func() error {
|
|
s.SupportLink.Reset()
|
|
if err := s.SupportLink.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"supportLink\"")
|
|
}
|
|
case "profileUpdateInterval":
|
|
if err := func() error {
|
|
s.ProfileUpdateInterval.Reset()
|
|
if err := s.ProfileUpdateInterval.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"profileUpdateInterval\"")
|
|
}
|
|
case "isProfileWebpageUrlEnabled":
|
|
if err := func() error {
|
|
s.IsProfileWebpageUrlEnabled.Reset()
|
|
if err := s.IsProfileWebpageUrlEnabled.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"isProfileWebpageUrlEnabled\"")
|
|
}
|
|
case "serveJsonAtBaseSubscription":
|
|
if err := func() error {
|
|
s.ServeJsonAtBaseSubscription.Reset()
|
|
if err := s.ServeJsonAtBaseSubscription.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"serveJsonAtBaseSubscription\"")
|
|
}
|
|
case "isShowCustomRemarks":
|
|
if err := func() error {
|
|
s.IsShowCustomRemarks.Reset()
|
|
if err := s.IsShowCustomRemarks.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"isShowCustomRemarks\"")
|
|
}
|
|
case "happAnnounce":
|
|
if err := func() error {
|
|
s.HappAnnounce.Reset()
|
|
if err := s.HappAnnounce.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"happAnnounce\"")
|
|
}
|
|
case "happRouting":
|
|
if err := func() error {
|
|
s.HappRouting.Reset()
|
|
if err := s.HappRouting.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"happRouting\"")
|
|
}
|
|
case "randomizeHosts":
|
|
if err := func() error {
|
|
s.RandomizeHosts.Reset()
|
|
if err := s.RandomizeHosts.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"randomizeHosts\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode SubscriptionSettings")
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *SubscriptionSettings) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *SubscriptionSettings) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *SubscriptionSettingsResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *SubscriptionSettingsResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("response")
|
|
s.Response.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfSubscriptionSettingsResponse = [1]string{
|
|
0: "response",
|
|
}
|
|
|
|
// Decode decodes SubscriptionSettingsResponse from json.
|
|
func (s *SubscriptionSettingsResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode SubscriptionSettingsResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "response":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Response.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"response\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode SubscriptionSettingsResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfSubscriptionSettingsResponse) {
|
|
name = jsonFieldsNameOfSubscriptionSettingsResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *SubscriptionSettingsResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *SubscriptionSettingsResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *SubscriptionSettingsResponseResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *SubscriptionSettingsResponseResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("uuid")
|
|
json.EncodeUUID(e, s.UUID)
|
|
}
|
|
{
|
|
e.FieldStart("profileTitle")
|
|
e.Str(s.ProfileTitle)
|
|
}
|
|
{
|
|
e.FieldStart("supportLink")
|
|
e.Str(s.SupportLink)
|
|
}
|
|
{
|
|
e.FieldStart("profileUpdateInterval")
|
|
e.Int(s.ProfileUpdateInterval)
|
|
}
|
|
{
|
|
e.FieldStart("isProfileWebpageUrlEnabled")
|
|
e.Bool(s.IsProfileWebpageUrlEnabled)
|
|
}
|
|
{
|
|
e.FieldStart("serveJsonAtBaseSubscription")
|
|
e.Bool(s.ServeJsonAtBaseSubscription)
|
|
}
|
|
{
|
|
e.FieldStart("isShowCustomRemarks")
|
|
e.Bool(s.IsShowCustomRemarks)
|
|
}
|
|
{
|
|
e.FieldStart("customRemarks")
|
|
s.CustomRemarks.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("happAnnounce")
|
|
s.HappAnnounce.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("happRouting")
|
|
s.HappRouting.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("customResponseHeaders")
|
|
s.CustomResponseHeaders.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("randomizeHosts")
|
|
e.Bool(s.RandomizeHosts)
|
|
}
|
|
{
|
|
e.FieldStart("responseRules")
|
|
s.ResponseRules.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("hwidSettings")
|
|
s.HwidSettings.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("createdAt")
|
|
json.EncodeDateTime(e, s.CreatedAt)
|
|
}
|
|
{
|
|
e.FieldStart("updatedAt")
|
|
json.EncodeDateTime(e, s.UpdatedAt)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfSubscriptionSettingsResponseResponse = [16]string{
|
|
0: "uuid",
|
|
1: "profileTitle",
|
|
2: "supportLink",
|
|
3: "profileUpdateInterval",
|
|
4: "isProfileWebpageUrlEnabled",
|
|
5: "serveJsonAtBaseSubscription",
|
|
6: "isShowCustomRemarks",
|
|
7: "customRemarks",
|
|
8: "happAnnounce",
|
|
9: "happRouting",
|
|
10: "customResponseHeaders",
|
|
11: "randomizeHosts",
|
|
12: "responseRules",
|
|
13: "hwidSettings",
|
|
14: "createdAt",
|
|
15: "updatedAt",
|
|
}
|
|
|
|
// Decode decodes SubscriptionSettingsResponseResponse from json.
|
|
func (s *SubscriptionSettingsResponseResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode SubscriptionSettingsResponseResponse to nil")
|
|
}
|
|
var requiredBitSet [2]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "uuid":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := json.DecodeUUID(d)
|
|
s.UUID = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"uuid\"")
|
|
}
|
|
case "profileTitle":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.ProfileTitle = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"profileTitle\"")
|
|
}
|
|
case "supportLink":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.SupportLink = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"supportLink\"")
|
|
}
|
|
case "profileUpdateInterval":
|
|
requiredBitSet[0] |= 1 << 3
|
|
if err := func() error {
|
|
v, err := d.Int()
|
|
s.ProfileUpdateInterval = int(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"profileUpdateInterval\"")
|
|
}
|
|
case "isProfileWebpageUrlEnabled":
|
|
requiredBitSet[0] |= 1 << 4
|
|
if err := func() error {
|
|
v, err := d.Bool()
|
|
s.IsProfileWebpageUrlEnabled = bool(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"isProfileWebpageUrlEnabled\"")
|
|
}
|
|
case "serveJsonAtBaseSubscription":
|
|
requiredBitSet[0] |= 1 << 5
|
|
if err := func() error {
|
|
v, err := d.Bool()
|
|
s.ServeJsonAtBaseSubscription = bool(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"serveJsonAtBaseSubscription\"")
|
|
}
|
|
case "isShowCustomRemarks":
|
|
requiredBitSet[0] |= 1 << 6
|
|
if err := func() error {
|
|
v, err := d.Bool()
|
|
s.IsShowCustomRemarks = bool(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"isShowCustomRemarks\"")
|
|
}
|
|
case "customRemarks":
|
|
requiredBitSet[0] |= 1 << 7
|
|
if err := func() error {
|
|
if err := s.CustomRemarks.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"customRemarks\"")
|
|
}
|
|
case "happAnnounce":
|
|
requiredBitSet[1] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.HappAnnounce.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"happAnnounce\"")
|
|
}
|
|
case "happRouting":
|
|
requiredBitSet[1] |= 1 << 1
|
|
if err := func() error {
|
|
if err := s.HappRouting.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"happRouting\"")
|
|
}
|
|
case "customResponseHeaders":
|
|
requiredBitSet[1] |= 1 << 2
|
|
if err := func() error {
|
|
if err := s.CustomResponseHeaders.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"customResponseHeaders\"")
|
|
}
|
|
case "randomizeHosts":
|
|
requiredBitSet[1] |= 1 << 3
|
|
if err := func() error {
|
|
v, err := d.Bool()
|
|
s.RandomizeHosts = bool(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"randomizeHosts\"")
|
|
}
|
|
case "responseRules":
|
|
requiredBitSet[1] |= 1 << 4
|
|
if err := func() error {
|
|
if err := s.ResponseRules.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"responseRules\"")
|
|
}
|
|
case "hwidSettings":
|
|
requiredBitSet[1] |= 1 << 5
|
|
if err := func() error {
|
|
if err := s.HwidSettings.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"hwidSettings\"")
|
|
}
|
|
case "createdAt":
|
|
requiredBitSet[1] |= 1 << 6
|
|
if err := func() error {
|
|
v, err := json.DecodeDateTime(d)
|
|
s.CreatedAt = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"createdAt\"")
|
|
}
|
|
case "updatedAt":
|
|
requiredBitSet[1] |= 1 << 7
|
|
if err := func() error {
|
|
v, err := json.DecodeDateTime(d)
|
|
s.UpdatedAt = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"updatedAt\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode SubscriptionSettingsResponseResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [2]uint8{
|
|
0b11111111,
|
|
0b11111111,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfSubscriptionSettingsResponseResponse) {
|
|
name = jsonFieldsNameOfSubscriptionSettingsResponseResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *SubscriptionSettingsResponseResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *SubscriptionSettingsResponseResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s SubscriptionSettingsResponseResponseCustomResponseHeaders) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields implements json.Marshaler.
|
|
func (s SubscriptionSettingsResponseResponseCustomResponseHeaders) encodeFields(e *jx.Encoder) {
|
|
for k, elem := range s {
|
|
e.FieldStart(k)
|
|
|
|
e.Str(elem)
|
|
}
|
|
}
|
|
|
|
// Decode decodes SubscriptionSettingsResponseResponseCustomResponseHeaders from json.
|
|
func (s *SubscriptionSettingsResponseResponseCustomResponseHeaders) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode SubscriptionSettingsResponseResponseCustomResponseHeaders to nil")
|
|
}
|
|
m := s.init()
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
var elem string
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
elem = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrapf(err, "decode field %q", k)
|
|
}
|
|
m[string(k)] = elem
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode SubscriptionSettingsResponseResponseCustomResponseHeaders")
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s SubscriptionSettingsResponseResponseCustomResponseHeaders) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *SubscriptionSettingsResponseResponseCustomResponseHeaders) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s SubscriptionSsConfLinks) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields implements json.Marshaler.
|
|
func (s SubscriptionSsConfLinks) encodeFields(e *jx.Encoder) {
|
|
for k, elem := range s {
|
|
e.FieldStart(k)
|
|
|
|
e.Str(elem)
|
|
}
|
|
}
|
|
|
|
// Decode decodes SubscriptionSsConfLinks from json.
|
|
func (s *SubscriptionSsConfLinks) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode SubscriptionSsConfLinks to nil")
|
|
}
|
|
m := s.init()
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
var elem string
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
elem = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrapf(err, "decode field %q", k)
|
|
}
|
|
m[string(k)] = elem
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode SubscriptionSsConfLinks")
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s SubscriptionSsConfLinks) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *SubscriptionSsConfLinks) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *SystemItem) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *SystemItem) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("info")
|
|
s.Info.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("stats")
|
|
s.Stats.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfSystemItem = [2]string{
|
|
0: "info",
|
|
1: "stats",
|
|
}
|
|
|
|
// Decode decodes SystemItem from json.
|
|
func (s *SystemItem) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode SystemItem to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "info":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Info.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"info\"")
|
|
}
|
|
case "stats":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
if err := s.Stats.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"stats\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode SystemItem")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000011,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfSystemItem) {
|
|
name = jsonFieldsNameOfSystemItem[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *SystemItem) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *SystemItem) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *TagsResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *TagsResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("response")
|
|
s.Response.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfTagsResponse = [1]string{
|
|
0: "response",
|
|
}
|
|
|
|
// Decode decodes TagsResponse from json.
|
|
func (s *TagsResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode TagsResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "response":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Response.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"response\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode TagsResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfTagsResponse) {
|
|
name = jsonFieldsNameOfTagsResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *TagsResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *TagsResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *TagsResponseResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *TagsResponseResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("tags")
|
|
e.ArrStart()
|
|
for _, elem := range s.Tags {
|
|
e.Str(elem)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfTagsResponseResponse = [1]string{
|
|
0: "tags",
|
|
}
|
|
|
|
// Decode decodes TagsResponseResponse from json.
|
|
func (s *TagsResponseResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode TagsResponseResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "tags":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
s.Tags = make([]string, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem string
|
|
v, err := d.Str()
|
|
elem = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
s.Tags = append(s.Tags, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"tags\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode TagsResponseResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfTagsResponseResponse) {
|
|
name = jsonFieldsNameOfTagsResponseResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *TagsResponseResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *TagsResponseResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *Telegram) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *Telegram) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("enabled")
|
|
e.Bool(s.Enabled)
|
|
}
|
|
{
|
|
e.FieldStart("clientId")
|
|
s.ClientId.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("clientSecret")
|
|
s.ClientSecret.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("allowedIds")
|
|
e.ArrStart()
|
|
for _, elem := range s.AllowedIds {
|
|
e.Str(elem)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
{
|
|
e.FieldStart("frontendDomain")
|
|
s.FrontendDomain.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfTelegram = [5]string{
|
|
0: "enabled",
|
|
1: "clientId",
|
|
2: "clientSecret",
|
|
3: "allowedIds",
|
|
4: "frontendDomain",
|
|
}
|
|
|
|
// Decode decodes Telegram from json.
|
|
func (s *Telegram) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode Telegram to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "enabled":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Bool()
|
|
s.Enabled = bool(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"enabled\"")
|
|
}
|
|
case "clientId":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
if err := s.ClientId.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"clientId\"")
|
|
}
|
|
case "clientSecret":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
if err := s.ClientSecret.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"clientSecret\"")
|
|
}
|
|
case "allowedIds":
|
|
requiredBitSet[0] |= 1 << 3
|
|
if err := func() error {
|
|
s.AllowedIds = make([]string, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem string
|
|
v, err := d.Str()
|
|
elem = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
s.AllowedIds = append(s.AllowedIds, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"allowedIds\"")
|
|
}
|
|
case "frontendDomain":
|
|
requiredBitSet[0] |= 1 << 4
|
|
if err := func() error {
|
|
if err := s.FrontendDomain.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"frontendDomain\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode Telegram")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00011111,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfTelegram) {
|
|
name = jsonFieldsNameOfTelegram[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *Telegram) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *Telegram) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *Template) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *Template) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("uuid")
|
|
json.EncodeUUID(e, s.UUID)
|
|
}
|
|
{
|
|
e.FieldStart("viewPosition")
|
|
e.Int(s.ViewPosition)
|
|
}
|
|
{
|
|
e.FieldStart("name")
|
|
e.Str(s.Name)
|
|
}
|
|
{
|
|
e.FieldStart("templateType")
|
|
s.TemplateType.Encode(e)
|
|
}
|
|
{
|
|
if len(s.TemplateJson) != 0 {
|
|
e.FieldStart("templateJson")
|
|
e.Raw(s.TemplateJson)
|
|
}
|
|
}
|
|
{
|
|
e.FieldStart("encodedTemplateYaml")
|
|
s.EncodedTemplateYaml.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfTemplate = [6]string{
|
|
0: "uuid",
|
|
1: "viewPosition",
|
|
2: "name",
|
|
3: "templateType",
|
|
4: "templateJson",
|
|
5: "encodedTemplateYaml",
|
|
}
|
|
|
|
// Decode decodes Template from json.
|
|
func (s *Template) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode Template to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "uuid":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := json.DecodeUUID(d)
|
|
s.UUID = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"uuid\"")
|
|
}
|
|
case "viewPosition":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Int()
|
|
s.ViewPosition = int(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"viewPosition\"")
|
|
}
|
|
case "name":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Name = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"name\"")
|
|
}
|
|
case "templateType":
|
|
requiredBitSet[0] |= 1 << 3
|
|
if err := func() error {
|
|
if err := s.TemplateType.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"templateType\"")
|
|
}
|
|
case "templateJson":
|
|
requiredBitSet[0] |= 1 << 4
|
|
if err := func() error {
|
|
v, err := d.RawAppend(nil)
|
|
s.TemplateJson = jx.Raw(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"templateJson\"")
|
|
}
|
|
case "encodedTemplateYaml":
|
|
requiredBitSet[0] |= 1 << 5
|
|
if err := func() error {
|
|
if err := s.EncodedTemplateYaml.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"encodedTemplateYaml\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode Template")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00111111,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfTemplate) {
|
|
name = jsonFieldsNameOfTemplate[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *Template) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *Template) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *TemplateRef) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *TemplateRef) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("templateUuid")
|
|
json.EncodeUUID(e, s.TemplateUuid)
|
|
}
|
|
{
|
|
e.FieldStart("templateType")
|
|
s.TemplateType.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfTemplateRef = [2]string{
|
|
0: "templateUuid",
|
|
1: "templateType",
|
|
}
|
|
|
|
// Decode decodes TemplateRef from json.
|
|
func (s *TemplateRef) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode TemplateRef to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "templateUuid":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := json.DecodeUUID(d)
|
|
s.TemplateUuid = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"templateUuid\"")
|
|
}
|
|
case "templateType":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
if err := s.TemplateType.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"templateType\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode TemplateRef")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000011,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfTemplateRef) {
|
|
name = jsonFieldsNameOfTemplateRef[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *TemplateRef) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *TemplateRef) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes TemplateRefTemplateType as json.
|
|
func (s TemplateRefTemplateType) Encode(e *jx.Encoder) {
|
|
e.Str(string(s))
|
|
}
|
|
|
|
// Decode decodes TemplateRefTemplateType from json.
|
|
func (s *TemplateRefTemplateType) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode TemplateRefTemplateType to nil")
|
|
}
|
|
v, err := d.StrBytes()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
// Try to use constant string.
|
|
switch TemplateRefTemplateType(v) {
|
|
case TemplateRefTemplateTypeXRAYJSON:
|
|
*s = TemplateRefTemplateTypeXRAYJSON
|
|
case TemplateRefTemplateTypeXRAYBASE64:
|
|
*s = TemplateRefTemplateTypeXRAYBASE64
|
|
case TemplateRefTemplateTypeMIHOMO:
|
|
*s = TemplateRefTemplateTypeMIHOMO
|
|
case TemplateRefTemplateTypeSTASH:
|
|
*s = TemplateRefTemplateTypeSTASH
|
|
case TemplateRefTemplateTypeCLASH:
|
|
*s = TemplateRefTemplateTypeCLASH
|
|
case TemplateRefTemplateTypeSINGBOX:
|
|
*s = TemplateRefTemplateTypeSINGBOX
|
|
default:
|
|
*s = TemplateRefTemplateType(v)
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s TemplateRefTemplateType) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *TemplateRefTemplateType) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *TemplateResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *TemplateResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("response")
|
|
s.Response.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfTemplateResponse = [1]string{
|
|
0: "response",
|
|
}
|
|
|
|
// Decode decodes TemplateResponse from json.
|
|
func (s *TemplateResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode TemplateResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "response":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Response.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"response\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode TemplateResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfTemplateResponse) {
|
|
name = jsonFieldsNameOfTemplateResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *TemplateResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *TemplateResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes TemplateTemplateType as json.
|
|
func (s TemplateTemplateType) Encode(e *jx.Encoder) {
|
|
e.Str(string(s))
|
|
}
|
|
|
|
// Decode decodes TemplateTemplateType from json.
|
|
func (s *TemplateTemplateType) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode TemplateTemplateType to nil")
|
|
}
|
|
v, err := d.StrBytes()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
// Try to use constant string.
|
|
switch TemplateTemplateType(v) {
|
|
case TemplateTemplateTypeXRAYJSON:
|
|
*s = TemplateTemplateTypeXRAYJSON
|
|
case TemplateTemplateTypeXRAYBASE64:
|
|
*s = TemplateTemplateTypeXRAYBASE64
|
|
case TemplateTemplateTypeMIHOMO:
|
|
*s = TemplateTemplateTypeMIHOMO
|
|
case TemplateTemplateTypeSTASH:
|
|
*s = TemplateTemplateTypeSTASH
|
|
case TemplateTemplateTypeCLASH:
|
|
*s = TemplateTemplateTypeCLASH
|
|
case TemplateTemplateTypeSINGBOX:
|
|
*s = TemplateTemplateTypeSINGBOX
|
|
default:
|
|
*s = TemplateTemplateType(v)
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s TemplateTemplateType) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *TemplateTemplateType) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *TemplatesResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *TemplatesResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("response")
|
|
s.Response.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfTemplatesResponse = [1]string{
|
|
0: "response",
|
|
}
|
|
|
|
// Decode decodes TemplatesResponse from json.
|
|
func (s *TemplatesResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode TemplatesResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "response":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Response.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"response\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode TemplatesResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfTemplatesResponse) {
|
|
name = jsonFieldsNameOfTemplatesResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *TemplatesResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *TemplatesResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *TemplatesResponseResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *TemplatesResponseResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("total")
|
|
e.Float64(s.Total)
|
|
}
|
|
{
|
|
e.FieldStart("templates")
|
|
e.ArrStart()
|
|
for _, elem := range s.Templates {
|
|
elem.Encode(e)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfTemplatesResponseResponse = [2]string{
|
|
0: "total",
|
|
1: "templates",
|
|
}
|
|
|
|
// Decode decodes TemplatesResponseResponse from json.
|
|
func (s *TemplatesResponseResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode TemplatesResponseResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "total":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.Total = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"total\"")
|
|
}
|
|
case "templates":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
s.Templates = make([]Template, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem Template
|
|
if err := elem.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
s.Templates = append(s.Templates, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"templates\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode TemplatesResponseResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000011,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfTemplatesResponseResponse) {
|
|
name = jsonFieldsNameOfTemplatesResponseResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *TemplatesResponseResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *TemplatesResponseResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *TokenResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *TokenResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("response")
|
|
s.Response.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfTokenResponse = [1]string{
|
|
0: "response",
|
|
}
|
|
|
|
// Decode decodes TokenResponse from json.
|
|
func (s *TokenResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode TokenResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "response":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Response.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"response\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode TokenResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfTokenResponse) {
|
|
name = jsonFieldsNameOfTokenResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *TokenResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *TokenResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *TokenResponseResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *TokenResponseResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("accessToken")
|
|
e.Str(s.AccessToken)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfTokenResponseResponse = [1]string{
|
|
0: "accessToken",
|
|
}
|
|
|
|
// Decode decodes TokenResponseResponse from json.
|
|
func (s *TokenResponseResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode TokenResponseResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "accessToken":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.AccessToken = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"accessToken\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode TokenResponseResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfTokenResponseResponse) {
|
|
name = jsonFieldsNameOfTokenResponseResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *TokenResponseResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *TokenResponseResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *TopNode) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *TopNode) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("uuid")
|
|
json.EncodeUUID(e, s.UUID)
|
|
}
|
|
{
|
|
e.FieldStart("countryCode")
|
|
e.Str(s.CountryCode)
|
|
}
|
|
{
|
|
e.FieldStart("color")
|
|
e.Str(s.Color)
|
|
}
|
|
{
|
|
e.FieldStart("name")
|
|
e.Str(s.Name)
|
|
}
|
|
{
|
|
e.FieldStart("total")
|
|
e.Float64(s.Total)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfTopNode = [5]string{
|
|
0: "uuid",
|
|
1: "countryCode",
|
|
2: "color",
|
|
3: "name",
|
|
4: "total",
|
|
}
|
|
|
|
// Decode decodes TopNode from json.
|
|
func (s *TopNode) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode TopNode to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "uuid":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := json.DecodeUUID(d)
|
|
s.UUID = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"uuid\"")
|
|
}
|
|
case "countryCode":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.CountryCode = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"countryCode\"")
|
|
}
|
|
case "color":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Color = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"color\"")
|
|
}
|
|
case "name":
|
|
requiredBitSet[0] |= 1 << 3
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Name = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"name\"")
|
|
}
|
|
case "total":
|
|
requiredBitSet[0] |= 1 << 4
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.Total = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"total\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode TopNode")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00011111,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfTopNode) {
|
|
name = jsonFieldsNameOfTopNode[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *TopNode) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *TopNode) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *TorrentBlockerReportsResponseResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *TorrentBlockerReportsResponseResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("response")
|
|
s.Response.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfTorrentBlockerReportsResponseResponse = [1]string{
|
|
0: "response",
|
|
}
|
|
|
|
// Decode decodes TorrentBlockerReportsResponseResponse from json.
|
|
func (s *TorrentBlockerReportsResponseResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode TorrentBlockerReportsResponseResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "response":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Response.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"response\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode TorrentBlockerReportsResponseResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfTorrentBlockerReportsResponseResponse) {
|
|
name = jsonFieldsNameOfTorrentBlockerReportsResponseResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *TorrentBlockerReportsResponseResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *TorrentBlockerReportsResponseResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *TorrentBlockerReportsResponseResponseResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *TorrentBlockerReportsResponseResponseResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("records")
|
|
e.ArrStart()
|
|
for _, elem := range s.Records {
|
|
elem.Encode(e)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
{
|
|
e.FieldStart("total")
|
|
e.Float64(s.Total)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfTorrentBlockerReportsResponseResponseResponse = [2]string{
|
|
0: "records",
|
|
1: "total",
|
|
}
|
|
|
|
// Decode decodes TorrentBlockerReportsResponseResponseResponse from json.
|
|
func (s *TorrentBlockerReportsResponseResponseResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode TorrentBlockerReportsResponseResponseResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "records":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
s.Records = make([]TorrentBlockerReportsResponseResponseResponseRecordsItem, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem TorrentBlockerReportsResponseResponseResponseRecordsItem
|
|
if err := elem.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
s.Records = append(s.Records, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"records\"")
|
|
}
|
|
case "total":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.Total = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"total\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode TorrentBlockerReportsResponseResponseResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000011,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfTorrentBlockerReportsResponseResponseResponse) {
|
|
name = jsonFieldsNameOfTorrentBlockerReportsResponseResponseResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *TorrentBlockerReportsResponseResponseResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *TorrentBlockerReportsResponseResponseResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *TorrentBlockerReportsResponseResponseResponseRecordsItem) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *TorrentBlockerReportsResponseResponseResponseRecordsItem) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("id")
|
|
e.Float64(s.ID)
|
|
}
|
|
{
|
|
e.FieldStart("userId")
|
|
e.Float64(s.UserId)
|
|
}
|
|
{
|
|
e.FieldStart("nodeId")
|
|
e.Float64(s.NodeId)
|
|
}
|
|
{
|
|
e.FieldStart("user")
|
|
s.User.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("node")
|
|
s.Node.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("report")
|
|
s.Report.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("createdAt")
|
|
json.EncodeDateTime(e, s.CreatedAt)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfTorrentBlockerReportsResponseResponseResponseRecordsItem = [7]string{
|
|
0: "id",
|
|
1: "userId",
|
|
2: "nodeId",
|
|
3: "user",
|
|
4: "node",
|
|
5: "report",
|
|
6: "createdAt",
|
|
}
|
|
|
|
// Decode decodes TorrentBlockerReportsResponseResponseResponseRecordsItem from json.
|
|
func (s *TorrentBlockerReportsResponseResponseResponseRecordsItem) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode TorrentBlockerReportsResponseResponseResponseRecordsItem to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "id":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.ID = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"id\"")
|
|
}
|
|
case "userId":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.UserId = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"userId\"")
|
|
}
|
|
case "nodeId":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.NodeId = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"nodeId\"")
|
|
}
|
|
case "user":
|
|
requiredBitSet[0] |= 1 << 3
|
|
if err := func() error {
|
|
if err := s.User.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"user\"")
|
|
}
|
|
case "node":
|
|
requiredBitSet[0] |= 1 << 4
|
|
if err := func() error {
|
|
if err := s.Node.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"node\"")
|
|
}
|
|
case "report":
|
|
requiredBitSet[0] |= 1 << 5
|
|
if err := func() error {
|
|
if err := s.Report.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"report\"")
|
|
}
|
|
case "createdAt":
|
|
requiredBitSet[0] |= 1 << 6
|
|
if err := func() error {
|
|
v, err := json.DecodeDateTime(d)
|
|
s.CreatedAt = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"createdAt\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode TorrentBlockerReportsResponseResponseResponseRecordsItem")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b01111111,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfTorrentBlockerReportsResponseResponseResponseRecordsItem) {
|
|
name = jsonFieldsNameOfTorrentBlockerReportsResponseResponseResponseRecordsItem[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *TorrentBlockerReportsResponseResponseResponseRecordsItem) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *TorrentBlockerReportsResponseResponseResponseRecordsItem) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *TorrentBlockerReportsResponseResponseResponseRecordsItemUser) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *TorrentBlockerReportsResponseResponseResponseRecordsItemUser) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("uuid")
|
|
json.EncodeUUID(e, s.UUID)
|
|
}
|
|
{
|
|
e.FieldStart("username")
|
|
e.Str(s.Username)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfTorrentBlockerReportsResponseResponseResponseRecordsItemUser = [2]string{
|
|
0: "uuid",
|
|
1: "username",
|
|
}
|
|
|
|
// Decode decodes TorrentBlockerReportsResponseResponseResponseRecordsItemUser from json.
|
|
func (s *TorrentBlockerReportsResponseResponseResponseRecordsItemUser) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode TorrentBlockerReportsResponseResponseResponseRecordsItemUser to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "uuid":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := json.DecodeUUID(d)
|
|
s.UUID = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"uuid\"")
|
|
}
|
|
case "username":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Username = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"username\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode TorrentBlockerReportsResponseResponseResponseRecordsItemUser")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000011,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfTorrentBlockerReportsResponseResponseResponseRecordsItemUser) {
|
|
name = jsonFieldsNameOfTorrentBlockerReportsResponseResponseResponseRecordsItemUser[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *TorrentBlockerReportsResponseResponseResponseRecordsItemUser) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *TorrentBlockerReportsResponseResponseResponseRecordsItemUser) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *UnauthorizedError) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *UnauthorizedError) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("message")
|
|
e.Str(s.Message)
|
|
}
|
|
{
|
|
e.FieldStart("statusCode")
|
|
e.Float64(s.StatusCode)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfUnauthorizedError = [2]string{
|
|
0: "message",
|
|
1: "statusCode",
|
|
}
|
|
|
|
// Decode decodes UnauthorizedError from json.
|
|
func (s *UnauthorizedError) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode UnauthorizedError to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "message":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Message = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"message\"")
|
|
}
|
|
case "statusCode":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.StatusCode = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"statusCode\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode UnauthorizedError")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000011,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfUnauthorizedError) {
|
|
name = jsonFieldsNameOfUnauthorizedError[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *UnauthorizedError) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *UnauthorizedError) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *UpdateConfigProfileRequest) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *UpdateConfigProfileRequest) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("uuid")
|
|
json.EncodeUUID(e, s.UUID)
|
|
}
|
|
{
|
|
if s.Name.Set {
|
|
e.FieldStart("name")
|
|
s.Name.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.Config != nil {
|
|
e.FieldStart("config")
|
|
s.Config.Encode(e)
|
|
}
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfUpdateConfigProfileRequest = [3]string{
|
|
0: "uuid",
|
|
1: "name",
|
|
2: "config",
|
|
}
|
|
|
|
// Decode decodes UpdateConfigProfileRequest from json.
|
|
func (s *UpdateConfigProfileRequest) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode UpdateConfigProfileRequest to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "uuid":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := json.DecodeUUID(d)
|
|
s.UUID = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"uuid\"")
|
|
}
|
|
case "name":
|
|
if err := func() error {
|
|
s.Name.Reset()
|
|
if err := s.Name.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"name\"")
|
|
}
|
|
case "config":
|
|
if err := func() error {
|
|
s.Config = nil
|
|
var elem UpdateConfigProfileRequestConfig
|
|
if err := elem.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
s.Config = &elem
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"config\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode UpdateConfigProfileRequest")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfUpdateConfigProfileRequest) {
|
|
name = jsonFieldsNameOfUpdateConfigProfileRequest[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *UpdateConfigProfileRequest) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *UpdateConfigProfileRequest) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *UpdateConfigProfileRequestConfig) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *UpdateConfigProfileRequestConfig) encodeFields(e *jx.Encoder) {
|
|
}
|
|
|
|
var jsonFieldsNameOfUpdateConfigProfileRequestConfig = [0]string{}
|
|
|
|
// Decode decodes UpdateConfigProfileRequestConfig from json.
|
|
func (s *UpdateConfigProfileRequestConfig) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode UpdateConfigProfileRequestConfig to nil")
|
|
}
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode UpdateConfigProfileRequestConfig")
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *UpdateConfigProfileRequestConfig) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *UpdateConfigProfileRequestConfig) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *UpdateExternalSquadRequest) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *UpdateExternalSquadRequest) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("uuid")
|
|
json.EncodeUUID(e, s.UUID)
|
|
}
|
|
{
|
|
if s.Name.Set {
|
|
e.FieldStart("name")
|
|
s.Name.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.Templates != nil {
|
|
e.FieldStart("templates")
|
|
e.ArrStart()
|
|
for _, elem := range s.Templates {
|
|
elem.Encode(e)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
}
|
|
{
|
|
if s.SubscriptionSettings.Set {
|
|
e.FieldStart("subscriptionSettings")
|
|
s.SubscriptionSettings.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.HostOverrides.Set {
|
|
e.FieldStart("hostOverrides")
|
|
s.HostOverrides.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.ResponseHeaders.Set {
|
|
e.FieldStart("responseHeaders")
|
|
s.ResponseHeaders.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.HwidSettings.Set {
|
|
e.FieldStart("hwidSettings")
|
|
s.HwidSettings.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.CustomRemarks.Set {
|
|
e.FieldStart("customRemarks")
|
|
s.CustomRemarks.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.SubpageConfigUuid.Set {
|
|
e.FieldStart("subpageConfigUuid")
|
|
s.SubpageConfigUuid.Encode(e)
|
|
}
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfUpdateExternalSquadRequest = [9]string{
|
|
0: "uuid",
|
|
1: "name",
|
|
2: "templates",
|
|
3: "subscriptionSettings",
|
|
4: "hostOverrides",
|
|
5: "responseHeaders",
|
|
6: "hwidSettings",
|
|
7: "customRemarks",
|
|
8: "subpageConfigUuid",
|
|
}
|
|
|
|
// Decode decodes UpdateExternalSquadRequest from json.
|
|
func (s *UpdateExternalSquadRequest) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode UpdateExternalSquadRequest to nil")
|
|
}
|
|
var requiredBitSet [2]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "uuid":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := json.DecodeUUID(d)
|
|
s.UUID = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"uuid\"")
|
|
}
|
|
case "name":
|
|
if err := func() error {
|
|
s.Name.Reset()
|
|
if err := s.Name.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"name\"")
|
|
}
|
|
case "templates":
|
|
if err := func() error {
|
|
s.Templates = make([]TemplateRef, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem TemplateRef
|
|
if err := elem.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
s.Templates = append(s.Templates, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"templates\"")
|
|
}
|
|
case "subscriptionSettings":
|
|
if err := func() error {
|
|
s.SubscriptionSettings.Reset()
|
|
if err := s.SubscriptionSettings.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"subscriptionSettings\"")
|
|
}
|
|
case "hostOverrides":
|
|
if err := func() error {
|
|
s.HostOverrides.Reset()
|
|
if err := s.HostOverrides.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"hostOverrides\"")
|
|
}
|
|
case "responseHeaders":
|
|
if err := func() error {
|
|
s.ResponseHeaders.Reset()
|
|
if err := s.ResponseHeaders.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"responseHeaders\"")
|
|
}
|
|
case "hwidSettings":
|
|
if err := func() error {
|
|
s.HwidSettings.Reset()
|
|
if err := s.HwidSettings.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"hwidSettings\"")
|
|
}
|
|
case "customRemarks":
|
|
if err := func() error {
|
|
s.CustomRemarks.Reset()
|
|
if err := s.CustomRemarks.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"customRemarks\"")
|
|
}
|
|
case "subpageConfigUuid":
|
|
if err := func() error {
|
|
s.SubpageConfigUuid.Reset()
|
|
if err := s.SubpageConfigUuid.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"subpageConfigUuid\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode UpdateExternalSquadRequest")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [2]uint8{
|
|
0b00000001,
|
|
0b00000000,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfUpdateExternalSquadRequest) {
|
|
name = jsonFieldsNameOfUpdateExternalSquadRequest[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *UpdateExternalSquadRequest) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *UpdateExternalSquadRequest) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s UpdateExternalSquadRequestResponseHeaders) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields implements json.Marshaler.
|
|
func (s UpdateExternalSquadRequestResponseHeaders) encodeFields(e *jx.Encoder) {
|
|
for k, elem := range s {
|
|
e.FieldStart(k)
|
|
|
|
e.Str(elem)
|
|
}
|
|
}
|
|
|
|
// Decode decodes UpdateExternalSquadRequestResponseHeaders from json.
|
|
func (s *UpdateExternalSquadRequestResponseHeaders) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode UpdateExternalSquadRequestResponseHeaders to nil")
|
|
}
|
|
m := s.init()
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
var elem string
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
elem = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrapf(err, "decode field %q", k)
|
|
}
|
|
m[string(k)] = elem
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode UpdateExternalSquadRequestResponseHeaders")
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s UpdateExternalSquadRequestResponseHeaders) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *UpdateExternalSquadRequestResponseHeaders) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *UpdateHostRequest) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *UpdateHostRequest) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("uuid")
|
|
json.EncodeUUID(e, s.UUID)
|
|
}
|
|
{
|
|
if s.Inbound.Set {
|
|
e.FieldStart("inbound")
|
|
s.Inbound.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.Remark.Set {
|
|
e.FieldStart("remark")
|
|
s.Remark.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.Address.Set {
|
|
e.FieldStart("address")
|
|
s.Address.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.Port.Set {
|
|
e.FieldStart("port")
|
|
s.Port.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.Path.Set {
|
|
e.FieldStart("path")
|
|
s.Path.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.Sni.Set {
|
|
e.FieldStart("sni")
|
|
s.Sni.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.Host.Set {
|
|
e.FieldStart("host")
|
|
s.Host.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.Alpn.Set {
|
|
e.FieldStart("alpn")
|
|
s.Alpn.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.Fingerprint.Set {
|
|
e.FieldStart("fingerprint")
|
|
s.Fingerprint.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.IsDisabled.Set {
|
|
e.FieldStart("isDisabled")
|
|
s.IsDisabled.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.SecurityLayer.Set {
|
|
e.FieldStart("securityLayer")
|
|
s.SecurityLayer.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if len(s.XhttpExtraParams) != 0 {
|
|
e.FieldStart("xhttpExtraParams")
|
|
e.Raw(s.XhttpExtraParams)
|
|
}
|
|
}
|
|
{
|
|
if len(s.MuxParams) != 0 {
|
|
e.FieldStart("muxParams")
|
|
e.Raw(s.MuxParams)
|
|
}
|
|
}
|
|
{
|
|
if len(s.SockoptParams) != 0 {
|
|
e.FieldStart("sockoptParams")
|
|
e.Raw(s.SockoptParams)
|
|
}
|
|
}
|
|
{
|
|
if len(s.FinalMask) != 0 {
|
|
e.FieldStart("finalMask")
|
|
e.Raw(s.FinalMask)
|
|
}
|
|
}
|
|
{
|
|
if s.ServerDescription.Set {
|
|
e.FieldStart("serverDescription")
|
|
s.ServerDescription.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.Tags != nil {
|
|
e.FieldStart("tags")
|
|
e.ArrStart()
|
|
for _, elem := range s.Tags {
|
|
e.Str(elem)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
}
|
|
{
|
|
if s.IsHidden.Set {
|
|
e.FieldStart("isHidden")
|
|
s.IsHidden.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.OverrideSniFromAddress.Set {
|
|
e.FieldStart("overrideSniFromAddress")
|
|
s.OverrideSniFromAddress.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.KeepSniBlank.Set {
|
|
e.FieldStart("keepSniBlank")
|
|
s.KeepSniBlank.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.VlessRouteId.Set {
|
|
e.FieldStart("vlessRouteId")
|
|
s.VlessRouteId.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.PinnedPeerCertSha256.Set {
|
|
e.FieldStart("pinnedPeerCertSha256")
|
|
s.PinnedPeerCertSha256.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.VerifyPeerCertByName.Set {
|
|
e.FieldStart("verifyPeerCertByName")
|
|
s.VerifyPeerCertByName.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.ShuffleHost.Set {
|
|
e.FieldStart("shuffleHost")
|
|
s.ShuffleHost.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.MihomoX25519.Set {
|
|
e.FieldStart("mihomoX25519")
|
|
s.MihomoX25519.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.MihomoIpVersion.Set {
|
|
e.FieldStart("mihomoIpVersion")
|
|
s.MihomoIpVersion.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.Nodes != nil {
|
|
e.FieldStart("nodes")
|
|
e.ArrStart()
|
|
for _, elem := range s.Nodes {
|
|
json.EncodeUUID(e, elem)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
}
|
|
{
|
|
if s.XrayJsonTemplateUuid.Set {
|
|
e.FieldStart("xrayJsonTemplateUuid")
|
|
s.XrayJsonTemplateUuid.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.ExcludedInternalSquads != nil {
|
|
e.FieldStart("excludedInternalSquads")
|
|
e.ArrStart()
|
|
for _, elem := range s.ExcludedInternalSquads {
|
|
json.EncodeUUID(e, elem)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
}
|
|
{
|
|
if s.ExcludeFromSubscriptionTypes != nil {
|
|
e.FieldStart("excludeFromSubscriptionTypes")
|
|
e.ArrStart()
|
|
for _, elem := range s.ExcludeFromSubscriptionTypes {
|
|
elem.Encode(e)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfUpdateHostRequest = [31]string{
|
|
0: "uuid",
|
|
1: "inbound",
|
|
2: "remark",
|
|
3: "address",
|
|
4: "port",
|
|
5: "path",
|
|
6: "sni",
|
|
7: "host",
|
|
8: "alpn",
|
|
9: "fingerprint",
|
|
10: "isDisabled",
|
|
11: "securityLayer",
|
|
12: "xhttpExtraParams",
|
|
13: "muxParams",
|
|
14: "sockoptParams",
|
|
15: "finalMask",
|
|
16: "serverDescription",
|
|
17: "tags",
|
|
18: "isHidden",
|
|
19: "overrideSniFromAddress",
|
|
20: "keepSniBlank",
|
|
21: "vlessRouteId",
|
|
22: "pinnedPeerCertSha256",
|
|
23: "verifyPeerCertByName",
|
|
24: "shuffleHost",
|
|
25: "mihomoX25519",
|
|
26: "mihomoIpVersion",
|
|
27: "nodes",
|
|
28: "xrayJsonTemplateUuid",
|
|
29: "excludedInternalSquads",
|
|
30: "excludeFromSubscriptionTypes",
|
|
}
|
|
|
|
// Decode decodes UpdateHostRequest from json.
|
|
func (s *UpdateHostRequest) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode UpdateHostRequest to nil")
|
|
}
|
|
var requiredBitSet [4]uint8
|
|
s.setDefaults()
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "uuid":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := json.DecodeUUID(d)
|
|
s.UUID = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"uuid\"")
|
|
}
|
|
case "inbound":
|
|
if err := func() error {
|
|
s.Inbound.Reset()
|
|
if err := s.Inbound.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"inbound\"")
|
|
}
|
|
case "remark":
|
|
if err := func() error {
|
|
s.Remark.Reset()
|
|
if err := s.Remark.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"remark\"")
|
|
}
|
|
case "address":
|
|
if err := func() error {
|
|
s.Address.Reset()
|
|
if err := s.Address.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"address\"")
|
|
}
|
|
case "port":
|
|
if err := func() error {
|
|
s.Port.Reset()
|
|
if err := s.Port.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"port\"")
|
|
}
|
|
case "path":
|
|
if err := func() error {
|
|
s.Path.Reset()
|
|
if err := s.Path.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"path\"")
|
|
}
|
|
case "sni":
|
|
if err := func() error {
|
|
s.Sni.Reset()
|
|
if err := s.Sni.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"sni\"")
|
|
}
|
|
case "host":
|
|
if err := func() error {
|
|
s.Host.Reset()
|
|
if err := s.Host.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"host\"")
|
|
}
|
|
case "alpn":
|
|
if err := func() error {
|
|
s.Alpn.Reset()
|
|
if err := s.Alpn.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"alpn\"")
|
|
}
|
|
case "fingerprint":
|
|
if err := func() error {
|
|
s.Fingerprint.Reset()
|
|
if err := s.Fingerprint.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"fingerprint\"")
|
|
}
|
|
case "isDisabled":
|
|
if err := func() error {
|
|
s.IsDisabled.Reset()
|
|
if err := s.IsDisabled.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"isDisabled\"")
|
|
}
|
|
case "securityLayer":
|
|
if err := func() error {
|
|
s.SecurityLayer.Reset()
|
|
if err := s.SecurityLayer.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"securityLayer\"")
|
|
}
|
|
case "xhttpExtraParams":
|
|
if err := func() error {
|
|
v, err := d.RawAppend(nil)
|
|
s.XhttpExtraParams = jx.Raw(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"xhttpExtraParams\"")
|
|
}
|
|
case "muxParams":
|
|
if err := func() error {
|
|
v, err := d.RawAppend(nil)
|
|
s.MuxParams = jx.Raw(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"muxParams\"")
|
|
}
|
|
case "sockoptParams":
|
|
if err := func() error {
|
|
v, err := d.RawAppend(nil)
|
|
s.SockoptParams = jx.Raw(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"sockoptParams\"")
|
|
}
|
|
case "finalMask":
|
|
if err := func() error {
|
|
v, err := d.RawAppend(nil)
|
|
s.FinalMask = jx.Raw(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"finalMask\"")
|
|
}
|
|
case "serverDescription":
|
|
if err := func() error {
|
|
s.ServerDescription.Reset()
|
|
if err := s.ServerDescription.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"serverDescription\"")
|
|
}
|
|
case "tags":
|
|
if err := func() error {
|
|
s.Tags = make([]string, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem string
|
|
v, err := d.Str()
|
|
elem = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
s.Tags = append(s.Tags, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"tags\"")
|
|
}
|
|
case "isHidden":
|
|
if err := func() error {
|
|
s.IsHidden.Reset()
|
|
if err := s.IsHidden.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"isHidden\"")
|
|
}
|
|
case "overrideSniFromAddress":
|
|
if err := func() error {
|
|
s.OverrideSniFromAddress.Reset()
|
|
if err := s.OverrideSniFromAddress.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"overrideSniFromAddress\"")
|
|
}
|
|
case "keepSniBlank":
|
|
if err := func() error {
|
|
s.KeepSniBlank.Reset()
|
|
if err := s.KeepSniBlank.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"keepSniBlank\"")
|
|
}
|
|
case "vlessRouteId":
|
|
if err := func() error {
|
|
s.VlessRouteId.Reset()
|
|
if err := s.VlessRouteId.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"vlessRouteId\"")
|
|
}
|
|
case "pinnedPeerCertSha256":
|
|
if err := func() error {
|
|
s.PinnedPeerCertSha256.Reset()
|
|
if err := s.PinnedPeerCertSha256.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"pinnedPeerCertSha256\"")
|
|
}
|
|
case "verifyPeerCertByName":
|
|
if err := func() error {
|
|
s.VerifyPeerCertByName.Reset()
|
|
if err := s.VerifyPeerCertByName.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"verifyPeerCertByName\"")
|
|
}
|
|
case "shuffleHost":
|
|
if err := func() error {
|
|
s.ShuffleHost.Reset()
|
|
if err := s.ShuffleHost.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"shuffleHost\"")
|
|
}
|
|
case "mihomoX25519":
|
|
if err := func() error {
|
|
s.MihomoX25519.Reset()
|
|
if err := s.MihomoX25519.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"mihomoX25519\"")
|
|
}
|
|
case "mihomoIpVersion":
|
|
if err := func() error {
|
|
s.MihomoIpVersion.Reset()
|
|
if err := s.MihomoIpVersion.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"mihomoIpVersion\"")
|
|
}
|
|
case "nodes":
|
|
if err := func() error {
|
|
s.Nodes = make([]uuid.UUID, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem uuid.UUID
|
|
v, err := json.DecodeUUID(d)
|
|
elem = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
s.Nodes = append(s.Nodes, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"nodes\"")
|
|
}
|
|
case "xrayJsonTemplateUuid":
|
|
if err := func() error {
|
|
s.XrayJsonTemplateUuid.Reset()
|
|
if err := s.XrayJsonTemplateUuid.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"xrayJsonTemplateUuid\"")
|
|
}
|
|
case "excludedInternalSquads":
|
|
if err := func() error {
|
|
s.ExcludedInternalSquads = make([]uuid.UUID, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem uuid.UUID
|
|
v, err := json.DecodeUUID(d)
|
|
elem = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
s.ExcludedInternalSquads = append(s.ExcludedInternalSquads, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"excludedInternalSquads\"")
|
|
}
|
|
case "excludeFromSubscriptionTypes":
|
|
if err := func() error {
|
|
s.ExcludeFromSubscriptionTypes = make([]UpdateHostRequestExcludeFromSubscriptionTypesItem, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem UpdateHostRequestExcludeFromSubscriptionTypesItem
|
|
if err := elem.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
s.ExcludeFromSubscriptionTypes = append(s.ExcludeFromSubscriptionTypes, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"excludeFromSubscriptionTypes\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode UpdateHostRequest")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [4]uint8{
|
|
0b00000001,
|
|
0b00000000,
|
|
0b00000000,
|
|
0b00000000,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfUpdateHostRequest) {
|
|
name = jsonFieldsNameOfUpdateHostRequest[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *UpdateHostRequest) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *UpdateHostRequest) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes UpdateHostRequestAlpn as json.
|
|
func (s UpdateHostRequestAlpn) Encode(e *jx.Encoder) {
|
|
e.Str(string(s))
|
|
}
|
|
|
|
// Decode decodes UpdateHostRequestAlpn from json.
|
|
func (s *UpdateHostRequestAlpn) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode UpdateHostRequestAlpn to nil")
|
|
}
|
|
v, err := d.StrBytes()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
// Try to use constant string.
|
|
switch UpdateHostRequestAlpn(v) {
|
|
case UpdateHostRequestAlpnH3:
|
|
*s = UpdateHostRequestAlpnH3
|
|
case UpdateHostRequestAlpnH2:
|
|
*s = UpdateHostRequestAlpnH2
|
|
case UpdateHostRequestAlpnHTTP11:
|
|
*s = UpdateHostRequestAlpnHTTP11
|
|
case UpdateHostRequestAlpnH2HTTP11:
|
|
*s = UpdateHostRequestAlpnH2HTTP11
|
|
case UpdateHostRequestAlpnH3H2HTTP11:
|
|
*s = UpdateHostRequestAlpnH3H2HTTP11
|
|
case UpdateHostRequestAlpnH3H2:
|
|
*s = UpdateHostRequestAlpnH3H2
|
|
default:
|
|
*s = UpdateHostRequestAlpn(v)
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s UpdateHostRequestAlpn) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *UpdateHostRequestAlpn) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes UpdateHostRequestExcludeFromSubscriptionTypesItem as json.
|
|
func (s UpdateHostRequestExcludeFromSubscriptionTypesItem) Encode(e *jx.Encoder) {
|
|
e.Str(string(s))
|
|
}
|
|
|
|
// Decode decodes UpdateHostRequestExcludeFromSubscriptionTypesItem from json.
|
|
func (s *UpdateHostRequestExcludeFromSubscriptionTypesItem) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode UpdateHostRequestExcludeFromSubscriptionTypesItem to nil")
|
|
}
|
|
v, err := d.StrBytes()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
// Try to use constant string.
|
|
switch UpdateHostRequestExcludeFromSubscriptionTypesItem(v) {
|
|
case UpdateHostRequestExcludeFromSubscriptionTypesItemXRAYJSON:
|
|
*s = UpdateHostRequestExcludeFromSubscriptionTypesItemXRAYJSON
|
|
case UpdateHostRequestExcludeFromSubscriptionTypesItemXRAYBASE64:
|
|
*s = UpdateHostRequestExcludeFromSubscriptionTypesItemXRAYBASE64
|
|
case UpdateHostRequestExcludeFromSubscriptionTypesItemMIHOMO:
|
|
*s = UpdateHostRequestExcludeFromSubscriptionTypesItemMIHOMO
|
|
case UpdateHostRequestExcludeFromSubscriptionTypesItemSTASH:
|
|
*s = UpdateHostRequestExcludeFromSubscriptionTypesItemSTASH
|
|
case UpdateHostRequestExcludeFromSubscriptionTypesItemCLASH:
|
|
*s = UpdateHostRequestExcludeFromSubscriptionTypesItemCLASH
|
|
case UpdateHostRequestExcludeFromSubscriptionTypesItemSINGBOX:
|
|
*s = UpdateHostRequestExcludeFromSubscriptionTypesItemSINGBOX
|
|
default:
|
|
*s = UpdateHostRequestExcludeFromSubscriptionTypesItem(v)
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s UpdateHostRequestExcludeFromSubscriptionTypesItem) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *UpdateHostRequestExcludeFromSubscriptionTypesItem) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes UpdateHostRequestMihomoIpVersion as json.
|
|
func (s UpdateHostRequestMihomoIpVersion) Encode(e *jx.Encoder) {
|
|
e.Str(string(s))
|
|
}
|
|
|
|
// Decode decodes UpdateHostRequestMihomoIpVersion from json.
|
|
func (s *UpdateHostRequestMihomoIpVersion) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode UpdateHostRequestMihomoIpVersion to nil")
|
|
}
|
|
v, err := d.StrBytes()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
// Try to use constant string.
|
|
switch UpdateHostRequestMihomoIpVersion(v) {
|
|
case UpdateHostRequestMihomoIpVersionDual:
|
|
*s = UpdateHostRequestMihomoIpVersionDual
|
|
case UpdateHostRequestMihomoIpVersionIpv4:
|
|
*s = UpdateHostRequestMihomoIpVersionIpv4
|
|
case UpdateHostRequestMihomoIpVersionIpv6:
|
|
*s = UpdateHostRequestMihomoIpVersionIpv6
|
|
case UpdateHostRequestMihomoIpVersionIpv4Prefer:
|
|
*s = UpdateHostRequestMihomoIpVersionIpv4Prefer
|
|
case UpdateHostRequestMihomoIpVersionIpv6Prefer:
|
|
*s = UpdateHostRequestMihomoIpVersionIpv6Prefer
|
|
default:
|
|
*s = UpdateHostRequestMihomoIpVersion(v)
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s UpdateHostRequestMihomoIpVersion) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *UpdateHostRequestMihomoIpVersion) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes UpdateHostRequestSecurityLayer as json.
|
|
func (s UpdateHostRequestSecurityLayer) Encode(e *jx.Encoder) {
|
|
e.Str(string(s))
|
|
}
|
|
|
|
// Decode decodes UpdateHostRequestSecurityLayer from json.
|
|
func (s *UpdateHostRequestSecurityLayer) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode UpdateHostRequestSecurityLayer to nil")
|
|
}
|
|
v, err := d.StrBytes()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
// Try to use constant string.
|
|
switch UpdateHostRequestSecurityLayer(v) {
|
|
case UpdateHostRequestSecurityLayerDEFAULT:
|
|
*s = UpdateHostRequestSecurityLayerDEFAULT
|
|
case UpdateHostRequestSecurityLayerTLS:
|
|
*s = UpdateHostRequestSecurityLayerTLS
|
|
case UpdateHostRequestSecurityLayerNONE:
|
|
*s = UpdateHostRequestSecurityLayerNONE
|
|
default:
|
|
*s = UpdateHostRequestSecurityLayer(v)
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s UpdateHostRequestSecurityLayer) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *UpdateHostRequestSecurityLayer) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *UpdateInfraBillingNodeRequest) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *UpdateInfraBillingNodeRequest) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("uuids")
|
|
e.ArrStart()
|
|
for _, elem := range s.Uuids {
|
|
json.EncodeUUID(e, elem)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
{
|
|
e.FieldStart("nextBillingAt")
|
|
json.EncodeDateTime(e, s.NextBillingAt)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfUpdateInfraBillingNodeRequest = [2]string{
|
|
0: "uuids",
|
|
1: "nextBillingAt",
|
|
}
|
|
|
|
// Decode decodes UpdateInfraBillingNodeRequest from json.
|
|
func (s *UpdateInfraBillingNodeRequest) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode UpdateInfraBillingNodeRequest to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "uuids":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
s.Uuids = make([]uuid.UUID, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem uuid.UUID
|
|
v, err := json.DecodeUUID(d)
|
|
elem = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
s.Uuids = append(s.Uuids, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"uuids\"")
|
|
}
|
|
case "nextBillingAt":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := json.DecodeDateTime(d)
|
|
s.NextBillingAt = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"nextBillingAt\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode UpdateInfraBillingNodeRequest")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000011,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfUpdateInfraBillingNodeRequest) {
|
|
name = jsonFieldsNameOfUpdateInfraBillingNodeRequest[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *UpdateInfraBillingNodeRequest) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *UpdateInfraBillingNodeRequest) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *UpdateInfraProviderRequest) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *UpdateInfraProviderRequest) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("uuid")
|
|
json.EncodeUUID(e, s.UUID)
|
|
}
|
|
{
|
|
if s.Name.Set {
|
|
e.FieldStart("name")
|
|
s.Name.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.FaviconLink.Set {
|
|
e.FieldStart("faviconLink")
|
|
s.FaviconLink.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.LoginUrl.Set {
|
|
e.FieldStart("loginUrl")
|
|
s.LoginUrl.Encode(e)
|
|
}
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfUpdateInfraProviderRequest = [4]string{
|
|
0: "uuid",
|
|
1: "name",
|
|
2: "faviconLink",
|
|
3: "loginUrl",
|
|
}
|
|
|
|
// Decode decodes UpdateInfraProviderRequest from json.
|
|
func (s *UpdateInfraProviderRequest) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode UpdateInfraProviderRequest to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "uuid":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := json.DecodeUUID(d)
|
|
s.UUID = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"uuid\"")
|
|
}
|
|
case "name":
|
|
if err := func() error {
|
|
s.Name.Reset()
|
|
if err := s.Name.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"name\"")
|
|
}
|
|
case "faviconLink":
|
|
if err := func() error {
|
|
s.FaviconLink.Reset()
|
|
if err := s.FaviconLink.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"faviconLink\"")
|
|
}
|
|
case "loginUrl":
|
|
if err := func() error {
|
|
s.LoginUrl.Reset()
|
|
if err := s.LoginUrl.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"loginUrl\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode UpdateInfraProviderRequest")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfUpdateInfraProviderRequest) {
|
|
name = jsonFieldsNameOfUpdateInfraProviderRequest[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *UpdateInfraProviderRequest) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *UpdateInfraProviderRequest) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *UpdateInternalSquadRequest) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *UpdateInternalSquadRequest) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("uuid")
|
|
json.EncodeUUID(e, s.UUID)
|
|
}
|
|
{
|
|
if s.Name.Set {
|
|
e.FieldStart("name")
|
|
s.Name.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.Inbounds != nil {
|
|
e.FieldStart("inbounds")
|
|
e.ArrStart()
|
|
for _, elem := range s.Inbounds {
|
|
json.EncodeUUID(e, elem)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfUpdateInternalSquadRequest = [3]string{
|
|
0: "uuid",
|
|
1: "name",
|
|
2: "inbounds",
|
|
}
|
|
|
|
// Decode decodes UpdateInternalSquadRequest from json.
|
|
func (s *UpdateInternalSquadRequest) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode UpdateInternalSquadRequest to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "uuid":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := json.DecodeUUID(d)
|
|
s.UUID = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"uuid\"")
|
|
}
|
|
case "name":
|
|
if err := func() error {
|
|
s.Name.Reset()
|
|
if err := s.Name.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"name\"")
|
|
}
|
|
case "inbounds":
|
|
if err := func() error {
|
|
s.Inbounds = make([]uuid.UUID, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem uuid.UUID
|
|
v, err := json.DecodeUUID(d)
|
|
elem = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
s.Inbounds = append(s.Inbounds, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"inbounds\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode UpdateInternalSquadRequest")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfUpdateInternalSquadRequest) {
|
|
name = jsonFieldsNameOfUpdateInternalSquadRequest[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *UpdateInternalSquadRequest) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *UpdateInternalSquadRequest) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *UpdateManyHostsRequest) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *UpdateManyHostsRequest) encodeFields(e *jx.Encoder) {
|
|
{
|
|
if s.Inbound.Set {
|
|
e.FieldStart("inbound")
|
|
s.Inbound.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.Remark.Set {
|
|
e.FieldStart("remark")
|
|
s.Remark.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.Address.Set {
|
|
e.FieldStart("address")
|
|
s.Address.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.Port.Set {
|
|
e.FieldStart("port")
|
|
s.Port.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.Path.Set {
|
|
e.FieldStart("path")
|
|
s.Path.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.Sni.Set {
|
|
e.FieldStart("sni")
|
|
s.Sni.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.Host.Set {
|
|
e.FieldStart("host")
|
|
s.Host.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.Alpn.Set {
|
|
e.FieldStart("alpn")
|
|
s.Alpn.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.Fingerprint.Set {
|
|
e.FieldStart("fingerprint")
|
|
s.Fingerprint.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.IsDisabled.Set {
|
|
e.FieldStart("isDisabled")
|
|
s.IsDisabled.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.SecurityLayer.Set {
|
|
e.FieldStart("securityLayer")
|
|
s.SecurityLayer.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if len(s.XhttpExtraParams) != 0 {
|
|
e.FieldStart("xhttpExtraParams")
|
|
e.Raw(s.XhttpExtraParams)
|
|
}
|
|
}
|
|
{
|
|
if len(s.MuxParams) != 0 {
|
|
e.FieldStart("muxParams")
|
|
e.Raw(s.MuxParams)
|
|
}
|
|
}
|
|
{
|
|
if len(s.SockoptParams) != 0 {
|
|
e.FieldStart("sockoptParams")
|
|
e.Raw(s.SockoptParams)
|
|
}
|
|
}
|
|
{
|
|
if len(s.FinalMask) != 0 {
|
|
e.FieldStart("finalMask")
|
|
e.Raw(s.FinalMask)
|
|
}
|
|
}
|
|
{
|
|
if s.ServerDescription.Set {
|
|
e.FieldStart("serverDescription")
|
|
s.ServerDescription.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.Tags != nil {
|
|
e.FieldStart("tags")
|
|
e.ArrStart()
|
|
for _, elem := range s.Tags {
|
|
e.Str(elem)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
}
|
|
{
|
|
if s.IsHidden.Set {
|
|
e.FieldStart("isHidden")
|
|
s.IsHidden.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.OverrideSniFromAddress.Set {
|
|
e.FieldStart("overrideSniFromAddress")
|
|
s.OverrideSniFromAddress.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.KeepSniBlank.Set {
|
|
e.FieldStart("keepSniBlank")
|
|
s.KeepSniBlank.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.VlessRouteId.Set {
|
|
e.FieldStart("vlessRouteId")
|
|
s.VlessRouteId.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.PinnedPeerCertSha256.Set {
|
|
e.FieldStart("pinnedPeerCertSha256")
|
|
s.PinnedPeerCertSha256.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.VerifyPeerCertByName.Set {
|
|
e.FieldStart("verifyPeerCertByName")
|
|
s.VerifyPeerCertByName.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.ShuffleHost.Set {
|
|
e.FieldStart("shuffleHost")
|
|
s.ShuffleHost.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.MihomoX25519.Set {
|
|
e.FieldStart("mihomoX25519")
|
|
s.MihomoX25519.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.MihomoIpVersion.Set {
|
|
e.FieldStart("mihomoIpVersion")
|
|
s.MihomoIpVersion.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.Nodes != nil {
|
|
e.FieldStart("nodes")
|
|
e.ArrStart()
|
|
for _, elem := range s.Nodes {
|
|
json.EncodeUUID(e, elem)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
}
|
|
{
|
|
if s.XrayJsonTemplateUuid.Set {
|
|
e.FieldStart("xrayJsonTemplateUuid")
|
|
s.XrayJsonTemplateUuid.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.ExcludedInternalSquads != nil {
|
|
e.FieldStart("excludedInternalSquads")
|
|
e.ArrStart()
|
|
for _, elem := range s.ExcludedInternalSquads {
|
|
json.EncodeUUID(e, elem)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
}
|
|
{
|
|
if s.ExcludeFromSubscriptionTypes != nil {
|
|
e.FieldStart("excludeFromSubscriptionTypes")
|
|
e.ArrStart()
|
|
for _, elem := range s.ExcludeFromSubscriptionTypes {
|
|
elem.Encode(e)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
}
|
|
{
|
|
e.FieldStart("uuids")
|
|
e.ArrStart()
|
|
for _, elem := range s.Uuids {
|
|
json.EncodeUUID(e, elem)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfUpdateManyHostsRequest = [31]string{
|
|
0: "inbound",
|
|
1: "remark",
|
|
2: "address",
|
|
3: "port",
|
|
4: "path",
|
|
5: "sni",
|
|
6: "host",
|
|
7: "alpn",
|
|
8: "fingerprint",
|
|
9: "isDisabled",
|
|
10: "securityLayer",
|
|
11: "xhttpExtraParams",
|
|
12: "muxParams",
|
|
13: "sockoptParams",
|
|
14: "finalMask",
|
|
15: "serverDescription",
|
|
16: "tags",
|
|
17: "isHidden",
|
|
18: "overrideSniFromAddress",
|
|
19: "keepSniBlank",
|
|
20: "vlessRouteId",
|
|
21: "pinnedPeerCertSha256",
|
|
22: "verifyPeerCertByName",
|
|
23: "shuffleHost",
|
|
24: "mihomoX25519",
|
|
25: "mihomoIpVersion",
|
|
26: "nodes",
|
|
27: "xrayJsonTemplateUuid",
|
|
28: "excludedInternalSquads",
|
|
29: "excludeFromSubscriptionTypes",
|
|
30: "uuids",
|
|
}
|
|
|
|
// Decode decodes UpdateManyHostsRequest from json.
|
|
func (s *UpdateManyHostsRequest) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode UpdateManyHostsRequest to nil")
|
|
}
|
|
var requiredBitSet [4]uint8
|
|
s.setDefaults()
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "inbound":
|
|
if err := func() error {
|
|
s.Inbound.Reset()
|
|
if err := s.Inbound.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"inbound\"")
|
|
}
|
|
case "remark":
|
|
if err := func() error {
|
|
s.Remark.Reset()
|
|
if err := s.Remark.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"remark\"")
|
|
}
|
|
case "address":
|
|
if err := func() error {
|
|
s.Address.Reset()
|
|
if err := s.Address.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"address\"")
|
|
}
|
|
case "port":
|
|
if err := func() error {
|
|
s.Port.Reset()
|
|
if err := s.Port.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"port\"")
|
|
}
|
|
case "path":
|
|
if err := func() error {
|
|
s.Path.Reset()
|
|
if err := s.Path.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"path\"")
|
|
}
|
|
case "sni":
|
|
if err := func() error {
|
|
s.Sni.Reset()
|
|
if err := s.Sni.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"sni\"")
|
|
}
|
|
case "host":
|
|
if err := func() error {
|
|
s.Host.Reset()
|
|
if err := s.Host.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"host\"")
|
|
}
|
|
case "alpn":
|
|
if err := func() error {
|
|
s.Alpn.Reset()
|
|
if err := s.Alpn.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"alpn\"")
|
|
}
|
|
case "fingerprint":
|
|
if err := func() error {
|
|
s.Fingerprint.Reset()
|
|
if err := s.Fingerprint.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"fingerprint\"")
|
|
}
|
|
case "isDisabled":
|
|
if err := func() error {
|
|
s.IsDisabled.Reset()
|
|
if err := s.IsDisabled.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"isDisabled\"")
|
|
}
|
|
case "securityLayer":
|
|
if err := func() error {
|
|
s.SecurityLayer.Reset()
|
|
if err := s.SecurityLayer.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"securityLayer\"")
|
|
}
|
|
case "xhttpExtraParams":
|
|
if err := func() error {
|
|
v, err := d.RawAppend(nil)
|
|
s.XhttpExtraParams = jx.Raw(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"xhttpExtraParams\"")
|
|
}
|
|
case "muxParams":
|
|
if err := func() error {
|
|
v, err := d.RawAppend(nil)
|
|
s.MuxParams = jx.Raw(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"muxParams\"")
|
|
}
|
|
case "sockoptParams":
|
|
if err := func() error {
|
|
v, err := d.RawAppend(nil)
|
|
s.SockoptParams = jx.Raw(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"sockoptParams\"")
|
|
}
|
|
case "finalMask":
|
|
if err := func() error {
|
|
v, err := d.RawAppend(nil)
|
|
s.FinalMask = jx.Raw(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"finalMask\"")
|
|
}
|
|
case "serverDescription":
|
|
if err := func() error {
|
|
s.ServerDescription.Reset()
|
|
if err := s.ServerDescription.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"serverDescription\"")
|
|
}
|
|
case "tags":
|
|
if err := func() error {
|
|
s.Tags = make([]string, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem string
|
|
v, err := d.Str()
|
|
elem = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
s.Tags = append(s.Tags, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"tags\"")
|
|
}
|
|
case "isHidden":
|
|
if err := func() error {
|
|
s.IsHidden.Reset()
|
|
if err := s.IsHidden.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"isHidden\"")
|
|
}
|
|
case "overrideSniFromAddress":
|
|
if err := func() error {
|
|
s.OverrideSniFromAddress.Reset()
|
|
if err := s.OverrideSniFromAddress.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"overrideSniFromAddress\"")
|
|
}
|
|
case "keepSniBlank":
|
|
if err := func() error {
|
|
s.KeepSniBlank.Reset()
|
|
if err := s.KeepSniBlank.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"keepSniBlank\"")
|
|
}
|
|
case "vlessRouteId":
|
|
if err := func() error {
|
|
s.VlessRouteId.Reset()
|
|
if err := s.VlessRouteId.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"vlessRouteId\"")
|
|
}
|
|
case "pinnedPeerCertSha256":
|
|
if err := func() error {
|
|
s.PinnedPeerCertSha256.Reset()
|
|
if err := s.PinnedPeerCertSha256.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"pinnedPeerCertSha256\"")
|
|
}
|
|
case "verifyPeerCertByName":
|
|
if err := func() error {
|
|
s.VerifyPeerCertByName.Reset()
|
|
if err := s.VerifyPeerCertByName.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"verifyPeerCertByName\"")
|
|
}
|
|
case "shuffleHost":
|
|
if err := func() error {
|
|
s.ShuffleHost.Reset()
|
|
if err := s.ShuffleHost.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"shuffleHost\"")
|
|
}
|
|
case "mihomoX25519":
|
|
if err := func() error {
|
|
s.MihomoX25519.Reset()
|
|
if err := s.MihomoX25519.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"mihomoX25519\"")
|
|
}
|
|
case "mihomoIpVersion":
|
|
if err := func() error {
|
|
s.MihomoIpVersion.Reset()
|
|
if err := s.MihomoIpVersion.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"mihomoIpVersion\"")
|
|
}
|
|
case "nodes":
|
|
if err := func() error {
|
|
s.Nodes = make([]uuid.UUID, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem uuid.UUID
|
|
v, err := json.DecodeUUID(d)
|
|
elem = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
s.Nodes = append(s.Nodes, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"nodes\"")
|
|
}
|
|
case "xrayJsonTemplateUuid":
|
|
if err := func() error {
|
|
s.XrayJsonTemplateUuid.Reset()
|
|
if err := s.XrayJsonTemplateUuid.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"xrayJsonTemplateUuid\"")
|
|
}
|
|
case "excludedInternalSquads":
|
|
if err := func() error {
|
|
s.ExcludedInternalSquads = make([]uuid.UUID, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem uuid.UUID
|
|
v, err := json.DecodeUUID(d)
|
|
elem = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
s.ExcludedInternalSquads = append(s.ExcludedInternalSquads, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"excludedInternalSquads\"")
|
|
}
|
|
case "excludeFromSubscriptionTypes":
|
|
if err := func() error {
|
|
s.ExcludeFromSubscriptionTypes = make([]UpdateManyHostsRequestExcludeFromSubscriptionTypesItem, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem UpdateManyHostsRequestExcludeFromSubscriptionTypesItem
|
|
if err := elem.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
s.ExcludeFromSubscriptionTypes = append(s.ExcludeFromSubscriptionTypes, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"excludeFromSubscriptionTypes\"")
|
|
}
|
|
case "uuids":
|
|
requiredBitSet[3] |= 1 << 6
|
|
if err := func() error {
|
|
s.Uuids = make([]uuid.UUID, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem uuid.UUID
|
|
v, err := json.DecodeUUID(d)
|
|
elem = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
s.Uuids = append(s.Uuids, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"uuids\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode UpdateManyHostsRequest")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [4]uint8{
|
|
0b00000000,
|
|
0b00000000,
|
|
0b00000000,
|
|
0b01000000,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfUpdateManyHostsRequest) {
|
|
name = jsonFieldsNameOfUpdateManyHostsRequest[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *UpdateManyHostsRequest) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *UpdateManyHostsRequest) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes UpdateManyHostsRequestAlpn as json.
|
|
func (s UpdateManyHostsRequestAlpn) Encode(e *jx.Encoder) {
|
|
e.Str(string(s))
|
|
}
|
|
|
|
// Decode decodes UpdateManyHostsRequestAlpn from json.
|
|
func (s *UpdateManyHostsRequestAlpn) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode UpdateManyHostsRequestAlpn to nil")
|
|
}
|
|
v, err := d.StrBytes()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
// Try to use constant string.
|
|
switch UpdateManyHostsRequestAlpn(v) {
|
|
case UpdateManyHostsRequestAlpnH3:
|
|
*s = UpdateManyHostsRequestAlpnH3
|
|
case UpdateManyHostsRequestAlpnH2:
|
|
*s = UpdateManyHostsRequestAlpnH2
|
|
case UpdateManyHostsRequestAlpnHTTP11:
|
|
*s = UpdateManyHostsRequestAlpnHTTP11
|
|
case UpdateManyHostsRequestAlpnH2HTTP11:
|
|
*s = UpdateManyHostsRequestAlpnH2HTTP11
|
|
case UpdateManyHostsRequestAlpnH3H2HTTP11:
|
|
*s = UpdateManyHostsRequestAlpnH3H2HTTP11
|
|
case UpdateManyHostsRequestAlpnH3H2:
|
|
*s = UpdateManyHostsRequestAlpnH3H2
|
|
default:
|
|
*s = UpdateManyHostsRequestAlpn(v)
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s UpdateManyHostsRequestAlpn) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *UpdateManyHostsRequestAlpn) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes UpdateManyHostsRequestExcludeFromSubscriptionTypesItem as json.
|
|
func (s UpdateManyHostsRequestExcludeFromSubscriptionTypesItem) Encode(e *jx.Encoder) {
|
|
e.Str(string(s))
|
|
}
|
|
|
|
// Decode decodes UpdateManyHostsRequestExcludeFromSubscriptionTypesItem from json.
|
|
func (s *UpdateManyHostsRequestExcludeFromSubscriptionTypesItem) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode UpdateManyHostsRequestExcludeFromSubscriptionTypesItem to nil")
|
|
}
|
|
v, err := d.StrBytes()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
// Try to use constant string.
|
|
switch UpdateManyHostsRequestExcludeFromSubscriptionTypesItem(v) {
|
|
case UpdateManyHostsRequestExcludeFromSubscriptionTypesItemXRAYJSON:
|
|
*s = UpdateManyHostsRequestExcludeFromSubscriptionTypesItemXRAYJSON
|
|
case UpdateManyHostsRequestExcludeFromSubscriptionTypesItemXRAYBASE64:
|
|
*s = UpdateManyHostsRequestExcludeFromSubscriptionTypesItemXRAYBASE64
|
|
case UpdateManyHostsRequestExcludeFromSubscriptionTypesItemMIHOMO:
|
|
*s = UpdateManyHostsRequestExcludeFromSubscriptionTypesItemMIHOMO
|
|
case UpdateManyHostsRequestExcludeFromSubscriptionTypesItemSTASH:
|
|
*s = UpdateManyHostsRequestExcludeFromSubscriptionTypesItemSTASH
|
|
case UpdateManyHostsRequestExcludeFromSubscriptionTypesItemCLASH:
|
|
*s = UpdateManyHostsRequestExcludeFromSubscriptionTypesItemCLASH
|
|
case UpdateManyHostsRequestExcludeFromSubscriptionTypesItemSINGBOX:
|
|
*s = UpdateManyHostsRequestExcludeFromSubscriptionTypesItemSINGBOX
|
|
default:
|
|
*s = UpdateManyHostsRequestExcludeFromSubscriptionTypesItem(v)
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s UpdateManyHostsRequestExcludeFromSubscriptionTypesItem) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *UpdateManyHostsRequestExcludeFromSubscriptionTypesItem) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes UpdateManyHostsRequestMihomoIpVersion as json.
|
|
func (s UpdateManyHostsRequestMihomoIpVersion) Encode(e *jx.Encoder) {
|
|
e.Str(string(s))
|
|
}
|
|
|
|
// Decode decodes UpdateManyHostsRequestMihomoIpVersion from json.
|
|
func (s *UpdateManyHostsRequestMihomoIpVersion) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode UpdateManyHostsRequestMihomoIpVersion to nil")
|
|
}
|
|
v, err := d.StrBytes()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
// Try to use constant string.
|
|
switch UpdateManyHostsRequestMihomoIpVersion(v) {
|
|
case UpdateManyHostsRequestMihomoIpVersionDual:
|
|
*s = UpdateManyHostsRequestMihomoIpVersionDual
|
|
case UpdateManyHostsRequestMihomoIpVersionIpv4:
|
|
*s = UpdateManyHostsRequestMihomoIpVersionIpv4
|
|
case UpdateManyHostsRequestMihomoIpVersionIpv6:
|
|
*s = UpdateManyHostsRequestMihomoIpVersionIpv6
|
|
case UpdateManyHostsRequestMihomoIpVersionIpv4Prefer:
|
|
*s = UpdateManyHostsRequestMihomoIpVersionIpv4Prefer
|
|
case UpdateManyHostsRequestMihomoIpVersionIpv6Prefer:
|
|
*s = UpdateManyHostsRequestMihomoIpVersionIpv6Prefer
|
|
default:
|
|
*s = UpdateManyHostsRequestMihomoIpVersion(v)
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s UpdateManyHostsRequestMihomoIpVersion) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *UpdateManyHostsRequestMihomoIpVersion) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes UpdateManyHostsRequestSecurityLayer as json.
|
|
func (s UpdateManyHostsRequestSecurityLayer) Encode(e *jx.Encoder) {
|
|
e.Str(string(s))
|
|
}
|
|
|
|
// Decode decodes UpdateManyHostsRequestSecurityLayer from json.
|
|
func (s *UpdateManyHostsRequestSecurityLayer) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode UpdateManyHostsRequestSecurityLayer to nil")
|
|
}
|
|
v, err := d.StrBytes()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
// Try to use constant string.
|
|
switch UpdateManyHostsRequestSecurityLayer(v) {
|
|
case UpdateManyHostsRequestSecurityLayerDEFAULT:
|
|
*s = UpdateManyHostsRequestSecurityLayerDEFAULT
|
|
case UpdateManyHostsRequestSecurityLayerTLS:
|
|
*s = UpdateManyHostsRequestSecurityLayerTLS
|
|
case UpdateManyHostsRequestSecurityLayerNONE:
|
|
*s = UpdateManyHostsRequestSecurityLayerNONE
|
|
default:
|
|
*s = UpdateManyHostsRequestSecurityLayer(v)
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s UpdateManyHostsRequestSecurityLayer) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *UpdateManyHostsRequestSecurityLayer) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *UpdateNodePluginRequest) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *UpdateNodePluginRequest) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("uuid")
|
|
json.EncodeUUID(e, s.UUID)
|
|
}
|
|
{
|
|
if s.Name.Set {
|
|
e.FieldStart("name")
|
|
s.Name.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if len(s.PluginConfig) != 0 {
|
|
e.FieldStart("pluginConfig")
|
|
e.Raw(s.PluginConfig)
|
|
}
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfUpdateNodePluginRequest = [3]string{
|
|
0: "uuid",
|
|
1: "name",
|
|
2: "pluginConfig",
|
|
}
|
|
|
|
// Decode decodes UpdateNodePluginRequest from json.
|
|
func (s *UpdateNodePluginRequest) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode UpdateNodePluginRequest to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "uuid":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := json.DecodeUUID(d)
|
|
s.UUID = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"uuid\"")
|
|
}
|
|
case "name":
|
|
if err := func() error {
|
|
s.Name.Reset()
|
|
if err := s.Name.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"name\"")
|
|
}
|
|
case "pluginConfig":
|
|
if err := func() error {
|
|
v, err := d.RawAppend(nil)
|
|
s.PluginConfig = jx.Raw(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"pluginConfig\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode UpdateNodePluginRequest")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfUpdateNodePluginRequest) {
|
|
name = jsonFieldsNameOfUpdateNodePluginRequest[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *UpdateNodePluginRequest) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *UpdateNodePluginRequest) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *UpdateNodeRequest) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *UpdateNodeRequest) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("uuid")
|
|
json.EncodeUUID(e, s.UUID)
|
|
}
|
|
{
|
|
if s.Name.Set {
|
|
e.FieldStart("name")
|
|
s.Name.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.Address.Set {
|
|
e.FieldStart("address")
|
|
s.Address.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.Port.Set {
|
|
e.FieldStart("port")
|
|
s.Port.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.ProxyUrl.Set {
|
|
e.FieldStart("proxyUrl")
|
|
s.ProxyUrl.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.IsTrafficTrackingActive.Set {
|
|
e.FieldStart("isTrafficTrackingActive")
|
|
s.IsTrafficTrackingActive.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.TrafficLimitBytes.Set {
|
|
e.FieldStart("trafficLimitBytes")
|
|
s.TrafficLimitBytes.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.NotifyPercent.Set {
|
|
e.FieldStart("notifyPercent")
|
|
s.NotifyPercent.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.TrafficResetDay.Set {
|
|
e.FieldStart("trafficResetDay")
|
|
s.TrafficResetDay.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.CountryCode.Set {
|
|
e.FieldStart("countryCode")
|
|
s.CountryCode.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.ConsumptionMultiplier.Set {
|
|
e.FieldStart("consumptionMultiplier")
|
|
s.ConsumptionMultiplier.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.NodeConsumptionMultiplier.Set {
|
|
e.FieldStart("nodeConsumptionMultiplier")
|
|
s.NodeConsumptionMultiplier.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.ConfigProfile.Set {
|
|
e.FieldStart("configProfile")
|
|
s.ConfigProfile.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.ProviderUuid.Set {
|
|
e.FieldStart("providerUuid")
|
|
s.ProviderUuid.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.Tags != nil {
|
|
e.FieldStart("tags")
|
|
e.ArrStart()
|
|
for _, elem := range s.Tags {
|
|
e.Str(elem)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
}
|
|
{
|
|
if s.ActivePluginUuid.Set {
|
|
e.FieldStart("activePluginUuid")
|
|
s.ActivePluginUuid.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.Note.Set {
|
|
e.FieldStart("note")
|
|
s.Note.Encode(e)
|
|
}
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfUpdateNodeRequest = [17]string{
|
|
0: "uuid",
|
|
1: "name",
|
|
2: "address",
|
|
3: "port",
|
|
4: "proxyUrl",
|
|
5: "isTrafficTrackingActive",
|
|
6: "trafficLimitBytes",
|
|
7: "notifyPercent",
|
|
8: "trafficResetDay",
|
|
9: "countryCode",
|
|
10: "consumptionMultiplier",
|
|
11: "nodeConsumptionMultiplier",
|
|
12: "configProfile",
|
|
13: "providerUuid",
|
|
14: "tags",
|
|
15: "activePluginUuid",
|
|
16: "note",
|
|
}
|
|
|
|
// Decode decodes UpdateNodeRequest from json.
|
|
func (s *UpdateNodeRequest) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode UpdateNodeRequest to nil")
|
|
}
|
|
var requiredBitSet [3]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "uuid":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := json.DecodeUUID(d)
|
|
s.UUID = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"uuid\"")
|
|
}
|
|
case "name":
|
|
if err := func() error {
|
|
s.Name.Reset()
|
|
if err := s.Name.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"name\"")
|
|
}
|
|
case "address":
|
|
if err := func() error {
|
|
s.Address.Reset()
|
|
if err := s.Address.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"address\"")
|
|
}
|
|
case "port":
|
|
if err := func() error {
|
|
s.Port.Reset()
|
|
if err := s.Port.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"port\"")
|
|
}
|
|
case "proxyUrl":
|
|
if err := func() error {
|
|
s.ProxyUrl.Reset()
|
|
if err := s.ProxyUrl.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"proxyUrl\"")
|
|
}
|
|
case "isTrafficTrackingActive":
|
|
if err := func() error {
|
|
s.IsTrafficTrackingActive.Reset()
|
|
if err := s.IsTrafficTrackingActive.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"isTrafficTrackingActive\"")
|
|
}
|
|
case "trafficLimitBytes":
|
|
if err := func() error {
|
|
s.TrafficLimitBytes.Reset()
|
|
if err := s.TrafficLimitBytes.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"trafficLimitBytes\"")
|
|
}
|
|
case "notifyPercent":
|
|
if err := func() error {
|
|
s.NotifyPercent.Reset()
|
|
if err := s.NotifyPercent.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"notifyPercent\"")
|
|
}
|
|
case "trafficResetDay":
|
|
if err := func() error {
|
|
s.TrafficResetDay.Reset()
|
|
if err := s.TrafficResetDay.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"trafficResetDay\"")
|
|
}
|
|
case "countryCode":
|
|
if err := func() error {
|
|
s.CountryCode.Reset()
|
|
if err := s.CountryCode.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"countryCode\"")
|
|
}
|
|
case "consumptionMultiplier":
|
|
if err := func() error {
|
|
s.ConsumptionMultiplier.Reset()
|
|
if err := s.ConsumptionMultiplier.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"consumptionMultiplier\"")
|
|
}
|
|
case "nodeConsumptionMultiplier":
|
|
if err := func() error {
|
|
s.NodeConsumptionMultiplier.Reset()
|
|
if err := s.NodeConsumptionMultiplier.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"nodeConsumptionMultiplier\"")
|
|
}
|
|
case "configProfile":
|
|
if err := func() error {
|
|
s.ConfigProfile.Reset()
|
|
if err := s.ConfigProfile.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"configProfile\"")
|
|
}
|
|
case "providerUuid":
|
|
if err := func() error {
|
|
s.ProviderUuid.Reset()
|
|
if err := s.ProviderUuid.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"providerUuid\"")
|
|
}
|
|
case "tags":
|
|
if err := func() error {
|
|
s.Tags = make([]string, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem string
|
|
v, err := d.Str()
|
|
elem = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
s.Tags = append(s.Tags, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"tags\"")
|
|
}
|
|
case "activePluginUuid":
|
|
if err := func() error {
|
|
s.ActivePluginUuid.Reset()
|
|
if err := s.ActivePluginUuid.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"activePluginUuid\"")
|
|
}
|
|
case "note":
|
|
if err := func() error {
|
|
s.Note.Reset()
|
|
if err := s.Note.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"note\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode UpdateNodeRequest")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [3]uint8{
|
|
0b00000001,
|
|
0b00000000,
|
|
0b00000000,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfUpdateNodeRequest) {
|
|
name = jsonFieldsNameOfUpdateNodeRequest[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *UpdateNodeRequest) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *UpdateNodeRequest) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *UpdatePasskeyRequest) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *UpdatePasskeyRequest) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("id")
|
|
e.Str(s.ID)
|
|
}
|
|
{
|
|
e.FieldStart("name")
|
|
e.Str(s.Name)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfUpdatePasskeyRequest = [2]string{
|
|
0: "id",
|
|
1: "name",
|
|
}
|
|
|
|
// Decode decodes UpdatePasskeyRequest from json.
|
|
func (s *UpdatePasskeyRequest) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode UpdatePasskeyRequest to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "id":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.ID = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"id\"")
|
|
}
|
|
case "name":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Name = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"name\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode UpdatePasskeyRequest")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000011,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfUpdatePasskeyRequest) {
|
|
name = jsonFieldsNameOfUpdatePasskeyRequest[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *UpdatePasskeyRequest) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *UpdatePasskeyRequest) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *UpdateRemnawaveSettingsRequest) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *UpdateRemnawaveSettingsRequest) encodeFields(e *jx.Encoder) {
|
|
{
|
|
if s.PasskeySettings.Set {
|
|
e.FieldStart("passkeySettings")
|
|
s.PasskeySettings.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.Oauth2Settings.Set {
|
|
e.FieldStart("oauth2Settings")
|
|
s.Oauth2Settings.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.PasswordSettings.Set {
|
|
e.FieldStart("passwordSettings")
|
|
s.PasswordSettings.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.BrandingSettings.Set {
|
|
e.FieldStart("brandingSettings")
|
|
s.BrandingSettings.Encode(e)
|
|
}
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfUpdateRemnawaveSettingsRequest = [4]string{
|
|
0: "passkeySettings",
|
|
1: "oauth2Settings",
|
|
2: "passwordSettings",
|
|
3: "brandingSettings",
|
|
}
|
|
|
|
// Decode decodes UpdateRemnawaveSettingsRequest from json.
|
|
func (s *UpdateRemnawaveSettingsRequest) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode UpdateRemnawaveSettingsRequest to nil")
|
|
}
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "passkeySettings":
|
|
if err := func() error {
|
|
s.PasskeySettings.Reset()
|
|
if err := s.PasskeySettings.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"passkeySettings\"")
|
|
}
|
|
case "oauth2Settings":
|
|
if err := func() error {
|
|
s.Oauth2Settings.Reset()
|
|
if err := s.Oauth2Settings.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"oauth2Settings\"")
|
|
}
|
|
case "passwordSettings":
|
|
if err := func() error {
|
|
s.PasswordSettings.Reset()
|
|
if err := s.PasswordSettings.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"passwordSettings\"")
|
|
}
|
|
case "brandingSettings":
|
|
if err := func() error {
|
|
s.BrandingSettings.Reset()
|
|
if err := s.BrandingSettings.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"brandingSettings\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode UpdateRemnawaveSettingsRequest")
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *UpdateRemnawaveSettingsRequest) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *UpdateRemnawaveSettingsRequest) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *UpdateSubscriptionPageConfigRequest) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *UpdateSubscriptionPageConfigRequest) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("uuid")
|
|
json.EncodeUUID(e, s.UUID)
|
|
}
|
|
{
|
|
if s.Name.Set {
|
|
e.FieldStart("name")
|
|
s.Name.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if len(s.Config) != 0 {
|
|
e.FieldStart("config")
|
|
e.Raw(s.Config)
|
|
}
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfUpdateSubscriptionPageConfigRequest = [3]string{
|
|
0: "uuid",
|
|
1: "name",
|
|
2: "config",
|
|
}
|
|
|
|
// Decode decodes UpdateSubscriptionPageConfigRequest from json.
|
|
func (s *UpdateSubscriptionPageConfigRequest) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode UpdateSubscriptionPageConfigRequest to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "uuid":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := json.DecodeUUID(d)
|
|
s.UUID = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"uuid\"")
|
|
}
|
|
case "name":
|
|
if err := func() error {
|
|
s.Name.Reset()
|
|
if err := s.Name.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"name\"")
|
|
}
|
|
case "config":
|
|
if err := func() error {
|
|
v, err := d.RawAppend(nil)
|
|
s.Config = jx.Raw(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"config\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode UpdateSubscriptionPageConfigRequest")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfUpdateSubscriptionPageConfigRequest) {
|
|
name = jsonFieldsNameOfUpdateSubscriptionPageConfigRequest[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *UpdateSubscriptionPageConfigRequest) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *UpdateSubscriptionPageConfigRequest) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *UpdateSubscriptionSettingsRequest) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *UpdateSubscriptionSettingsRequest) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("uuid")
|
|
json.EncodeUUID(e, s.UUID)
|
|
}
|
|
{
|
|
if s.ProfileTitle.Set {
|
|
e.FieldStart("profileTitle")
|
|
s.ProfileTitle.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.SupportLink.Set {
|
|
e.FieldStart("supportLink")
|
|
s.SupportLink.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.ProfileUpdateInterval.Set {
|
|
e.FieldStart("profileUpdateInterval")
|
|
s.ProfileUpdateInterval.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.IsProfileWebpageUrlEnabled.Set {
|
|
e.FieldStart("isProfileWebpageUrlEnabled")
|
|
s.IsProfileWebpageUrlEnabled.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.ServeJsonAtBaseSubscription.Set {
|
|
e.FieldStart("serveJsonAtBaseSubscription")
|
|
s.ServeJsonAtBaseSubscription.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.HappAnnounce.Set {
|
|
e.FieldStart("happAnnounce")
|
|
s.HappAnnounce.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.HappRouting.Set {
|
|
e.FieldStart("happRouting")
|
|
s.HappRouting.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.IsShowCustomRemarks.Set {
|
|
e.FieldStart("isShowCustomRemarks")
|
|
s.IsShowCustomRemarks.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.CustomRemarks.Set {
|
|
e.FieldStart("customRemarks")
|
|
s.CustomRemarks.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.CustomResponseHeaders.Set {
|
|
e.FieldStart("customResponseHeaders")
|
|
s.CustomResponseHeaders.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.RandomizeHosts.Set {
|
|
e.FieldStart("randomizeHosts")
|
|
s.RandomizeHosts.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.ResponseRules.Set {
|
|
e.FieldStart("responseRules")
|
|
s.ResponseRules.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.HwidSettings.Set {
|
|
e.FieldStart("hwidSettings")
|
|
s.HwidSettings.Encode(e)
|
|
}
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfUpdateSubscriptionSettingsRequest = [14]string{
|
|
0: "uuid",
|
|
1: "profileTitle",
|
|
2: "supportLink",
|
|
3: "profileUpdateInterval",
|
|
4: "isProfileWebpageUrlEnabled",
|
|
5: "serveJsonAtBaseSubscription",
|
|
6: "happAnnounce",
|
|
7: "happRouting",
|
|
8: "isShowCustomRemarks",
|
|
9: "customRemarks",
|
|
10: "customResponseHeaders",
|
|
11: "randomizeHosts",
|
|
12: "responseRules",
|
|
13: "hwidSettings",
|
|
}
|
|
|
|
// Decode decodes UpdateSubscriptionSettingsRequest from json.
|
|
func (s *UpdateSubscriptionSettingsRequest) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode UpdateSubscriptionSettingsRequest to nil")
|
|
}
|
|
var requiredBitSet [2]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "uuid":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := json.DecodeUUID(d)
|
|
s.UUID = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"uuid\"")
|
|
}
|
|
case "profileTitle":
|
|
if err := func() error {
|
|
s.ProfileTitle.Reset()
|
|
if err := s.ProfileTitle.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"profileTitle\"")
|
|
}
|
|
case "supportLink":
|
|
if err := func() error {
|
|
s.SupportLink.Reset()
|
|
if err := s.SupportLink.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"supportLink\"")
|
|
}
|
|
case "profileUpdateInterval":
|
|
if err := func() error {
|
|
s.ProfileUpdateInterval.Reset()
|
|
if err := s.ProfileUpdateInterval.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"profileUpdateInterval\"")
|
|
}
|
|
case "isProfileWebpageUrlEnabled":
|
|
if err := func() error {
|
|
s.IsProfileWebpageUrlEnabled.Reset()
|
|
if err := s.IsProfileWebpageUrlEnabled.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"isProfileWebpageUrlEnabled\"")
|
|
}
|
|
case "serveJsonAtBaseSubscription":
|
|
if err := func() error {
|
|
s.ServeJsonAtBaseSubscription.Reset()
|
|
if err := s.ServeJsonAtBaseSubscription.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"serveJsonAtBaseSubscription\"")
|
|
}
|
|
case "happAnnounce":
|
|
if err := func() error {
|
|
s.HappAnnounce.Reset()
|
|
if err := s.HappAnnounce.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"happAnnounce\"")
|
|
}
|
|
case "happRouting":
|
|
if err := func() error {
|
|
s.HappRouting.Reset()
|
|
if err := s.HappRouting.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"happRouting\"")
|
|
}
|
|
case "isShowCustomRemarks":
|
|
if err := func() error {
|
|
s.IsShowCustomRemarks.Reset()
|
|
if err := s.IsShowCustomRemarks.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"isShowCustomRemarks\"")
|
|
}
|
|
case "customRemarks":
|
|
if err := func() error {
|
|
s.CustomRemarks.Reset()
|
|
if err := s.CustomRemarks.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"customRemarks\"")
|
|
}
|
|
case "customResponseHeaders":
|
|
if err := func() error {
|
|
s.CustomResponseHeaders.Reset()
|
|
if err := s.CustomResponseHeaders.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"customResponseHeaders\"")
|
|
}
|
|
case "randomizeHosts":
|
|
if err := func() error {
|
|
s.RandomizeHosts.Reset()
|
|
if err := s.RandomizeHosts.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"randomizeHosts\"")
|
|
}
|
|
case "responseRules":
|
|
if err := func() error {
|
|
s.ResponseRules.Reset()
|
|
if err := s.ResponseRules.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"responseRules\"")
|
|
}
|
|
case "hwidSettings":
|
|
if err := func() error {
|
|
s.HwidSettings.Reset()
|
|
if err := s.HwidSettings.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"hwidSettings\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode UpdateSubscriptionSettingsRequest")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [2]uint8{
|
|
0b00000001,
|
|
0b00000000,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfUpdateSubscriptionSettingsRequest) {
|
|
name = jsonFieldsNameOfUpdateSubscriptionSettingsRequest[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *UpdateSubscriptionSettingsRequest) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *UpdateSubscriptionSettingsRequest) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s UpdateSubscriptionSettingsRequestCustomResponseHeaders) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields implements json.Marshaler.
|
|
func (s UpdateSubscriptionSettingsRequestCustomResponseHeaders) encodeFields(e *jx.Encoder) {
|
|
for k, elem := range s {
|
|
e.FieldStart(k)
|
|
|
|
e.Str(elem)
|
|
}
|
|
}
|
|
|
|
// Decode decodes UpdateSubscriptionSettingsRequestCustomResponseHeaders from json.
|
|
func (s *UpdateSubscriptionSettingsRequestCustomResponseHeaders) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode UpdateSubscriptionSettingsRequestCustomResponseHeaders to nil")
|
|
}
|
|
m := s.init()
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
var elem string
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
elem = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrapf(err, "decode field %q", k)
|
|
}
|
|
m[string(k)] = elem
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode UpdateSubscriptionSettingsRequestCustomResponseHeaders")
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s UpdateSubscriptionSettingsRequestCustomResponseHeaders) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *UpdateSubscriptionSettingsRequestCustomResponseHeaders) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *UpdateTemplateRequest) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *UpdateTemplateRequest) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("uuid")
|
|
json.EncodeUUID(e, s.UUID)
|
|
}
|
|
{
|
|
if s.Name.Set {
|
|
e.FieldStart("name")
|
|
s.Name.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.TemplateJson != nil {
|
|
e.FieldStart("templateJson")
|
|
s.TemplateJson.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.EncodedTemplateYaml.Set {
|
|
e.FieldStart("encodedTemplateYaml")
|
|
s.EncodedTemplateYaml.Encode(e)
|
|
}
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfUpdateTemplateRequest = [4]string{
|
|
0: "uuid",
|
|
1: "name",
|
|
2: "templateJson",
|
|
3: "encodedTemplateYaml",
|
|
}
|
|
|
|
// Decode decodes UpdateTemplateRequest from json.
|
|
func (s *UpdateTemplateRequest) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode UpdateTemplateRequest to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "uuid":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := json.DecodeUUID(d)
|
|
s.UUID = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"uuid\"")
|
|
}
|
|
case "name":
|
|
if err := func() error {
|
|
s.Name.Reset()
|
|
if err := s.Name.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"name\"")
|
|
}
|
|
case "templateJson":
|
|
if err := func() error {
|
|
s.TemplateJson = nil
|
|
var elem UpdateTemplateRequestTemplateJson
|
|
if err := elem.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
s.TemplateJson = &elem
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"templateJson\"")
|
|
}
|
|
case "encodedTemplateYaml":
|
|
if err := func() error {
|
|
s.EncodedTemplateYaml.Reset()
|
|
if err := s.EncodedTemplateYaml.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"encodedTemplateYaml\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode UpdateTemplateRequest")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfUpdateTemplateRequest) {
|
|
name = jsonFieldsNameOfUpdateTemplateRequest[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *UpdateTemplateRequest) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *UpdateTemplateRequest) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *UpdateTemplateRequestTemplateJson) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *UpdateTemplateRequestTemplateJson) encodeFields(e *jx.Encoder) {
|
|
}
|
|
|
|
var jsonFieldsNameOfUpdateTemplateRequestTemplateJson = [0]string{}
|
|
|
|
// Decode decodes UpdateTemplateRequestTemplateJson from json.
|
|
func (s *UpdateTemplateRequestTemplateJson) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode UpdateTemplateRequestTemplateJson to nil")
|
|
}
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode UpdateTemplateRequestTemplateJson")
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *UpdateTemplateRequestTemplateJson) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *UpdateTemplateRequestTemplateJson) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *UpdateUserRequest) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *UpdateUserRequest) encodeFields(e *jx.Encoder) {
|
|
{
|
|
if s.Username.Set {
|
|
e.FieldStart("username")
|
|
s.Username.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.UUID.Set {
|
|
e.FieldStart("uuid")
|
|
s.UUID.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.Status.Set {
|
|
e.FieldStart("status")
|
|
s.Status.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.TrafficLimitBytes.Set {
|
|
e.FieldStart("trafficLimitBytes")
|
|
s.TrafficLimitBytes.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.TrafficLimitStrategy.Set {
|
|
e.FieldStart("trafficLimitStrategy")
|
|
s.TrafficLimitStrategy.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.ExpireAt.Set {
|
|
e.FieldStart("expireAt")
|
|
s.ExpireAt.Encode(e, json.EncodeDateTime)
|
|
}
|
|
}
|
|
{
|
|
if s.Description.Set {
|
|
e.FieldStart("description")
|
|
s.Description.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.Tag.Set {
|
|
e.FieldStart("tag")
|
|
s.Tag.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.TelegramId.Set {
|
|
e.FieldStart("telegramId")
|
|
s.TelegramId.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.Email.Set {
|
|
e.FieldStart("email")
|
|
s.Email.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.HwidDeviceLimit.Set {
|
|
e.FieldStart("hwidDeviceLimit")
|
|
s.HwidDeviceLimit.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.ActiveInternalSquads != nil {
|
|
e.FieldStart("activeInternalSquads")
|
|
e.ArrStart()
|
|
for _, elem := range s.ActiveInternalSquads {
|
|
json.EncodeUUID(e, elem)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
}
|
|
{
|
|
if s.ExternalSquadUuid.Set {
|
|
e.FieldStart("externalSquadUuid")
|
|
s.ExternalSquadUuid.Encode(e)
|
|
}
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfUpdateUserRequest = [13]string{
|
|
0: "username",
|
|
1: "uuid",
|
|
2: "status",
|
|
3: "trafficLimitBytes",
|
|
4: "trafficLimitStrategy",
|
|
5: "expireAt",
|
|
6: "description",
|
|
7: "tag",
|
|
8: "telegramId",
|
|
9: "email",
|
|
10: "hwidDeviceLimit",
|
|
11: "activeInternalSquads",
|
|
12: "externalSquadUuid",
|
|
}
|
|
|
|
// Decode decodes UpdateUserRequest from json.
|
|
func (s *UpdateUserRequest) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode UpdateUserRequest to nil")
|
|
}
|
|
s.setDefaults()
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "username":
|
|
if err := func() error {
|
|
s.Username.Reset()
|
|
if err := s.Username.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"username\"")
|
|
}
|
|
case "uuid":
|
|
if err := func() error {
|
|
s.UUID.Reset()
|
|
if err := s.UUID.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"uuid\"")
|
|
}
|
|
case "status":
|
|
if err := func() error {
|
|
s.Status.Reset()
|
|
if err := s.Status.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"status\"")
|
|
}
|
|
case "trafficLimitBytes":
|
|
if err := func() error {
|
|
s.TrafficLimitBytes.Reset()
|
|
if err := s.TrafficLimitBytes.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"trafficLimitBytes\"")
|
|
}
|
|
case "trafficLimitStrategy":
|
|
if err := func() error {
|
|
s.TrafficLimitStrategy.Reset()
|
|
if err := s.TrafficLimitStrategy.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"trafficLimitStrategy\"")
|
|
}
|
|
case "expireAt":
|
|
if err := func() error {
|
|
s.ExpireAt.Reset()
|
|
if err := s.ExpireAt.Decode(d, json.DecodeDateTime); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"expireAt\"")
|
|
}
|
|
case "description":
|
|
if err := func() error {
|
|
s.Description.Reset()
|
|
if err := s.Description.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"description\"")
|
|
}
|
|
case "tag":
|
|
if err := func() error {
|
|
s.Tag.Reset()
|
|
if err := s.Tag.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"tag\"")
|
|
}
|
|
case "telegramId":
|
|
if err := func() error {
|
|
s.TelegramId.Reset()
|
|
if err := s.TelegramId.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"telegramId\"")
|
|
}
|
|
case "email":
|
|
if err := func() error {
|
|
s.Email.Reset()
|
|
if err := s.Email.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"email\"")
|
|
}
|
|
case "hwidDeviceLimit":
|
|
if err := func() error {
|
|
s.HwidDeviceLimit.Reset()
|
|
if err := s.HwidDeviceLimit.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"hwidDeviceLimit\"")
|
|
}
|
|
case "activeInternalSquads":
|
|
if err := func() error {
|
|
s.ActiveInternalSquads = make([]uuid.UUID, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem uuid.UUID
|
|
v, err := json.DecodeUUID(d)
|
|
elem = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
s.ActiveInternalSquads = append(s.ActiveInternalSquads, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"activeInternalSquads\"")
|
|
}
|
|
case "externalSquadUuid":
|
|
if err := func() error {
|
|
s.ExternalSquadUuid.Reset()
|
|
if err := s.ExternalSquadUuid.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"externalSquadUuid\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode UpdateUserRequest")
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *UpdateUserRequest) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *UpdateUserRequest) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes UpdateUserRequestStatus as json.
|
|
func (s UpdateUserRequestStatus) Encode(e *jx.Encoder) {
|
|
e.Str(string(s))
|
|
}
|
|
|
|
// Decode decodes UpdateUserRequestStatus from json.
|
|
func (s *UpdateUserRequestStatus) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode UpdateUserRequestStatus to nil")
|
|
}
|
|
v, err := d.StrBytes()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
// Try to use constant string.
|
|
switch UpdateUserRequestStatus(v) {
|
|
case UpdateUserRequestStatusACTIVE:
|
|
*s = UpdateUserRequestStatusACTIVE
|
|
case UpdateUserRequestStatusDISABLED:
|
|
*s = UpdateUserRequestStatusDISABLED
|
|
default:
|
|
*s = UpdateUserRequestStatus(v)
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s UpdateUserRequestStatus) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *UpdateUserRequestStatus) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes UpdateUserRequestTrafficLimitStrategy as json.
|
|
func (s UpdateUserRequestTrafficLimitStrategy) Encode(e *jx.Encoder) {
|
|
e.Str(string(s))
|
|
}
|
|
|
|
// Decode decodes UpdateUserRequestTrafficLimitStrategy from json.
|
|
func (s *UpdateUserRequestTrafficLimitStrategy) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode UpdateUserRequestTrafficLimitStrategy to nil")
|
|
}
|
|
v, err := d.StrBytes()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
// Try to use constant string.
|
|
switch UpdateUserRequestTrafficLimitStrategy(v) {
|
|
case UpdateUserRequestTrafficLimitStrategyNORESET:
|
|
*s = UpdateUserRequestTrafficLimitStrategyNORESET
|
|
case UpdateUserRequestTrafficLimitStrategyDAY:
|
|
*s = UpdateUserRequestTrafficLimitStrategyDAY
|
|
case UpdateUserRequestTrafficLimitStrategyWEEK:
|
|
*s = UpdateUserRequestTrafficLimitStrategyWEEK
|
|
case UpdateUserRequestTrafficLimitStrategyMONTH:
|
|
*s = UpdateUserRequestTrafficLimitStrategyMONTH
|
|
case UpdateUserRequestTrafficLimitStrategyMONTHROLLING:
|
|
*s = UpdateUserRequestTrafficLimitStrategyMONTHROLLING
|
|
default:
|
|
*s = UpdateUserRequestTrafficLimitStrategy(v)
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s UpdateUserRequestTrafficLimitStrategy) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *UpdateUserRequestTrafficLimitStrategy) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *UpsertUserMetadataRequestBodyRequest) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *UpsertUserMetadataRequestBodyRequest) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("metadata")
|
|
s.Metadata.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfUpsertUserMetadataRequestBodyRequest = [1]string{
|
|
0: "metadata",
|
|
}
|
|
|
|
// Decode decodes UpsertUserMetadataRequestBodyRequest from json.
|
|
func (s *UpsertUserMetadataRequestBodyRequest) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode UpsertUserMetadataRequestBodyRequest to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "metadata":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Metadata.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"metadata\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode UpsertUserMetadataRequestBodyRequest")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfUpsertUserMetadataRequestBodyRequest) {
|
|
name = jsonFieldsNameOfUpsertUserMetadataRequestBodyRequest[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *UpsertUserMetadataRequestBodyRequest) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *UpsertUserMetadataRequestBodyRequest) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *UpsertUserMetadataRequestBodyRequestMetadata) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *UpsertUserMetadataRequestBodyRequestMetadata) encodeFields(e *jx.Encoder) {
|
|
}
|
|
|
|
var jsonFieldsNameOfUpsertUserMetadataRequestBodyRequestMetadata = [0]string{}
|
|
|
|
// Decode decodes UpsertUserMetadataRequestBodyRequestMetadata from json.
|
|
func (s *UpsertUserMetadataRequestBodyRequestMetadata) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode UpsertUserMetadataRequestBodyRequestMetadata to nil")
|
|
}
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode UpsertUserMetadataRequestBodyRequestMetadata")
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *UpsertUserMetadataRequestBodyRequestMetadata) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *UpsertUserMetadataRequestBodyRequestMetadata) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *UserItem2) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *UserItem2) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("shortUuid")
|
|
e.Str(s.ShortUuid)
|
|
}
|
|
{
|
|
e.FieldStart("daysLeft")
|
|
e.Float64(s.DaysLeft)
|
|
}
|
|
{
|
|
e.FieldStart("trafficUsed")
|
|
e.Str(s.TrafficUsed)
|
|
}
|
|
{
|
|
e.FieldStart("trafficLimit")
|
|
e.Str(s.TrafficLimit)
|
|
}
|
|
{
|
|
e.FieldStart("lifetimeTrafficUsed")
|
|
e.Str(s.LifetimeTrafficUsed)
|
|
}
|
|
{
|
|
e.FieldStart("trafficUsedBytes")
|
|
e.Str(s.TrafficUsedBytes)
|
|
}
|
|
{
|
|
e.FieldStart("trafficLimitBytes")
|
|
e.Str(s.TrafficLimitBytes)
|
|
}
|
|
{
|
|
e.FieldStart("lifetimeTrafficUsedBytes")
|
|
e.Str(s.LifetimeTrafficUsedBytes)
|
|
}
|
|
{
|
|
e.FieldStart("username")
|
|
e.Str(s.Username)
|
|
}
|
|
{
|
|
e.FieldStart("expiresAt")
|
|
json.EncodeDateTime(e, s.ExpiresAt)
|
|
}
|
|
{
|
|
e.FieldStart("isActive")
|
|
e.Bool(s.IsActive)
|
|
}
|
|
{
|
|
e.FieldStart("userStatus")
|
|
s.UserStatus.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("trafficLimitStrategy")
|
|
s.TrafficLimitStrategy.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfUserItem2 = [13]string{
|
|
0: "shortUuid",
|
|
1: "daysLeft",
|
|
2: "trafficUsed",
|
|
3: "trafficLimit",
|
|
4: "lifetimeTrafficUsed",
|
|
5: "trafficUsedBytes",
|
|
6: "trafficLimitBytes",
|
|
7: "lifetimeTrafficUsedBytes",
|
|
8: "username",
|
|
9: "expiresAt",
|
|
10: "isActive",
|
|
11: "userStatus",
|
|
12: "trafficLimitStrategy",
|
|
}
|
|
|
|
// Decode decodes UserItem2 from json.
|
|
func (s *UserItem2) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode UserItem2 to nil")
|
|
}
|
|
var requiredBitSet [2]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "shortUuid":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.ShortUuid = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"shortUuid\"")
|
|
}
|
|
case "daysLeft":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.DaysLeft = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"daysLeft\"")
|
|
}
|
|
case "trafficUsed":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.TrafficUsed = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"trafficUsed\"")
|
|
}
|
|
case "trafficLimit":
|
|
requiredBitSet[0] |= 1 << 3
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.TrafficLimit = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"trafficLimit\"")
|
|
}
|
|
case "lifetimeTrafficUsed":
|
|
requiredBitSet[0] |= 1 << 4
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.LifetimeTrafficUsed = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"lifetimeTrafficUsed\"")
|
|
}
|
|
case "trafficUsedBytes":
|
|
requiredBitSet[0] |= 1 << 5
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.TrafficUsedBytes = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"trafficUsedBytes\"")
|
|
}
|
|
case "trafficLimitBytes":
|
|
requiredBitSet[0] |= 1 << 6
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.TrafficLimitBytes = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"trafficLimitBytes\"")
|
|
}
|
|
case "lifetimeTrafficUsedBytes":
|
|
requiredBitSet[0] |= 1 << 7
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.LifetimeTrafficUsedBytes = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"lifetimeTrafficUsedBytes\"")
|
|
}
|
|
case "username":
|
|
requiredBitSet[1] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Username = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"username\"")
|
|
}
|
|
case "expiresAt":
|
|
requiredBitSet[1] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := json.DecodeDateTime(d)
|
|
s.ExpiresAt = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"expiresAt\"")
|
|
}
|
|
case "isActive":
|
|
requiredBitSet[1] |= 1 << 2
|
|
if err := func() error {
|
|
v, err := d.Bool()
|
|
s.IsActive = bool(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"isActive\"")
|
|
}
|
|
case "userStatus":
|
|
requiredBitSet[1] |= 1 << 3
|
|
if err := func() error {
|
|
if err := s.UserStatus.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"userStatus\"")
|
|
}
|
|
case "trafficLimitStrategy":
|
|
requiredBitSet[1] |= 1 << 4
|
|
if err := func() error {
|
|
if err := s.TrafficLimitStrategy.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"trafficLimitStrategy\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode UserItem2")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [2]uint8{
|
|
0b11111111,
|
|
0b00011111,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfUserItem2) {
|
|
name = jsonFieldsNameOfUserItem2[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *UserItem2) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *UserItem2) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes UserItem2TrafficLimitStrategy as json.
|
|
func (s UserItem2TrafficLimitStrategy) Encode(e *jx.Encoder) {
|
|
e.Str(string(s))
|
|
}
|
|
|
|
// Decode decodes UserItem2TrafficLimitStrategy from json.
|
|
func (s *UserItem2TrafficLimitStrategy) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode UserItem2TrafficLimitStrategy to nil")
|
|
}
|
|
v, err := d.StrBytes()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
// Try to use constant string.
|
|
switch UserItem2TrafficLimitStrategy(v) {
|
|
case UserItem2TrafficLimitStrategyNORESET:
|
|
*s = UserItem2TrafficLimitStrategyNORESET
|
|
case UserItem2TrafficLimitStrategyDAY:
|
|
*s = UserItem2TrafficLimitStrategyDAY
|
|
case UserItem2TrafficLimitStrategyWEEK:
|
|
*s = UserItem2TrafficLimitStrategyWEEK
|
|
case UserItem2TrafficLimitStrategyMONTH:
|
|
*s = UserItem2TrafficLimitStrategyMONTH
|
|
case UserItem2TrafficLimitStrategyMONTHROLLING:
|
|
*s = UserItem2TrafficLimitStrategyMONTHROLLING
|
|
default:
|
|
*s = UserItem2TrafficLimitStrategy(v)
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s UserItem2TrafficLimitStrategy) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *UserItem2TrafficLimitStrategy) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes UserItem2UserStatus as json.
|
|
func (s UserItem2UserStatus) Encode(e *jx.Encoder) {
|
|
e.Str(string(s))
|
|
}
|
|
|
|
// Decode decodes UserItem2UserStatus from json.
|
|
func (s *UserItem2UserStatus) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode UserItem2UserStatus to nil")
|
|
}
|
|
v, err := d.StrBytes()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
// Try to use constant string.
|
|
switch UserItem2UserStatus(v) {
|
|
case UserItem2UserStatusACTIVE:
|
|
*s = UserItem2UserStatusACTIVE
|
|
case UserItem2UserStatusDISABLED:
|
|
*s = UserItem2UserStatusDISABLED
|
|
case UserItem2UserStatusLIMITED:
|
|
*s = UserItem2UserStatusLIMITED
|
|
case UserItem2UserStatusEXPIRED:
|
|
*s = UserItem2UserStatusEXPIRED
|
|
default:
|
|
*s = UserItem2UserStatus(v)
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s UserItem2UserStatus) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *UserItem2UserStatus) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *UserItemInfo) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *UserItemInfo) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("uuid")
|
|
json.EncodeUUID(e, s.UUID)
|
|
}
|
|
{
|
|
e.FieldStart("id")
|
|
e.Float64(s.ID)
|
|
}
|
|
{
|
|
e.FieldStart("shortUuid")
|
|
e.Str(s.ShortUuid)
|
|
}
|
|
{
|
|
e.FieldStart("username")
|
|
e.Str(s.Username)
|
|
}
|
|
{
|
|
if s.Status.Set {
|
|
e.FieldStart("status")
|
|
s.Status.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.TrafficLimitBytes.Set {
|
|
e.FieldStart("trafficLimitBytes")
|
|
s.TrafficLimitBytes.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
if s.TrafficLimitStrategy.Set {
|
|
e.FieldStart("trafficLimitStrategy")
|
|
s.TrafficLimitStrategy.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
e.FieldStart("expireAt")
|
|
json.EncodeDateTime(e, s.ExpireAt)
|
|
}
|
|
{
|
|
e.FieldStart("telegramId")
|
|
s.TelegramId.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("email")
|
|
s.Email.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("description")
|
|
s.Description.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("tag")
|
|
s.Tag.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("hwidDeviceLimit")
|
|
s.HwidDeviceLimit.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("externalSquadUuid")
|
|
s.ExternalSquadUuid.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("trojanPassword")
|
|
e.Str(s.TrojanPassword)
|
|
}
|
|
{
|
|
e.FieldStart("vlessUuid")
|
|
json.EncodeUUID(e, s.VlessUuid)
|
|
}
|
|
{
|
|
e.FieldStart("ssPassword")
|
|
e.Str(s.SsPassword)
|
|
}
|
|
{
|
|
if s.LastTriggeredThreshold.Set {
|
|
e.FieldStart("lastTriggeredThreshold")
|
|
s.LastTriggeredThreshold.Encode(e)
|
|
}
|
|
}
|
|
{
|
|
e.FieldStart("subRevokedAt")
|
|
s.SubRevokedAt.Encode(e, json.EncodeDateTime)
|
|
}
|
|
{
|
|
e.FieldStart("lastTrafficResetAt")
|
|
s.LastTrafficResetAt.Encode(e, json.EncodeDateTime)
|
|
}
|
|
{
|
|
e.FieldStart("createdAt")
|
|
json.EncodeDateTime(e, s.CreatedAt)
|
|
}
|
|
{
|
|
e.FieldStart("updatedAt")
|
|
json.EncodeDateTime(e, s.UpdatedAt)
|
|
}
|
|
{
|
|
e.FieldStart("subscriptionUrl")
|
|
e.Str(s.SubscriptionUrl)
|
|
}
|
|
{
|
|
e.FieldStart("activeInternalSquads")
|
|
e.ArrStart()
|
|
for _, elem := range s.ActiveInternalSquads {
|
|
elem.Encode(e)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
{
|
|
e.FieldStart("userTraffic")
|
|
s.UserTraffic.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfUserItemInfo = [25]string{
|
|
0: "uuid",
|
|
1: "id",
|
|
2: "shortUuid",
|
|
3: "username",
|
|
4: "status",
|
|
5: "trafficLimitBytes",
|
|
6: "trafficLimitStrategy",
|
|
7: "expireAt",
|
|
8: "telegramId",
|
|
9: "email",
|
|
10: "description",
|
|
11: "tag",
|
|
12: "hwidDeviceLimit",
|
|
13: "externalSquadUuid",
|
|
14: "trojanPassword",
|
|
15: "vlessUuid",
|
|
16: "ssPassword",
|
|
17: "lastTriggeredThreshold",
|
|
18: "subRevokedAt",
|
|
19: "lastTrafficResetAt",
|
|
20: "createdAt",
|
|
21: "updatedAt",
|
|
22: "subscriptionUrl",
|
|
23: "activeInternalSquads",
|
|
24: "userTraffic",
|
|
}
|
|
|
|
// Decode decodes UserItemInfo from json.
|
|
func (s *UserItemInfo) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode UserItemInfo to nil")
|
|
}
|
|
var requiredBitSet [4]uint8
|
|
s.setDefaults()
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "uuid":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := json.DecodeUUID(d)
|
|
s.UUID = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"uuid\"")
|
|
}
|
|
case "id":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.ID = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"id\"")
|
|
}
|
|
case "shortUuid":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.ShortUuid = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"shortUuid\"")
|
|
}
|
|
case "username":
|
|
requiredBitSet[0] |= 1 << 3
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Username = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"username\"")
|
|
}
|
|
case "status":
|
|
if err := func() error {
|
|
s.Status.Reset()
|
|
if err := s.Status.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"status\"")
|
|
}
|
|
case "trafficLimitBytes":
|
|
if err := func() error {
|
|
s.TrafficLimitBytes.Reset()
|
|
if err := s.TrafficLimitBytes.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"trafficLimitBytes\"")
|
|
}
|
|
case "trafficLimitStrategy":
|
|
if err := func() error {
|
|
s.TrafficLimitStrategy.Reset()
|
|
if err := s.TrafficLimitStrategy.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"trafficLimitStrategy\"")
|
|
}
|
|
case "expireAt":
|
|
requiredBitSet[0] |= 1 << 7
|
|
if err := func() error {
|
|
v, err := json.DecodeDateTime(d)
|
|
s.ExpireAt = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"expireAt\"")
|
|
}
|
|
case "telegramId":
|
|
requiredBitSet[1] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.TelegramId.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"telegramId\"")
|
|
}
|
|
case "email":
|
|
requiredBitSet[1] |= 1 << 1
|
|
if err := func() error {
|
|
if err := s.Email.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"email\"")
|
|
}
|
|
case "description":
|
|
requiredBitSet[1] |= 1 << 2
|
|
if err := func() error {
|
|
if err := s.Description.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"description\"")
|
|
}
|
|
case "tag":
|
|
requiredBitSet[1] |= 1 << 3
|
|
if err := func() error {
|
|
if err := s.Tag.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"tag\"")
|
|
}
|
|
case "hwidDeviceLimit":
|
|
requiredBitSet[1] |= 1 << 4
|
|
if err := func() error {
|
|
if err := s.HwidDeviceLimit.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"hwidDeviceLimit\"")
|
|
}
|
|
case "externalSquadUuid":
|
|
requiredBitSet[1] |= 1 << 5
|
|
if err := func() error {
|
|
if err := s.ExternalSquadUuid.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"externalSquadUuid\"")
|
|
}
|
|
case "trojanPassword":
|
|
requiredBitSet[1] |= 1 << 6
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.TrojanPassword = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"trojanPassword\"")
|
|
}
|
|
case "vlessUuid":
|
|
requiredBitSet[1] |= 1 << 7
|
|
if err := func() error {
|
|
v, err := json.DecodeUUID(d)
|
|
s.VlessUuid = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"vlessUuid\"")
|
|
}
|
|
case "ssPassword":
|
|
requiredBitSet[2] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.SsPassword = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"ssPassword\"")
|
|
}
|
|
case "lastTriggeredThreshold":
|
|
if err := func() error {
|
|
s.LastTriggeredThreshold.Reset()
|
|
if err := s.LastTriggeredThreshold.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"lastTriggeredThreshold\"")
|
|
}
|
|
case "subRevokedAt":
|
|
requiredBitSet[2] |= 1 << 2
|
|
if err := func() error {
|
|
if err := s.SubRevokedAt.Decode(d, json.DecodeDateTime); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"subRevokedAt\"")
|
|
}
|
|
case "lastTrafficResetAt":
|
|
requiredBitSet[2] |= 1 << 3
|
|
if err := func() error {
|
|
if err := s.LastTrafficResetAt.Decode(d, json.DecodeDateTime); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"lastTrafficResetAt\"")
|
|
}
|
|
case "createdAt":
|
|
requiredBitSet[2] |= 1 << 4
|
|
if err := func() error {
|
|
v, err := json.DecodeDateTime(d)
|
|
s.CreatedAt = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"createdAt\"")
|
|
}
|
|
case "updatedAt":
|
|
requiredBitSet[2] |= 1 << 5
|
|
if err := func() error {
|
|
v, err := json.DecodeDateTime(d)
|
|
s.UpdatedAt = v
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"updatedAt\"")
|
|
}
|
|
case "subscriptionUrl":
|
|
requiredBitSet[2] |= 1 << 6
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.SubscriptionUrl = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"subscriptionUrl\"")
|
|
}
|
|
case "activeInternalSquads":
|
|
requiredBitSet[2] |= 1 << 7
|
|
if err := func() error {
|
|
s.ActiveInternalSquads = make([]ActiveInternalSquad, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem ActiveInternalSquad
|
|
if err := elem.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
s.ActiveInternalSquads = append(s.ActiveInternalSquads, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"activeInternalSquads\"")
|
|
}
|
|
case "userTraffic":
|
|
requiredBitSet[3] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.UserTraffic.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"userTraffic\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode UserItemInfo")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [4]uint8{
|
|
0b10001111,
|
|
0b11111111,
|
|
0b11111101,
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfUserItemInfo) {
|
|
name = jsonFieldsNameOfUserItemInfo[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *UserItemInfo) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *UserItemInfo) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes UserItemInfoStatus as json.
|
|
func (s UserItemInfoStatus) Encode(e *jx.Encoder) {
|
|
e.Str(string(s))
|
|
}
|
|
|
|
// Decode decodes UserItemInfoStatus from json.
|
|
func (s *UserItemInfoStatus) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode UserItemInfoStatus to nil")
|
|
}
|
|
v, err := d.StrBytes()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
// Try to use constant string.
|
|
switch UserItemInfoStatus(v) {
|
|
case UserItemInfoStatusACTIVE:
|
|
*s = UserItemInfoStatusACTIVE
|
|
case UserItemInfoStatusDISABLED:
|
|
*s = UserItemInfoStatusDISABLED
|
|
case UserItemInfoStatusLIMITED:
|
|
*s = UserItemInfoStatusLIMITED
|
|
case UserItemInfoStatusEXPIRED:
|
|
*s = UserItemInfoStatusEXPIRED
|
|
default:
|
|
*s = UserItemInfoStatus(v)
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s UserItemInfoStatus) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *UserItemInfoStatus) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode encodes UserItemInfoTrafficLimitStrategy as json.
|
|
func (s UserItemInfoTrafficLimitStrategy) Encode(e *jx.Encoder) {
|
|
e.Str(string(s))
|
|
}
|
|
|
|
// Decode decodes UserItemInfoTrafficLimitStrategy from json.
|
|
func (s *UserItemInfoTrafficLimitStrategy) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode UserItemInfoTrafficLimitStrategy to nil")
|
|
}
|
|
v, err := d.StrBytes()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
// Try to use constant string.
|
|
switch UserItemInfoTrafficLimitStrategy(v) {
|
|
case UserItemInfoTrafficLimitStrategyNORESET:
|
|
*s = UserItemInfoTrafficLimitStrategyNORESET
|
|
case UserItemInfoTrafficLimitStrategyDAY:
|
|
*s = UserItemInfoTrafficLimitStrategyDAY
|
|
case UserItemInfoTrafficLimitStrategyWEEK:
|
|
*s = UserItemInfoTrafficLimitStrategyWEEK
|
|
case UserItemInfoTrafficLimitStrategyMONTH:
|
|
*s = UserItemInfoTrafficLimitStrategyMONTH
|
|
case UserItemInfoTrafficLimitStrategyMONTHROLLING:
|
|
*s = UserItemInfoTrafficLimitStrategyMONTHROLLING
|
|
default:
|
|
*s = UserItemInfoTrafficLimitStrategy(v)
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s UserItemInfoTrafficLimitStrategy) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *UserItemInfoTrafficLimitStrategy) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *UserMetadataResponseResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *UserMetadataResponseResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("response")
|
|
s.Response.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfUserMetadataResponseResponse = [1]string{
|
|
0: "response",
|
|
}
|
|
|
|
// Decode decodes UserMetadataResponseResponse from json.
|
|
func (s *UserMetadataResponseResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode UserMetadataResponseResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "response":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Response.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"response\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode UserMetadataResponseResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfUserMetadataResponseResponse) {
|
|
name = jsonFieldsNameOfUserMetadataResponseResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *UserMetadataResponseResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *UserMetadataResponseResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *UserMetadataResponseResponseResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *UserMetadataResponseResponseResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("metadata")
|
|
s.Metadata.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfUserMetadataResponseResponseResponse = [1]string{
|
|
0: "metadata",
|
|
}
|
|
|
|
// Decode decodes UserMetadataResponseResponseResponse from json.
|
|
func (s *UserMetadataResponseResponseResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode UserMetadataResponseResponseResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "metadata":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Metadata.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"metadata\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode UserMetadataResponseResponseResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfUserMetadataResponseResponseResponse) {
|
|
name = jsonFieldsNameOfUserMetadataResponseResponseResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *UserMetadataResponseResponseResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *UserMetadataResponseResponseResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *UserMetadataResponseResponseResponseMetadata) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *UserMetadataResponseResponseResponseMetadata) encodeFields(e *jx.Encoder) {
|
|
}
|
|
|
|
var jsonFieldsNameOfUserMetadataResponseResponseResponseMetadata = [0]string{}
|
|
|
|
// Decode decodes UserMetadataResponseResponseResponseMetadata from json.
|
|
func (s *UserMetadataResponseResponseResponseMetadata) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode UserMetadataResponseResponseResponseMetadata to nil")
|
|
}
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode UserMetadataResponseResponseResponseMetadata")
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *UserMetadataResponseResponseResponseMetadata) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *UserMetadataResponseResponseResponseMetadata) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *UserResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *UserResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("response")
|
|
s.Response.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfUserResponse = [1]string{
|
|
0: "response",
|
|
}
|
|
|
|
// Decode decodes UserResponse from json.
|
|
func (s *UserResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode UserResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "response":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Response.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"response\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode UserResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfUserResponse) {
|
|
name = jsonFieldsNameOfUserResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *UserResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *UserResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *UserSubscriptionHistory) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *UserSubscriptionHistory) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("total")
|
|
e.Float64(s.Total)
|
|
}
|
|
{
|
|
e.FieldStart("records")
|
|
e.ArrStart()
|
|
for _, elem := range s.Records {
|
|
elem.Encode(e)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfUserSubscriptionHistory = [2]string{
|
|
0: "total",
|
|
1: "records",
|
|
}
|
|
|
|
// Decode decodes UserSubscriptionHistory from json.
|
|
func (s *UserSubscriptionHistory) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode UserSubscriptionHistory to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "total":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.Total = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"total\"")
|
|
}
|
|
case "records":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
s.Records = make([]Record, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem Record
|
|
if err := elem.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
s.Records = append(s.Records, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"records\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode UserSubscriptionHistory")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000011,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfUserSubscriptionHistory) {
|
|
name = jsonFieldsNameOfUserSubscriptionHistory[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *UserSubscriptionHistory) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *UserSubscriptionHistory) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *UserTrafficItem) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *UserTrafficItem) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("usedTrafficBytes")
|
|
e.Float64(s.UsedTrafficBytes)
|
|
}
|
|
{
|
|
e.FieldStart("lifetimeUsedTrafficBytes")
|
|
e.Float64(s.LifetimeUsedTrafficBytes)
|
|
}
|
|
{
|
|
e.FieldStart("onlineAt")
|
|
s.OnlineAt.Encode(e, json.EncodeDateTime)
|
|
}
|
|
{
|
|
e.FieldStart("firstConnectedAt")
|
|
s.FirstConnectedAt.Encode(e, json.EncodeDateTime)
|
|
}
|
|
{
|
|
e.FieldStart("lastConnectedNodeUuid")
|
|
s.LastConnectedNodeUuid.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfUserTrafficItem = [5]string{
|
|
0: "usedTrafficBytes",
|
|
1: "lifetimeUsedTrafficBytes",
|
|
2: "onlineAt",
|
|
3: "firstConnectedAt",
|
|
4: "lastConnectedNodeUuid",
|
|
}
|
|
|
|
// Decode decodes UserTrafficItem from json.
|
|
func (s *UserTrafficItem) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode UserTrafficItem to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "usedTrafficBytes":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.UsedTrafficBytes = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"usedTrafficBytes\"")
|
|
}
|
|
case "lifetimeUsedTrafficBytes":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.LifetimeUsedTrafficBytes = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"lifetimeUsedTrafficBytes\"")
|
|
}
|
|
case "onlineAt":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
if err := s.OnlineAt.Decode(d, json.DecodeDateTime); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"onlineAt\"")
|
|
}
|
|
case "firstConnectedAt":
|
|
requiredBitSet[0] |= 1 << 3
|
|
if err := func() error {
|
|
if err := s.FirstConnectedAt.Decode(d, json.DecodeDateTime); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"firstConnectedAt\"")
|
|
}
|
|
case "lastConnectedNodeUuid":
|
|
requiredBitSet[0] |= 1 << 4
|
|
if err := func() error {
|
|
if err := s.LastConnectedNodeUuid.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"lastConnectedNodeUuid\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode UserTrafficItem")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00011111,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfUserTrafficItem) {
|
|
name = jsonFieldsNameOfUserTrafficItem[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *UserTrafficItem) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *UserTrafficItem) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *UsersResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *UsersResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("response")
|
|
e.ArrStart()
|
|
for _, elem := range s.Response {
|
|
elem.Encode(e)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfUsersResponse = [1]string{
|
|
0: "response",
|
|
}
|
|
|
|
// Decode decodes UsersResponse from json.
|
|
func (s *UsersResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode UsersResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "response":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
s.Response = make([]UserItemInfo, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem UserItemInfo
|
|
if err := elem.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
s.Response = append(s.Response, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"response\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode UsersResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfUsersResponse) {
|
|
name = jsonFieldsNameOfUsersResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *UsersResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *UsersResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *ValidationError) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *ValidationError) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("validation")
|
|
e.Str(s.Validation)
|
|
}
|
|
{
|
|
e.FieldStart("code")
|
|
e.Str(s.Code)
|
|
}
|
|
{
|
|
e.FieldStart("message")
|
|
e.Str(s.Message)
|
|
}
|
|
{
|
|
e.FieldStart("path")
|
|
e.ArrStart()
|
|
for _, elem := range s.Path {
|
|
e.Str(elem)
|
|
}
|
|
e.ArrEnd()
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfValidationError = [4]string{
|
|
0: "validation",
|
|
1: "code",
|
|
2: "message",
|
|
3: "path",
|
|
}
|
|
|
|
// Decode decodes ValidationError from json.
|
|
func (s *ValidationError) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode ValidationError to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "validation":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Validation = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"validation\"")
|
|
}
|
|
case "code":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Code = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"code\"")
|
|
}
|
|
case "message":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Message = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"message\"")
|
|
}
|
|
case "path":
|
|
requiredBitSet[0] |= 1 << 3
|
|
if err := func() error {
|
|
s.Path = make([]string, 0)
|
|
if err := d.Arr(func(d *jx.Decoder) error {
|
|
var elem string
|
|
v, err := d.Str()
|
|
elem = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
s.Path = append(s.Path, elem)
|
|
return nil
|
|
}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"path\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode ValidationError")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00001111,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfValidationError) {
|
|
name = jsonFieldsNameOfValidationError[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *ValidationError) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *ValidationError) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *VerifyPasskeyRegistrationResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *VerifyPasskeyRegistrationResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("response")
|
|
s.Response.Encode(e)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfVerifyPasskeyRegistrationResponse = [1]string{
|
|
0: "response",
|
|
}
|
|
|
|
// Decode decodes VerifyPasskeyRegistrationResponse from json.
|
|
func (s *VerifyPasskeyRegistrationResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode VerifyPasskeyRegistrationResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "response":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Response.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"response\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode VerifyPasskeyRegistrationResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfVerifyPasskeyRegistrationResponse) {
|
|
name = jsonFieldsNameOfVerifyPasskeyRegistrationResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *VerifyPasskeyRegistrationResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *VerifyPasskeyRegistrationResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *VerifyPasskeyRegistrationResponseResponse) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *VerifyPasskeyRegistrationResponseResponse) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("verified")
|
|
e.Bool(s.Verified)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfVerifyPasskeyRegistrationResponseResponse = [1]string{
|
|
0: "verified",
|
|
}
|
|
|
|
// Decode decodes VerifyPasskeyRegistrationResponseResponse from json.
|
|
func (s *VerifyPasskeyRegistrationResponseResponse) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode VerifyPasskeyRegistrationResponseResponse to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "verified":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Bool()
|
|
s.Verified = bool(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"verified\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode VerifyPasskeyRegistrationResponseResponse")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000001,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfVerifyPasskeyRegistrationResponseResponse) {
|
|
name = jsonFieldsNameOfVerifyPasskeyRegistrationResponseResponse[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *VerifyPasskeyRegistrationResponseResponse) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *VerifyPasskeyRegistrationResponseResponse) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *Version) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *Version) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("xray")
|
|
e.Str(s.Xray)
|
|
}
|
|
{
|
|
e.FieldStart("node")
|
|
e.Str(s.Node)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfVersion = [2]string{
|
|
0: "xray",
|
|
1: "node",
|
|
}
|
|
|
|
// Decode decodes Version from json.
|
|
func (s *Version) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode Version to nil")
|
|
}
|
|
var requiredBitSet [1]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "xray":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Xray = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"xray\"")
|
|
}
|
|
case "node":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Node = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"node\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode Version")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [1]uint8{
|
|
0b00000011,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfVersion) {
|
|
name = jsonFieldsNameOfVersion[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *Version) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *Version) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|
|
|
|
// Encode implements json.Marshaler.
|
|
func (s *XrayReportItem) Encode(e *jx.Encoder) {
|
|
e.ObjStart()
|
|
s.encodeFields(e)
|
|
e.ObjEnd()
|
|
}
|
|
|
|
// encodeFields encodes fields.
|
|
func (s *XrayReportItem) encodeFields(e *jx.Encoder) {
|
|
{
|
|
e.FieldStart("email")
|
|
s.Email.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("level")
|
|
s.Level.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("protocol")
|
|
s.Protocol.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("network")
|
|
e.Str(s.Network)
|
|
}
|
|
{
|
|
e.FieldStart("source")
|
|
s.Source.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("destination")
|
|
e.Str(s.Destination)
|
|
}
|
|
{
|
|
e.FieldStart("routeTarget")
|
|
s.RouteTarget.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("originalTarget")
|
|
s.OriginalTarget.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("inboundTag")
|
|
s.InboundTag.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("inboundName")
|
|
s.InboundName.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("inboundLocal")
|
|
s.InboundLocal.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("outboundTag")
|
|
s.OutboundTag.Encode(e)
|
|
}
|
|
{
|
|
e.FieldStart("ts")
|
|
e.Float64(s.Ts)
|
|
}
|
|
}
|
|
|
|
var jsonFieldsNameOfXrayReportItem = [13]string{
|
|
0: "email",
|
|
1: "level",
|
|
2: "protocol",
|
|
3: "network",
|
|
4: "source",
|
|
5: "destination",
|
|
6: "routeTarget",
|
|
7: "originalTarget",
|
|
8: "inboundTag",
|
|
9: "inboundName",
|
|
10: "inboundLocal",
|
|
11: "outboundTag",
|
|
12: "ts",
|
|
}
|
|
|
|
// Decode decodes XrayReportItem from json.
|
|
func (s *XrayReportItem) Decode(d *jx.Decoder) error {
|
|
if s == nil {
|
|
return errors.New("invalid: unable to decode XrayReportItem to nil")
|
|
}
|
|
var requiredBitSet [2]uint8
|
|
|
|
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
|
switch string(k) {
|
|
case "email":
|
|
requiredBitSet[0] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.Email.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"email\"")
|
|
}
|
|
case "level":
|
|
requiredBitSet[0] |= 1 << 1
|
|
if err := func() error {
|
|
if err := s.Level.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"level\"")
|
|
}
|
|
case "protocol":
|
|
requiredBitSet[0] |= 1 << 2
|
|
if err := func() error {
|
|
if err := s.Protocol.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"protocol\"")
|
|
}
|
|
case "network":
|
|
requiredBitSet[0] |= 1 << 3
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Network = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"network\"")
|
|
}
|
|
case "source":
|
|
requiredBitSet[0] |= 1 << 4
|
|
if err := func() error {
|
|
if err := s.Source.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"source\"")
|
|
}
|
|
case "destination":
|
|
requiredBitSet[0] |= 1 << 5
|
|
if err := func() error {
|
|
v, err := d.Str()
|
|
s.Destination = string(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"destination\"")
|
|
}
|
|
case "routeTarget":
|
|
requiredBitSet[0] |= 1 << 6
|
|
if err := func() error {
|
|
if err := s.RouteTarget.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"routeTarget\"")
|
|
}
|
|
case "originalTarget":
|
|
requiredBitSet[0] |= 1 << 7
|
|
if err := func() error {
|
|
if err := s.OriginalTarget.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"originalTarget\"")
|
|
}
|
|
case "inboundTag":
|
|
requiredBitSet[1] |= 1 << 0
|
|
if err := func() error {
|
|
if err := s.InboundTag.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"inboundTag\"")
|
|
}
|
|
case "inboundName":
|
|
requiredBitSet[1] |= 1 << 1
|
|
if err := func() error {
|
|
if err := s.InboundName.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"inboundName\"")
|
|
}
|
|
case "inboundLocal":
|
|
requiredBitSet[1] |= 1 << 2
|
|
if err := func() error {
|
|
if err := s.InboundLocal.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"inboundLocal\"")
|
|
}
|
|
case "outboundTag":
|
|
requiredBitSet[1] |= 1 << 3
|
|
if err := func() error {
|
|
if err := s.OutboundTag.Decode(d); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"outboundTag\"")
|
|
}
|
|
case "ts":
|
|
requiredBitSet[1] |= 1 << 4
|
|
if err := func() error {
|
|
v, err := d.Float64()
|
|
s.Ts = float64(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}(); err != nil {
|
|
return errors.Wrap(err, "decode field \"ts\"")
|
|
}
|
|
default:
|
|
return d.Skip()
|
|
}
|
|
return nil
|
|
}); err != nil {
|
|
return errors.Wrap(err, "decode XrayReportItem")
|
|
}
|
|
// Validate required fields.
|
|
var failures []validate.FieldError
|
|
for i, mask := range [2]uint8{
|
|
0b11111111,
|
|
0b00011111,
|
|
} {
|
|
if result := (requiredBitSet[i] & mask) ^ mask; result != 0 {
|
|
// Mask only required fields and check equality to mask using XOR.
|
|
//
|
|
// If XOR result is not zero, result is not equal to expected, so some fields are missed.
|
|
// Bits of fields which would be set are actually bits of missed fields.
|
|
missed := bits.OnesCount8(result)
|
|
for bitN := 0; bitN < missed; bitN++ {
|
|
bitIdx := bits.TrailingZeros8(result)
|
|
fieldIdx := i*8 + bitIdx
|
|
var name string
|
|
if fieldIdx < len(jsonFieldsNameOfXrayReportItem) {
|
|
name = jsonFieldsNameOfXrayReportItem[fieldIdx]
|
|
} else {
|
|
name = strconv.Itoa(fieldIdx)
|
|
}
|
|
failures = append(failures, validate.FieldError{
|
|
Name: name,
|
|
Error: validate.ErrFieldRequired,
|
|
})
|
|
// Reset bit.
|
|
result &^= 1 << bitIdx
|
|
}
|
|
}
|
|
}
|
|
if len(failures) > 0 {
|
|
return &validate.Error{Fields: failures}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalJSON implements stdjson.Marshaler.
|
|
func (s *XrayReportItem) MarshalJSON() ([]byte, error) {
|
|
e := jx.Encoder{}
|
|
s.Encode(&e)
|
|
return e.Bytes(), nil
|
|
}
|
|
|
|
// UnmarshalJSON implements stdjson.Unmarshaler.
|
|
func (s *XrayReportItem) UnmarshalJSON(data []byte) error {
|
|
d := jx.DecodeBytes(data)
|
|
return s.Decode(d)
|
|
}
|