frontend

package
v2.1.2+incompatible Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 10, 2020 License: AGPL-3.0 Imports: 39 Imported by: 0

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 ¶

View Source
const (
	SessionTimeoutMinutes = 24
)

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

func ApplyBootConfModifiers(bootConf *BootConf) error

ApplyPluginModifiers is called to apply all registered modifiers on the boot configuration

func ApplyEnrollMiddlewares ¶ added in v1.2.0

func ApplyEnrollMiddlewares(endpoint string, req *restful.Request, rsp *restful.Response) bool

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 GetSessionStore ¶ added in v1.2.0

func GetSessionStore() sessions.Store

func NewIndexFile ¶

func NewIndexFile(rootList []string, times ...time.Time) http.File

func NewSessionWrapper ¶ added in v1.2.0

func NewSessionWrapper(h http.Handler, excludes ...string) http.Handler

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)

func RegisterPluginModifier ¶ added in v1.2.0

func RegisterPluginModifier(modifier PluginModifier)

RegisterPluginModifier appends a PluginModifier to the list

func RegisterRegModifier ¶ added in v1.2.0

func RegisterRegModifier(modifier RegistryModifier)

RegisterRegModifier appends a RegistryModifier to the list

func VersionHash ¶ added in v1.5.0

func VersionHash() string

func WrapAuthMiddleware ¶ added in v1.2.0

func WrapAuthMiddleware(middleware func(middleware AuthMiddleware) AuthMiddleware)

Types ¶

type AuthMiddleware ¶ added in v1.2.0

type AuthMiddleware func(req *restful.Request, rsp *restful.Response, in *rest.FrontSessionRequest, out *rest.FrontSessionResponse, session *sessions.Session) error

type BackendConf ¶ added in v1.2.0

type BackendConf struct {
	BuildRevision string
	BuildStamp    string
	License       string
	PackageLabel  string
	PackageType   string
	Version       string
}

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
	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 ¶ added in v1.2.0

func ComputeBootConf(pool *PluginsPool, showVersion ...bool) *BootConf

type BootConfModifier ¶ added in v1.2.0

type BootConfModifier func(bootConf *BootConf) error

PluginModifier is a func type for dynamically filtering the content of a plugin (e.g enabled/disabled), based on the current status

type Caction ¶ added in v1.2.0

type Caction struct {
	XMLName                  xml.Name          `xml:"action,omitempty" json:"action,omitempty"`
	AttrctrlDragndropDefault string            `xml:"ctrlDragndropDefault,attr,omitempty"  json:",omitempty"`
	AttrdirDefault           string            `xml:"dirDefault,attr,omitempty"  json:",omitempty"`
	AttrdragndropDefault     string            `xml:"dragndropDefault,attr,omitempty"  json:",omitempty"`
	AttrexpireDefault        string            `xml:"expireDefault,attr,omitempty"  json:",omitempty"`
	AttrfileDefault          string            `xml:"fileDefault,attr,omitempty"  json:",omitempty"`
	Attrname                 string            `xml:"name,attr,omitempty"  json:",omitempty"`
	AttrskipSecureToken      string            `xml:"skipSecureToken,attr,omitempty"  json:",omitempty"`
	Cgui                     *Cgui             `xml:"gui,omitempty" json:"gui,omitempty"`
	Cpost_processing         *Cpost_processing `xml:"post_processing,omitempty" json:"post_processing,omitempty"`
	Cpre_processing          *Cpre_processing  `xml:"pre_processing,omitempty" json:"pre_processing,omitempty"`
	Cprocessing              []*Cprocessing    `xml:"processing,omitempty" json:"processing,omitempty"`
	CrightsContext           *CrightsContext   `xml:"rightsContext,omitempty" json:"rightsContext,omitempty"`
	CsubMenu                 *CsubMenu         `xml:"subMenu,omitempty" json:"subMenu,omitempty"`
}

type Cactions ¶ added in v1.2.0

type Cactions struct {
	XMLName xml.Name   `xml:"actions,omitempty" json:"actions,omitempty"`
	Caction []*Caction `xml:"action,omitempty" json:"action,omitempty"`
}

func (*Cactions) MergeActions ¶ added in v1.2.0

