Documentation
¶
Index ¶
- Constants
- func HashPassword(password string) (string, error)
- func VerifyPassword(hashedPassword, password string) bool
- type ChangePasswordRequest
- type Config
- type ExternalUserRepository
- type IdentifyClientRequest
- type IdentifyClientResponse
- type ListUserRequest
- type ListUserResponse
- type RegisterGuestUserRequest
- type RegisterGuestUserResponse
- type Repository
- type Service
- func (s Service) ChangePassword(ctx context.Context, userID types.ID, req ChangePasswordRequest) error
- func (s Service) CreateUser(ctx context.Context, req UserCreateRequest) (UserCreateResponse, error)
- func (s Service) GetUserIDFromExternalUserID(ctx context.Context, externalUserID string) (types.ID, error)
- func (s Service) IdentifyClient(ctx context.Context, req IdentifyClientRequest) (IdentifyClientResponse, error)
- func (s Service) Login(ctx context.Context, req UserLoginRequest) (UserLoginResponse, error)
- func (s Service) RefreshToken(ctx context.Context, refreshToken string) (*tokenservice.TokenGenerateResponse, error)
- func (s Service) RegisterGuestUser(ctx context.Context, req RegisterGuestUserRequest) (RegisterGuestUserResponse, error)
- func (s Service) UpdateGuestUser(ctx context.Context, userID types.ID, req UpdateGuestUserRequest) (UpdateGuestUserResponse, error)
- func (s Service) UserDelete(ctx context.Context, userID types.ID) error
- func (s Service) UserInfo(ctx context.Context, userID types.ID) (UserInfoResponse, error)
- func (s Service) UserList(ctx context.Context, req ListUserRequest) (ListUserResponse, error)
- func (s Service) UserProfile(ctx context.Context, userID types.ID) (UserProfileResponse, error)
- func (s Service) UserUpdateFromOwn(ctx context.Context, userID types.ID, req UserUpdateFromOwnRequest) (UserUpdateResponse, error)
- func (s Service) UserUpdateFromSuperuser(ctx context.Context, userID types.ID, req UserUpdateFromSuperuserRequest) (UserUpdateResponse, error)
- type TokenSvc
- type UpdateGuestUserRequest
- type UpdateGuestUserResponse
- type User
- type UserCreateRequest
- type UserCreateResponse
- type UserIDCacheValue
- type UserInfoResponse
- type UserLoginRequest
- type UserLoginResponse
- type UserProfileResponse
- type UserUpdateFromOwnRequest
- type UserUpdateFromSuperuserRequest
- type UserUpdateResponse
- type Validate
- func (v Validate) ChangePasswordRequest(req ChangePasswordRequest) error
- func (v Validate) UserUpdateFromSuperuserRequest(req UserUpdateFromSuperuserRequest) error
- func (v Validate) ValidateIdentifyClientRequest(req IdentifyClientRequest) error
- func (v Validate) ValidateListUserRequest(req ListUserRequest) error
- func (v Validate) ValidateLoginRequest(req UserLoginRequest) error
- func (v Validate) ValidateRegisterGuestUserRequest(req RegisterGuestUserRequest) error
- func (v Validate) ValidateUpdateGuestUserRequest(req UpdateGuestUserRequest) error
- func (v Validate) ValidateUserCreateRequest(req UserCreateRequest) error
Constants ¶
View Source
const DemoUsername = "quickconnect"
Variables ¶
This section is empty.
Functions ¶
func HashPassword ¶
func VerifyPassword ¶
Types ¶
type ChangePasswordRequest ¶
type ExternalUserRepository ¶
type ExternalUserRepository interface {
IsExistUserIDFromExternalUserID(ctx context.Context, externalUserID string) (bool, error)
GetUserIDFromExternalUserID(ctx context.Context, externalUserID string) (types.ID, error)
CreateUserIDFromExternalUserID(ctx context.Context, externalUserID string, userID types.ID) error
}
type IdentifyClientRequest ¶
type IdentifyClientResponse ¶
type ListUserRequest ¶
type ListUserRequest struct {
Username string `json:"username"`
Roles []types.Role `json:"roles"`
Paginated paginate.RequestBase `json:"paginated"`
}
type ListUserResponse ¶
type ListUserResponse struct {
Results []User `json:"results"`
Paginate paginate.ResponseBase `json:"paginate"`
}
type Repository ¶
type Repository interface {
IsExistUserByUsername(ctx context.Context, username string) (bool, error)
IsExistUserByID(ctx context.Context, userID types.ID) (bool, error)
GetUserByUsername(ctx context.Context, username string) (User, error)
GetUserByID(ctx context.Context, userID types.ID) (User, error)
CreateUser(ctx context.Context, req UserCreateRequest) (User, error)
GetUserList(ctx context.Context, paginated paginate.RequestBase, username string,
roles []types.Role) ([]User, paginate.ResponseBase, error)
DeleteUser(ctx context.Context, userID types.ID) error
UpdateUser(ctx context.Context, userID types.ID, req UserUpdateFromSuperuserRequest) error
GetUserHashedPassword(ctx context.Context, userID types.ID) (string, error)
ChangePassword(ctx context.Context, userID types.ID, hashedPassword string) error
GetUserInfoByID(ctx context.Context, userID types.ID) (UserInfoResponse, error)
}
type Service ¶
type Service struct {
// contains filtered or unexported fields
}
func New ¶
func New(cfg Config, tokenSvc TokenSvc, vld Validate, repo Repository, externalUserRepo ExternalUserRepository, logger *slog.Logger, cache *cachemanager.CacheManager) Service
func (Service) ChangePassword ¶
func (Service) CreateUser ¶
func (s Service) CreateUser(ctx context.Context, req UserCreateRequest) (UserCreateResponse, error)
func (Service) GetUserIDFromExternalUserID ¶
func (Service) IdentifyClient ¶
func (s Service) IdentifyClient(ctx context.Context, req IdentifyClientRequest) (IdentifyClientResponse, error)
func (Service) Login ¶
func (s Service) Login(ctx context.Context, req UserLoginRequest) (UserLoginResponse, error)
func (Service) RefreshToken ¶
func (s Service) RefreshToken(ctx context.Context, refreshToken string) (*tokenservice.TokenGenerateResponse, error)
func (Service) RegisterGuestUser ¶
func (s Service) RegisterGuestUser(ctx context.Context, req RegisterGuestUserRequest) (RegisterGuestUserResponse, error)
func (Service) UpdateGuestUser ¶
func (s Service) UpdateGuestUser(ctx context.Context, userID types.ID, req UpdateGuestUserRequest) (UpdateGuestUserResponse, error)
func (Service) UserInfo ¶
UserInfo retrieves User info for client & support We don't check user exists.
func (Service) UserList ¶
func (s Service) UserList(ctx context.Context, req ListUserRequest) (ListUserResponse, error)
func (Service) UserProfile ¶
func (Service) UserUpdateFromOwn ¶
func (s Service) UserUpdateFromOwn(ctx context.Context, userID types.ID, req UserUpdateFromOwnRequest) (UserUpdateResponse, error)
func (Service) UserUpdateFromSuperuser ¶
func (s Service) UserUpdateFromSuperuser(ctx context.Context, userID types.ID, req UserUpdateFromSuperuserRequest) (UserUpdateResponse, error)
type TokenSvc ¶
type TokenSvc interface {
GenerateTokenPair(userID types.ID, roles []types.Role) (*tokenservice.TokenGenerateResponse, error)
GenerateGuestToken(ctx context.Context, userID types.ID) (string, error)
GenerateClientToken(ctx context.Context, userID types.ID, roles []types.Role) (string, error)
ValidateToken(tokenString string) (*types.UserClaims, error)
}
type UpdateGuestUserRequest ¶
type UpdateGuestUserResponse ¶
type UpdateGuestUserResponse struct {
User
}
type User ¶
type User struct {
ID types.ID `json:"id"`
Username string `json:"username"`
HashedPassword string `json:"-"`
Fullname string `json:"fullname"`
Email string `json:"email"`
PhoneNumber string `json:"phone_number"`
Avatar string `json:"avatar"`
Roles []types.Role `json:"roles"`
LastOnlineAt time.Time `json:"last_online_at"`
}
type UserCreateRequest ¶
type UserCreateResponse ¶
type UserCreateResponse struct {
User
}
type UserIDCacheValue ¶
type UserInfoResponse ¶
type UserLoginRequest ¶
type UserLoginResponse ¶
type UserLoginResponse struct {
User User `json:"user"`
Token tokenservice.TokenGenerateResponse `json:"token"`
}
type UserProfileResponse ¶
type UserProfileResponse struct {
User
}
type UserUpdateResponse ¶
type UserUpdateResponse struct {
User
}
type Validate ¶
type Validate struct {
// contains filtered or unexported fields
}
func NewValidate ¶
func NewValidate(t *translation.Translate) Validate
func (Validate) ChangePasswordRequest ¶
func (v Validate) ChangePasswordRequest(req ChangePasswordRequest) error
func (Validate) UserUpdateFromSuperuserRequest ¶
func (v Validate) UserUpdateFromSuperuserRequest(req UserUpdateFromSuperuserRequest) error
func (Validate) ValidateIdentifyClientRequest ¶
func (v Validate) ValidateIdentifyClientRequest(req IdentifyClientRequest) error
func (Validate) ValidateListUserRequest ¶
func (v Validate) ValidateListUserRequest(req ListUserRequest) error
func (Validate) ValidateLoginRequest ¶
func (v Validate) ValidateLoginRequest(req UserLoginRequest) error
func (Validate) ValidateRegisterGuestUserRequest ¶
func (v Validate) ValidateRegisterGuestUserRequest(req RegisterGuestUserRequest) error
func (Validate) ValidateUpdateGuestUserRequest ¶
func (v Validate) ValidateUpdateGuestUserRequest(req UpdateGuestUserRequest) error
func (Validate) ValidateUserCreateRequest ¶
func (v Validate) ValidateUserCreateRequest(req UserCreateRequest) error
Click to show internal directories.
Click to hide internal directories.