35 lines
690 B
Go

package cmd
import (
"context"
"fmt"
"os"
"os/signal"
"syscall"
"github.com/spf13/cobra"
"printer.backend/internal/server"
)
var serveCmd = &cobra.Command{
Use: "serve",
Short: "Start API and admin dashboard HTTP servers",
RunE: func(cmd *cobra.Command, args []string) error {
ctx, stop := signal.NotifyContext(context.Background(), os.Interrupt, syscall.SIGTERM)
defer stop()
cmd.Printf("API: http://%s\n", cfg.APIAddr())
cmd.Printf("Admin: http://%s\n", cfg.AdminAddr())
if err := server.Run(ctx, cfg); err != nil {
return fmt.Errorf("server: %w", err)
}
cmd.Println("Server beendet.")
return nil
},
}
func init() {
rootCmd.AddCommand(serveCmd)
}