github.com/Files-com/files-sdk-go/v2@v2.1.2/formfieldset.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 FormFieldSet struct {
    10  	Id          int64    `json:"id,omitempty" path:"id,omitempty" url:"id,omitempty"`
    11  	Title       string   `json:"title,omitempty" path:"title,omitempty" url:"title,omitempty"`
    12  	FormLayout  []int64  `json:"form_layout,omitempty" path:"form_layout,omitempty" url:"form_layout,omitempty"`
    13  	FormFields  []string `json:"form_fields,omitempty" path:"form_fields,omitempty" url:"form_fields,omitempty"`
    14  	SkipName    *bool    `json:"skip_name,omitempty" path:"skip_name,omitempty" url:"skip_name,omitempty"`
    15  	SkipEmail   *bool    `json:"skip_email,omitempty" path:"skip_email,omitempty" url:"skip_email,omitempty"`
    16  	SkipCompany *bool    `json:"skip_company,omitempty" path:"skip_company,omitempty" url:"skip_company,omitempty"`
    17  	UserId      int64    `json:"user_id,omitempty" path:"user_id,omitempty" url:"user_id,omitempty"`
    18  }
    19  
    20  func (f FormFieldSet) Identifier() interface{} {
    21  	return f.Id
    22  }
    23  
    24  type FormFieldSetCollection []FormFieldSet
    25  
    26  type FormFieldSetListParams struct {
    27  	UserId int64 `url:"user_id,omitempty" required:"false" json:"user_id,omitempty" path:"user_id"`
    28  	ListParams
    29  }
    30  
    31  type FormFieldSetFindParams struct {
    32  	Id int64 `url:"-,omitempty" required:"false" json:"-,omitempty" path:"id"`
    33  }
    34  
    35  type FormFieldSetCreateParams struct {
    36  	UserId      int64                    `url:"user_id,omitempty" required:"" json:"user_id,omitempty" path:"user_id"`
    37  	Title       string                   `url:"title,omitempty" required:"" json:"title,omitempty" path:"title"`
    38  	SkipEmail   *bool                    `url:"skip_email,omitempty" required:"" json:"skip_email,omitempty" path:"skip_email"`
    39  	SkipName    *bool                    `url:"skip_name,omitempty" required:"" json:"skip_name,omitempty" path:"skip_name"`
    40  	SkipCompany *bool                    `url:"skip_company,omitempty" required:"" json:"skip_company,omitempty" path:"skip_company"`
    41  	FormFields  []map[string]interface{} `url:"form_fields,omitempty" required:"" json:"form_fields,omitempty" path:"form_fields"`
    42  }
    43  
    44  type FormFieldSetUpdateParams struct {
    45  	Id          int64                    `url:"-,omitempty" required:"false" json:"-,omitempty" path:"id"`
    46  	Title       string                   `url:"title,omitempty" required:"" json:"title,omitempty" path:"title"`
    47  	SkipEmail   *bool                    `url:"skip_email,omitempty" required:"" json:"skip_email,omitempty" path:"skip_email"`
    48  	SkipName    *bool                    `url:"skip_name,omitempty" required:"" json:"skip_name,omitempty" path:"skip_name"`
    49  	SkipCompany *bool                    `url:"skip_company,omitempty" required:"" json:"skip_company,omitempty" path:"skip_company"`
    50  	FormFields  []map[string]interface{} `url:"form_fields,omitempty" required:"" json:"form_fields,omitempty" path:"form_fields"`
    51  }
    52  
    53  type FormFieldSetDeleteParams struct {
    54  	Id int64 `url:"-,omitempty" required:"false" json:"-,omitempty" path:"id"`
    55  }
    56  
    57  func (f *FormFieldSet) UnmarshalJSON(data []byte) error {
    58  	type formFieldSet FormFieldSet
    59  	var v formFieldSet
    60  	if err := json.Unmarshal(data, &v); err != nil {
    61  		return lib.ErrorWithOriginalResponse{}.ProcessError(data, err, map[string]interface{}{})
    62  	}
    63  
    64  	*f = FormFieldSet(v)
    65  	return nil
    66  }
    67  
    68  func (f *FormFieldSetCollection) UnmarshalJSON(data []byte) error {
    69  	type formFieldSets FormFieldSetCollection
    70  	var v formFieldSets
    71  	if err := json.Unmarshal(data, &v); err != nil {
    72  		return lib.ErrorWithOriginalResponse{}.ProcessError(data, err, []map[string]interface{}{})
    73  	}
    74  
    75  	*f = FormFieldSetCollection(v)
    76  	return nil
    77  }
    78  
    79  func (f *FormFieldSetCollection) ToSlice() *[]interface{} {
    80  	ret := make([]interface{}, len(*f))
    81  	for i, v := range *f {
    82  		ret[i] = v
    83  	}
    84  
    85  	return &ret
    86  }