github.com/Files-com/files-sdk-go/v2@v2.1.2/userrequest.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 UserRequest 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 Email string `json:"email,omitempty" path:"email,omitempty" url:"email,omitempty"` 13 Details string `json:"details,omitempty" path:"details,omitempty" url:"details,omitempty"` 14 } 15 16 func (u UserRequest) Identifier() interface{} { 17 return u.Id 18 } 19 20 type UserRequestCollection []UserRequest 21 22 type UserRequestListParams struct { 23 ListParams 24 } 25 26 type UserRequestFindParams struct { 27 Id int64 `url:"-,omitempty" required:"false" json:"-,omitempty" path:"id"` 28 } 29 30 type UserRequestCreateParams struct { 31 Name string `url:"name,omitempty" required:"true" json:"name,omitempty" path:"name"` 32 Email string `url:"email,omitempty" required:"true" json:"email,omitempty" path:"email"` 33 Details string `url:"details,omitempty" required:"true" json:"details,omitempty" path:"details"` 34 } 35 36 type UserRequestDeleteParams struct { 37 Id int64 `url:"-,omitempty" required:"false" json:"-,omitempty" path:"id"` 38 } 39 40 func (u *UserRequest) UnmarshalJSON(data []byte) error { 41 type userRequest UserRequest 42 var v userRequest 43 if err := json.Unmarshal(data, &v); err != nil { 44 return lib.ErrorWithOriginalResponse{}.ProcessError(data, err, map[string]interface{}{}) 45 } 46 47 *u = UserRequest(v) 48 return nil 49 } 50 51 func (u *UserRequestCollection) UnmarshalJSON(data []byte) error { 52 type userRequests UserRequestCollection 53 var v userRequests 54 if err := json.Unmarshal(data, &v); err != nil { 55 return lib.ErrorWithOriginalResponse{}.ProcessError(data, err, []map[string]interface{}{}) 56 } 57 58 *u = UserRequestCollection(v) 59 return nil 60 } 61 62 func (u *UserRequestCollection) ToSlice() *[]interface{} { 63 ret := make([]interface{}, len(*u)) 64 for i, v := range *u { 65 ret[i] = v 66 } 67 68 return &ret 69 }