sqldb

package
v0.0.0-...-599a714 Latest Latest
Warning

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

Go to latest
Published: Jul 19, 2023 License: MIT Imports: 12 Imported by: 0

Documentation

Overview

Package sqldb provides a database handle backed by a PostgreSQL database.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type DB

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

func New

func New(sqlDB SQL) (*DB, error)

func (*DB) Begin

func (db *DB) Begin(ctx context.Context) (db.Tx, error)

func (*DB) CreateTask

func (db *DB) CreateTask(tx db.Tx, creatorID todo.UserID) (todo.TaskID, error)

func (*DB) CreateUser

func (db *DB) CreateUser(
	tx db.Tx,
	authProviderType authn.Provider,
	authProviderId authn.UserID,
	name string,
	email string) (todo.UserID, error)

func (*DB) DeleteTask

func (d *DB) DeleteTask(tx db.Tx, taskID todo.TaskID) error

func (*DB) NoTxn

func (db *DB) NoTxn(ctx context.Context) db.Tx

func (*DB) RunOrContinueTransaction

func (db *DB) RunOrContinueTransaction(in db.Tx, fn func(db.Tx) error) error

func (*DB) Task

func (db *DB) Task(tx db.Tx, id todo.TaskID) (*todo.Task, error)

func (*DB) TasksByCreator

func (db *DB) TasksByCreator(tx db.Tx, creatorID todo.UserID) ([]*todo.Task, error)

func (*DB) Transactional

func (db *DB) Transactional(ctx context.Context, fn func(tx db.Tx) error) error

func (*DB) UpdateTask

func (d *DB) UpdateTask(
	tx db.Tx,
	taskID todo.TaskID,
	taskMutations ...db.UpdateTaskFn) error

func (*DB) UpdateUser

func (d *DB) UpdateUser(
	tx db.Tx,
	userID todo.UserID,
	userMutations ...db.UpdateUserFn) error

func (*DB) User

func (db *DB) User(tx db.Tx, id todo.UserID) (*todo.User, error)

func (*DB) UserByAuthnProvider

func (d *DB) UserByAuthnProvider(tx db.Tx, authnProvider authn.Provider, authnProvidedUserID authn.UserID) (*todo.User, error)

func (*DB) Users

func (db *DB) Users(tx db.Tx) ([]*todo.User, error)

type DBConn

type DBConn interface {
	Query(ctx context.Context, sql string, args ...interface{}) (pgx.Rows, error)
	QueryRow(ctx context.Context, sql string, args ...interface{}) pgx.Row
	Exec(ctx context.Context, sql string, args ...interface{}) (pgconn.CommandTag, error)
}

type SQL

type SQL interface {
	DBConn
	Begin(context.Context) (pgx.Tx, error)
}

Directories

Path Synopsis
golden

Jump to

Keyboard shortcuts

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