db

package
v0.54.0 Latest Latest
Warning

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

Go to latest
Published: Apr 1, 2024 License: Apache-2.0 Imports: 20 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	NotFound = pgx.ErrNoRows
)

Functions

func GetTestDatabaseURL added in v0.19.2

func GetTestDatabaseURL() string

func Migrate

func Migrate(databaseUrl string) error

Types

type AddUserBanParams added in v0.19.2

type AddUserBanParams struct {
	UserID string
	Reason string
}

type BannedUser

type BannedUser struct {
	ID         int32
	UserID     string
	CreatedAt  pgtype.Timestamptz
	Reason     string
	LiftedAt   pgtype.Timestamptz
	LiftReason pgtype.Text
}

type ColorMode added in v0.31.1

type ColorMode string
const (
	ColorModeAuto  ColorMode = "auto"
	ColorModeDark  ColorMode = "dark"
	ColorModeLight ColorMode = "light"
)

func (*ColorMode) Scan added in v0.31.1

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

type CountInstancesParams added in v0.29.0

type CountInstancesParams struct {
	UserID       string
	TemplateName string
}

type CreateInstanceParams added in v0.29.0

type CreateInstanceParams struct {
	UserID       string
	TemplateName string
	Params       []byte
	TestMode     bool
}

type DBTX

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

type DeleteInstanceParams added in v0.29.0

type DeleteInstanceParams struct {
	UserID       string
	TemplateName string
}

type FilterInstance

type FilterInstance struct {
	ID           int32
	UserID       string
	ListID       int32
	TemplateName string
	Params       []byte
	CreatedAt    pgtype.Timestamptz
	UpdatedAt    pgtype.Timestamptz
	TestMode     bool
}

type FilterList

type FilterList struct {
	ID           int32
	UserID       string
	Token        uuid.UUID
	CreatedAt    pgtype.Timestamptz
	DownloadedAt pgtype.Timestamptz
}

type GetInstanceParams added in v0.29.0

type GetInstanceParams struct {
	UserID       string
	TemplateName string
}

type GetInstanceRow added in v0.29.0

type GetInstanceRow struct {
	Params   []byte
	TestMode bool
}

type GetInstanceStatsRow

type GetInstanceStatsRow struct {
	Total        int64
	Fresh        int64
	TemplateName string
}

type GetInstancesForListRow

type GetInstancesForListRow struct {
	TemplateName string
	Params       []byte
	TestMode     bool
}

type GetInstancesForUserRow added in v0.29.0

type GetInstancesForUserRow struct {
	TemplateName string
	Params       []byte
	TestMode     bool
}

type GetListForTokenRow

type GetListForTokenRow struct {
	ID           int32
	UserID       string
	IsDownloaded bool
	LastUpdated  interface{}
}

type GetListForUserRow

type GetListForUserRow struct {
	Token         uuid.UUID
	IsDownloaded  bool
	InstanceCount int64
}

type GetStatsRow

type GetStatsRow struct {
	ListsTotal  int64
	ListsActive int64
	ListsFresh  int64
}

type LiftUserBanParams added in v0.19.2

type LiftUserBanParams struct {
	UserID string
	Reason string
}

type NullColorMode added in v0.31.1

type NullColorMode struct {
	ColorMode ColorMode
	Valid     bool // Valid is true if ColorMode is not NULL
}

func (*NullColorMode) Scan added in v0.31.1

func (ns *NullColorMode) Scan(value interface{}) error

Scan implements the Scanner interface.

func (NullColorMode) Value added in v0.31.1

func (ns NullColorMode) Value() (driver.Value, error)

Value implements the driver Valuer interface.

type Querier

type Querier interface {
	AddUserBan(ctx context.Context, arg AddUserBanParams) error
	CountInstances(ctx context.Context, arg CountInstancesParams) (int64, error)
	CountListsForUser(ctx context.Context, userID string) (int64, error)
	CreateInstance(ctx context.Context, arg CreateInstanceParams) error
	CreateListForUser(ctx context.Context, userID string) (uuid.UUID, error)
	DeleteInstance(ctx context.Context, arg DeleteInstanceParams) error
	GetBannedUsers(ctx context.Context) ([]string, error)
	GetInstance(ctx context.Context, arg GetInstanceParams) (GetInstanceRow, error)
	GetInstanceStats(ctx context.Context) ([]GetInstanceStatsRow, error)
	GetInstancesForList(ctx context.Context, listID int32) ([]GetInstancesForListRow, error)
	GetInstancesForUser(ctx context.Context, userID string) ([]GetInstancesForUserRow, error)
	GetListForToken(ctx context.Context, token uuid.UUID) (GetListForTokenRow, error)
	GetListForUser(ctx context.Context, userID string) (GetListForUserRow, error)
	GetStats(ctx context.Context) (GetStatsRow, error)
	GetUserPreferences(ctx context.Context, userID string) (UserPreference, error)
	InitUserPreferences(ctx context.Context, userID string) (UserPreference, error)
	LiftUserBan(ctx context.Context, arg LiftUserBanParams) error
	MarkListDownloaded(ctx context.Context, token uuid.UUID) error
	RotateListToken(ctx context.Context, arg RotateListTokenParams) error
	UpdateInstance(ctx context.Context, arg UpdateInstanceParams) error
	UpdateNewsCursor(ctx context.Context, arg UpdateNewsCursorParams) error
	UpdateUserPreferences(ctx context.Context, arg UpdateUserPreferencesParams) error
}

