github.com/aeternity/aepp-sdk-go@v1.0.3-0.20190606142815-1c0ffdc21fd9/generated/models/off_chain_deposit.go (about)

     1  // Code generated by go-swagger; DO NOT EDIT.
     2  
     3  package models
     4  
     5  // This file was generated by the swagger tool.
     6  // Editing this file might prove futile when you re-run the swagger generate command
     7  
     8  import (
     9  	"bytes"
    10  	"encoding/json"
    11  
    12  	strfmt "github.com/go-openapi/strfmt"
    13  
    14  	"github.com/go-openapi/errors"
    15  	"github.com/go-openapi/swag"
    16  
    17  	utils "github.com/aeternity/aepp-sdk-go/utils"
    18  )
    19  
    20  // OffChainDeposit off chain deposit
    21  // swagger:model OffChainDeposit
    22  type OffChainDeposit struct {
    23  
    24  	// amount
    25  	// Required: true
    26  	Amount utils.BigInt `json:"amount"`
    27  
    28  	// Depositor of tokens
    29  	// Required: true
    30  	From EncodedPubkey `json:"from"`
    31  }
    32  
    33  // Op gets the op of this subtype
    34  func (m *OffChainDeposit) Op() string {
    35  	return "OffChainDeposit"
    36  }
    37  
    38  // SetOp sets the op of this subtype
    39  func (m *OffChainDeposit) SetOp(val string) {
    40  
    41  }
    42  
    43  // Amount gets the amount of this subtype
    44  
    45  // From gets the from of this subtype
    46  
    47  // UnmarshalJSON unmarshals this object with a polymorphic type from a JSON structure
    48  func (m *OffChainDeposit) UnmarshalJSON(raw []byte) error {
    49  	var data struct {
    50  
    51  		// amount
    52  		// Required: true
    53  		Amount utils.BigInt `json:"amount"`
    54  
    55  		// Depositor of tokens
    56  		// Required: true
    57  		From EncodedPubkey `json:"from"`
    58  	}
    59  	buf := bytes.NewBuffer(raw)
    60  	dec := json.NewDecoder(buf)
    61  	dec.UseNumber()
    62  
    63  	if err := dec.Decode(&data); err != nil {
    64  		return err
    65  	}
    66  
    67  	var base struct {
    68  		/* Just the base type fields. Used for unmashalling polymorphic types.*/
    69  
    70  		Op string `json:"op"`
    71  	}
    72  	buf = bytes.NewBuffer(raw)
    73  	dec = json.NewDecoder(buf)
    74  	dec.UseNumber()
    75  
    76  	if err := dec.Decode(&base); err != nil {
    77  		return err
    78  	}
    79  
    80  	var result OffChainDeposit
    81  
    82  	if base.Op != result.Op() {
    83  		/* Not the type we're looking for. */
    84  		return errors.New(422, "invalid op value: %q", base.Op)
    85  	}
    86  
    87  	result.Amount = data.Amount
    88  
    89  	result.From = data.From
    90  
    91  	*m = result
    92  
    93  	return nil
    94  }
    95  
    96  // MarshalJSON marshals this object with a polymorphic type to a JSON structure
    97  func (m OffChainDeposit) MarshalJSON() ([]byte, error) {
    98  	var b1, b2, b3 []byte
    99  	var err error
   100  	b1, err = json.Marshal(struct {
   101  
   102  		// amount
   103  		// Required: true
   104  		Amount utils.BigInt `json:"amount"`
   105  
   106  		// Depositor of tokens
   107  		// Required: true
   108  		From EncodedPubkey `json:"from"`
   109  	}{
   110  
   111  		Amount: m.Amount,
   112  
   113  		From: m.From,
   114  	},
   115  	)
   116  	if err != nil {
   117  		return nil, err
   118  	}
   119  	b2, err = json.Marshal(struct {
   120  		Op string `json:"op"`
   121  	}{
   122  
   123  		Op: m.Op(),
   124  	},
   125  	)
   126  	if err != nil {
   127  		return nil, err
   128  	}
   129  
   130  	return swag.ConcatJSON(b1, b2, b3), nil
   131  }
   132  
   133  // Validate validates this off chain deposit
   134  func (m *OffChainDeposit) Validate(formats strfmt.Registry) error {
   135  	var res []error
   136  
   137  	if err := m.validateAmount(formats); err != nil {
   138  		res = append(res, err)
   139  	}
   140  
   141  	if err := m.validateFrom(formats); err != nil {
   142  		res = append(res, err)
   143  	}
   144  
   145  	if len(res) > 0 {
   146  		return errors.CompositeValidationError(res...)
   147  	}
   148  	return nil
   149  }
   150  
   151  func (m *OffChainDeposit) validateAmount(formats strfmt.Registry) error {
   152  
   153  	if err := m.Amount.Validate(formats); err != nil {
   154  		if ve, ok := err.(*errors.Validation); ok {
   155  			return ve.ValidateName("amount")
   156  		}
   157  		return err
   158  	}
   159  
   160  	return nil
   161  }
   162  
   163  func (m *OffChainDeposit) validateFrom(formats strfmt.Registry) error {
   164  
   165  	if err := m.From.Validate(formats); err != nil {
   166  		if ve, ok := err.(*errors.Validation); ok {
   167  			return ve.ValidateName("from")
   168  		}
   169  		return err
   170  	}
   171  
   172  	return nil
   173  }
   174  
   175  // MarshalBinary interface implementation
   176  func (m *OffChainDeposit) MarshalBinary() ([]byte, error) {
   177  	if m == nil {
   178  		return nil, nil
   179  	}
   180  	return swag.WriteJSON(m)
   181  }
   182  
   183  // UnmarshalBinary interface implementation
   184  func (m *OffChainDeposit) UnmarshalBinary(b []byte) error {
   185  	var res OffChainDeposit
   186  	if err := swag.ReadJSON(b, &res); err != nil {
   187  		return err
   188  	}
   189  	*m = res
   190  	return nil
   191  }