Files
nixcn-cms/service/user/info.go
2025-12-25 21:30:26 +08:00

47 lines
907 B
Go

package user
import (
"nixcn-cms/data"
"time"
"github.com/gin-gonic/gin"
"github.com/google/uuid"
)
func Info(c *gin.Context) {
data := new(data.User)
userId, ok := c.Get("user_id")
if !ok {
c.JSON(403, gin.H{
"status": "user not found",
})
return
}
err := data.GetByUserId(userId.(uuid.UUID))
if err != nil {
c.JSON(403, gin.H{
"status": "user not found",
})
return
}
// Set time nil if time is zero
for k, v := range data.Checkin {
if t, ok := v.(time.Time); ok && t.IsZero() {
data.Checkin[k] = nil
}
}
c.JSON(200, gin.H{
"user_id": data.UserId,
"email": data.Email,
"type": data.Type,
"nickname": data.Nickname,
"subtitle": data.Subtitle,
"avatar": data.Avatar,
"checkin": data.Checkin,
"joined_event": data.JoinedEvent,
"permission_level": data.PermissionLevel,
})
}