Use global namespace for importers

This commit is contained in:
brantje 2016-10-15 17:05:25 +02:00
parent 8b31278429
commit d5a123abf4
No known key found for this signature in database
GPG key ID: 5FF1D117F918687F
9 changed files with 527 additions and 516 deletions

View file

@ -1,9 +1,9 @@
// Importers should always start with this var PassmanImporter = PassmanImporter || {};
if(!window['PassmanImporter']){ (function(window, $, PassmanImporter) {
var PassmanImporter = {} 'use strict';
}
PassmanImporter.parseRow_ = function(row) {
PassmanImporter.parseRow_ = function(row) {
// Strip leading quote. // Strip leading quote.
row = row.trim(); row = row.trim();
var isQuoted = false; var isQuoted = false;
@ -23,13 +23,13 @@ PassmanImporter.parseRow_ = function(row) {
row = row.split(','); row = row.split(',');
} }
return row; return row;
}; };
PassmanImporter.htmlDecode = function(input){ PassmanImporter.htmlDecode = function(input){
var e = document.createElement('div'); var e = document.createElement('div');
e.innerHTML = input; e.innerHTML = input;
return e.childNodes[0].nodeValue; return e.childNodes[0].nodeValue;
}; };
PassmanImporter.toObject_ = function(headings, row) { PassmanImporter.toObject_ = function(headings, row) {
var result = {}; var result = {};
for (var i = 0, ii = row.length; i < ii; i++) { for (var i = 0, ii = row.length; i < ii; i++) {
headings[i] = headings[i].replace(',','_') headings[i] = headings[i].replace(',','_')
@ -39,17 +39,17 @@ PassmanImporter.toObject_ = function(headings, row) {
result[headings[i]] = row[i]; result[headings[i]] = row[i];
} }
return result; return result;
}; };
PassmanImporter.join_ = function(arr, sep) { PassmanImporter.join_ = function(arr, sep) {
var parts = []; var parts = [];
for (var i = 0, ii = arr.length; i < ii; i++) { for (var i = 0, ii = arr.length; i < ii; i++) {
arr[i] && parts.push(arr[i]); arr[i] && parts.push(arr[i]);
} }
return parts.join(sep); return parts.join(sep);
}; };
PassmanImporter.newCredential = function () { PassmanImporter.newCredential = function () {
var credential = { var credential = {
'credential_id': null, 'credential_id': null,
'guid': null, 'guid': null,
@ -73,9 +73,9 @@ PassmanImporter.newCredential = function () {
'hidden': false 'hidden': false
}; };
return credential; return credential;
}; };
PassmanImporter.readCsv = function( csv, hasHeadings ){ PassmanImporter.readCsv = function( csv, hasHeadings ){
hasHeadings = (hasHeadings === undefined) ? true : hasHeadings; hasHeadings = (hasHeadings === undefined) ? true : hasHeadings;
var lines = []; var lines = [];
var rows = csv.split('\n'); var rows = csv.split('\n');
@ -91,8 +91,9 @@ PassmanImporter.readCsv = function( csv, hasHeadings ){
} }
} }
return lines; return lines;
}; };
PassmanImporter.readJson = function (string){ PassmanImporter.readJson = function (string){
return JSON.parse(string); return JSON.parse(string);
}; };
})(window, $, PassmanImporter);

View file

@ -1,17 +1,16 @@
// Importers should always start with this // Importers should always start with this
if (!window['PassmanImporter']) { var PassmanImporter = PassmanImporter || {};
var PassmanImporter = {} (function(window, $, PassmanImporter) {
} 'use strict';
// Define the importer PassmanImporter.clippers = {
PassmanImporter.clippers = {
info: { info: {
name: 'Clipperz.is', name: 'Clipperz.is',
id: 'clippers', id: 'clippers',
description: 'Go to menu -> Export -> Download HTML + JSON. Fields will be imported as custom fields.' description: 'Go to menu -> Export -> Download HTML + JSON. Fields will be imported as custom fields.'
} }
}; };
PassmanImporter.clippers.readFile = function (file_data) { PassmanImporter.clippers.readFile = function (file_data) {
return new C_Promise(function() { return new C_Promise(function() {
var credential_list = []; var credential_list = [];
var re = /<textarea>(.*?)<\/textarea>/gi; var re = /<textarea>(.*?)<\/textarea>/gi;
@ -55,4 +54,5 @@ PassmanImporter.clippers.readFile = function (file_data) {
} }
this.call_then(credential_list); this.call_then(credential_list);
}); });
}; };
})(window, $, PassmanImporter);

