// Code generated by ogen, DO NOT EDIT. package api import ( "math/bits" "strconv" "github.com/go-faster/errors" "github.com/go-faster/jx" "github.com/ogen-go/ogen/json" "github.com/ogen-go/ogen/validate" ) // Encode implements json.Marshaler. func (s *Error) Encode(e *jx.Encoder) { e.ObjStart() s.encodeFields(e) e.ObjEnd() } // encodeFields encodes fields. func (s *Error) encodeFields(e *jx.Encoder) { { e.FieldStart("code") e.Int64(s.Code) } { e.FieldStart("message") e.Str(s.Message) } } var jsonFieldsNameOfError = [2]string{ 0: "code", 1: "message", } // Decode decodes Error from json. func (s *Error) Decode(d *jx.Decoder) error { if s == nil { return errors.New("invalid: unable to decode Error to nil") } var requiredBitSet [1]uint8 if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { switch string(k) { case "code": requiredBitSet[0] |= 1 << 0 if err := func() error { v, err := d.Int64() s.Code = int64(v) if err != nil { return err } return nil }(); err != nil { return errors.Wrap(err, "decode field \"code\"") } case "message": requiredBitSet[0] |= 1 << 1 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\"") } default: return d.Skip() } return nil }); err != nil { return errors.Wrap(err, "decode Error") } // 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(jsonFieldsNameOfError) { name = jsonFieldsNameOfError[fieldIdx] } else { name = strconv.Itoa(fieldIdx) } failures = append(failures, validate.FieldError{ Name: name, Error: validate.ErrFieldRequired, }) // Reset bit. result &^= 1 << bitIdx } } } if len(failures) > 0 { return &validate.Error{Fields: failures} } return nil } // MarshalJSON implements stdjson.Marshaler. func (s *Error) MarshalJSON() ([]byte, error) { e := jx.Encoder{} s.Encode(&e) return e.Bytes(), nil } // UnmarshalJSON implements stdjson.Unmarshaler. func (s *Error) UnmarshalJSON(data []byte) error { d := jx.DecodeBytes(data) return s.Decode(d) } // Encode implements json.Marshaler. func (s *Map) Encode(e *jx.Encoder) { e.ObjStart() s.encodeFields(e) e.ObjEnd() } // encodeFields encodes fields. func (s *Map) encodeFields(e *jx.Encoder) { { e.FieldStart("ID") e.Int64(s.ID) } { e.FieldStart("DisplayName") e.Str(s.DisplayName) } { e.FieldStart("Creator") e.Str(s.Creator) } { e.FieldStart("GameID") e.Int32(s.GameID) } { e.FieldStart("Date") e.Int64(s.Date) } } var jsonFieldsNameOfMap = [5]string{ 0: "ID", 1: "DisplayName", 2: "Creator", 3: "GameID", 4: "Date", } // Decode decodes Map from json. func (s *Map) Decode(d *jx.Decoder) error { if s == nil { return errors.New("invalid: unable to decode Map 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.Int64() s.ID = int64(v) if err != nil { return err } return nil }(); err != nil { return errors.Wrap(err, "decode field \"ID\"") } case "DisplayName": requiredBitSet[0] |= 1 << 1 if err := func() error { v, err := d.Str() s.DisplayName = string(v) if err != nil { return err } return nil }(); err != nil { return errors.Wrap(err, "decode field \"DisplayName\"") } case "Creator": requiredBitSet[0] |= 1 << 2 if err := func() error { v, err := d.Str() s.Creator = string(v) if err != nil { return err } return nil }(); err != nil { return errors.Wrap(err, "decode field \"Creator\"") } case "GameID": requiredBitSet[0] |= 1 << 3 if err := func() error { v, err := d.Int32() s.GameID = int32(v) if err != nil { return err } return nil }(); err != nil { return errors.Wrap(err, "decode field \"GameID\"") } case "Date": requiredBitSet[0] |= 1 << 4 if err := func() error { v, err := d.Int64() s.Date = int64(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 Map") } // 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(jsonFieldsNameOfMap) { name = jsonFieldsNameOfMap[fieldIdx] } else { name = strconv.Itoa(fieldIdx) } failures = append(failures, validate.FieldError{ Name: name, Error: validate.ErrFieldRequired, }) // Reset bit. result &^= 1 << bitIdx } } } if len(failures) > 0 { return &validate.Error{Fields: failures} } return nil } // MarshalJSON implements stdjson.Marshaler. func (s *Map) MarshalJSON() ([]byte, error) { e := jx.Encoder{} s.Encode(&e) return e.Bytes(), nil } // UnmarshalJSON implements stdjson.Unmarshaler. func (s *Map) UnmarshalJSON(data []byte) error { d := jx.DecodeBytes(data) return s.Decode(d) } // Encode implements json.Marshaler. func (s *Mapfix) Encode(e *jx.Encoder) { e.ObjStart() s.encodeFields(e) e.ObjEnd() } // encodeFields encodes fields. func (s *Mapfix) encodeFields(e *jx.Encoder) { { e.FieldStart("ID") e.Int64(s.ID) } { e.FieldStart("DisplayName") e.Str(s.DisplayName) } { e.FieldStart("Creator") e.Str(s.Creator) } { e.FieldStart("GameID") e.Int32(s.GameID) } { e.FieldStart("CreatedAt") e.Int64(s.CreatedAt) } { e.FieldStart("UpdatedAt") e.Int64(s.UpdatedAt) } { e.FieldStart("Submitter") e.Int64(s.Submitter) } { e.FieldStart("AssetID") e.Int64(s.AssetID) } { e.FieldStart("AssetVersion") e.Int64(s.AssetVersion) } { e.FieldStart("Completed") e.Bool(s.Completed) } { e.FieldStart("TargetAssetID") e.Int64(s.TargetAssetID) } { e.FieldStart("StatusID") e.Int32(s.StatusID) } { e.FieldStart("StatusMessage") e.Str(s.StatusMessage) } } var jsonFieldsNameOfMapfix = [13]string{ 0: "ID", 1: "DisplayName", 2: "Creator", 3: "GameID", 4: "CreatedAt", 5: "UpdatedAt", 6: "Submitter", 7: "AssetID", 8: "AssetVersion", 9: "Completed", 10: "TargetAssetID", 11: "StatusID", 12: "StatusMessage", } // Decode decodes Mapfix from json. func (s *Mapfix) Decode(d *jx.Decoder) error { if s == nil { return errors.New("invalid: unable to decode Mapfix to nil") } var requiredBitSet [2]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.Int64() s.ID = int64(v) if err != nil { return err } return nil }(); err != nil { return errors.Wrap(err, "decode field \"ID\"") } case "DisplayName": requiredBitSet[0] |= 1 << 1 if err := func() error { v, err := d.Str() s.DisplayName = string(v) if err != nil { return err } return nil }(); err != nil { return errors.Wrap(err, "decode field \"DisplayName\"") } case "Creator": requiredBitSet[0] |= 1 << 2 if err := func() error { v, err := d.Str() s.Creator = string(v) if err != nil { return err } return nil }(); err != nil { return errors.Wrap(err, "decode field \"Creator\"") } case "GameID": requiredBitSet[0] |= 1 << 3 if err := func() error { v, err := d.Int32() s.GameID = int32(v) if err != nil { return err } return nil }(); err != nil { return errors.Wrap(err, "decode field \"GameID\"") } case "CreatedAt": requiredBitSet[0] |= 1 << 4 if err := func() error { v, err := d.Int64() s.CreatedAt = int64(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 := d.Int64() s.UpdatedAt = int64(v) if err != nil { return err } return nil }(); err != nil { return errors.Wrap(err, "decode field \"UpdatedAt\"") } case "Submitter": requiredBitSet[0] |= 1 << 6 if err := func() error { v, err := d.Int64() s.Submitter = int64(v) if err != nil { return err } return nil }(); err != nil { return errors.Wrap(err, "decode field \"Submitter\"") } case "AssetID": requiredBitSet[0] |= 1 << 7 if err := func() error { v, err := d.Int64() s.AssetID = int64(v) if err != nil { return err } return nil }(); err != nil { return errors.Wrap(err, "decode field \"AssetID\"") } case "AssetVersion": requiredBitSet[1] |= 1 << 0 if err := func() error { v, err := d.Int64() s.AssetVersion = int64(v) if err != nil { return err } return nil }(); err != nil { return errors.Wrap(err, "decode field \"AssetVersion\"") } case "Completed": requiredBitSet[1] |= 1 << 1 if err := func() error { v, err := d.Bool() s.Completed = bool(v) if err != nil { return err } return nil }(); err != nil { return errors.Wrap(err, "decode field \"Completed\"") } case "TargetAssetID": requiredBitSet[1] |= 1 << 2 if err := func() error { v, err := d.Int64() s.TargetAssetID = int64(v) if err != nil { return err } return nil }(); err != nil { return errors.Wrap(err, "decode field \"TargetAssetID\"") } case "StatusID": requiredBitSet[1] |= 1 << 3 if err := func() error { v, err := d.Int32() s.StatusID = int32(v) if err != nil { return err } return nil }(); err != nil { return errors.Wrap(err, "decode field \"StatusID\"") } case "StatusMessage": requiredBitSet[1] |= 1 << 4 if err := func() error { v, err := d.Str() s.StatusMessage = string(v) if err != nil { return err } return nil }(); err != nil { return errors.Wrap(err, "decode field \"StatusMessage\"") } default: return d.Skip() } return nil }); err != nil { return errors.Wrap(err, "decode Mapfix") } // 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(jsonFieldsNameOfMapfix) { name = jsonFieldsNameOfMapfix[fieldIdx] } else { name = strconv.Itoa(fieldIdx) } failures = append(failures, validate.FieldError{ Name: name, Error: validate.ErrFieldRequired, }) // Reset bit. result &^= 1 << bitIdx } } } if len(failures) > 0 { return &validate.Error{Fields: failures} } return nil } // MarshalJSON implements stdjson.Marshaler. func (s *Mapfix) MarshalJSON() ([]byte, error) { e := jx.Encoder{} s.Encode(&e) return e.Bytes(), nil } // UnmarshalJSON implements stdjson.Unmarshaler. func (s *Mapfix) UnmarshalJSON(data []byte) error { d := jx.DecodeBytes(data) return s.Decode(d) } // Encode implements json.Marshaler. func (s *MapfixTriggerCreate) Encode(e *jx.Encoder) { e.ObjStart() s.encodeFields(e) e.ObjEnd() } // encodeFields encodes fields. func (s *MapfixTriggerCreate) encodeFields(e *jx.Encoder) { { e.FieldStart("AssetID") e.Int64(s.AssetID) } { e.FieldStart("TargetAssetID") e.Int64(s.TargetAssetID) } } var jsonFieldsNameOfMapfixTriggerCreate = [2]string{ 0: "AssetID", 1: "TargetAssetID", } // Decode decodes MapfixTriggerCreate from json. func (s *MapfixTriggerCreate) Decode(d *jx.Decoder) error { if s == nil { return errors.New("invalid: unable to decode MapfixTriggerCreate to nil") } var requiredBitSet [1]uint8 if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { switch string(k) { case "AssetID": requiredBitSet[0] |= 1 << 0 if err := func() error { v, err := d.Int64() s.AssetID = int64(v) if err != nil { return err } return nil }(); err != nil { return errors.Wrap(err, "decode field \"AssetID\"") } case "TargetAssetID": requiredBitSet[0] |= 1 << 1 if err := func() error { v, err := d.Int64() s.TargetAssetID = int64(v) if err != nil { return err } return nil }(); err != nil { return errors.Wrap(err, "decode field \"TargetAssetID\"") } default: return d.Skip() } return nil }); err != nil { return errors.Wrap(err, "decode MapfixTriggerCreate") } // 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(jsonFieldsNameOfMapfixTriggerCreate) { name = jsonFieldsNameOfMapfixTriggerCreate[fieldIdx] } else { name = strconv.Itoa(fieldIdx) } failures = append(failures, validate.FieldError{ Name: name, Error: validate.ErrFieldRequired, }) // Reset bit. result &^= 1 << bitIdx } } } if len(failures) > 0 { return &validate.Error{Fields: failures} } return nil } // MarshalJSON implements stdjson.Marshaler. func (s *MapfixTriggerCreate) MarshalJSON() ([]byte, error) { e := jx.Encoder{} s.Encode(&e) return e.Bytes(), nil } // UnmarshalJSON implements stdjson.Unmarshaler. func (s *MapfixTriggerCreate) UnmarshalJSON(data []byte) error { d := jx.DecodeBytes(data) return s.Decode(d) } // Encode implements json.Marshaler. func (s *Operation) Encode(e *jx.Encoder) { e.ObjStart() s.encodeFields(e) e.ObjEnd() } // encodeFields encodes fields. func (s *Operation) encodeFields(e *jx.Encoder) { { e.FieldStart("OperationID") e.Int32(s.OperationID) } { e.FieldStart("Date") e.Int64(s.Date) } { e.FieldStart("Owner") e.Int64(s.Owner) } { e.FieldStart("Status") e.Int32(s.Status) } { e.FieldStart("StatusMessage") e.Str(s.StatusMessage) } { e.FieldStart("Path") e.Str(s.Path) } } var jsonFieldsNameOfOperation = [6]string{ 0: "OperationID", 1: "Date", 2: "Owner", 3: "Status", 4: "StatusMessage", 5: "Path", } // Decode decodes Operation from json. func (s *Operation) Decode(d *jx.Decoder) error { if s == nil { return errors.New("invalid: unable to decode Operation to nil") } var requiredBitSet [1]uint8 if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { switch string(k) { case "OperationID": requiredBitSet[0] |= 1 << 0 if err := func() error { v, err := d.Int32() s.OperationID = int32(v) if err != nil { return err } return nil }(); err != nil { return errors.Wrap(err, "decode field \"OperationID\"") } case "Date": requiredBitSet[0] |= 1 << 1 if err := func() error { v, err := d.Int64() s.Date = int64(v) if err != nil { return err } return nil }(); err != nil { return errors.Wrap(err, "decode field \"Date\"") } case "Owner": requiredBitSet[0] |= 1 << 2 if err := func() error { v, err := d.Int64() s.Owner = int64(v) if err != nil { return err } return nil }(); err != nil { return errors.Wrap(err, "decode field \"Owner\"") } case "Status": requiredBitSet[0] |= 1 << 3 if err := func() error { v, err := d.Int32() s.Status = int32(v) if err != nil { return err } return nil }(); err != nil { return errors.Wrap(err, "decode field \"Status\"") } case "StatusMessage": requiredBitSet[0] |= 1 << 4 if err := func() error { v, err := d.Str() s.StatusMessage = string(v) if err != nil { return err } return nil }(); err != nil { return errors.Wrap(err, "decode field \"StatusMessage\"") } case "Path": requiredBitSet[0] |= 1 << 5 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\"") } default: return d.Skip() } return nil }); err != nil { return errors.Wrap(err, "decode Operation") } // 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(jsonFieldsNameOfOperation) { name = jsonFieldsNameOfOperation[fieldIdx] } else { name = strconv.Itoa(fieldIdx) } failures = append(failures, validate.FieldError{ Name: name, Error: validate.ErrFieldRequired, }) // Reset bit. result &^= 1 << bitIdx } } } if len(failures) > 0 { return &validate.Error{Fields: failures} } return nil } // MarshalJSON implements stdjson.Marshaler. func (s *Operation) MarshalJSON() ([]byte, error) { e := jx.Encoder{} s.Encode(&e) return e.Bytes(), nil } // UnmarshalJSON implements stdjson.Unmarshaler. func (s *Operation) UnmarshalJSON(data []byte) error { d := jx.DecodeBytes(data) return s.Decode(d) } // Encode implements json.Marshaler. func (s *OperationID) Encode(e *jx.Encoder) { e.ObjStart() s.encodeFields(e) e.ObjEnd() } // encodeFields encodes fields. func (s *OperationID) encodeFields(e *jx.Encoder) { { e.FieldStart("OperationID") e.Int32(s.OperationID) } } var jsonFieldsNameOfOperationID = [1]string{ 0: "OperationID", } // Decode decodes OperationID from json. func (s *OperationID) Decode(d *jx.Decoder) error { if s == nil { return errors.New("invalid: unable to decode OperationID to nil") } var requiredBitSet [1]uint8 if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { switch string(k) { case "OperationID": requiredBitSet[0] |= 1 << 0 if err := func() error { v, err := d.Int32() s.OperationID = int32(v) if err != nil { return err } return nil }(); err != nil { return errors.Wrap(err, "decode field \"OperationID\"") } default: return d.Skip() } return nil }); err != nil { return errors.Wrap(err, "decode OperationID") } // 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(jsonFieldsNameOfOperationID) { name = jsonFieldsNameOfOperationID[fieldIdx] } else { name = strconv.Itoa(fieldIdx) } failures = append(failures, validate.FieldError{ Name: name, Error: validate.ErrFieldRequired, }) // Reset bit. result &^= 1 << bitIdx } } } if len(failures) > 0 { return &validate.Error{Fields: failures} } return nil } // MarshalJSON implements stdjson.Marshaler. func (s *OperationID) MarshalJSON() ([]byte, error) { e := jx.Encoder{} s.Encode(&e) return e.Bytes(), nil } // UnmarshalJSON implements stdjson.Unmarshaler. func (s *OperationID) UnmarshalJSON(data []byte) error { d := jx.DecodeBytes(data) return s.Decode(d) } // Encode encodes int32 as json. func (o OptInt32) Encode(e *jx.Encoder) { if !o.Set { return } e.Int32(int32(o.Value)) } // Decode decodes int32 from json. func (o *OptInt32) Decode(d *jx.Decoder) error { if o == nil { return errors.New("invalid: unable to decode OptInt32 to nil") } o.Set = true v, err := d.Int32() if err != nil { return err } o.Value = int32(v) return nil } // MarshalJSON implements stdjson.Marshaler. func (s OptInt32) MarshalJSON() ([]byte, error) { e := jx.Encoder{} s.Encode(&e) return e.Bytes(), nil } // UnmarshalJSON implements stdjson.Unmarshaler. func (s *OptInt32) UnmarshalJSON(data []byte) error { d := jx.DecodeBytes(data) return s.Decode(d) } // Encode encodes int64 as json. func (o OptInt64) Encode(e *jx.Encoder) { if !o.Set { return } e.Int64(int64(o.Value)) } // Decode decodes int64 from json. func (o *OptInt64) Decode(d *jx.Decoder) error { if o == nil { return errors.New("invalid: unable to decode OptInt64 to nil") } o.Set = true v, err := d.Int64() if err != nil { return err } o.Value = int64(v) return nil } // MarshalJSON implements stdjson.Marshaler. func (s OptInt64) MarshalJSON() ([]byte, error) { e := jx.Encoder{} s.Encode(&e) return e.Bytes(), nil } // UnmarshalJSON implements stdjson.Unmarshaler. func (s *OptInt64) 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 implements json.Marshaler. func (s *ReleaseInfo) Encode(e *jx.Encoder) { e.ObjStart() s.encodeFields(e) e.ObjEnd() } // encodeFields encodes fields. func (s *ReleaseInfo) encodeFields(e *jx.Encoder) { { e.FieldStart("SubmissionID") e.Int64(s.SubmissionID) } { e.FieldStart("Date") json.EncodeDateTime(e, s.Date) } } var jsonFieldsNameOfReleaseInfo = [2]string{ 0: "SubmissionID", 1: "Date", } // Decode decodes ReleaseInfo from json. func (s *ReleaseInfo) Decode(d *jx.Decoder) error { if s == nil { return errors.New("invalid: unable to decode ReleaseInfo to nil") } var requiredBitSet [1]uint8 if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { switch string(k) { case "SubmissionID": requiredBitSet[0] |= 1 << 0 if err := func() error { v, err := d.Int64() s.SubmissionID = int64(v) if err != nil { return err } return nil }(); err != nil { return errors.Wrap(err, "decode field \"SubmissionID\"") } case "Date": requiredBitSet[0] |= 1 << 1 if err := func() error { v, err := json.DecodeDateTime(d) s.Date = 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 ReleaseInfo") } // 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(jsonFieldsNameOfReleaseInfo) { name = jsonFieldsNameOfReleaseInfo[fieldIdx] } else { name = strconv.Itoa(fieldIdx) } failures = append(failures, validate.FieldError{ Name: name, Error: validate.ErrFieldRequired, }) // Reset bit. result &^= 1 << bitIdx } } } if len(failures) > 0 { return &validate.Error{Fields: failures} } return nil } // MarshalJSON implements stdjson.Marshaler. func (s *ReleaseInfo) MarshalJSON() ([]byte, error) { e := jx.Encoder{} s.Encode(&e) return e.Bytes(), nil } // UnmarshalJSON implements stdjson.Unmarshaler. func (s *ReleaseInfo) UnmarshalJSON(data []byte) error { d := jx.DecodeBytes(data) return s.Decode(d) } // Encode implements json.Marshaler. func (s *Roles) Encode(e *jx.Encoder) { e.ObjStart() s.encodeFields(e) e.ObjEnd() } // encodeFields encodes fields. func (s *Roles) encodeFields(e *jx.Encoder) { { e.FieldStart("Roles") e.Int32(s.Roles) } } var jsonFieldsNameOfRoles = [1]string{ 0: "Roles", } // Decode decodes Roles from json. func (s *Roles) Decode(d *jx.Decoder) error { if s == nil { return errors.New("invalid: unable to decode Roles to nil") } var requiredBitSet [1]uint8 if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { switch string(k) { case "Roles": requiredBitSet[0] |= 1 << 0 if err := func() error { v, err := d.Int32() s.Roles = int32(v) if err != nil { return err } return nil }(); err != nil { return errors.Wrap(err, "decode field \"Roles\"") } default: return d.Skip() } return nil }); err != nil { return errors.Wrap(err, "decode Roles") } // 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(jsonFieldsNameOfRoles) { name = jsonFieldsNameOfRoles[fieldIdx] } else { name = strconv.Itoa(fieldIdx) } failures = append(failures, validate.FieldError{ Name: name, Error: validate.ErrFieldRequired, }) // Reset bit. result &^= 1 << bitIdx } } } if len(failures) > 0 { return &validate.Error{Fields: failures} } return nil } // MarshalJSON implements stdjson.Marshaler. func (s *Roles) MarshalJSON() ([]byte, error) { e := jx.Encoder{} s.Encode(&e) return e.Bytes(), nil } // UnmarshalJSON implements stdjson.Unmarshaler. func (s *Roles) UnmarshalJSON(data []byte) error { d := jx.DecodeBytes(data) return s.Decode(d) } // Encode implements json.Marshaler. func (s *Script) Encode(e *jx.Encoder) { e.ObjStart() s.encodeFields(e) e.ObjEnd() } // encodeFields encodes fields. func (s *Script) encodeFields(e *jx.Encoder) { { e.FieldStart("ID") e.Int64(s.ID) } { e.FieldStart("Name") e.Str(s.Name) } { e.FieldStart("Hash") e.Str(s.Hash) } { e.FieldStart("Source") e.Str(s.Source) } { e.FieldStart("ResourceType") e.Int32(s.ResourceType) } { e.FieldStart("ResourceID") e.Int64(s.ResourceID) } } var jsonFieldsNameOfScript = [6]string{ 0: "ID", 1: "Name", 2: "Hash", 3: "Source", 4: "ResourceType", 5: "ResourceID", } // Decode decodes Script from json. func (s *Script) Decode(d *jx.Decoder) error { if s == nil { return errors.New("invalid: unable to decode Script 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.Int64() s.ID = int64(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 "Hash": requiredBitSet[0] |= 1 << 2 if err := func() error { v, err := d.Str() s.Hash = string(v) if err != nil { return err } return nil }(); err != nil { return errors.Wrap(err, "decode field \"Hash\"") } case "Source": requiredBitSet[0] |= 1 << 3 if err := func() error { v, err := d.Str() s.Source = string(v) if err != nil { return err } return nil }(); err != nil { return errors.Wrap(err, "decode field \"Source\"") } case "ResourceType": requiredBitSet[0] |= 1 << 4 if err := func() error { v, err := d.Int32() s.ResourceType = int32(v) if err != nil { return err } return nil }(); err != nil { return errors.Wrap(err, "decode field \"ResourceType\"") } case "ResourceID": requiredBitSet[0] |= 1 << 5 if err := func() error { v, err := d.Int64() s.ResourceID = int64(v) if err != nil { return err } return nil }(); err != nil { return errors.Wrap(err, "decode field \"ResourceID\"") } default: return d.Skip() } return nil }); err != nil { return errors.Wrap(err, "decode Script") } // 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(jsonFieldsNameOfScript) { name = jsonFieldsNameOfScript[fieldIdx] } else { name = strconv.Itoa(fieldIdx) } failures = append(failures, validate.FieldError{ Name: name, Error: validate.ErrFieldRequired, }) // Reset bit. result &^= 1 << bitIdx } } } if len(failures) > 0 { return &validate.Error{Fields: failures} } return nil } // MarshalJSON implements stdjson.Marshaler. func (s *Script) MarshalJSON() ([]byte, error) { e := jx.Encoder{} s.Encode(&e) return e.Bytes(), nil } // UnmarshalJSON implements stdjson.Unmarshaler. func (s *Script) UnmarshalJSON(data []byte) error { d := jx.DecodeBytes(data) return s.Decode(d) } // Encode implements json.Marshaler. func (s *ScriptCreate) Encode(e *jx.Encoder) { e.ObjStart() s.encodeFields(e) e.ObjEnd() } // encodeFields encodes fields. func (s *ScriptCreate) encodeFields(e *jx.Encoder) { { e.FieldStart("Name") e.Str(s.Name) } { e.FieldStart("Source") e.Str(s.Source) } { e.FieldStart("ResourceType") e.Int32(s.ResourceType) } { if s.ResourceID.Set { e.FieldStart("ResourceID") s.ResourceID.Encode(e) } } } var jsonFieldsNameOfScriptCreate = [4]string{ 0: "Name", 1: "Source", 2: "ResourceType", 3: "ResourceID", } // Decode decodes ScriptCreate from json. func (s *ScriptCreate) Decode(d *jx.Decoder) error { if s == nil { return errors.New("invalid: unable to decode ScriptCreate 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 "Source": requiredBitSet[0] |= 1 << 1 if err := func() error { v, err := d.Str() s.Source = string(v) if err != nil { return err } return nil }(); err != nil { return errors.Wrap(err, "decode field \"Source\"") } case "ResourceType": requiredBitSet[0] |= 1 << 2 if err := func() error { v, err := d.Int32() s.ResourceType = int32(v) if err != nil { return err } return nil }(); err != nil { return errors.Wrap(err, "decode field \"ResourceType\"") } case "ResourceID": if err := func() error { s.ResourceID.Reset() if err := s.ResourceID.Decode(d); err != nil { return err } return nil }(); err != nil { return errors.Wrap(err, "decode field \"ResourceID\"") } default: return d.Skip() } return nil }); err != nil { return errors.Wrap(err, "decode ScriptCreate") } // 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(jsonFieldsNameOfScriptCreate) { name = jsonFieldsNameOfScriptCreate[fieldIdx] } else { name = strconv.Itoa(fieldIdx) } failures = append(failures, validate.FieldError{ Name: name, Error: validate.ErrFieldRequired, }) // Reset bit. result &^= 1 << bitIdx } } } if len(failures) > 0 { return &validate.Error{Fields: failures} } return nil } // MarshalJSON implements stdjson.Marshaler. func (s *ScriptCreate) MarshalJSON() ([]byte, error) { e := jx.Encoder{} s.Encode(&e) return e.Bytes(), nil } // UnmarshalJSON implements stdjson.Unmarshaler. func (s *ScriptCreate) UnmarshalJSON(data []byte) error { d := jx.DecodeBytes(data) return s.Decode(d) } // Encode implements json.Marshaler. func (s *ScriptID) Encode(e *jx.Encoder) { e.ObjStart() s.encodeFields(e) e.ObjEnd() } // encodeFields encodes fields. func (s *ScriptID) encodeFields(e *jx.Encoder) { { e.FieldStart("ScriptID") e.Int64(s.ScriptID) } } var jsonFieldsNameOfScriptID = [1]string{ 0: "ScriptID", } // Decode decodes ScriptID from json. func (s *ScriptID) Decode(d *jx.Decoder) error { if s == nil { return errors.New("invalid: unable to decode ScriptID to nil") } var requiredBitSet [1]uint8 if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { switch string(k) { case "ScriptID": requiredBitSet[0] |= 1 << 0 if err := func() error { v, err := d.Int64() s.ScriptID = int64(v) if err != nil { return err } return nil }(); err != nil { return errors.Wrap(err, "decode field \"ScriptID\"") } default: return d.Skip() } return nil }); err != nil { return errors.Wrap(err, "decode ScriptID") } // 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(jsonFieldsNameOfScriptID) { name = jsonFieldsNameOfScriptID[fieldIdx] } else { name = strconv.Itoa(fieldIdx) } failures = append(failures, validate.FieldError{ Name: name, Error: validate.ErrFieldRequired, }) // Reset bit. result &^= 1 << bitIdx } } } if len(failures) > 0 { return &validate.Error{Fields: failures} } return nil } // MarshalJSON implements stdjson.Marshaler. func (s *ScriptID) MarshalJSON() ([]byte, error) { e := jx.Encoder{} s.Encode(&e) return e.Bytes(), nil } // UnmarshalJSON implements stdjson.Unmarshaler. func (s *ScriptID) UnmarshalJSON(data []byte) error { d := jx.DecodeBytes(data) return s.Decode(d) } // Encode implements json.Marshaler. func (s *ScriptPolicy) Encode(e *jx.Encoder) { e.ObjStart() s.encodeFields(e) e.ObjEnd() } // encodeFields encodes fields. func (s *ScriptPolicy) encodeFields(e *jx.Encoder) { { e.FieldStart("ID") e.Int64(s.ID) } { e.FieldStart("FromScriptHash") e.Str(s.FromScriptHash) } { e.FieldStart("ToScriptID") e.Int64(s.ToScriptID) } { e.FieldStart("Policy") e.Int32(s.Policy) } } var jsonFieldsNameOfScriptPolicy = [4]string{ 0: "ID", 1: "FromScriptHash", 2: "ToScriptID", 3: "Policy", } // Decode decodes ScriptPolicy from json. func (s *ScriptPolicy) Decode(d *jx.Decoder) error { if s == nil { return errors.New("invalid: unable to decode ScriptPolicy 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.Int64() s.ID = int64(v) if err != nil { return err } return nil }(); err != nil { return errors.Wrap(err, "decode field \"ID\"") } case "FromScriptHash": requiredBitSet[0] |= 1 << 1 if err := func() error { v, err := d.Str() s.FromScriptHash = string(v) if err != nil { return err } return nil }(); err != nil { return errors.Wrap(err, "decode field \"FromScriptHash\"") } case "ToScriptID": requiredBitSet[0] |= 1 << 2 if err := func() error { v, err := d.Int64() s.ToScriptID = int64(v) if err != nil { return err } return nil }(); err != nil { return errors.Wrap(err, "decode field \"ToScriptID\"") } case "Policy": requiredBitSet[0] |= 1 << 3 if err := func() error { v, err := d.Int32() s.Policy = int32(v) if err != nil { return err } return nil }(); err != nil { return errors.Wrap(err, "decode field \"Policy\"") } default: return d.Skip() } return nil }); err != nil { return errors.Wrap(err, "decode ScriptPolicy") } // 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(jsonFieldsNameOfScriptPolicy) { name = jsonFieldsNameOfScriptPolicy[fieldIdx] } else { name = strconv.Itoa(fieldIdx) } failures = append(failures, validate.FieldError{ Name: name, Error: validate.ErrFieldRequired, }) // Reset bit. result &^= 1 << bitIdx } } } if len(failures) > 0 { return &validate.Error{Fields: failures} } return nil } // MarshalJSON implements stdjson.Marshaler. func (s *ScriptPolicy) MarshalJSON() ([]byte, error) { e := jx.Encoder{} s.Encode(&e) return e.Bytes(), nil } // UnmarshalJSON implements stdjson.Unmarshaler. func (s *ScriptPolicy) UnmarshalJSON(data []byte) error { d := jx.DecodeBytes(data) return s.Decode(d) } // Encode implements json.Marshaler. func (s *ScriptPolicyCreate) Encode(e *jx.Encoder) { e.ObjStart() s.encodeFields(e) e.ObjEnd() } // encodeFields encodes fields. func (s *ScriptPolicyCreate) encodeFields(e *jx.Encoder) { { e.FieldStart("FromScriptID") e.Int64(s.FromScriptID) } { e.FieldStart("ToScriptID") e.Int64(s.ToScriptID) } { e.FieldStart("Policy") e.Int32(s.Policy) } } var jsonFieldsNameOfScriptPolicyCreate = [3]string{ 0: "FromScriptID", 1: "ToScriptID", 2: "Policy", } // Decode decodes ScriptPolicyCreate from json. func (s *ScriptPolicyCreate) Decode(d *jx.Decoder) error { if s == nil { return errors.New("invalid: unable to decode ScriptPolicyCreate to nil") } var requiredBitSet [1]uint8 if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { switch string(k) { case "FromScriptID": requiredBitSet[0] |= 1 << 0 if err := func() error { v, err := d.Int64() s.FromScriptID = int64(v) if err != nil { return err } return nil }(); err != nil { return errors.Wrap(err, "decode field \"FromScriptID\"") } case "ToScriptID": requiredBitSet[0] |= 1 << 1 if err := func() error { v, err := d.Int64() s.ToScriptID = int64(v) if err != nil { return err } return nil }(); err != nil { return errors.Wrap(err, "decode field \"ToScriptID\"") } case "Policy": requiredBitSet[0] |= 1 << 2 if err := func() error { v, err := d.Int32() s.Policy = int32(v) if err != nil { return err } return nil }(); err != nil { return errors.Wrap(err, "decode field \"Policy\"") } default: return d.Skip() } return nil }); err != nil { return errors.Wrap(err, "decode ScriptPolicyCreate") } // 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(jsonFieldsNameOfScriptPolicyCreate) { name = jsonFieldsNameOfScriptPolicyCreate[fieldIdx] } else { name = strconv.Itoa(fieldIdx) } failures = append(failures, validate.FieldError{ Name: name, Error: validate.ErrFieldRequired, }) // Reset bit. result &^= 1 << bitIdx } } } if len(failures) > 0 { return &validate.Error{Fields: failures} } return nil } // MarshalJSON implements stdjson.Marshaler. func (s *ScriptPolicyCreate) MarshalJSON() ([]byte, error) { e := jx.Encoder{} s.Encode(&e) return e.Bytes(), nil } // UnmarshalJSON implements stdjson.Unmarshaler. func (s *ScriptPolicyCreate) UnmarshalJSON(data []byte) error { d := jx.DecodeBytes(data) return s.Decode(d) } // Encode implements json.Marshaler. func (s *ScriptPolicyID) Encode(e *jx.Encoder) { e.ObjStart() s.encodeFields(e) e.ObjEnd() } // encodeFields encodes fields. func (s *ScriptPolicyID) encodeFields(e *jx.Encoder) { { e.FieldStart("ScriptPolicyID") e.Int64(s.ScriptPolicyID) } } var jsonFieldsNameOfScriptPolicyID = [1]string{ 0: "ScriptPolicyID", } // Decode decodes ScriptPolicyID from json. func (s *ScriptPolicyID) Decode(d *jx.Decoder) error { if s == nil { return errors.New("invalid: unable to decode ScriptPolicyID to nil") } var requiredBitSet [1]uint8 if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { switch string(k) { case "ScriptPolicyID": requiredBitSet[0] |= 1 << 0 if err := func() error { v, err := d.Int64() s.ScriptPolicyID = int64(v) if err != nil { return err } return nil }(); err != nil { return errors.Wrap(err, "decode field \"ScriptPolicyID\"") } default: return d.Skip() } return nil }); err != nil { return errors.Wrap(err, "decode ScriptPolicyID") } // 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(jsonFieldsNameOfScriptPolicyID) { name = jsonFieldsNameOfScriptPolicyID[fieldIdx] } else { name = strconv.Itoa(fieldIdx) } failures = append(failures, validate.FieldError{ Name: name, Error: validate.ErrFieldRequired, }) // Reset bit. result &^= 1 << bitIdx } } } if len(failures) > 0 { return &validate.Error{Fields: failures} } return nil } // MarshalJSON implements stdjson.Marshaler. func (s *ScriptPolicyID) MarshalJSON() ([]byte, error) { e := jx.Encoder{} s.Encode(&e) return e.Bytes(), nil } // UnmarshalJSON implements stdjson.Unmarshaler. func (s *ScriptPolicyID) UnmarshalJSON(data []byte) error { d := jx.DecodeBytes(data) return s.Decode(d) } // Encode implements json.Marshaler. func (s *ScriptPolicyUpdate) Encode(e *jx.Encoder) { e.ObjStart() s.encodeFields(e) e.ObjEnd() } // encodeFields encodes fields. func (s *ScriptPolicyUpdate) encodeFields(e *jx.Encoder) { { e.FieldStart("ID") e.Int64(s.ID) } { if s.FromScriptID.Set { e.FieldStart("FromScriptID") s.FromScriptID.Encode(e) } } { if s.ToScriptID.Set { e.FieldStart("ToScriptID") s.ToScriptID.Encode(e) } } { if s.Policy.Set { e.FieldStart("Policy") s.Policy.Encode(e) } } } var jsonFieldsNameOfScriptPolicyUpdate = [4]string{ 0: "ID", 1: "FromScriptID", 2: "ToScriptID", 3: "Policy", } // Decode decodes ScriptPolicyUpdate from json. func (s *ScriptPolicyUpdate) Decode(d *jx.Decoder) error { if s == nil { return errors.New("invalid: unable to decode ScriptPolicyUpdate 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.Int64() s.ID = int64(v) if err != nil { return err } return nil }(); err != nil { return errors.Wrap(err, "decode field \"ID\"") } case "FromScriptID": if err := func() error { s.FromScriptID.Reset() if err := s.FromScriptID.Decode(d); err != nil { return err } return nil }(); err != nil { return errors.Wrap(err, "decode field \"FromScriptID\"") } case "ToScriptID": if err := func() error { s.ToScriptID.Reset() if err := s.ToScriptID.Decode(d); err != nil { return err } return nil }(); err != nil { return errors.Wrap(err, "decode field \"ToScriptID\"") } case "Policy": if err := func() error { s.Policy.Reset() if err := s.Policy.Decode(d); err != nil { return err } return nil }(); err != nil { return errors.Wrap(err, "decode field \"Policy\"") } default: return d.Skip() } return nil }); err != nil { return errors.Wrap(err, "decode ScriptPolicyUpdate") } // 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(jsonFieldsNameOfScriptPolicyUpdate) { name = jsonFieldsNameOfScriptPolicyUpdate[fieldIdx] } else { name = strconv.Itoa(fieldIdx) } failures = append(failures, validate.FieldError{ Name: name, Error: validate.ErrFieldRequired, }) // Reset bit. result &^= 1 << bitIdx } } } if len(failures) > 0 { return &validate.Error{Fields: failures} } return nil } // MarshalJSON implements stdjson.Marshaler. func (s *ScriptPolicyUpdate) MarshalJSON() ([]byte, error) { e := jx.Encoder{} s.Encode(&e) return e.Bytes(), nil } // UnmarshalJSON implements stdjson.Unmarshaler. func (s *ScriptPolicyUpdate) UnmarshalJSON(data []byte) error { d := jx.DecodeBytes(data) return s.Decode(d) } // Encode implements json.Marshaler. func (s *ScriptUpdate) Encode(e *jx.Encoder) { e.ObjStart() s.encodeFields(e) e.ObjEnd() } // encodeFields encodes fields. func (s *ScriptUpdate) encodeFields(e *jx.Encoder) { { e.FieldStart("ID") e.Int64(s.ID) } { if s.Name.Set { e.FieldStart("Name") s.Name.Encode(e) } } { if s.Source.Set { e.FieldStart("Source") s.Source.Encode(e) } } { if s.ResourceType.Set { e.FieldStart("ResourceType") s.ResourceType.Encode(e) } } { if s.ResourceID.Set { e.FieldStart("ResourceID") s.ResourceID.Encode(e) } } } var jsonFieldsNameOfScriptUpdate = [5]string{ 0: "ID", 1: "Name", 2: "Source", 3: "ResourceType", 4: "ResourceID", } // Decode decodes ScriptUpdate from json. func (s *ScriptUpdate) Decode(d *jx.Decoder) error { if s == nil { return errors.New("invalid: unable to decode ScriptUpdate 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.Int64() s.ID = int64(v) if err != nil { return err } return nil }(); err != nil { return errors.Wrap(err, "decode field \"ID\"") } 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 "Source": if err := func() error { s.Source.Reset() if err := s.Source.Decode(d); err != nil { return err } return nil }(); err != nil { return errors.Wrap(err, "decode field \"Source\"") } case "ResourceType": if err := func() error { s.ResourceType.Reset() if err := s.ResourceType.Decode(d); err != nil { return err } return nil }(); err != nil { return errors.Wrap(err, "decode field \"ResourceType\"") } case "ResourceID": if err := func() error { s.ResourceID.Reset() if err := s.ResourceID.Decode(d); err != nil { return err } return nil }(); err != nil { return errors.Wrap(err, "decode field \"ResourceID\"") } default: return d.Skip() } return nil }); err != nil { return errors.Wrap(err, "decode ScriptUpdate") } // 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(jsonFieldsNameOfScriptUpdate) { name = jsonFieldsNameOfScriptUpdate[fieldIdx] } else { name = strconv.Itoa(fieldIdx) } failures = append(failures, validate.FieldError{ Name: name, Error: validate.ErrFieldRequired, }) // Reset bit. result &^= 1 << bitIdx } } } if len(failures) > 0 { return &validate.Error{Fields: failures} } return nil } // MarshalJSON implements stdjson.Marshaler. func (s *ScriptUpdate) MarshalJSON() ([]byte, error) { e := jx.Encoder{} s.Encode(&e) return e.Bytes(), nil } // UnmarshalJSON implements stdjson.Unmarshaler. func (s *ScriptUpdate) UnmarshalJSON(data []byte) error { d := jx.DecodeBytes(data) return s.Decode(d) } // Encode implements json.Marshaler. func (s *Submission) Encode(e *jx.Encoder) { e.ObjStart() s.encodeFields(e) e.ObjEnd() } // encodeFields encodes fields. func (s *Submission) encodeFields(e *jx.Encoder) { { e.FieldStart("ID") e.Int64(s.ID) } { e.FieldStart("DisplayName") e.Str(s.DisplayName) } { e.FieldStart("Creator") e.Str(s.Creator) } { e.FieldStart("GameID") e.Int32(s.GameID) } { e.FieldStart("CreatedAt") e.Int64(s.CreatedAt) } { e.FieldStart("UpdatedAt") e.Int64(s.UpdatedAt) } { e.FieldStart("Submitter") e.Int64(s.Submitter) } { e.FieldStart("AssetID") e.Int64(s.AssetID) } { e.FieldStart("AssetVersion") e.Int64(s.AssetVersion) } { if s.ValidatedAssetID.Set { e.FieldStart("ValidatedAssetID") s.ValidatedAssetID.Encode(e) } } { if s.ValidatedAssetVersion.Set { e.FieldStart("ValidatedAssetVersion") s.ValidatedAssetVersion.Encode(e) } } { e.FieldStart("Completed") e.Bool(s.Completed) } { if s.UploadedAssetID.Set { e.FieldStart("UploadedAssetID") s.UploadedAssetID.Encode(e) } } { e.FieldStart("StatusID") e.Int32(s.StatusID) } { e.FieldStart("StatusMessage") e.Str(s.StatusMessage) } } var jsonFieldsNameOfSubmission = [15]string{ 0: "ID", 1: "DisplayName", 2: "Creator", 3: "GameID", 4: "CreatedAt", 5: "UpdatedAt", 6: "Submitter", 7: "AssetID", 8: "AssetVersion", 9: "ValidatedAssetID", 10: "ValidatedAssetVersion", 11: "Completed", 12: "UploadedAssetID", 13: "StatusID", 14: "StatusMessage", } // Decode decodes Submission from json. func (s *Submission) Decode(d *jx.Decoder) error { if s == nil { return errors.New("invalid: unable to decode Submission to nil") } var requiredBitSet [2]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.Int64() s.ID = int64(v) if err != nil { return err } return nil }(); err != nil { return errors.Wrap(err, "decode field \"ID\"") } case "DisplayName": requiredBitSet[0] |= 1 << 1 if err := func() error { v, err := d.Str() s.DisplayName = string(v) if err != nil { return err } return nil }(); err != nil { return errors.Wrap(err, "decode field \"DisplayName\"") } case "Creator": requiredBitSet[0] |= 1 << 2 if err := func() error { v, err := d.Str() s.Creator = string(v) if err != nil { return err } return nil }(); err != nil { return errors.Wrap(err, "decode field \"Creator\"") } case "GameID": requiredBitSet[0] |= 1 << 3 if err := func() error { v, err := d.Int32() s.GameID = int32(v) if err != nil { return err } return nil }(); err != nil { return errors.Wrap(err, "decode field \"GameID\"") } case "CreatedAt": requiredBitSet[0] |= 1 << 4 if err := func() error { v, err := d.Int64() s.CreatedAt = int64(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 := d.Int64() s.UpdatedAt = int64(v) if err != nil { return err } return nil }(); err != nil { return errors.Wrap(err, "decode field \"UpdatedAt\"") } case "Submitter": requiredBitSet[0] |= 1 << 6 if err := func() error { v, err := d.Int64() s.Submitter = int64(v) if err != nil { return err } return nil }(); err != nil { return errors.Wrap(err, "decode field \"Submitter\"") } case "AssetID": requiredBitSet[0] |= 1 << 7 if err := func() error { v, err := d.Int64() s.AssetID = int64(v) if err != nil { return err } return nil }(); err != nil { return errors.Wrap(err, "decode field \"AssetID\"") } case "AssetVersion": requiredBitSet[1] |= 1 << 0 if err := func() error { v, err := d.Int64() s.AssetVersion = int64(v) if err != nil { return err } return nil }(); err != nil { return errors.Wrap(err, "decode field \"AssetVersion\"") } case "ValidatedAssetID": if err := func() error { s.ValidatedAssetID.Reset() if err := s.ValidatedAssetID.Decode(d); err != nil { return err } return nil }(); err != nil { return errors.Wrap(err, "decode field \"ValidatedAssetID\"") } case "ValidatedAssetVersion": if err := func() error { s.ValidatedAssetVersion.Reset() if err := s.ValidatedAssetVersion.Decode(d); err != nil { return err } return nil }(); err != nil { return errors.Wrap(err, "decode field \"ValidatedAssetVersion\"") } case "Completed": requiredBitSet[1] |= 1 << 3 if err := func() error { v, err := d.Bool() s.Completed = bool(v) if err != nil { return err } return nil }(); err != nil { return errors.Wrap(err, "decode field \"Completed\"") } case "UploadedAssetID": if err := func() error { s.UploadedAssetID.Reset() if err := s.UploadedAssetID.Decode(d); err != nil { return err } return nil }(); err != nil { return errors.Wrap(err, "decode field \"UploadedAssetID\"") } case "StatusID": requiredBitSet[1] |= 1 << 5 if err := func() error { v, err := d.Int32() s.StatusID = int32(v) if err != nil { return err } return nil }(); err != nil { return errors.Wrap(err, "decode field \"StatusID\"") } case "StatusMessage": requiredBitSet[1] |= 1 << 6 if err := func() error { v, err := d.Str() s.StatusMessage = string(v) if err != nil { return err } return nil }(); err != nil { return errors.Wrap(err, "decode field \"StatusMessage\"") } default: return d.Skip() } return nil }); err != nil { return errors.Wrap(err, "decode Submission") } // Validate required fields. var failures []validate.FieldError for i, mask := range [2]uint8{ 0b11111111, 0b01101001, } { if result := (requiredBitSet[i] & mask) ^ mask; result != 0 { // Mask only required fields and check equality to mask using XOR. // // If XOR result is not zero, result is not equal to expected, so some fields are missed. // Bits of fields which would be set are actually bits of missed fields. missed := bits.OnesCount8(result) for bitN := 0; bitN < missed; bitN++ { bitIdx := bits.TrailingZeros8(result) fieldIdx := i*8 + bitIdx var name string if fieldIdx < len(jsonFieldsNameOfSubmission) { name = jsonFieldsNameOfSubmission[fieldIdx] } else { name = strconv.Itoa(fieldIdx) } failures = append(failures, validate.FieldError{ Name: name, Error: validate.ErrFieldRequired, }) // Reset bit. result &^= 1 << bitIdx } } } if len(failures) > 0 { return &validate.Error{Fields: failures} } return nil } // MarshalJSON implements stdjson.Marshaler. func (s *Submission) MarshalJSON() ([]byte, error) { e := jx.Encoder{} s.Encode(&e) return e.Bytes(), nil } // UnmarshalJSON implements stdjson.Unmarshaler. func (s *Submission) UnmarshalJSON(data []byte) error { d := jx.DecodeBytes(data) return s.Decode(d) } // Encode implements json.Marshaler. func (s *SubmissionTriggerCreate) Encode(e *jx.Encoder) { e.ObjStart() s.encodeFields(e) e.ObjEnd() } // encodeFields encodes fields. func (s *SubmissionTriggerCreate) encodeFields(e *jx.Encoder) { { e.FieldStart("AssetID") e.Int64(s.AssetID) } } var jsonFieldsNameOfSubmissionTriggerCreate = [1]string{ 0: "AssetID", } // Decode decodes SubmissionTriggerCreate from json. func (s *SubmissionTriggerCreate) Decode(d *jx.Decoder) error { if s == nil { return errors.New("invalid: unable to decode SubmissionTriggerCreate to nil") } var requiredBitSet [1]uint8 if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { switch string(k) { case "AssetID": requiredBitSet[0] |= 1 << 0 if err := func() error { v, err := d.Int64() s.AssetID = int64(v) if err != nil { return err } return nil }(); err != nil { return errors.Wrap(err, "decode field \"AssetID\"") } default: return d.Skip() } return nil }); err != nil { return errors.Wrap(err, "decode SubmissionTriggerCreate") } // 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(jsonFieldsNameOfSubmissionTriggerCreate) { name = jsonFieldsNameOfSubmissionTriggerCreate[fieldIdx] } else { name = strconv.Itoa(fieldIdx) } failures = append(failures, validate.FieldError{ Name: name, Error: validate.ErrFieldRequired, }) // Reset bit. result &^= 1 << bitIdx } } } if len(failures) > 0 { return &validate.Error{Fields: failures} } return nil } // MarshalJSON implements stdjson.Marshaler. func (s *SubmissionTriggerCreate) MarshalJSON() ([]byte, error) { e := jx.Encoder{} s.Encode(&e) return e.Bytes(), nil } // UnmarshalJSON implements stdjson.Unmarshaler. func (s *SubmissionTriggerCreate) UnmarshalJSON(data []byte) error { d := jx.DecodeBytes(data) return s.Decode(d) } // Encode implements json.Marshaler. func (s *User) Encode(e *jx.Encoder) { e.ObjStart() s.encodeFields(e) e.ObjEnd() } // encodeFields encodes fields. func (s *User) encodeFields(e *jx.Encoder) { { e.FieldStart("UserID") e.Int64(s.UserID) } { e.FieldStart("Username") e.Str(s.Username) } { e.FieldStart("AvatarURL") e.Str(s.AvatarURL) } } var jsonFieldsNameOfUser = [3]string{ 0: "UserID", 1: "Username", 2: "AvatarURL", } // Decode decodes User from json. func (s *User) Decode(d *jx.Decoder) error { if s == nil { return errors.New("invalid: unable to decode User 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.Int64() s.UserID = int64(v) if err != nil { return err } return nil }(); err != nil { return errors.Wrap(err, "decode field \"UserID\"") } 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 "AvatarURL": requiredBitSet[0] |= 1 << 2 if err := func() error { v, err := d.Str() s.AvatarURL = string(v) if err != nil { return err } return nil }(); err != nil { return errors.Wrap(err, "decode field \"AvatarURL\"") } default: return d.Skip() } return nil }); err != nil { return errors.Wrap(err, "decode User") } // 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(jsonFieldsNameOfUser) { name = jsonFieldsNameOfUser[fieldIdx] } else { name = strconv.Itoa(fieldIdx) } failures = append(failures, validate.FieldError{ Name: name, Error: validate.ErrFieldRequired, }) // Reset bit. result &^= 1 << bitIdx } } } if len(failures) > 0 { return &validate.Error{Fields: failures} } return nil } // MarshalJSON implements stdjson.Marshaler. func (s *User) MarshalJSON() ([]byte, error) { e := jx.Encoder{} s.Encode(&e) return e.Bytes(), nil } // UnmarshalJSON implements stdjson.Unmarshaler. func (s *User) UnmarshalJSON(data []byte) error { d := jx.DecodeBytes(data) return s.Decode(d) }