38 lines
1 KiB
Go
38 lines
1 KiB
Go
package users
|
|
|
|
import (
|
|
db "ttime/internal/database"
|
|
"ttime/internal/types"
|
|
|
|
"github.com/gofiber/fiber/v2"
|
|
"github.com/gofiber/fiber/v2/log"
|
|
)
|
|
|
|
// @Summary Register
|
|
// @Description Register a new user
|
|
// @Tags Auth
|
|
// @Accept json
|
|
// @Produce plain
|
|
// @Param NewUser body types.NewUser true "User to register"
|
|
// @Success 200 {string} string "User added"
|
|
// @Failure 400 {string} string "Bad request"
|
|
// @Failure 500 {string} string "Internal server error"
|
|
// @Router /register [post]
|
|
//
|
|
// Register is a simple handler that registers a new user
|
|
func Register(c *fiber.Ctx) error {
|
|
u := new(types.NewUser)
|
|
if err := c.BodyParser(u); err != nil {
|
|
log.Warn("Error parsing body")
|
|
return c.Status(400).SendString(err.Error())
|
|
}
|
|
|
|
log.Info("Adding user:", u.Username)
|
|
if err := db.GetDb(c).AddUser(u.Username, u.Password); err != nil {
|
|
log.Warn("Error adding user:", err)
|
|
return c.Status(500).SendString(err.Error())
|
|
}
|
|
|
|
log.Info("User added:", u.Username)
|
|
return c.Status(200).SendString("User added")
|
|
}
|