From 45f11483ecb1077f08f740dccf6616e08f9a4929 Mon Sep 17 00:00:00 2001 From: naiba Date: Mon, 25 Nov 2024 22:24:33 +0800 Subject: [PATCH] fix: update release workflow repository and enhance user deletion logic --- .github/workflows/release.yml | 2 +- cmd/dashboard/controller/user.go | 9 ++++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index b5e804d..5de1172 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -146,7 +146,7 @@ jobs: - uses: robinraju/release-downloader@v1 with: - repository: hamster1963/nezha-dash-react + repository: nezhahq/user-frontend fileName: dist.zip latest: true extract: true diff --git a/cmd/dashboard/controller/user.go b/cmd/dashboard/controller/user.go index f55e8b4..395e4d1 100644 --- a/cmd/dashboard/controller/user.go +++ b/cmd/dashboard/controller/user.go @@ -1,6 +1,8 @@ package controller import ( + "slices" + "github.com/gin-gonic/gin" "golang.org/x/crypto/bcrypt" @@ -97,9 +99,14 @@ func createUser(c *gin.Context) (uint64, error) { // @Success 200 {object} model.CommonResponse[any] // @Router /batch-delete/user [post] func batchDeleteUser(c *gin.Context) (any, error) { - var ids []uint + var ids []uint64 if err := c.ShouldBindJSON(&ids); err != nil { return nil, err } + auth := c.MustGet(model.CtxKeyAuthorizedUser).(*model.User) + if slices.Contains(ids, auth.ID) { + return nil, singleton.Localizer.ErrorT("can't delete yourself") + } + return nil, singleton.DB.Where("id IN (?)", ids).Delete(&model.User{}).Error }