go17/vblog/apps/user/interface.go
2024-12-15 11:36:22 +08:00

88 lines
1.9 KiB
Go
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package user
import (
"context"
"github.com/infraboard/mcube/v2/ioc"
)
// 获取实现从ioc
func GetService() Service {
return ioc.Controller().Get(AppName).(Service)
}
const (
AppName = "user"
)
type Service interface {
AdminService
UserService
}
type AdminService interface {
// 更新用户状态
UpdateUserStatus(context.Context, *UpdateUserStatusRequest) (*User, error)
// 查询某个具体的用户详情
DescribeUser(context.Context, *DescribeUserRequest) (*User, error)
}
// UserId Or Username
type DescribeUserRequest struct {
DescribeBy DESCRIBE_BY `json:"describe_by"`
Value string `json:"value"`
}
type UserService interface {
// 注册
Registry(context.Context, *RegistryRequest) (*User, error)
// 用户更新
// 用户秘密更新, 安全等级弱, 用于已经提供了原来的密码
UpdatePassword(context.Context, *UpdatePasswordRequest) error
// 忘了密码,需要重置, 安全等级高,有很多限制条件
ResetPassword(context.Context, *ResetPasswordRequest) error
// 更新Profile信息, 邮箱之类的
UpdateProfile(context.Context, *UpdateProfileRequest) (*User, error)
// 注销
UnRegistry(context.Context, *UnRegistryRequest)
}
type UpdateUserStatusRequest struct {
// 用户Id
UserId string `json:"user_id"`
//
Status
}
type UpdateProfileRequest struct {
// 用户Id
UserId string `json:"user_id"`
// 需要更新的Profile
Profile
}
type UpdatePasswordRequest struct {
// 用户名
Username string `json:"username"`
// 原来的密码
OldPassword string `json:"old_password"`
// 新的密码
NewPassword string `json:"new_password"`
}
type ResetPasswordRequest struct {
// 用户名
Username string `json:"username"`
// 新的密码
NewPassword string `json:"new_password"`
// 验证码
VerifyCode string `json:"verify_code"`
}
type UnRegistryRequest struct {
// 用户名
Username string `json:"username"`
}