package commands import ( "codeberg.org/danjones000/gopub/config" "github.com/gofiber/fiber/v2" "github.com/spf13/cobra" "log" ) type passReq struct { Pass string `json:"pass"` } func app(cmd *cobra.Command, args []string) { app := fiber.New() conf := config.GetConfig() app.Get("/", func(c *fiber.Ctx) error { return c.JSON(&conf) }) app.Post("/check_pass", func(c *fiber.Ctx) error { req := new(passReq) if err := c.BodyParser(req); err != nil { panic(err) } return c.JSON(config.CheckPassword(req.Pass)) }) log.Fatal(app.Listen(":3000")) } var AppCmd = &cobra.Command{ Use: "app", Short: "Run the gopub webapp", Long: `This is the main command. This will start the application, and keep it running. You may want to run this from something like supervisor or systemd`, Run: app, }