Documentation
¶
Index ¶
- Variables
- 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
- type 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
- type AdminInstanceReprInterface
- type AdminModelDisplayNameInterface
- type AdminModelGetIDInterface
- type AdminModelNameInterface
- type AdminPanel
- 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
- type 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
- type HandlerFunc
- type Instance
- 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
- 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
- type ModelEditForm
- type NavBarGenerator
- type NavBarItem
- type ORMIntegrator
- type PermissionFunc
- 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
- type Permissions
- type TemplateRenderer
- type UserFetchFunction
- type WebIntegrator
Constants ¶
This section is empty.
Variables ¶
View Source
var DefaultAdminConfig = NewDefaultAdminConfig()
Functions ¶
func GetAppsWithReadPermissions ¶
func GetAppsWithReadPermissions(panel *AdminPanel, data interface{}) ([]map[string]interface{}, error)
Types ¶
type AdminConfig ¶
type AdminConfig struct {
Name string
Prefix string
Renderer TemplateRenderer
AssetsPrefix string
GroupPrefix string
DefaultInstancesPerPage uint
UserFetcher UserFetchFunction
LogStore logging.LogStore
LogStoreLevel logging.LogStoreLevel
}
func NewDefaultAdminConfig ¶
func NewDefaultAdminConfig() *AdminConfig
func (*AdminConfig) CreateLog ¶
func (c *AdminConfig) CreateLog(ctx interface{}, action logging.LogStoreLevel, contentType string, objectID interface{}, objectRepr string, message string) error
func (*AdminConfig) GetAssetLink ¶
func (c *AdminConfig) GetAssetLink(fileName string) string
func (*AdminConfig) GetAssetsPrefix ¶
func (c *AdminConfig) GetAssetsPrefix() string
func (*AdminConfig) GetLink ¶
func (c *AdminConfig) GetLink(link string) string
func (*AdminConfig) GetNavBarItems ¶
func (c *AdminConfig) GetNavBarItems(ctx interface{}) []NavBarItem
func (*AdminConfig) GetPrefix ¶
func (c *AdminConfig) GetPrefix() string
type AdminFormFieldInterface ¶
type AdminInstanceReprInterface ¶
type AdminInstanceReprInterface interface {
AdminInstanceRepr() string
}
type AdminModelDisplayNameInterface ¶
type AdminModelDisplayNameInterface interface {
AdminDisplayName() string
}
type AdminModelGetIDInterface ¶
type AdminModelGetIDInterface interface {
AdminGetID() interface{}
}
type AdminModelNameInterface ¶
type AdminModelNameInterface interface {
AdminName() string
}
type AdminPanel ¶
type AdminPanel struct {
Apps map[string]*App
AppsSlice []*App
PermissionChecker PermissionFunc
ORM ORMIntegrator
Web WebIntegrator
Config AdminConfig
}
func NewAdminPanel ¶
func NewAdminPanel(orm ORMIntegrator, web WebIntegrator, permissionsCheck PermissionFunc, config *AdminConfig) (*AdminPanel, error)
func (*AdminPanel) CreateLogViewLog ¶
func (ap *AdminPanel) CreateLogViewLog(ctx interface{}, entry logging.LogEntry) error
func (*AdminPanel) CreateViewLog ¶
func (ap *AdminPanel) CreateViewLog(ctx interface{}) error
func (*AdminPanel) GetFullLink ¶
func (ap *AdminPanel) GetFullLink() string
func (*AdminPanel) GetFullLogBaseLink ¶
func (ap *AdminPanel) GetFullLogBaseLink() string
func (*AdminPanel) GetHandler ¶
func (ap *AdminPanel) GetHandler() HandlerFunc
func (*AdminPanel) GetLogBaseLink ¶
func (ap *AdminPanel) GetLogBaseLink() string
func (*AdminPanel) GetLogEntries ¶
func (ap *AdminPanel) GetLogEntries(ctx interface{}, maxCount uint) []*logging.LogEntry
func (*AdminPanel) GetLogHandler ¶
func (ap *AdminPanel) GetLogHandler() HandlerFunc
func (*AdminPanel) GetORM ¶
func (ap *AdminPanel) GetORM() ORMIntegrator
func (*AdminPanel) RegisterApp ¶
func (ap *AdminPanel) RegisterApp(name, displayName string, orm ORMIntegrator) (*App, error)
type App ¶
type App struct {
Name string
DisplayName string
Models map[string]*Model
ModelsSlice []*Model
Panel *AdminPanel
ORM ORMIntegrator
}
func (*App) CreateViewLog ¶
func (*App) GetFullLink ¶
func (*App) GetHandler ¶
func (a *App) GetHandler() HandlerFunc
func (*App) GetORM ¶
func (a *App) GetORM() ORMIntegrator
func (*App) RegisterModel ¶
func (a *App) RegisterModel(model interface{}, orm ORMIntegrator) (*Model, error)
type DefaultTemplateRenderer ¶
type DefaultTemplateRenderer struct {
// contains filtered or unexported fields
}
func NewDefaultTemplateRenderer ¶
func NewDefaultTemplateRenderer() *DefaultTemplateRenderer
func (*DefaultTemplateRenderer) AddCustomAsset ¶
func (tr *DefaultTemplateRenderer) AddCustomAsset(name string, asset []byte)
func (*DefaultTemplateRenderer) AddCustomCompositeTemplate ¶
func (tr *DefaultTemplateRenderer) AddCustomCompositeTemplate(name string, baseNames ...string) error
func (*DefaultTemplateRenderer) AddCustomTemplate ¶
func (tr *DefaultTemplateRenderer) AddCustomTemplate(name, tmplText string) error
func (*DefaultTemplateRenderer) GetAsset ¶
func (tr *DefaultTemplateRenderer) GetAsset(name string) ([]byte, error)
func (*DefaultTemplateRenderer) RegisterAssetsFunc ¶
func (tr *DefaultTemplateRenderer) RegisterAssetsFunc(assetsFunc func(string) string)
func (*DefaultTemplateRenderer) RegisterCompositeDefaultTemplate ¶
func (tr *DefaultTemplateRenderer) RegisterCompositeDefaultTemplate(name string, baseNames ...string) error
func (*DefaultTemplateRenderer) RegisterDefaultAssets ¶
func (tr *DefaultTemplateRenderer) RegisterDefaultAssets(assets embed.FS, prefix string)
func (*DefaultTemplateRenderer) RegisterDefaultData ¶
func (tr *DefaultTemplateRenderer) RegisterDefaultData(data map[string]interface{}) error
func (*DefaultTemplateRenderer) RegisterDefaultTemplates ¶
func (tr *DefaultTemplateRenderer) RegisterDefaultTemplates(templates embed.FS, prefix string)
func (*DefaultTemplateRenderer) RegisterLinkFunc ¶
func (tr *DefaultTemplateRenderer) RegisterLinkFunc(linkFunc func(string) string)
func (*DefaultTemplateRenderer) RenderTemplate ¶
func (tr *DefaultTemplateRenderer) RenderTemplate(name string, data map[string]interface{}) (string, error)
type FieldConfig ¶
type HandlerFunc ¶
type Instance ¶
type Instance struct {
InstanceID interface{}
Data interface{}
Model *Model
Permissions Permissions
}
func (*Instance) CreateCreateLog ¶
func (*Instance) CreateDeleteLog ¶
func (*Instance) CreateUpdateLog ¶
func (*Instance) CreateViewLog ¶
func (*Instance) GetEditLink ¶
func (*Instance) GetFullEditLink ¶
func (*Instance) GetFullLink ¶
type Model ¶
type Model struct {
Name string
DisplayName string
PTR interface{}
App *App
Fields []FieldConfig
ORM ORMIntegrator
}
func (*Model) CreateViewLog ¶
func (*Model) GetAddHandler ¶
func (m *Model) GetAddHandler() HandlerFunc
func (*Model) GetAddLink ¶
func (*Model) GetEditHandler ¶
func (m *Model) GetEditHandler() HandlerFunc
func (*Model) GetFullAddLink ¶
func (*Model) GetFullLink ¶
func (*Model) GetInstanceDeleteHandler ¶
func (m *Model) GetInstanceDeleteHandler() HandlerFunc
func (*Model) GetInstanceViewHandler ¶
func (m *Model) GetInstanceViewHandler() HandlerFunc
func (*Model) GetORM ¶
func (m *Model) GetORM() ORMIntegrator
func (*Model) GetPrimaryKeyValue ¶
func (*Model) GetViewHandler ¶
func (m *Model) GetViewHandler() HandlerFunc
type ModelAddForm ¶
type ModelEditForm ¶
type NavBarGenerator ¶
type NavBarGenerator = func(ctx interface{}) NavBarItem
type NavBarItem ¶
type NavBarItem struct {
}
func (*NavBarItem) HTML ¶
func (i *NavBarItem) HTML() string
type ORMIntegrator ¶
type ORMIntegrator interface {
GetPrimaryKeyValue(model interface{}) (interface{}, error)
GetPrimaryKeyType(model interface{}) (reflect.Type, error)
FetchInstances(model interface{}) (interface{}, error)
FetchInstancesOnlyFields(model interface{}, fields []string) (interface{}, error)
FetchInstancesOnlyFieldWithSearch(model interface{}, fields []string, query string, searchFields []string) (interface{}, error)
DeleteInstance(model interface{}, id interface{}) error
FetchInstanceOnlyFields(model interface{}, id interface{}, fields []string) (interface{}, error)
FetchInstance(model interface{}, id interface{}) (interface{}, error)
CreateInstance(instance interface{}) error
UpdateInstance(instance interface{}, primaryKey interface{}) error
CreateInstanceOnlyFields(instance interface{}, fields []string) error
UpdateInstanceOnlyFields(instance interface{}, fields []string, primaryKey interface{}) error
}
type PermissionFunc ¶
type PermissionFunc func(PermissionRequest, interface{}) (bool, error)
func (PermissionFunc) HasAppReadPermission ¶
func (p PermissionFunc) HasAppReadPermission(appName string, data interface{}) (bool, error)
func (PermissionFunc) HasInstanceDeletePermission ¶
func (p PermissionFunc) HasInstanceDeletePermission(appName, modelName string, instanceID interface{}, data interface{}) (bool, error)
func (PermissionFunc) HasInstanceReadPermission ¶
func (p PermissionFunc) HasInstanceReadPermission(appName, modelName string, instanceID interface{}, data interface{}) (bool, error)
func (PermissionFunc) HasInstanceUpdatePermission ¶
func (p PermissionFunc) HasInstanceUpdatePermission(appName, modelName string, instanceID interface{}, data interface{}) (bool, error)
func (PermissionFunc) HasLogViewPermission ¶
func (p PermissionFunc) HasLogViewPermission(data interface{}, logID interface{}) (bool, error)
func (PermissionFunc) HasModelCreatePermission ¶
func (p PermissionFunc) HasModelCreatePermission(appName string, modelName string, data interface{}) (bool, error)
func (PermissionFunc) HasModelDeletePermission ¶
func (p PermissionFunc) HasModelDeletePermission(appName string, modelName string, data interface{}) (bool, error)
func (PermissionFunc) HasModelReadPermission ¶
func (p PermissionFunc) HasModelReadPermission(appName string, modelName string, data interface{}) (bool, error)
func (PermissionFunc) HasModelUpdatePermission ¶
func (p PermissionFunc) HasModelUpdatePermission(appName string, modelName string, data interface{}) (bool, error)
func (PermissionFunc) HasPermission ¶
func (p PermissionFunc) HasPermission(r PermissionRequest, data interface{}) (bool, error)
func (PermissionFunc) HasReadPermission ¶
func (p PermissionFunc) HasReadPermission(data interface{}) (bool, error)
type PermissionRequest ¶
type TemplateRenderer ¶
type TemplateRenderer interface {
RenderTemplate(name string, data map[string]interface{}) (string, error)
RegisterDefaultTemplates(templates embed.FS, prefix string)
RegisterCompositeDefaultTemplate(name string, baseNames ...string) error
RegisterDefaultData(data map[string]interface{}) error
AddCustomTemplate(name string, tmplText string) error
AddCustomCompositeTemplate(name string, baseNames ...string) error
RegisterDefaultAssets(assets embed.FS, prefix string)
AddCustomAsset(name string, asset []byte)
GetAsset(name string) ([]byte, error)
RegisterLinkFunc(func(string) string)
RegisterAssetsFunc(func(string) string)
}
type UserFetchFunction ¶
type WebIntegrator ¶
type WebIntegrator interface {
HandleRoute(method, path string, handler HandlerFunc)
ServeAssets(prefix string, renderer TemplateRenderer)
GetQueryParam(ctx interface{}, name string) string
GetPathParam(ctx interface{}, name string) string
GetRequestMethod(ctx interface{}) string
GetFormData(ctx interface{}) map[string][]string
}
Click to show internal directories.
Click to hide internal directories.