diff --git a/src/Web/wwwroot/app/services/importService.js b/src/Web/wwwroot/app/services/importService.js index 27c1183eade..0eb4390ca34 100644 --- a/src/Web/wwwroot/app/services/importService.js +++ b/src/Web/wwwroot/app/services/importService.js @@ -12,6 +12,9 @@ case 'lastpass': importLastPass(file, success, error); break; + case 'safeincloud': + importSafeInCloud(file, success, error); + break; default: error(); break; @@ -38,7 +41,7 @@ if (hasFolder) { for (var i = 0; i < folders.length; i++) { - if (folders[i].name == value.folder) { + if (folders[i].name === value.folder) { addFolder = false; folderIndex = i; break; @@ -90,12 +93,12 @@ var folderIndex = folders.length, siteIndex = sites.length, - hasFolder = value.grouping && value.grouping !== '' && value.grouping != '(none)', + hasFolder = value.grouping && value.grouping !== '' && value.grouping !== '(none)', addFolder = hasFolder; if (hasFolder) { for (var i = 0; i < folders.length; i++) { - if (folders[i].name == value.grouping) { + if (folders[i].name === value.grouping) { addFolder = false; folderIndex = i; break; @@ -104,7 +107,7 @@ } sites.push({ - favorite: value.fav == '1', + favorite: value.fav === '1', uri: value.url, username: value.username && value.username !== '' ? value.username : null, password: value.password, @@ -132,5 +135,29 @@ }); } + function importSafeInCloud(file, success, error) { + Papa.parse(file, { + header: true, + complete: function (results) { + var folders = [], + sites = [], + siteRelationships = []; + + angular.forEach(results.data, function (value, key) { + sites.push({ + favorite: false, + uri: value.URL && value.URL !== '' ? value.URL : null, + username: value.Login && value.Login !== '' ? value.Login : null, + password: value.Password, + notes: value.Notes && value.Notes !== '' ? value.Notes : null, + name: value.Title + }); + }); + + success(folders, sites, siteRelationships); + } + }); + } + return _service; }); diff --git a/src/Web/wwwroot/app/tools/views/toolsImport.html b/src/Web/wwwroot/app/tools/views/toolsImport.html index ae824418969..7ed03b32f73 100644 --- a/src/Web/wwwroot/app/tools/views/toolsImport.html +++ b/src/Web/wwwroot/app/tools/views/toolsImport.html @@ -9,6 +9,7 @@