domain

package
v0.1.8 Latest Latest
Warning

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

Go to latest
Published: Jun 10, 2021 License: MIT Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type JwtParams added in v0.1.8

type JwtParams interface {
	GetExpirationSeconds() time.Duration
	GetIssuer() string
	GetJwtID() string
	GetAudience() string
	GetSecret() []byte
	GetIssueTime() time.Time
}

JwtParams - 创建 JWT 要用的参数

type Register

type Register interface {
	GetAccount() string
	GetPassword() string
	SetCreatedTime(*time.Time)
	SetCryptPass() error
}

Register ...

type TokenDetail

type TokenDetail interface {
	GetTokenID() string
	GetUserID() string
}

TokenDetail contain tokenID and userID

type Tokens added in v0.1.8

type Tokens interface {
	GetAccessToken() string
	GetRefreshToken() string
}

Tokens - 包含 AccessToken 和 RefreshToken

type TokensRepository added in v0.1.8

type TokensRepository interface {
	// CreateToken - 创建 指定 TokenDetail
	CreateTokenID(ctx context.Context, token TokenDetail, expiration time.Duration) error
	// CheckAccessToken - 检查 某个 TokenDetail 是否在数据库中持久化保存
	CheckTokenID(ctx context.Context, token TokenDetail) (bool, error)
	// DeleteToken - 删除指定的 Token
	DeleteTokenID(ctx context.Context, tokenID string) error
}

TokensRepository - 持久化处理 Tokens

type TokensUseCase added in v0.1.8

type TokensUseCase interface {
	// CreateTokens - 创建 AccessToken 和 RefreshToken
	CreateTokens(ctx context.Context, userID string) (Tokens, error)

	// CheckTokensAndLogout - 检查 Tokens
	CheckTokensAndLogout(ctx context.Context, tokens Tokens) error
}

TokensUseCase - 处理 Tokens

type User

type User interface {
	GetUserID() string
	GetDisplayName() string
	GetCryptPass() []byte
	SetUpdatedTime(*time.Time)
}

User ...

type UserRepository

type UserRepository interface {
	RegisterUser(ctx context.Context, body Register) error
	GetByID(ctx context.Context, id string) (User, error)
	GetByAccount(ctx context.Context, account string) (User, error)
}

UserRepository represent the user's repository contract

type UserUsecase

type UserUsecase interface {
	RegisterUserUC(ctx context.Context, body Register) error
	GetByIDUC(ctx context.Context, id string) (User, error)
	GetByAccountUC(ctx context.Context, account string) (User, error)
	CheckAccountAndPassUC(ctx context.Context, account string, password string) (User, error)
}

UserUsecase ...

Jump to

Keyboard shortcuts

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