user

package
v1.0.9 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 24, 2024 License: MIT Imports: 17 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Auth

type Auth struct {
	ktypes.CreateModel
	UserID          uint32           `json:"user_id"`
	ChannelID       uint32           `json:"channel_id"`
	AuthID          *string          `json:"auth_id"`
	UnionID         *string          `json:"union_id"`
	ChannelToken    *string          `json:"channel_token"`
	ChannelExpireAt int64            `json:"channel_expire_at"`
	JwtToken        string           `json:"jwt_token"`
	JwtExpireAt     int64            `json:"jwt_expire_at"`
	LoginAt         int64            `json:"login_at"`
	User            *User            `json:"user" gorm:"foreignKey:user_id;references:id"`
	Channel         *channel.Channel `json:"channel" gorm:"foreignKey:channel_id;references:id"` // 不允许直接删除channel
}

func (Auth) TableName

func (t Auth) TableName() string

type CaptchaLoginRequest

type CaptchaLoginRequest struct {
	App       string `json:"app"`
	Username  string `json:"username"`
	Captcha   string `json:"captcha"`
	CaptchaID string `json:"captcha_id"`
}

type CaptchaRegisterRequest

type CaptchaRegisterRequest struct {
	App       string `json:"app"`
	Username  string `json:"username"`
	Captcha   string `json:"captcha"`
	CaptchaID string `json:"captcha_id"`
}

type CaptchaResponse

type CaptchaResponse struct {
	ID     string `json:"id"`
	Expire int    `json:"expire"`
	Base64 string `json:"base64"`
}

type OAuthBindByCaptchaRequest

type OAuthBindByCaptchaRequest struct {
	Username  string
	Captcha   string
	CaptchaID string
	App       string
	Code      string
	Platform  string
}

type OAuthBindByPasswordRequest

type OAuthBindByPasswordRequest struct {
	Username  string
	Password  string
	Captcha   string
	CaptchaID string
	App       string
	Code      string
	Platform  string
}

type OAuthLoginRequest

type OAuthLoginRequest struct {
	App      string `json:"app"`
	Code     string `json:"code"`
	Platform string `json:"platform"`
}

type PageUserRequest

type PageUserRequest struct {
	Page     uint32   `json:"page"`
	PageSize uint32   `json:"page_size"`
	App      *string  `json:"app"`
	Username *string  `json:"username"`
	Phone    *string  `json:"phone"`
	Email    *string  `json:"email"`
	InIds    []uint32 `json:"in_ids"`
	NotInIds []uint32 `json:"not_in_ids"`
}

type Password

type Password struct {
	Password string `json:"password"`
	Time     int64  `json:"time"`
}

type PasswordLoginRequest

type PasswordLoginRequest struct {
	App       string `json:"app"`
	Username  string `json:"username"`
	Password  string `json:"password"`
	Captcha   string `json:"captcha"`
	CaptchaID string `json:"captcha_id"`
}

type PasswordRegisterRequest

type PasswordRegisterRequest struct {
	App       string `json:"app"`
	Username  string `json:"username"`
	Password  string `json:"password"`
	Captcha   string `json:"captcha"`
	CaptchaID string `json:"captcha_id"`
}

type Repo

type Repo interface {
	Add(ctx kratosx.Context, user *User) (uint32, error)
	Import(ctx kratosx.Context, list []*User) error
	Get(ctx kratosx.Context, id uint32) (*User, error)
	GetBase(ctx kratosx.Context, id uint32) (*User, error)
	GetByPhone(ctx kratosx.Context, phone string) (*User, error)
	GetByEmail(ctx kratosx.Context, email string) (*User, error)
	GetByUsername(ctx kratosx.Context, un string) (*User, error)
	PageUser(ctx kratosx.Context, req *PageUserRequest) ([]*User, uint32, error)
	Update(ctx kratosx.Context, user *User) error
	Delete(ctx kratosx.Context, id uint32) error
	GetJwtTokens(ctx kratosx.Context, id uint32) []string
	HasUsername(ctx kratosx.Context, un string) bool
	HasUserEmail(ctx kratosx.Context, email string) bool
	HasUserPhone(ctx kratosx.Context, phone string) bool

	GetApp(ctx kratosx.Context, keyword string) (*app.App, error)
	AddUserApp(ctx kratosx.Context, uid, aid uint32) (uint32, error)
	UpdateUserApp(ctx kratosx.Context, in *UserApp) error
	DeleteUserApp(ctx kratosx.Context, uid, aid uint32) error

	GetAuthByCU(ctx kratosx.Context, cid, uid uint32) (*Auth, error)
	GetAuthByCA(ctx kratosx.Context, cid uint32, aid string) (*Auth, error)
	AddAuth(ctx kratosx.Context, channel *Auth) (uint32, error)
	UpdateAuthByCU(ctx kratosx.Context, channel *Auth) error
}

