From a59bf13e9e3ed129be0ebde423e87b187092c2f8 Mon Sep 17 00:00:00 2001 From: Ricardo Merino Date: Wed, 16 Jan 2019 13:55:20 -0600 Subject: [PATCH] UI-3269-fix: Remove unused device data on user creation and handle device creation error (#114) * Remove this * Don't store device data inside user data, on user creation * user creationg, prevent device error * Revert "Remove this" This reverts commit 7102cf9b4a087321ac2d8ac7dc2b97a44311ed18. --- submodules/users/users.js | 35 +++++++++++++++++++++++++++-------- 1 file changed, 27 insertions(+), 8 deletions(-) diff --git a/submodules/users/users.js b/submodules/users/users.js index 07ad49d..ed7f192 100644 --- a/submodules/users/users.js +++ b/submodules/users/users.js @@ -3914,7 +3914,10 @@ define(function(require) { }, usersCreate: function(data, success, error) { - var self = this; + var self = this, + deviceData = _.get(data, 'user.device'); + + delete data.user.device; monster.waterfall([ function(callback) { @@ -3977,15 +3980,26 @@ define(function(require) { }); }, function(_dataUser, callback) { - if (!data.user.device) { + if (!deviceData) { callback(null); return; } - var deviceData = data.user.device; deviceData.owner_id = _dataUser.id; - self.usersAddUserDevice(deviceData, function(_device) { - callback(null); + + self.usersAddUserDevice({ + data: deviceData, + success: function(_device) { + callback(null); + }, + error: function(parsedError) { + if (parsedError.error === '402') { + error(); + return; + } + + callback(true); + } }); } ], @@ -4195,8 +4209,10 @@ define(function(require) { }); }, - usersAddUserDevice: function(dataDevice, callback) { - var self = this; + usersAddUserDevice: function(args) { + var self = this, + dataDevice = args.data; + self.callApi({ resource: 'device.create', data: { @@ -4204,7 +4220,10 @@ define(function(require) { data: dataDevice }, success: function(device) { - callback && callback(device); + args.hasOwnProperty('success') && args.success(device); + }, + error: function(error) { + args.hasOwnProperty('error') && args.error(error); } }); },