forked from tangled.org/core
Monorepo for Tangled — https://tangled.org
1package db 2 3import ( 4 "log" 5 "sort" 6 "time" 7) 8 9type TimelineEvent struct { 10 *Repo 11 *Follow 12 EventAt time.Time 13} 14 15func (d *DB) MakeTimeline() ([]TimelineEvent, error) { 16 var events []TimelineEvent 17 18 repos, err := d.GetAllRepos() 19 if err != nil { 20 return nil, err 21 } 22 23 follows, err := d.GetAllFollows() 24 if err != nil { 25 return nil, err 26 } 27 28 for _, repo := range repos { 29 log.Println(repo.Created) 30 events = append(events, TimelineEvent{ 31 Repo: &repo, 32 Follow: nil, 33 EventAt: repo.Created, 34 }) 35 } 36 37 for _, follow := range follows { 38 events = append(events, TimelineEvent{ 39 Repo: nil, 40 Follow: &follow, 41 EventAt: follow.FollowedAt, 42 }) 43 } 44 45 sort.Slice(events, func(i, j int) bool { 46 return events[i].EventAt.After(events[j].EventAt) 47 }) 48 49 return events, nil 50}