MCPcopy Create free account
hub / github.com/1Panel-dev/1Panel / ChangeAccess

Method ChangeAccess

agent/app/service/database_mysql.go:408–446  ·  view source on GitHub ↗
(req dto.ChangeDBInfo)

Source from the content-addressed store, hash-verified

406}
407
408func (u *MysqlService) ChangeAccess(req dto.ChangeDBInfo) error {
409 if cmd.CheckIllegal(req.Value) {
410 return buserr.New("ErrCmdIllegal")
411 }
412 cli, version, err := LoadMysqlClientByFrom(req.Database)
413 if err != nil {
414 return err
415 }
416 defer cli.Close()
417 var (
418 mysqlData model.DatabaseMysql
419 accessInfo client.AccessChangeInfo
420 )
421 accessInfo.Permission = req.Value
422 accessInfo.Timeout = 300
423 accessInfo.Version = version
424
425 if req.ID != 0 {
426 mysqlData, err = mysqlRepo.Get(repo.WithByID(req.ID))
427 if err != nil {
428 return err
429 }
430 accessInfo.Name = mysqlData.Name
431 accessInfo.Username = mysqlData.Username
432 accessInfo.Password = mysqlData.Password
433 accessInfo.OldPermission = mysqlData.Permission
434 } else {
435 accessInfo.Username = "root"
436 }
437 if err := cli.ChangeAccess(accessInfo); err != nil {
438 return err
439 }
440
441 if mysqlData.ID != 0 {
442 _ = mysqlRepo.Update(mysqlData.ID, map[string]interface{}{"permission": req.Value})
443 }
444
445 return nil
446}
447
448func (u *MysqlService) UpdateVariables(req dto.MysqlVariablesUpdate) error {
449 app, err := appInstallRepo.LoadBaseInfo(req.Type, req.Database)

Callers

nothing calls this directly

Calls 6

LoadMysqlClientByFromFunction · 0.85
CloseMethod · 0.65
GetMethod · 0.65
WithByIDMethod · 0.65
ChangeAccessMethod · 0.65
UpdateMethod · 0.65

Tested by

no test coverage detected