mirror of
https://github.com/Theodor-Springmann-Stiftung/lenz-web.git
synced 2026-03-21 13:55:30 +00:00
Started server
This commit is contained in:
13
app/pages.go
13
app/pages.go
@@ -1,7 +1,5 @@
|
||||
package app
|
||||
|
||||
import "sync"
|
||||
|
||||
type Route struct {
|
||||
Path string
|
||||
Kind string
|
||||
@@ -12,28 +10,19 @@ type Route struct {
|
||||
type Page interface {
|
||||
Discover(app *App) ([]Route, error)
|
||||
Model(app *App, route Route) (map[string]any, error)
|
||||
Render(app *App, route Route, model map[string]any) ([]byte, error)
|
||||
}
|
||||
|
||||
var (
|
||||
pagesMu sync.RWMutex
|
||||
pages []Page
|
||||
)
|
||||
var pages []Page
|
||||
|
||||
func RegisterPage(page Page) {
|
||||
if page == nil {
|
||||
panic("cannot register nil page")
|
||||
}
|
||||
|
||||
pagesMu.Lock()
|
||||
defer pagesMu.Unlock()
|
||||
pages = append(pages, page)
|
||||
}
|
||||
|
||||
func RegisteredPages() []Page {
|
||||
pagesMu.RLock()
|
||||
defer pagesMu.RUnlock()
|
||||
|
||||
ret := make([]Page, len(pages))
|
||||
copy(ret, pages)
|
||||
return ret
|
||||
|
||||
Reference in New Issue
Block a user