fix26: полный прод-фикс auth/jwt, import-export peer и frontend flow

This commit is contained in:
2026-05-09 01:18:13 +05:00
parent 7a64d76d08
commit c13841b61a
19 changed files with 390 additions and 90 deletions
+45 -15
View File
@@ -4,8 +4,10 @@ import (
"fmt"
"github.com/spf13/cobra"
"hy2xs-admin/dao"
"hy2xs-admin/model/entity"
"hy2xs-admin/util"
"os"
"time"
)
var resetCmd = &cobra.Command{
@@ -30,25 +32,53 @@ func runReset(cmd *cobra.Command, args []string) {
fmt.Println(err.Error())
os.Exit(1)
}
if err = dao.InitSqliteDB(); err != nil {
if err = dao.InitSql(""); err != nil {
fmt.Println(err.Error())
os.Exit(1)
}
admin, err := dao.GetAdminUser("id = ?", 1)
admin, err := dao.GetAdminUser("1 = 1")
nowMs := time.Now().UnixMilli()
if err != nil {
fmt.Println(err.Error())
os.Exit(1)
}
if err = dao.UpdateAdminUser([]int64{*admin.Id}, map[string]interface{}{
"username": username,
"password_hash": func() string {
hash, _ := util.HashPassword(password)
return hash
}(),
"force_password_change": 1,
}); err != nil {
fmt.Println(err.Error())
os.Exit(1)
tokenVersion := int64(1)
status := int64(1)
forcePasswordChange := int64(1)
passwordChangedAt := nowMs
hash, hashErr := util.HashPassword(password)
if hashErr != nil {
fmt.Println(hashErr.Error())
os.Exit(1)
}
adminUser := entity.AdminUser{
Username: &username,
PasswordHash: &hash,
Status: &status,
ForcePasswordChange: &forcePasswordChange,
PasswordChangedAt: &passwordChangedAt,
TokenVersion: &tokenVersion,
}
if _, saveErr := dao.SaveAdminUser(adminUser); saveErr != nil {
fmt.Println(saveErr.Error())
os.Exit(1)
}
} else {
tokenVersion := int64(1)
if admin.TokenVersion != nil && *admin.TokenVersion > 0 {
tokenVersion = *admin.TokenVersion + 1
}
if err = dao.UpdateAdminUser([]int64{*admin.Id}, map[string]interface{}{
"username": username,
"password_hash": func() string {
hash, _ := util.HashPassword(password)
return hash
}(),
"force_password_change": 1,
"password_changed_at": nowMs,
"token_version": tokenVersion,
"status": 1,
}); err != nil {
fmt.Println(err.Error())
os.Exit(1)
}
}
if err = dao.CloseSqliteDB(); err != nil {
fmt.Println(err.Error())