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 }