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 *FrontSessionWithRuntimeCtx, ...) error
- func ApplyBootConfModifiers(ctx context.Context, bootConf *BootConf) error
- func ApplyEnrollMiddlewares(endpoint string, req *restful.Request, rsp *restful.Response) error
- func ApplyPluginModifiers(ctx context.Context, status RequestStatus, plugin Plugin) error
- func ApplyRegModifiers(ctx context.Context, status RequestStatus, registry *Cpydio_registry) error
- func HotReload()
- func NewIndexFile(rootList []string, times ...time.Time) fs.File
- func RegisterBootConfModifier(modifier BootConfModifier)
- func RegisterEnrollMiddleware(endpoint string, middleware EnrollMiddlewareFunc)
- func RegisterPluginModifier(modifier PluginModifier)
- func RegisterRegModifier(modifier RegistryModifier)
- func VersionHash(ctx context.Context) 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 FrontSessionWithRuntimeCtx
- type I18nMessages
- type IndexFile
- type Plugin
- 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(ctx context.Context, 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) 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(ctx context.Context, parameter string) string
- func (u *User) LoadActiveWorkspace(parameter string)
- func (u *User) LoadWorkspaces(ctx context.Context, accessList *permissions.AccessList) error
- func (u *User) Publish(ctx context.Context, status RequestStatus, pool *PluginsPool) *Cuser
- type Workspace
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ApplyAuthMiddlewares ¶
func ApplyAuthMiddlewares(req *restful.Request, rsp *restful.Response, in *FrontSessionWithRuntimeCtx, out *rest.FrontSessionResponse, session *sessions.Session) error
ApplyAuthMiddlewares applies registered middlewares
func ApplyBootConfModifiers ¶
ApplyBootConfModifiers 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 HotReload ¶
func HotReload()
HotReload empties internal fs and pool to trigger a reload at next call of GetPluginsFS or GetPluginsPool
func RegisterBootConfModifier ¶
func RegisterBootConfModifier(modifier BootConfModifier)
RegisterBootConfModifier appends a BootConfModifier to the list
func RegisterEnrollMiddleware ¶
func RegisterEnrollMiddleware(endpoint string, middleware EnrollMiddlewareFunc)
RegisterEnrollMiddleware registers a middleware for a given endpoint
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 WrapAuthMiddleware ¶
func WrapAuthMiddleware(middleware func(middleware AuthMiddleware) AuthMiddleware)
WrapAuthMiddleware registers an additional auth middleware
Types ¶
type AuthMiddleware ¶
type AuthMiddleware func(req *restful.Request, rsp *restful.Response, in *FrontSessionWithRuntimeCtx, out *rest.FrontSessionResponse, session *sessions.Session) error
type BackendConf ¶
type BootConf ¶
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 ¶
func ComputeBootConf(ctx context.Context, pool *PluginsPool, showVersion ...bool) (*BootConf, error)
ComputeBootConf creates a JSON for web interface with a lot of useful info. There is no proto associated
type BootConfModifier ¶
BootConfModifier is a func type for dynamically filtering the content of the bootconf
type Caction ¶
type Caction struct { XMLName xml.Name `xml:"action,omitempty" json:"-"` AttrctrlDragndropDefault string `xml:"ctrlDragndropDefault,attr,omitempty" json:"ctrlDragndropDefault,omitempty"` AttrdirDefault string `xml:"dirDefault,attr,omitempty" json:"dirDefault,omitempty"` AttrdragndropDefault string `xml:"dragndropDefault,attr,omitempty" json:"dragndropDefault,omitempty"` AttrexpireDefault string `xml:"expireDefault,attr,omitempty" json:"expireDefault,omitempty"` AttrfileDefault string `xml:"fileDefault,attr,omitempty" json:"fileDefault,omitempty"` Attrname string `xml:"name,attr,omitempty" json:"name,omitempty"` AttrskipSecureToken string `xml:"skipSecureToken,attr,omitempty" json:"skipSecureToken,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:"plugin_settings_values,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:"-"` AttractionBar string `xml:"actionBar,attr,omitempty" json:"actionBar,omitempty"` AttractionBarGroup string `xml:"actionBarGroup,attr,omitempty" json:"actionBarGroup,omitempty"` Attrbehaviour string `xml:"behaviour,attr,omitempty" json:"behaviour,omitempty"` AttrcontextMenu string `xml:"contextMenu,attr,omitempty" json:"contextMenu,omitempty"` Attrdir string `xml:"dir,attr,omitempty" json:"dir,omitempty"` AttrinZip string `xml:"inZip,attr,omitempty" json:"inZip,omitempty"` AttrinfoPanel string `xml:"infoPanel,attr,omitempty" json:"infoPanel,omitempty"` Attrrecycle string `xml:"recycle,attr,omitempty" json:"recycle,omitempty"` Attrselection string `xml:"selection,attr,omitempty" json:"selection,omitempty"` AttrevalMetadata string `xml:"evalMetadata,attr,omitempty" json:"evalMetadata,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"` 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 ¶
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"` 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 ¶
type Cgui struct { XMLName xml.Name `xml:"gui,omitempty" json:"-"` AttraccessKey string `xml:"accessKey,attr,omitempty" json:"accessKey,omitempty"` AttrhasAccessKey string `xml:"hasAccessKey,attr,omitempty" json:"hasAccessKey,omitempty"` AttriconClass string `xml:"iconClass,attr,omitempty" json:"iconClass,omitempty"` AttrspecialAccessKey string `xml:"specialAccessKey,attr,omitempty" json:"specialAccessKey,omitempty"` Attrtext string `xml:"text,attr,omitempty" json:"text,omitempty"` Attrtitle string `xml:"title,attr,omitempty" json:"title,omitempty"` Attrweight string `xml:"weight,attr,omitempty" json:"weight,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) AutoEnabled ¶
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:"-"` 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:"-"` AttradminOnly string `xml:"adminOnly,attr,omitempty" json:"adminOnly,omitempty"` AttrguestLogged string `xml:"guestLogged,attr,omitempty" json:"guestLogged,omitempty"` AttrnoUser string `xml:"noUser,attr,omitempty" json:"noUser,omitempty"` AttrparamDisable string `xml:"paramDisable,attr,omitempty" json:"paramDisable,omitempty"` Attrread string `xml:"read,attr,omitempty" json:"read,omitempty"` AttruserLogged string `xml:"userLogged,attr,omitempty" json:"userLogged,omitempty"` Attrwrite string `xml:"write,attr,omitempty" json:"write,omitempty"` }
type CselectionContext ¶
type CselectionContext struct { XMLName xml.Name `xml:"selectionContext,omitempty" json:"-"` AttrallowedMimes string `xml:"allowedMimes,attr,omitempty" json:"allowedMimes,omitempty"` Attrbehaviour string `xml:"behaviour,attr,omitempty" json:"behaviour,omitempty"` Attrdir string `xml:"dir,attr,omitempty" json:"dir,omitempty"` Attreditable string `xml:"editable,attr,omitempty" json:"editable,omitempty"` AttrenableRoot string `xml:"enableRoot,attr,omitempty" json:"enableRoot,omitempty"` AttrevalMetadata string `xml:"evalMetadata,attr,omitempty" json:"evalMetadata,omitempty"` Attrfile string `xml:"file,attr,omitempty" json:"file,omitempty"` Attrimage string `xml:"image,attr,omitempty" json:"image,omitempty"` AttrmultipleOnly string `xml:"multipleOnly,attr,omitempty" json:"multipleOnly,omitempty"` Attrrecycle string `xml:"recycle,attr,omitempty" json:"recycle,omitempty"` Attrunique string `xml:"unique,attr,omitempty" json:"unique,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:"-"` AttrmasterAction string `xml:"masterAction,attr,omitempty" json:"masterAction,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 ExposedParam ¶
type FrontMiddleware ¶
type FrontMiddleware struct { Endpoint string Middleware EnrollMiddlewareFunc }
type FrontSessionWithRuntimeCtx ¶
type FrontSessionWithRuntimeCtx struct { *rest.FrontSessionRequest RuntimeCtx context.Context }
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 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 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)
GetPluginsPool builds the pool out of all the registered plugins boxes
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(ctx context.Context, 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, error)
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
GetPluginsFS builds an HttpFs out of all the registered plugins boxes
func NewUnionHttpFs ¶
func NewUnionHttpFs(boxes ...service.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) 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(ctx context.Context, status RequestStatus, pool *PluginsPool) *Cuser