1
0
mirror of https://github.com/mrusme/neonmodem.git synced 2024-09-29 04:45:55 -04:00

Fixed post reply function

This commit is contained in:
マリウス 2023-01-02 23:30:22 -05:00
parent 4a9ed09782
commit 9d8708e7be
No known key found for this signature in database
GPG Key ID: 272ED814BF63261F
2 changed files with 33 additions and 9 deletions

View File

@ -225,22 +225,40 @@ func (sys *System) CreatePost(p *post.Post) error {
} }
func (sys *System) CreateReply(r *reply.Reply) error { func (sys *System) CreateReply(r *reply.Reply) error {
var err error
sys.logger.Debugf("%v", r) sys.logger.Debugf("%v", r)
ID, err := strconv.Atoi(r.ID) ID, err := strconv.Atoi(r.ID)
if err != nil { if err != nil {
return err return err
} }
inReplyTo, err := strconv.Atoi(r.InReplyTo)
var inReplyTo int = -1
if r.InReplyTo != "" {
inReplyTo, err = strconv.Atoi(r.InReplyTo)
if err != nil { if err != nil {
return err return err
} }
}
ap := api.CreatePostModel{ var ap api.CreatePostModel
if inReplyTo == -1 {
// Looks like we're replying directly to a post
ap = api.CreatePostModel{
Raw: r.Body,
TopicID: ID,
CreatedAt: time.Now().Format(time.RFC3339Nano),
}
} else {
// Apparently it's a reply to a comment in a post
ap = api.CreatePostModel{
Raw: r.Body, Raw: r.Body,
TopicID: inReplyTo, TopicID: inReplyTo,
ReplyToPostNumber: ID, ReplyToPostNumber: ID,
CreatedAt: time.Now().Format(time.RFC3339Nano), CreatedAt: time.Now().Format(time.RFC3339Nano),
} }
}
cp, err := sys.client.Posts.Create(context.Background(), &ap) cp, err := sys.client.Posts.Create(context.Background(), &ap)
if err != nil { if err != nil {

View File

@ -1,6 +1,7 @@
package postcreate package postcreate
import ( import (
"encoding/json"
"fmt" "fmt"
"strconv" "strconv"
"strings" "strings"
@ -112,8 +113,10 @@ func (m Model) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
irtSysIDX = pst.SysIDX irtSysIDX = pst.SysIDX
} else { } else {
rply := m.replyToIface.(reply.Reply) rply := m.replyToIface.(reply.Reply)
b, _ := json.Marshal(rply)
m.ctx.Logger.Debug(string(b))
irtID = strconv.Itoa(m.replyToIdx + 1) irtID = strconv.Itoa(m.replyToIdx + 1)
irtIRT = rply.InReplyTo irtIRT = rply.InReplyTo // TODO: THis is empty? Why?
irtSysIDX = rply.SysIDX irtSysIDX = rply.SysIDX
} }
@ -124,6 +127,9 @@ func (m Model) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
SysIDX: irtSysIDX, SysIDX: irtSysIDX,
} }
b, _ := json.Marshal(r)
m.ctx.Logger.Debug(string(b))
err := m.a.CreateReply(&r) err := m.a.CreateReply(&r)
if err != nil { if err != nil {
m.ctx.Logger.Error(err) m.ctx.Logger.Error(err)