package schema

// UserRole 用户角色信息
type UserRole struct {
	RecordId string `json:"record_id"` // 记录id
	UserId   string `json:"user_id"`   // 用户id
	RoleId   string `json:"role_id"`   // 角色id
	RoleName string `json:"role_name"` // 角色名称
	RoleCode string `json:"role_code"` // 角色编码
}

// UserRoleQueryParam 查询条件
type UserRoleQueryParam struct {
	UserId string //用户ID
	RoleId string //角色ID
}

type UserRoles []*UserRole

func (a UserRoles) ToRoleIds() []string {
	roleIds := make([]string, len(a))
	for k, v := range a {
		roleIds[k] = v.RoleId
	}
	return roleIds
}

// UserRoleQueryOptions UserRole对象查询可选参数项
type UserRoleQueryOptions struct {
	PageParam *PaginationParam // 分页参数
}

// UserRoleQueryResult UserRole对象查询结果
type UserRoleQueryResult struct {
	Data       UserRoles
	PageResult *PaginationResult
}
