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) }