github.com/Files-com/files-sdk-go/v2@v2.1.2/bundlenotification.go (about) 1 package files_sdk 2 3 import ( 4 "encoding/json" 5 6 lib "github.com/Files-com/files-sdk-go/v2/lib" 7 ) 8 9 type BundleNotification struct { 10 BundleId int64 `json:"bundle_id,omitempty" path:"bundle_id,omitempty" url:"bundle_id,omitempty"` 11 Id int64 `json:"id,omitempty" path:"id,omitempty" url:"id,omitempty"` 12 NotifyOnRegistration *bool `json:"notify_on_registration,omitempty" path:"notify_on_registration,omitempty" url:"notify_on_registration,omitempty"` 13 NotifyOnUpload *bool `json:"notify_on_upload,omitempty" path:"notify_on_upload,omitempty" url:"notify_on_upload,omitempty"` 14 UserId int64 `json:"user_id,omitempty" path:"user_id,omitempty" url:"user_id,omitempty"` 15 } 16 17 func (b BundleNotification) Identifier() interface{} { 18 return b.Id 19 } 20 21 type BundleNotificationCollection []BundleNotification 22 23 type BundleNotificationListParams struct { 24 UserId int64 `url:"user_id,omitempty" required:"false" json:"user_id,omitempty" path:"user_id"` 25 SortBy map[string]interface{} `url:"sort_by,omitempty" required:"false" json:"sort_by,omitempty" path:"sort_by"` 26 Filter BundleNotification `url:"filter,omitempty" required:"false" json:"filter,omitempty" path:"filter"` 27 ListParams 28 } 29 30 type BundleNotificationFindParams struct { 31 Id int64 `url:"-,omitempty" required:"false" json:"-,omitempty" path:"id"` 32 } 33 34 type BundleNotificationCreateParams struct { 35 UserId int64 `url:"user_id,omitempty" required:"false" json:"user_id,omitempty" path:"user_id"` 36 NotifyOnRegistration *bool `url:"notify_on_registration,omitempty" required:"false" json:"notify_on_registration,omitempty" path:"notify_on_registration"` 37 NotifyOnUpload *bool `url:"notify_on_upload,omitempty" required:"false" json:"notify_on_upload,omitempty" path:"notify_on_upload"` 38 BundleId int64 `url:"bundle_id,omitempty" required:"true" json:"bundle_id,omitempty" path:"bundle_id"` 39 } 40 41 type BundleNotificationUpdateParams struct { 42 Id int64 `url:"-,omitempty" required:"false" json:"-,omitempty" path:"id"` 43 NotifyOnRegistration *bool `url:"notify_on_registration,omitempty" required:"false" json:"notify_on_registration,omitempty" path:"notify_on_registration"` 44 NotifyOnUpload *bool `url:"notify_on_upload,omitempty" required:"false" json:"notify_on_upload,omitempty" path:"notify_on_upload"` 45 } 46 47 type BundleNotificationDeleteParams struct { 48 Id int64 `url:"-,omitempty" required:"false" json:"-,omitempty" path:"id"` 49 } 50 51 func (b *BundleNotification) UnmarshalJSON(data []byte) error { 52 type bundleNotification BundleNotification 53 var v bundleNotification 54 if err := json.Unmarshal(data, &v); err != nil { 55 return lib.ErrorWithOriginalResponse{}.ProcessError(data, err, map[string]interface{}{}) 56 } 57 58 *b = BundleNotification(v) 59 return nil 60 } 61 62 func (b *BundleNotificationCollection) UnmarshalJSON(data []byte) error { 63 type bundleNotifications BundleNotificationCollection 64 var v bundleNotifications 65 if err := json.Unmarshal(data, &v); err != nil { 66 return lib.ErrorWithOriginalResponse{}.ProcessError(data, err, []map[string]interface{}{}) 67 } 68 69 *b = BundleNotificationCollection(v) 70 return nil 71 } 72 73 func (b *BundleNotificationCollection) ToSlice() *[]interface{} { 74 ret := make([]interface{}, len(*b)) 75 for i, v := range *b { 76 ret[i] = v 77 } 78 79 return &ret 80 }