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

     1  // THIS FILE IS GENERATED BY api-generator, DO NOT EDIT DIRECTLY!
     2  
     3  // 查询指定用户分组详情
     4  package get_group
     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  	Alias       string                          // 用户分组别名
    16  	Credentials credentials.CredentialsProvider // 鉴权参数,用于生成鉴权凭证,如果为空,则使用 HTTPClientOptions 中的 CredentialsProvider
    17  }
    18  
    19  // 获取 API 所用的响应
    20  type Response struct {
    21  	Data GetGroupData // 用户分组信息
    22  }
    23  
    24  // 用户分组信息
    25  type Data struct {
    26  	Id          string // 记录 ID
    27  	RootUid     int64  // 根用户 uid
    28  	Alias       string // 用户分组别名
    29  	Description string // 用户分组描述
    30  	Enabled     bool   // 用户分组是否启用
    31  	CreatedAt   string // 用户分组创建时间
    32  	UpdatedAt   string // 用户分组上次更新时间
    33  }
    34  
    35  // 返回的用户分组信息
    36  type (
    37  	GetGroupData = Data
    38  	jsonData     struct {
    39  		Id          string `json:"id"`          // 记录 ID
    40  		RootUid     int64  `json:"root_uid"`    // 根用户 uid
    41  		Alias       string `json:"alias"`       // 用户分组别名
    42  		Description string `json:"description"` // 用户分组描述
    43  		Enabled     bool   `json:"enabled"`     // 用户分组是否启用
    44  		CreatedAt   string `json:"created_at"`  // 用户分组创建时间
    45  		UpdatedAt   string `json:"updated_at"`  // 用户分组上次更新时间
    46  	}
    47  )
    48  
    49  func (j *Data) MarshalJSON() ([]byte, error) {
    50  	if err := j.validate(); err != nil {
    51  		return nil, err
    52  	}
    53  	return json.Marshal(&jsonData{Id: j.Id, RootUid: j.RootUid, Alias: j.Alias, Description: j.Description, Enabled: j.Enabled, CreatedAt: j.CreatedAt, UpdatedAt: j.UpdatedAt})
    54  }
    55  
    56  func (j *Data) UnmarshalJSON(data []byte) error {
    57  	var nj jsonData
    58  	if err := json.Unmarshal(data, &nj); err != nil {
    59  		return err
    60  	}
    61  	j.Id = nj.Id
    62  	j.RootUid = nj.RootUid
    63  	j.Alias = nj.Alias
    64  	j.Description = nj.Description
    65  	j.Enabled = nj.Enabled
    66  	j.CreatedAt = nj.CreatedAt
    67  	j.UpdatedAt = nj.UpdatedAt
    68  	return nil
    69  }
    70  
    71  func (j *Data) validate() error {
    72  	if j.Id == "" {
    73  		return errors.MissingRequiredFieldError{Name: "Id"}
    74  	}
    75  	if j.RootUid == 0 {
    76  		return errors.MissingRequiredFieldError{Name: "RootUid"}
    77  	}
    78  	if j.Alias == "" {
    79  		return errors.MissingRequiredFieldError{Name: "Alias"}
    80  	}
    81  	if j.Description == "" {
    82  		return errors.MissingRequiredFieldError{Name: "Description"}
    83  	}
    84  	if j.CreatedAt == "" {
    85  		return errors.MissingRequiredFieldError{Name: "CreatedAt"}
    86  	}
    87  	if j.UpdatedAt == "" {
    88  		return errors.MissingRequiredFieldError{Name: "UpdatedAt"}
    89  	}
    90  	return nil
    91  }
    92  
    93  // 返回的用户分组响应
    94  type (
    95  	GetGroupResp = Response
    96  	jsonResponse struct {
    97  		Data GetGroupData `json:"data"` // 用户分组信息
    98  	}
    99  )
   100  
   101  func (j *Response) MarshalJSON() ([]byte, error) {
   102  	if err := j.validate(); err != nil {
   103  		return nil, err
   104  	}
   105  	return json.Marshal(&jsonResponse{Data: j.Data})
   106  }
   107  
   108  func (j *Response) UnmarshalJSON(data []byte) error {
   109  	var nj jsonResponse
   110  	if err := json.Unmarshal(data, &nj); err != nil {
   111  		return err
   112  	}
   113  	j.Data = nj.Data
   114  	return nil
   115  }
   116  
   117  func (j *Response) validate() error {
   118  	if err := j.Data.validate(); err != nil {
   119  		return err
   120  	}
   121  	return nil
   122  }