Monorepo for Tangled
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

at master 42 lines 988 B view raw
1package indexer 2 3import ( 4 "context" 5 "log/slog" 6 7 "tangled.org/core/appview/db" 8 issues_indexer "tangled.org/core/appview/indexer/issues" 9 pulls_indexer "tangled.org/core/appview/indexer/pulls" 10 repos_indexer "tangled.org/core/appview/indexer/repos" 11 "tangled.org/core/appview/notify" 12 tlog "tangled.org/core/log" 13) 14 15type Indexer struct { 16 Issues *issues_indexer.Indexer 17 Pulls *pulls_indexer.Indexer 18 Repos *repos_indexer.Indexer 19 logger *slog.Logger 20 Db *db.DB 21 notify.BaseNotifier 22} 23 24func New(logger *slog.Logger, db *db.DB) *Indexer { 25 return &Indexer{ 26 issues_indexer.NewIndexer("indexes/issues.bleve"), 27 pulls_indexer.NewIndexer("indexes/pulls.bleve"), 28 repos_indexer.NewIndexer("indexes/repos.bleve"), 29 logger, 30 db, 31 notify.BaseNotifier{}, 32 } 33} 34 35// Init initializes all indexers 36func (ix *Indexer) Init(ctx context.Context) error { 37 ctx = tlog.IntoContext(ctx, ix.logger) 38 ix.Issues.Init(ctx, ix.Db) 39 ix.Pulls.Init(ctx, ix.Db) 40 ix.Repos.Init(ctx, ix.Db) 41 return nil 42}