2022-10-04 14:59:46 +08:00
|
|
|
package user
|
|
|
|
|
|
|
|
import (
|
|
|
|
"github.com/gofiber/fiber/v2"
|
|
|
|
"gofiber.study.skcks.cn/common/errorx"
|
|
|
|
"gofiber.study.skcks.cn/common/response"
|
2022-10-06 16:41:32 +08:00
|
|
|
"gofiber.study.skcks.cn/controller/types"
|
2022-11-13 18:14:50 +08:00
|
|
|
"gofiber.study.skcks.cn/global"
|
2022-10-22 18:18:45 +08:00
|
|
|
"gofiber.study.skcks.cn/middleware"
|
2022-10-04 14:59:46 +08:00
|
|
|
"gofiber.study.skcks.cn/services/user"
|
|
|
|
)
|
|
|
|
|
2022-10-06 16:41:32 +08:00
|
|
|
type Controller struct {
|
|
|
|
*types.Controller
|
|
|
|
}
|
|
|
|
|
2022-10-06 16:58:09 +08:00
|
|
|
func (c *Controller) GetRouter() fiber.Router {
|
|
|
|
return c.Router
|
2022-10-06 16:41:32 +08:00
|
|
|
}
|
|
|
|
|
2022-10-06 16:58:09 +08:00
|
|
|
func NewController(app *fiber.App) *Controller {
|
|
|
|
return &Controller{
|
2022-10-22 18:18:45 +08:00
|
|
|
Controller: types.NewController(app, "/user", middleware.CasbinMiddleWare),
|
2022-10-06 16:58:09 +08:00
|
|
|
}
|
2022-10-04 14:59:46 +08:00
|
|
|
}
|
|
|
|
|
2022-10-06 16:58:09 +08:00
|
|
|
// GetByAccount 根据 账号 获取用户信息
|
2022-10-04 14:59:46 +08:00
|
|
|
//
|
2022-11-13 18:14:50 +08:00
|
|
|
// @Summary 获取当前用户信息
|
|
|
|
// @Description 获取当前用户信息
|
2022-10-04 14:59:46 +08:00
|
|
|
// @Tags User
|
|
|
|
// @Accept json
|
|
|
|
// @Produce json
|
|
|
|
// @Success 200 {object} response.Response{data=models.User}
|
|
|
|
// @Failure default {object} errorx.CodeErrorResponse
|
|
|
|
// @Router /user/account [get]
|
2022-10-05 14:47:07 +08:00
|
|
|
// @Security Token
|
2022-10-06 16:58:09 +08:00
|
|
|
func (c *Controller) GetByAccount() {
|
|
|
|
c.Router.Get("/account", func(ctx *fiber.Ctx) error {
|
2022-11-13 18:14:50 +08:00
|
|
|
token := ctx.GetReqHeaders()["Token"]
|
|
|
|
claim, _ := global.ParseToken(token)
|
|
|
|
account := claim.Account
|
2022-10-04 14:59:46 +08:00
|
|
|
|
2022-10-06 17:58:11 +08:00
|
|
|
u, err := user.Services.GetUserByAccount(account)
|
2022-10-06 16:58:09 +08:00
|
|
|
if err != nil {
|
|
|
|
return ctx.JSON(errorx.NewDefaultError(err.Error()))
|
|
|
|
}
|
2022-10-04 14:59:46 +08:00
|
|
|
|
2022-10-06 16:58:09 +08:00
|
|
|
return ctx.JSON(response.NewResponse(u))
|
|
|
|
})
|
2022-10-04 14:59:46 +08:00
|
|
|
}
|