View file

@ -1,17 +1,17 @@
// Importers should always start with this // Importers should always start with this
if (!window['PassmanImporter']) { var PassmanImporter = PassmanImporter || {};
var PassmanImporter = {} (function(window, $, PassmanImporter) {
} 'use strict';
// Define the importer // Define the importer
PassmanImporter.dashLaneCsv = { PassmanImporter.dashLaneCsv = {
info: { info: {
name: 'Dashlane 4 csv', name: 'Dashlane 4 csv',
id: 'dashLaneCsv', id: 'dashLaneCsv',
description: 'Create an csv export. Go to File -> export -> Unsecured archive (readable) in CSV format' description: 'Create an csv export. Go to File -> export -> Unsecured archive (readable) in CSV format'
} }
}; };
PassmanImporter.dashLaneCsv.readFile = function (file_data) { PassmanImporter.dashLaneCsv.readFile = function (file_data) {
return new C_Promise(function(){ return new C_Promise(function(){
var rows = file_data.split('\n'); var rows = file_data.split('\n');
var credential_list = []; var credential_list = [];
@ -45,4 +45,5 @@ PassmanImporter.dashLaneCsv.readFile = function (file_data) {
} }
this.call_then(credential_list); this.call_then(credential_list);
}); });
}; };
})(window, $, PassmanImporter);

View file

@ -1,17 +1,17 @@
// Importers should always start with this // Importers should always start with this
if (!window['PassmanImporter']) { var PassmanImporter = PassmanImporter || {};
var PassmanImporter = {} (function(window, $, PassmanImporter) {
} 'use strict';
// Define the importer // Define the importer
PassmanImporter.keepassCsv = { PassmanImporter.keepassCsv = {
info: { info: {
name: 'KeePass csv', name: 'KeePass csv',
id: 'keepassCsv', id: 'keepassCsv',
description: 'Create an csv export with the following options enabled: http://i.imgur.com/CaeTA4d.png' description: 'Create an csv export with the following options enabled: http://i.imgur.com/CaeTA4d.png'
} }
}; };
PassmanImporter.keepassCsv.readFile = function (file_data) { PassmanImporter.keepassCsv.readFile = function (file_data) {
var p = new C_Promise(function(){ var p = new C_Promise(function(){
var parsed_csv = PassmanImporter.readCsv(file_data); var parsed_csv = PassmanImporter.readCsv(file_data);
var credential_list = []; var credential_list = [];
@ -47,4 +47,5 @@ PassmanImporter.keepassCsv.readFile = function (file_data) {
this.call_then(credential_list); this.call_then(credential_list);
}); });
return p; return p;
}; };
})(window, $, PassmanImporter);

View file

@ -1,17 +1,17 @@
// Importers should always start with this // Importers should always start with this
if (!window['PassmanImporter']) { var PassmanImporter = PassmanImporter || {};
var PassmanImporter = {} (function(window, $, PassmanImporter) {
} 'use strict';
// Define the importer // Define the importer
PassmanImporter.lastpassCsv = { PassmanImporter.lastpassCsv = {
info: { info: {
name: 'LastPass csv', name: 'LastPass csv',
id: 'lastpassCsv', id: 'lastpassCsv',
description: 'Create an csv export. Go to More options -> Advanced -> Export -> Last Pass CSV File' description: 'Create an csv export. Go to More options -> Advanced -> Export -> Last Pass CSV File'
} }
}; };
PassmanImporter.lastpassCsv.readFile = function (file_data) { PassmanImporter.lastpassCsv.readFile = function (file_data) {
return new C_Promise(function(){ return new C_Promise(function(){
var parsed_csv = PassmanImporter.readCsv(file_data); var parsed_csv = PassmanImporter.readCsv(file_data);
var credential_list = []; var credential_list = [];
@ -36,4 +36,5 @@ PassmanImporter.lastpassCsv.readFile = function (file_data) {
} }
this.call_then(credential_list) this.call_then(credential_list)
}); });
}; };
})(window, $, PassmanImporter);

View file

