database

package
v0.0.0-...-0ea6ada Latest Latest
Warning

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

Go to latest
Published: Aug 24, 2020 License: MIT Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CreateDefaultUser

func CreateDefaultUser(db *DB)

CreateDefaultUser ...

func MarkAsDeleted

func MarkAsDeleted(db *DB, sqlMarkAsDeleted string, id int64) error

MarkAsDeleted ...

func Migrate

func Migrate(db *DB)

Migrate ...

func SelectOne

func SelectOne(db *DB, sqlSelect string, argSelect interface{}, dest interface{}) error

SelectOne ...

func Upsert

func Upsert(db *DB, sqlUpsert string, sqlSelectByID string, argUpsert interface{}, dest interface{}) error

Upsert ...

Types

type DB

type DB struct {
	*sqlx.DB
}

DB ...

func MustConnect

func MustConnect(driver string, url string) *DB

MustConnect ...

type ErrDuplicateRow

type ErrDuplicateRow struct {
	ColName  string
	ColValue string
}

ErrDuplicateRow ...

func (*ErrDuplicateRow) Error

func (err *ErrDuplicateRow) Error() string

type LimitAndOffset

type LimitAndOffset struct {
	Limit  int `db:"limit"`
	Offset int `db:"offset"`
}

LimitAndOffset ...

type User

type User struct {
	ID        int64          `json:"id"`
	Username  string         `json:"username" validate:"required,alphanum"`
	Password  string         `json:"password" validate:"required,password"`
	Email     string         `json:"email" validate:"required,email"`
	FirstName sql.NullString `json:"first_name" db:"first_name"`
	LastName  sql.NullString `json:"last_name" db:"last_name"`
	Role      auth.Role      `json:"role" validate:"required,role"`
	Created   time.Time      `json:"created"`
	Updated   time.Time      `json:"updated"`
	Deleted   sql.NullTime   `json:"deleted,omitempty"`
}

User ...

func (*User) Create

func (u *User) Create(db *DB) (*User, error)

Create ...

func (*User) Delete

func (u *User) Delete(db *DB) error

Delete ...

func (*User) GetByEmail

func (u *User) GetByEmail(db *DB) (*User, error)

GetByEmail ...

func (*User) GetByID

func (u *User) GetByID(db *DB) (*User, error)

GetByID ...

func (*User) GetByUsername

func (u *User) GetByUsername(db *DB) (*User, error)

GetByUsername ...

func (*User) List

func (u *User) List(db *DB, limit int, offset int) ([]*User, error)

List ...

func (*User) Update

func (u *User) Update(db *DB) (*User, error)

Update ...

Jump to

Keyboard shortcuts

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