web/interfaces.go

37 lines
649 B
Go
Raw Normal View History

2025-03-27 09:19:08 +01:00
package webserver
import (
"github.com/flosch/pongo2/v6"
"io/fs"
"netgarden.dev/netgarden/maf"
)
type Controller interface {
Register(app *Group)
}
type WebModule interface {
maf.Module
GetWebControllers() []Controller
}
type WebModuleStaticFSProvider interface {
WebModule
GetWebStaticFS() fs.FS
}
type WebModuleTemplatesFSProvider interface {
WebModule
GetWebTemplatesFS() fs.FS
}
type WebModuleTemplateTagsProvider interface {
WebModule
GetWebTemplateTags(renderer *Renderer) map[string]pongo2.TagParser
}
type WebModuleTemplateFiltersProvider interface {
WebModule
GetWebTemplateFilters() map[string]pongo2.FilterFunction
}