Skip to content
Snippets Groups Projects
Unverified Commit a9fc6d27 authored by Sumner Evans's avatar Sumner Evans
Browse files

connector/matrixfmt: return a whole SendMessageBody

parent c20b435d
No related branches found
No related tags found
No related merge requests found
Pipeline #16454 passed
...@@ -356,14 +356,9 @@ func (l *LinkedInClient) GetUserInfo(ctx context.Context, ghost *bridgev2.Ghost) ...@@ -356,14 +356,9 @@ func (l *LinkedInClient) GetUserInfo(ctx context.Context, ghost *bridgev2.Ghost)
func (l *LinkedInClient) HandleMatrixMessage(ctx context.Context, msg *bridgev2.MatrixMessage) (*bridgev2.MatrixMessageResponse, error) { func (l *LinkedInClient) HandleMatrixMessage(ctx context.Context, msg *bridgev2.MatrixMessage) (*bridgev2.MatrixMessageResponse, error) {
conversationURN := types.NewURN(string(msg.Portal.ID)) conversationURN := types.NewURN(string(msg.Portal.ID))
message, attrs := matrixfmt.Parse(ctx, l.matrixParser, msg.Content)
sendMessagePayload := linkedingo.SendMessagePayload{ sendMessagePayload := linkedingo.SendMessagePayload{
Message: linkedingo.SendMessage{ Message: linkedingo.SendMessage{
Body: linkedingo.SendMessageBody{ Body: matrixfmt.Parse(ctx, l.matrixParser, msg.Content),
Attributes: attrs,
Text: message,
},
ConversationURN: conversationURN, ConversationURN: conversationURN,
}, },
} }
......
...@@ -48,27 +48,26 @@ func toLinkedInAttribute(br linkedinfmt.BodyRange) linkedingo.SendMessageAttribu ...@@ -48,27 +48,26 @@ func toLinkedInAttribute(br linkedinfmt.BodyRange) linkedingo.SendMessageAttribu
} }
} }
func Parse(ctx context.Context, parser *HTMLParser, content *event.MessageEventContent) (string, []linkedingo.SendMessageAttribute) { func Parse(ctx context.Context, parser *HTMLParser, content *event.MessageEventContent) (body linkedingo.SendMessageBody) {
if content.MsgType.IsMedia() && (content.FileName == "" || content.FileName == content.Body) { if content.MsgType.IsMedia() && (content.FileName == "" || content.FileName == content.Body) {
// The body is the filename. // The body is the filename.
return "", nil return
} }
if content.Format != event.FormatHTML { if content.Format != event.FormatHTML {
return content.Body, nil body.Text = content.Body
return
} }
parseCtx := NewContext(ctx) parseCtx := NewContext(ctx)
parseCtx.AllowedMentions = content.Mentions parseCtx.AllowedMentions = content.Mentions
parsed := parser.Parse(content.FormattedBody, parseCtx) parsed := parser.Parse(content.FormattedBody, parseCtx)
if parsed == nil { if parsed == nil {
return "", nil return
} }
var entities []linkedingo.SendMessageAttribute body.Text = parsed.String.String()
if len(parsed.Entities) > 0 { body.Attributes = make([]linkedingo.SendMessageAttribute, len(parsed.Entities))
entities = make([]linkedingo.SendMessageAttribute, len(parsed.Entities)) for i, ent := range parsed.Entities {
for i, ent := range parsed.Entities { body.Attributes[i] = toLinkedInAttribute(ent)
entities[i] = toLinkedInAttribute(ent)
}
} }
return parsed.String.String(), entities return
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment