- classes.SiteCachePurger, NewSiteCachePurger, PurgeSiteCacheAfterCommit and the key and limit constants stay as deprecated aliases for one release - wireSiteCache: framework keys site_cache.* win (Journal keys ignored with a warning); with only golem15.journal.site_cache.* set it publishes the purger from them with a deprecation warning, so menu and FAQ saves purge through it too - controllers take the purger from cooler.SiteCacheFromApp - TestSiteCacheFrameworkKeysWin; README documents both key sets
61 lines
2.4 KiB
Go
61 lines
2.4 KiB
Go
package classes
|
|
|
|
import (
|
|
"context"
|
|
|
|
"git.golem15.com/golem15/summercms/modules/cooler"
|
|
"gorm.io/gorm"
|
|
)
|
|
|
|
// The site-cache purge moved into the framework (cooler.SiteCachePurger,
|
|
// configured by site_cache.purge_url and site_cache.purge_token). The names
|
|
// below stay for one release as aliases, so existing deployments and
|
|
// importers keep working.
|
|
const (
|
|
// SiteCachePurgeURLKey is the Journal's old config key of the host
|
|
// site's cache purge URL (env SUMMER_GOLEM15__JOURNAL__SITE_CACHE__PURGE_URL).
|
|
// It is read only when the framework keys are unset.
|
|
//
|
|
// Deprecated: set cooler.SiteCachePurgeURLKey (site_cache.purge_url).
|
|
SiteCachePurgeURLKey = "golem15.journal.site_cache.purge_url"
|
|
// SiteCachePurgeTokenKey is the Journal's old config key of the purge
|
|
// bearer token (env SUMMER_GOLEM15__JOURNAL__SITE_CACHE__PURGE_TOKEN). It
|
|
// is read only when the framework keys are unset.
|
|
//
|
|
// Deprecated: set cooler.SiteCachePurgeTokenKey (site_cache.purge_token).
|
|
SiteCachePurgeTokenKey = "golem15.journal.site_cache.purge_token"
|
|
|
|
// SiteCachePurgeTimeout bounds one purge request.
|
|
//
|
|
// Deprecated: use cooler.SiteCachePurgeTimeout.
|
|
SiteCachePurgeTimeout = cooler.SiteCachePurgeTimeout
|
|
|
|
// SiteCachePurgeMinTokenLength is the shortest purge token accepted.
|
|
//
|
|
// Deprecated: use cooler.SiteCachePurgeMinTokenLength.
|
|
SiteCachePurgeMinTokenLength = cooler.SiteCachePurgeMinTokenLength
|
|
)
|
|
|
|
// SiteCachePurger is the framework's site-cache purger.
|
|
//
|
|
// Deprecated: use cooler.SiteCachePurger.
|
|
type SiteCachePurger = cooler.SiteCachePurger
|
|
|
|
// NewSiteCachePurger returns the purger for purgeURL and token read from the
|
|
// Journal's old keys, whose names its errors carry; the rules are those of
|
|
// cooler.NewSiteCachePurgerFor. With both empty it returns nil, nil.
|
|
//
|
|
// Deprecated: configure site_cache.purge_url and site_cache.purge_token and
|
|
// use cooler.SiteCacheFromApp.
|
|
func NewSiteCachePurger(purgeURL, token string) (*SiteCachePurger, error) {
|
|
return cooler.NewSiteCachePurgerFor(SiteCachePurgeURLKey, SiteCachePurgeTokenKey, purgeURL, token)
|
|
}
|
|
|
|
// PurgeSiteCacheAfterCommit registers p.Purge(kind, slug) to run after the
|
|
// transaction db belongs to commits. A nil p does nothing.
|
|
//
|
|
// Deprecated: use cooler.PurgeSiteCacheAfterCommit.
|
|
func PurgeSiteCacheAfterCommit(ctx context.Context, db *gorm.DB, p *SiteCachePurger, kind, slug string) {
|
|
cooler.PurgeSiteCacheAfterCommit(ctx, db, p, kind, slug)
|
|
}
|