github.com/Files-com/files-sdk-go/v2@v2.1.2/dnsrecord.go (about)

     1  package files_sdk
     2  
     3  import (
     4  	"encoding/json"
     5  
     6  	lib "github.com/Files-com/files-sdk-go/v2/lib"
     7  )
     8  
     9  type DnsRecord struct {
    10  	Id     string `json:"id,omitempty" path:"id,omitempty" url:"id,omitempty"`
    11  	Domain string `json:"domain,omitempty" path:"domain,omitempty" url:"domain,omitempty"`
    12  	Rrtype string `json:"rrtype,omitempty" path:"rrtype,omitempty" url:"rrtype,omitempty"`
    13  	Value  string `json:"value,omitempty" path:"value,omitempty" url:"value,omitempty"`
    14  }
    15  
    16  func (d DnsRecord) Identifier() interface{} {
    17  	return d.Id
    18  }
    19  
    20  type DnsRecordCollection []DnsRecord
    21  
    22  type DnsRecordListParams struct {
    23  	ListParams
    24  }
    25  
    26  func (d *DnsRecord) UnmarshalJSON(data []byte) error {
    27  	type dnsRecord DnsRecord
    28  	var v dnsRecord
    29  	if err := json.Unmarshal(data, &v); err != nil {
    30  		return lib.ErrorWithOriginalResponse{}.ProcessError(data, err, map[string]interface{}{})
    31  	}
    32  
    33  	*d = DnsRecord(v)
    34  	return nil
    35  }
    36  
    37  func (d *DnsRecordCollection) UnmarshalJSON(data []byte) error {
    38  	type dnsRecords DnsRecordCollection
    39  	var v dnsRecords
    40  	if err := json.Unmarshal(data, &v); err != nil {
    41  		return lib.ErrorWithOriginalResponse{}.ProcessError(data, err, []map[string]interface{}{})
    42  	}
    43  
    44  	*d = DnsRecordCollection(v)
    45  	return nil
    46  }
    47  
    48  func (d *DnsRecordCollection) ToSlice() *[]interface{} {
    49  	ret := make([]interface{}, len(*d))
    50  	for i, v := range *d {
    51  		ret[i] = v
    52  	}
    53  
    54  	return &ret
    55  }