PLT-902 switching to push proxy server
Этот коммит содержится в:
@@ -96,11 +96,8 @@ type EmailSettings struct {
|
||||
ConnectionSecurity string
|
||||
InviteSalt string
|
||||
PasswordResetSalt string
|
||||
|
||||
// For Future Use
|
||||
ApplePushServer string
|
||||
ApplePushCertPublic string
|
||||
ApplePushCertPrivate string
|
||||
SendPushNotifications *bool
|
||||
PushNotificationServer *string
|
||||
}
|
||||
|
||||
type RateLimitSettings struct {
|
||||
@@ -181,6 +178,17 @@ func (o *Config) SetDefaults() {
|
||||
o.TeamSettings.EnableTeamListing = new(bool)
|
||||
*o.TeamSettings.EnableTeamListing = false
|
||||
}
|
||||
|
||||
if o.EmailSettings.SendPushNotifications == nil {
|
||||
o.EmailSettings.SendPushNotifications = new(bool)
|
||||
*o.EmailSettings.SendPushNotifications = true
|
||||
}
|
||||
|
||||
if o.EmailSettings.PushNotificationServer == nil {
|
||||
o.EmailSettings.PushNotificationServer = new(string)
|
||||
*o.EmailSettings.PushNotificationServer = "https://push.mattermost.com"
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
func (o *Config) IsValid() *AppError {
|
||||
|
||||
45
model/push_notification.go
Обычный файл
45
model/push_notification.go
Обычный файл
@@ -0,0 +1,45 @@
|
||||
// Copyright (c) 2015 Mattermost, Inc. All Rights Reserved.
|
||||
// See License.txt for license information.
|
||||
|
||||
package model
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"io"
|
||||
)
|
||||
|
||||
const (
|
||||
PUSH_NOTIFY_APPLE = "apple"
|
||||
PUSH_NOTIFY_ANDROID = "android"
|
||||
)
|
||||
|
||||
type PushNotification struct {
|
||||
Platform string `json:"platform"`
|
||||
ServerId string `json:"server_id"`
|
||||
DeviceId string `json:"device_id"`
|
||||
Category string `json:"category"`
|
||||
Sound string `json:"sound"`
|
||||
Message string `json:"message"`
|
||||
Badge int `json:"badge"`
|
||||
ContentAvailable int `json:"cont_ava"`
|
||||
}
|
||||
|
||||
func (me *PushNotification) ToJson() string {
|
||||
b, err := json.Marshal(me)
|
||||
if err != nil {
|
||||
return ""
|
||||
} else {
|
||||
return string(b)
|
||||
}
|
||||
}
|
||||
|
||||
func PushNotificationFromJson(data io.Reader) *PushNotification {
|
||||
decoder := json.NewDecoder(data)
|
||||
var me PushNotification
|
||||
err := decoder.Decode(&me)
|
||||
if err == nil {
|
||||
return &me
|
||||
} else {
|
||||
return nil
|
||||
}
|
||||
}
|
||||
19
model/push_notification_test.go
Обычный файл
19
model/push_notification_test.go
Обычный файл
@@ -0,0 +1,19 @@
|
||||
// Copyright (c) 2015 Mattermost, Inc. All Rights Reserved.
|
||||
// See License.txt for license information.
|
||||
|
||||
package model
|
||||
|
||||
import (
|
||||
"strings"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestPushNotification(t *testing.T) {
|
||||
msg := PushNotification{Platform: "test"}
|
||||
json := msg.ToJson()
|
||||
result := PushNotificationFromJson(strings.NewReader(json))
|
||||
|
||||
if msg.Platform != result.Platform {
|
||||
t.Fatal("Ids do not match")
|
||||
}
|
||||
}
|
||||
Ссылка в новой задаче
Block a user