mirror of
https://github.com/m1k1o/neko.git
synced 2024-07-24 14:40:50 +12:00
refactor HTTP error.
This commit is contained in:
@ -2,7 +2,6 @@ package members
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"io"
|
||||
"net/http"
|
||||
|
||||
@ -18,13 +17,13 @@ type MemberBulkUpdatePayload struct {
|
||||
func (h *MembersHandler) membersBulkUpdate(w http.ResponseWriter, r *http.Request) {
|
||||
bytes, err := io.ReadAll(r.Body)
|
||||
if err != nil {
|
||||
utils.HttpInternalServerError(w, err)
|
||||
utils.HttpBadRequest(w).WithInternalErr(err).Msg("unable to read post body")
|
||||
return
|
||||
}
|
||||
|
||||
header := &MemberBulkUpdatePayload{}
|
||||
if err := json.Unmarshal(bytes, &header); err != nil {
|
||||
utils.HttpInternalServerError(w, err)
|
||||
utils.HttpBadRequest(w).WithInternalErr(err).Msg("unable to unmarshal payload")
|
||||
return
|
||||
}
|
||||
|
||||
@ -32,7 +31,7 @@ func (h *MembersHandler) membersBulkUpdate(w http.ResponseWriter, r *http.Reques
|
||||
// TODO: Bulk select?
|
||||
profile, err := h.members.Select(memberId)
|
||||
if err != nil {
|
||||
utils.HttpInternalServerError(w, fmt.Sprintf("member %s: %v", memberId, err))
|
||||
utils.HttpInternalServerError(w, err).WithInternalMsg("unable to select member profile").Msgf("failed to update member %s", memberId)
|
||||
return
|
||||
}
|
||||
|
||||
@ -41,12 +40,12 @@ func (h *MembersHandler) membersBulkUpdate(w http.ResponseWriter, r *http.Reques
|
||||
}
|
||||
|
||||
if err := json.Unmarshal(bytes, &body); err != nil {
|
||||
utils.HttpInternalServerError(w, fmt.Sprintf("member %s: %v", memberId, err))
|
||||
utils.HttpBadRequest(w).WithInternalErr(err).Msgf("unable to unmarshal payload for member %s", memberId)
|
||||
return
|
||||
}
|
||||
|
||||
if err := h.members.UpdateProfile(memberId, body.Profile); err != nil {
|
||||
utils.HttpInternalServerError(w, fmt.Sprintf("member %s: %v", memberId, err))
|
||||
utils.HttpInternalServerError(w, err).WithInternalMsg("unable to update member profile").Msgf("failed to update member %s", memberId)
|
||||
return
|
||||
}
|
||||
}
|
||||
|
@ -39,7 +39,7 @@ func (h *MembersHandler) membersList(w http.ResponseWriter, r *http.Request) {
|
||||
|
||||
entries, err := h.members.SelectAll(limit, offset)
|
||||
if err != nil {
|
||||
utils.HttpInternalServerError(w, err)
|
||||
utils.HttpInternalServerError(w, err).Send()
|
||||
return
|
||||
}
|
||||
|
||||
@ -72,21 +72,21 @@ func (h *MembersHandler) membersCreate(w http.ResponseWriter, r *http.Request) {
|
||||
}
|
||||
|
||||
if data.Username == "" {
|
||||
utils.HttpBadRequest(w, "username cannot be empty")
|
||||
utils.HttpBadRequest(w).Msg("username cannot be empty")
|
||||
return
|
||||
}
|
||||
|
||||
if data.Password == "" {
|
||||
utils.HttpBadRequest(w, "password cannot be empty")
|
||||
utils.HttpBadRequest(w).Msg("password cannot be empty")
|
||||
return
|
||||
}
|
||||
|
||||
id, err := h.members.Insert(data.Username, data.Password, data.Profile)
|
||||
if err != nil {
|
||||
if errors.Is(err, types.ErrMemberAlreadyExists) {
|
||||
utils.HttpUnprocessableEntity(w, err)
|
||||
utils.HttpUnprocessableEntity(w).Msg("member already exists")
|
||||
} else {
|
||||
utils.HttpInternalServerError(w, err)
|
||||
utils.HttpInternalServerError(w, err).Send()
|
||||
}
|
||||
return
|
||||
}
|
||||
@ -113,7 +113,7 @@ func (h *MembersHandler) membersUpdateProfile(w http.ResponseWriter, r *http.Req
|
||||
}
|
||||
|
||||
if err := h.members.UpdateProfile(member.ID, profile); err != nil {
|
||||
utils.HttpInternalServerError(w, err)
|
||||
utils.HttpInternalServerError(w, err).Send()
|
||||
return
|
||||
}
|
||||
|
||||
@ -129,7 +129,7 @@ func (h *MembersHandler) membersUpdatePassword(w http.ResponseWriter, r *http.Re
|
||||
}
|
||||
|
||||
if err := h.members.UpdatePassword(member.ID, data.Password); err != nil {
|
||||
utils.HttpInternalServerError(w, err)
|
||||
utils.HttpInternalServerError(w, err).Send()
|
||||
return
|
||||
}
|
||||
|
||||
@ -140,7 +140,7 @@ func (h *MembersHandler) membersDelete(w http.ResponseWriter, r *http.Request) {
|
||||
member := GetMember(r)
|
||||
|
||||
if err := h.members.Delete(member.ID); err != nil {
|
||||
utils.HttpInternalServerError(w, err)
|
||||
utils.HttpInternalServerError(w, err).Send()
|
||||
return
|
||||
}
|
||||
|
||||
|
@ -71,9 +71,9 @@ func (h *MembersHandler) ExtractMember(next http.Handler) http.Handler {
|
||||
profile, err := h.members.Select(memberId)
|
||||
if err != nil {
|
||||
if errors.Is(err, types.ErrMemberDoesNotExist) {
|
||||
utils.HttpNotFound(w, err)
|
||||
utils.HttpNotFound(w).Msg("member not found")
|
||||
} else {
|
||||
utils.HttpInternalServerError(w, err)
|
||||
utils.HttpInternalServerError(w, err).Send()
|
||||
}
|
||||
|
||||
return
|
||||
|
Reference in New Issue
Block a user