DeployHelper/internal/types/user.go

54 lines
1.4 KiB
Go

package types
import (
"ego/internal/model"
"ego/internal/serializer"
"net/http"
)
// User 用户序列化器
type User struct {
ID string `json:"id"`
UserName string `json:"userName"`
Nickname string `json:"nickName"`
Token string `json:"token"`
Status string `json:"status"`
Avatar string `json:"avatar"`
CreatedAt int64 `json:"createdAt"`
}
// BuildUser 序列化用户
func BuildUser(user model.SysUser) User {
return User{
ID: user.UserId,
UserName: user.UserName,
Nickname: user.NickName,
Status: user.Status,
Avatar: user.Avatar,
CreatedAt: user.CreateTime.Unix(),
}
}
// BuildUserHasToken BuildUser 序列化用户
func BuildUserHasToken(user model.SysUser, token string) User {
return User{
ID: user.UserId,
UserName: user.UserName,
Nickname: user.NickName,
Status: user.Status,
Avatar: user.Avatar,
CreatedAt: user.CreateTime.Unix(),
Token: token,
}
}
// BuildUserResponse 序列化用户响应
func BuildUserResponse(user model.SysUser) serializer.Response {
return serializer.Response{Code: http.StatusOK, Data: BuildUser(user)}
}
// BuildUserResponseHasToken BuildUserResponse 序列化用户响应
func BuildUserResponseHasToken(user model.SysUser, token string) serializer.Response {
return serializer.Response{Code: http.StatusOK, Msg: "登录成功!", Data: BuildUserHasToken(user, token)}
}