plugins

package
v0.5.1 Latest Latest
Warning

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

Go to latest
Published: Mar 28, 2022 License: Apache-2.0 Imports: 19 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func App

func App(pluginKey string, owner string, cv *assets.App) *database.App

func AppObject

func AppObject(app string, key string, as *assets.Object) *database.Object

func CreateApp

func CreateApp(c *rest.Context, app *database.App) (string, string, error)

Types

type Object

type Object struct {
	// Routes is nil if there is not backend routing
	Routes *chi.Mux

	// Create is nil if there is no special creation handling
	Create http.Handler
}

type ObjectManager

type ObjectManager struct {
	A       *assets.Assets
	M       *run.Manager
	Objects map[string]Object
	// contains filtered or unexported fields
}

func NewObjectManager

func NewObjectManager(a *assets.Assets, m *run.Manager, h http.Handler) (*ObjectManager, error)

func (*ObjectManager) PreparePlugin

func (sm *ObjectManager) PreparePlugin(plugin string) error

func (*ObjectManager) ServeHTTP

func (sm *ObjectManager) ServeHTTP(w http.ResponseWriter, r *http.Request)

type Plugin

type Plugin struct {
	Name string
	Mux  *chi.Mux

	DB  *database.AdminDB
	Run *run.Manager

	// The root heedy server
	Server http.Handler

	EventRouter *events.Router
}

func NewPlugin

func NewPlugin(db *database.AdminDB, m *run.Manager, heedyServer http.Handler, pname string) (*Plugin, error)

func (*Plugin) AfterStart

func (p *Plugin) AfterStart() error

func (*Plugin) Close

func (p *Plugin) Close() error

func (*Plugin) OnUserCreate

func (p *Plugin) OnUserCreate(username string) error

func (*Plugin) Start

func (p *Plugin) Start() error

type PluginEventHandler

type PluginEventHandler struct {
	Plugin  string
	Post    string
	Handler http.Handler
}

func NewPluginEventHandler

func NewPluginEventHandler(p *Plugin, e *assets.Event) (*PluginEventHandler, error)

func (*PluginEventHandler) Fire

func (eh *PluginEventHandler) Fire(e *events.Event)

type PluginManager

type PluginManager struct {
	sync.RWMutex

	Plugins map[string]*pluginElement

	RunManager    *run.Manager
	ObjectManager *ObjectManager

	// The default handler to use
	Handler http.Handler
	// The admin database
	ADB *database.AdminDB
	// contains filtered or unexported fields
}

func NewPluginManager

func NewPluginManager(db *database.AdminDB, h http.Handler) (*PluginManager, error)

func (*PluginManager) Close

func (pm *PluginManager) Close() error

func (*PluginManager) Fire

func (pm *PluginManager) Fire(e *events.Event)

func (*PluginManager) GetInfoByKey

func (pm *PluginManager) GetInfoByKey(apikey string) (*run.Info, error)

func (*PluginManager) Kill

func (pm *PluginManager) Kill() error

func (*PluginManager) ServeHTTP

func (pm *PluginManager) ServeHTTP(w http.ResponseWriter, r *http.Request)

func (*PluginManager) Start

func (pm *PluginManager) Start(heedyServer http.Handler) error

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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