aboutsummaryrefslogtreecommitdiff
path: root/backend/notes/app.bsky.feed.post.go
diff options
context:
space:
mode:
Diffstat (limited to 'backend/notes/app.bsky.feed.post.go')
-rw-r--r--backend/notes/app.bsky.feed.post.go16
1 files changed, 11 insertions, 5 deletions
diff --git a/backend/notes/app.bsky.feed.post.go b/backend/notes/app.bsky.feed.post.go
index b84594a..41a511a 100644
--- a/backend/notes/app.bsky.feed.post.go
+++ b/backend/notes/app.bsky.feed.post.go
@@ -49,10 +49,6 @@ func (bp *AppBskyFeedPostNote) GetReplyTo() *string {
}
func AppBskyFeedPostFromRecord(record AppBskyFeedPostRecord) (*AppBskyFeedPostNote, error) {
- createdAt, err := time.Parse(time.RFC3339, record.Value.CreatedAt)
- if err != nil {
- return nil, fmt.Errorf("failed to parse timestamp: %w", err)
- }
if record.Value.Text == "" {
return nil, fmt.Errorf("missing required field: text")
}
@@ -60,6 +56,16 @@ func AppBskyFeedPostFromRecord(record AppBskyFeedPostRecord) (*AppBskyFeedPostNo
return nil, fmt.Errorf("missing required field: uri")
}
+ createdAt, err := time.Parse(time.RFC3339, record.Value.CreatedAt)
+ if err != nil {
+ return nil, fmt.Errorf("failed to parse timestamp: %w", err)
+ }
+
+ var replyTo *string
+ if record.Value.Reply != nil {
+ replyTo = &record.Value.Reply.Parent.URI
+ }
+
parts := strings.Split(record.URI, "/") // at://DID/collection/rkey
did := parts[2]
@@ -69,6 +75,6 @@ func AppBskyFeedPostFromRecord(record AppBskyFeedPostRecord) (*AppBskyFeedPostNo
AuthorHandle: "author_handle", // wip
CreatedAt: createdAt,
Text: record.Value.Text,
- ReplyTo: &record.Value.Reply.Parent.URI,
+ ReplyTo: replyTo,
}, nil
}