github.com/Files-com/files-sdk-go/v3@v3.1.81/remotebandwidthsnapshot.go (about)

     1  package files_sdk
     2  
     3  import (
     4  	"encoding/json"
     5  	"time"
     6  
     7  	lib "github.com/Files-com/files-sdk-go/v3/lib"
     8  )
     9  
    10  type RemoteBandwidthSnapshot struct {
    11  	Id                int64      `json:"id,omitempty" path:"id,omitempty" url:"id,omitempty"`
    12  	SyncBytesReceived string     `json:"sync_bytes_received,omitempty" path:"sync_bytes_received,omitempty" url:"sync_bytes_received,omitempty"`
    13  	SyncBytesSent     string     `json:"sync_bytes_sent,omitempty" path:"sync_bytes_sent,omitempty" url:"sync_bytes_sent,omitempty"`
    14  	LoggedAt          *time.Time `json:"logged_at,omitempty" path:"logged_at,omitempty" url:"logged_at,omitempty"`
    15  	RemoteServerId    int64      `json:"remote_server_id,omitempty" path:"remote_server_id,omitempty" url:"remote_server_id,omitempty"`
    16  }
    17  
    18  func (r RemoteBandwidthSnapshot) Identifier() interface{} {
    19  	return r.Id
    20  }
    21  
    22  type RemoteBandwidthSnapshotCollection []RemoteBandwidthSnapshot
    23  
    24  type RemoteBandwidthSnapshotListParams struct {
    25  	SortBy     map[string]interface{}  `url:"sort_by,omitempty" required:"false" json:"sort_by,omitempty" path:"sort_by"`
    26  	Filter     RemoteBandwidthSnapshot `url:"filter,omitempty" required:"false" json:"filter,omitempty" path:"filter"`
    27  	FilterGt   map[string]interface{}  `url:"filter_gt,omitempty" required:"false" json:"filter_gt,omitempty" path:"filter_gt"`
    28  	FilterGteq map[string]interface{}  `url:"filter_gteq,omitempty" required:"false" json:"filter_gteq,omitempty" path:"filter_gteq"`
    29  	FilterLt   map[string]interface{}  `url:"filter_lt,omitempty" required:"false" json:"filter_lt,omitempty" path:"filter_lt"`
    30  	FilterLteq map[string]interface{}  `url:"filter_lteq,omitempty" required:"false" json:"filter_lteq,omitempty" path:"filter_lteq"`
    31  	ListParams
    32  }
    33  
    34  func (r *RemoteBandwidthSnapshot) UnmarshalJSON(data []byte) error {
    35  	type remoteBandwidthSnapshot RemoteBandwidthSnapshot
    36  	var v remoteBandwidthSnapshot
    37  	if err := json.Unmarshal(data, &v); err != nil {
    38  		return lib.ErrorWithOriginalResponse{}.ProcessError(data, err, map[string]interface{}{})
    39  	}
    40  
    41  	*r = RemoteBandwidthSnapshot(v)
    42  	return nil
    43  }
    44  
    45  func (r *RemoteBandwidthSnapshotCollection) UnmarshalJSON(data []byte) error {
    46  	type remoteBandwidthSnapshots RemoteBandwidthSnapshotCollection
    47  	var v remoteBandwidthSnapshots
    48  	if err := json.Unmarshal(data, &v); err != nil {
    49  		return lib.ErrorWithOriginalResponse{}.ProcessError(data, err, []map[string]interface{}{})
    50  	}
    51  
    52  	*r = RemoteBandwidthSnapshotCollection(v)
    53  	return nil
    54  }
    55  
    56  func (r *RemoteBandwidthSnapshotCollection) ToSlice() *[]interface{} {
    57  	ret := make([]interface{}, len(*r))
    58  	for i, v := range *r {
    59  		ret[i] = v
    60  	}
    61  
    62  	return &ret
    63  }