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

     1  // THIS FILE IS GENERATED BY api-generator, DO NOT EDIT DIRECTLY!
     2  
     3  // 更新用户分组信息
     4  package modify_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  	NewAlias    string                          // 新的用户分组别名,由 `A-Za-z0-9` 组成
    18  	Description string                          // 用户分组描述
    19  }
    20  
    21  // 修改用户分组参数
    22  type (
    23  	ModifyGroupParam = Request
    24  	jsonRequest      struct {
    25  		NewAlias    string `json:"alias,omitempty"`       // 新的用户分组别名,由 `A-Za-z0-9` 组成
    26  		Description string `json:"description,omitempty"` // 用户分组描述
    27  	}
    28  )
    29  
    30  func (j *Request) MarshalJSON() ([]byte, error) {
    31  	if err := j.validate(); err != nil {
    32  		return nil, err
    33  	}
    34  	return json.Marshal(&jsonRequest{NewAlias: j.NewAlias, Description: j.Description})
    35  }
    36  
    37  func (j *Request) UnmarshalJSON(data []byte) error {
    38  	var nj jsonRequest
    39  	if err := json.Unmarshal(data, &nj); err != nil {
    40  		return err
    41  	}
    42  	j.NewAlias = nj.NewAlias
    43  	j.Description = nj.Description
    44  	return nil
    45  }
    46  
    47  func (j *Request) validate() error {
    48  	return nil
    49  }
    50  
    51  // 获取 API 所用的响应
    52  type Response struct {
    53  	Data ModifyGroupData // 用户分组信息
    54  }
    55  
    56  // 用户分组信息
    57  type Data struct {
    58  	Id          string // 记录 ID
    59  	RootUid     int64  // 根用户 uid
    60  	Alias       string // 用户分组别名
    61  	Description string // 用户分组描述
    62  	Enabled     bool   // 用户分组是否启用
    63  	CreatedAt   string // 用户分组创建时间
    64  	UpdatedAt   string // 用户分组上次更新时间
    65  }
    66  
    67  // 返回的用户分组信息
    68  type (
    69  	ModifyGroupData = Data
    70  	jsonData        struct {
    71  		Id          string `json:"id"`          // 记录 ID
    72  		RootUid     int64  `json:"root_uid"`    // 根用户 uid
    73  		Alias       string `json:"alias"`       // 用户分组别名
    74  		Description string `json:"description"` // 用户分组描述
    75  		Enabled     bool   `json:"enabled"`     // 用户分组是否启用
    76  		CreatedAt   string `json:"created_at"`  // 用户分组创建时间
    77  		UpdatedAt   string `json:"updated_at"`  // 用户分组上次更新时间
    78  	}
    79  )
    80  
    81  func (j *Data) MarshalJSON() ([]byte, error) {
    82  	if err := j.validate(); err != nil {
    83  		return nil, err
    84  	}
    85  	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})
    86  }
    87  
    88  func (j *Data) UnmarshalJSON(data []byte) error {
    89  	var nj jsonData
    90  	if err := json.Unmarshal(data, &nj); err != nil {
    91  		return err
    92  	}
    93  	j.Id = nj.Id
    94  	j.RootUid = nj.RootUid
    95  	j.Alias = nj.Alias
    96  	j.Description = nj.Description
    97  	j.Enabled = nj.Enabled
    98  	j.CreatedAt = nj.CreatedAt
    99  	j.UpdatedAt = nj.UpdatedAt
   100  	return nil
   101  }
   102  
   103  func (j *Data) validate() error {
   104  	if j.Id == "" {
   105  		return errors.MissingRequiredFieldError{Name: "Id"}
   106  	}
   107  	if j.RootUid == 0 {
   108  		return errors.MissingRequiredFieldError{Name: "RootUid"}
   109  	}
   110  	if j.Alias == "" {
   111  		return errors.MissingRequiredFieldError{Name: "Alias"}
   112  	}
   113  	if j.Description == "" {
   114  		return errors.MissingRequiredFieldError{Name: "Description"}
   115  	}
   116  	if j.CreatedAt == "" {
   117  		return errors.MissingRequiredFieldError{Name: "CreatedAt"}
   118  	}
   119  	if j.UpdatedAt == "" {
   120  		return errors.MissingRequiredFieldError{Name: "UpdatedAt"}
   121  	}
   122  	return nil
   123  }
   124  
   125  // 返回的用户分组响应
   126  type (
   127  	ModifyGroupResp = Response
   128  	jsonResponse    struct {
   129  		Data ModifyGroupData `json:"data"` // 用户分组信息
   130  	}
   131  )
   132  
   133  func (j *Response) MarshalJSON() ([]byte, error) {
   134  	if err := j.validate(); err != nil {
   135  		return nil, err
   136  	}
   137  	return json.Marshal(&jsonResponse{Data: j.Data})
   138  }
   139  
   140  func (j *Response) UnmarshalJSON(data []byte) error {
   141  	var nj jsonResponse
   142  	if err := json.Unmarshal(data, &nj); err != nil {
   143  		return err
   144  	}
   145  	j.Data = nj.Data
   146  	return nil
   147  }
   148  
   149  func (j *Response) validate() error {
   150  	if err := j.Data.validate(); err != nil {
   151  		return err
   152  	}
   153  	return nil
   154  }