github.com/Files-com/files-sdk-go/v2@v2.1.2/formfield.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 FormField struct { 10 Id int64 `json:"id,omitempty" path:"id,omitempty" url:"id,omitempty"` 11 Label string `json:"label,omitempty" path:"label,omitempty" url:"label,omitempty"` 12 Required *bool `json:"required,omitempty" path:"required,omitempty" url:"required,omitempty"` 13 HelpText string `json:"help_text,omitempty" path:"help_text,omitempty" url:"help_text,omitempty"` 14 FieldType string `json:"field_type,omitempty" path:"field_type,omitempty" url:"field_type,omitempty"` 15 OptionsForSelect []string `json:"options_for_select,omitempty" path:"options_for_select,omitempty" url:"options_for_select,omitempty"` 16 DefaultOption string `json:"default_option,omitempty" path:"default_option,omitempty" url:"default_option,omitempty"` 17 FormFieldSetId int64 `json:"form_field_set_id,omitempty" path:"form_field_set_id,omitempty" url:"form_field_set_id,omitempty"` 18 } 19 20 func (f FormField) Identifier() interface{} { 21 return f.Id 22 } 23 24 type FormFieldCollection []FormField 25 26 func (f *FormField) UnmarshalJSON(data []byte) error { 27 type formField FormField 28 var v formField 29 if err := json.Unmarshal(data, &v); err != nil { 30 return lib.ErrorWithOriginalResponse{}.ProcessError(data, err, map[string]interface{}{}) 31 } 32 33 *f = FormField(v) 34 return nil 35 } 36 37 func (f *FormFieldCollection) UnmarshalJSON(data []byte) error { 38 type formFields FormFieldCollection 39 var v formFields 40 if err := json.Unmarshal(data, &v); err != nil { 41 return lib.ErrorWithOriginalResponse{}.ProcessError(data, err, []map[string]interface{}{}) 42 } 43 44 *f = FormFieldCollection(v) 45 return nil 46 } 47 48 func (f *FormFieldCollection) ToSlice() *[]interface{} { 49 ret := make([]interface{}, len(*f)) 50 for i, v := range *f { 51 ret[i] = v 52 } 53 54 return &ret 55 }