mirror of
https://github.com/mattermost/mattermost.git
synced 2025-02-25 18:55:24 -06:00
Fixing issue with compliance export encoding (#7042)
This commit is contained in:
@@ -4,6 +4,7 @@
|
||||
package model
|
||||
|
||||
import (
|
||||
"regexp"
|
||||
"time"
|
||||
)
|
||||
|
||||
@@ -64,6 +65,15 @@ func CompliancePostHeader() []string {
|
||||
}
|
||||
}
|
||||
|
||||
func cleanComplianceStrings(in string) string {
|
||||
if matched, _ := regexp.MatchString("^\\s*(=|\\+|\\-)", in); matched {
|
||||
return "'" + in
|
||||
|
||||
} else {
|
||||
return in
|
||||
}
|
||||
}
|
||||
|
||||
func (me *CompliancePost) Row() []string {
|
||||
|
||||
postDeleteAt := ""
|
||||
@@ -77,15 +87,15 @@ func (me *CompliancePost) Row() []string {
|
||||
}
|
||||
|
||||
return []string{
|
||||
me.TeamName,
|
||||
me.TeamDisplayName,
|
||||
cleanComplianceStrings(me.TeamName),
|
||||
cleanComplianceStrings(me.TeamDisplayName),
|
||||
|
||||
me.ChannelName,
|
||||
me.ChannelDisplayName,
|
||||
cleanComplianceStrings(me.ChannelName),
|
||||
cleanComplianceStrings(me.ChannelDisplayName),
|
||||
|
||||
me.UserUsername,
|
||||
me.UserEmail,
|
||||
me.UserNickname,
|
||||
cleanComplianceStrings(me.UserUsername),
|
||||
cleanComplianceStrings(me.UserEmail),
|
||||
cleanComplianceStrings(me.UserNickname),
|
||||
|
||||
me.PostId,
|
||||
time.Unix(0, me.PostCreateAt*int64(1000*1000)).Format(time.RFC3339),
|
||||
@@ -95,7 +105,7 @@ func (me *CompliancePost) Row() []string {
|
||||
me.PostRootId,
|
||||
me.PostParentId,
|
||||
me.PostOriginalId,
|
||||
me.PostMessage,
|
||||
cleanComplianceStrings(me.PostMessage),
|
||||
me.PostType,
|
||||
me.PostProps,
|
||||
me.PostHashtags,
|
||||
|
||||
@@ -25,3 +25,26 @@ func TestCompliancePost(t *testing.T) {
|
||||
t.Fatal()
|
||||
}
|
||||
}
|
||||
|
||||
var cleanTests = []struct {
|
||||
in string
|
||||
expected string
|
||||
}{
|
||||
{"hello", "hello"},
|
||||
{"=hello", "'=hello"},
|
||||
{"+hello", "'+hello"},
|
||||
{"-hello", "'-hello"},
|
||||
{" =hello", "' =hello"},
|
||||
{" +hello", "' +hello"},
|
||||
{" -hello", "' -hello"},
|
||||
{"\t -hello", "'\t -hello"},
|
||||
}
|
||||
|
||||
func TestCleanComplianceStrings(t *testing.T) {
|
||||
for _, tt := range cleanTests {
|
||||
actual := cleanComplianceStrings(tt.in)
|
||||
if actual != tt.expected {
|
||||
t.Errorf("cleanComplianceStrings(%v): expected %v, actual %v", tt.in, tt.expected, actual)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user