summaryrefslogtreecommitdiff
path: root/internal/blogtrigger/blogtrigger.go
diff options
from:
to:
context:
space:
mode:
authorGravatar Saya Andy <145215889+SayaAndy@users.noreply.github.com> 2026-05-02 23:49:00 +0700
committerGravatar GitHub <noreply@github.com> 2026-05-02 23:49:00 +0700
commitd8de4ede8c6a0cc02b9c8c30d68155b1f838254c (patch)
tree449701dcf7ac0aafc7f21116b77203d0cc51fc98 /internal/blogtrigger/blogtrigger.go
parent4c05d4c66827d6e5a131c657ee08293bcde497d1 (diff)
parentcca3ff72b5e29b31122c0a0496be741e7bc0162b (diff)
downloadweb-0.14.0.tar.gz
web-0.14.0.zip
v0.14.0 (#27)v0.14.0
* [feat: migrate to uz.saya.casa](https://github.com/SayaAndy/saya-today-web/commit/d3a63ca8a84bf4583bac8f5fd09bd52774bc4158) * [feat: overhaul the design of blog catalog](https://github.com/SayaAndy/saya-today-web/commit/99294b260661a8d3f6992404de7881945eab837b) * [feat: replace font-andika with M PLUS and Gentium Plus](https://github.com/SayaAndy/saya-today-web/commit/b1355436e96f2dfa777e843b53896d0bb71628e3) * [feat: use yandexcloud.kz for photos & static](https://github.com/SayaAndy/saya-today-web/commit/3898baa47faf268864ecac3699f7e98c6cac01a4) * [feat: move from b2 to s3 for blog pages & facts](https://github.com/SayaAndy/saya-today-web/commit/3efa6ed24713658af855c0ca9504f3e089342182) * [feat: support s3 for blog pages](https://github.com/SayaAndy/saya-today-web/commit/66b2a96fcca113105043be3cb9c49f8ee7fe240c) * [feat: use accent colors for glightbox tooltip](https://github.com/SayaAndy/saya-today-web/commit/81a9147c5406e3b2f2441373b935d7c5de2780da) * [fix: set sidecar onclick attribute correctly in update](https://github.com/SayaAndy/saya-today-web/commit/941bd3b3f3e26ca62757a34a20bc9b323be02a74) * [fix: set cache-control for non-cacheable pages](https://github.com/SayaAndy/saya-today-web/commit/78d6b00cd973e4254ea13cbb17bb35a30fef51b9) * [feat: update font-awesome 6.7.2 to 7.2.0](https://github.com/SayaAndy/saya-today-web/commit/5e64aa9db2796e8aa6267d2ed9179ea01dc6561b) * [fix: remove leading slash in path with going up](https://github.com/SayaAndy/saya-today-web/commit/13428b467f752d9b53b39a3c8122998f1896ed1e) * [feat: implement rate limiting](https://github.com/SayaAndy/saya-today-web/commit/ca1f36376865cb2a20923aa62fdff3ee217abde3) * [feat: integrate unix sockets into stage & prod](https://github.com/SayaAndy/saya-today-web/commit/507bcbac6b1bf9f1a731afbe82bec10700f4028c) * [feat: compact & move new fonts into yandexcloud.kz](https://github.com/SayaAndy/saya-today-web/pull/27/commits/cca3ff72b5e29b31122c0a0496be741e7bc0162b) * [feat: update all github actions, golang dependencies, golang to 1.26, alpine to 3.23](https://github.com/SayaAndy/saya-today-web/commit/a3aa1dd07abfbbb27a7dfeeb536a6fcc51709256) * [refactor: simpler frontmatter parser (replace regexp with bytes pkg)](https://github.com/SayaAndy/saya-today-web/commit/42bf9d8e7f459f9021fb6fb389d3b51fed5edc35) * [feat: allow some api methods + disallow user pages for bots](https://github.com/SayaAndy/saya-today-web/commit/e3c80a07514a052adafd5c0f51daf69b664530e0)
Diffstat (limited to 'internal/blogtrigger/blogtrigger.go')
-rw-r--r--internal/blogtrigger/blogtrigger.go22
1 files changed, 11 insertions, 11 deletions
diff --git a/internal/blogtrigger/blogtrigger.go b/internal/blogtrigger/blogtrigger.go
index c5b3097..81efafe 100644
--- a/internal/blogtrigger/blogtrigger.go
+++ b/internal/blogtrigger/blogtrigger.go
@@ -5,29 +5,29 @@ import (
"log/slog"
"github.com/SayaAndy/saya-today-web/config"
- "github.com/SayaAndy/saya-today-web/internal/b2"
+ "github.com/SayaAndy/saya-today-web/internal/blog"
"github.com/go-co-op/gocron/v2"
)
type BlogTriggerScheduler struct {
s gocron.Scheduler
- knownBlogPages map[string]map[string]*b2.BlogPage
- b2Client *b2.B2Client
- onTrigger func([]*b2.BlogPage) error
+ knownBlogPages map[string]map[string]*blog.Page
+ blogClient blog.Client
+ onTrigger func([]*blog.Page) error
}
-func NewBlogTriggerScheduler(b2Client *b2.B2Client, availableLanguages []config.AvailableLanguageConfig, cron string, onTrigger func([]*b2.BlogPage) error) (*BlogTriggerScheduler, error) {
+func NewBlogTriggerScheduler(blogClient blog.Client, availableLanguages []config.AvailableLanguageConfig, cron string, onTrigger func([]*blog.Page) error) (*BlogTriggerScheduler, error) {
s, err := gocron.NewScheduler()
if err != nil {
return nil, fmt.Errorf("failed to create new scheduler: %w", err)
}
- knownBlogPages := make(map[string]map[string]*b2.BlogPage, len(availableLanguages))
+ knownBlogPages := make(map[string]map[string]*blog.Page, len(availableLanguages))
for _, lang := range availableLanguages {
- knownBlogPages[lang.Name] = make(map[string]*b2.BlogPage)
+ knownBlogPages[lang.Name] = make(map[string]*blog.Page)
}
- bts := &BlogTriggerScheduler{s, knownBlogPages, b2Client, onTrigger}
+ bts := &BlogTriggerScheduler{s, knownBlogPages, blogClient, onTrigger}
defer bts.s.Start()
bts.s.NewJob(gocron.CronJob(cron, false), gocron.NewTask(func(bts *BlogTriggerScheduler) {
@@ -53,10 +53,10 @@ func (bts *BlogTriggerScheduler) Close() error {
return bts.s.Shutdown()
}
-func (bts *BlogTriggerScheduler) scan() (newPages []*b2.BlogPage, err error) {
- newPages = make([]*b2.BlogPage, 0)
+func (bts *BlogTriggerScheduler) scan() (newPages []*blog.Page, err error) {
+ newPages = make([]*blog.Page, 0)
for lang := range bts.knownBlogPages {
- posts, err := bts.b2Client.Scan(lang + "/")
+ posts, err := bts.blogClient.Scan(lang + "/")
if err != nil {
return nil, fmt.Errorf("failed to scan blog pages in b2 on '%s': %w", lang, err)
}