Versions in this module Expand all Collapse all v0 v0.6.3 Jul 14, 2026 Changes in this version + const DBTypePostgres + const DBTypeSqlite + const PluginTypeAddon + const PluginTypeApp + const PluginTypeService + var RegistryAdmin *registry.Registry[AdminPanelInterface] = registry.NewRegistry[AdminPanelInterface]() + var RegistryCommand *registry.ImmutableRegistry[CommandFactory] = ®istry.ImmutableRegistry[CommandFactory] + var RegistryConfig *registry.ImmutableRegistry[Config] = ®istry.ImmutableRegistry[Config] + var RegistryDBInit *registry.ImmutableRegistry[DBInitHook] = ®istry.ImmutableRegistry[DBInitHook] + var RegistryGenerator *registry.ImmutableRegistry[Generator] = ®istry.ImmutableRegistry[Generator] + var RegistryLayer *registry.ImmutableRegistry[views.GlobalLayer] = ®istry.ImmutableRegistry[views.GlobalLayer] + var RegistryMigrations *registry.ImmutableRegistry[UsefulFilesystem] = ®istry.ImmutableRegistry[UsefulFilesystem] + var RegistryModel *registry.ImmutableRegistry[any] = ®istry.ImmutableRegistry[any] + var RegistryPage *registry.ImmutableRegistry[components.PageInterface] = ®istry.ImmutableRegistry[components.PageInterface] + var RegistryPlugin *registry.ImmutableRegistry[Plugin] = ®istry.ImmutableRegistry[Plugin] + var RegistryRoute *registry.ImmutableRegistry[Route] = ®istry.ImmutableRegistry[Route] + var RegistryView *registry.ImmutableRegistry[*views.View] = ®istry.ImmutableRegistry[*views.View] + func BuildAllRegistries(allPlugins []registry.Pair[string, Plugin]) + func CorePlugin(db *gorm.DB, config LagoConfig) registry.Pair[string, Plugin] + func FillRegistry[T any](features [][]func() PluginFeatures[T], ...) + func GetDbConn(config LagoConfig) (*gorm.DB, error) + func GetPageView(pageName string) *views.View + func GetRouter(config LagoConfig) *http.ServeMux + func GooseVersionTableName(registryKey string) string + func InitDB(db *gorm.DB, config LagoConfig) error + func MapSlice[T any, R any](slice []T, mapper func(T) R) []R + func PluginStages[T any](stage func() PluginFeatures[T]) []func() PluginFeatures[T] + func RedirectView(urlGetter getters.Getter[string]) *views.View + func RoutePath(name string, args map[string]getters.Getter[any]) getters.Getter[string] + func RunGenerators(config LagoConfig) + func Start(config LagoConfig, plugins []registry.Pair[string, Plugin]) error + func StartServer(config LagoConfig) error + type AdminPanel struct + ListFields []string + Preload []string + SearchField string + func (a AdminPanel[T]) Create(db *gorm.DB, values map[string]*string) error + func (a AdminPanel[T]) EditableFields() []string + func (a AdminPanel[T]) ExportCSV(db *gorm.DB, path string) (int, error) + func (a AdminPanel[T]) GetListFields() []string + func (a AdminPanel[T]) ImportCSV(db *gorm.DB, path string) (int, error) + func (a AdminPanel[T]) IsAdminPanel() bool + func (a AdminPanel[T]) List(db *gorm.DB, page, pageSize int) ([]map[string]any, error) + func (a AdminPanel[T]) ModelName() string + func (a AdminPanel[T]) Save(db *gorm.DB, id string, values map[string]*string) error + type AdminPanelInterface interface + Create func(db *gorm.DB, values map[string]*string) error + EditableFields func() []string + ExportCSV func(db *gorm.DB, path string) (int, error) + GetListFields func() []string + ImportCSV func(db *gorm.DB, path string) (int, error) + IsAdminPanel func() bool + List func(db *gorm.DB, page, pageSize int) ([]map[string]any, error) + ModelName func() string + Save func(db *gorm.DB, id string, values map[string]*string) error + type CacheDisableLayer struct + func (CacheDisableLayer) Next(next http.Handler) http.Handler + type CommandFactory func(LagoConfig) *cobra.Command + type Config interface + PostConfig func() + type DBInitHook func(*gorm.DB) *gorm.DB + type DBLayer struct + DB *gorm.DB + func (m DBLayer) Next(next http.Handler) http.Handler + type DBType string + type DynamicPage struct + Name string + func (d DynamicPage) Build(ctx context.Context) gomponents.Node + func (d DynamicPage) GetChildren() []components.PageInterface + func (d DynamicPage) GetKey() string + func (d DynamicPage) GetRoles() []string + type DynamicView struct + Key string + func NewDynamicView(key string) DynamicView + func (v DynamicView) ServeHTTP(w http.ResponseWriter, r *http.Request) + type EnvironmentLayer struct + func (EnvironmentLayer) Next(next http.Handler) http.Handler + type Generator struct + Create func(*gorm.DB) error + Remove func(*gorm.DB) error + type HtmxBoostLayer struct + func (HtmxBoostLayer) Next(next http.Handler) http.Handler + type LagoConfig struct + Address string + DBType DBType + Debug bool + GeneratorOrder []string + Plugins map[string]toml.Primitive + PostgresConfig *postgres.Config + SqliteConfig *sqlite.Config + TrustedOrigins []string + UDS string + func LoadConfigFromFile(path string, plugins []registry.Pair[string, Plugin]) (LagoConfig, error) + type LoggingLayer struct + func (LoggingLayer) Next(next http.Handler) http.Handler + type PageURL struct + func (p *PageURL) Scan(value any) error + func (p *PageURL) SetFromURL(u *url.URL) + func (p *PageURL) URLPtr() *url.URL + func (p *PageURL) UnmarshalText(text []byte) error + func (p PageURL) MarshalText() ([]byte, error) + func (p PageURL) Value() (driver.Value, error) + type Plugin struct + CommandFactories []func() PluginFeatures[CommandFactory] + Configs []func() PluginFeatures[Config] + DBInitHooks []func() PluginFeatures[DBInitHook] + Generators []func() PluginFeatures[Generator] + Icon string + Layers []func() PluginFeatures[views.GlobalLayer] + Migrations []func() PluginFeatures[UsefulFilesystem] + Models []func() PluginFeatures[any] + Pages []func() PluginFeatures[components.PageInterface] + Roles []string + Routes []func() PluginFeatures[Route] + Type PluginType + URL *url.URL + VerboseName string + Views []func() PluginFeatures[*views.View] + type PluginFeatures struct + Entries []registry.Pair[string, T] + Patches []registry.Pair[string, func(T) T] + func (f *PluginFeatures[T]) Build() []registry.Pair[string, T] + func (f PluginFeatures[T]) Merge(others ...PluginFeatures[T]) PluginFeatures[T] + type PluginType int + type RedirectLayer struct + URLGetter getters.Getter[string] + func (m RedirectLayer) Next(_ views.View, next http.Handler) http.Handler + type ResponseLoggerLayer struct + func (ResponseLoggerLayer) Next(next http.Handler) http.Handler + type ResponseWriterWrapper struct + func NewResponseWriterWrapper(w http.ResponseWriter) ResponseWriterWrapper + func (rww ResponseWriterWrapper) Header() http.Header + func (rww ResponseWriterWrapper) String() string + func (rww ResponseWriterWrapper) Write(buf []byte) (int, error) + func (rww ResponseWriterWrapper) WriteHeader(statusCode int) + type Route struct + Handler http.Handler + Path string + type UsefulFilesystem interface