MCPcopy Index your code
hub / github.com/1Panel-dev/1Panel / BindUser

Method BindUser

agent/app/service/database_mysql.go:147–185  ·  view source on GitHub ↗
(req dto.BindUser)

Source from the content-addressed store, hash-verified

145}
146
147func (u *MysqlService) BindUser(req dto.BindUser) error {
148 if cmd.CheckIllegal(req.Username, req.Password, req.Permission) {
149 return buserr.New("ErrCmdIllegal")
150 }
151
152 dbItem, err := mysqlRepo.Get(mysqlRepo.WithByMysqlName(req.Database), repo.WithByName(req.DB))
153 if err != nil {
154 return err
155 }
156 cli, version, err := LoadMysqlClientByFrom(req.Database)
157 if err != nil {
158 return err
159 }
160 defer cli.Close()
161
162 if err := cli.CreateUser(client.CreateInfo{
163 Name: dbItem.Name,
164 Format: dbItem.Format,
165 Username: req.Username,
166 Password: req.Password,
167 Permission: req.Permission,
168 Version: version,
169 Timeout: 300,
170 }, false); err != nil {
171 return err
172 }
173 pass, err := encrypt.StringEncrypt(req.Password)
174 if err != nil {
175 return fmt.Errorf("decrypt database db password failed, err: %v", err)
176 }
177 if err := mysqlRepo.Update(dbItem.ID, map[string]interface{}{
178 "username": req.Username,
179 "password": pass,
180 "permission": req.Permission,
181 }); err != nil {
182 return err
183 }
184 return nil
185}
186
187func (u *MysqlService) LoadFromRemote(req dto.MysqlLoadDB) error {
188 client, version, err := LoadMysqlClientByFrom(req.Database)

Callers

nothing calls this directly

Calls 6

LoadMysqlClientByFromFunction · 0.85
GetMethod · 0.65
WithByMysqlNameMethod · 0.65
CloseMethod · 0.65
CreateUserMethod · 0.65
UpdateMethod · 0.65

Tested by

no test coverage detected