github.com/qiniu/go-sdk/v7@v7.27.0/storagev2/apis/get_bucket_domains_v3/api.go (about)

     1  // THIS FILE IS GENERATED BY api-generator, DO NOT EDIT DIRECTLY!
     2  
     3  // 获取存储空间的域名列表
     4  package get_bucket_domains_v3
     5  
     6  import (
     7  	"encoding/json"
     8  
     9  	credentials "github.com/qiniu/go-sdk/v7/storagev2/credentials"
    10  	errors "github.com/qiniu/go-sdk/v7/storagev2/errors"
    11  )
    12  
    13  // 调用 API 所用的请求
    14  type Request struct {
    15  	BucketName  string                          // 要获取域名列表的目标空间名称
    16  	Credentials credentials.CredentialsProvider // 鉴权参数,用于生成鉴权凭证,如果为空,则使用 HTTPClientOptions 中的 CredentialsProvider
    17  }
    18  
    19  // 获取 API 所用的响应
    20  type Response struct {
    21  	DomainInfos DomainInfos // 存储空间的域名信息列表
    22  }
    23  
    24  // 存储空间的域名信息
    25  type DomainInfo struct {
    26  	Domain      string // 域名
    27  	Bucket      string // 存储空间名称
    28  	OwnerId     int64  // 用户 UID
    29  	AutoRefresh bool   // 是否自动刷新
    30  	CreatedTime int64  // 域名创建时间
    31  	UpdatedTime int64  // 域名更新时间
    32  }
    33  type jsonDomainInfo struct {
    34  	Domain      string `json:"domain"`  // 域名
    35  	Bucket      string `json:"tbl"`     // 存储空间名称
    36  	OwnerId     int64  `json:"uid"`     // 用户 UID
    37  	AutoRefresh bool   `json:"refresh"` // 是否自动刷新
    38  	CreatedTime int64  `json:"ctime"`   // 域名创建时间
    39  	UpdatedTime int64  `json:"utime"`   // 域名更新时间
    40  }
    41  
    42  func (j *DomainInfo) MarshalJSON() ([]byte, error) {
    43  	if err := j.validate(); err != nil {
    44  		return nil, err
    45  	}
    46  	return json.Marshal(&jsonDomainInfo{Domain: j.Domain, Bucket: j.Bucket, OwnerId: j.OwnerId, AutoRefresh: j.AutoRefresh, CreatedTime: j.CreatedTime, UpdatedTime: j.UpdatedTime})
    47  }
    48  
    49  func (j *DomainInfo) UnmarshalJSON(data []byte) error {
    50  	var nj jsonDomainInfo
    51  	if err := json.Unmarshal(data, &nj); err != nil {
    52  		return err
    53  	}
    54  	j.Domain = nj.Domain
    55  	j.Bucket = nj.Bucket
    56  	j.OwnerId = nj.OwnerId
    57  	j.AutoRefresh = nj.AutoRefresh
    58  	j.CreatedTime = nj.CreatedTime
    59  	j.UpdatedTime = nj.UpdatedTime
    60  	return nil
    61  }
    62  
    63  func (j *DomainInfo) validate() error {
    64  	if j.Domain == "" {
    65  		return errors.MissingRequiredFieldError{Name: "Domain"}
    66  	}
    67  	if j.Bucket == "" {
    68  		return errors.MissingRequiredFieldError{Name: "Bucket"}
    69  	}
    70  	if j.OwnerId == 0 {
    71  		return errors.MissingRequiredFieldError{Name: "OwnerId"}
    72  	}
    73  	if j.CreatedTime == 0 {
    74  		return errors.MissingRequiredFieldError{Name: "CreatedTime"}
    75  	}
    76  	if j.UpdatedTime == 0 {
    77  		return errors.MissingRequiredFieldError{Name: "UpdatedTime"}
    78  	}
    79  	return nil
    80  }
    81  
    82  // 存储空间的域名信息列表
    83  type DomainInfos []DomainInfo
    84  
    85  func (j *Response) MarshalJSON() ([]byte, error) {
    86  	return json.Marshal(j.DomainInfos)
    87  }
    88  
    89  func (j *Response) UnmarshalJSON(data []byte) error {
    90  	var array DomainInfos
    91  	if err := json.Unmarshal(data, &array); err != nil {
    92  		return err
    93  	}
    94  	j.DomainInfos = array
    95  	return nil
    96  }