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

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