github.com/Files-com/files-sdk-go/v2@v2.1.2/history.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 History struct { 11 Id int64 `json:"id,omitempty" path:"id,omitempty" url:"id,omitempty"` 12 Path string `json:"path,omitempty" path:"path,omitempty" url:"path,omitempty"` 13 When *time.Time `json:"when,omitempty" path:"when,omitempty" url:"when,omitempty"` 14 Destination string `json:"destination,omitempty" path:"destination,omitempty" url:"destination,omitempty"` 15 Display string `json:"display,omitempty" path:"display,omitempty" url:"display,omitempty"` 16 Ip string `json:"ip,omitempty" path:"ip,omitempty" url:"ip,omitempty"` 17 Source string `json:"source,omitempty" path:"source,omitempty" url:"source,omitempty"` 18 Targets []string `json:"targets,omitempty" path:"targets,omitempty" url:"targets,omitempty"` 19 UserId int64 `json:"user_id,omitempty" path:"user_id,omitempty" url:"user_id,omitempty"` 20 Username string `json:"username,omitempty" path:"username,omitempty" url:"username,omitempty"` 21 Action string `json:"action,omitempty" path:"action,omitempty" url:"action,omitempty"` 22 FailureType string `json:"failure_type,omitempty" path:"failure_type,omitempty" url:"failure_type,omitempty"` 23 Interface string `json:"interface,omitempty" path:"interface,omitempty" url:"interface,omitempty"` 24 } 25 26 func (h History) Identifier() interface{} { 27 return h.Id 28 } 29 30 type HistoryCollection []History 31 32 type HistoryListForFileParams struct { 33 StartAt *time.Time `url:"start_at,omitempty" required:"false" json:"start_at,omitempty" path:"start_at"` 34 EndAt *time.Time `url:"end_at,omitempty" required:"false" json:"end_at,omitempty" path:"end_at"` 35 Display string `url:"display,omitempty" required:"false" json:"display,omitempty" path:"display"` 36 SortBy map[string]interface{} `url:"sort_by,omitempty" required:"false" json:"sort_by,omitempty" path:"sort_by"` 37 Path string `url:"-,omitempty" required:"false" json:"-,omitempty" path:"path"` 38 ListParams 39 } 40 41 type HistoryListForFolderParams struct { 42 StartAt *time.Time `url:"start_at,omitempty" required:"false" json:"start_at,omitempty" path:"start_at"` 43 EndAt *time.Time `url:"end_at,omitempty" required:"false" json:"end_at,omitempty" path:"end_at"` 44 Display string `url:"display,omitempty" required:"false" json:"display,omitempty" path:"display"` 45 SortBy map[string]interface{} `url:"sort_by,omitempty" required:"false" json:"sort_by,omitempty" path:"sort_by"` 46 Path string `url:"-,omitempty" required:"false" json:"-,omitempty" path:"path"` 47 ListParams 48 } 49 50 type HistoryListForUserParams struct { 51 StartAt *time.Time `url:"start_at,omitempty" required:"false" json:"start_at,omitempty" path:"start_at"` 52 EndAt *time.Time `url:"end_at,omitempty" required:"false" json:"end_at,omitempty" path:"end_at"` 53 Display string `url:"display,omitempty" required:"false" json:"display,omitempty" path:"display"` 54 SortBy map[string]interface{} `url:"sort_by,omitempty" required:"false" json:"sort_by,omitempty" path:"sort_by"` 55 UserId int64 `url:"-,omitempty" required:"false" json:"-,omitempty" path:"user_id"` 56 ListParams 57 } 58 59 type HistoryListLoginsParams struct { 60 StartAt *time.Time `url:"start_at,omitempty" required:"false" json:"start_at,omitempty" path:"start_at"` 61 EndAt *time.Time `url:"end_at,omitempty" required:"false" json:"end_at,omitempty" path:"end_at"` 62 Display string `url:"display,omitempty" required:"false" json:"display,omitempty" path:"display"` 63 SortBy map[string]interface{} `url:"sort_by,omitempty" required:"false" json:"sort_by,omitempty" path:"sort_by"` 64 ListParams 65 } 66 67 type HistoryListParams struct { 68 StartAt *time.Time `url:"start_at,omitempty" required:"false" json:"start_at,omitempty" path:"start_at"` 69 EndAt *time.Time `url:"end_at,omitempty" required:"false" json:"end_at,omitempty" path:"end_at"` 70 Display string `url:"display,omitempty" required:"false" json:"display,omitempty" path:"display"` 71 SortBy map[string]interface{} `url:"sort_by,omitempty" required:"false" json:"sort_by,omitempty" path:"sort_by"` 72 Filter History `url:"filter,omitempty" required:"false" json:"filter,omitempty" path:"filter"` 73 FilterPrefix map[string]interface{} `url:"filter_prefix,omitempty" required:"false" json:"filter_prefix,omitempty" path:"filter_prefix"` 74 ListParams 75 } 76 77 func (h *History) UnmarshalJSON(data []byte) error { 78 type history History 79 var v history 80 if err := json.Unmarshal(data, &v); err != nil { 81 return lib.ErrorWithOriginalResponse{}.ProcessError(data, err, map[string]interface{}{}) 82 } 83 84 *h = History(v) 85 return nil 86 } 87 88 func (h *HistoryCollection) UnmarshalJSON(data []byte) error { 89 type historys HistoryCollection 90 var v historys 91 if err := json.Unmarshal(data, &v); err != nil { 92 return lib.ErrorWithOriginalResponse{}.ProcessError(data, err, []map[string]interface{}{}) 93 } 94 95 *h = HistoryCollection(v) 96 return nil 97 } 98 99 func (h *HistoryCollection) ToSlice() *[]interface{} { 100 ret := make([]interface{}, len(*h)) 101 for i, v := range *h { 102 ret[i] = v 103 } 104 105 return &ret 106 }