github.com/Files-com/files-sdk-go/v3@v3.1.81/sharegroupmember.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 ShareGroupMember struct { 10 Name string `json:"name,omitempty" path:"name,omitempty" url:"name,omitempty"` 11 Company string `json:"company,omitempty" path:"company,omitempty" url:"company,omitempty"` 12 Email string `json:"email,omitempty" path:"email,omitempty" url:"email,omitempty"` 13 } 14 15 // Identifier no path or id 16 17 type ShareGroupMemberCollection []ShareGroupMember 18 19 func (s *ShareGroupMember) UnmarshalJSON(data []byte) error { 20 type shareGroupMember ShareGroupMember 21 var v shareGroupMember 22 if err := json.Unmarshal(data, &v); err != nil { 23 return lib.ErrorWithOriginalResponse{}.ProcessError(data, err, map[string]interface{}{}) 24 } 25 26 *s = ShareGroupMember(v) 27 return nil 28 } 29 30 func (s *ShareGroupMemberCollection) UnmarshalJSON(data []byte) error { 31 type shareGroupMembers ShareGroupMemberCollection 32 var v shareGroupMembers 33 if err := json.Unmarshal(data, &v); err != nil { 34 return lib.ErrorWithOriginalResponse{}.ProcessError(data, err, []map[string]interface{}{}) 35 } 36 37 *s = ShareGroupMemberCollection(v) 38 return nil 39 } 40 41 func (s *ShareGroupMemberCollection) ToSlice() *[]interface{} { 42 ret := make([]interface{}, len(*s)) 43 for i, v := range *s { 44 ret[i] = v 45 } 46 47 return &ret 48 }