diff --git a/internal/apps/mysql/app.go b/internal/apps/mysql/app.go index d4d1a54b..929b84a8 100644 --- a/internal/apps/mysql/app.go +++ b/internal/apps/mysql/app.go @@ -22,14 +22,16 @@ import ( ) type App struct { - t *gotext.Locale - settingRepo biz.SettingRepo + t *gotext.Locale + settingRepo biz.SettingRepo + databaseServerRepo biz.DatabaseServerRepo } -func NewApp(t *gotext.Locale, setting biz.SettingRepo) *App { +func NewApp(t *gotext.Locale, setting biz.SettingRepo, databaseServer biz.DatabaseServerRepo) *App { return &App{ - t: t, - settingRepo: setting, + t: t, + settingRepo: setting, + databaseServerRepo: databaseServer, } } @@ -254,6 +256,8 @@ func (s *App) SetRootPassword(w http.ResponseWriter, r *http.Request) { return } + _ = s.databaseServerRepo.UpdatePassword("local_mysql", req.Password) + service.Success(w, nil) } diff --git a/internal/apps/postgresql/app.go b/internal/apps/postgresql/app.go index d3bc215b..e677a57d 100644 --- a/internal/apps/postgresql/app.go +++ b/internal/apps/postgresql/app.go @@ -20,14 +20,16 @@ import ( ) type App struct { - t *gotext.Locale - settingRepo biz.SettingRepo + t *gotext.Locale + settingRepo biz.SettingRepo + databaseServerRepo biz.DatabaseServerRepo } -func NewApp(t *gotext.Locale, setting biz.SettingRepo) *App { +func NewApp(t *gotext.Locale, setting biz.SettingRepo, databaseServer biz.DatabaseServerRepo) *App { return &App{ - t: t, - settingRepo: setting, + t: t, + settingRepo: setting, + databaseServerRepo: databaseServer, } } @@ -225,5 +227,7 @@ func (s *App) SetPostgresPassword(w http.ResponseWriter, r *http.Request) { return } + _ = s.databaseServerRepo.UpdatePassword("local_postgresql", req.Password) + service.Success(w, nil) } diff --git a/internal/biz/database_server.go b/internal/biz/database_server.go index b416522b..0d72a497 100644 --- a/internal/biz/database_server.go +++ b/internal/biz/database_server.go @@ -68,6 +68,7 @@ type DatabaseServerRepo interface { Create(req *request.DatabaseServerCreate) error Update(req *request.DatabaseServerUpdate) error UpdateRemark(req *request.DatabaseServerUpdateRemark) error + UpdatePassword(name string, password string) error Delete(id uint) error ClearUsers(id uint) error Sync(id uint) error diff --git a/internal/data/database_server.go b/internal/data/database_server.go index 45648077..b578472f 100644 --- a/internal/data/database_server.go +++ b/internal/data/database_server.go @@ -113,6 +113,10 @@ func (r *databaseServerRepo) UpdateRemark(req *request.DatabaseServerUpdateRemar return r.db.Model(&biz.DatabaseServer{}).Where("id = ?", req.ID).Update("remark", req.Remark).Error } +func (r *databaseServerRepo) UpdatePassword(name string, password string) error { + return r.db.Model(&biz.DatabaseServer{}).Where("name = ?", name).Update("password", password).Error +} + func (r *databaseServerRepo) Delete(id uint) error { if err := r.ClearUsers(id); err != nil { return err