Files
musenalm/pagemodels/page.go
2026-01-25 16:43:53 +01:00

37 lines
1.3 KiB
Go

package pagemodels
import (
"github.com/Theodor-Springmann-Stiftung/musenalm/templating"
"github.com/pocketbase/pocketbase/core"
"github.com/pocketbase/pocketbase/tools/router"
"log/slog"
)
// BaendeCacheInterface defines the interface for Bände cache operations
// We use an interface with accessor methods to avoid circular dependencies
type BaendeCacheInterface interface {
GetEntries() interface{} // Returns []*dbmodels.Entry
GetSeries() interface{} // Returns map[string]*dbmodels.Series
GetEntriesSeries() interface{} // Returns map[string][]*dbmodels.REntriesSeries
GetPlaces() interface{} // Returns map[string]*dbmodels.Place
GetAgents() interface{} // Returns map[string]*dbmodels.Agent
GetEntriesAgents() interface{} // Returns map[string][]*dbmodels.REntriesAgents
GetItems() interface{} // Returns map[string][]*dbmodels.Item
}
type IApp interface {
Core() core.App
ResetDataCache()
ResetHtmlCache()
ResetPagesCache()
ResetBaendeCache()
GetBaendeCache() (BaendeCacheInterface, error)
Logger() *slog.Logger
}
type IPage interface {
Up(app IApp, engine *templating.Engine) error
Down(app IApp, engine *templating.Engine) error
Setup(router *router.Router[*core.RequestEvent], app IApp, engine *templating.Engine) error
}