yt-gen-app/lib/backend.go
2023-06-23 14:54:47 +03:00

44 lines
1.2 KiB
Go

package lib
import (
"log"
"os"
"path/filepath"
"strings"
)
func Backend() {
generateDB()
}
func generateDB() {
// TODO
if err := os.MkdirAll(filepath.Join(AppConfig.OutdirBackend, "db", "model"), 0775); err != nil {
log.Fatal(err)
}
generateModelBase()
}
func generateModelBase() {
if err := WriteTmplFile("tmpl/backend/db/model/base.tmpl", filepath.Join(AppConfig.OutdirBackend, "db", "model", "base.go")); err != nil {
log.Fatal(err)
}
if err := WriteTmplFile("tmpl/backend/db/model/base-int.tmpl", filepath.Join(AppConfig.OutdirBackend, "db", "model", "base-int.go")); err != nil {
log.Fatal(err)
}
if err := WriteTmplFile("tmpl/backend/db/transaction.tmpl", filepath.Join(AppConfig.OutdirBackend, "db", "transaction.go")); err != nil {
log.Fatal(err)
}
if err := PrepareTmplFile("tmpl/backend/db/db.tmpl", Project, filepath.Join(AppConfig.OutdirBackend, "db", "db.go")); err != nil {
log.Fatal(err)
}
if len(Project.DB.Tables) > 0 {
for _, table := range Project.DB.Tables {
if err := PrepareTmplFile("tmpl/backend/db/model/model.tmpl", table, filepath.Join(AppConfig.OutdirBackend, "db", "model", strings.ToLower(table.Name)+".go")); err != nil {
log.Fatal(err)
}
}
}
}