 Documentation
      ¶
      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) 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 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 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.1
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.1
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 Ccss ¶ 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 Ci18n ¶ added in v1.2.0
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 Clabel ¶ added in v1.2.0
type Cmeta ¶ added in v1.2.0
type Cmodifier ¶ added in v1.2.2
type Cnode_provider ¶ added in v1.2.0
type Coutput ¶ added in v1.2.0
type Cparam ¶ 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) 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) 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.1
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 Cproperty ¶ added in v1.2.0
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 FrontMiddleware ¶ added in v1.2.0
type FrontMiddleware struct {
	Endpoint   string
	Middleware EnrollMiddlewareFunc
}
    type I18nMessages ¶ added in v1.2.0
type IndexFile ¶
type IndexFile struct {
	// contains filtered or unexported fields
}
    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
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) FlattenedRolesConfigByName ¶ added in v1.4.1
func (*User) FlattenedRolesConfigs ¶ 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
       Source Files
      ¶
      Source Files
      ¶
    
- bootconf.go
- doc.go
- http-union.go
- i18n.go
- modifiers.go
- plugin-box.go
- plugin.go
- pool.go
- request.go
- session.go
- structs.go
- user.go