未验证 提交 ad8a595e 编写于 作者: R rsercano

#480 refactored file management

上级 1f7d1a43
......@@ -40,7 +40,7 @@ const Communicator = function () {
getFilesInfo: { bucketName: 'fs', selector: {}, limit: 50 },
deleteFiles: { bucketName: 'fs', selector: {} },
deleteFile: { bucketName: 'fs', fileId: '' },
uploadFile: { bucketName: 'fs', blob: [], fileName: '', contentType: '', metaData: {}, aliases: [] },
uploadFile: { bucketName: 'fs', blob: new Uint8Array(), fileName: '', contentType: '', metaData: {}, aliases: [] },
indexInformation: { selectedCollection: '', isFull: false },
dropIndex: { selectedCollection: '', indexName: '' },
executeShellCommand: { command: '', connectionId: '', username: '', password: '' },
......
import { Notification, ErrorHandler } from '/client/imports/modules';
import { Communicator } from '/client/imports/facades';
const FileManagementHelper = function () {};
FileManagementHelper.prototype = {
proceedUploading(blob, contentType, metaData, aliases, initFilesInformation) {
Notification.start('#btnUpload');
const fileReader = new FileReader();
fileReader.onload = (file) => {
Communicator.call({
methodName: 'uploadFile',
args: { bucketName: $('#txtBucketName').val(), blob: new Uint8Array(file.target.result), fileName: blob.name, contentType, metaData, aliases },
callback: (err, result) => {
if (err || result.error) ErrorHandler.showMeteorFuncError(err, result);
else {
Notification.success('saved-successfully');
initFilesInformation();
}
}
});
};
fileReader.readAsArrayBuffer(blob);
},
convertObjectIdAndDateToString(arr) {
for (let i = 0; i < arr.length; i += 1) {
if (arr[i]._id) arr[i]._id = arr[i]._id.$oid;
if (arr[i].uploadDate) arr[i].uploadDate = arr[i].uploadDate.$date;
}
},
proceedShowingMetadata(id, jsonEditor) {
Communicator.call({
methodName: 'getFile',
args: { bucketName: $('#txtBucketName').val(), fileId: id },
callback: (err, result) => {
if (err || result.error) ErrorHandler.showMeteorFuncError(err, result);
else jsonEditor.set(result.result);
Notification.stop();
}
});
}
};
export default new FileManagementHelper();
import { UIComponents, ExtendedJSON, Notification, ErrorHandler, SessionManager } from '/client/imports/modules';
import { Communicator } from '/client/imports/facades';
import FileManagementHelper from './helper';
const FileManagement = function () {};
......@@ -20,47 +21,7 @@ FileManagement.prototype = {
});
$('#fileInfoModal').modal('hide');
this.proceedUploading(blob, contentType, metaData, aliases);
},
proceedUploading(blob, contentType, metaData, aliases) {
Notification.start('#btnUpload');
const fileReader = new FileReader();
fileReader.onload = (file) => {
Communicator.call({
methodName: 'uploadFile',
args: { bucketName: $('#txtBucketName').val(), blob: new Uint8Array(file.target.result), fileName: blob.name, contentType, metaData, aliases },
callback: (err, result) => {
if (err || result.error) ErrorHandler.showMeteorFuncError(err, result);
else {
Notification.success('saved-successfully');
this.initFilesInformation();
}
}
});
};
fileReader.readAsArrayBuffer(blob);
},
proceedShowingMetadata(id, jsonEditor) {
Communicator.call({
methodName: 'getFile',
args: { bucketName: $('#txtBucketName').val(), fileId: id },
callback: (err, result) => {
if (err || result.error) ErrorHandler.showMeteorFuncError(err, result);
else jsonEditor.set(result.result);
Notification.stop();
}
});
},
convertObjectIdAndDateToString(arr) {
for (let i = 0; i < arr.length; i += 1) {
if (arr[i]._id) arr[i]._id = arr[i]._id.$oid;
if (arr[i].uploadDate) arr[i].uploadDate = arr[i].uploadDate.$date;
}
FileManagementHelper.proceedUploading(blob, contentType, metaData, aliases, this.initFilesInformation);
},
initFilesInformation() {
......@@ -81,7 +42,7 @@ FileManagement.prototype = {
ErrorHandler.showMeteorFuncError(err, result);
return;
}
this.convertObjectIdAndDateToString(result.result);
FileManagementHelper.convertObjectIdAndDateToString(result.result);
UIComponents.DataTable.setupDatatable({
selectorString: '#tblFiles',
data: result.result,
......@@ -202,7 +163,7 @@ FileManagement.prototype = {
if (err) ErrorHandler.showMeteorFuncError(err);
else {
Notification.success('saved-successfully');
this.proceedShowingMetadata(SessionManager.get(SessionManager.strSessionSelectedFile)._id, jsonEditor);
FileManagementHelper.proceedShowingMetadata(SessionManager.get(SessionManager.strSessionSelectedFile)._id, jsonEditor);
}
}
});
......@@ -218,7 +179,7 @@ FileManagement.prototype = {
if (fileRow) {
const jsonEditor = UIComponents.Editor.initializeJSONEditor({ selector: 'jsonEditorOfMetadata' });
$('#metaDataModal').modal('show');
this.proceedShowingMetadata(fileRow._id, jsonEditor);
FileManagementHelper.proceedShowingMetadata(fileRow._id, jsonEditor);
}
},
......
......@@ -125,7 +125,7 @@ MongoDBGridFS.prototype = {
},
uploadFile({ bucketName, blob, fileName, contentType, metaData, aliases, sessionId }) {
const metadataToLog = { bucketName, fileName, contentType, metaData, aliases, sessionId };
const metadataToLog = { bucketName, fileName, contentType, metaData, aliases, sessionId, blobLength: blob.length };
if (metaData) metaData = ExtendedJSON.convertJSONtoBSON(metaData);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册