plugins

package
v0.0.0-...-1d7acad Latest Latest
Warning

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

Go to latest
Published: Jan 7, 2026 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CloseAllConnections

func CloseAllConnections(_ context.Context)

CloseAllConnections closes all cached connections (call on shutdown).

func ConfigureConnectionPool

func ConfigureConnectionPool(db *gorm.DB) error

ConfigureConnectionPool sets recommended connection pool settings for database connections. This should be called after opening a GORM connection to ensure proper pool management. Settings are tuned for long-running server applications with connection caching.

func GetDefaultPort

func GetDefaultPort(dbType engine.DatabaseType) (string, bool)

GetDefaultPort returns the default port for a database type

func GetGormLogConfig

func GetGormLogConfig() logger.LogLevel

GetGormLogConfig returns the GORM logger level based on the environment log level setting.

func RegisterDatabasePort

func RegisterDatabasePort(dbType engine.DatabaseType, port string)

RegisterDatabasePort allows external packages to register additional database ports

func RegisterEEPlugins

func RegisterEEPlugins(e *engine.Engine)

RegisterEEPlugins registers enterprise edition plugins if available

func RemoveConnection

func RemoveConnection(config *engine.PluginConfig)

RemoveConnection removes a specific connection from cache and closes it (call on logout).

func WithConnection

func WithConnection[T any](config *engine.PluginConfig, DB DBCreationFunc, operation DBOperation[T]) (T, error)

WithConnection manages the database connection lifecycle for an operation. Connections are cached and reused across operations to prevent connection exhaustion. The underlying sql.DB handles connection pooling internally.

Types

type AndCondition

type AndCondition struct {
	Conditions []SearchCondition
}

AndCondition represents multiple conditions joined with AND.

type AtomicCondition

type AtomicCondition struct {
	Key        string
	Operator   string
	Value      any
	ColumnType string
}

AtomicCondition represents a single comparison condition (e.g., column = value).

type DBCreationFunc

type DBCreationFunc func(pluginConfig *engine.PluginConfig) (*gorm.DB, error)

DBCreationFunc is a function that creates a new GORM database connection.

type DBOperation

type DBOperation[T any] func(*gorm.DB) (T, error)

DBOperation is a function that performs database operations with a GORM connection.

type OrCondition

type OrCondition struct {
	Conditions []SearchCondition
}

OrCondition represents multiple conditions joined with OR.

type SearchCondition

type SearchCondition struct {
	And    *AndCondition
	Or     *OrCondition
	Atomic *AtomicCondition
}

SearchCondition represents a WHERE clause condition that can be atomic, AND, or OR.

type Sort

type Sort struct {
	Column    string
	Direction SortDirection
}

Sort represents a column sort condition with direction.

type SortDirection

type SortDirection int

SortDirection indicates ascending or descending sort order.

const (
	Up   SortDirection = iota // ASC
	Down                      // DESC
)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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