feat: 从冻结 GoAdmin 源码重建 Sense 骨架 (#61)

This commit is contained in:
QiuSW
2026-08-14 11:11:44 +08:00
parent 27f180cec0
commit 96740834d6
702 changed files with 74611 additions and 0 deletions
+45
View File
@@ -0,0 +1,45 @@
package api
import (
"errors"
"fmt"
"strings"
log "github.com/go-admin-team/go-admin-core/logger"
"github.com/go-admin-team/go-admin-core/sdk/config"
)
const minimumProductionJWTSecretLength = 32
func validateRuntimeConfig() {
err := validateConfigValues(
config.ApplicationConfig.Mode,
config.JwtConfig.Secret,
config.DatabaseConfig.Driver,
config.DatabaseConfig.Source,
)
if err != nil {
log.Fatal(err)
}
}
func validateConfigValues(mode, jwtSecret, databaseDriver, databaseSource string) error {
if !strings.EqualFold(strings.TrimSpace(databaseDriver), "postgres") {
return errors.New("Sense requires PostgreSQL as its database driver")
}
if strings.TrimSpace(databaseSource) == "" {
return errors.New("Sense database source is required")
}
if strings.EqualFold(strings.TrimSpace(mode), "prod") {
secret := strings.TrimSpace(jwtSecret)
if len(secret) < minimumProductionJWTSecretLength {
return fmt.Errorf("Sense production JWT secret must contain at least %d characters", minimumProductionJWTSecretLength)
}
if strings.EqualFold(secret, "go-admin") {
return errors.New("Sense production JWT secret must not use the upstream default")
}
}
return nil
}