Documentation ¶
Overview ¶
Package frontend provides tools to publish static data from within any micro service
It implements a simple Union HttpFS to be exposed by a standard net.HttpFileServer interface.
Index ¶
- func ApplyAuthMiddlewares(req *restful.Request, rsp *restful.Response, in *rest.FrontSessionRequest, ...) error
- func ApplyBootConfModifiers(bootConf *BootConf) error
- func ApplyEnrollMiddlewares(endpoint string, req *restful.Request, rsp *restful.Response) bool
- func ApplyPluginModifiers(ctx context.Context, status RequestStatus, plugin Plugin) error
- func ApplyRegModifiers(ctx context.Context, status RequestStatus, registry *Cpydio_registry) error
- func GetSessionStore(req *http.Request) sessions.Store
- func HotReload()
- func NewIndexFile(rootList []string, times ...time.Time) http.File
- func NewSessionWrapper(h http.Handler, excludes ...string) http.Handler
- func RegisterBootConfModifier(modifier BootConfModifier)
- func RegisterEnrollMiddleware(endpoint string, middleware EnrollMiddlewareFunc)
- func RegisterPluginBoxes(boxes ...PluginBox)
- func RegisterPluginModifier(modifier PluginModifier)
- func RegisterRegModifier(modifier RegistryModifier)
- func VersionHash() string
- func WrapAuthMiddleware(middleware func(middleware AuthMiddleware) AuthMiddleware)
- type AuthMiddleware
- type BackendConf
- type BootConf
- type BootConfModifier
- type Caction
- type Cactions
- type CactiveCondition
- type CactivePlugin
- type Cactive_repo
- type Cadditional_column
- type Cadmin_data
- type Cajxpcore
- type Cajxpdriver
- type Cclass_definition
- type CclientCallback
- type CclientForm
- type CclientListener
- type Cclient_configs
- type Cclient_settings
- type Ccolumn
- type Ccolumns
- type Ccomponent_config
- type Ccontext
- type Ccore_relation
- type Ccss
- type Cdependencies
- type Cdescription
- type CdynamicBuilder
- type Ceditor
- type Cextension
- type CextensionOnInit
- type Cextensions
- type Cglobal_param
- type Cgui
- type Ci18n
- type CinfoPanel
- type Cinput_param
- type Cjs
- type Clabel
- type Cmeta
- type Cmodifier
- type Cnode_provider
- type Coutput
- type Cparam
- type Cplugin
- func (plugin *Cplugin) AlwaysEnabled() bool
- func (plugin *Cplugin) AutoEnabled() bool
- func (plugin *Cplugin) DefaultEnabled() bool
- func (plugin *Cplugin) DefaultParameters() map[string]interface{}
- func (plugin *Cplugin) ExposeConfigs(c map[string]interface{})
- func (plugin *Cplugin) FilterActions(status RequestStatus, pool *PluginsPool, actions []*Caction) (output []*Caction)
- func (plugin *Cplugin) GetClientSettings() *Cclient_settings
- func (plugin *Cplugin) GetDependencies() *Cdependencies
- func (plugin *Cplugin) GetDescription() string
- func (plugin *Cplugin) GetEnabled() string
- func (plugin *Cplugin) GetId() string
- func (plugin *Cplugin) GetLabel() string
- func (plugin *Cplugin) GetName() string
- func (plugin *Cplugin) GetPluginConfigs() *Cplugin_configs
- func (plugin *Cplugin) GetPluginInfo() *Cplugin_info
- func (plugin *Cplugin) GetRegistryContributions() *Cregistry_contributions
- func (plugin *Cplugin) GetServerSettings() *Cserver_settings
- func (plugin *Cplugin) ListDependencies() (ids []string)
- func (plugin *Cplugin) PluginConfig(status RequestStatus, param *Cglobal_param) interface{}
- func (plugin *Cplugin) PluginConfigs(status RequestStatus) map[string]interface{}
- func (plugin *Cplugin) PluginEnabled(status RequestStatus) bool
- func (plugin *Cplugin) Translate(messages I18nMessages)
- type CpluginClass
- type CpluginResources
- type Cplugin_author
- type Cplugin_configs
- type Cplugin_info
- type Cplugin_settings_values
- type Cplugin_uri
- type Cplugin_version
- type Cplugins
- type Cpost_processing
- type Cpre_processing
- type Cpref
- type Cpreferences
- type Cprocessing
- type Cproperty
- type Cpydio_registry
- type Cregistry_contributions
- type Crepo
- type Crepositories
- type Cresources
- type CrightsContext
- type CselectionContext
- type CserverCallback
- type Cserver_settings
- type Cspecial_rights
- type CsubMenu
- type Ctemplate
- type Ctemplate_part
- type Cuploader
- type Cuser
- type CustomWording
- type EnrollMiddlewareFunc
- type ExposedParam
- type FrontMiddleware
- type I18nMessages
- type IndexFile
- type Plugin
- type PluginBox
- type PluginModifier
- type PluginsPool
- func (p *PluginsPool) AllPluginsManifests(ctx context.Context, lang string) *Cplugins
- func (p *PluginsPool) ExposedParametersByScope(scopeName string, exposed bool) (params []*ExposedParam)
- func (p *PluginsPool) I18nMessages(lang string) I18nMessages
- func (p *PluginsPool) Load(fs *UnionHttpFs) error
- func (p *PluginsPool) RegistryForStatus(ctx context.Context, status RequestStatus) (*Cpydio_registry, error)
- func (p *PluginsPool) ReplaceActionMimes(mime string) string
- type RegistryModifier
- type RequestStatus
- type UnionHttpFs
- type User
- func (u *User) FlattenedFrontValues() configx.Values
- func (u *User) FlattenedRolesConfigByName(pluginId string, name string) string
- func (u *User) FlattenedRolesConfigs() configx.Values
- func (u *User) GetActiveScopes() (scopes []string)
- func (u *User) Load(ctx context.Context) error
- func (u *User) LoadActiveLanguage(parameter string) string
- func (u *User) LoadActiveWorkspace(parameter string)
- func (u *User) LoadWorkspaces(ctx context.Context, accessList *permissions.AccessList) error
- func (u *User) Publish(status RequestStatus, pool *PluginsPool) *Cuser
- type Workspace
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ApplyAuthMiddlewares ¶ added in v1.2.0
func ApplyAuthMiddlewares(req *restful.Request, rsp *restful.Response, in *rest.FrontSessionRequest, out *rest.FrontSessionResponse, session *sessions.Session) error
func ApplyBootConfModifiers ¶ added in v1.2.0
ApplyPluginModifiers is called to apply all registered modifiers on the boot configuration
func ApplyEnrollMiddlewares ¶ added in v1.2.0
ApplyEnrollMiddlewares goes through registered middlewares if there are any for the current endpoint
func ApplyPluginModifiers ¶ added in v1.2.0
func ApplyPluginModifiers(ctx context.Context, status RequestStatus, plugin Plugin) error
ApplyPluginModifiers is called to apply all registered modifiers on a given plugin
func ApplyRegModifiers ¶ added in v1.2.0
func ApplyRegModifiers(ctx context.Context, status RequestStatus, registry *Cpydio_registry) error
ApplyRegModifiers can filter the output of registry before sending, based on status
func HotReload ¶
func HotReload()
HotReload empties internal fs and pool to trigger a reload at next call of GetPluginsFS or GetPluginsPool
func NewSessionWrapper ¶ added in v1.2.0
NewSessionWrapper creates a Http middleware checking if a cookie is passed along and if this cookie contains a proper JWT. The excludes parameter may be used to namely ignore specific "METHOD:/URI“ for this check.
func RegisterBootConfModifier ¶ added in v1.2.0
func RegisterBootConfModifier(modifier BootConfModifier)
RegisterPluginModifier appends a BootConfModifier to the list
func RegisterEnrollMiddleware ¶ added in v1.2.0
func RegisterEnrollMiddleware(endpoint string, middleware EnrollMiddlewareFunc)
RegisterEnrollMiddleware registers a middleware for a given endpoint
func RegisterPluginBoxes ¶
func RegisterPluginBoxes(boxes ...PluginBox)
RegisterPluginBoxes adds a PluginBox to registry
func RegisterPluginModifier ¶ added in v1.2.0
func RegisterPluginModifier(modifier PluginModifier)
RegisterPluginModifier appends a PluginModifier to the list
func RegisterRegModifier ¶ added in v1.2.0
func RegisterRegModifier(modifier RegistryModifier)
RegisterRegModifier appends a RegistryModifier to the list
func VersionHash ¶ added in v1.5.0
func VersionHash() string
func WrapAuthMiddleware ¶ added in v1.2.0
func WrapAuthMiddleware(middleware func(middleware AuthMiddleware) AuthMiddleware)
Types ¶
type AuthMiddleware ¶ added in v1.2.0
type AuthMiddleware func(req *restful.Request, rsp *restful.Response, in *rest.FrontSessionRequest, out *rest.FrontSessionResponse, session *sessions.Session) error
type BackendConf ¶ added in v1.2.0
type BootConf ¶ added in v1.2.0
type BootConf struct { AjxpResourcesFolder string `json:"ajxpResourcesFolder"` ENDPOINT_REST_API string ENDPOINT_S3_GATEWAY string ENDPOINT_WEBSOCKET string PUBLIC_BASEURI string ZipEnabled bool `json:"zipEnabled"` MultipleFilesDownloadEnabled bool `json:"multipleFilesDownloadEnabled"` CustomWording CustomWording `json:"customWording"` UsersEnabled bool `json:"usersEnabled"` LoggedUser bool `json:"loggedUser"` CurrentLanguage string `json:"currentLanguage"` Session_timeout int `json:"session_timeout"` Client_timeout int `json:"client_timeout"` Client_timeout_warning int `json:"client_timeout_warning"` AvailableLanguages map[string]string `json:"availableLanguages"` UsersEditable bool `json:"usersEditable"` AjxpVersion string `json:"ajxpVersion"` AjxpVersionDate string `json:"ajxpVersionDate"` I18nMessages map[string]string `json:"i18nMessages"` Theme string `json:"theme"` AjxpImagesCommon bool `json:"ajxpImagesCommon"` ValidMailer bool `json:"validMailer"` Backend BackendConf `json:"backend"` Other map[string]interface{} `json:"other,omitempty"` }
func ComputeBootConf ¶ added in v1.2.0
func ComputeBootConf(pool *PluginsPool, showVersion ...bool) (*BootConf, error)
type BootConfModifier ¶ added in v1.2.0
PluginModifier is a func type for dynamically filtering the content of a plugin (e.g enabled/disabled), based on the current status
type Caction ¶ added in v1.2.0
type Caction struct { XMLName xml.Name `xml:"action,omitempty" json:"action,omitempty"` AttrctrlDragndropDefault string `xml:"ctrlDragndropDefault,attr,omitempty" json:",omitempty"` AttrdirDefault string `xml:"dirDefault,attr,omitempty" json:",omitempty"` AttrdragndropDefault string `xml:"dragndropDefault,attr,omitempty" json:",omitempty"` AttrexpireDefault string `xml:"expireDefault,attr,omitempty" json:",omitempty"` AttrfileDefault string `xml:"fileDefault,attr,omitempty" json:",omitempty"` Attrname string `xml:"name,attr,omitempty" json:",omitempty"` AttrskipSecureToken string `xml:"skipSecureToken,attr,omitempty" json:",omitempty"` Cgui *Cgui `xml:"gui,omitempty" json:"gui,omitempty"` Cpost_processing *Cpost_processing `xml:"post_processing,omitempty" json:"post_processing,omitempty"` Cpre_processing *Cpre_processing `xml:"pre_processing,omitempty" json:"pre_processing,omitempty"` Cprocessing []*Cprocessing `xml:"processing,omitempty" json:"processing,omitempty"` CrightsContext *CrightsContext `xml:"rightsContext,omitempty" json:"rightsContext,omitempty"` CsubMenu *CsubMenu `xml:"subMenu,omitempty" json:"subMenu,omitempty"` }
type Cactions ¶ added in v1.2.0
type Cactions struct { XMLName xml.Name `xml:"actions,omitempty" json:"actions,omitempty"` Caction []*Caction `xml:"action,omitempty" json:"action,omitempty"` }
func (*Cactions) MergeActions ¶ added in v1.2.0
type CactiveCondition ¶ added in v1.2.0
type CactivePlugin ¶ added in v1.2.0
type Cactive_repo ¶ added in v1.2.0
type Cadditional_column ¶ added in v1.2.0
type Cadditional_column struct { XMLName xml.Name `xml:"additional_column,omitempty" json:"additional_column,omitempty"` AttrattributeName string `xml:"attributeName,attr,omitempty" json:",omitempty"` AttrdefaultVisibilty string `xml:"defaultVisibilty,attr,omitempty" json:",omitempty"` AttrmessageId string `xml:"messageId,attr,omitempty" json:",omitempty"` AttrmessageString string `xml:"messageString,attr,omitempty" json:",omitempty"` AttrsortType string `xml:"sortType,attr,omitempty" json:",omitempty"` AttrreactModifier string `xml:"reactModifier,attr,omitempty" json:",omitempty"` AttrmetaAdditional string `xml:"metaAdditional,attr,omitempty" json:",omitempty"` }
type Cadmin_data ¶ added in v1.4.0
type Cadmin_data struct { XMLName xml.Name `xml:"admin_data,omitempty" json:"admin_data,omitempty"` Cajxpcore *Cajxpcore `xml:"ajxpcore,omitempty" json:"ajxpcore,omitempty"` Cplugin_settings_values *Cplugin_settings_values `xml:"plugin_settings_values,omitempty" json:"plugin_settings_values,omitempty"` }
type Cajxpcore ¶ added in v1.4.0
type Cajxpcore struct { XMLName xml.Name `xml:"ajxpcore,omitempty" json:"ajxpcore,omitempty"` Attrdescription string `xml:"description,attr,omitempty" json:",omitempty"` Attrid string `xml:"id,attr,omitempty" json:",omitempty"` Attrlabel string `xml:"label,attr,omitempty" json:",omitempty"` Cclient_settings *Cclient_settings `xml:"client_settings,omitempty" json:"client_settings,omitempty"` Cserver_settings *Cserver_settings `xml:"server_settings,omitempty" json:"server_settings,omitempty"` Cplugin_configs *Cplugin_configs `xml:"plugin_configs,omitempty" json:"plugin_configs,omitempty"` }
type Cajxpdriver ¶ added in v1.2.0
type Cclass_definition ¶ added in v1.2.0
type CclientCallback ¶ added in v1.2.0
type CclientForm ¶ added in v1.2.0
type CclientListener ¶ added in v1.2.0
type Cclient_configs ¶ added in v1.2.0
type Cclient_configs struct { XMLName xml.Name `xml:"client_configs,omitempty" json:"client_configs,omitempty"` AttruuidAttr string `xml:"uuidAttr,attr,omitempty" json:",omitempty"` Ccomponent_config []*Ccomponent_config `xml:"component_config,omitempty" json:"component_config,omitempty"` Ctemplate []*Ctemplate `xml:"template,omitempty" json:"template,omitempty"` Ctemplate_part []*Ctemplate_part `xml:"template_part,omitempty" json:"template_part,omitempty"` }
type Cclient_settings ¶ added in v1.2.0
type Cclient_settings struct { XMLName xml.Name `xml:"client_settings,omitempty" json:"client_settings,omitempty"` Attrdescription_template string `xml:"description_template,attr,omitempty" json:",omitempty"` Attricon string `xml:"icon,attr,omitempty" json:",omitempty"` AttriconClass string `xml:"iconClass,attr,omitempty" json:",omitempty"` Cnode_provider *Cnode_provider `xml:"node_provider,omitempty" json:"node_provider,omitempty"` Cresources *Cresources `xml:"resources,omitempty" json:"resources,omitempty"` }
type Ccolumn ¶ added in v1.2.0
type Ccolumn struct { XMLName xml.Name `xml:"column,omitempty" json:"column,omitempty"` AttrattributeName string `xml:"attributeName,attr,omitempty" json:",omitempty"` AttrdefaultVisibilty string `xml:"defaultVisibilty,attr,omitempty" json:",omitempty"` AttrdefaultWidth string `xml:"defaultWidth,attr,omitempty" json:",omitempty"` AttrmessageId string `xml:"messageId,attr,omitempty" json:",omitempty"` Attrmodifier string `xml:"modifier,attr,omitempty" json:",omitempty"` AttrsortType string `xml:"sortType,attr,omitempty" json:",omitempty"` }
type Ccolumns ¶ added in v1.2.0
type Ccolumns struct { XMLName xml.Name `xml:"columns,omitempty" json:"columns,omitempty"` AttrswitchGridMode string `xml:"switchGridMode,attr,omitempty" json:",omitempty"` Cadditional_column []*Cadditional_column `xml:"additional_column,omitempty" json:"additional_column,omitempty"` Ccolumn []*Ccolumn `xml:"column,omitempty" json:"column,omitempty"` }
type Ccomponent_config ¶ added in v1.2.0
type Ccomponent_config struct { XMLName xml.Name `xml:"component_config,omitempty" json:"component_config,omitempty"` Attrcomponent string `xml:"component,attr,omitempty" json:",omitempty"` Ccolumns *Ccolumns `xml:"columns,omitempty" json:"columns,omitempty"` CinfoPanel []*CinfoPanel `xml:"infoPanel,omitempty" json:"infoPanel,omitempty"` Cmodifier []*Cmodifier `xml:"modifier,omitempty" json:"modifier,omitempty"` Cproperty []*Cproperty `xml:"property,omitempty" json:"property,omitempty"` }
type Ccontext ¶ added in v1.2.0
type Ccontext struct { XMLName xml.Name `xml:"context,omitempty" json:"context,omitempty"` AttractionBar string `xml:"actionBar,attr,omitempty" json:",omitempty"` AttractionBarGroup string `xml:"actionBarGroup,attr,omitempty" json:",omitempty"` Attrbehaviour string `xml:"behaviour,attr,omitempty" json:",omitempty"` AttrcontextMenu string `xml:"contextMenu,attr,omitempty" json:",omitempty"` Attrdir string `xml:"dir,attr,omitempty" json:",omitempty"` AttrinZip string `xml:"inZip,attr,omitempty" json:",omitempty"` AttrinfoPanel string `xml:"infoPanel,attr,omitempty" json:",omitempty"` Attrrecycle string `xml:"recycle,attr,omitempty" json:",omitempty"` Attrselection string `xml:"selection,attr,omitempty" json:",omitempty"` }
type Ccore_relation ¶ added in v1.2.0
type Cdependencies ¶ added in v1.2.0
type Cdependencies struct { XMLName xml.Name `xml:"dependencies,omitempty" json:"dependencies,omitempty"` CactivePlugin *CactivePlugin `xml:"activePlugin,omitempty" json:"activePlugin,omitempty"` CpluginResources *CpluginResources `xml:"pluginResources,omitempty" json:"pluginResources,omitempty"` CpluginClass *CpluginClass `xml:"pluginClass,omitempty" json:"pluginClass,omitempty"` }
type Cdescription ¶ added in v1.2.0
type CdynamicBuilder ¶ added in v1.2.0
type Ceditor ¶ added in v1.2.0
type Ceditor struct { Cplugin XMLName xml.Name `xml:"editor,omitempty" json:"editor,omitempty"` Attractions string `xml:"actions,attr,omitempty" json:",omitempty"` AttrcanWrite string `xml:"canWrite,attr,omitempty" json:",omitempty"` AttrclassName string `xml:"className,attr,omitempty" json:",omitempty"` AttrformId string `xml:"formId,attr,omitempty" json:",omitempty"` AttriconClass string `xml:"iconClass,attr,omitempty" json:",omitempty"` Attrmimes string `xml:"mimes,attr,omitempty" json:",omitempty"` Attropenable string `xml:"openable,attr,omitempty" json:",omitempty"` Attrextensions string `xml:"extensions,attr,omitempty" json:",omitempty"` Attrorder string `xml:"order,attr,omitempty" json:",omitempty"` AttrpreviewProvider string `xml:"previewProvider,attr,omitempty" json:",omitempty"` Attrtext string `xml:"text,attr,omitempty" json:",omitempty"` Attrtitle string `xml:"title,attr,omitempty" json:",omitempty"` CclientForm *CclientForm `xml:"clientForm,omitempty" json:"clientForm,omitempty"` Cprocessing []*Cprocessing `xml:"processing,omitempty" json:"processing,omitempty"` }
type Cextension ¶ added in v1.2.0
type Cextension struct { XMLName xml.Name `xml:"extension,omitempty" json:"extension,omitempty"` Attrfont string `xml:"font,attr,omitempty" json:",omitempty"` Attricon string `xml:"icon,attr,omitempty" json:",omitempty"` AttrmessageId string `xml:"messageId,attr,omitempty" json:",omitempty"` Attrmime string `xml:"mime,attr,omitempty" json:",omitempty"` }
type CextensionOnInit ¶ added in v1.2.0
type Cextensions ¶ added in v1.2.0
type Cextensions struct { XMLName xml.Name `xml:"extensions,omitempty" json:"extensions,omitempty"` Cextension []*Cextension `xml:"extension,omitempty" json:"extension,omitempty"` }
type Cglobal_param ¶ added in v1.2.0
type Cglobal_param struct { XMLName xml.Name `xml:"global_param,omitempty" json:"global_param,omitempty"` Attrchoices string `xml:"choices,attr,omitempty" json:",omitempty"` Attrdefault string `xml:"default,attr,omitempty" json:",omitempty"` AttrdefaultImage string `xml:"defaultImage,attr,omitempty" json:",omitempty"` Attrdescription string `xml:"description,attr,omitempty" json:",omitempty"` Attreditable string `xml:"editable,attr,omitempty" json:",omitempty"` Attrexpose string `xml:"expose,attr,omitempty" json:",omitempty"` Attrgroup string `xml:"group,attr,omitempty" json:",omitempty"` Attrlabel string `xml:"label,attr,omitempty" json:",omitempty"` AttrloadAction string `xml:"loadAction,attr,omitempty" json:",omitempty"` Attrmandatory string `xml:"mandatory,attr,omitempty" json:",omitempty"` Attrname string `xml:"name,attr,omitempty" json:",omitempty"` Attrtype string `xml:"type,attr,omitempty" json:",omitempty"` AttruploadAction string `xml:"uploadAction,attr,omitempty" json:",omitempty"` AttrreplicationGroup string `xml:"replicationGroup,attr,omitempty" json:"replicationGroup,omitempty"` AttrreplicationTitle string `xml:"replicationTitle,attr,omitempty" json:"replicationTitle,omitempty"` AttrreplicationDescription string `xml:"replicationDescription,attr,omitempty" json:"replicationDescription,omitempty"` AttrreplicationMandatory string `xml:"replicationMandatory,attr,omitempty" json:"replicationMandatory,omitempty"` }
type Cgui ¶ added in v1.2.0
type Cgui struct { XMLName xml.Name `xml:"gui,omitempty" json:"gui,omitempty"` AttraccessKey string `xml:"accessKey,attr,omitempty" json:",omitempty"` AttrhasAccessKey string `xml:"hasAccessKey,attr,omitempty" json:",omitempty"` AttriconClass string `xml:"iconClass,attr,omitempty" json:",omitempty"` AttrspecialAccessKey string `xml:"specialAccessKey,attr,omitempty" json:",omitempty"` Attrtext string `xml:"text,attr,omitempty" json:",omitempty"` Attrtitle string `xml:"title,attr,omitempty" json:",omitempty"` Attrweight string `xml:"weight,attr,omitempty" json:",omitempty"` Ccontext *Ccontext `xml:"context,omitempty" json:"context,omitempty"` CselectionContext *CselectionContext `xml:"selectionContext,omitempty" json:"selectionContext,omitempty"` }
type CinfoPanel ¶ added in v1.2.0
type CinfoPanel struct { XMLName xml.Name `xml:"infoPanel,omitempty" json:"infoPanel,omitempty"` Attrmime string `xml:"mime,attr,omitempty" json:",omitempty"` AttrreactComponent string `xml:"reactComponent,attr,omitempty" json:",omitempty"` Attrtheme string `xml:"theme,attr,omitempty" json:",omitempty"` Attrweight string `xml:"weight,attr,omitempty" json:",omitempty"` }
type Cinput_param ¶ added in v1.2.0
type Cinput_param struct { XMLName xml.Name `xml:"input_param,omitempty" json:"input_param,omitempty"` Attrdefault string `xml:"default,attr,omitempty" json:",omitempty"` Attrdescription string `xml:"description,attr,omitempty" json:",omitempty"` Attrmandatory string `xml:"mandatory,attr,omitempty" json:",omitempty"` Attrname string `xml:"name,attr,omitempty" json:",omitempty"` Attrtype string `xml:"type,attr,omitempty" json:",omitempty"` }
type Cjs ¶ added in v1.2.0
type Cjs struct { XMLName xml.Name `xml:"js,omitempty" json:"js,omitempty"` AttrclassName string `xml:"className,attr,omitempty" json:",omitempty"` Attrdepends string `xml:"depends,attr,omitempty" json:",omitempty"` Attrexpose string `xml:"expose,attr,omitempty" json:",omitempty"` AttrfallbackCondition string `xml:"fallbackCondition,attr,omitempty" json:",omitempty"` AttrfallbackFile string `xml:"fallbackFile,attr,omitempty" json:",omitempty"` Attrfile string `xml:"file,attr,omitempty" json:",omitempty"` }
type Cnode_provider ¶ added in v1.2.0
type Cplugin ¶ added in v1.2.0
type Cplugin struct { XMLName xml.Name `xml:"plugin,omitempty" json:"plugin,omitempty"` Attrdescription string `xml:"description,attr,omitempty" json:",omitempty"` Attrenabled string `xml:"enabled,attr,omitempty" json:",omitempty"` Attrid string `xml:"id,attr,omitempty" json:",omitempty"` Attrlabel string `xml:"label,attr,omitempty" json:",omitempty"` Attrname string `xml:"name,attr,omitempty" json:",omitempty"` Cclient_settings *Cclient_settings `xml:"client_settings,omitempty" json:"client_settings,omitempty"` Cplugin_configs *Cplugin_configs `xml:"plugin_configs,omitempty" json:"plugin_configs,omitempty"` Cplugin_info *Cplugin_info `xml:"plugin_info,omitempty" json:"plugin_info,omitempty"` Cserver_settings *Cserver_settings `xml:"server_settings,omitempty" json:"server_settings,omitempty"` Cregistry_contributions *Cregistry_contributions `xml:"registry_contributions,omitempty" json:"registry_contributions,omitempty"` Cdependencies *Cdependencies `xml:"dependencies,omitempty" json:"dependencies,omitempty"` }
func (*Cplugin) AlwaysEnabled ¶ added in v1.2.0
func (*Cplugin) AutoEnabled ¶
func (*Cplugin) DefaultEnabled ¶ added in v1.2.0
func (*Cplugin) DefaultParameters ¶ added in v1.2.0
func (*Cplugin) ExposeConfigs ¶ added in v1.2.0
func (*Cplugin) FilterActions ¶ added in v1.2.0
func (plugin *Cplugin) FilterActions(status RequestStatus, pool *PluginsPool, actions []*Caction) (output []*Caction)
func (*Cplugin) GetClientSettings ¶ added in v1.2.0
func (plugin *Cplugin) GetClientSettings() *Cclient_settings
func (*Cplugin) GetDependencies ¶ added in v1.2.0
func (plugin *Cplugin) GetDependencies() *Cdependencies
func (*Cplugin) GetDescription ¶ added in v1.2.0
func (*Cplugin) GetEnabled ¶ added in v1.2.0
func (*Cplugin) GetPluginConfigs ¶ added in v1.2.0
func (plugin *Cplugin) GetPluginConfigs() *Cplugin_configs
func (*Cplugin) GetPluginInfo ¶ added in v1.2.0
func (plugin *Cplugin) GetPluginInfo() *Cplugin_info
func (*Cplugin) GetRegistryContributions ¶ added in v1.2.0
func (plugin *Cplugin) GetRegistryContributions() *Cregistry_contributions
func (*Cplugin) GetServerSettings ¶ added in v1.2.0
func (plugin *Cplugin) GetServerSettings() *Cserver_settings
func (*Cplugin) ListDependencies ¶ added in v1.2.0
func (*Cplugin) PluginConfig ¶ added in v1.2.0
func (plugin *Cplugin) PluginConfig(status RequestStatus, param *Cglobal_param) interface{}
func (*Cplugin) PluginConfigs ¶ added in v1.2.0
func (plugin *Cplugin) PluginConfigs(status RequestStatus) map[string]interface{}
func (*Cplugin) PluginEnabled ¶ added in v1.2.0
func (plugin *Cplugin) PluginEnabled(status RequestStatus) bool
func (*Cplugin) Translate ¶ added in v1.2.0
func (plugin *Cplugin) Translate(messages I18nMessages)
type CpluginClass ¶ added in v1.2.0
type CpluginResources ¶ added in v1.2.0
type Cplugin_author ¶ added in v1.2.0
type Cplugin_author struct { // contains filtered or unexported fields }
type Cplugin_configs ¶ added in v1.2.0
type Cplugin_info ¶ added in v1.2.0
type Cplugin_info struct { XMLName xml.Name `xml:"plugin_info,omitempty" json:"plugin_info,omitempty"` Ccore_relation *Ccore_relation `xml:"core_relation,omitempty" json:"core_relation,omitempty"` Cplugin_uri *Cplugin_uri `xml:"plugin_uri,omitempty" json:"plugin_uri,omitempty"` Cplugin_version *Cplugin_version `xml:"plugin_version,omitempty" json:"plugin_version,omitempty"` }
type Cplugin_settings_values ¶ added in v1.4.0
type Cplugin_uri ¶ added in v1.2.0
type Cplugin_version ¶ added in v1.2.0
type Cplugins ¶ added in v1.2.0
type Cplugins struct { XMLName xml.Name `xml:"plugins,omitempty" json:"plugins,omitempty"` AttruuidAttr string `xml:"uuidAttr,attr,omitempty" json:",omitempty"` Cplugin []*Cplugin `xml:"plugin,omitempty" json:"plugin,omitempty"` Cajxpdriver []*Cajxpdriver `xml:"ajxpdriver,omitempty" json:"ajxpdriver,omitempty"` Ceditor []*Ceditor `xml:"editor,omitempty" json:"editor,omitempty"` Cmeta []*Cmeta `xml:"meta,omitempty" json:"meta,omitempty"` Cuploader []*Cuploader `xml:"uploader,omitempty" json:"uploader,omitempty"` }
type Cpost_processing ¶ added in v1.2.0
type Cpre_processing ¶ added in v1.2.0
type Cpref ¶ added in v1.2.0
type Cpref struct { XMLName xml.Name `xml:"pref,omitempty" json:"pref,omitempty"` Attrname string `xml:"name,attr,omitempty" json:",omitempty"` AttrpluginId string `xml:"pluginId,attr,omitempty" json:",omitempty"` Attrvalue string `xml:"value,attr,omitempty" json:",omitempty"` Cdata string `xml:",cdata" json:",omitempty"` }
type Cpreferences ¶ added in v1.2.0
type Cprocessing ¶ added in v1.2.0
type Cprocessing struct { XMLName xml.Name `xml:"processing,omitempty" json:"processing,omitempty"` CactiveCondition *CactiveCondition `xml:"activeCondition,omitempty" json:"activeCondition,omitempty"` CclientCallback *CclientCallback `xml:"clientCallback,omitempty" json:"clientCallback,omitempty"` CclientForm *CclientForm `xml:"clientForm,omitempty" json:"clientForm,omitempty"` CclientListener *CclientListener `xml:"clientListener,omitempty" json:"clientListener,omitempty"` CextensionOnInit *CextensionOnInit `xml:"extensionOnInit,omitempty" json:"extensionOnInit,omitempty"` CserverCallback *CserverCallback `xml:"serverCallback,omitempty" json:"serverCallback,omitempty"` }
type Cpydio_registry ¶ added in v1.2.0
type Cpydio_registry struct { XMLName xml.Name `xml:"pydio_registry,omitempty" json:"pydio_registry,omitempty"` Cactions *Cactions `xml:"actions,omitempty" json:"actions,omitempty"` Cclient_configs *Cclient_configs `xml:"client_configs,omitempty" json:"client_configs,omitempty"` Cextensions *Cextensions `xml:"extensions,omitempty" json:"extensions,omitempty"` Cplugins *Cplugins `xml:"plugins,omitempty" json:"plugins,omitempty"` Cuser *Cuser `xml:"user,omitempty" json:"user,omitempty"` }
type Cregistry_contributions ¶ added in v1.2.0
type Cregistry_contributions struct { XMLName xml.Name `xml:"registry_contributions,omitempty" json:"registry_contributions,omitempty"` Cactions *Cactions `xml:"actions,omitempty" json:"actions,omitempty"` Cclient_configs *Cclient_configs `xml:"client_configs,omitempty" json:"client_configs,omitempty"` Cextensions *Cextensions `xml:"extensions,omitempty" json:"extensions,omitempty"` }
type Crepo ¶ added in v1.2.0
type Crepo struct { XMLName xml.Name `xml:"repo,omitempty" json:"repo,omitempty"` Attraccess_type string `xml:"access_type,attr,omitempty" json:",omitempty"` Attracl string `xml:"acl,attr,omitempty" json:",omitempty"` AttrallowCrossRepositoryCopy string `xml:"allowCrossRepositoryCopy,attr,omitempty" json:",omitempty"` Attrid string `xml:"id,attr,omitempty" json:",omitempty"` Attrowner string `xml:"owner,attr,omitempty" json:",omitempty"` AttrrepositorySlug string `xml:"repositorySlug,attr,omitempty" json:",omitempty"` Attrrepository_type string `xml:"repository_type,attr,omitempty" json:",omitempty"` Attruser_editable_repository string `xml:"user_editable_repository,attr,omitempty" json:",omitempty"` Cclient_settings *Cclient_settings `xml:"client_settings,omitempty" json:"client_settings,omitempty"` Cdescription *Cdescription `xml:"description,omitempty" json:"description,omitempty"` Clabel *Clabel `xml:"label,omitempty" json:"label,omitempty"` }
type Crepositories ¶ added in v1.2.0
type Cresources ¶ added in v1.2.0
type CrightsContext ¶ added in v1.2.0
type CrightsContext struct { XMLName xml.Name `xml:"rightsContext,omitempty" json:"rightsContext,omitempty"` AttradminOnly string `xml:"adminOnly,attr,omitempty" json:",omitempty"` AttrguestLogged string `xml:"guestLogged,attr,omitempty" json:",omitempty"` AttrnoUser string `xml:"noUser,attr,omitempty" json:",omitempty"` AttrparamDisable string `xml:"paramDisable,attr,omitempty" json:",omitempty"` Attrread string `xml:"read,attr,omitempty" json:",omitempty"` AttruserLogged string `xml:"userLogged,attr,omitempty" json:",omitempty"` Attrwrite string `xml:"write,attr,omitempty" json:",omitempty"` }
type CselectionContext ¶ added in v1.2.0
type CselectionContext struct { XMLName xml.Name `xml:"selectionContext,omitempty" json:"selectionContext,omitempty"` AttrallowedMimes string `xml:"allowedMimes,attr,omitempty" json:",omitempty"` Attrbehaviour string `xml:"behaviour,attr,omitempty" json:",omitempty"` Attrdir string `xml:"dir,attr,omitempty" json:",omitempty"` Attreditable string `xml:"editable,attr,omitempty" json:",omitempty"` AttrenableRoot string `xml:"enableRoot,attr,omitempty" json:",omitempty"` AttrevalMetadata string `xml:"evalMetadata,attr,omitempty" json:",omitempty"` Attrfile string `xml:"file,attr,omitempty" json:",omitempty"` Attrimage string `xml:"image,attr,omitempty" json:",omitempty"` AttrmultipleOnly string `xml:"multipleOnly,attr,omitempty" json:",omitempty"` Attrrecycle string `xml:"recycle,attr,omitempty" json:",omitempty"` Attrunique string `xml:"unique,attr,omitempty" json:",omitempty"` }
type CserverCallback ¶ added in v1.2.0
type CserverCallback struct { XMLName xml.Name `xml:"serverCallback,omitempty" json:"serverCallback,omitempty"` AttrcheckParams string `xml:"checkParams,attr,omitempty" json:",omitempty"` AttrdeveloperComment string `xml:"developerComment,attr,omitempty" json:",omitempty"` AttrmethodName string `xml:"methodName,attr,omitempty" json:",omitempty"` AttrpreferredHttp string `xml:"preferredHttp,attr,omitempty" json:",omitempty"` AttrrestParams string `xml:"restParams,attr,omitempty" json:",omitempty"` AttrsdkMethodName string `xml:"sdkMethodName,attr,omitempty" json:",omitempty"` Cinput_param []*Cinput_param `xml:"input_param,omitempty" json:"input_param,omitempty"` Coutput *Coutput `xml:"output,omitempty" json:"output,omitempty"` }
type Cserver_settings ¶ added in v1.2.0
type Cserver_settings struct { XMLName xml.Name `xml:"server_settings,omitempty" json:"server_settings,omitempty"` Cglobal_param []*Cglobal_param `xml:"global_param,omitempty" json:"global_param,omitempty"` Cparam []*Cparam `xml:"param,omitempty" json:"param,omitempty"` }
type Cspecial_rights ¶ added in v1.2.0
type CsubMenu ¶ added in v1.2.0
type CsubMenu struct { XMLName xml.Name `xml:"subMenu,omitempty" json:"subMenu,omitempty"` AttrmasterAction string `xml:"masterAction,attr,omitempty" json:",omitempty"` CdynamicBuilder *CdynamicBuilder `xml:"dynamicBuilder,omitempty" json:"dynamicBuilder,omitempty"` }
type Ctemplate ¶ added in v1.2.0
type Ctemplate struct { XMLName xml.Name `xml:"template,omitempty" json:"template,omitempty"` Attrcomponent string `xml:"component,attr,omitempty" json:",omitempty"` Attrelement string `xml:"element,attr,omitempty" json:",omitempty"` Attrlabel string `xml:"label,attr,omitempty" json:",omitempty"` Attrname string `xml:"name,attr,omitempty" json:",omitempty"` Attrnamespace string `xml:"namespace,attr,omitempty" json:",omitempty"` Attrposition string `xml:"position,attr,omitempty" json:",omitempty"` Attrprops string `xml:"props,attr,omitempty" json:",omitempty"` Attrtheme string `xml:"theme,attr,omitempty" json:",omitempty"` }
type Ctemplate_part ¶ added in v1.2.0
type Ctemplate_part struct { XMLName xml.Name `xml:"template_part,omitempty" json:"template_part,omitempty"` AttrajxpId string `xml:"ajxpId,attr,omitempty" json:",omitempty"` AttrajxpClass string `xml:"ajxpClass,attr,omitempty" json:",omitempty"` AttrajxpOptions string `xml:"ajxpOptions,attr,omitempty" json:",omitempty"` Attrcomponent string `xml:"component,attr,omitempty" json:",omitempty"` Attrdependencies string `xml:"dependencies,attr,omitempty" json:",omitempty"` Attrname string `xml:"name,attr,omitempty" json:",omitempty"` Attrnamespace string `xml:"namespace,attr,omitempty" json:",omitempty"` Attrprops string `xml:"props,attr,omitempty" json:",omitempty"` Attrtheme string `xml:"theme,attr,omitempty" json:",omitempty"` }
type Cuploader ¶ added in v1.2.0
type Cuploader struct { Cplugin XMLName xml.Name `xml:"uploader,omitempty" json:"uploader,omitempty"` AttrclassName string `xml:"className,attr,omitempty" json:",omitempty"` Attrorder string `xml:"order,attr,omitempty" json:",omitempty"` Attrtext string `xml:"text,attr,omitempty" json:",omitempty"` Attrtitle string `xml:"title,attr,omitempty" json:",omitempty"` Cprocessing []*Cprocessing `xml:"processing,omitempty" json:"processing,omitempty"` }
type Cuser ¶ added in v1.2.0
type Cuser struct { XMLName xml.Name `xml:"user,omitempty" json:"user,omitempty"` Attrid string `xml:"id,attr,omitempty" json:",omitempty"` Cactive_repo *Cactive_repo `xml:"active_repo,omitempty" json:"active_repo,omitempty"` Cpreferences *Cpreferences `xml:"preferences,omitempty" json:"preferences,omitempty"` Crepositories *Crepositories `xml:"repositories,omitempty" json:"repositories,omitempty"` Cspecial_rights *Cspecial_rights `xml:"special_rights,omitempty" json:"special_rights,omitempty"` }
type CustomWording ¶ added in v1.2.0
type EnrollMiddlewareFunc ¶ added in v1.2.0
type EnrollMiddlewareFunc func(req *restful.Request, rsp *restful.Response, inputRequest *rest.FrontEnrollAuthRequest) bool
type ExposedParam ¶ added in v1.2.0
type FrontMiddleware ¶ added in v1.2.0
type FrontMiddleware struct { Endpoint string Middleware EnrollMiddlewareFunc }
type I18nMessages ¶ added in v1.2.0
type Plugin ¶ added in v1.2.0
type Plugin interface { GetDescription() string GetEnabled() string GetId() string GetLabel() string GetName() string GetClientSettings() *Cclient_settings GetPluginConfigs() *Cplugin_configs GetPluginInfo() *Cplugin_info GetServerSettings() *Cserver_settings GetRegistryContributions() *Cregistry_contributions GetDependencies() *Cdependencies ListDependencies() (ids []string) DefaultParameters() map[string]interface{} DefaultEnabled() bool AlwaysEnabled() bool AutoEnabled() bool ExposeConfigs(map[string]interface{}) PluginEnabled(status RequestStatus) bool FilterActions(status RequestStatus, pool *PluginsPool, actions []*Caction) (output []*Caction) PluginConfigs(status RequestStatus) map[string]interface{} PluginConfig(status RequestStatus, param *Cglobal_param) interface{} }
type PluginBox ¶
PluginBox exposes web assets
func GetRegisteredPluginBoxes ¶
func GetRegisteredPluginBoxes() []PluginBox
GetRegisteredPluginBoxes lists all registered PluginBox
type PluginModifier ¶ added in v1.2.0
type PluginModifier func(ctx context.Context, status RequestStatus, plugin Plugin) error
PluginModifier is a func type for dynamically filtering the content of a plugin (e.g enabled/disabled), based on the current status
type PluginsPool ¶ added in v1.2.0
type PluginsPool struct { Plugins map[string]Plugin Messages map[string]I18nMessages // contains filtered or unexported fields }
func GetPluginsPool ¶ added in v1.2.0
func GetPluginsPool() (*PluginsPool, error)
GetPluginsPool builds the pool out of all the registered plugins boxes
func NewPluginsPool ¶ added in v1.2.0
func NewPluginsPool() *PluginsPool
func (*PluginsPool) AllPluginsManifests ¶ added in v1.2.0
func (p *PluginsPool) AllPluginsManifests(ctx context.Context, lang string) *Cplugins
func (*PluginsPool) ExposedParametersByScope ¶ added in v1.2.0
func (p *PluginsPool) ExposedParametersByScope(scopeName string, exposed bool) (params []*ExposedParam)
func (*PluginsPool) I18nMessages ¶ added in v1.2.0
func (p *PluginsPool) I18nMessages(lang string) I18nMessages
func (*PluginsPool) Load ¶ added in v1.2.0
func (p *PluginsPool) Load(fs *UnionHttpFs) error
func (*PluginsPool) RegistryForStatus ¶ added in v1.2.0
func (p *PluginsPool) RegistryForStatus(ctx context.Context, status RequestStatus) (*Cpydio_registry, error)
func (*PluginsPool) ReplaceActionMimes ¶ added in v1.2.0
func (p *PluginsPool) ReplaceActionMimes(mime string) string
type RegistryModifier ¶ added in v1.2.0
type RegistryModifier func(ctx context.Context, status RequestStatus, registry *Cpydio_registry) error
RegistryModifier is a func type for dynamically filtering output of the registry
type RequestStatus ¶ added in v1.2.0
type UnionHttpFs ¶
type UnionHttpFs struct {
// contains filtered or unexported fields
}
func GetPluginsFS ¶ added in v1.2.0
func GetPluginsFS() *UnionHttpFs
GetPluginsFS builds an HttpFs out of all the registered plugins boxes
func NewUnionHttpFs ¶
func NewUnionHttpFs(boxes ...PluginBox) *UnionHttpFs
type User ¶ added in v1.2.0
type User struct { Logged bool Claims claim.Claims AccessList *permissions.AccessList Workspaces map[string]*Workspace UserObject *idm.User ActiveWorkspace string ActiveAccessType string HasLocks bool Locks []string }
func (*User) FlattenedFrontValues ¶ added in v1.2.2
FlattenedFrontValues generates a configx.Values with frontend actions/parameters configs
func (*User) FlattenedRolesConfigByName ¶ added in v1.4.0
func (*User) FlattenedRolesConfigs ¶ added in v1.2.0
func (*User) GetActiveScopes ¶ added in v1.2.0
func (*User) LoadActiveLanguage ¶ added in v1.2.0
func (*User) LoadActiveWorkspace ¶ added in v1.2.0
func (*User) LoadWorkspaces ¶ added in v1.2.0
func (u *User) LoadWorkspaces(ctx context.Context, accessList *permissions.AccessList) error
func (*User) Publish ¶ added in v1.2.0
func (u *User) Publish(status RequestStatus, pool *PluginsPool) *Cuser