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

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