github.com/Files-com/files-sdk-go/v3@v3.1.81/invoicelineitem.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 InvoiceLineItem struct { 11 Amount string `json:"amount,omitempty" path:"amount,omitempty" url:"amount,omitempty"` 12 CreatedAt *time.Time `json:"created_at,omitempty" path:"created_at,omitempty" url:"created_at,omitempty"` 13 Description string `json:"description,omitempty" path:"description,omitempty" url:"description,omitempty"` 14 Type string `json:"type,omitempty" path:"type,omitempty" url:"type,omitempty"` 15 ServiceEndAt *time.Time `json:"service_end_at,omitempty" path:"service_end_at,omitempty" url:"service_end_at,omitempty"` 16 ServiceStartAt *time.Time `json:"service_start_at,omitempty" path:"service_start_at,omitempty" url:"service_start_at,omitempty"` 17 Plan string `json:"plan,omitempty" path:"plan,omitempty" url:"plan,omitempty"` 18 Site string `json:"site,omitempty" path:"site,omitempty" url:"site,omitempty"` 19 } 20 21 // Identifier no path or id 22 23 type InvoiceLineItemCollection []InvoiceLineItem 24 25 func (i *InvoiceLineItem) UnmarshalJSON(data []byte) error { 26 type invoiceLineItem InvoiceLineItem 27 var v invoiceLineItem 28 if err := json.Unmarshal(data, &v); err != nil { 29 return lib.ErrorWithOriginalResponse{}.ProcessError(data, err, map[string]interface{}{}) 30 } 31 32 *i = InvoiceLineItem(v) 33 return nil 34 } 35 36 func (i *InvoiceLineItemCollection) UnmarshalJSON(data []byte) error { 37 type invoiceLineItems InvoiceLineItemCollection 38 var v invoiceLineItems 39 if err := json.Unmarshal(data, &v); err != nil { 40 return lib.ErrorWithOriginalResponse{}.ProcessError(data, err, []map[string]interface{}{}) 41 } 42 43 *i = InvoiceLineItemCollection(v) 44 return nil 45 } 46 47 func (i *InvoiceLineItemCollection) ToSlice() *[]interface{} { 48 ret := make([]interface{}, len(*i)) 49 for i, v := range *i { 50 ret[i] = v 51 } 52 53 return &ret 54 }