@@ -1,9 +1,11 @@
|
||||
package user
|
||||
|
||||
import (
|
||||
"net/url"
|
||||
"nixcn-cms/data"
|
||||
"nixcn-cms/internal/cryptography"
|
||||
"nixcn-cms/utils"
|
||||
"unicode/utf8"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
"github.com/google/uuid"
|
||||
@@ -42,22 +44,49 @@ func Update(c *gin.Context) {
|
||||
// }
|
||||
// userData.Email = ReqInfo.Email
|
||||
|
||||
if len(ReqInfo.Username) < 5 || len(ReqInfo.Username) >= 255 {
|
||||
utils.HttpResponse(c, 400, "", "invilad user name")
|
||||
return
|
||||
}
|
||||
userData.Username = ReqInfo.Username
|
||||
// utils.HttpResponse(c, 400, "", "invilad user name")
|
||||
// return
|
||||
|
||||
userData.Nickname = ReqInfo.Nickname
|
||||
userData.Subtitle = ReqInfo.Subtitle
|
||||
userData.Avatar = ReqInfo.Avatar
|
||||
if ReqInfo.Username != "" {
|
||||
if len(ReqInfo.Username) < 5 || len(ReqInfo.Username) >= 255 {
|
||||
utils.HttpResponse(c, 400, "", "invalid request")
|
||||
return
|
||||
}
|
||||
userData.Username = ReqInfo.Username
|
||||
}
|
||||
|
||||
if ReqInfo.Nickname != "" {
|
||||
if utf8.RuneCountInString(ReqInfo.Nickname) > 24 {
|
||||
utils.HttpResponse(c, 400, "", "invalid request")
|
||||
return
|
||||
}
|
||||
userData.Nickname = ReqInfo.Nickname
|
||||
}
|
||||
|
||||
if ReqInfo.Subtitle != "" {
|
||||
if utf8.RuneCountInString(ReqInfo.Subtitle) > 32 {
|
||||
utils.HttpResponse(c, 400, "", "invalid request")
|
||||
return
|
||||
}
|
||||
userData.Subtitle = ReqInfo.Subtitle
|
||||
}
|
||||
|
||||
if ReqInfo.Avatar != "" {
|
||||
_, err := url.ParseRequestURI(ReqInfo.Avatar)
|
||||
if err != nil {
|
||||
utils.HttpResponse(c, 400, "", "invalid request")
|
||||
return
|
||||
}
|
||||
userData.Avatar = ReqInfo.Avatar
|
||||
}
|
||||
|
||||
if ReqInfo.Bio != "" {
|
||||
if !cryptography.IsBase64Std(ReqInfo.Bio) {
|
||||
utils.HttpResponse(c, 400, "", "invalid base64")
|
||||
utils.HttpResponse(c, 400, "", "invalid request")
|
||||
return
|
||||
}
|
||||
userData.Bio = ReqInfo.Bio
|
||||
}
|
||||
userData.Bio = ReqInfo.Bio
|
||||
|
||||
// Update user info
|
||||
userData.UpdateByUserID(userId)
|
||||
|
||||
Reference in New Issue
Block a user