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