db

package
v0.0.0-...-2d2b994 Latest Latest
Warning

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

Go to latest
Published: Mar 6, 2022 License: AGPL-3.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var Pq = sq.StatementBuilder.PlaceholderFormat(sq.Dollar)

Functions

func NullString

func NullString(s *string) sql.NullString

Types

type ApiKey

type ApiKey struct {
	ID           uuid.UUID
	UserID       uuid.UUID
	Name         string
	HashedSecret []byte
	CreatedAt    time.Time
	UpdatedAt    time.Time
}

type ApiKeyCreateParams

type ApiKeyCreateParams struct {
	Name         string
	UserID       uuid.UUID
	HashedSecret []byte
}

type ApiKeyFindParams

type ApiKeyFindParams struct {
	UserID       uuid.UUID
	HashedSecret []byte
}

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 Drop

type Drop struct {
	ID        uuid.UUID
	UserID    uuid.UUID
	Title     sql.NullString
	URL       string
	Status    DropStatus
	MovedAt   time.Time
	CreatedAt time.Time
	UpdatedAt time.Time
}

func DropUpdate

func DropUpdate(ctx context.Context, tx DBTX, f DropUpdateFields) (Drop, error)

type DropCreateParams

type DropCreateParams struct {
	UserID  uuid.UUID
	Title   sql.NullString
	URL     string
	Status  DropStatus
	MovedAt time.Time
}

type DropDeleteParams

type DropDeleteParams struct {
	UserID uuid.UUID
	ID     uuid.UUID
}

type DropFindParams

type DropFindParams struct {
	UserID uuid.UUID
	ID     uuid.UUID
}

type DropListParams

type DropListParams struct {
	UserID   uuid.UUID
	Limit    int32
	Statuses []DropStatus
}

type DropMoveParams

type DropMoveParams struct {
	UserID  uuid.UUID
	ID      uuid.UUID
	Status  DropStatus
	MovedAt time.Time
}

type DropStatus

type DropStatus string
const (
	DropStatusUnread DropStatus = "unread"
	DropStatusRead   DropStatus = "read"
	DropStatusSaved  DropStatus = "saved"
)

func (*DropStatus) Scan

func (e *DropStatus) Scan(src interface{}) error

type DropTag

type DropTag struct {
	ID        uuid.UUID
	DropID    uuid.UUID
	TagID     uuid.UUID
	CreatedAt time.Time
}

func DropTagsApply

func DropTagsApply(ctx context.Context, tx DBTX, d Drop, ts []Tag) ([]DropTag, error)

type DropTagApplyParams

type DropTagApplyParams struct {
	DropID uuid.UUID
	TagID  uuid.UUID
}

type DropTagsIntersectParams

type DropTagsIntersectParams struct {
	DropID uuid.UUID
	TagIds []uuid.UUID
}

type DropUpdateFields

type DropUpdateFields struct {
	Select DropUpdateSelect
	Set    DropUpdateSet
}

type DropUpdateSelect

type DropUpdateSelect struct {
	ID     uuid.UUID `db:"id"`
	UserID uuid.UUID `db:"user_id"`
}

type DropUpdateSet

type DropUpdateSet struct {
	Title *string
	URL   *string
}

type Querier

type Querier interface {
	ApiKeyCreate(ctx context.Context, arg ApiKeyCreateParams) (ApiKey, error)
	ApiKeyFind(ctx context.Context, arg ApiKeyFindParams) (ApiKey, error)
	DropCreate(ctx context.Context, arg DropCreateParams) (Drop, error)
	DropDelete(ctx context.Context, arg DropDeleteParams) (Drop, error)
	DropFind(ctx context.Context, arg DropFindParams) (Drop, error)
	DropList(ctx context.Context, arg DropListParams) ([]Drop, error)
	DropMove(ctx context.Context, arg DropMoveParams) (Drop, error)
	DropNext(ctx context.Context, userID uuid.UUID) (Drop, error)
	DropTagApply(ctx context.Context, arg DropTagApplyParams) (DropTag, error)
	DropTagsIntersect(ctx context.Context, arg DropTagsIntersectParams) ([]DropTag, error)
	DropTagsList(ctx context.Context, dropID uuid.UUID) (DropTag, error)
	TagCreate(ctx context.Context, arg TagCreateParams) (Tag, error)
	TagDelete(ctx context.Context, arg TagDeleteParams) (Tag, error)
	TagFind(ctx context.Context, arg TagFindParams) (Tag, error)
	TagFindAll(ctx context.Context, arg TagFindAllParams) ([]Tag, error)
	TagList(ctx context.Context, userID uuid.UUID) ([]Tag, error)
	TagMove(ctx context.Context, arg TagMoveParams) (Tag, error)
	TagsDrop(ctx context.Context, arg TagsDropParams) ([]Tag, error)
	TagsDrops(ctx context.Context, arg TagsDropsParams) ([]TagsDropsRow, error)
	UserCreate(ctx context.Context, emailAddress string) (User, error)
	UserFind(ctx context.Context, id uuid.UUID) (User, error)
}

