package model

import "github.com/gogf/gf/v2/frame/g"

type User struct {
	g.Meta         `orm:"table:users"`
	Id             int64  `json:"id"       orm:"id"`
	Email          string `json:"email"    orm:"email"`
	Username       string `json:"username" orm:"username"`
	Avatar         string `json:"avatar"   orm:"avatar"`
	AttentionCount int    `json:"attentionCount" orm:"attention_count"`
	BackGroundUrl  string `json:"backgroundUrl" orm:"background_url"`
}
type AppUser struct {
	g.Meta `orm:"table:users"`
	Id     int64  `json:"id"       orm:"id"`
	Avatar string `json:"avatar"   orm:"avatar"`
}
type UserLoginIn struct {
	Email    string // 用户名
	Password string // 密码
}

type UserLoginOut struct {
	Token string // 登录令牌
}

type UserRegisterIn struct {
	Email     string // 用户名
	Password  string // 密码
	Password2 string // 邮箱
}

type UserRegisterOut struct {
	Success bool // 是否成功
}

type UserInfoIn struct {
	UserId int64 // 用户ID
}

type UserInfoOut struct {
	Id             int64  // 用户ID
	Username       string // 用户名
	Email          string // 邮箱
	Points         uint64 // 积分
	Avatar         string // 头像
	BackgroundUrl  string // 背景图片
	AttentionCount int    // 关注数
	IsAuthor       bool   // 是否是作者
	AuthorStatus   int    // 作者申请状态（0无，1通过，2禁用，3拒绝，2/3为未通过）
}

type UserDeleteIn struct {
	UserId   int64  // 用户ID
	Password string // 密码
}

type UserDeleteOut struct {
	Success bool // 是否成功
}

type UserCodeIn struct {
	Email string // 邮箱
}

type UserCodeOut struct {
	Success bool // 是否成功
}

type UserEditPassIn struct {
	Email     string
	Password  string
	Password2 string
	Sign      string
}

type UserEditPassOut struct {
	Success bool // 是否成功
}
type VertifyCodeIn struct {
	Email string
	Code  string
}

type VertifyCodeOut struct {
	Sign string
}

type UserInfoAPI struct {
}
