stdpgxfx

package module
v0.0.3 Latest Latest
Warning

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

Go to latest
Published: Jan 5, 2025 License: MIT Imports: 11 Imported by: 0

Documentation

Overview

Package stdpgxfx provides postgres pgx package as fx dependencies.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewPoolConfig

func NewPoolConfig(cfg Config, logs *zap.Logger) (*pgxpool.Config, error)

NewPoolConfig inits a pool configuration from the package config.

func Provide

func Provide() fx.Option

Provide components as fx dependencies.

func SnapshotProvide

func SnapshotProvide(filename string) fx.Option

SnapshotProvide provides a snapshot migrater.

func TestProvide

func TestProvide(tb testing.TB) fx.Option

TestProvide provides the package's components as an fx module with a setup more useful for testing.

Types

type Config

type Config struct {
	// RWDatabaseURL configures the database connection string for the read-write connection.
	RWDatabaseURL string `env:"RW_DATABASE_URL"`
	// PoolConnectionTimeout configures how long the pgx pool connect logic waits for the connection to establish
	PoolConnectionTimeout time.Duration `env:"POOL_CONNECTION_TIMEOUT" envDefault:"5s"`
	// PoolCloseTimeout is the time we'll allow to to close the connection pool. Only effective if shorter than
	// the fx shutdown timeout
	PoolCloseTimeout time.Duration `env:"POOL_CLOSE_TIMEOUT" envDefault:"5s"`
}

Config configures the components.

type Params

type Params struct {
	fx.In
	fx.Lifecycle
	Logs          *zap.Logger
	Config        Config
	PgxPoolConfig *pgxpool.Config
}

Params define the dependencies of the main component(s).

type Result

type Result struct {
	fx.Out
	RW *pgxpool.Pool `name:"rw"`
}

Result declare the main components produced by this package.

func New

func New(params Params) (res Result, err error)

New build the main components of this package.

Jump to

Keyboard shortcuts

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