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

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