40 lines
822 B
Go
40 lines
822 B
Go
|
|
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,
|
||
|
|
}
|