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

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