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 }