type UseCase

type UseCase struct {
	// contains filtered or unexported fields
}

func NewUseCase

func NewUseCase(config *config.Config, repo Repo) *UseCase

func (*UseCase) Add

func (u *UseCase) Add(ctx kratosx.Context, user *User) (uint32, error)

Add 添加用户信息

func (*UseCase) AddApp

func (u *UseCase) AddApp(ctx kratosx.Context, uid, aid uint32) (uint32, error)

AddApp 添加用户应用

func (*UseCase) CaptchaLogin

func (u *UseCase) CaptchaLogin(ctx kratosx.Context, in *CaptchaLoginRequest) (string, error)

func (*UseCase) CaptchaLoginEmail

func (u *UseCase) CaptchaLoginEmail(ctx kratosx.Context, email string) (*CaptchaResponse, error)

CaptchaLoginEmail 登录邮件验证码

func (*UseCase) CaptchaRegister

func (u *UseCase) CaptchaRegister(ctx kratosx.Context, in *CaptchaRegisterRequest) (string, error)

CaptchaRegister 邮件注册

func (*UseCase) CaptchaRegisterEmail

func (u *UseCase) CaptchaRegisterEmail(ctx kratosx.Context, email string) (*CaptchaResponse, error)

CaptchaRegisterEmail 注册验证码

func (*UseCase) Delete

func (u *UseCase) Delete(ctx kratosx.Context, id uint32) error

Delete 删除用户信息

func (*UseCase) DeleteApp

func (u *UseCase) DeleteApp(ctx kratosx.Context, uid, aid uint32) error

DeleteApp 删除用户应用

func (*UseCase) Disable

func (u *UseCase) Disable(ctx kratosx.Context, id uint32, desc string) error

Disable 禁用用户

func (*UseCase) Enable

func (u *UseCase) Enable(ctx kratosx.Context, id uint32) error

Enable 启用用户

func (*UseCase) GenToken

func (u *UseCase) GenToken(ctx kratosx.Context, user *User, app *app.App, channel *channel.Channel) (string, error)

GenToken 生成token数据

func (*UseCase) Get

func (u *UseCase) Get(ctx kratosx.Context, id uint32) (*User, error)

Get 获取用户信息

func (*UseCase) GetBase

func (u *UseCase) GetBase(ctx kratosx.Context, id uint32) (*User, error)

GetBase 获取用户基础信息

func (*UseCase) GetByEmail

func (u *UseCase) GetByEmail(ctx kratosx.Context, email string) (*User, error)

GetByEmail 获取用户信息

func (*UseCase) GetByPhone

func (u *UseCase) GetByPhone(ctx kratosx.Context, phone string) (*User, error)

GetByPhone 获取用户信息

func (*UseCase) GetByUsername

func (u *UseCase) GetByUsername(ctx kratosx.Context, un string) (*User, error)

GetByUsername 获取用户信息

func (*UseCase) Import

func (u *UseCase) Import(ctx kratosx.Context, users []*User) error

Import 导入用户信息

func (*UseCase) OAuthBindByCaptcha

func (u *UseCase) OAuthBindByCaptcha(ctx kratosx.Context, in *OAuthBindByCaptchaRequest) (string, error)

OAuthBindByCaptcha 通过验证码绑定三方账户

func (*UseCase) OAuthBindByPassword

func (u *UseCase) OAuthBindByPassword(ctx kratosx.Context, in *OAuthBindByPasswordRequest) (string, error)

