utils

package
v0.9.2 Latest Latest
Warning

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

Go to latest
Published: Nov 20, 2022 License: GPL-3.0 Imports: 18 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrNoToken      = errors.New("token not found")
	ErrInvalidToken = errors.New("invalid token")
)

Functions

func NewCDN added in v0.7.0

func NewCDN(config CDNConfig) *s3.S3

NewCDN Initialise connection to CDN

func NewDB added in v0.7.0

func NewDB(config DatabaseConfig) (*sqlx.DB, error)

NewDB Initialises the connection to the database

func NewMQ added in v0.7.0

func NewMQ(conf MQConfig) (*amqp.Connection, error)

NewMQ initialising the AMQP broker

func Transact

func Transact(db *sqlx.DB, txFunc func(*sqlx.Tx) error) (err error)

Transact wraps transactions

Types

type AccessClaims added in v0.8.0

type AccessClaims struct {
	UserID      int      `json:"id"`
	Permissions []string `json:"perms"`
	jwt.StandardClaims
}

AccessClaims represents an identifiable JWT

type Accesser added in v0.8.0

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

func NewAccesser added in v0.8.0

func NewAccesser(conf Config) *Accesser

NewAccesser allows the validation of web-auth JWT tokens both as headers and as cookies

func (*Accesser) AuthMiddleware added in v0.8.0

func (a *Accesser) AuthMiddleware(next echo.HandlerFunc) echo.HandlerFunc

AuthMiddleware checks a HTTP request for a valid token either in the header or cookie

func (*Accesser) GetToken added in v0.8.0

func (a *Accesser) GetToken(r *http.Request) (*AccessClaims, error)

GetToken will return the claims from a access token JWT

First will check the Authorization header, if unset will check the access cookie

type CDNConfig added in v0.7.0

type CDNConfig struct {
	Endpoint        string
	Region          string
	AccessKeyID     string
	SecretAccessKey string
}

CDNConfig represents a configuration to connect to a CDN / S3 instance

type Config added in v0.8.0

type Config struct {
	AccessCookieName string
	SigningKey       []byte
}

type DatabaseConfig added in v0.7.0

type DatabaseConfig struct {
	Host     string
	Port     string
	SSLMode  string
	Name     string
	Username string
	Password string
}

DatabaseConfig represents a configuration to connect to an SQL database

type MQConfig added in v0.7.0

type MQConfig struct {
	Host     string
	Port     string
	Username string
	Password string
}

MQConfig configuration required to create a MQ connection

type Mail added in v0.7.0

type Mail struct {
	Subject string
	To      string
	Cc      []string
	Bcc     []string
	From    string
	// contains filtered or unexported fields
}

Mail represents an email to be sent

type MailConfig added in v0.7.0

type MailConfig struct {
	Host     string
	Port     int
	Username string
	Password string
}

MailConfig represents a configuration to connect to an SMTP server

type Mailer added in v0.7.0

type Mailer struct {
	*mail.SMTPClient
	Enabled bool
}

Mailer encapsulates the dependency

func NewMailer added in v0.7.0

func NewMailer(config MailConfig) (*Mailer, error)

NewMailer creates a new SMTP client

func (*Mailer) SendMail added in v0.7.0

func (m *Mailer) SendMail(item Mail) error

SendMail sends a template email

type Permission added in v0.7.0

type Permission struct {
	Name string `json:"name"`
}

Permission represents the permissions that a user has

Jump to

Keyboard shortcuts

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