+6
-2
Makefile
+6
-2
Makefile
+1
-1
cmd/feedweb/feedweb.go
cmd/feedweb/main.go
+1
-1
cmd/feedweb/feedweb.go
cmd/feedweb/main.go
+30
cmd/mostliked/main.go
+30
cmd/mostliked/main.go
···
···
1
+
package main
2
+
3
+
import (
4
+
"log"
5
+
6
+
"github.com/gorilla/websocket"
7
+
8
+
"github.com/edavis/bsky-feeds/pkg/mostliked"
9
+
)
10
+
11
+
func main() {
12
+
conn, _, err := websocket.DefaultDialer.Dial("ws://localhost:6008/subscribe?wantedCollections=app.bsky.feed.post&wantedCollections=app.bsky.feed.like", nil)
13
+
if err != nil {
14
+
log.Fatal("websocket connection error:", err)
15
+
}
16
+
defer conn.Close()
17
+
18
+
jetstreamEvents := make(chan []byte)
19
+
go mostliked.Handler(jetstreamEvents)
20
+
21
+
log.Println("starting up")
22
+
for {
23
+
_, message, err := conn.ReadMessage()
24
+
if err != nil {
25
+
log.Println("error reading from websocket:", err)
26
+
break
27
+
}
28
+
jetstreamEvents <- message
29
+
}
30
+
}
+4
-26
cmd/mostliked/mostliked.go
pkg/mostliked/handler.go
+4
-26
cmd/mostliked/mostliked.go
pkg/mostliked/handler.go
···
1
-
package main
2
3
import (
4
"context"
···
12
13
appbsky "github.com/bluesky-social/indigo/api/bsky"
14
jetstream "github.com/bluesky-social/jetstream/pkg/models"
15
-
db "github.com/edavis/bsky-feeds/pkg/mostliked"
16
-
"github.com/gorilla/websocket"
17
"github.com/karlseguin/ccache/v3"
18
_ "github.com/mattn/go-sqlite3"
19
"github.com/pemistahl/lingua-go"
···
91
return ""
92
}
93
94
-
func processEvents(events <-chan []byte) {
95
ctx := context.Background()
96
97
-
dbCnx, err := sql.Open("sqlite3", "db/mostliked.db?_journal=WAL&_fk=on")
98
if err != nil {
99
log.Fatal("error opening db")
100
}
···
197
}
198
}
199
}
200
-
201
-
func main() {
202
-
conn, _, err := websocket.DefaultDialer.Dial("ws://localhost:6008/subscribe?wantedCollections=app.bsky.feed.post&wantedCollections=app.bsky.feed.like", nil)
203
-
if err != nil {
204
-
log.Fatal("websocket connection error:", err)
205
-
}
206
-
defer conn.Close()
207
-
208
-
jetstreamEvents := make(chan []byte)
209
-
go processEvents(jetstreamEvents)
210
-
211
-
log.Println("starting up")
212
-
for {
213
-
_, message, err := conn.ReadMessage()
214
-
if err != nil {
215
-
log.Println("error reading from websocket:", err)
216
-
break
217
-
}
218
-
jetstreamEvents <- message
219
-
}
220
-
}
···
1
+
package mostliked
2
3
import (
4
"context"
···
12
13
appbsky "github.com/bluesky-social/indigo/api/bsky"
14
jetstream "github.com/bluesky-social/jetstream/pkg/models"
15
+
db "github.com/edavis/bsky-feeds/db/mostliked"
16
"github.com/karlseguin/ccache/v3"
17
_ "github.com/mattn/go-sqlite3"
18
"github.com/pemistahl/lingua-go"
···
90
return ""
91
}
92
93
+
func Handler(events <-chan []byte) {
94
ctx := context.Background()
95
96
+
dbCnx, err := sql.Open("sqlite3", "data/mostliked.db?_journal=WAL&_fk=on")
97
if err != nil {
98
log.Fatal("error opening db")
99
}
···
196
}
197
}
198
}
cmd/mostliked/query.sql
pkg/mostliked/query.sql
cmd/mostliked/query.sql
pkg/mostliked/query.sql
cmd/mostliked/schema.sql
pkg/mostliked/schema.sql
cmd/mostliked/schema.sql
pkg/mostliked/schema.sql
+2
-2
mostliked/feed.go
pkg/mostliked/view.go
+2
-2
mostliked/feed.go
pkg/mostliked/view.go
···
6
"log"
7
"strconv"
8
9
-
db "github.com/edavis/bsky-feeds/pkg/mostliked"
10
_ "github.com/mattn/go-sqlite3"
11
)
12
···
18
19
func Feed(args FeedViewParams) []string {
20
ctx := context.Background()
21
-
dbCnx, err := sql.Open("sqlite3", "db/mostliked.db?_journal=WAL&_fk=on")
22
if err != nil {
23
log.Fatal("error opening db")
24
}
···
6
"log"
7
"strconv"
8
9
+
db "github.com/edavis/bsky-feeds/db/mostliked"
10
_ "github.com/mattn/go-sqlite3"
11
)
12
···
18
19
func Feed(args FeedViewParams) []string {
20
ctx := context.Background()
21
+
dbCnx, err := sql.Open("sqlite3", "data/mostliked.db?_journal=WAL&_fk=on")
22
if err != nil {
23
log.Fatal("error opening db")
24
}
pkg/mostliked/db.go
db/mostliked/db.go
pkg/mostliked/db.go
db/mostliked/db.go
pkg/mostliked/models.go
db/mostliked/models.go
pkg/mostliked/models.go
db/mostliked/models.go
pkg/mostliked/query.sql.go
db/mostliked/query.sql.go
pkg/mostliked/query.sql.go
db/mostliked/query.sql.go
+3
-3
sqlc.yaml
+3
-3
sqlc.yaml