func (c *Cactions) MergeActions(actions []*Caction)

type CactiveCondition ¶ added in v1.2.0

type CactiveCondition struct {
	XMLName xml.Name `xml:"activeCondition,omitempty" json:"activeCondition,omitempty"`
	Cdata   string   `xml:",cdata" json:",omitempty"`
}

type CactivePlugin ¶ added in v1.2.0

type CactivePlugin struct {
	XMLName        xml.Name `xml:"activePlugin,omitempty" json:"activePlugin,omitempty"`
	AttrpluginName string   `xml:"pluginName,attr,omitempty"  json:",omitempty"`
}

type Cactive_repo ¶ added in v1.2.0

type Cactive_repo struct {
	XMLName xml.Name `xml:"active_repo,omitempty" json:"active_repo,omitempty"`
	Attrid  string   `xml:"id,attr,omitempty"  json:",omitempty"`
}

type Cadditional_column ¶ added in v1.2.0

type Cadditional_column struct {
	XMLName              xml.Name `xml:"additional_column,omitempty" json:"additional_column,omitempty"`
	AttrattributeName    string   `xml:"attributeName,attr,omitempty"  json:",omitempty"`
	AttrdefaultVisibilty string   `xml:"defaultVisibilty,attr,omitempty"  json:",omitempty"`
	AttrmessageId        string   `xml:"messageId,attr,omitempty"  json:",omitempty"`
	AttrmessageString    string   `xml:"messageString,attr,omitempty"  json:",omitempty"`
	AttrsortType         string   `xml:"sortType,attr,omitempty"  json:",omitempty"`
	AttrreactModifier    string   `xml:"reactModifier,attr,omitempty"  json:",omitempty"`
	AttrmetaAdditional   string   `xml:"metaAdditional,attr,omitempty"  json:",omitempty"`
}

type Cadmin_data ¶ added in v1.4.0

type Cadmin_data struct {
	XMLName                 xml.Name                 `xml:"admin_data,omitempty" json:"admin_data,omitempty"`
	Cajxpcore               *Cajxpcore               `xml:"ajxpcore,omitempty" json:"ajxpcore,omitempty"`
	Cplugin_settings_values *Cplugin_settings_values `xml:"plugin_settings_values,omitempty" json:"ajxpcore,omitempty"`
}

type Cajxpcore ¶ added in v1.4.0

type Cajxpcore struct {
	XMLName          xml.Name          `xml:"ajxpcore,omitempty" json:"ajxpcore,omitempty"`
	Attrdescription  string            `xml:"description,attr,omitempty"  json:",omitempty"`
	Attrid           string            `xml:"id,attr,omitempty"  json:",omitempty"`
	Attrlabel        string            `xml:"label,attr,omitempty"  json:",omitempty"`
	Cclient_settings *Cclient_settings `xml:"client_settings,omitempty" json:"client_settings,omitempty"`
	Cserver_settings *Cserver_settings `xml:"server_settings,omitempty" json:"server_settings,omitempty"`
	Cplugin_configs  *Cplugin_configs  `xml:"plugin_configs,omitempty" json:"plugin_configs,omitempty"`
}

type Cajxpdriver ¶ added in v1.2.0

type Cajxpdriver struct {
	Cplugin
	XMLName xml.Name `xml:"ajxpdriver,omitempty" json:"ajxpdriver,omitempty"`
}

type Cclass_definition ¶ added in v1.2.0

type Cclass_definition struct {
	XMLName       xml.Name `xml:"class_definition,omitempty" json:"class_definition,omitempty"`
	Attrclassname string   `xml:"classname,attr,omitempty"  json:",omitempty"`
	Attrfilename  string   `xml:"filename,attr,omitempty"  json:",omitempty"`
}

type CclientCallback ¶ added in v1.2.0

type CclientCallback struct {
	XMLName    xml.Name `xml:"clientCallback,omitempty" json:"clientCallback,omitempty"`
	Attrmodule string   `xml:"module,attr,omitempty"  json:",omitempty"`
	Cdata      string   `xml:",cdata" json:",omitempty"`
}

type CclientForm ¶ added in v1.2.0

