github.com/Files-com/files-sdk-go/v2@v2.1.2/as2partner.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 As2Partner struct {
    10  	Id                         int64  `json:"id,omitempty" path:"id,omitempty" url:"id,omitempty"`
    11  	As2StationId               int64  `json:"as2_station_id,omitempty" path:"as2_station_id,omitempty" url:"as2_station_id,omitempty"`
    12  	Name                       string `json:"name,omitempty" path:"name,omitempty" url:"name,omitempty"`
    13  	Uri                        string `json:"uri,omitempty" path:"uri,omitempty" url:"uri,omitempty"`
    14  	ServerCertificate          string `json:"server_certificate,omitempty" path:"server_certificate,omitempty" url:"server_certificate,omitempty"`
    15  	EnableDedicatedIps         *bool  `json:"enable_dedicated_ips,omitempty" path:"enable_dedicated_ips,omitempty" url:"enable_dedicated_ips,omitempty"`
    16  	HexPublicCertificateSerial string `json:"hex_public_certificate_serial,omitempty" path:"hex_public_certificate_serial,omitempty" url:"hex_public_certificate_serial,omitempty"`
    17  	PublicCertificateMd5       string `json:"public_certificate_md5,omitempty" path:"public_certificate_md5,omitempty" url:"public_certificate_md5,omitempty"`
    18  	PublicCertificateSubject   string `json:"public_certificate_subject,omitempty" path:"public_certificate_subject,omitempty" url:"public_certificate_subject,omitempty"`
    19  	PublicCertificateIssuer    string `json:"public_certificate_issuer,omitempty" path:"public_certificate_issuer,omitempty" url:"public_certificate_issuer,omitempty"`
    20  	PublicCertificateSerial    string `json:"public_certificate_serial,omitempty" path:"public_certificate_serial,omitempty" url:"public_certificate_serial,omitempty"`
    21  	PublicCertificateNotBefore string `json:"public_certificate_not_before,omitempty" path:"public_certificate_not_before,omitempty" url:"public_certificate_not_before,omitempty"`
    22  	PublicCertificateNotAfter  string `json:"public_certificate_not_after,omitempty" path:"public_certificate_not_after,omitempty" url:"public_certificate_not_after,omitempty"`
    23  	PublicCertificate          string `json:"public_certificate,omitempty" path:"public_certificate,omitempty" url:"public_certificate,omitempty"`
    24  }
    25  
    26  func (a As2Partner) Identifier() interface{} {
    27  	return a.Id
    28  }
    29  
    30  type As2PartnerCollection []As2Partner
    31  
    32  type As2PartnerListParams struct {
    33  	ListParams
    34  }
    35  
    36  type As2PartnerFindParams struct {
    37  	Id int64 `url:"-,omitempty" required:"false" json:"-,omitempty" path:"id"`
    38  }
    39  
    40  type As2PartnerCreateParams struct {
    41  	Name               string `url:"name,omitempty" required:"true" json:"name,omitempty" path:"name"`
    42  	Uri                string `url:"uri,omitempty" required:"true" json:"uri,omitempty" path:"uri"`
    43  	PublicCertificate  string `url:"public_certificate,omitempty" required:"true" json:"public_certificate,omitempty" path:"public_certificate"`
    44  	As2StationId       int64  `url:"as2_station_id,omitempty" required:"true" json:"as2_station_id,omitempty" path:"as2_station_id"`
    45  	ServerCertificate  string `url:"server_certificate,omitempty" required:"false" json:"server_certificate,omitempty" path:"server_certificate"`
    46  	EnableDedicatedIps *bool  `url:"enable_dedicated_ips,omitempty" required:"false" json:"enable_dedicated_ips,omitempty" path:"enable_dedicated_ips"`
    47  }
    48  
    49  type As2PartnerUpdateParams struct {
    50  	Id                 int64  `url:"-,omitempty" required:"false" json:"-,omitempty" path:"id"`
    51  	Name               string `url:"name,omitempty" required:"false" json:"name,omitempty" path:"name"`
    52  	Uri                string `url:"uri,omitempty" required:"false" json:"uri,omitempty" path:"uri"`
    53  	ServerCertificate  string `url:"server_certificate,omitempty" required:"false" json:"server_certificate,omitempty" path:"server_certificate"`
    54  	PublicCertificate  string `url:"public_certificate,omitempty" required:"false" json:"public_certificate,omitempty" path:"public_certificate"`
    55  	EnableDedicatedIps *bool  `url:"enable_dedicated_ips,omitempty" required:"false" json:"enable_dedicated_ips,omitempty" path:"enable_dedicated_ips"`
    56  }
    57  
    58  type As2PartnerDeleteParams struct {
    59  	Id int64 `url:"-,omitempty" required:"false" json:"-,omitempty" path:"id"`
    60  }
    61  
    62  func (a *As2Partner) UnmarshalJSON(data []byte) error {
    63  	type as2Partner As2Partner
    64  	var v as2Partner
    65  	if err := json.Unmarshal(data, &v); err != nil {
    66  		return lib.ErrorWithOriginalResponse{}.ProcessError(data, err, map[string]interface{}{})
    67  	}
    68  
    69  	*a = As2Partner(v)
    70  	return nil
    71  }
    72  
    73  func (a *As2PartnerCollection) UnmarshalJSON(data []byte) error {
    74  	type as2Partners As2PartnerCollection
    75  	var v as2Partners
    76  	if err := json.Unmarshal(data, &v); err != nil {
    77  		return lib.ErrorWithOriginalResponse{}.ProcessError(data, err, []map[string]interface{}{})
    78  	}
    79  
    80  	*a = As2PartnerCollection(v)
    81  	return nil
    82  }
    83  
    84  func (a *As2PartnerCollection) ToSlice() *[]interface{} {
    85  	ret := make([]interface{}, len(*a))
    86  	for i, v := range *a {
    87  		ret[i] = v
    88  	}
    89  
    90  	return &ret
    91  }