mirror of
https://github.com/nextcloud/passman.git
synced 2025-09-16 09:55:00 +08:00
Add random data importer, change return to callbacks
This commit is contained in:
parent
9fbce124c8
commit
07cc22817a
12 changed files with 105 additions and 22 deletions
|
@ -52,6 +52,7 @@ return [
|
|||
['name' => 'internal#remind', 'url' => '/api/internal/notifications/remind/{credential_id}', 'verb' => 'POST'],
|
||||
['name' => 'internal#read', 'url' => '/api/internal/notifications/read/{credential_id}', 'verb' => 'DELETE'],
|
||||
['name' => 'internal#getAppVersion', 'url' => '/api/internal/version', 'verb' => 'GET'],
|
||||
['name' => 'internal#generatePerson', 'url' => '/api/internal/generate_person', 'verb' => 'GET'],
|
||||
|
||||
]
|
||||
];
|
|
@ -70,4 +70,12 @@ class InternalController extends ApiController {
|
|||
return new JSONResponse(array('version' => OC_App::getAppVersion('passman')));
|
||||
}
|
||||
|
||||
/**
|
||||
* @NoAdminRequired
|
||||
*/
|
||||
public function generatePerson() {
|
||||
$random_person = json_decode(file_get_contents('http://api.namefake.com/'));
|
||||
return new JSONResponse($random_person);
|
||||
}
|
||||
|
||||
}
|
|
@ -82,14 +82,17 @@ angular.module('passmanApp')
|
|||
|
||||
$scope.startImport = function(){
|
||||
if(file_data){
|
||||
parsed_data = $window.PassmanImporter[$scope.selectedImporter.id].readFile(file_data);
|
||||
_log('Parsed '+ parsed_data.length + ' credentials, starting to import');
|
||||
$scope.current_import_length = parsed_data.length;
|
||||
if( parsed_data.length > 0){
|
||||
addCredential(0);
|
||||
} else {
|
||||
// @TODO Show message no data found
|
||||
}
|
||||
$window.PassmanImporter[$scope.selectedImporter.id].readFile(file_data, function(parseddata){
|
||||
parsed_data = parseddata;
|
||||
_log('Parsed '+ parsed_data.length + ' credentials, starting to import');
|
||||
$scope.current_import_length = parsed_data.length;
|
||||
if( parsed_data.length > 0){
|
||||
addCredential(0);
|
||||
} else {
|
||||
// @TODO Show message no data found
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -11,7 +11,7 @@ PassmanImporter.clippers = {
|
|||
}
|
||||
};
|
||||
|
||||
PassmanImporter.clippers.readFile = function (file_data) {
|
||||
PassmanImporter.clippers.readFile = function (file_data, callback) {
|
||||
var credential_list = [];
|
||||
var re = /<textarea>(.*?)<\/textarea>/gi;
|
||||
var matches = re.exec(file_data);
|
||||
|
@ -46,5 +46,5 @@ PassmanImporter.clippers.readFile = function (file_data) {
|
|||
}
|
||||
}
|
||||
}
|
||||
return credential_list;
|
||||
callback(credential_list);
|
||||
};
|
|
@ -11,7 +11,7 @@ PassmanImporter.dashLaneCsv = {
|
|||
}
|
||||
};
|
||||
|
||||
PassmanImporter.dashLaneCsv.readFile = function (file_data) {
|
||||
PassmanImporter.dashLaneCsv.readFile = function (file_data, callback) {
|
||||
var rows = file_data.split('\n');
|
||||
var credential_list = [];
|
||||
for (var i = 1, row; row = rows[i]; i++) {
|
||||
|
@ -35,5 +35,5 @@ PassmanImporter.dashLaneCsv.readFile = function (file_data) {
|
|||
credential_list.push(_credential);
|
||||
}
|
||||
}
|
||||
return credential_list;
|
||||
callback(credential_list);
|
||||
};
|
|
@ -11,7 +11,7 @@ PassmanImporter.keepassCsv = {
|
|||
}
|
||||
};
|
||||
|
||||
PassmanImporter.keepassCsv.readFile = function (file_data) {
|
||||
PassmanImporter.keepassCsv.readFile = function (file_data, callback) {
|
||||
var parsed_csv = PassmanImporter.readCsv(file_data);
|
||||
var credential_list = [];
|
||||
for (var i = 0; i < parsed_csv.length; i++) {
|
||||
|
@ -35,5 +35,5 @@ PassmanImporter.keepassCsv.readFile = function (file_data) {
|
|||
_credential.tags = tags;
|
||||
credential_list.push(_credential);
|
||||
}
|
||||
return credential_list;
|
||||
callback(credential_list);
|
||||
};
|
|
@ -11,7 +11,7 @@ PassmanImporter.lastpassCsv = {
|
|||
}
|
||||
};
|
||||
|
||||
PassmanImporter.lastpassCsv.readFile = function (file_data) {
|
||||
PassmanImporter.lastpassCsv.readFile = function (file_data, callback) {
|
||||
var parsed_csv = PassmanImporter.readCsv(file_data);
|
||||
var credential_list = [];
|
||||
for (var i = 0; i < parsed_csv.length; i++) {
|
||||
|
@ -27,5 +27,5 @@ PassmanImporter.lastpassCsv.readFile = function (file_data) {
|
|||
credential_list.push(_credential);
|
||||
}
|
||||
}
|
||||
return credential_list;
|
||||
callback(credential_list);
|
||||
};
|
|
@ -11,7 +11,7 @@ PassmanImporter.passmanJson = {
|
|||
}
|
||||
};
|
||||
|
||||
PassmanImporter.passmanJson.readFile = function (file_data) {
|
||||
PassmanImporter.passmanJson.readFile = function (file_data, callback) {
|
||||
var parsed_json = PassmanImporter.readJson(file_data);
|
||||
var credential_list = [];
|
||||
for (var i = 0; i < parsed_json.length; i++) {
|
||||
|
@ -56,5 +56,5 @@ PassmanImporter.passmanJson.readFile = function (file_data) {
|
|||
credential_list.push(_credential);
|
||||
}
|
||||
}
|
||||
return credential_list;
|
||||
callback(credential_list);
|
||||
};
|
|
@ -11,7 +11,7 @@ PassmanImporter.passpackCsv = {
|
|||
}
|
||||
};
|
||||
|
||||
PassmanImporter.passpackCsv.readFile = function (file_data) {
|
||||
PassmanImporter.passpackCsv.readFile = function (file_data, callback) {
|
||||
var parsed_csv = PassmanImporter.readCsv(file_data, false);
|
||||
var credential_list = [];
|
||||
for (var i = 0; i < parsed_csv.length; i++) {
|
||||
|
@ -38,5 +38,5 @@ PassmanImporter.passpackCsv.readFile = function (file_data) {
|
|||
credential_list.push(_credential);
|
||||
}
|
||||
}
|
||||
return credential_list;
|
||||
callback(credential_list);
|
||||
};
|
70
js/importers/importer-randomdata.js
Normal file
70
js/importers/importer-randomdata.js
Normal file
|
@ -0,0 +1,70 @@
|
|||
// Importers should always start with this
|
||||
if (!window['PassmanImporter']) {
|
||||
var PassmanImporter = {}
|
||||
}
|
||||
// Define the importer
|
||||
PassmanImporter.randomData = {
|
||||
info: {
|
||||
name: 'Random data',
|
||||
id: 'randomData',
|
||||
description: 'Create\'s 10 random credentials for testing purposes.'
|
||||
}
|
||||
};
|
||||
|
||||
PassmanImporter.randomData.readFile = function (file_data,callback) {
|
||||
var credential_list = [];
|
||||
var tags =
|
||||
['Social media',
|
||||
'Hosting',
|
||||
'Forums',
|
||||
'Webshops',
|
||||
'FTP',
|
||||
'SSH',
|
||||
'Banking',
|
||||
'Applications',
|
||||
'Server stuff',
|
||||
'mysql',
|
||||
'Wifi',
|
||||
'Games',
|
||||
'Certificate',
|
||||
'Serials'
|
||||
];
|
||||
var label;
|
||||
var generateCredential = function (max, i, cb) {
|
||||
if(jQuery){
|
||||
var url = OC.generateUrl('apps/passman/api/internal/generate_person');
|
||||
$.ajax({
|
||||
url: url,
|
||||
dataType: 'json',
|
||||
success: function(data) {
|
||||
var _credential = PassmanImporter.newCredential();
|
||||
label = (Math.random() >= 0.5) ? data.domain : data.email_d +' - ' + data.email_u;
|
||||
_credential.label = label;
|
||||
_credential.username = data.username;
|
||||
_credential.password = data.password;
|
||||
_credential.url = data.url;
|
||||
|
||||
var tag_amount = Math.floor(Math.random()*5);
|
||||
for(var ta = 0; ta < tag_amount; ta++){
|
||||
var item = tags[Math.floor(Math.random()*tags.length)];
|
||||
var tag = {
|
||||
text: item
|
||||
};
|
||||
if(_credential.tags.indexOf(tag) === -1){
|
||||
_credential.tags.push(tag);
|
||||
}
|
||||
}
|
||||
credential_list.push(_credential);
|
||||
if(i <= max){
|
||||
generateCredential(max, i + 1, callback)
|
||||
} else {
|
||||
cb(credential_list)
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
};
|
||||
generateCredential(9, 0,function(credential_list){
|
||||
callback(credential_list);
|
||||
});
|
||||
};
|
|
@ -11,7 +11,7 @@ PassmanImporter.zohoCsv = {
|
|||
}
|
||||
};
|
||||
|
||||
PassmanImporter.zohoCsv.readFile = function (file_data) {
|
||||
PassmanImporter.zohoCsv.readFile = function (file_data, callback) {
|
||||
var parsed_csv = PassmanImporter.readCsv(file_data, false);
|
||||
var credential_list = [];
|
||||
for (var i = 0; i < parsed_csv.length; i++) {
|
||||
|
@ -26,5 +26,5 @@ PassmanImporter.zohoCsv.readFile = function (file_data) {
|
|||
credential_list.push(_credential);
|
||||
}
|
||||
}
|
||||
return credential_list;
|
||||
callback(credential_list);
|
||||
};
|
|
@ -70,6 +70,7 @@ script('passman', 'importers/importer-zohocsv');
|
|||
script('passman', 'importers/importer-passmanjson');
|
||||
script('passman', 'importers/importer-clipperz');
|
||||
script('passman', 'importers/importer-passpackcsv');
|
||||
script('passman', 'importers/importer-randomdata');
|
||||
|
||||
/*
|
||||
* Styles
|
||||
|
|
Loading…
Add table
Reference in a new issue