type CclientForm struct {
	XMLName    xml.Name `xml:"clientForm,omitempty" json:"clientForm,omitempty"`
	Attrid     string   `xml:"id,attr,omitempty"  json:",omitempty"`
	Attrmodule string   `xml:"module,attr,omitempty"  json:",omitempty"`
	Cdata      string   `xml:",cdata" json:",omitempty"`
}

type CclientListener ¶ added in v1.2.0

type CclientListener struct {
	XMLName    xml.Name `xml:"clientListener,omitempty" json:"clientListener,omitempty"`
	Attrmodule string   `xml:"module,attr,omitempty"  json:",omitempty"`
	Attrname   string   `xml:"name,attr,omitempty"  json:",omitempty"`
}

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 Ccore_relation struct {
	XMLName            xml.Name `xml:"core_relation,omitempty" json:"core_relation,omitempty"`
	Attrpackaged       string   `xml:"packaged,attr,omitempty"  json:",omitempty"`
	Attrtested_version string   `xml:"tested_version,attr,omitempty"  json:",omitempty"`
}

type Ccss ¶ added in v1.2.0

type Ccss struct {
	XMLName      xml.Name `xml:"css,omitempty" json:"css,omitempty"`
	Attrautoload string   `xml:"autoload,attr,omitempty"  json:",omitempty"`
	Attrfile     string   `xml:"file,attr,omitempty"  json:",omitempty"`
}

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 Cdescription struct {
	XMLName xml.Name `xml:"description,omitempty" json:"description,omitempty"`
	Cdata   string   `xml:",cdata" json:",omitempty"`
}

type CdynamicBuilder ¶ added in v1.2.0

type CdynamicBuilder struct {
	XMLName    xml.Name `xml:"dynamicBuilder,omitempty" json:"dynamicBuilder,omitempty"`
	Attrmodule string   `xml:"module,attr,omitempty"  json:",omitempty"`
}

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 CextensionOnInit struct {
	XMLName xml.Name `xml:"extensionOnInit,omitempty" json:"extensionOnInit,omitempty"`
	Cdata   string   `xml:",cdata" json:",omitempty"`
}

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 Ci18n struct {
	XMLName       xml.Name `xml:"i18n,omitempty" json:"i18n,omitempty"`
	Attrnamespace string   `xml:"namespace,attr,omitempty"  json:",omitempty"`
	Attrpath      string   `xml:"path,attr,omitempty"  json:",omitempty"`
	Attrremote    string   `xml:"remote,attr,omitempty"  json:",omitempty"`
}

type CinfoPanel ¶ added in v1.2.0

type CinfoPanel struct {
	XMLName            xml.Name `xml:"infoPanel,omitempty" json:"infoPanel,omitempty"`
	Attrmime           string   `xml:"mime,attr,omitempty"  json:",omitempty"`
	AttrreactComponent string   `xml:"reactComponent,attr,omitempty"  json:",omitempty"`
	Attrtheme          string   `xml:"theme,attr,omitempty"  json:",omitempty"`
	Attrweight         string   `xml:"weight,attr,omitempty"  json:",omitempty"`
}

type Cinput_param ¶ added in v1.2.0

type Cinput_param struct {
	XMLName         xml.Name `xml:"input_param,omitempty" json:"input_param,omitempty"`
	Attrdefault     string   `xml:"default,attr,omitempty"  json:",omitempty"`
	Attrdescription string   `xml:"description,attr,omitempty"  json:",omitempty"`
	Attrmandatory   string   `xml:"mandatory,attr,omitempty"  json:",omitempty"`
	Attrname        string   `xml:"name,attr,omitempty"  json:",omitempty"`
	Attrtype        string   `xml:"type,attr,omitempty"  json:",omitempty"`
}

type Cjs ¶ added in v1.2.0

type Cjs struct {
	XMLName               xml.Name `xml:"js,omitempty" json:"js,omitempty"`
	AttrclassName         string   `xml:"className,attr,omitempty"  json:",omitempty"`
	Attrdepends           string   `xml:"depends,attr,omitempty"  json:",omitempty"`
	Attrexpose            string   `xml:"expose,attr,omitempty"  json:",omitempty"`
	AttrfallbackCondition string   `xml:"fallbackCondition,attr,omitempty"  json:",omitempty"`
	AttrfallbackFile      string   `xml:"fallbackFile,attr,omitempty"  json:",omitempty"`
	Attrfile              string   `xml:"file,attr,omitempty"  json:",omitempty"`
}

