util

package
v0.0.0-...-2637285 Latest Latest
Warning

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

Go to latest
Published: Feb 20, 2023 License: GPL-3.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

View Source
const (
	USD = "USD"
	EUR = "EUR"
	CAD = "CAD"
)

Constants for all supported currencies

Variables

View Source
var (
	ErrInvalidToken = fmt.Errorf("token is invalid")
	ErrExpiredToken = fmt.Errorf("token has expired")
)

Different types of error returned by the VerifyToken function

Functions

func CheckPassword

func CheckPassword(password string, hashedPassword string) error

CheckPassword checks if the provided password is correct or not

func HashPassword

func HashPassword(password string) (string, error)

HashPassword returns the bcrypt hash of the password.

func IsSupportedCurrency

func IsSupportedCurrency(currency string) bool

IsSupportedCurrency returns true if the currency is supported

func RandomClusterID

func RandomClusterID() string

func RandomClusterName

func RandomClusterName() string

Radium

func RandomCurrency

func RandomCurrency() string

RandomCurrency generates a random currency code

func RandomEmail

func RandomEmail() string

RandomEmail generates a random email

func RandomInt

func RandomInt(min, max int64) int64

RandomInt generates a random integer between min and max

func RandomMoney

func RandomMoney() int64

RandomMoney generates a random amount of money

func RandomOwner

func RandomOwner() string

RandomOwner generates a random owner name

func RandomString

func RandomString(n int) string

RandomString generates a random string of length n

Types

type Config

type Config struct {
	DBDriver            string        `mapstructure:"DB_DRIVER"`
	DBSource            string        `mapstructure:"DB_SOURCE"`
	ServerAddress       string        `mapstructure:"SERVER_ADDRESS"`
	TokenSymmetricKey   string        `mapstructure:"TOKEN_SYMMETRIC_KEY"`
	AccessTokenDuration time.Duration `mapstructure:"ACCESS_TOKEN_DURATION"`
}

Config stores all configuration of the application. The values are read by viper from a config file or environment variable.

func LoadConfig

func LoadConfig(path string) (config Config, err error)

LoadConfig reads configuration from file or environment variables.

type Token

type Token struct {
	ID        uuid.UUID `json:"id"`
	Username  string    `json:"username"`
	IssuedAt  time.Time `json:"issued_at"`
	ExpiredAt time.Time `json:"expired_at"`
}

Token contains the payload data of the token

type TokenMaker

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

TokenMaker manages token creation and validation

func NewTokenMaker

func NewTokenMaker(symmetricKey string) (*TokenMaker, error)

NewTokenMaker returns a new TokenMaker

func (*TokenMaker) CreateToken

func (tokenMaker *TokenMaker) CreateToken(username string, duration time.Duration) (string, error)

CreateToken creates a new token for a username with a fixed valid duration

func (*TokenMaker) VerifyToken

func (tokenMaker *TokenMaker) VerifyToken(tokenString string) (*Token, error)

VerifyToken checks if the token is valid or not

Jump to

Keyboard shortcuts

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