github.com/Files-com/files-sdk-go/v3@v3.1.81/clickwrap.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 ) 8 9 type Clickwrap struct { 10 Id int64 `json:"id,omitempty" path:"id,omitempty" url:"id,omitempty"` 11 Name string `json:"name,omitempty" path:"name,omitempty" url:"name,omitempty"` 12 Body string `json:"body,omitempty" path:"body,omitempty" url:"body,omitempty"` 13 UseWithUsers string `json:"use_with_users,omitempty" path:"use_with_users,omitempty" url:"use_with_users,omitempty"` 14 UseWithBundles string `json:"use_with_bundles,omitempty" path:"use_with_bundles,omitempty" url:"use_with_bundles,omitempty"` 15 UseWithInboxes string `json:"use_with_inboxes,omitempty" path:"use_with_inboxes,omitempty" url:"use_with_inboxes,omitempty"` 16 } 17 18 func (c Clickwrap) Identifier() interface{} { 19 return c.Id 20 } 21 22 type ClickwrapCollection []Clickwrap 23 24 type ClickwrapUseWithBundlesEnum string 25 26 func (u ClickwrapUseWithBundlesEnum) String() string { 27 return string(u) 28 } 29 30 func (u ClickwrapUseWithBundlesEnum) Enum() map[string]ClickwrapUseWithBundlesEnum { 31 return map[string]ClickwrapUseWithBundlesEnum{ 32 "none": ClickwrapUseWithBundlesEnum("none"), 33 "available": ClickwrapUseWithBundlesEnum("available"), 34 "require": ClickwrapUseWithBundlesEnum("require"), 35 "available_to_all_users": ClickwrapUseWithBundlesEnum("available_to_all_users"), 36 } 37 } 38 39 type ClickwrapUseWithInboxesEnum string 40 41 func (u ClickwrapUseWithInboxesEnum) String() string { 42 return string(u) 43 } 44 45 func (u ClickwrapUseWithInboxesEnum) Enum() map[string]ClickwrapUseWithInboxesEnum { 46 return map[string]ClickwrapUseWithInboxesEnum{ 47 "none": ClickwrapUseWithInboxesEnum("none"), 48 "available": ClickwrapUseWithInboxesEnum("available"), 49 "require": ClickwrapUseWithInboxesEnum("require"), 50 "available_to_all_users": ClickwrapUseWithInboxesEnum("available_to_all_users"), 51 } 52 } 53 54 type ClickwrapUseWithUsersEnum string 55 56 func (u ClickwrapUseWithUsersEnum) String() string { 57 return string(u) 58 } 59 60 func (u ClickwrapUseWithUsersEnum) Enum() map[string]ClickwrapUseWithUsersEnum { 61 return map[string]ClickwrapUseWithUsersEnum{ 62 "none": ClickwrapUseWithUsersEnum("none"), 63 "require": ClickwrapUseWithUsersEnum("require"), 64 } 65 } 66 67 type ClickwrapListParams struct { 68 ListParams 69 } 70 71 type ClickwrapFindParams struct { 72 Id int64 `url:"-,omitempty" required:"false" json:"-,omitempty" path:"id"` 73 } 74 75 type ClickwrapCreateParams struct { 76 Name string `url:"name,omitempty" required:"false" json:"name,omitempty" path:"name"` 77 Body string `url:"body,omitempty" required:"false" json:"body,omitempty" path:"body"` 78 UseWithBundles ClickwrapUseWithBundlesEnum `url:"use_with_bundles,omitempty" required:"false" json:"use_with_bundles,omitempty" path:"use_with_bundles"` 79 UseWithInboxes ClickwrapUseWithInboxesEnum `url:"use_with_inboxes,omitempty" required:"false" json:"use_with_inboxes,omitempty" path:"use_with_inboxes"` 80 UseWithUsers ClickwrapUseWithUsersEnum `url:"use_with_users,omitempty" required:"false" json:"use_with_users,omitempty" path:"use_with_users"` 81 } 82 83 type ClickwrapUpdateParams struct { 84 Id int64 `url:"-,omitempty" required:"false" json:"-,omitempty" path:"id"` 85 Name string `url:"name,omitempty" required:"false" json:"name,omitempty" path:"name"` 86 Body string `url:"body,omitempty" required:"false" json:"body,omitempty" path:"body"` 87 UseWithBundles ClickwrapUseWithBundlesEnum `url:"use_with_bundles,omitempty" required:"false" json:"use_with_bundles,omitempty" path:"use_with_bundles"` 88 UseWithInboxes ClickwrapUseWithInboxesEnum `url:"use_with_inboxes,omitempty" required:"false" json:"use_with_inboxes,omitempty" path:"use_with_inboxes"` 89 UseWithUsers ClickwrapUseWithUsersEnum `url:"use_with_users,omitempty" required:"false" json:"use_with_users,omitempty" path:"use_with_users"` 90 } 91 92 type ClickwrapDeleteParams struct { 93 Id int64 `url:"-,omitempty" required:"false" json:"-,omitempty" path:"id"` 94 } 95 96 func (c *Clickwrap) UnmarshalJSON(data []byte) error { 97 type clickwrap Clickwrap 98 var v clickwrap 99 if err := json.Unmarshal(data, &v); err != nil { 100 return lib.ErrorWithOriginalResponse{}.ProcessError(data, err, map[string]interface{}{}) 101 } 102 103 *c = Clickwrap(v) 104 return nil 105 } 106 107 func (c *ClickwrapCollection) UnmarshalJSON(data []byte) error { 108 type clickwraps ClickwrapCollection 109 var v clickwraps 110 if err := json.Unmarshal(data, &v); err != nil { 111 return lib.ErrorWithOriginalResponse{}.ProcessError(data, err, []map[string]interface{}{}) 112 } 113 114 *c = ClickwrapCollection(v) 115 return nil 116 } 117 118 func (c *ClickwrapCollection) ToSlice() *[]interface{} { 119 ret := make([]interface{}, len(*c)) 120 for i, v := range *c { 121 ret[i] = v 122 } 123 124 return &ret 125 }