github.com/Files-com/files-sdk-go/v3@v3.1.81/as2station.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 As2Station 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  	Uri                        string `json:"uri,omitempty" path:"uri,omitempty" url:"uri,omitempty"`
    13  	Domain                     string `json:"domain,omitempty" path:"domain,omitempty" url:"domain,omitempty"`
    14  	HexPublicCertificateSerial string `json:"hex_public_certificate_serial,omitempty" path:"hex_public_certificate_serial,omitempty" url:"hex_public_certificate_serial,omitempty"`
    15  	PublicCertificateMd5       string `json:"public_certificate_md5,omitempty" path:"public_certificate_md5,omitempty" url:"public_certificate_md5,omitempty"`
    16  	PrivateKeyMd5              string `json:"private_key_md5,omitempty" path:"private_key_md5,omitempty" url:"private_key_md5,omitempty"`
    17  	PublicCertificateSubject   string `json:"public_certificate_subject,omitempty" path:"public_certificate_subject,omitempty" url:"public_certificate_subject,omitempty"`
    18  	PublicCertificateIssuer    string `json:"public_certificate_issuer,omitempty" path:"public_certificate_issuer,omitempty" url:"public_certificate_issuer,omitempty"`
    19  	PublicCertificateSerial    string `json:"public_certificate_serial,omitempty" path:"public_certificate_serial,omitempty" url:"public_certificate_serial,omitempty"`
    20  	PublicCertificateNotBefore string `json:"public_certificate_not_before,omitempty" path:"public_certificate_not_before,omitempty" url:"public_certificate_not_before,omitempty"`
    21  	PublicCertificateNotAfter  string `json:"public_certificate_not_after,omitempty" path:"public_certificate_not_after,omitempty" url:"public_certificate_not_after,omitempty"`
    22  	PrivateKeyPasswordMd5      string `json:"private_key_password_md5,omitempty" path:"private_key_password_md5,omitempty" url:"private_key_password_md5,omitempty"`
    23  	PublicCertificate          string `json:"public_certificate,omitempty" path:"public_certificate,omitempty" url:"public_certificate,omitempty"`
    24  	PrivateKey                 string `json:"private_key,omitempty" path:"private_key,omitempty" url:"private_key,omitempty"`
    25  	PrivateKeyPassword         string `json:"private_key_password,omitempty" path:"private_key_password,omitempty" url:"private_key_password,omitempty"`
    26  }
    27  
    28  func (a As2Station) Identifier() interface{} {
    29  	return a.Id
    30  }
    31  
    32  type As2StationCollection []As2Station
    33  
    34  type As2StationListParams struct {
    35  	ListParams
    36  }
    37  
    38  type As2StationFindParams struct {
    39  	Id int64 `url:"-,omitempty" required:"false" json:"-,omitempty" path:"id"`
    40  }
    41  
    42  type As2StationCreateParams struct {
    43  	Name               string `url:"name,omitempty" required:"true" json:"name,omitempty" path:"name"`
    44  	PublicCertificate  string `url:"public_certificate,omitempty" required:"true" json:"public_certificate,omitempty" path:"public_certificate"`
    45  	PrivateKey         string `url:"private_key,omitempty" required:"true" json:"private_key,omitempty" path:"private_key"`
    46  	PrivateKeyPassword string `url:"private_key_password,omitempty" required:"false" json:"private_key_password,omitempty" path:"private_key_password"`
    47  }
    48  
    49  type As2StationUpdateParams 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  	PublicCertificate  string `url:"public_certificate,omitempty" required:"false" json:"public_certificate,omitempty" path:"public_certificate"`
    53  	PrivateKey         string `url:"private_key,omitempty" required:"false" json:"private_key,omitempty" path:"private_key"`
    54  	PrivateKeyPassword string `url:"private_key_password,omitempty" required:"false" json:"private_key_password,omitempty" path:"private_key_password"`
    55  }
    56  
    57  type As2StationDeleteParams struct {
    58  	Id int64 `url:"-,omitempty" required:"false" json:"-,omitempty" path:"id"`
    59  }
    60  
    61  func (a *As2Station) UnmarshalJSON(data []byte) error {
    62  	type as2Station As2Station
    63  	var v as2Station
    64  	if err := json.Unmarshal(data, &v); err != nil {
    65  		return lib.ErrorWithOriginalResponse{}.ProcessError(data, err, map[string]interface{}{})
    66  	}
    67  
    68  	*a = As2Station(v)
    69  	return nil
    70  }
    71  
    72  func (a *As2StationCollection) UnmarshalJSON(data []byte) error {
    73  	type as2Stations As2StationCollection
    74  	var v as2Stations
    75  	if err := json.Unmarshal(data, &v); err != nil {
    76  		return lib.ErrorWithOriginalResponse{}.ProcessError(data, err, []map[string]interface{}{})
    77  	}
    78  
    79  	*a = As2StationCollection(v)
    80  	return nil
    81  }
    82  
    83  func (a *As2StationCollection) ToSlice() *[]interface{} {
    84  	ret := make([]interface{}, len(*a))
    85  	for i, v := range *a {
    86  		ret[i] = v
    87  	}
    88  
    89  	return &ret
    90  }