Versions in this module Expand all Collapse all v0 v0.8.1 Apr 4, 2026 v0.8.0 Mar 28, 2026 Changes in this version + const AuthNone + const AuthPIN + const AuthSession + const AuthToken + const NavBottom + const NavSide + const NavTop + const ScopeAll + const ScopeOrg + const ScopeSelf + const ShellMinimal + const ShellNone + const ShellStandard + const TypeAdminPage + const TypeAgentApp + const TypeCustomerApp + const TypeKiosk + const TypePublicPage + func BuildFullID(pluginName, uiID string) string + func DefaultAuthMethod(uiType string) string + func DefaultShell(uiType string) string + func GenerateMenuItems(uis []PluginUI) map[string][]map[string]any + func IsValidShell(s string) bool + func IsValidUIType(t string) bool + func RegisterUIRoutes(eng *gin.Engine, repo *Repository, caller PluginCaller, ...) error + func UISpecToConfig(spec interface{}) (*json.RawMessage, error) + func ValidAuthMethods() []string + func ValidDataScopes() []string + func ValidNavPositions() []string + func ValidShells() []string + func ValidUITypes() []string + type PluginCaller interface + Call func(ctx context.Context, pluginName, fn string, args json.RawMessage) (json.RawMessage, error) + type PluginUI struct + ChangeBy int + ChangeTime time.Time + Config *json.RawMessage + CreateBy int + CreateTime time.Time + CustomDomain *string + Description *string + Enabled bool + FullID string + ID int64 + Icon *string + Name string + PluginName string + Shell string + UIID string + UIType string + ValidID int + func (u *PluginUI) BasePath() string + func (u *PluginUI) IsActive() bool + func (u *PluginUI) ParsedConfig() (*UIConfig, error) + type Repository struct + func NewRepository() (*Repository, error) + func NewRepositoryWithDB(db *sql.DB) *Repository + func (r *Repository) Create(u *PluginUI, userID int) (int64, error) + func (r *Repository) Delete(id int64) error + func (r *Repository) GetByFullID(fullID string) (*PluginUI, error) + func (r *Repository) GetByID(id int64) (*PluginUI, error) + func (r *Repository) List(pluginName, uiType string, enabledOnly bool) ([]PluginUI, error) + func (r *Repository) ListActive() ([]PluginUI, error) + func (r *Repository) SetEnabled(id int64, enabled bool, userID int) error + func (r *Repository) Update(u *PluginUI, userID int) error + type TemplateRenderer interface + HTML func(c *gin.Context, code int, name string, data pongo2.Context) + type UIAuthConfig struct + Groups []string + Method string + type UIBrandingConfig struct + AppName string + Color string + Favicon string + Logo string + type UIConfig struct + Auth *UIAuthConfig + Branding *UIBrandingConfig + DataScope string + Nav *UINavConfig + PWA *UIPWAConfig + RateLimit int + Routes []UIRouteConfig + type UINavConfig struct + Items []UINavItemConfig + Position string + type UINavItemConfig struct + Badge string + Icon string + Label string + Order int + Path string + type UIPWAConfig struct + CacheRoutes []string + Display string + Enabled bool + StartURL string + ThemeColor string + type UIRouteConfig struct + Handler string + Method string + Path string