fix importer js

Signed-off-by: binsky <timo@binsky.org>
This commit is contained in:
binsky 2021-08-22 15:12:57 +02:00
parent 88fef6029b
commit 9c6e270f76
5 changed files with 26 additions and 22 deletions

View file

@ -1,6 +1,7 @@
{
"maxerr" : 50,
"jquery" : true, // jQuery
"esversion" : 8,
"globals" : {
"angular": true,
"PassmanImporter": true,

View file

@ -34,6 +34,7 @@ module.exports = function (grunt) {
eqeqeq: true,
eqnull: true,
browser: true,
esversion: 8,
globals: {
"angular": true,
"PassmanImporter": true,

View file

@ -116,7 +116,7 @@
if (row[k] !== undefined && (typeof row[k] === 'string' || row[k] instanceof String) && row[k].length > 1){
try {
row[k] = JSON.parse(row[k]);
for(var i = 0; k < row[k].length; i++){
for(let i = 0; k < row[k].length; i++){
_credential.custom_fields.push({
'label': row[k][i].label,
'secret': row[k][i].secret,
@ -128,7 +128,7 @@
// console.error(e);
}
} else {
for(var j = 0; j < row[k].length; j++){
for(let j = 0; j < row[k].length; j++){
if (row[k][j].field_type === 'file'){
var _file = {
filename: row[k][j].value.filename,
@ -137,11 +137,7 @@
data: row[k][j].value.file_data
};
row[k][j].value = await FileService.uploadFile(_file).then(function (result) {
delete result.file_data;
result.filename = EncryptService.decryptString(result.filename);
return result;
});
row[k][j].value = await FileService.uploadFile(_file).then(FileService.getEmptyFileWithDecryptedFilename);
}
_credential.custom_fields.push(row[k][j]);
}
@ -150,7 +146,7 @@
if (row[k] !== undefined && (typeof row[k] === 'string' || row[k] instanceof String) && row[k].length > 1){
try {
row[k] = JSON.parse(row[k]);
for(var i = 0; k < row[k].length; i++){
for(let i = 0; k < row[k].length; i++){
_credential.files.push({
filename: row[k][i].filename,
size: row[k][i].size,
@ -162,17 +158,13 @@
// console.error(e);
}
} else {
for(var j = 0; j < row[k].length; j++){
for(let j = 0; j < row[k].length; j++){
_credential.files.push(await FileService.uploadFile({
filename: row[k][j].filename,
size: row[k][j].size,
mimetype: row[k][j].mimetype,
data: row[k][j].file_data
}).then(function (result) {
delete result.file_data;
result.filename = EncryptService.decryptString(result.filename);
return result;
}));
}).then(FileService.getEmptyFileWithDecryptedFilename));
}
}
} else if(field === 'tags'){

View file

@ -114,6 +114,11 @@
/** global: URL */
return URL.createObjectURL(bb);
},
getEmptyFileWithDecryptedFilename: function (file) {
delete file.file_data;
file.filename = EncryptService.decryptString(file.filename);
return file;
}
};
}]);

View file

@ -43,7 +43,8 @@ var PassmanImporter = PassmanImporter || {};
PassmanImporter.passmanJson.readFile = function (file_data) {
/** global: C_Promise */
return new C_Promise(async function(){
return new C_Promise(
async function(){
var parseCustomFields = async function (customFields, credential){
if (customFields.length > 0) {
for (var cf = 0; cf < customFields.length; cf++) {
@ -93,10 +94,14 @@ var PassmanImporter = PassmanImporter || {};
mimetype: files[cf].mimetype,
data: files[cf].file_data
};
try {
var file_result = await FileService.uploadFile(_file);
delete file_result.file_data;
file_result.filename = EncryptService.decryptString(file_result.filename);
credential.files.push(file_result);
} catch (e) {
console.error("failed processing file: " + _file.filename);
}
}
}
return credential;