type Queries

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

func New

func New(db DBTX) *Queries

func (*Queries) ApiKeyCreate

func (q *Queries) ApiKeyCreate(ctx context.Context, arg ApiKeyCreateParams) (ApiKey, error)

func (*Queries) ApiKeyFind

func (q *Queries) ApiKeyFind(ctx context.Context, arg ApiKeyFindParams) (ApiKey, error)

func (*Queries) DropCreate

func (q *Queries) DropCreate(ctx context.Context, arg DropCreateParams) (Drop, error)

func (*Queries) DropDelete

func (q *Queries) DropDelete(ctx context.Context, arg DropDeleteParams) (Drop, error)

func (*Queries) DropFind

func (q *Queries) DropFind(ctx context.Context, arg DropFindParams) (Drop, error)

func (*Queries) DropList

func (q *Queries) DropList(ctx context.Context, arg DropListParams) ([]Drop, error)

func (*Queries) DropMove

func (q *Queries) DropMove(ctx context.Context, arg DropMoveParams) (Drop, error)

func (*Queries) DropNext

func (q *Queries) DropNext(ctx context.Context, userID uuid.UUID) (Drop, error)

func (*Queries) DropTagApply

func (q *Queries) DropTagApply(ctx context.Context, arg DropTagApplyParams) (DropTag, error)

func (*Queries) DropTagsIntersect

func (q *Queries) DropTagsIntersect(ctx context.Context, arg DropTagsIntersectParams) ([]DropTag, error)

func (*Queries) DropTagsList

func (q *Queries) DropTagsList(ctx context.Context, dropID uuid.UUID) (DropTag, error)

func (*Queries) ExecContext

func (q *Queries) ExecContext(ctx context.Context, query string, args ...interface{}) (sql.Result, error)

func (*Queries) PrepareContext

func (q *Queries) PrepareContext(ctx context.Context, query string) (*sql.Stmt, error)

func (*Queries) QueryContext

func (q *Queries) QueryContext(ctx context.Context, query string, args ...interface{}) (*sql.Rows, error)

func (*Queries) QueryRowContext

func (q *Queries) QueryRowContext(ctx context.Context, query string, args ...interface{}) *sql.Row

func (*Queries) TagCreate

func (q *Queries) TagCreate(ctx context.Context, arg TagCreateParams) (Tag, error)

func (*Queries) TagDelete

func (q *Queries) TagDelete(ctx context.Context, arg TagDeleteParams) (Tag, error)

func (*Queries) TagFind

func (q *Queries) TagFind(ctx context.Context, arg TagFindParams) (Tag, error)

func (*Queries) TagFindAll

func (q *Queries) TagFindAll(ctx context.Context, arg TagFindAllParams) ([]Tag, error)

func (*Queries) TagList

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

func (*Queries) TagMove

func (q *Queries) TagMove(ctx context.Context, arg TagMoveParams) (Tag, error)

func (*Queries) TagsDrop

func (q *Queries) TagsDrop(ctx context.Context, arg TagsDropParams) ([]Tag, error)

func (*Queries) TagsDrops

func (q *Queries) TagsDrops(ctx context.Context, arg TagsDropsParams) ([]TagsDropsRow, error)

func (*Queries) UserCreate

func (q *Queries) UserCreate(ctx context.Context, emailAddress string) (User, error)

func (*Queries) UserFind

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

func (*Queries) WithTx

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

type Queryable

type Queryable interface {
	Querier
	DBTX
}

type SchemaMigration

type SchemaMigration struct {
	ID    int32
	Slug  string
	RunAt time.Time
}

type Tag

type Tag struct {
	ID        uuid.UUID
	UserID    uuid.UUID
	Name      string
	CreatedAt time.Time
	UpdatedAt time.Time
}

type TagCreateParams

type TagCreateParams struct {
	UserID uuid.UUID
	Name   string
}

type TagDeleteParams

type TagDeleteParams struct {
	UserID uuid.UUID
	ID     uuid.UUID
}

type TagFindAllParams

type TagFindAllParams struct {
	UserID uuid.UUID
	Ids    []uuid.UUID
}

type TagFindParams

type TagFindParams struct {
	UserID uuid.UUID
	ID     uuid.UUID
}

type TagMoveParams

type TagMoveParams struct {
	UserID uuid.UUID
	ID     uuid.UUID
	Name   string
}

type TagsDropParams

type TagsDropParams struct {
	UserID uuid.UUID
	ID     uuid.UUID
}

type TagsDropsParams

type TagsDropsParams struct {
	UserID  uuid.UUID
	DropIds []uuid.UUID
}

type TagsDropsRow

type TagsDropsRow struct {
	ID        uuid.UUID
	UserID    uuid.UUID
	Name      string
	CreatedAt time.Time
	UpdatedAt time.Time
	DropID    uuid.UUID
}

type User

type User struct {
	ID           uuid.UUID
	EmailAddress string
	CreatedAt    time.Time
	UpdatedAt    time.Time
}

Jump to

Keyboard shortcuts

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