type Queries

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

func New

func New(db DBTX) *Queries

func (*Queries) AddUserBan added in v0.19.2

func (q *Queries) AddUserBan(ctx context.Context, arg AddUserBanParams) error

func (*Queries) CountInstances added in v0.29.0

func (q *Queries) CountInstances(ctx context.Context, arg CountInstancesParams) (int64, error)

func (*Queries) CountListsForUser

func (q *Queries) CountListsForUser(ctx context.Context, userID string) (int64, error)

func (*Queries) CreateInstance added in v0.29.0

func (q *Queries) CreateInstance(ctx context.Context, arg CreateInstanceParams) error

func (*Queries) CreateListForUser

func (q *Queries) CreateListForUser(ctx context.Context, userID string) (uuid.UUID, error)

func (*Queries) DeleteInstance added in v0.29.0

func (q *Queries) DeleteInstance(ctx context.Context, arg DeleteInstanceParams) error

func (*Queries) GetBannedUsers

func (q *Queries) GetBannedUsers(ctx context.Context) ([]string, error)

func (*Queries) GetInstance added in v0.29.0

func (q *Queries) GetInstance(ctx context.Context, arg GetInstanceParams) (GetInstanceRow, error)

func (*Queries) GetInstanceStats

func (q *Queries) GetInstanceStats(ctx context.Context) ([]GetInstanceStatsRow, error)

func (*Queries) GetInstancesForList

func (q *Queries) GetInstancesForList(ctx context.Context, listID int32) ([]GetInstancesForListRow, error)

func (*Queries) GetInstancesForUser added in v0.29.0

func (q *Queries) GetInstancesForUser(ctx context.Context, userID string) ([]GetInstancesForUserRow, error)

func (*Queries) GetListForToken

func (q *Queries) GetListForToken(ctx context.Context, token uuid.UUID) (GetListForTokenRow, error)

func (*Queries) GetListForUser

func (q *Queries) GetListForUser(ctx context.Context, userID string) (GetListForUserRow, error)

func (*Queries) GetStats

func (q *Queries) GetStats(ctx context.Context) (GetStatsRow, error)

func (*Queries) GetUserPreferences

func (q *Queries) GetUserPreferences(ctx context.Context, userID string) (UserPreference, error)

func (*Queries) InitUserPreferences

func (q *Queries) InitUserPreferences(ctx context.Context, userID string) (UserPreference, error)

func (*Queries) LiftUserBan added in v0.19.2

func (q *Queries) LiftUserBan(ctx context.Context, arg LiftUserBanParams) error

func (*Queries) MarkListDownloaded

func (q *Queries) MarkListDownloaded(ctx context.Context, token uuid.UUID) error

func (*Queries) RotateListToken

func (q *Queries) RotateListToken(ctx context.Context, arg RotateListTokenParams) error

func (*Queries) UpdateInstance added in v0.29.0

func (q *Queries) UpdateInstance(ctx context.Context, arg UpdateInstanceParams) error

func (*Queries) UpdateNewsCursor

func (q *Queries) UpdateNewsCursor(ctx context.Context, arg UpdateNewsCursorParams) error

func (*Queries) UpdateUserPreferences added in v0.31.1

func (q *Queries) UpdateUserPreferences(ctx context.Context, arg UpdateUserPreferencesParams) error

func (*Queries) WithTx

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

type RotateListTokenParams

type RotateListTokenParams struct {
	UserID string
	Token  uuid.UUID
}

type Store

type Store interface {
	Querier
	RunTx(e echo.Context, f TxFunc) error
}

func Connect

func Connect(databaseUrl, poolOptions string, dsd statsd.ClientInterface) (Store, error)

func NewTestStore added in v0.19.2

func NewTestStore(t *testing.T) Store

NewTestStore instantiates an ephemeral PG schema for the test duration and ensures it is destroyed on test completion.

type TxFunc

type TxFunc func(context.Context, Querier) error

type UpdateInstanceParams added in v0.29.0

type UpdateInstanceParams struct {
	UserID       string
	TemplateName string
	Params       []byte
	TestMode     bool
}

type UpdateNewsCursorParams

type UpdateNewsCursorParams struct {
	UserID     string
	NewsCursor pgtype.Timestamptz
}

type UpdateUserPreferencesParams added in v0.31.1

type UpdateUserPreferencesParams struct {
	UserID       string
	ColorMode    ColorMode
	BetaFeatures bool
}

type UserPreference

type UserPreference struct {
	UserID       string
	NewsCursor   pgtype.Timestamptz
	BetaFeatures bool
	ColorMode    ColorMode
}

Jump to

Keyboard shortcuts

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