db

package
v1.0.0-alpha Latest Latest
Warning

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

Go to latest
Published: Apr 8, 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 CreateSessionParams

type CreateSessionParams struct {
	ID           uuid.UUID `db:"id" json:"id"`
	UserID       uuid.UUID `db:"user_id" json:"user_id"`
	AccessToken  string    `db:"access_token" json:"access_token"`
	RefreshToken string    `db:"refresh_token" json:"refresh_token"`
	UserAgent    string    `db:"user_agent" json:"user_agent"`
	ClientIp     string    `db:"client_ip" json:"client_ip"`
	ExpiresAt    time.Time `db:"expires_at" json:"expires_at"`
}

type CreateUserParams

type CreateUserParams struct {
	ID             uuid.UUID `db:"id" json:"id"`
	FirstName      string    `db:"first_name" json:"first_name"`
	LastName       string    `db:"last_name" json:"last_name"`
	Username       string    `db:"username" json:"username"`
	Email          string    `db:"email" json:"email"`
	HashedPassword string    `db:"hashed_password" json:"hashed_password"`
}

type DBTX

type DBTX interface {
	ExecContext(context.Context, string, ...interface{}) (sql.Result, error)
	PrepareContext(context.Context, string) (*sql.Stmt, error)
	QueryContext(context.Context, string, ...interface{}) (*sql.Rows, error)
	QueryRowContext(context.Context, string, ...interface{}) *sql.Row
}

type GetUserDevicesRow

type GetUserDevicesRow struct {
	UserAgent string `db:"user_agent" json:"user_agent"`
	ClientIp  string `db:"client_ip" json:"client_ip"`
}

type Querier

type Querier interface {
	CreateSession(ctx context.Context, arg CreateSessionParams) error
	CreateUser(ctx context.Context, arg CreateUserParams) error
	DeleteSessionByID(ctx context.Context, id uuid.UUID) (int64, error)
	DeleteUserByID(ctx context.Context, id uuid.UUID) (int64, error)
	GetSessionByID(ctx context.Context, id uuid.UUID) (Session, error)
	GetUserByEmail(ctx context.Context, email string) (User, error)
	GetUserByID(ctx context.Context, id uuid.UUID) (User, error)
	GetUserDevices(ctx context.Context, userID uuid.UUID) ([]GetUserDevicesRow, error)
	GetUserSessions(ctx context.Context, userID uuid.UUID) ([]Session, error)
	UpdateSessionTokens(ctx context.Context, arg UpdateSessionTokensParams) (int64, error)
}

type Queries

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

func New

func New(db DBTX) *Queries

func (*Queries) CreateSession

func (q *Queries) CreateSession(ctx context.Context, arg CreateSessionParams) error

func (*Queries) CreateUser

func (q *Queries) CreateUser(ctx context.Context, arg CreateUserParams) error

func (*Queries) DeleteSessionByID

func (q *Queries) DeleteSessionByID(ctx context.Context, id uuid.UUID) (int64, error)

func (*Queries) DeleteUserByID

func (q *Queries) DeleteUserByID(ctx context.Context, id uuid.UUID) (int64, error)

func (*Queries) GetSessionByID

func (q *Queries) GetSessionByID(ctx context.Context, id uuid.UUID) (Session, error)

func (*Queries) GetUserByEmail

func (q *Queries) GetUserByEmail(ctx context.Context, email string) (User, error)

func (*Queries) GetUserByID

func (q *Queries) GetUserByID(ctx context.Context, id uuid.UUID) (User, error)

func (*Queries) GetUserDevices

func (q *Queries) GetUserDevices(ctx context.Context, userID uuid.UUID) ([]GetUserDevicesRow, error)

func (*Queries) GetUserSessions

func (q *Queries) GetUserSessions(ctx context.Context, userID uuid.UUID) ([]Session, error)

func (*Queries) UpdateSessionTokens

func (q *Queries) UpdateSessionTokens(ctx context.Context, arg UpdateSessionTokensParams) (int64, error)

func (*Queries) WithTx

func (q *Queries) WithTx(tx *sql.Tx) *Queries

type Session

type Session struct {
	ID           uuid.UUID `db:"id" json:"id"`
	UserID       uuid.UUID `db:"user_id" json:"user_id"`
	AccessToken  string    `db:"access_token" json:"access_token"`
	RefreshToken string    `db:"refresh_token" json:"refresh_token"`
	UserAgent    string    `db:"user_agent" json:"user_agent"`
	ClientIp     string    `db:"client_ip" json:"client_ip"`
	ExpiresAt    time.Time `db:"expires_at" json:"expires_at"`
	UpdatedAt    time.Time `db:"updated_at" json:"updated_at"`
}

type UpdateSessionTokensParams

type UpdateSessionTokensParams struct {
	ID           uuid.UUID `db:"id" json:"id"`
	AccessToken  string    `db:"access_token" json:"access_token"`
	RefreshToken string    `db:"refresh_token" json:"refresh_token"`
	ExpiresAt    time.Time `db:"expires_at" json:"expires_at"`
}

type User

type User struct {
	ID                uuid.UUID `db:"id" json:"id"`
	FirstName         string    `db:"first_name" json:"first_name"`
	LastName          string    `db:"last_name" json:"last_name"`
	Username          string    `db:"username" json:"username"`
	Email             string    `db:"email" json:"email"`
	HashedPassword    string    `db:"hashed_password" json:"hashed_password"`
	PasswordChangedAt time.Time `db:"password_changed_at" json:"password_changed_at"`
	IsVerifiedEmail   bool      `db:"is_verified_email" json:"is_verified_email"`
	CreatedAt         time.Time `db:"created_at" json:"created_at"`
}

Jump to

Keyboard shortcuts

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