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 ¶
- Constants
- 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() sessions.Store
- func NewIndexFile(rootList []string) 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) 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
- func (p *PluginsPool) ReplaceActionMimes(mime string) string
- type RegistryModifier
- type RequestStatus
- type UnionHttpFs
- type User
- func (u *User) FlattenedFrontValues() *config.Map
- func (u *User) FlattenedRolesConfigByName(pluginId string, name string) string
- func (u *User) FlattenedRolesConfigs() *config.Map
- 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 ¶
const (
SessionTimeoutMinutes = 24
)
Variables ¶
This section is empty.
Functions ¶
func ApplyAuthMiddlewares ¶
func ApplyAuthMiddlewares(req *restful.Request, rsp *restful.Response, in *rest.FrontSessionRequest, out *rest.FrontSessionResponse, session *sessions.Session) error
func ApplyBootConfModifiers ¶
ApplyPluginModifiers is called to apply all registered modifiers on the boot configuration
func ApplyEnrollMiddlewares ¶
ApplyEnrollMiddlewares goes through registered middlewares if there are any for the current endpoint
func ApplyPluginModifiers ¶
func ApplyPluginModifiers(ctx context.Context, status RequestStatus, plugin Plugin) error
ApplyPluginModifiers is called to apply all registered modifiers on a given plugin
func ApplyRegModifiers ¶
func ApplyRegModifiers(ctx context.Context, status RequestStatus, registry *Cpydio_registry) error
ApplyRegModifiers can filter the output of registry before sending, based on status
func GetSessionStore ¶
func NewIndexFile ¶
func NewSessionWrapper ¶
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 ¶
func RegisterBootConfModifier(modifier BootConfModifier)
RegisterPluginModifier appends a BootConfModifier to the list
func RegisterEnrollMiddleware ¶
func RegisterEnrollMiddleware(endpoint string, middleware EnrollMiddlewareFunc)
RegisterEnrollMiddleware registers a middleware for a given endpoint
func RegisterPluginBoxes ¶
func RegisterPluginBoxes(boxes ...PluginBox)
func RegisterPluginModifier ¶
func RegisterPluginModifier(modifier PluginModifier)
RegisterPluginModifier appends a PluginModifier to the list
func RegisterRegModifier ¶
func RegisterRegModifier(modifier RegistryModifier)
RegisterRegModifier appends a RegistryModifier to the list
func VersionHash ¶
func VersionHash() string
func WrapAuthMiddleware ¶
func WrapAuthMiddleware(middleware func(middleware AuthMiddleware) AuthMiddleware)
Types ¶
type AuthMiddleware ¶
type AuthMiddleware func(req *restful.Request, rsp *restful.Response, in *rest.FrontSessionRequest, out *rest.FrontSessionResponse, session *sessions.Session) error
type BackendConf ¶
type BootConf ¶
type BootConf struct { AjxpResourcesFolder string `json:"ajxpResourcesFolder"` AjxpServerAccess string `json:"ajxpServerAccess"` ENDPOINT_REST_API string ENDPOINT_S3_GATEWAY string ENDPOINT_WEBSOCKET string FRONTEND_URL 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 ¶
func ComputeBootConf(pool *PluginsPool, showVersion ...bool) *BootConf
type BootConfModifier ¶
PluginModifier is a func type for dynamically filtering the content of a plugin (e.g enabled/disabled), based on the current status
type Caction ¶
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 ¶
type Cactions struct { XMLName xml.Name `xml:"actions,omitempty" json:"actions,omitempty"` Caction []*Caction `xml:"action,omitempty" json:"action,omitempty"` }
func (*Cactions) MergeActions ¶
type CactiveCondition ¶
type CactivePlugin ¶
type Cactive_repo ¶
type Cadditional_column ¶
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 ¶
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:"ajxpcore,omitempty"` }
type Cajxpcore ¶
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 ¶
type Cclass_definition ¶
type CclientCallback ¶
type CclientForm ¶
type CclientListener ¶
type Cclient_configs ¶
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 ¶
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 ¶
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 ¶
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 ¶
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 ¶
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 ¶
type Cdependencies ¶
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 ¶
type CdynamicBuilder ¶
type Ceditor ¶
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"` 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 ¶
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 ¶
type Cextensions ¶
type Cextensions struct { XMLName xml.Name `xml:"extensions,omitempty" json:"extensions,omitempty"` Cextension []*Cextension `xml:"extension,omitempty" json:"extension,omitempty"` }
type Cglobal_param ¶
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"` }
type Cgui ¶
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 ¶
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 ¶
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 ¶
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 ¶
type Cplugin ¶
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 ¶
func (*Cplugin) DefaultEnabled ¶
func (*Cplugin) DefaultParameters ¶
func (*Cplugin) ExposeConfigs ¶
func (*Cplugin) FilterActions ¶
func (plugin *Cplugin) FilterActions(status RequestStatus, pool *PluginsPool, actions []*Caction) (output []*Caction)
func (*Cplugin) GetClientSettings ¶
func (plugin *Cplugin) GetClientSettings() *Cclient_settings
func (*Cplugin) GetDependencies ¶
func (plugin *Cplugin) GetDependencies() *Cdependencies
func (*Cplugin) GetDescription ¶
func (*Cplugin) GetEnabled ¶
func (*Cplugin) GetPluginConfigs ¶
func (plugin *Cplugin) GetPluginConfigs() *Cplugin_configs
func (*Cplugin) GetPluginInfo ¶
func (plugin *Cplugin) GetPluginInfo() *Cplugin_info
func (*Cplugin) GetRegistryContributions ¶
func (plugin *Cplugin) GetRegistryContributions() *Cregistry_contributions
func (*Cplugin) GetServerSettings ¶
func (plugin *Cplugin) GetServerSettings() *Cserver_settings
func (*Cplugin) ListDependencies ¶
func (*Cplugin) PluginConfig ¶
func (plugin *Cplugin) PluginConfig(status RequestStatus, param *Cglobal_param) interface{}
func (*Cplugin) PluginConfigs ¶
func (plugin *Cplugin) PluginConfigs(status RequestStatus) map[string]interface{}
func (*Cplugin) PluginEnabled ¶
func (plugin *Cplugin) PluginEnabled(status RequestStatus) bool
func (*Cplugin) Translate ¶
func (plugin *Cplugin) Translate(messages I18nMessages)
type CpluginClass ¶
type CpluginResources ¶
type Cplugin_author ¶
type Cplugin_author struct { // contains filtered or unexported fields }
type Cplugin_configs ¶
type Cplugin_info ¶
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 ¶
type Cplugin_uri ¶
type Cplugin_version ¶
type Cplugins ¶
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 ¶
type Cpre_processing ¶
type Cpref ¶
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 ¶
type Cprocessing ¶
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 ¶
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 ¶
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 ¶
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 ¶
type Cresources ¶
type CrightsContext ¶
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 ¶
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 ¶
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 ¶
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 ¶
type CsubMenu ¶
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 ¶
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 ¶
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 ¶
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 ¶
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 ¶
type EnrollMiddlewareFunc ¶
type EnrollMiddlewareFunc func(req *restful.Request, rsp *restful.Response, inputRequest *rest.FrontEnrollAuthRequest) bool
type ExposedParam ¶
type FrontMiddleware ¶
type FrontMiddleware struct { Endpoint string Middleware EnrollMiddlewareFunc }
type I18nMessages ¶
type Plugin ¶
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 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 ¶
func GetRegisteredPluginBoxes ¶
func GetRegisteredPluginBoxes() []PluginBox
type PluginModifier ¶
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 ¶
type PluginsPool struct { Plugins map[string]Plugin Messages map[string]I18nMessages // contains filtered or unexported fields }
func GetPluginsPool ¶
func GetPluginsPool() (*PluginsPool, error)
func NewPluginsPool ¶
func NewPluginsPool() *PluginsPool
func (*PluginsPool) AllPluginsManifests ¶
func (p *PluginsPool) AllPluginsManifests(ctx context.Context, lang string) *Cplugins
func (*PluginsPool) ExposedParametersByScope ¶
func (p *PluginsPool) ExposedParametersByScope(scopeName string, exposed bool) (params []*ExposedParam)
func (*PluginsPool) I18nMessages ¶
func (p *PluginsPool) I18nMessages(lang string) I18nMessages
func (*PluginsPool) Load ¶
func (p *PluginsPool) Load(fs *UnionHttpFs) error
func (*PluginsPool) RegistryForStatus ¶
func (p *PluginsPool) RegistryForStatus(ctx context.Context, status RequestStatus) *Cpydio_registry
func (*PluginsPool) ReplaceActionMimes ¶
func (p *PluginsPool) ReplaceActionMimes(mime string) string
type RegistryModifier ¶
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 ¶
type UnionHttpFs ¶
type UnionHttpFs struct {
// contains filtered or unexported fields
}
func GetPluginsFS ¶
func GetPluginsFS() *UnionHttpFs
func NewUnionHttpFs ¶
func NewUnionHttpFs(boxes ...PluginBox) *UnionHttpFs
type User ¶
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 ¶
FlattenedFrontValues generates a config.Map with frontend actions/parameters configs
func (*User) FlattenedRolesConfigByName ¶
func (*User) FlattenedRolesConfigs ¶
func (*User) GetActiveScopes ¶
func (*User) LoadActiveLanguage ¶
func (*User) LoadActiveWorkspace ¶
func (*User) LoadWorkspaces ¶
func (u *User) LoadWorkspaces(ctx context.Context, accessList *permissions.AccessList) error
func (*User) Publish ¶
func (u *User) Publish(status RequestStatus, pool *PluginsPool) *Cuser