modweb/manager.go

29 lines
705 B
Go
Raw Normal View History

2020-11-11 23:51:23 +00:00
package modweb
import (
"github.com/gofiber/fiber/v2"
"github.com/gofiber/session/v2"
"net/http"
)
type ModuleManager struct {
module Module
app *App
}
func (mm *ModuleManager) RegisterViews(system http.FileSystem) {
mm.app.views.Register(mm.module.Name(), system)
}
func (mm *ModuleManager) Fiber(handlers ...fiber.Handler) fiber.Router {
return mm.app.fiber.Group("/" + mm.module.Name() + "/", handlers...)
}
func (mm *ModuleManager) Render(ctx *fiber.Ctx, template string, data fiber.Map) error {
return ctx.Render(mm.module.Name() + "/" + template, mm.app.data(data), "layouts/main")
}
func (mm *ModuleManager) Session(ctx *fiber.Ctx) *session.Store {
return mm.app.sessions.Get(ctx)
}