package journal import ( "embed" "io/fs" "git.golem15.com/golem15/sm-journal-plugin/controllers" "git.golem15.com/golem15/summercms/modules/backpack" "git.golem15.com/golem15/summercms/modules/pact" ) // adminFS holds the admin YAML and the nav SVG file by file: the controllers // directory also holds Go sources that are not admin assets. // //go:embed controllers/posts/config_list.yaml controllers/posts/config_form.yaml controllers/posts/config_filter.yaml models/post/fields.yaml models/post/columns.yaml //go:embed assets/images/journal-icon.svg var adminFS embed.FS func (p *Plugin) AdminFS() fs.FS { return adminFS } // AdminControllers hands the controllers a lazy accessor of the booted app, // so they read the database handle at request time. func (p *Plugin) AdminControllers() []pact.AdminController { return controllers.AdminControllers(func() *backpack.App { if p == nil { return nil } return p.app }) } var ( _ pact.AdminAssets = (*Plugin)(nil) _ pact.HasAdminControllers = (*Plugin)(nil) _ pact.HasPermissions = (*Plugin)(nil) _ pact.HasNavigation = (*Plugin)(nil) )