mirror of
https://github.com/m1k1o/neko.git
synced 2025-08-03 00:39:56 +02:00
members bulk delete. (#59)
This commit is contained in:
parent
501280f8aa
commit
9d1ea87128
3 changed files with 56 additions and 0 deletions
|
@ -55,3 +55,30 @@ func (h *MembersHandler) membersBulkUpdate(w http.ResponseWriter, r *http.Reques
|
|||
|
||||
return utils.HttpSuccess(w)
|
||||
}
|
||||
|
||||
type MemberBulkDeletePayload struct {
|
||||
IDs []string `json:"ids"`
|
||||
}
|
||||
|
||||
func (h *MembersHandler) membersBulkDelete(w http.ResponseWriter, r *http.Request) error {
|
||||
bytes, err := io.ReadAll(r.Body)
|
||||
if err != nil {
|
||||
return utils.HttpBadRequest("unable to read post body").WithInternalErr(err)
|
||||
}
|
||||
|
||||
data := &MemberBulkDeletePayload{}
|
||||
if err := json.Unmarshal(bytes, &data); err != nil {
|
||||
return utils.HttpBadRequest("unable to unmarshal payload").WithInternalErr(err)
|
||||
}
|
||||
|
||||
for _, memberId := range data.IDs {
|
||||
if err := h.members.Delete(memberId); err != nil {
|
||||
return utils.HttpInternalServerError().
|
||||
WithInternalErr(err).
|
||||
WithInternalMsg("unable to delete member").
|
||||
Msgf("failed to delete member %s", memberId)
|
||||
}
|
||||
}
|
||||
|
||||
return utils.HttpSuccess(w)
|
||||
}
|
||||
|
|
|
@ -47,6 +47,7 @@ func (h *MembersHandler) Route(r types.Router) {
|
|||
func (h *MembersHandler) RouteBulk(r types.Router) {
|
||||
r.With(auth.AdminsOnly).Group(func(r types.Router) {
|
||||
r.Post("/update", h.membersBulkUpdate)
|
||||
r.Post("/delete", h.membersBulkDelete)
|
||||
})
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue