summaryrefslogtreecommitdiffstats
path: root/model/post.go
diff options
context:
space:
mode:
authorSaturnino Abril <saturnino.abril@gmail.com>2017-10-21 01:38:26 +0800
committerGitHub <noreply@github.com>2017-10-21 01:38:26 +0800
commit18ee37586027e5672446a6f23c05a8ccb2b35896 (patch)
treed915646e73a91b0082ecdf89b7a290291c0c9451 /model/post.go
parentcbb18479e9a4c410664535f6e0f5032d4261dfff (diff)
downloadchat-18ee37586027e5672446a6f23c05a8ccb2b35896.tar.gz
chat-18ee37586027e5672446a6f23c05a8ccb2b35896.tar.bz2
chat-18ee37586027e5672446a6f23c05a8ccb2b35896.zip
[PLT-7362] Option to add user to channel if mentioned user is not currently in the channel (#7619)
* Option to add user to channel if mentioned user is not currently in the channel * instead of link from server, just add component on client side to add channel member * change implementation using post.props * do clean up and add test * sanitize post.props['add_channel_member'] on post creation * move sanitize to app.CreatePost and also apply to app.UpdatePost
Diffstat (limited to 'model/post.go')
-rw-r--r--model/post.go13
1 files changed, 13 insertions, 0 deletions
diff --git a/model/post.go b/model/post.go
index 523a97c73..a5ae0b82a 100644
--- a/model/post.go
+++ b/model/post.go
@@ -33,6 +33,7 @@ const (
POST_MESSAGE_MAX_RUNES = 4000
POST_PROPS_MAX_RUNES = 8000
POST_CUSTOM_TYPE_PREFIX = "custom_"
+ PROPS_ADD_CHANNEL_MEMBER = "add_channel_member"
)
type Post struct {
@@ -188,6 +189,18 @@ func (o *Post) IsValid() *AppError {
return nil
}
+func (o *Post) SanitizeProps() {
+ membersToSanitize := []string{
+ PROPS_ADD_CHANNEL_MEMBER,
+ }
+
+ for _, member := range membersToSanitize {
+ if _, ok := o.Props[member]; ok {
+ delete(o.Props, member)
+ }
+ }
+}
+
func (o *Post) PreSave() {
if o.Id == "" {
o.Id = NewId()