fork of indigo with slightly nicer lexgen

remove indexer spidering and aggregation entirely

Changed files
+5 -39
indexer
+4 -38
indexer/indexer.go
··· 2 2 3 3 import ( 4 4 "context" 5 - "database/sql" 6 5 "errors" 7 6 "fmt" 8 7 "log/slog" ··· 19 18 20 19 "go.opentelemetry.io/otel" 21 20 "gorm.io/gorm" 22 - "gorm.io/gorm/clause" 23 21 ) 24 22 25 23 const MaxEventSliceLength = 1000000 ··· 33 31 34 32 Crawler *CrawlDispatcher 35 33 36 - doAggregations bool 37 - doSpider bool 38 - 39 34 SendRemoteFollow func(context.Context, string, uint) error 40 35 CreateExternalUser func(context.Context, string) (*models.ActorInfo, error) 41 36 ApplyPDSClientSettings func(*xrpc.Client) ··· 43 38 log *slog.Logger 44 39 } 45 40 46 - func NewIndexer(db *gorm.DB, evtman *events.EventManager, didr did.Resolver, fetcher *RepoFetcher, crawl, aggregate, spider bool) (*Indexer, error) { 41 + func NewIndexer(db *gorm.DB, evtman *events.EventManager, didr did.Resolver, fetcher *RepoFetcher, crawl bool) (*Indexer, error) { 47 42 db.AutoMigrate(&models.FeedPost{}) 48 43 db.AutoMigrate(&models.ActorInfo{}) 49 44 db.AutoMigrate(&models.FollowRecord{}) ··· 51 46 db.AutoMigrate(&models.RepostRecord{}) 52 47 53 48 ix := &Indexer{ 54 - db: db, 55 - events: evtman, 56 - didr: didr, 57 - doAggregations: aggregate, 58 - doSpider: spider, 49 + db: db, 50 + events: evtman, 51 + didr: didr, 59 52 SendRemoteFollow: func(context.Context, string, uint) error { 60 53 return nil 61 54 }, ··· 217 210 } 218 211 219 212 return &ai, nil 220 - } 221 - 222 - func (ix *Indexer) handleInitActor(ctx context.Context, evt *repomgr.RepoEvent, op *repomgr.RepoOp) error { 223 - ai := op.ActorInfo 224 - 225 - if err := ix.db.Clauses(clause.OnConflict{ 226 - Columns: []clause.Column{{Name: "uid"}}, 227 - UpdateAll: true, 228 - }).Create(&models.ActorInfo{ 229 - Uid: evt.User, 230 - Handle: sql.NullString{String: ai.Handle, Valid: true}, 231 - Did: ai.Did, 232 - DisplayName: ai.DisplayName, 233 - Type: ai.Type, 234 - PDS: evt.PDS, 235 - }).Error; err != nil { 236 - return fmt.Errorf("initializing new actor info: %w", err) 237 - } 238 - 239 - if err := ix.db.Create(&models.FollowRecord{ 240 - Follower: evt.User, 241 - Target: evt.User, 242 - }).Error; err != nil { 243 - return err 244 - } 245 - 246 - return nil 247 213 } 248 214 249 215 func isNotFound(err error) bool {
+1 -1
indexer/posts_test.go
··· 61 61 62 62 rf := NewRepoFetcher(maindb, repoman, 10) 63 63 64 - ix, err := NewIndexer(maindb, evtman, didr, rf, false, true, true) 64 + ix, err := NewIndexer(maindb, evtman, didr, rf, false) 65 65 if err != nil { 66 66 t.Fatal(err) 67 67 }