model

package
v0.5.3 Latest Latest
Warning

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

Go to latest
Published: Oct 29, 2019 License: BSD-3-Clause Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrNotFound = errors.New("Record not found in database")

Functions

This section is empty.

Types

type ApiKey added in v0.0.6

type ApiKey struct {
	UserName     string     `db:"user_name"`
	Key          string     `db:"api_key"`
	ClientID     string     `db:"client_id"`
	Scopes       string     `db:"scopes"`
	CreatedAt    *time.Time `db:"created_at"`
	LastAccessed *time.Time `db:"last_accessed"`
}

type ApiKeyClient added in v0.5.1

type ApiKeyClient struct {
	Name        string
	ClientID    string `mapstructure:"client_id"`
	Description string `mapstructure:"desc"`
	Scopes      string
}

type DB added in v0.5.1

type DB struct {
	*sqlx.DB
}

func NewDB added in v0.0.5

func NewDB(driver, dsn string) (*DB, error)

func (*DB) CreateApiKey added in v0.5.1

func (db *DB) CreateApiKey(uid, clientID, scopes string) (*ApiKey, string, error)

func (*DB) CreateToken added in v0.5.1

func (db *DB) CreateToken(uid, email string) (*Token, error)

func (*DB) DestroyApiKey added in v0.5.1

func (db *DB) DestroyApiKey(user, clientID string) error

func (*DB) DestroyApiKeys added in v0.5.1

func (db *DB) DestroyApiKeys(uid string) error

func (*DB) DestroyToken added in v0.5.1

func (db *DB) DestroyToken(token string) error

func (*DB) DestroyTokenByUser added in v0.5.1

func (db *DB) DestroyTokenByUser(uid string) error

func (*DB) FetchApiKey added in v0.5.1

func (db *DB) FetchApiKey(key string) (*ApiKey, error)

func (*DB) FetchApiKeys added in v0.5.1

func (db *DB) FetchApiKeys(uid string) ([]*ApiKey, error)

func (*DB) FetchToken added in v0.5.1

func (db *DB) FetchToken(token string, maxAge int) (*Token, error)

func (*DB) FetchTokenByUser added in v0.5.1

func (db *DB) FetchTokenByUser(uid string, maxAge int) (*Token, error)

func (*DB) IncrementToken added in v0.5.1

func (db *DB) IncrementToken(token string) error

func (*DB) RandKey added in v0.5.1

func (db *DB) RandKey() (string, error)

func (*DB) RandToken added in v0.5.1

func (db *DB) RandToken() (string, error)

func (*DB) RefreshApiKey added in v0.5.1

func (db *DB) RefreshApiKey(ak *ApiKey) error

func (*DB) SignToken added in v0.5.1

func (db *DB) SignToken(salt, token string) string

func (*DB) VerifyToken added in v0.5.1

func (db *DB) VerifyToken(salt, signedToken string) (string, bool)

type Datastore added in v0.5.1

type Datastore interface {
	// API Key
	RandKey() (string, error)
	FetchApiKeys(uid string) ([]*ApiKey, error)
	FetchApiKey(key string) (*ApiKey, error)
	CreateApiKey(uid, clientID, scopes string) (*ApiKey, string, error)
	RefreshApiKey(ak *ApiKey) error
	DestroyApiKey(user, clientID string) error
	DestroyApiKeys(uid string) error

	// Token
	RandToken() (string, error)
	SignToken(salt, token string) string
	VerifyToken(salt, signedToken string) (string, bool)
	FetchTokenByUser(uid string, maxAge int) (*Token, error)
	FetchToken(token string, maxAge int) (*Token, error)
	CreateToken(uid, email string) (*Token, error)
	IncrementToken(token string) error
	DestroyToken(token string) error
	DestroyTokenByUser(uid string) error
}

type Token

type Token struct {
	UserName  string     `db:"user_name"`
	Email     string     `db:"email"`
	Token     string     `db:"token"`
	Attempts  int        `db:"attempts"`
	CreatedAt *time.Time `db:"created_at"`
}

Jump to

Keyboard shortcuts

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