forked from
tangled.org/core
Monorepo for Tangled — https://tangled.org
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 "tangled.org/core/appview/notify"
11 tlog "tangled.org/core/log"
12)
13
14type Indexer struct {
15 Issues *issues_indexer.Indexer
16 Pulls *pulls_indexer.Indexer
17 logger *slog.Logger
18 notify.BaseNotifier
19}
20
21func New(logger *slog.Logger) *Indexer {
22 return &Indexer{
23 issues_indexer.NewIndexer("indexes/issues.bleve"),
24 pulls_indexer.NewIndexer("indexes/pulls.bleve"),
25 logger,
26 notify.BaseNotifier{},
27 }
28}
29
30// Init initializes all indexers
31func (ix *Indexer) Init(ctx context.Context, db *db.DB) error {
32 ctx = tlog.IntoContext(ctx, ix.logger)
33 ix.Issues.Init(ctx, db)
34 ix.Pulls.Init(ctx, db)
35 return nil
36}