OAuthBindByPassword 通过密码三方账号绑定

func (*UseCase) OAuthBindCaptcha

func (u *UseCase) OAuthBindCaptcha(ctx kratosx.Context) (*CaptchaResponse, error)

OAuthBindCaptcha 绑定验证码

func (*UseCase) OAuthBindEmail

func (u *UseCase) OAuthBindEmail(ctx kratosx.Context, email string) (*CaptchaResponse, error)

OAuthBindEmail 邮件绑定验证码

func (*UseCase) OAuthLogin

func (u *UseCase) OAuthLogin(ctx kratosx.Context, in *OAuthLoginRequest) (string, error)

OAuthLogin 三方授权登录

func (*UseCase) Offline

func (u *UseCase) Offline(ctx kratosx.Context, id uint32) error

Offline 对当前登陆用户进行下线

func (*UseCase) Page

func (u *UseCase) Page(ctx kratosx.Context, req *PageUserRequest) ([]*User, uint32, error)

Page 分页获取用户

func (*UseCase) ParseToken

func (u *UseCase) ParseToken(ctx kratosx.Context) (*auth.Auth, error)

ParseToken 解析token数据

func (*UseCase) PasswordLogin

func (u *UseCase) PasswordLogin(ctx kratosx.Context, in *PasswordLoginRequest) (string, error)

PasswordLogin 通过账号密码登录

func (*UseCase) PasswordLoginCaptcha

func (u *UseCase) PasswordLoginCaptcha(ctx kratosx.Context) (*CaptchaResponse, error)

PasswordLoginCaptcha 登录验证码

func (*UseCase) PasswordRegister

func (u *UseCase) PasswordRegister(ctx kratosx.Context, in *PasswordRegisterRequest) (string, error)

PasswordRegister 密码注册

func (*UseCase) PasswordRegisterCaptcha

func (u *UseCase) PasswordRegisterCaptcha(ctx kratosx.Context) (*CaptchaResponse, error)

PasswordRegisterCaptcha 注册验证码

func (*UseCase) PasswordRegisterCheck

func (u *UseCase) PasswordRegisterCheck(ctx kratosx.Context, username string) bool

PasswordRegisterCheck 密码注册用户名检测

func (*UseCase) RefreshToken

func (u *UseCase) RefreshToken(ctx kratosx.Context) (string, error)

RefreshToken 刷新用户token

func (*UseCase) Update

func (u *UseCase) Update(ctx kratosx.Context, user *User) error

Update 添加用户信息

type User

type User struct {
	ktypes.BaseModel
	Phone       *string      `json:"phone"`
	Email       *string      `json:"email"`
	Username    *string      `json:"username"`
	Password    string       `json:"password"`
	NickName    string       `json:"nick_name"`
	RealName    *string      `json:"real_name"`
	Avatar      string       `json:"avatar"`
	Gender      string       `json:"gender"`
	Status      *bool        `json:"status"`
	DisableDesc *string      `json:"disable_desc"`
	From        string       `json:"from"`
	FromDesc    string       `json:"from_desc"`
	UserApps    []*UserApp   `json:"-" gorm:"foreignKey:user_id;references:id"`
	Auths       []*Auth      `json:"-" gorm:"foreignKey:user_id;references:id"`
	UserExtras  []*UserExtra `json:"-" gorm:"foreignKey:user_id;references:id"`
}

func (User) TableName

func (t User) TableName() string

type UserApp

type UserApp struct {
	ktypes.CreateModel
	UserID  uint32      `json:"user_id"`
	AppID   uint32      `json:"app_id"`
	LoginAt int64       `json:"login_at"`
	App     *appbiz.App `json:"app" gorm:"foreignKey:app_id;references:id"` // 不允许直接删除app
}

func (UserApp) TableName

func (t UserApp) TableName() string

type UserExtra

type UserExtra struct {
	ktypes.CreateModel
	UserID  uint32 `json:"user_id"`
	Keyword string `json:"keyword"`
	Value   string `json:"value"`
}

func (UserExtra) TableName

func (t UserExtra) TableName() string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL