Files
sm-journal-plugin/controllers/admin_registry.go
Jakub Zych 2a3afb5107 feat(16.2-07): purge the host site cache on every admin post and category write
- posts: FormAfterCreate/Update purge after the content_html translations,
  new FormAfterDelete; categories: FormAfterCreate and FormAfterDelete
- NewSiteCachePurger refuses half configuration, non-http(s) URLs, user
  info, fragments, http to a non-loopback host and tokens under 32 chars;
  Boot logs the endpoint host and path once
- TestPostsAdminPurgesSiteCache smoke test
- README: Configuration section (keys, contract, timing, scope), API rows
2026-10-10 18:27:12 +02:00

51 lines
2.1 KiB
Go

package controllers
import (
"git.golem15.com/golem15/summercms/modules/backpack"
"git.golem15.com/golem15/summercms/modules/cabana"
"git.golem15.com/golem15/summercms/modules/pact"
)
// AdminControllers is the plugin's admin controller list. app returns the
// booted application; it is asked on every call, so a controller never keeps
// a database handle of its own.
func AdminControllers(app func() *backpack.App) []pact.AdminController {
return []pact.AdminController{
postsAdminController{app: app},
categoriesAdminController{app: app},
tagsAdminController{app: app},
}
}
func init() {
var _ pact.AdminController = postsAdminController{}
var _ pact.AdminPermissioned = postsAdminController{}
var _ pact.AdminRecordSource = postsAdminController{}
var _ pact.ListExtendQuery = postsAdminController{}
var _ pact.FormExtendQuery = postsAdminController{}
var _ pact.ListRowStates = postsAdminController{}
var _ pact.FilterOptions = postsAdminController{}
var _ pact.FormBeforeCreate = postsAdminController{}
var _ pact.FormBeforeUpdate = postsAdminController{}
var _ pact.FormAfterCreate = postsAdminController{}
var _ pact.FormAfterUpdate = postsAdminController{}
var _ pact.FormBeforeDelete = postsAdminController{}
var _ pact.FormAfterDelete = postsAdminController{}
var _ pact.HasAdminActions = postsAdminController{}
var _ cabana.FieldRelationProvider = postsAdminController{}
var _ pact.AdminController = categoriesAdminController{}
var _ pact.AdminPermissioned = categoriesAdminController{}
var _ pact.AdminRecordSource = categoriesAdminController{}
var _ pact.FormBeforeCreate = categoriesAdminController{}
var _ pact.FormBeforeUpdate = categoriesAdminController{}
var _ pact.FormAfterCreate = categoriesAdminController{}
var _ pact.FormAfterUpdate = categoriesAdminController{}
var _ pact.FormAfterDelete = categoriesAdminController{}
var _ cabana.FieldRelationProvider = categoriesAdminController{}
var _ pact.AdminController = tagsAdminController{}
var _ pact.AdminPermissioned = tagsAdminController{}
var _ pact.AdminRecordSource = tagsAdminController{}
}