Files
soft_usite/rest/controllers/user_controller.go
T
2025-04-24 02:07:47 +00:00

50 lines
1.0 KiB
Go
Executable File

package controllers
import (
"github.com/gofiber/fiber/v2" //nolint:goimports
"github.com/sujit-baniya/fiber-boilerplate/pkg/auth"
"github.com/sujit-baniya/fiber-boilerplate/pkg/models"
"strconv"
)
func UserInfo(c *fiber.Ctx) error {
users, err := models.GetUserById(c.Params("id"))
if err != nil {
return c.JSON(fiber.Map{
"message": err.Error(),
"error": true,
})
}
return c.JSON(users)
}
func Me(c *fiber.Ctx) error {
user, _ := auth.User(c)
return c.JSON(user)
}
func UserSettings(c *fiber.Ctx) error {
uid, _ := strconv.ParseUint(c.Params("id"), 10, 32)
user := models.User{
ID: uint(uid),
}
settings, err := user.Settings()
if err != nil {
return c.JSON(fiber.Map{
"message": err.Error(),
"error": true,
})
}
return c.JSON(settings)
}
func StoreUserSettings(c *fiber.Ctx) error {
var userSettings models.UserSetting
c.BodyParser(&userSettings)
uid, _ := strconv.ParseUint(c.Params("id"), 10, 32)
userSettings.UserID = uint(uid)
userSettings.UpdateOrCreate()
return c.JSON(userSettings)
}