feat: update template
This commit is contained in:
@@ -32,6 +32,8 @@ func (h *UserHandler) Register(r chi.Router) {
|
||||
r.Get("/me", h.GetCurrentUser)
|
||||
r.Get("/{id}/roles", h.ListRoles)
|
||||
r.Post("/", h.Create)
|
||||
r.Post("/{id}/logout-all", h.KickUser)
|
||||
r.Post("/logout-all", h.KickAllUsers)
|
||||
r.Patch("/{id}", h.Update)
|
||||
r.Put("/{id}/roles", h.SetRoles)
|
||||
r.Patch("/{id}/password", h.UpdatePassword)
|
||||
@@ -40,17 +42,14 @@ func (h *UserHandler) Register(r chi.Router) {
|
||||
}
|
||||
|
||||
func (h *UserHandler) GetCurrentUser(w http.ResponseWriter, r *http.Request) {
|
||||
claims, ok := middleware.GetClaims(r.Context())
|
||||
userCtx := middleware.GetUserContext(r.Context())
|
||||
|
||||
if !ok || claims.UserID == 0 {
|
||||
if userCtx == nil || userCtx.UserID == 0 {
|
||||
httputil.Fail(w, errs.ErrUnauthorized)
|
||||
return
|
||||
}
|
||||
|
||||
isAdmin := middleware.IsAdmin(r.Context())
|
||||
uid := claims.UserID
|
||||
|
||||
user, err := h.userService.GetCurrentUser(r.Context(), uid, isAdmin)
|
||||
user, err := h.userService.GetCurrentUser(r.Context(), userCtx.UserID, userCtx.IsAdmin)
|
||||
if err != nil {
|
||||
httputil.Fail(w, err)
|
||||
return
|
||||
@@ -102,7 +101,7 @@ func (h *UserHandler) ListRoles(w http.ResponseWriter, r *http.Request) {
|
||||
func (h *UserHandler) Create(w http.ResponseWriter, r *http.Request) {
|
||||
var req request.CreateUserRequest
|
||||
|
||||
if err := httputil.BindJson(r, &req); err != nil {
|
||||
if err := httputil.BindJson(w, r, &req); err != nil {
|
||||
httputil.Fail(w, err)
|
||||
return
|
||||
}
|
||||
@@ -115,6 +114,32 @@ func (h *UserHandler) Create(w http.ResponseWriter, r *http.Request) {
|
||||
httputil.Ok(w)
|
||||
}
|
||||
|
||||
func (h *UserHandler) KickUser(w http.ResponseWriter, r *http.Request) {
|
||||
id, err := httputil.URLParamInt32(r, "id")
|
||||
if err != nil {
|
||||
httputil.Fail(w, err)
|
||||
return
|
||||
}
|
||||
|
||||
err = h.userService.KickUser(r.Context(), id)
|
||||
if err != nil {
|
||||
httputil.Fail(w, err)
|
||||
return
|
||||
}
|
||||
|
||||
httputil.Ok(w)
|
||||
}
|
||||
|
||||
func (h *UserHandler) KickAllUsers(w http.ResponseWriter, r *http.Request) {
|
||||
err := h.userService.KickAllUsers(r.Context())
|
||||
if err != nil {
|
||||
httputil.Fail(w, err)
|
||||
return
|
||||
}
|
||||
|
||||
httputil.Ok(w)
|
||||
}
|
||||
|
||||
func (h *UserHandler) Update(w http.ResponseWriter, r *http.Request) {
|
||||
var req request.UpdateUserRequest
|
||||
|
||||
@@ -124,7 +149,7 @@ func (h *UserHandler) Update(w http.ResponseWriter, r *http.Request) {
|
||||
return
|
||||
}
|
||||
|
||||
if err = httputil.BindJson(r, &req); err != nil {
|
||||
if err = httputil.BindJson(w, r, &req); err != nil {
|
||||
httputil.Fail(w, err)
|
||||
return
|
||||
}
|
||||
@@ -146,7 +171,7 @@ func (h *UserHandler) SetRoles(w http.ResponseWriter, r *http.Request) {
|
||||
return
|
||||
}
|
||||
|
||||
if err = httputil.BindJson(r, &req); err != nil {
|
||||
if err = httputil.BindJson(w, r, &req); err != nil {
|
||||
httputil.Fail(w, err)
|
||||
return
|
||||
}
|
||||
@@ -169,7 +194,7 @@ func (h *UserHandler) UpdatePassword(w http.ResponseWriter, r *http.Request) {
|
||||
return
|
||||
}
|
||||
|
||||
if err = httputil.BindJson(r, &req); err != nil {
|
||||
if err = httputil.BindJson(w, r, &req); err != nil {
|
||||
httputil.Fail(w, err)
|
||||
return
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user