github.com/qiniu/go-sdk/v7@v7.27.0/iam/apis/get_group/api.go (about) 1 // THIS FILE IS GENERATED BY api-generator, DO NOT EDIT DIRECTLY! 2 3 // 查询指定用户分组详情 4 package get_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 } 18 19 // 获取 API 所用的响应 20 type Response struct { 21 Data GetGroupData // 用户分组信息 22 } 23 24 // 用户分组信息 25 type Data struct { 26 Id string // 记录 ID 27 RootUid int64 // 根用户 uid 28 Alias string // 用户分组别名 29 Description string // 用户分组描述 30 Enabled bool // 用户分组是否启用 31 CreatedAt string // 用户分组创建时间 32 UpdatedAt string // 用户分组上次更新时间 33 } 34 35 // 返回的用户分组信息 36 type ( 37 GetGroupData = Data 38 jsonData struct { 39 Id string `json:"id"` // 记录 ID 40 RootUid int64 `json:"root_uid"` // 根用户 uid 41 Alias string `json:"alias"` // 用户分组别名 42 Description string `json:"description"` // 用户分组描述 43 Enabled bool `json:"enabled"` // 用户分组是否启用 44 CreatedAt string `json:"created_at"` // 用户分组创建时间 45 UpdatedAt string `json:"updated_at"` // 用户分组上次更新时间 46 } 47 ) 48 49 func (j *Data) MarshalJSON() ([]byte, error) { 50 if err := j.validate(); err != nil { 51 return nil, err 52 } 53 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}) 54 } 55 56 func (j *Data) UnmarshalJSON(data []byte) error { 57 var nj jsonData 58 if err := json.Unmarshal(data, &nj); err != nil { 59 return err 60 } 61 j.Id = nj.Id 62 j.RootUid = nj.RootUid 63 j.Alias = nj.Alias 64 j.Description = nj.Description 65 j.Enabled = nj.Enabled 66 j.CreatedAt = nj.CreatedAt 67 j.UpdatedAt = nj.UpdatedAt 68 return nil 69 } 70 71 func (j *Data) validate() error { 72 if j.Id == "" { 73 return errors.MissingRequiredFieldError{Name: "Id"} 74 } 75 if j.RootUid == 0 { 76 return errors.MissingRequiredFieldError{Name: "RootUid"} 77 } 78 if j.Alias == "" { 79 return errors.MissingRequiredFieldError{Name: "Alias"} 80 } 81 if j.Description == "" { 82 return errors.MissingRequiredFieldError{Name: "Description"} 83 } 84 if j.CreatedAt == "" { 85 return errors.MissingRequiredFieldError{Name: "CreatedAt"} 86 } 87 if j.UpdatedAt == "" { 88 return errors.MissingRequiredFieldError{Name: "UpdatedAt"} 89 } 90 return nil 91 } 92 93 // 返回的用户分组响应 94 type ( 95 GetGroupResp = Response 96 jsonResponse struct { 97 Data GetGroupData `json:"data"` // 用户分组信息 98 } 99 ) 100 101 func (j *Response) MarshalJSON() ([]byte, error) { 102 if err := j.validate(); err != nil { 103 return nil, err 104 } 105 return json.Marshal(&jsonResponse{Data: j.Data}) 106 } 107 108 func (j *Response) UnmarshalJSON(data []byte) error { 109 var nj jsonResponse 110 if err := json.Unmarshal(data, &nj); err != nil { 111 return err 112 } 113 j.Data = nj.Data 114 return nil 115 } 116 117 func (j *Response) validate() error { 118 if err := j.Data.validate(); err != nil { 119 return err 120 } 121 return nil 122 }