github.com/Files-com/files-sdk-go/v3@v3.1.81/settingschange.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 SettingsChange struct {
    11  	Changes            []string   `json:"changes,omitempty" path:"changes,omitempty" url:"changes,omitempty"`
    12  	CreatedAt          *time.Time `json:"created_at,omitempty" path:"created_at,omitempty" url:"created_at,omitempty"`
    13  	UserId             int64      `json:"user_id,omitempty" path:"user_id,omitempty" url:"user_id,omitempty"`
    14  	ApiKeyId           int64      `json:"api_key_id,omitempty" path:"api_key_id,omitempty" url:"api_key_id,omitempty"`
    15  	UserIsFilesSupport *bool      `json:"user_is_files_support,omitempty" path:"user_is_files_support,omitempty" url:"user_is_files_support,omitempty"`
    16  	Username           string     `json:"username,omitempty" path:"username,omitempty" url:"username,omitempty"`
    17  }
    18  
    19  // Identifier no path or id
    20  
    21  type SettingsChangeCollection []SettingsChange
    22  
    23  type SettingsChangeListParams struct {
    24  	SortBy map[string]interface{} `url:"sort_by,omitempty" required:"false" json:"sort_by,omitempty" path:"sort_by"`
    25  	Filter SettingsChange         `url:"filter,omitempty" required:"false" json:"filter,omitempty" path:"filter"`
    26  	ListParams
    27  }
    28  
    29  func (s *SettingsChange) UnmarshalJSON(data []byte) error {
    30  	type settingsChange SettingsChange
    31  	var v settingsChange
    32  	if err := json.Unmarshal(data, &v); err != nil {
    33  		return lib.ErrorWithOriginalResponse{}.ProcessError(data, err, map[string]interface{}{})
    34  	}
    35  
    36  	*s = SettingsChange(v)
    37  	return nil
    38  }
    39  
    40  func (s *SettingsChangeCollection) UnmarshalJSON(data []byte) error {
    41  	type settingsChanges SettingsChangeCollection
    42  	var v settingsChanges
    43  	if err := json.Unmarshal(data, &v); err != nil {
    44  		return lib.ErrorWithOriginalResponse{}.ProcessError(data, err, []map[string]interface{}{})
    45  	}
    46  
    47  	*s = SettingsChangeCollection(v)
    48  	return nil
    49  }
    50  
    51  func (s *SettingsChangeCollection) ToSlice() *[]interface{} {
    52  	ret := make([]interface{}, len(*s))
    53  	for i, v := range *s {
    54  		ret[i] = v
    55  	}
    56  
    57  	return &ret
    58  }