github.com/cloudreve/Cloudreve/v3@v3.0.0-20240224133659-3edb00a6484c/models/scripts/reset.go (about) 1 package scripts 2 3 import ( 4 "context" 5 model "github.com/cloudreve/Cloudreve/v3/models" 6 "github.com/cloudreve/Cloudreve/v3/pkg/util" 7 "github.com/fatih/color" 8 ) 9 10 type ResetAdminPassword int 11 12 // Run 运行脚本从社区版升级至 Pro 版 13 func (script ResetAdminPassword) Run(ctx context.Context) { 14 // 查找用户 15 user, err := model.GetUserByID(1) 16 if err != nil { 17 util.Log().Panic("Initial admin user not exist: %s", err) 18 } 19 20 // 生成密码 21 password := util.RandStringRunes(8) 22 23 // 更改为新密码 24 user.SetPassword(password) 25 if err := user.Update(map[string]interface{}{"password": user.Password}); err != nil { 26 util.Log().Panic("Failed to update password: %s", err) 27 } 28 29 c := color.New(color.FgWhite).Add(color.BgBlack).Add(color.Bold) 30 util.Log().Info("Initial admin user password changed to:" + c.Sprint(password)) 31 }