Documentation
¶
Index ¶
- func RegisterTypes(ctx context.Context, conn *pgx.Conn) error
- type AppAddress
- type AppKitchenSink
- type AppOrders
- type AppPerson
- type AppProfiles
- type AppRoles
- type AppUserRoles
- type AppUserStatus
- type AppUsers
- type AuditLog
- type BulkCreateRolesParams
- type BulkTouchUsersBatchResults
- type BulkTouchUsersParams
- type CreateOrderParams
- type CreateOrderRow
- type DBTX
- type GetActiveDuringRow
- type GetOwnerRow
- type GetPrevAddressesRow
- type GetProfileRow
- type GetStatusHistoryRow
- type GetUserRow
- type GetValidWindowRow
- type GetWindowsRow
- type ListActiveUsersRow
- type ListUserOrdersRow
- type OrderDir
- type Queries
- func (q *Queries) BulkCreateRoles(ctx context.Context, arg []BulkCreateRolesParams) (int64, error)
- func (q *Queries) BulkTouchUsers(ctx context.Context, arg []BulkTouchUsersParams) *BulkTouchUsersBatchResults
- func (q *Queries) CreateOrder(ctx context.Context, arg CreateOrderParams) (CreateOrderRow, error)
- func (q *Queries) DeleteUser(ctx context.Context, id int64) error
- func (q *Queries) GetActiveDuring(ctx context.Context, userID int64) (GetActiveDuringRow, error)
- func (q *Queries) GetOwner(ctx context.Context, userID int64) (GetOwnerRow, error)
- func (q *Queries) GetPrevAddresses(ctx context.Context, userID int64) (GetPrevAddressesRow, error)
- func (q *Queries) GetProfile(ctx context.Context, userID int64) (GetProfileRow, error)
- func (q *Queries) GetStatusHistory(ctx context.Context, userID int64) (GetStatusHistoryRow, error)
- func (q *Queries) GetUser(ctx context.Context, id int64) (GetUserRow, error)
- func (q *Queries) GetValidWindow(ctx context.Context, userID int64) (GetValidWindowRow, error)
- func (q *Queries) GetWindows(ctx context.Context, userID int64) (GetWindowsRow, error)
- func (q *Queries) ListActiveUsers(ctx context.Context) ([]ListActiveUsersRow, error)
- func (q *Queries) ListUserOrders(ctx context.Context, id int64) ([]ListUserOrdersRow, error)
- func (q *Queries) SearchUsers(ctx context.Context, arg SearchUsersParams) ([]SearchUsersRow, error)
- func (q *Queries) SetAddress(ctx context.Context, arg SetAddressParams) error
- func (q *Queries) SetUserStatus(ctx context.Context, arg SetUserStatusParams) (int64, error)
- func (q *Queries) WithTx(tx pgx.Tx) *Queries
- type SearchUsersOrderBy
- type SearchUsersParams
- type SearchUsersRow
- type SetAddressParams
- type SetUserStatusParams
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func RegisterTypes ¶
RegisterTypes registers the database's hstore, enum, composite, and custom range types (and their array types) on a connection so those columns/params scan and encode into their Go types. Wire it into pgxpool.Config.AfterConnect (it runs per connection).
The LoadType order is dependency-safe: each enum/composite/range is registered before its array type, a composite after every composite it has a field of (topological order), and custom ranges last (their subtypes are already registered) — pgx's Conn.LoadType resolves a derived type only once its element/field/subtype types are registered. hstore is registered separately (LoadType cannot load a non-array base type).
Types ¶
type AppAddress ¶
func (AppAddress) Index ¶
func (a AppAddress) Index(i int) any
func (AppAddress) IsNull ¶
func (a AppAddress) IsNull() bool
func (*AppAddress) ScanIndex ¶
func (a *AppAddress) ScanIndex(i int) any
func (*AppAddress) ScanNull ¶
func (a *AppAddress) ScanNull() error
type AppKitchenSink ¶
type AppKitchenSink struct {
CInt2 *int16
CInt4 *int32
CInt8 *int64
CSerial *int32
CNumeric *string
CFloat4 *float32
CFloat8 *float64
CBool *bool
CText *string
CVarchar *string
CChar *string
CUUID *uuid.UUID
CBytea []byte
CJsonb map[string]any
CJSON json.RawMessage
CInet *string
CDate *time.Time
CTime *time.Time
CTimestamp *time.Time
CTimestamptz *time.Time
CInterval pgtype.Interval
CPoint pgtype.Point
CTags pgtype.Hstore
CLtree *string
CIntArray []int32
CTextArray []string
CStatus *AppUserStatus
CAddress *AppAddress
CEmail *string
CInt4range pgtype.Range[pgtype.Int4]
CNummultirange pgtype.Multirange[pgtype.Range[pgtype.Numeric]]
CGenerated *int32
CIdentity int32
}
type AppPerson ¶
type AppPerson struct {
Name string
Home AppAddress
Status AppUserStatus
}
type AppProfiles ¶
type AppProfiles struct {
UserID int64
Bio *string
Address *AppAddress
PrevAddresses []AppAddress
StatusHistory []AppUserStatus
Owner AppPerson
ActiveDuring pgtype.Range[pgtype.Timestamptz]
ValidWindow pgtype.Range[pgtype.Timestamptz]
Windows pgtype.Multirange[pgtype.Range[pgtype.Timestamptz]]
}
type AppUserRoles ¶
type AppUserStatus ¶
type AppUserStatus string
const ( AppUserStatusActive AppUserStatus = "active" AppUserStatusInactive AppUserStatus = "inactive" AppUserStatusBanned AppUserStatus = "banned" )
type BulkCreateRolesParams ¶
type BulkCreateRolesParams struct {
Name string
}
type BulkTouchUsersBatchResults ¶
type BulkTouchUsersBatchResults struct {
// contains filtered or unexported fields
}
func (*BulkTouchUsersBatchResults) Close ¶
func (b *BulkTouchUsersBatchResults) Close() error
func (*BulkTouchUsersBatchResults) Exec ¶
func (b *BulkTouchUsersBatchResults) Exec(f func(int, error))
type BulkTouchUsersParams ¶
type BulkTouchUsersParams struct {
Status AppUserStatus
ID int64
}
type CreateOrderParams ¶
type CreateOrderRow ¶
type DBTX ¶
type DBTX interface {
Exec(ctx context.Context, sql string, args ...any) (pgconn.CommandTag, error)
Query(ctx context.Context, sql string, args ...any) (pgx.Rows, error)
QueryRow(ctx context.Context, sql string, args ...any) pgx.Row
CopyFrom(ctx context.Context, tableName pgx.Identifier, columnNames []string, rowSrc pgx.CopyFromSource) (int64, error)
SendBatch(ctx context.Context, b *pgx.Batch) pgx.BatchResults
}
type GetActiveDuringRow ¶
type GetActiveDuringRow struct {
ActiveDuring pgtype.Range[pgtype.Timestamptz]
}
type GetOwnerRow ¶
type GetOwnerRow struct {
Owner AppPerson
}
type GetPrevAddressesRow ¶
type GetPrevAddressesRow struct {
PrevAddresses []AppAddress
}
type GetProfileRow ¶
type GetProfileRow struct {
UserID int64
Bio *string
Address *AppAddress
}
type GetStatusHistoryRow ¶
type GetStatusHistoryRow struct {
StatusHistory []AppUserStatus
}
type GetUserRow ¶
type GetUserRow struct {
ID int64
Email string
Status AppUserStatus
}
type GetValidWindowRow ¶
type GetValidWindowRow struct {
ValidWindow pgtype.Range[pgtype.Timestamptz]
}
type GetWindowsRow ¶
type GetWindowsRow struct {
Windows pgtype.Multirange[pgtype.Range[pgtype.Timestamptz]]
}
type ListActiveUsersRow ¶
type Queries ¶
type Queries struct {
// contains filtered or unexported fields
}
func (*Queries) BulkCreateRoles ¶
func (*Queries) BulkTouchUsers ¶
func (q *Queries) BulkTouchUsers(ctx context.Context, arg []BulkTouchUsersParams) *BulkTouchUsersBatchResults
func (*Queries) CreateOrder ¶
func (q *Queries) CreateOrder(ctx context.Context, arg CreateOrderParams) (CreateOrderRow, error)
func (*Queries) GetActiveDuring ¶
func (*Queries) GetPrevAddresses ¶
func (*Queries) GetProfile ¶
func (*Queries) GetStatusHistory ¶
func (*Queries) GetValidWindow ¶
func (*Queries) GetWindows ¶
func (*Queries) ListActiveUsers ¶
func (q *Queries) ListActiveUsers(ctx context.Context) ([]ListActiveUsersRow, error)
func (*Queries) ListUserOrders ¶
func (*Queries) SearchUsers ¶
func (q *Queries) SearchUsers(ctx context.Context, arg SearchUsersParams) ([]SearchUsersRow, error)
func (*Queries) SetAddress ¶
func (q *Queries) SetAddress(ctx context.Context, arg SetAddressParams) error
func (*Queries) SetUserStatus ¶
type SearchUsersOrderBy ¶
type SearchUsersOrderBy string
const ( SearchUsersOrderByCreatedAt SearchUsersOrderBy = "created_at" SearchUsersOrderByEmail SearchUsersOrderBy = "email" )
type SearchUsersParams ¶
type SearchUsersParams struct {
Email *string
Ids []int64
OrderBy SearchUsersOrderBy
OrderDir OrderDir
}
type SearchUsersRow ¶
type SearchUsersRow struct {
ID int64
Email string
Status AppUserStatus
}
type SetAddressParams ¶
type SetAddressParams struct {
Address AppAddress
UserID int64
}
type SetUserStatusParams ¶
type SetUserStatusParams struct {
ID int64
Status AppUserStatus
}