type Clabel ¶ added in v1.2.0

type Clabel struct {
	XMLName xml.Name `xml:"label,omitempty" json:"label,omitempty"`
	Cdata   string   `xml:",cdata" json:",omitempty"`
}

type Cmeta ¶ added in v1.2.0

type Cmeta struct {
	Cplugin
	XMLName xml.Name `xml:"meta,omitempty" json:"meta,omitempty"`
}

type Cmodifier ¶ added in v1.2.1

type Cmodifier struct {
	XMLName    xml.Name `xml:"modifier,omitempty" json:"modifier,omitempty"`
	Attrmodule string   `xml:"module,attr,omitempty"  json:",omitempty"`
}

type Cnode_provider ¶ added in v1.2.0

type Cnode_provider struct {
	XMLName         xml.Name `xml:"node_provider,omitempty" json:"node_provider,omitempty"`
	AttrajxpClass   string   `xml:"ajxpClass,attr,omitempty"  json:",omitempty"`
	AttrajxpOptions string   `xml:"ajxpOptions,attr,omitempty"  json:",omitempty"`
}

type Coutput ¶ added in v1.2.0

type Coutput struct {
	XMLName  xml.Name `xml:"output,omitempty" json:"output,omitempty"`
	Attrtype string   `xml:"type,attr,omitempty"  json:",omitempty"`
}

type Cparam ¶ added in v1.2.0

type Cparam struct {
	Cglobal_param
	XMLName   xml.Name `xml:"param,omitempty" json:"param,omitempty"`
	Attrscope string   `xml:"scope,attr,omitempty"  json:",omitempty"`
	Attrname  string   `xml:"name,attr,omitempty"  json:",omitempty"`
	Attrvalue string   `xml:"value,attr,omitempty"  json:",omitempty"`
}

type Cplugin ¶ added in v1.2.0

type Cplugin struct {
	XMLName                 xml.Name                 `xml:"plugin,omitempty" json:"plugin,omitempty"`
	Attrdescription         string                   `xml:"description,attr,omitempty"  json:",omitempty"`
	Attrenabled             string                   `xml:"enabled,attr,omitempty"  json:",omitempty"`
	Attrid                  string                   `xml:"id,attr,omitempty"  json:",omitempty"`
	Attrlabel               string                   `xml:"label,attr,omitempty"  json:",omitempty"`
	Attrname                string                   `xml:"name,attr,omitempty"  json:",omitempty"`
	Cclient_settings        *Cclient_settings        `xml:"client_settings,omitempty" json:"client_settings,omitempty"`
	Cplugin_configs         *Cplugin_configs         `xml:"plugin_configs,omitempty" json:"plugin_configs,omitempty"`
	Cplugin_info            *Cplugin_info            `xml:"plugin_info,omitempty" json:"plugin_info,omitempty"`
	Cserver_settings        *Cserver_settings        `xml:"server_settings,omitempty" json:"server_settings,omitempty"`
	Cregistry_contributions *Cregistry_contributions `xml:"registry_contributions,omitempty" json:"registry_contributions,omitempty"`
	Cdependencies           *Cdependencies           `xml:"dependencies,omitempty" json:"dependencies,omitempty"`
}

func (*Cplugin) AlwaysEnabled ¶ added in v1.2.0

func (plugin *Cplugin) AlwaysEnabled() bool

func (*Cplugin) AutoEnabled ¶

func (plugin *Cplugin) AutoEnabled() bool

func (*Cplugin) DefaultEnabled ¶ added in v1.2.0

func (plugin *Cplugin) DefaultEnabled() bool

func (*Cplugin) DefaultParameters ¶ added in v1.2.0

func (plugin *Cplugin) DefaultParameters() map[string]interface{}

func (*Cplugin) ExposeConfigs ¶ added in v1.2.0

func (plugin *Cplugin) ExposeConfigs(c map[string]interface{})

func (*Cplugin) FilterActions ¶ added in v1.2.0

func (plugin *Cplugin) FilterActions(status RequestStatus, pool *PluginsPool, actions []*Caction) (output []*Caction)

func (*Cplugin) GetClientSettings ¶ added in v1.2.0

func (plugin *Cplugin) GetClientSettings() *Cclient_settings

func (*Cplugin) GetDependencies ¶ added in v1.2.0

func (plugin *Cplugin) GetDependencies() *Cdependencies

func (*Cplugin) GetDescription ¶ added in v1.2.0

func (plugin *Cplugin) GetDescription() string

func (*Cplugin) GetEnabled ¶ added in v1.2.0

func (plugin *Cplugin) GetEnabled() string

func (*Cplugin) GetId ¶ added in v1.2.0

func (plugin *Cplugin) GetId() string

func (*Cplugin) GetLabel ¶ added in v1.2.0

func (plugin *Cplugin) GetLabel() string

func (*Cplugin) GetName ¶ added in v1.2.0

func (plugin *Cplugin) GetName() string

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 (plugin *Cplugin) ListDependencies() (ids []string)

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 CpluginClass struct {
	XMLName        xml.Name `xml:"pluginClass,omitempty" json:"pluginClass,omitempty"`
	AttrpluginName string   `xml:"pluginName,attr,omitempty"  json:",omitempty"`
}

type CpluginResources ¶ added in v1.2.0

type CpluginResources struct {
	XMLName        xml.Name `xml:"pluginResources,omitempty" json:"pluginResources,omitempty"`
	AttrpluginName string   `xml:"pluginName,attr,omitempty"  json:",omitempty"`
}

type Cplugin_author ¶ added in v1.2.0

type Cplugin_author struct {
	XMLName xml.Name `xml:"plugin_author,omitempty" json:"plugin_author,omitempty"`
	// contains filtered or unexported fields
}

type Cplugin_configs ¶ added in v1.2.0

type Cplugin_configs struct {
	XMLName   xml.Name     `xml:"plugin_configs,omitempty" json:"plugin_configs,omitempty"`
	Cproperty []*Cproperty `xml:"property,omitempty" json:"property,omitempty"`
}

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_author  *Cplugin_author  `xml:"plugin_author,omitempty" json:"plugin_author,omitempty"`
	Cplugin_uri     *Cplugin_uri     `xml:"plugin_uri,omitempty" json:"plugin_uri,omitempty"`
	Cplugin_version *Cplugin_version `xml:"plugin_version,omitempty" json:"plugin_version,omitempty"`
}

type Cplugin_settings_values ¶ added in v1.4.0

type Cplugin_settings_values struct {
	XMLName xml.Name  `xml:"plugin_settings_values,omitempty" json:"admin_data,omitempty"`
	Cparam  []*Cparam `xml:"param,omitempty" json:"param,omitempty"`
}

type Cplugin_uri ¶ added in v1.2.0

type Cplugin_uri struct {
	XMLName xml.Name `xml:"plugin_uri,omitempty" json:"plugin_uri,omitempty"`
	Cdata   string   `xml:",cdata" json:",omitempty"`
}

type Cplugin_version ¶ added in v1.2.0

type Cplugin_version struct {
	XMLName xml.Name `xml:"plugin_version,omitempty" json:"plugin_version,omitempty"`
	Cdata   string   `xml:",cdata" json:",omitempty"`
}

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 Cpost_processing struct {
	XMLName xml.Name `xml:"post_processing,omitempty" json:"post_processing,omitempty"`
}

type Cpre_processing ¶ added in v1.2.0

type Cpre_processing struct {
	XMLName xml.Name `xml:"pre_processing,omitempty" json:"pre_processing,omitempty"`
}

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 Cpreferences struct {
	XMLName xml.Name `xml:"preferences,omitempty" json:"preferences,omitempty"`
	Cpref   []*Cpref `xml:"pref,omitempty" json:"pref,omitempty"`
}

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 Cproperty struct {
	XMLName   xml.Name `xml:"property,omitempty" json:"property,omitempty"`
	Attrname  string   `xml:"name,attr,omitempty"  json:",omitempty"`
	Attrvalue string   `xml:"value,attr,omitempty"  json:",omitempty"`
	Cdata     string   `xml:",cdata" json:",omitempty"`
}

