github.com/Files-com/files-sdk-go/v3@v3.1.81/usagedailysnapshot.go (about)

     1  package files_sdk
     2  
     3  import (
     4  	"encoding/json"
     5  
     6  	lib "github.com/Files-com/files-sdk-go/v3/lib"
     7  	"github.com/lpar/date"
     8  )
     9  
    10  type UsageDailySnapshot struct {
    11  	Id                           int64                  `json:"id,omitempty" path:"id,omitempty" url:"id,omitempty"`
    12  	Date                         *date.Date             `json:"date,omitempty" path:"date,omitempty" url:"date,omitempty"`
    13  	ApiUsageAvailable            *bool                  `json:"api_usage_available,omitempty" path:"api_usage_available,omitempty" url:"api_usage_available,omitempty"`
    14  	ReadApiUsage                 int64                  `json:"read_api_usage,omitempty" path:"read_api_usage,omitempty" url:"read_api_usage,omitempty"`
    15  	WriteApiUsage                int64                  `json:"write_api_usage,omitempty" path:"write_api_usage,omitempty" url:"write_api_usage,omitempty"`
    16  	UserCount                    int64                  `json:"user_count,omitempty" path:"user_count,omitempty" url:"user_count,omitempty"`
    17  	CurrentStorage               int64                  `json:"current_storage,omitempty" path:"current_storage,omitempty" url:"current_storage,omitempty"`
    18  	DeletedFilesStorage          int64                  `json:"deleted_files_storage,omitempty" path:"deleted_files_storage,omitempty" url:"deleted_files_storage,omitempty"`
    19  	DeletedFilesCountedInMinimum int64                  `json:"deleted_files_counted_in_minimum,omitempty" path:"deleted_files_counted_in_minimum,omitempty" url:"deleted_files_counted_in_minimum,omitempty"`
    20  	RootStorage                  int64                  `json:"root_storage,omitempty" path:"root_storage,omitempty" url:"root_storage,omitempty"`
    21  	UsageByTopLevelDir           map[string]interface{} `json:"usage_by_top_level_dir,omitempty" path:"usage_by_top_level_dir,omitempty" url:"usage_by_top_level_dir,omitempty"`
    22  }
    23  
    24  func (u UsageDailySnapshot) Identifier() interface{} {
    25  	return u.Id
    26  }
    27  
    28  type UsageDailySnapshotCollection []UsageDailySnapshot
    29  
    30  type UsageDailySnapshotListParams struct {
    31  	SortBy     map[string]interface{} `url:"sort_by,omitempty" required:"false" json:"sort_by,omitempty" path:"sort_by"`
    32  	Filter     UsageDailySnapshot     `url:"filter,omitempty" required:"false" json:"filter,omitempty" path:"filter"`
    33  	FilterGt   map[string]interface{} `url:"filter_gt,omitempty" required:"false" json:"filter_gt,omitempty" path:"filter_gt"`
    34  	FilterGteq map[string]interface{} `url:"filter_gteq,omitempty" required:"false" json:"filter_gteq,omitempty" path:"filter_gteq"`
    35  	FilterLt   map[string]interface{} `url:"filter_lt,omitempty" required:"false" json:"filter_lt,omitempty" path:"filter_lt"`
    36  	FilterLteq map[string]interface{} `url:"filter_lteq,omitempty" required:"false" json:"filter_lteq,omitempty" path:"filter_lteq"`
    37  	ListParams
    38  }
    39  
    40  func (u *UsageDailySnapshot) UnmarshalJSON(data []byte) error {
    41  	type usageDailySnapshot UsageDailySnapshot
    42  	var v usageDailySnapshot
    43  	if err := json.Unmarshal(data, &v); err != nil {
    44  		return lib.ErrorWithOriginalResponse{}.ProcessError(data, err, map[string]interface{}{})
    45  	}
    46  
    47  	*u = UsageDailySnapshot(v)
    48  	return nil
    49  }
    50  
    51  func (u *UsageDailySnapshotCollection) UnmarshalJSON(data []byte) error {
    52  	type usageDailySnapshots UsageDailySnapshotCollection
    53  	var v usageDailySnapshots
    54  	if err := json.Unmarshal(data, &v); err != nil {
    55  		return lib.ErrorWithOriginalResponse{}.ProcessError(data, err, []map[string]interface{}{})
    56  	}
    57  
    58  	*u = UsageDailySnapshotCollection(v)
    59  	return nil
    60  }
    61  
    62  func (u *UsageDailySnapshotCollection) ToSlice() *[]interface{} {
    63  	ret := make([]interface{}, len(*u))
    64  	for i, v := range *u {
    65  		ret[i] = v
    66  	}
    67  
    68  	return &ret
    69  }