frontend

package
v4.3.2-alpha2 Latest Latest
Warning

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

Go to latest
Published: Nov 30, 2023 License: AGPL-3.0 Imports: 41 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

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

func ApplyBootConfModifiers(bootConf *BootConf) error

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

func ApplyEnrollMiddlewares

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

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 NewIndexFile

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

func NewSessionWrapper

func NewSessionWrapper(h http.Handler, dao sessions.DAO, 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

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 RegisterPluginBoxes

func RegisterPluginBoxes(boxes ...PluginBox)

RegisterPluginBoxes adds a PluginBox to registry

func RegisterPluginModifier

func RegisterPluginModifier(modifier PluginModifier)

RegisterPluginModifier appends a PluginModifier to the list

func RegisterRegModifier

func RegisterRegModifier(modifier RegistryModifier)

RegisterRegModifier appends a RegistryModifier to the list

func VersionHash

func VersionHash() string

func WrapAuthMiddleware

func WrapAuthMiddleware(middleware func(middleware AuthMiddleware) AuthMiddleware)

WrapAuthMiddleware registers an additional auth middleware

Types

type BackendConf

type BackendConf struct {
	BuildRevision string
	BuildStamp    string
	License       string
	PackageLabel  string
	PackageType   string
	Version       string
	ServerOffset  int
	PackagingInfo []string
}

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(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

type BootConfModifier func(bootConf *BootConf) error

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

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

type CactiveCondition

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

type CactivePlugin

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

type Cactive_repo

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

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

type Cclass_definition

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

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

type CclientForm

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

type CclientListener

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

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

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

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

type CdynamicBuilder

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

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

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 Ci18n

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

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 Clabel

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

type Cmeta

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

type Cmodifier

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

type Cnode_provider

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

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

type Cparam

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

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 (plugin *Cplugin) AlwaysEnabled() bool

func (*Cplugin) AutoEnabled

func (plugin *Cplugin) AutoEnabled() bool

func (*Cplugin) DefaultEnabled

func (plugin *Cplugin) DefaultEnabled() bool

func (*Cplugin) DefaultParameters

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

func (*Cplugin) ExposeConfigs

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

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 (plugin *Cplugin) GetDescription() string

func (*Cplugin) GetEnabled

func (plugin *Cplugin) GetEnabled() string

func (*Cplugin) GetId

func (plugin *Cplugin) GetId() string

func (*Cplugin) GetLabel

func (plugin *Cplugin) GetLabel() string

func (*Cplugin) GetName

func (plugin *Cplugin) GetName() string

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

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

type CpluginResources

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

type Cplugin_author

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

type Cplugin_configs

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

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

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

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

type Cplugin_version

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

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

type Cpre_processing

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

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

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 Cproperty

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

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 Crepositories struct {
	XMLName xml.Name `xml:"repositories,omitempty" json:"repositories,omitempty"`
	Crepo   []*Crepo `xml:"repo,omitempty" json:"repo,omitempty"`
}

type Cresources

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

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

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

type EnrollMiddlewareFunc

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

type ExposedParam

type ExposedParam struct {
	Cparam
	PluginId string
}

type FrontMiddleware

type FrontMiddleware struct {
	Endpoint   string
	Middleware EnrollMiddlewareFunc
}

type FrontSessionWithRuntimeCtx

type FrontSessionWithRuntimeCtx struct {
	*rest.FrontSessionRequest
	RuntimeCtx context.Context
}

type I18nMessages

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

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

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

type PluginBox

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

PluginBox exposes web assets

func GetRegisteredPluginBoxes

func GetRegisteredPluginBoxes() []PluginBox

GetRegisteredPluginBoxes lists all registered PluginBox

type PluginModifier

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

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

type PluginsPool

type PluginsPool struct {
	Plugins map[string]Plugin

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

func GetPluginsPool

func GetPluginsPool() (*PluginsPool, error)

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(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 RequestStatus struct {
	RuntimeCtx    context.Context
	Config        configx.Values
	AclParameters configx.Values
	AclActions    configx.Values
	WsScopes      []string

	User     *User
	NoClaims bool
	Lang     string

	Request *http.Request
}

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 ...PluginBox) *UnionHttpFs

func (*UnionHttpFs) Open

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

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 (u *User) FlattenedRolesConfigByName(pluginId string, name string) string

func (*User) FlattenedRolesConfigs

func (u *User) FlattenedRolesConfigs() configx.Values

func (*User) GetActiveScopes

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

func (*User) Load

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

func (*User) LoadActiveLanguage

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

func (*User) LoadActiveWorkspace

func (u *User) LoadActiveWorkspace(parameter string)

func (*User) LoadWorkspaces

func (u *User) LoadWorkspaces(ctx context.Context, accessList *permissions.AccessList) error

func (*User) Publish

func (u *User) Publish(status RequestStatus, pool *PluginsPool) *Cuser

type Workspace

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

Directories

Path Synopsis
securecookie
Package securecookie provides tools for using Bolt as a standard persistence layer for services
Package securecookie provides tools for using Bolt as a standard persistence layer for services

Jump to

Keyboard shortcuts

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