From 4535374d80e46e9a5d20c21779c15948e85702b2 Mon Sep 17 00:00:00 2001 From: Tobias Hoffmann Date: Mon, 19 Mar 2018 12:40:37 +0100 Subject: [PATCH] syncFirebaseToken endpoint on sdkService, submit token on new token or token change --- .../push-notifications.service.js | 24 +++++++++++++++---- .../modules/core/services/sdk/sdk.service.js | 6 +++++ 2 files changed, 26 insertions(+), 4 deletions(-) diff --git a/src/js/modules/core/services/push-notifications/push-notifications.service.js b/src/js/modules/core/services/push-notifications/push-notifications.service.js index 6b3b64e8f..4d2eea4b3 100644 --- a/src/js/modules/core/services/push-notifications/push-notifications.service.js +++ b/src/js/modules/core/services/push-notifications/push-notifications.service.js @@ -2,17 +2,18 @@ "use strict"; angular.module("blocktrail.core") - .factory("pushNotificationService", function($rootScope, $window, modalService, $q) { - return new PushNotificationService($rootScope, $window, modalService, $q); + .factory("pushNotificationService", function($rootScope, $window, modalService, $q, sdkService) { + return new PushNotificationService($rootScope, $window, modalService, $q, sdkService); }); - function PushNotificationService($rootScope, $window, modalService, $q) { + function PushNotificationService($rootScope, $window, modalService, $q, sdkService) { var self = this; self._rootScope = $rootScope; self._window = $window; self._modalService = modalService; self._q = $q; + self._sdkService = sdkService; } /** @@ -86,6 +87,14 @@ self._window.FirebasePlugin.getToken(function(token) { console.debug('Push notification token: ' + token); + // Submit token + self._sdkService.syncFirebaseToken({ + device_id: device.uuid, + label: navigator.userAgent, + platform: device.platform, + firebase_token: token + }); + }, function(error) { console.error(error); }); @@ -99,7 +108,14 @@ // Register for token changes self._window.FirebasePlugin.onTokenRefresh(function(token) { - console.debug('token: ' + token); + console.debug('New notification token: ' + token); + // Submit token + self._sdkService.syncFirebaseToken({ + device_id: device.uuid, + label: navigator.userAgent, + platform: device.platform, + firebase_token: token + }); }, function(error) { console.error(error); }); diff --git a/src/js/modules/core/services/sdk/sdk.service.js b/src/js/modules/core/services/sdk/sdk.service.js index 8d48208d6..a8ed45c15 100644 --- a/src/js/modules/core/services/sdk/sdk.service.js +++ b/src/js/modules/core/services/sdk/sdk.service.js @@ -357,4 +357,10 @@ return self.client.post("/mywallet/feedback", null, data); }; + + GenericBlocktrailSDK.prototype.syncFirebaseToken = function (data) { + var self = this; + + return self.client.post("/mywallet/notifications/token", null, data); + }; })();