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 }