refactor: split backend into standalone server project

Remove embedded frontend and workflow editor assets, add standalone API deployment configuration, and retain the current backend service updates.
This commit is contained in:
t
2026-08-20 21:46:55 +08:00
parent 954a3fe8d9
commit 3d47227fbd
612 changed files with 515 additions and 97334 deletions
+20 -11
View File
@@ -12,6 +12,7 @@ import (
"github.com/mlogclub/simple/sqls"
"gorm.io/driver/mysql"
"gorm.io/driver/postgres"
// "gorm.io/driver/sqlite" // Sqlite driver based on CGO
"github.com/glebarez/sqlite" // Pure go SQLite driver, checkout https://github.com/glebarez/sqlite for details
@@ -23,17 +24,9 @@ import (
)
func InitDB(cfg config.DBConfig) (*gorm.DB, error) {
var dialector gorm.Dialector
switch cfg.Type {
case "sqlite":
if err := ensureSQLiteDir(cfg.DSN); err != nil {
return nil, err
}
dialector = sqlite.Open(cfg.DSN)
case "mysql":
dialector = mysql.Open(cfg.DSN)
default:
return nil, fmt.Errorf("unsupported db type: %s", cfg.Type)
dialector, err := newDialector(cfg)
if err != nil {
return nil, err
}
db, err := gorm.Open(dialector, &gorm.Config{
@@ -76,6 +69,22 @@ func InitDB(cfg config.DBConfig) (*gorm.DB, error) {
return db, nil
}
func newDialector(cfg config.DBConfig) (gorm.Dialector, error) {
switch strings.ToLower(strings.TrimSpace(cfg.Type)) {
case "sqlite":
if err := ensureSQLiteDir(cfg.DSN); err != nil {
return nil, err
}
return sqlite.Open(cfg.DSN), nil
case "mysql":
return mysql.Open(cfg.DSN), nil
case "postgres", "postgresql":
return postgres.Open(cfg.DSN), nil
default:
return nil, fmt.Errorf("unsupported db type: %s", cfg.Type)
}
}
func ensureSQLiteDir(dsn string) error {
dbPath := sqliteFilePath(dsn)
if dbPath == "" {