providers

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Mar 7, 2026 License: MIT Imports: 16 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ConfigProvider

type ConfigProvider struct{}

ConfigProvider loads environment configuration. Must be registered first — all other providers may read config values during their own Register() calls.

func (*ConfigProvider) Boot

func (p *ConfigProvider) Boot(c *container.Container)

Boot is a no-op. Config is fully available after Load().

func (*ConfigProvider) Register

func (p *ConfigProvider) Register(c *container.Container)

Register loads the .env file via config.Load().

type DatabaseProvider

type DatabaseProvider struct{}

DatabaseProvider registers the database connection in the service container.

func (*DatabaseProvider) Boot

func (p *DatabaseProvider) Boot(c *container.Container)

Boot is a no-op. Migrations and seeding are future features.

func (*DatabaseProvider) Register

func (p *DatabaseProvider) Register(c *container.Container)

Register binds a *gorm.DB singleton. The connection is established lazily on first container.Make("db") call, not at registration time.

type LoggerProvider

type LoggerProvider struct{}

LoggerProvider sets up structured logging via slog. Must be registered after ConfigProvider — logger reads LOG_LEVEL, LOG_FORMAT, LOG_OUTPUT from environment.

func (*LoggerProvider) Boot

func (p *LoggerProvider) Boot(c *container.Container)

Boot initializes the logger. Runs after all providers have registered, so config values are guaranteed available.

func (*LoggerProvider) Register

func (p *LoggerProvider) Register(c *container.Container)

Register is a no-op. Logger setup requires config values.

type MiddlewareProvider

type MiddlewareProvider struct {
	Mode service.Mode
}

MiddlewareProvider registers built-in middleware aliases and groups.

func (*MiddlewareProvider) Boot

Boot registers middleware aliases relevant to the current mode.

func (*MiddlewareProvider) Register

func (p *MiddlewareProvider) Register(c *container.Container)

Register is a no-op — middleware has no singleton to register.

type QueueProvider

type QueueProvider struct{}

QueueProvider registers the queue Dispatcher in the container.

func (*QueueProvider) Boot

func (p *QueueProvider) Boot(c *container.Container)

Boot is a no-op.

func (*QueueProvider) Register

func (p *QueueProvider) Register(c *container.Container)

Register binds a *queue.Dispatcher singleton. Driver is selected via QUEUE_DRIVER env var.

type RedisProvider

type RedisProvider struct{}

RedisProvider registers a shared *redis.Client singleton in the container.

func (*RedisProvider) Boot

func (p *RedisProvider) Boot(c *container.Container)

Boot is a no-op.

func (*RedisProvider) Register

func (p *RedisProvider) Register(c *container.Container)

Register binds a *redis.Client singleton. Connection is lazy.

type RouterProvider

type RouterProvider struct {
	Mode service.Mode
}

RouterProvider creates the router and registers route definitions.

func (*RouterProvider) Boot

func (p *RouterProvider) Boot(c *container.Container)

Boot sets up templates, static serving, and loads route definitions based on mode.

func (*RouterProvider) Register

func (p *RouterProvider) Register(c *container.Container)

Register creates a new Router and registers it as "router" in the container.

type SessionProvider

type SessionProvider struct{}

SessionProvider registers the session manager.

func (*SessionProvider) Boot

func (p *SessionProvider) Boot(c *container.Container)

Boot is a no-op for SessionProvider.

func (*SessionProvider) Register

func (p *SessionProvider) Register(c *container.Container)

Register creates a session manager singleton from the configured session driver.

Jump to

Keyboard shortcuts

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