package types

type LoginResp struct {
	Token    string `json:"token"`
	Email    string `json:"email"`
	Name     string `json:"name"`
	UserId   uint   `json:"user_id"`
	Account  string `json:"account"`
	Avatar   string `json:"avatar"`
	Identity string `json:"identity"`
	Phone    string `json:"phone"` // 手机号
}

// 用户表
type UserResp struct {
	Account   string `json:"account"`    // 账户名称
	Phone     string `json:"phone"`      // 手机号
	Avatar    string `json:"avatar"`     // 头像
	Status    int16  `json:"status"`     // 状态
	Id        int64  `json:"id"`         // id
	Identity  string `json:"identity"`   // 唯一标识码
	Email     string `json:"email"`      // 邮箱
	Name      string `json:"name"`       // 用户名
	CreatedAt string `json:"created_at"` // 创建时间
}

type IdResp struct {
	Id       uint   `json:"id"`
	Identity string `json:"identity"`
}
type FetchResp struct {
	Total int64 `json:"total"`
	Data  any   `json:"data"`
	Page  int   `json:"page"`
	Size  int   `json:"size"`
}

// 应用相关返回
type ApplicationRsp struct {
	Id          uint   `json:"id,omitempty"`
	Identity    string `json:"identity,omitempty"`
	Title       string `json:"title,omitempty"`
	Code        string `json:"code,omitempty"`
	Description string `json:"description,omitempty"`
	CreatedAt   string `json:"created_at"` // 创建时间
}

// 权限相关返回
type PermissionRsp struct {
	Id          uint   `json:"id,omitempty"`
	Identity    string `json:"identity,omitempty"`
	Title       string `json:"title,omitempty"`       // 权限名称
	TitleEn     string `json:"title_en,omitempty"`    // 权限名称(英文)
	Code        string `json:"code,omitempty"`        // 权限标识
	Description string `json:"description,omitempty"` // 权限描述
	AppId       uint   `json:"app_id,omitempty"`      // 应用id
	ParentId    uint   `json:"parent_id,omitempty"`   // 父级id
	MenuPath    string `json:"menu_path,omitempty"`   // 菜单路径
	MenuIcon    string `json:"menu_icon,omitempty"`   // 菜单图标
	Type        int8   `json:"type,omitempty"`        // 菜单类型1=菜单 2=按钮
	Component   string `json:"component,omitempty"`   // 组件路径
	SortKey     int    `json:"sort_key,omitempty"`    // 排序
	IsWebPage   bool   `json:"is_web_page,omitempty"` // 是否为网页
	IsNewTab    bool   `json:"is_new_tab,omitempty"`  // 是否在新标签页打开
	IsFull      bool   `json:"is_full,omitempty"`     // 单独页面，不包含菜单
	HideMenu    bool   `json:"hide_menu,omitempty"`   // 隐藏菜单栏的菜单
	WebUrl      string `json:"web_url,omitempty"`     // 网页地址
	CreatedAt   string `json:"created_at"`            // 创建时间

}
