entities

package
v0.1.1 Latest Latest
Warning

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

Go to latest
Published: Jun 29, 2023 License: MIT Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Account

type Account struct {
	ID        UserID `json:"id"`
	Username  string `json:"username"`
	Password  string `json:"password"`
	Salt      string
	Email     string    `json:"email"`
	CreatedAt time.Time `json:"created_at"`
	UpdatedAt time.Time `json:"updated_at"`
}

type AccountHandler added in v0.1.1

type AccountHandler interface {
	RegisterUser(ctx stk.Context)
	LoginUserSession(ctx stk.Context)
	LoginUserSessionToken(ctx stk.Context)
	GetSessionUser(ctx stk.Context)
	GetSessionTokenUser(ctx stk.Context)
	LogoutUser(ctx stk.Context)
}

type AccountService added in v0.1.1

type AccountService interface {
	RegisterUser(user *Account) (*Account, error)
	LoginUserSession(user *Account) (*Session, error)
	LoginUserSessionToken(user *Account) (string, error)
	GetUserBySessionId(sessionId string) (*Account, error)
	GetUserBySessionToken(sessionToken string) (*AccountWithToken, error)
	LogoutUserBySessionId(sessionId string) error
	LogoutUserBySessionToken(sessionToken string) error
}

type AccountStore added in v0.1.1

type AccountStore interface {
	SaveUser(user *Account) error
	GetUserByUserID(email string) (*Account, error)
	GetUserByEmail(email string) (*Account, error)
	GetUserByUsername(username string) (*Account, error)
	SaveSession(session *Session) error
	GetSessionByID(sessionID string) (*Session, error)
	GetUserBySessionID(sessionID string) (*Account, error)
	InvalidateSessionByID(sessionID string) error
}

type AccountWithToken

type AccountWithToken struct {
	Account
	Token string
}

type Session

type Session struct {
	UserID    UserID    `json:"user_id"`
	SessionID string    `json:"session_id"`
	CreatedAt time.Time `json:"created_at"`
	UpdatedAt time.Time `json:"updated_at"`
	Valid     bool      `json:"valid"`
}

type UserID

type UserID uuid.UUID

func ParseUserId

func ParseUserId(id string) (UserID, error)

func (*UserID) String

func (u *UserID) String() string

Jump to

Keyboard shortcuts

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