Commit be0873d2 authored by Mo Firouz's avatar Mo Firouz
Browse files

Add In-app notifications pipeline hook

parent 71ee7523
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -78,7 +78,7 @@ func NewAppleClientWithHTTP(password string, production bool, httpClient *http.C

func (ac *AppleClient) init(production bool) error {
	if ac.password == "" {
		return errors.New("Missing password.")
		return errors.New("Missing password")
	}

	return nil
+5 −5
Original line number Diff line number Diff line
@@ -48,20 +48,20 @@ func NewGoogleClient(packageName string, serviceKeyFilePath string, timeout int)
	}

	if gc.packageName == "" {
		return nil, errors.New("Missing package name.")
		return nil, errors.New("Missing package name")
	}
	if gc.serviceKeyFilePath == "" {
		return nil, errors.New("Missing service account key.")
		return nil, errors.New("Missing service account key")
	}

	jsonContent, err := ioutil.ReadFile(gc.serviceKeyFilePath)
	if err != nil {
		return nil, errors.New("Failed to read Google service account key.")
		return nil, errors.New("Failed to read Google service account key")
	}

	config, err := google.JWTConfigFromJSON(jsonContent, GOOGLE_IAP_SCOPE)
	if err != nil {
		return nil, errors.New("Failed to parse Google service account key.")
		return nil, errors.New("Failed to parse Google service account key")
	}

	gc.client = config.Client(context.Background())
@@ -71,7 +71,7 @@ func NewGoogleClient(packageName string, serviceKeyFilePath string, timeout int)

func NewGoogleClientWithHTTP(packageName string, httpClient *http.Client) (*GoogleClient, error) {
	if packageName == "" {
		return nil, errors.New("Missing package name.")
		return nil, errors.New("Missing package name")
	}

	gc := &GoogleClient{
+5 −0
Original line number Diff line number Diff line
@@ -188,6 +188,11 @@ func (p *pipeline) processRequest(logger *zap.Logger, session *session, original
	case *Envelope_Rpc:
		p.rpc(logger, session, envelope)

	case *Envelope_NotificationsList:
		p.notificationsList(logger, session, envelope)
	case *Envelope_NotificationsRemove:
		p.notificationsRemove(logger, session, envelope)

	default:
		session.Send(ErrorMessage(envelope.CollationId, UNRECOGNIZED_PAYLOAD, "Unrecognized payload"))
		return
+2 −2
Original line number Diff line number Diff line
@@ -16,7 +16,7 @@ package server

import "go.uber.org/zap"

func (p *pipeline) listNotifications(logger *zap.Logger, session *session, envelope *Envelope) {
func (p *pipeline) notificationsList(logger *zap.Logger, session *session, envelope *Envelope) {
	incoming := envelope.GetNotificationsList()

	if incoming.GetLimit() < 10 || incoming.GetLimit() > 100 {
@@ -34,7 +34,7 @@ func (p *pipeline) listNotifications(logger *zap.Logger, session *session, envel
	session.Send(&Envelope{CollationId: envelope.CollationId, Payload: &Envelope_Notifications{Notifications: notifications}})
}

func (p *pipeline) removeNotifications(logger *zap.Logger, session *session, envelope *Envelope) {
func (p *pipeline) notificationsRemove(logger *zap.Logger, session *session, envelope *Envelope) {
	incoming := envelope.GetNotificationsRemove()

	if len(incoming.NotificationIds) == 0 {
+2 −7
Original line number Diff line number Diff line
@@ -26,15 +26,12 @@ var RUNTIME_MESSAGES = map[string]string{
	"*server.Envelope_Link":                    "tlink",
	"*server.Envelope_Unlink":                  "tunlink",
	"*server.Envelope_SelfFetch":               "tselffetch",
	"*server.Envelope_Self":                    "tself",
	"*server.Envelope_SelfUpdate":              "tselfupdate",
	"*server.Envelope_UsersFetch":              "tusersfetch",
	"*server.Envelope_Users":                   "tusers",
	"*server.Envelope_FriendsAdd":              "tfriendsadd",
	"*server.Envelope_FriendsRemove":           "tfriendsremove",
	"*server.Envelope_FriendsBlock":            "tfriendsblock",
	"*server.Envelope_FriendsList":             "tfriendslist",
	"*server.Envelope_Friends":                 "tfriends",
	"*server.Envelope_GroupsCreate":            "tgroupscreate",
	"*server.Envelope_GroupsUpdate":            "tgroupsupdate",
	"*server.Envelope_GroupsRemove":            "tgroupsremove",
@@ -61,15 +58,13 @@ var RUNTIME_MESSAGES = map[string]string{
	"*server.Envelope_MatchesLeave":            "tmatchesleave",
	"*server.Envelope_StorageList":             "tstoragelist",
	"*server.Envelope_StorageFetch":            "tstoragefetch",
	"*server.Envelope_StorageData":             "tstoragedata",
	"*server.Envelope_StorageWrite":            "tstoragewrite",
	"*server.Envelope_StorageKeys":             "tstoragekeys",
	"*server.Envelope_StorageRemove":           "tstorageremove",
	"*server.Envelope_LeaderboardsList":        "tleaderboardslist",
	"*server.Envelope_Leaderboards":            "tleaderboards",
	"*server.Envelope_LeaderboardRecordsWrite": "tleaderboardrecordswrite",
	"*server.Envelope_LeaderboardRecordsFetch": "tleaderboardrecordsfetch",
	"*server.Envelope_LeaderboardRecordsList":  "tleaderboardrecordslist",
	"*server.Envelope_LeaderboardRecords":      "tleaderboardrecords",
	"*server.Envelope_Rpc":                     "trpc",
	"*server.Envelope_NotificationsList":       "tnotificationslist",
	"*server.Envelope_NotificationsRemove":     "tnotificationsremove",
}