@ -1,17 +1,16 @@
// Importers should always start with this // Importers should always start with this
if (!window['PassmanImporter']) { var PassmanImporter = PassmanImporter || {};
var PassmanImporter = {} (function(window, $, PassmanImporter) {
} 'use strict';
// Define the importer PassmanImporter.passmanJson = {
PassmanImporter.passmanJson = {
info: { info: {
name: 'Passman JSON', name: 'Passman JSON',
id: 'passmanJson', id: 'passmanJson',
description: 'Export the item in passman as passman json, with all fields enabled' description: 'Export the item in passman as passman json, with all fields enabled'
} }
}; };
PassmanImporter.passmanJson.readFile = function (file_data) { PassmanImporter.passmanJson.readFile = function (file_data) {
return new C_Promise(function(){ return new C_Promise(function(){
var parsed_json = PassmanImporter.readJson(file_data); var parsed_json = PassmanImporter.readJson(file_data);
var credential_list = []; var credential_list = [];
@ -67,4 +66,5 @@ PassmanImporter.passmanJson.readFile = function (file_data) {
} }
this.call_then(credential_list); this.call_then(credential_list);
}); });
}; };
})(window, $, PassmanImporter);

View file

@ -1,17 +1,17 @@
// Importers should always start with this // Importers should always start with this
if (!window['PassmanImporter']) { var PassmanImporter = PassmanImporter || {};
var PassmanImporter = {} (function(window, $, PassmanImporter) {
} 'use strict';
// Define the importer // Define the importer
PassmanImporter.passpackCsv = { PassmanImporter.passpackCsv = {
info: { info: {
name: 'Passpack csv', name: 'Passpack csv',
id: 'passpackCsv', id: 'passpackCsv',
description: 'Go to Tools -> Export. Select Comma Separated Values, All entries then continue.' description: 'Go to Tools -> Export. Select Comma Separated Values, All entries then continue.'
} }
}; };
PassmanImporter.passpackCsv.readFile = function (file_data) { PassmanImporter.passpackCsv.readFile = function (file_data) {
return new C_Promise(function(){ return new C_Promise(function(){
var parsed_csv = PassmanImporter.readCsv(file_data, false); var parsed_csv = PassmanImporter.readCsv(file_data, false);
var credential_list = []; var credential_list = [];
@ -49,4 +49,5 @@ PassmanImporter.passpackCsv.readFile = function (file_data) {
} }
this.call_then(credential_list); this.call_then(credential_list);
}) })
}; };
})(window, $, PassmanImporter);

View file

@ -1,17 +1,19 @@
// Importers should always start with this // Importers should always start with this
if (!window['PassmanImporter']) { var PassmanImporter = PassmanImporter || {};
var PassmanImporter = {} (function(window, $, PassmanImporter) {
} 'use strict';
// Define the importer
// Define the importer // Define the importer
PassmanImporter.randomData = { PassmanImporter.randomData = {
info: { info: {
name: 'Random data', name: 'Random data',
id: 'randomData', id: 'randomData',
description: 'Create\'s 50 random credentials for testing purposes.' description: 'Create\'s 50 random credentials for testing purposes.'
} }
}; };
PassmanImporter.randomData.readFile = function () { PassmanImporter.randomData.readFile = function () {
return new C_Promise(function () { return new C_Promise(function () {
var tags = var tags =
['Social media', ['Social media',
@ -91,4 +93,5 @@ PassmanImporter.randomData.readFile = function () {
_this.call_then(credential_list); _this.call_then(credential_list);
}); });
}); });
}; };
})(window, $, PassmanImporter);

View file

@ -1,17 +1,19 @@
// Importers should always start with this // Importers should always start with this
if (!window['PassmanImporter']) { var PassmanImporter = PassmanImporter || {};
var PassmanImporter = {}
} (function(window, $, PassmanImporter) {
// Define the importer 'use strict';
PassmanImporter.zohoCsv = {
// Define the importer
PassmanImporter.zohoCsv = {
info: { info: {
name: 'ZOHO csv', name: 'ZOHO csv',
id: 'zohoCsv', id: 'zohoCsv',
description: 'Create an csv export. Go to Tools -> Export secrets -> Select "General CSV" and click "Export Secrets"' description: 'Create an csv export. Go to Tools -> Export secrets -> Select "General CSV" and click "Export Secrets"'
} }
}; };
PassmanImporter.zohoCsv.readFile = function (file_data) { PassmanImporter.zohoCsv.readFile = function (file_data) {
return new C_Promise(function(){ return new C_Promise(function(){
var parsed_csv = PassmanImporter.readCsv(file_data, false); var parsed_csv = PassmanImporter.readCsv(file_data, false);
var credential_list = []; var credential_list = [];
@ -37,4 +39,5 @@ PassmanImporter.zohoCsv.readFile = function (file_data) {
} }
this.call_then(credential_list); this.call_then(credential_list);
}) })
}; };
})(window, $, PassmanImporter);