Files
b2b/app/cmd/cmds/startServer.go
2026-04-16 14:46:09 +02:00

66 lines
1.4 KiB
Go

package cmds
import (
"log"
"os"
"git.ma-al.com/goc_daniel/b2b/app/config"
"git.ma-al.com/goc_daniel/b2b/app/delivery/web"
"git.ma-al.com/goc_daniel/b2b/app/service/langsService"
"git.ma-al.com/goc_daniel/b2b/app/utils/logger"
"git.ma-al.com/goc_daniel/b2b/app/utils/version"
"github.com/spf13/cobra"
)
var (
rootCmd = &cobra.Command{
Use: "b2b",
Short: "This is set of tools for b2b application",
Run: func(cmd *cobra.Command, args []string) {
if versionFlag, _ := cmd.Flags().GetBool("version"); versionFlag {
log.Println(version.String())
return
}
logger.Init("b2b", nil, config.Get().Log.LogLevel, config.Get().Log.LogColorize)
// Create and setup the server
server := web.New()
// Configure routes
if err := server.Setup(); err != nil {
log.Fatalf("Failed to setup server: %v", err)
}
// Load translations on startup
if err := langsService.LangSrv.LoadTranslations(); err != nil {
log.Printf("Warning: Failed to load translations on startup: %v", err)
} else {
log.Println("Translations loaded successfully on startup")
}
// Start the server
if err := server.Run(); err != nil {
log.Fatalf("Failed to start server: %v", err)
}
},
}
)
func Execute() error {
err := rootCmd.Execute()
if err != nil {
os.Exit(1)
}
return nil
}
func init() {
rootCmd.Flags().BoolP("version", "v", false, "show version and exit")
rootCmd.AddCommand(generateModelsCmd)
}