type Cpydio_registry ¶ added in v1.2.0

type Cpydio_registry struct {
	XMLName         xml.Name         `xml:"pydio_registry,omitempty" json:"pydio_registry,omitempty"`
	Cactions        *Cactions        `xml:"actions,omitempty" json:"actions,omitempty"`
	Cclient_configs *Cclient_configs `xml:"client_configs,omitempty" json:"client_configs,omitempty"`
	Cextensions     *Cextensions     `xml:"extensions,omitempty" json:"extensions,omitempty"`
	Cplugins        *Cplugins        `xml:"plugins,omitempty" json:"plugins,omitempty"`
	Cuser           *Cuser           `xml:"user,omitempty" json:"user,omitempty"`
}

type Cregistry_contributions ¶ added in v1.2.0

type Cregistry_contributions struct {
	XMLName         xml.Name         `xml:"registry_contributions,omitempty" json:"registry_contributions,omitempty"`
	Cactions        *Cactions        `xml:"actions,omitempty" json:"actions,omitempty"`
	Cclient_configs *Cclient_configs `xml:"client_configs,omitempty" json:"client_configs,omitempty"`
	Cextensions     *Cextensions     `xml:"extensions,omitempty" json:"extensions,omitempty"`
}

type Crepo ¶ added in v1.2.0

type Crepo struct {
	XMLName                      xml.Name          `xml:"repo,omitempty" json:"repo,omitempty"`
	Attraccess_type              string            `xml:"access_type,attr,omitempty"  json:",omitempty"`
	Attracl                      string            `xml:"acl,attr,omitempty"  json:",omitempty"`
	AttrallowCrossRepositoryCopy string            `xml:"allowCrossRepositoryCopy,attr,omitempty"  json:",omitempty"`
	Attrid                       string            `xml:"id,attr,omitempty"  json:",omitempty"`
	Attrowner                    string            `xml:"owner,attr,omitempty"  json:",omitempty"`
	AttrrepositorySlug           string            `xml:"repositorySlug,attr,omitempty"  json:",omitempty"`
	Attrrepository_type          string            `xml:"repository_type,attr,omitempty"  json:",omitempty"`
	Attruser_editable_repository string            `xml:"user_editable_repository,attr,omitempty"  json:",omitempty"`
	Cclient_settings             *Cclient_settings `xml:"client_settings,omitempty" json:"client_settings,omitempty"`
	Cdescription                 *Cdescription     `xml:"description,omitempty" json:"description,omitempty"`
	Clabel                       *Clabel           `xml:"label,omitempty" json:"label,omitempty"`
}

type Crepositories ¶ added in v1.2.0

type Crepositories struct {
	XMLName xml.Name `xml:"repositories,omitempty" json:"repositories,omitempty"`
	Crepo   []*Crepo `xml:"repo,omitempty" json:"repo,omitempty"`
}

type Cresources ¶ added in v1.2.0

type Cresources struct {
	XMLName xml.Name `xml:"resources,omitempty" json:"resources,omitempty"`
	Ccss    []*Ccss  `xml:"css,omitempty" json:"css,omitempty"`
	Ci18n   []*Ci18n `xml:"i18n,omitempty" json:"i18n,omitempty"`
	Cjs     []*Cjs   `xml:"js,omitempty" json:"js,omitempty"`
}

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 Cspecial_rights struct {
	XMLName      xml.Name `xml:"special_rights,omitempty" json:"special_rights,omitempty"`
	Attris_admin string   `xml:"is_admin,attr,omitempty"  json:",omitempty"`
	Attrlock     string   `xml:"lock,attr,omitempty"  json:",omitempty"`
}

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 CustomWording struct {
	Title      string `json:"title"`
	Icon       string `json:"icon"`
	IconBinary string `json:"iconBinary"`
}

type EnrollMiddlewareFunc ¶ added in v1.2.0

type EnrollMiddlewareFunc func(req *restful.Request, rsp *restful.Response, inputRequest *rest.FrontEnrollAuthRequest) bool

