package entity

// AdminResp \database\game_cluster\nodes\adminapi\entity\admin.go
type AdminResp struct {
	ToKen  string `json:"token"`
	RoleID string `json:"role_id"`
}
type AdminLoginReq struct {
	Username string `json:"username"`
	Password string `json:"password"`
}
type AdminAddReq struct {
	Password string `json:"password"`
	RealName string `json:"real_name"`
	Username string `json:"username"`
	Pid      string `json:"pid"`
	RoleId   string `json:"role_id"`
	Status   int    `json:"status"`
}

type AdminListResp struct {
	Details []*AdminListDetail `json:"details"`
	Total   int64              `json:"total"`
}

type AdminListDetail struct {
	Id            interface{} `json:"id" bson:"_id"`                          // 自增ID
	Username      string      `json:"username" bson:"username"`               // 用户名
	Password      string      `json:"password" bson:"password"`               // 密码
	RealName      string      `json:"real_name" bson:"real_name"`             // 真实姓名
	Pid           any         `json:"pid" bson:"pid"`                         // 父级ID
	RoleId        string      `json:"role_id" bson:"role_id"`                 // 角色ID
	Status        int         `json:"status" bson:"status"`                   // 状态 0:禁用 1:启用
	ManagerAuth   int8        `json:"manager_auth" bson:"manager_auth"`       // 管理员权限
	LastLoginIp   string      `json:"last_login_ip" bson:"last_login_ip"`     // 最后登录IP
	LastLoginTime int64       `json:"last_login_time" bson:"last_login_time"` // 最后登录时间
	RoleName      string      `json:"role_name" bson:"role_name"`             // 角色名
	CreatedAt     int64       `json:"created_at" bson:"created_at"`
	UpdatedAt     int64       `json:"updated_at" bson:"updated_at"`
	DeletedAt     int64       `json:"deleted_at" bson:"deleted_at"`
}

type AdminChangePasswordReq struct {
	Password string `json:"password"`
	Username string `json:"username"`
}

type AdminDelReq struct {
	Username string `json:"username"`
}

type AdminFindAllReq struct {
	Page     int    `json:"page"`
	Size     int    `json:"size"`
	Username string `json:"username"`
}

type AdminUpdateStatusReq struct {
	Username string `json:"username"`
	Status   int    `json:"status"`
}
