Versions in this module Expand all Collapse all v0 v0.1.2 Oct 9, 2024 v0.1.1 Oct 9, 2024 v0.0.3 Oct 7, 2024 Changes in this version type FieldConfig + IsPointer bool v0.0.2 Oct 7, 2024 v0.0.1 Oct 5, 2024 Changes in this version + var DefaultAdminConfig = NewDefaultAdminConfig() + func GetAppsWithReadPermissions(panel *AdminPanel, data interface{}) ([]map[string]interface{}, error) + func GetErrorHTML(code uint, err error) (uint, string) + func GetModelsWithReadPermissions(app *App, data interface{}) ([]map[string]interface{}, error) + type Action string + const CreateAction + const DeleteAction + const LogViewAction + const ReadAction + const UpdateAction + type AdminConfig struct + AssetsPrefix string + DefaultInstancesPerPage uint + GroupPrefix string + LogStore logging.LogStore + LogStoreLevel logging.LogStoreLevel + Name string + NavBarGenerators []NavBarGenerator + Prefix string + Renderer TemplateRenderer + UserFetcher UserFetchFunction + func NewDefaultAdminConfig() *AdminConfig + func (c *AdminConfig) CreateLog(ctx interface{}, action logging.LogStoreLevel, contentType string, ...) error + func (c *AdminConfig) GetAssetLink(fileName string) string + func (c *AdminConfig) GetAssetsPrefix() string + func (c *AdminConfig) GetLink(link string) string + func (c *AdminConfig) GetNavBarItems(ctx interface{}) []NavBarItem + func (c *AdminConfig) GetPrefix() string + type AdminFormFieldInterface interface + AdminFormField func(name string, isEdit bool) form.Field + type AdminInstanceReprInterface interface + AdminInstanceRepr func() string + type AdminModelDisplayNameInterface interface + AdminDisplayName func() string + type AdminModelGetIDInterface interface + AdminGetID func() interface{} + type AdminModelNameInterface interface + AdminName func() string + type AdminPanel struct + Apps map[string]*App + AppsSlice []*App + Config AdminConfig + ORM ORMIntegrator + PermissionChecker PermissionFunc + Web WebIntegrator + func NewAdminPanel(orm ORMIntegrator, web WebIntegrator, permissionsCheck PermissionFunc, ...) (*AdminPanel, error) + func (ap *AdminPanel) CreateLogViewLog(ctx interface{}, entry logging.LogEntry) error + func (ap *AdminPanel) CreateViewLog(ctx interface{}) error + func (ap *AdminPanel) GetFullLink() string + func (ap *AdminPanel) GetFullLogBaseLink() string + func (ap *AdminPanel) GetHandler() HandlerFunc + func (ap *AdminPanel) GetLogBaseLink() string + func (ap *AdminPanel) GetLogEntries(ctx interface{}, maxCount uint) []*logging.LogEntry + func (ap *AdminPanel) GetLogHandler() HandlerFunc + func (ap *AdminPanel) GetORM() ORMIntegrator + func (ap *AdminPanel) RegisterApp(name, displayName string, orm ORMIntegrator) (*App, error) + type App struct + DisplayName string + Models map[string]*Model + ModelsSlice []*Model + Name string + ORM ORMIntegrator + Panel *AdminPanel + func (a *App) CreateViewLog(ctx interface{}) error + func (a *App) GetFullLink() string + func (a *App) GetHandler() HandlerFunc + func (a *App) GetLink() string + func (a *App) GetORM() ORMIntegrator + func (a *App) RegisterModel(model interface{}, orm ORMIntegrator) (*Model, error) + type DefaultTemplateRenderer struct + func NewDefaultTemplateRenderer() *DefaultTemplateRenderer + func (tr *DefaultTemplateRenderer) AddCustomAsset(name string, asset []byte) + func (tr *DefaultTemplateRenderer) AddCustomCompositeTemplate(name string, baseNames ...string) error + func (tr *DefaultTemplateRenderer) AddCustomTemplate(name, tmplText string) error + func (tr *DefaultTemplateRenderer) GetAsset(name string) ([]byte, error) + func (tr *DefaultTemplateRenderer) RegisterAssetsFunc(assetsFunc func(string) string) + func (tr *DefaultTemplateRenderer) RegisterCompositeDefaultTemplate(name string, baseNames ...string) error + func (tr *DefaultTemplateRenderer) RegisterDefaultAssets(assets embed.FS, prefix string) + func (tr *DefaultTemplateRenderer) RegisterDefaultData(data map[string]interface{}) error + func (tr *DefaultTemplateRenderer) RegisterDefaultTemplates(templates embed.FS, prefix string) + func (tr *DefaultTemplateRenderer) RegisterLinkFunc(linkFunc func(string) string) + func (tr *DefaultTemplateRenderer) RenderTemplate(name string, data map[string]interface{}) (string, error) + type FieldConfig struct + AddFormField form.Field + DisplayName string + EditFormField form.Field + FieldType reflect.Type + IncludeInInstanceView bool + IncludeInListDisplay bool + IncludeInListFetch bool + IncludeInSearch bool + Name string + type HandlerFunc = func(interface{}) (uint, string) + type Instance struct + Data interface{} + InstanceID interface{} + Model *Model + Permissions Permissions + func (i *Instance) CreateCreateLog(ctx interface{}) error + func (i *Instance) CreateDeleteLog(ctx interface{}) error + func (i *Instance) CreateUpdateLog(ctx interface{}, updates map[string]interface{}) error + func (i *Instance) CreateViewLog(ctx interface{}) error + func (i *Instance) GetEditLink() string + func (i *Instance) GetFullEditLink() string + func (i *Instance) GetFullLink() string + func (i *Instance) GetLink() string + func (i *Instance) GetRepr() string + type Model struct + App *App + DisplayName string + Fields []FieldConfig + Name string + ORM ORMIntegrator + PTR interface{} + func (m *Model) CreateViewLog(ctx interface{}) error + func (m *Model) GetAddHandler() HandlerFunc + func (m *Model) GetAddLink() string + func (m *Model) GetEditHandler() HandlerFunc + func (m *Model) GetFullAddLink() string + func (m *Model) GetFullLink() string + func (m *Model) GetInstanceDeleteHandler() HandlerFunc + func (m *Model) GetInstanceViewHandler() HandlerFunc + func (m *Model) GetLink() string + func (m *Model) GetORM() ORMIntegrator + func (m *Model) GetPrimaryKeyType() (reflect.Type, error) + func (m *Model) GetPrimaryKeyValue(instance interface{}) (interface{}, error) + func (m *Model) GetViewHandler() HandlerFunc + func (m *Model) NewAddForm() (form.Form, error) + func (m *Model) NewEditForm(instanceID interface{}) (form.Form, error) + type ModelAddForm struct + Model *Model + func (f *ModelAddForm) Save(values map[string]form.HTMLType) (interface{}, error) + type ModelEditForm struct + InstanceID interface{} + Model *Model + func (f *ModelEditForm) Save(values map[string]form.HTMLType) (interface{}, error) + type NavBarGenerator = func(ctx interface{}) NavBarItem + type NavBarItem struct + Bold bool + Link string + Name string + NavBarAppendSlash bool + func (i *NavBarItem) HTML() string + type ORMIntegrator interface + CreateInstance func(instance interface{}) error + CreateInstanceOnlyFields func(instance interface{}, fields []string) error + DeleteInstance func(model interface{}, id interface{}) error + FetchInstance func(model interface{}, id interface{}) (interface{}, error) + FetchInstanceOnlyFields func(model interface{}, id interface{}, fields []string) (interface{}, error) + FetchInstances func(model interface{}) (interface{}, error) + FetchInstancesOnlyFieldWithSearch func(model interface{}, fields []string, query string, searchFields []string) (interface{}, error) + FetchInstancesOnlyFields func(model interface{}, fields []string) (interface{}, error) + GetPrimaryKeyType func(model interface{}) (reflect.Type, error) + GetPrimaryKeyValue func(model interface{}) (interface{}, error) + UpdateInstance func(instance interface{}, primaryKey interface{}) error + UpdateInstanceOnlyFields func(instance interface{}, fields []string, primaryKey interface{}) error + type PermissionFunc func(PermissionRequest, interface{}) (bool, error) + func (p PermissionFunc) HasAppReadPermission(appName string, data interface{}) (bool, error) + func (p PermissionFunc) HasInstanceDeletePermission(appName, modelName string, instanceID interface{}, data interface{}) (bool, error) + func (p PermissionFunc) HasInstanceReadPermission(appName, modelName string, instanceID interface{}, data interface{}) (bool, error) + func (p PermissionFunc) HasInstanceUpdatePermission(appName, modelName string, instanceID interface{}, data interface{}) (bool, error) + func (p PermissionFunc) HasLogViewPermission(data interface{}, logID interface{}) (bool, error) + func (p PermissionFunc) HasModelCreatePermission(appName string, modelName string, data interface{}) (bool, error) + func (p PermissionFunc) HasModelDeletePermission(appName string, modelName string, data interface{}) (bool, error) + func (p PermissionFunc) HasModelReadPermission(appName string, modelName string, data interface{}) (bool, error) + func (p PermissionFunc) HasModelUpdatePermission(appName string, modelName string, data interface{}) (bool, error) + func (p PermissionFunc) HasPermission(r PermissionRequest, data interface{}) (bool, error) + func (p PermissionFunc) HasReadPermission(data interface{}) (bool, error) + type PermissionRequest struct + Action *Action + AppName *string + InstanceID interface{} + ModelName *string + type Permissions struct + Create bool + Delete bool + Read bool + Update bool + type TemplateRenderer interface + AddCustomAsset func(name string, asset []byte) + AddCustomCompositeTemplate func(name string, baseNames ...string) error + AddCustomTemplate func(name string, tmplText string) error + GetAsset func(name string) ([]byte, error) + RegisterAssetsFunc func(func(string) string) + RegisterCompositeDefaultTemplate func(name string, baseNames ...string) error + RegisterDefaultAssets func(assets embed.FS, prefix string) + RegisterDefaultData func(data map[string]interface{}) error + RegisterDefaultTemplates func(templates embed.FS, prefix string) + RegisterLinkFunc func(func(string) string) + RenderTemplate func(name string, data map[string]interface{}) (string, error) + type UserFetchFunction = func(ctx interface{}) (userID interface{}, repr string, err error) + type WebIntegrator interface + GetFormData func(ctx interface{}) map[string][]string + GetPathParam func(ctx interface{}, name string) string + GetQueryParam func(ctx interface{}, name string) string + GetRequestMethod func(ctx interface{}) string + HandleRoute func(method, path string, handler HandlerFunc) + ServeAssets func(prefix string, renderer TemplateRenderer)