api/pkg/routes/api/v1/user_show.go

39 lines
858 B
Go
Raw Normal View History

2018-06-10 09:11:41 +00:00
package v1
import (
2018-10-31 12:42:38 +00:00
"code.vikunja.io/api/pkg/models"
"code.vikunja.io/api/pkg/routes/crud"
2018-06-10 09:11:41 +00:00
"github.com/labstack/echo"
"net/http"
)
2018-10-03 17:00:09 +00:00
// UserShow gets all informations about the current user
2018-06-10 09:11:41 +00:00
func UserShow(c echo.Context) error {
2018-10-03 17:00:09 +00:00
// swagger:operation GET /user user showUser
// ---
// summary: Shows the current user
// consumes:
// - application/json
// produces:
// - application/json
// responses:
// "200":
// "$ref": "#/responses/User"
// "400":
// "$ref": "#/responses/Message"
// "500":
// "$ref": "#/responses/Message"
2018-09-17 16:25:05 +00:00
userInfos, err := models.GetCurrentUser(c)
2018-06-10 09:11:41 +00:00
if err != nil {
2018-10-06 13:04:14 +00:00
return echo.NewHTTPError(http.StatusInternalServerError, "Error getting current user.")
2018-06-10 09:11:41 +00:00
}
2018-09-17 16:25:05 +00:00
user, err := models.GetUserByID(userInfos.ID)
2018-06-10 09:11:41 +00:00
if err != nil {
2018-10-06 13:04:14 +00:00
return crud.HandleHTTPError(err)
2018-06-10 09:11:41 +00:00
}
2018-09-17 16:25:05 +00:00
return c.JSON(http.StatusOK, user)
2018-06-10 09:11:41 +00:00
}