-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathallpics.go
56 lines (43 loc) · 1.19 KB
/
allpics.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
package main
import (
"context"
bsky "github.com/bluesky-social/indigo/api/bsky"
. "github.com/whyrusleeping/algoz/models"
)
type AllPicsFeed struct {
name string
desc string
// TODO: bad bad bad, need to decouple this once we solidify the interfaces
s *Server
}
var _ (FeedBuilder) = (*AllPicsFeed)(nil)
func (f *AllPicsFeed) Name() string {
return f.name
}
func (f *AllPicsFeed) Description() string {
return f.desc
}
func (f *AllPicsFeed) GetFeed(ctx context.Context, u *User, lim int, cursor *string) (*bsky.FeedGetFeedSkeleton_Output, error) {
skel, curs, err := f.s.getFeed(ctx, "allpics", lim, cursor, nil)
if err != nil {
return nil, err
}
return &bsky.FeedGetFeedSkeleton_Output{
Cursor: curs,
Feed: skel,
}, nil
}
func (f *AllPicsFeed) HandlePost(ctx context.Context, u *User, pref *PostRef, rec *bsky.FeedPost) error {
if rec.Embed != nil && rec.Embed.EmbedImages != nil {
if err := f.s.addPostToFeed(ctx, "allpics", pref.ID); err != nil {
return err
}
}
return nil
}
func (f *AllPicsFeed) HandleLike(context.Context, *User, *bsky.FeedPost) error {
return nil
}
func (f *AllPicsFeed) HandleRepost(context.Context, *User, *postInfo, string) error {
return nil
}