github.com/Files-com/files-sdk-go/v3@v3.1.81/inboxregistration.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 InboxRegistration struct {
    11  	Code             string                 `json:"code,omitempty" path:"code,omitempty" url:"code,omitempty"`
    12  	Name             string                 `json:"name,omitempty" path:"name,omitempty" url:"name,omitempty"`
    13  	Company          string                 `json:"company,omitempty" path:"company,omitempty" url:"company,omitempty"`
    14  	Email            string                 `json:"email,omitempty" path:"email,omitempty" url:"email,omitempty"`
    15  	Ip               string                 `json:"ip,omitempty" path:"ip,omitempty" url:"ip,omitempty"`
    16  	ClickwrapBody    string                 `json:"clickwrap_body,omitempty" path:"clickwrap_body,omitempty" url:"clickwrap_body,omitempty"`
    17  	FormFieldSetId   int64                  `json:"form_field_set_id,omitempty" path:"form_field_set_id,omitempty" url:"form_field_set_id,omitempty"`
    18  	FormFieldData    map[string]interface{} `json:"form_field_data,omitempty" path:"form_field_data,omitempty" url:"form_field_data,omitempty"`
    19  	InboxId          int64                  `json:"inbox_id,omitempty" path:"inbox_id,omitempty" url:"inbox_id,omitempty"`
    20  	InboxRecipientId int64                  `json:"inbox_recipient_id,omitempty" path:"inbox_recipient_id,omitempty" url:"inbox_recipient_id,omitempty"`
    21  	InboxTitle       string                 `json:"inbox_title,omitempty" path:"inbox_title,omitempty" url:"inbox_title,omitempty"`
    22  	CreatedAt        *time.Time             `json:"created_at,omitempty" path:"created_at,omitempty" url:"created_at,omitempty"`
    23  }
    24  
    25  // Identifier no path or id
    26  
    27  type InboxRegistrationCollection []InboxRegistration
    28  
    29  type InboxRegistrationListParams struct {
    30  	FolderBehaviorId int64 `url:"folder_behavior_id,omitempty" required:"false" json:"folder_behavior_id,omitempty" path:"folder_behavior_id"`
    31  	ListParams
    32  }
    33  
    34  func (i *InboxRegistration) UnmarshalJSON(data []byte) error {
    35  	type inboxRegistration InboxRegistration
    36  	var v inboxRegistration
    37  	if err := json.Unmarshal(data, &v); err != nil {
    38  		return lib.ErrorWithOriginalResponse{}.ProcessError(data, err, map[string]interface{}{})
    39  	}
    40  
    41  	*i = InboxRegistration(v)
    42  	return nil
    43  }
    44  
    45  func (i *InboxRegistrationCollection) UnmarshalJSON(data []byte) error {
    46  	type inboxRegistrations InboxRegistrationCollection
    47  	var v inboxRegistrations
    48  	if err := json.Unmarshal(data, &v); err != nil {
    49  		return lib.ErrorWithOriginalResponse{}.ProcessError(data, err, []map[string]interface{}{})
    50  	}
    51  
    52  	*i = InboxRegistrationCollection(v)
    53  	return nil
    54  }
    55  
    56  func (i *InboxRegistrationCollection) ToSlice() *[]interface{} {
    57  	ret := make([]interface{}, len(*i))
    58  	for i, v := range *i {
    59  		ret[i] = v
    60  	}
    61  
    62  	return &ret
    63  }