Commit 7d7f2aeb authored by Tristan Cavelier's avatar Tristan Cavelier

Updating localstorage.js get method

parent 197468c6
...@@ -384,33 +384,53 @@ var newLocalStorage = function ( spec, my ) { ...@@ -384,33 +384,53 @@ var newLocalStorage = function ( spec, my ) {
/** /**
* Loads a document from the local storage. * Loads a document from the local storage.
* It will load file in 'jio/local/USR/APP/FILE_NAME'. * It will load file in 'jio/local/USR/APP/FILE_NAME'.
* You can add an 'options' object to the job, it can contain:
* - metadata_only {boolean} default false, retrieve the file metadata
* only if true.
* @method get * @method get
*/ */
that.get = function (command) { that.get = function (command) {
setTimeout(function () { setTimeout(function () {
var secured_docid = priv.secureDocId(command.getDocId()), var docid, doc, docpath, attmtid, attmt;
doc = null; docid = command.getDocId();
docpath = 'jio/local/'+priv.secured_username+'/'+
if (!priv.checkSecuredDocId( priv.secured_applicationname+'/'+docid;
secured_docid,command.getDocId(),'get')) {return;} attmtid = command.getAttachmentId();
doc = localStorage.getItem( if (attmtid) {
'jio/local/'+priv.secured_username+'/'+ // this is an attachment
priv.secured_applicationname+'/'+secured_docid); attmt = localstorage.getItem(docpath+'/'+attmtid);
if (!doc) { if (!attmt) {
that.error ({status:404,statusText:'Not Found.', // there is no attachment to get
error:'not_found', that.error({
message:'Document "'+ command.getDocId() + status:404,statusText:'Not found',error:'not_found',
'" not found.', message:'Document is missing attachment.',
reason:'missing'}); reason:'document is missing attachment'
});
return;
}
// send the attachment content
that.success(attmt);
} else { } else {
if (command.getOption('metadata_only')) { // this is a document
delete doc.content; doc = localstorage.getItem(docpath);
if (!doc) {
// the document does not exist
that.error ({
status:404,statusText:'Not Found.',
error:'not_found',
message:'Document "'+ docid + '" not found.',
reason:'missing'
});
} else {
if (!command.getDocInfo('revs')) {
delete doc._revisions;
}
if (!command.getDocInfo('revs_info')) {
delete doc._revs_info;
}
if (command.getDocInfo('conflicts')) {
doc._conflicts = {total_rows:0,rows:[]};
}
that.success (doc);
} }
that.success (doc);
} }
}); });
}; // end get }; // end get
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment