gofiber-study/controller/user/user.go
2022-10-06 16:58:09 +08:00

49 lines
1.2 KiB
Go

package user
import (
"github.com/gofiber/fiber/v2"
"gofiber.study.skcks.cn/common/errorx"
"gofiber.study.skcks.cn/common/response"
"gofiber.study.skcks.cn/controller/types"
"gofiber.study.skcks.cn/services/user"
)
type Controller struct {
*types.Controller
}
func (c *Controller) GetRouter() fiber.Router {
return c.Router
}
func NewController(app *fiber.App) *Controller {
return &Controller{
Controller: types.NewController(app, "/user"),
}
}
// GetByAccount 根据 账号 获取用户信息
//
// @Summary 根据 账号 获取用户信息
// @Description 根据 账号 获取用户信息
// @Tags User
// @Accept json
// @Produce json
// @Param account query string true "账号名称"
// @Success 200 {object} response.Response{data=models.User}
// @Failure default {object} errorx.CodeErrorResponse
// @Router /user/account [get]
// @Security Token
func (c *Controller) GetByAccount() {
c.Router.Get("/account", func(ctx *fiber.Ctx) error {
account := ctx.Query("account")
u, err := user.GetUserByAccount(account)
if err != nil {
return ctx.JSON(errorx.NewDefaultError(err.Error()))
}
return ctx.JSON(response.NewResponse(u))
})
}