type ExposedParam ¶ added in v1.2.0

type ExposedParam struct {
	Cparam
	PluginId string
}

type FrontMiddleware ¶ added in v1.2.0

type FrontMiddleware struct {
	Endpoint   string
	Middleware EnrollMiddlewareFunc
}

type I18nMessages ¶ added in v1.2.0

type I18nMessages struct {
	Messages     map[string]string
	ConfMessages map[string]string
}

type IndexFile ¶

type IndexFile struct {
	// contains filtered or unexported fields
}

func (*IndexFile) Close ¶

func (i *IndexFile) Close() error

func (*IndexFile) Read ¶

func (i *IndexFile) Read(p []byte) (n int, err error)

func (*IndexFile) Readdir ¶

func (i *IndexFile) Readdir(count int) ([]os.FileInfo, error)

func (*IndexFile) Seek ¶

func (i *IndexFile) Seek(offset int64, whence int) (int64, error)

func (*IndexFile) Stat ¶

func (i *IndexFile) Stat() (os.FileInfo, error)

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{}
}

func LoadPluginFromXML ¶ added in v1.2.0

func LoadPluginFromXML(id string, data []byte) (output Plugin, err error)

type PluginBox ¶

type PluginBox struct {
	Box        packr.Box
	Exposes    []string
	ExposeFunc func() []string
}

func GetRegisteredPluginBoxes ¶

func GetRegisteredPluginBoxes() []PluginBox

type PluginModifier ¶ added in v1.2.0

type PluginModifier func(ctx context.Context, status RequestStatus, plugin Plugin) error

PluginModifier is a func type for dynamically filtering the content of a plugin (e.g enabled/disabled), based on the current status

type PluginsPool ¶ added in v1.2.0

type PluginsPool struct {
	Plugins map[string]Plugin

	Messages map[string]I18nMessages
	// contains filtered or unexported fields
}

func GetPluginsPool ¶ added in v1.2.0

func GetPluginsPool() (*PluginsPool, error)

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

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 RequestStatus struct {
	Config        config2.Config
	AclParameters *config.Map
	AclActions    *config.Map
	WsScopes      []string

	User     *User
	NoClaims bool
	Lang     string

	Request *http.Request
}

type UnionHttpFs ¶

type UnionHttpFs struct {
	// contains filtered or unexported fields
}

func GetPluginsFS ¶ added in v1.2.0

func GetPluginsFS() *UnionHttpFs

func NewUnionHttpFs ¶

func NewUnionHttpFs(boxes ...PluginBox) *UnionHttpFs

func (*UnionHttpFs) Open ¶

func (p *UnionHttpFs) Open(name string) (http.File, error)

type User ¶ added in v1.2.0

type User struct {
	Logged           bool
	Claims           claim.Claims
	AccessList       *permissions.AccessList
	Workspaces       map[string]*Workspace
	UserObject       *idm.User
	ActiveWorkspace  string
	ActiveAccessType string
	HasLocks         bool
	Locks            []string
}

func (*User) FlattenedFrontValues ¶ added in v1.2.2

func (u *User) FlattenedFrontValues() *config.Map

FlattenedFrontValues generates a config.Map with frontend actions/parameters configs

func (*User) FlattenedRolesConfigByName ¶ added in v1.4.0

func (u *User) FlattenedRolesConfigByName(pluginId string, name string) string

func (*User) FlattenedRolesConfigs ¶ added in v1.2.0

func (u *User) FlattenedRolesConfigs() *config.Map

func (*User) GetActiveScopes ¶ added in v1.2.0

func (u *User) GetActiveScopes() (scopes []string)

func (*User) Load ¶ added in v1.2.0

func (u *User) Load(ctx context.Context) error

func (*User) LoadActiveLanguage ¶ added in v1.2.0

func (u *User) LoadActiveLanguage(parameter string) string

func (*User) LoadActiveWorkspace ¶ added in v1.2.0

func (u *User) LoadActiveWorkspace(parameter string)

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

type Workspace ¶ added in v1.2.0

type Workspace struct {
	idm.Workspace
	AccessType  string
	AccessRight string
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL