diff options
| -rw-r--r-- | backend/notes/app.bsky.feed.post.go | 16 |
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 } |
