fix: unable to recover user from trash or permanently delete them #552

This commit is contained in:
Jacky 2024-09-15 10:14:40 +08:00
parent 53eac765a2
commit 796005fad4
No known key found for this signature in database
GPG key ID: 215C21B10DF38B4D
5 changed files with 476 additions and 483 deletions

View file

@ -1,7 +1,7 @@
package user
import (
"github.com/gin-gonic/gin"
"github.com/gin-gonic/gin"
)
func InitAuthRouter(r *gin.RouterGroup) {
@ -18,6 +18,7 @@ func InitManageUserRouter(r *gin.RouterGroup) {
r.POST("user", AddUser)
r.POST("user/:id", EditUser)
r.DELETE("user/:id", DeleteUser)
r.PATCH("user/:id", RecoverUser)
}
func InitUserRouter(r *gin.RouterGroup) {
@ -26,6 +27,6 @@ func InitUserRouter(r *gin.RouterGroup) {
r.POST("/otp_enroll", EnrollTOTP)
r.POST("/otp_reset", ResetOTP)
r.GET("/otp_secure_session_status", SecureSessionStatus)
r.GET("/otp_secure_session_status", SecureSessionStatus)
r.POST("/otp_secure_session", StartSecure2FASession)
}

View file

@ -118,19 +118,15 @@ func EditUser(c *gin.Context) {
func DeleteUser(c *gin.Context) {
id := cast.ToInt(c.Param("id"))
if cast.ToInt(id) == 1 {
c.JSON(http.StatusNotAcceptable, gin.H{
"message": "Prohibit deleting the default user",
})
return
}
u := query.Auth
err := u.DeleteByID(id)
if err != nil {
api.ErrHandler(c, err)
return
}
c.JSON(http.StatusNoContent, nil)
cosy.Core[model.Auth](c).Destroy()
}
func RecoverUser(c *gin.Context) {
cosy.Core[model.Auth](c).Recover()
}