Documentation
¶
Index ¶
- Constants
- func NewUserSet() *types.Set[*User]
- type AuthenticateResponse
- type AuthenticateUserRequest
- type CreateUserRequest
- func (r *CreateUserRequest) SetDescription(description string) *CreateUserRequest
- func (r *CreateUserRequest) SetMaxConnections(maxConnections int) *CreateUserRequest
- func (r *CreateUserRequest) SetPassword(password string) *CreateUserRequest
- func (r *CreateUserRequest) SetPermission(service string, allowed bool) *CreateUserRequest
- func (r *CreateUserRequest) SetStatus(status string) *CreateUserRequest
- func (r *CreateUserRequest) SetUsername(username string) *CreateUserRequest
- func (r *CreateUserRequest) Validate() error
- type DeleteUserRequest
- type DescribeUserRequest
- type HasPermissionRequest
- type QueryUserRequest
- type Service
- type UpdateUserRequest
- type User
- type UserResponse
- type UserSetResponse
Constants ¶
View Source
const (
APP_NAME = "proxy_user"
)
Variables ¶
This section is empty.
Functions ¶
func NewUserSet ¶
Types ¶
type AuthenticateResponse ¶
type AuthenticateResponse struct {
Data *User `json:"data"`
Token string `json:"token,omitempty"`
Expiry int64 `json:"expiry,omitempty"`
}
AuthenticateResponse 认证响应
type AuthenticateUserRequest ¶
type AuthenticateUserRequest struct {
Username string `json:"username" validate:"required"`
Password string `json:"password" validate:"required"`
}
func (*AuthenticateUserRequest) Validate ¶
func (r *AuthenticateUserRequest) Validate() error
type CreateUserRequest ¶
type CreateUserRequest struct {
// 用户名
Username string `json:"username" validate:"required"`
// 密码
Password string `json:"password" validate:"required"`
// 状态
Status string `json:"status"`
// 最大连接数
MaxConnections int `json:"max_connections"`
// 权限 {"service": true/false}
Permissions map[string]bool `json:"permissions"`
// 描述
Description string `json:"description"`
}
func NewCreateUserRequest ¶
func NewCreateUserRequest() *CreateUserRequest
func (*CreateUserRequest) SetDescription ¶
func (r *CreateUserRequest) SetDescription(description string) *CreateUserRequest
func (*CreateUserRequest) SetMaxConnections ¶
func (r *CreateUserRequest) SetMaxConnections(maxConnections int) *CreateUserRequest
func (*CreateUserRequest) SetPassword ¶
func (r *CreateUserRequest) SetPassword(password string) *CreateUserRequest
func (*CreateUserRequest) SetPermission ¶
func (r *CreateUserRequest) SetPermission(service string, allowed bool) *CreateUserRequest
func (*CreateUserRequest) SetStatus ¶
func (r *CreateUserRequest) SetStatus(status string) *CreateUserRequest
func (*CreateUserRequest) SetUsername ¶
func (r *CreateUserRequest) SetUsername(username string) *CreateUserRequest
func (*CreateUserRequest) Validate ¶
func (r *CreateUserRequest) Validate() error
type DeleteUserRequest ¶
type DeleteUserRequest struct {
DescribeUserRequest
}
func NewDeleteUserRequest ¶
func NewDeleteUserRequest(username string) *DeleteUserRequest
type DescribeUserRequest ¶
type DescribeUserRequest struct {
Username string `json:"username"`
}
func NewDescribeUserRequest ¶
func NewDescribeUserRequest(username string) *DescribeUserRequest
type HasPermissionRequest ¶
type HasPermissionRequest struct {
Username string `json:"username" validate:"required"`
Service string `json:"service" validate:"required"`
}
func (*HasPermissionRequest) Validate ¶
func (r *HasPermissionRequest) Validate() error
type QueryUserRequest ¶
type QueryUserRequest struct {
*request.PageRequest
// 用户名,支持模糊查询
Username string `json:"username"`
// 状态过滤
Status string `json:"status"`
}
func NewQueryUserRequest ¶
func NewQueryUserRequest() *QueryUserRequest
type Service ¶
type Service interface {
// 创建用户
CreateUser(context.Context, *CreateUserRequest) (*User, error)
// 查询用户
QueryUser(context.Context, *QueryUserRequest) (*types.Set[*User], error)
// 获取用户详情
DescribeUser(context.Context, *DescribeUserRequest) (*User, error)
// 更新用户
UpdateUser(context.Context, *UpdateUserRequest) (*User, error)
// 删除用户
DeleteUser(context.Context, *DeleteUserRequest) (*User, error)
// 用户认证
AuthenticateUser(context.Context, *AuthenticateUserRequest) (*User, error)
// 检查权限
HasPermission(context.Context, *HasPermissionRequest) (bool, error)
}
func GetService ¶
func GetService() Service
type UpdateUserRequest ¶
type UpdateUserRequest struct {
Username string `json:"username" validate:"required"`
Status string `json:"status"`
MaxConnections int `json:"max_connections"`
Permissions map[string]bool `json:"permissions"`
Description string `json:"description"`
UpdateBy string `json:"update_by"`
}
func (*UpdateUserRequest) Validate ¶
func (r *UpdateUserRequest) Validate() error
type User ¶
type User struct {
// 用户ID (自增)
Id int64 `json:"id" gorm:"column:id;primaryKey;autoIncrement"`
// 创建时间
CreateAt time.Time `json:"create_at" gorm:"column:create_at"`
// 更新时间
UpdateAt *time.Time `json:"update_at" gorm:"column:update_at"`
// 更新人
UpdateBy string `json:"update_by" gorm:"column:update_by;type:varchar(60)"`
// 用户定义
CreateUserRequest
// 密码哈希值
PasswordHash string `json:"-" gorm:"column:password_hash;type:varchar(255)"`
}
User 代理用户模型
func NewUser ¶
func NewUser(req *CreateUserRequest) *User
func (*User) VerifyPassword ¶
VerifyPassword 验证密码
type UserSetResponse ¶
UserSetResponse 列表响应
Click to show internal directories.
Click to hide internal directories.