package controllers import ( "context" "git.golem15.com/golem15/sm-journal-plugin/classes" "git.golem15.com/golem15/summercms/modules/backpack" "git.golem15.com/golem15/summercms/modules/cabana" ) // purgeSiteCache registers a site cache purge for one saved entity to run // after the save transaction commits. Without a published // *classes.SiteCachePurger (no purge configured) or outside a save // transaction it does nothing. func purgeSiteCache(ctx context.Context, app func() *backpack.App, kind, slug string) { if app == nil { return } a := app() if a == nil { return } purger, ok := a.Lookup[*classes.SiteCachePurger]() if !ok || purger == nil { return } tx, ok := cabana.TxFromContext(ctx) if !ok { return } classes.PurgeSiteCacheAfterCommit(ctx, tx, purger, kind, slug) }