forked from
tangled.org/core
fork
Configure Feed
Select the types of activity you want to include in your feed.
this repo has no description
fork
Configure Feed
Select the types of activity you want to include in your feed.
1package db
2
3import (
4 "sort"
5 "time"
6)
7
8type TimelineEvent struct {
9 *Repo
10 *Follow
11 EventAt time.Time
12}
13
14func MakeTimeline(e Execer) ([]TimelineEvent, error) {
15 var events []TimelineEvent
16
17 repos, err := GetAllRepos(e)
18 if err != nil {
19 return nil, err
20 }
21
22 follows, err := GetAllFollows(e)
23 if err != nil {
24 return nil, err
25 }
26
27 for _, repo := range repos {
28 events = append(events, TimelineEvent{
29 Repo: &repo,
30 Follow: nil,
31 EventAt: repo.Created,
32 })
33 }
34
35 for _, follow := range follows {
36 events = append(events, TimelineEvent{
37 Repo: nil,
38 Follow: &follow,
39 EventAt: follow.FollowedAt,
40 })
41 }
42
43 sort.Slice(events, func(i, j int) bool {
44 return events[i].EventAt.After(events[j].EventAt)
45 })
46
47 return events, nil
48}