auth

package
v0.0.0-...-9305a47 Latest Latest
Warning

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

Go to latest
Published: May 30, 2024 License: GPL-3.0 Imports: 16 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrorInviteNotFound    = errors.New("invite not found")
	ErrorInviteExpired     = errors.New("invite has expired")
	ErrorUserExist         = errors.New("user exist")
	ErrorUserNotFound      = errors.New("user not found")
	ErrorUserBlocked       = errors.New("user blocked")
	ErrorInvalidPassword   = errors.New("invalid password")
	ErrorSessionNotFound   = errors.New("session not found")
	ErrorSessionHasExpired = errors.New("session has expired")
)

Functions

This section is empty.

Types

type Auth

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

func New

func New(
	cfg *config.Config,
	user repositoryUser.Querier,
	password repositoryPassword.Querier,
	session Session,
	invite repositoryInvite.Querier,
) *Auth

func (*Auth) GenerateCookie

func (s *Auth) GenerateCookie(ctx context.Context, userID int64) (string, error)

func (*Auth) GetUserInfo

func (s *Auth) GetUserInfo(ctx context.Context, userID int64) (*entity.User, error)

func (*Auth) Login

func (s *Auth) Login(ctx context.Context, req *dto.LoginDTO) (*entity.User, error)

func (*Auth) Logout

func (s *Auth) Logout(ctx context.Context, sessionHash string) error

func (*Auth) Register

func (s *Auth) Register(ctx context.Context, req *dto.RegisterDTO) (*entity.User, error)

func (*Auth) ValidateCookie

func (s *Auth) ValidateCookie(ctx context.Context, sessionToken string) (*entity.Session, error)

type IAuth

type IAuth interface {
	Register(ctx context.Context, req *dto.RegisterDTO) (*entity.User, error)
	Login(ctx context.Context, req *dto.LoginDTO) (*entity.User, error)
	Logout(ctx context.Context, sessionHash string) error
	GenerateCookie(ctx context.Context, userID int64) (string, error)
	ValidateCookie(ctx context.Context, session string) (*entity.Session, error)
	GetUserInfo(ctx context.Context, userID int64) (*entity.User, error)
}

type Session

type Session interface {
	CreateOrUpdate(_ context.Context, userID int64, sessionHash string) (*models.Session, error)
	DeleteBySessionHash(_ context.Context, sessionHash string) error
	GetBySessionHash(_ context.Context, sessionHash string) (*models.Session, error)
}

Jump to

Keyboard shortcuts

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