github.com/Files-com/files-sdk-go/v3@v3.1.81/messagereaction.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 MessageReaction struct { 10 Id int64 `json:"id,omitempty" path:"id,omitempty" url:"id,omitempty"` 11 Emoji string `json:"emoji,omitempty" path:"emoji,omitempty" url:"emoji,omitempty"` 12 UserId int64 `json:"user_id,omitempty" path:"user_id,omitempty" url:"user_id,omitempty"` 13 } 14 15 func (m MessageReaction) Identifier() interface{} { 16 return m.Id 17 } 18 19 type MessageReactionCollection []MessageReaction 20 21 type MessageReactionListParams struct { 22 UserId int64 `url:"user_id,omitempty" required:"false" json:"user_id,omitempty" path:"user_id"` 23 MessageId int64 `url:"message_id,omitempty" required:"true" json:"message_id,omitempty" path:"message_id"` 24 ListParams 25 } 26 27 type MessageReactionFindParams struct { 28 Id int64 `url:"-,omitempty" required:"false" json:"-,omitempty" path:"id"` 29 } 30 31 type MessageReactionCreateParams struct { 32 UserId int64 `url:"user_id,omitempty" required:"false" json:"user_id,omitempty" path:"user_id"` 33 Emoji string `url:"emoji,omitempty" required:"true" json:"emoji,omitempty" path:"emoji"` 34 } 35 36 type MessageReactionDeleteParams struct { 37 Id int64 `url:"-,omitempty" required:"false" json:"-,omitempty" path:"id"` 38 } 39 40 func (m *MessageReaction) UnmarshalJSON(data []byte) error { 41 type messageReaction MessageReaction 42 var v messageReaction 43 if err := json.Unmarshal(data, &v); err != nil { 44 return lib.ErrorWithOriginalResponse{}.ProcessError(data, err, map[string]interface{}{}) 45 } 46 47 *m = MessageReaction(v) 48 return nil 49 } 50 51 func (m *MessageReactionCollection) UnmarshalJSON(data []byte) error { 52 type messageReactions MessageReactionCollection 53 var v messageReactions 54 if err := json.Unmarshal(data, &v); err != nil { 55 return lib.ErrorWithOriginalResponse{}.ProcessError(data, err, []map[string]interface{}{}) 56 } 57 58 *m = MessageReactionCollection(v) 59 return nil 60 } 61 62 func (m *MessageReactionCollection) ToSlice() *[]interface{} { 63 ret := make([]interface{}, len(*m)) 64 for i, v := range *m { 65 ret[i] = v 66 } 67 68 return &ret 69 }