Help us shape the future of Go! Take the 2026 Go Developer Survey

postgresql

package
v1.2.7 Latest Latest
Warning

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

Go to latest
Published: Jan 1, 2026 License: MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AclTable

type AclTable struct {
	Table        string `json:"table" yaml:"table"`
	UserColumn   string `json:"user-column" yaml:"user-column"`
	TopicColumn  string `json:"topic-column" yaml:"topic-column"`
	AccessColumn string `json:"access-column" yaml:"access-column"`
}

type Auth

type Auth struct {
	mqtt.HookBase
	// contains filtered or unexported fields
}

Auth is an auth controller which allows access to all connections and topics.

func (*Auth) ID

func (a *Auth) ID() string

ID returns the ID of the hook.

func (*Auth) Init

func (a *Auth) Init(config any) error

func (*Auth) OnACLCheck

func (a *Auth) OnACLCheck(cl *mqtt.Client, topic string, write bool) bool

OnACLCheck returns true if the connecting client has matching read or write access to subscribe or publish to a given topic.

func (*Auth) OnConnectAuthenticate

func (a *Auth) OnConnectAuthenticate(cl *mqtt.Client, pk packets.Packet) bool

OnConnectAuthenticate returns true if the connecting client has rules which provide access in the auth ledger.

func (*Auth) Provides

func (a *Auth) Provides(b byte) bool

Provides indicates which hook methods this hook provides.

func (*Auth) Stop

func (a *Auth) Stop() error

Stop closes the postgresql connection.

type AuthTable

type AuthTable struct {
	Table          string      `json:"table" yaml:"table"`
	UserColumn     string      `json:"user-column" yaml:"user-column"`
	PasswordColumn string      `json:"password-column" yaml:"password-column"`
	AllowColumn    string      `json:"allow-column" yaml:"allow-column"`
	PasswordHash   pa.HashType `json:"password-hash" yaml:"password-hash"`
	HashKey        string      `json:"hash-key" yaml:"hash-key"`
}

type DsnInfo

type DsnInfo struct {
	Host          string `json:"host" yaml:"host"`
	Port          int    `json:"port" yaml:"port"`
	Schema        string `json:"schema" yaml:"schema"`
	SslMode       string `json:"sslmode" yaml:"sslmode"`
	LoginName     string `json:"login-name" yaml:"login-name"`
	LoginPassword string `json:"login-password" yaml:"login-password"`
	MaxOpenConns  int    `json:"max-open-conns" yaml:"max-open-conns"`
	MaxIdleConns  int    `json:"max-idle-conns" yaml:"max-idle-conns"`
}

type Options

type Options struct {
	pa.Blacklist
	AuthMode byte      `json:"auth-mode" yaml:"auth-mode"`
	AclMode  byte      `json:"acl-mode" yaml:"acl-mode"`
	Dsn      DsnInfo   `json:"dsn" yaml:"dsn"`
	Auth     AuthTable `json:"auth" yaml:"auth"`
	Acl      AclTable  `json:"acl" yaml:"acl"`
}

Jump to

Keyboard shortcuts

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