fix: check input for user model

This commit is contained in:
JustSong
2022-11-25 16:48:20 +08:00
parent 8fe6a99f55
commit 7ee929aef7
5 changed files with 98 additions and 17 deletions

View File

@@ -478,9 +478,16 @@ func DeleteUser(c *gin.Context) {
func DeleteSelf(c *gin.Context) {
id := c.GetInt("id")
user := model.User{Id: id}
user.FillUserById()
err := user.FillUserById()
if err != nil {
c.JSON(http.StatusOK, gin.H{
"success": false,
"message": err.Error(),
})
return
}
channel.TokenStoreRemoveUser(&user)
err := model.DeleteUserById(id)
err = model.DeleteUserById(id)
if err != nil {
c.JSON(http.StatusOK, gin.H{
"success": false,
@@ -633,10 +640,17 @@ func EmailBind(c *gin.Context) {
user := model.User{
Id: id,
}
user.FillUserById()
err := user.FillUserById()
if err != nil {
c.JSON(http.StatusOK, gin.H{
"success": false,
"message": err.Error(),
})
return
}
user.Email = email
// no need to check if this email already taken, because we have used verification code to check it
err := user.Update(false)
err = user.Update(false)
if err != nil {
c.JSON(http.StatusOK, gin.H{
"success": false,