github.com/Files-com/files-sdk-go/v3@v3.1.81/bundleaction.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 BundleAction struct { 11 Action string `json:"action,omitempty" path:"action,omitempty" url:"action,omitempty"` 12 BundleRegistration BundleRegistration `json:"bundle_registration,omitempty" path:"bundle_registration,omitempty" url:"bundle_registration,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 Path string `json:"path,omitempty" path:"path,omitempty" url:"path,omitempty"` 16 Source string `json:"source,omitempty" path:"source,omitempty" url:"source,omitempty"` 17 } 18 19 func (b BundleAction) Identifier() interface{} { 20 return b.Path 21 } 22 23 type BundleActionCollection []BundleAction 24 25 type BundleActionListParams struct { 26 SortBy map[string]interface{} `url:"sort_by,omitempty" required:"false" json:"sort_by,omitempty" path:"sort_by"` 27 Filter BundleAction `url:"filter,omitempty" required:"false" json:"filter,omitempty" path:"filter"` 28 FilterGt map[string]interface{} `url:"filter_gt,omitempty" required:"false" json:"filter_gt,omitempty" path:"filter_gt"` 29 FilterGteq map[string]interface{} `url:"filter_gteq,omitempty" required:"false" json:"filter_gteq,omitempty" path:"filter_gteq"` 30 FilterLt map[string]interface{} `url:"filter_lt,omitempty" required:"false" json:"filter_lt,omitempty" path:"filter_lt"` 31 FilterLteq map[string]interface{} `url:"filter_lteq,omitempty" required:"false" json:"filter_lteq,omitempty" path:"filter_lteq"` 32 BundleId int64 `url:"bundle_id,omitempty" required:"false" json:"bundle_id,omitempty" path:"bundle_id"` 33 BundleRegistrationId int64 `url:"bundle_registration_id,omitempty" required:"false" json:"bundle_registration_id,omitempty" path:"bundle_registration_id"` 34 ListParams 35 } 36 37 func (b *BundleAction) UnmarshalJSON(data []byte) error { 38 type bundleAction BundleAction 39 var v bundleAction 40 if err := json.Unmarshal(data, &v); err != nil { 41 return lib.ErrorWithOriginalResponse{}.ProcessError(data, err, map[string]interface{}{}) 42 } 43 44 *b = BundleAction(v) 45 return nil 46 } 47 48 func (b *BundleActionCollection) UnmarshalJSON(data []byte) error { 49 type bundleActions BundleActionCollection 50 var v bundleActions 51 if err := json.Unmarshal(data, &v); err != nil { 52 return lib.ErrorWithOriginalResponse{}.ProcessError(data, err, []map[string]interface{}{}) 53 } 54 55 *b = BundleActionCollection(v) 56 return nil 57 } 58 59 func (b *BundleActionCollection) ToSlice() *[]interface{} { 60 ret := make([]interface{}, len(*b)) 61 for i, v := range *b { 62 ret[i] = v 63 } 64 65 return &ret 66 }