c8osdkjscore
Version:
convertigo's sdk js core
238 lines • 13 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var c8oCore_1 = require("./c8oCore");
var c8oResponse_1 = require("./c8oResponse");
var c8oUtilsCore_1 = require("./c8oUtilsCore");
var fullSyncAttachmentParameter_1 = require("./fullSyncAttachmentParameter");
var fullSyncGetDocumentParameter_1 = require("./fullSyncGetDocumentParameter");
var fullSyncGetViewParameter_1 = require("./fullSyncGetViewParameter");
var FullSyncRequestable = (function () {
function FullSyncRequestable(value, handleFullSyncRequestOp) {
this.value = value;
this.handleFullSyncRequestOp = handleFullSyncRequestOp;
}
FullSyncRequestable.prototype.handleFullSyncRequest = function (c8oFullSync, databaseName, parameters, c8oResponseListener) {
var _this = this;
return new Promise(function (resolve, reject) {
_this.handleFullSyncRequestOp(c8oFullSync, databaseName, parameters, c8oResponseListener).then(function (result) {
resolve(result);
}).catch(function (error) {
reject(error);
});
});
};
FullSyncRequestable.getFullSyncRequestable = function (value) {
var fullSyncRequestableValues = FullSyncRequestable.values();
for (var i = 0; i < fullSyncRequestableValues.length; i++) {
if (fullSyncRequestableValues[i].value === value) {
return fullSyncRequestableValues[i];
}
}
};
FullSyncRequestable.values = function () {
return [this.GET, this.DELETE, this.POST, this.ALL, this.VIEW, this.SYNC, this.REPLICATE_PULL, this.REPLICATE_PUSH, this.RESET, this.CREATE, this.DESTROY, this.PUT_ATTACHMENT, this.DELETE_ATTACHMENT, this.BULK, this.ALL, this.INFO];
};
FullSyncRequestable.GET = new FullSyncRequestable("get", function (c8oFullSync, databaseName, parameters, c8oResponseListener) {
return new Promise(function (resolve) {
var docid = c8oUtilsCore_1.C8oUtilsCore.peekParameterStringValue(parameters, fullSyncGetDocumentParameter_1.FullSyncGetDocumentParameter.DOCID.name, true);
resolve(c8oFullSync.handleGetDocumentRequest(databaseName, docid, parameters));
}).catch(function (error) {
throw error;
});
});
FullSyncRequestable.DELETE = new FullSyncRequestable("delete", function (c8oFullSync, databaseName, parameters, c8oResponseListener) {
return new Promise(function (resolve, reject) {
var docid = c8oUtilsCore_1.C8oUtilsCore.peekParameterStringValue(parameters, fullSyncGetDocumentParameter_1.FullSyncGetDocumentParameter.DOCID.name, true);
c8oFullSync.handleDeleteDocumentRequest(databaseName, docid, parameters).then(function (result) {
resolve(result);
}).catch(function (error) {
reject(error);
});
})
.catch(function (error) {
throw error;
});
});
FullSyncRequestable.POST = new FullSyncRequestable("post", function (c8oFullSync, databaseName, parameters, c8oResponseListener) {
return new Promise(function (resolve, reject) {
try {
var fullSyncPolicyParameter = c8oUtilsCore_1.C8oUtilsCore.peekParameterStringValue(parameters, c8oCore_1.FullSyncPostDocumentParameter.POLICY.name, false);
var fullSyncPolicy = c8oCore_1.FullSyncPolicy.getFullSyncPolicy(fullSyncPolicyParameter);
resolve(c8oFullSync.handlePostDocumentRequest(databaseName, fullSyncPolicy, parameters));
}
catch (error) {
reject(error);
}
}).catch(function (error) {
throw error;
});
});
FullSyncRequestable.PUT_ATTACHMENT = new FullSyncRequestable("put_attachment", function (c8oFullSync, databaseName, parameters, c8oResponseListener) {
return new Promise(function (resolve) {
var docid = c8oUtilsCore_1.C8oUtilsCore.peekParameterStringValue(parameters, fullSyncGetDocumentParameter_1.FullSyncGetDocumentParameter.DOCID.name, false);
var name = c8oUtilsCore_1.C8oUtilsCore.getParameterStringValue(parameters, fullSyncAttachmentParameter_1.FullSyncAttachmentParameter.NAME.name, false);
var contentType = c8oUtilsCore_1.C8oUtilsCore.getParameterStringValue(parameters, fullSyncAttachmentParameter_1.FullSyncAttachmentParameter.CONTENT_TYPE.name, false);
var content = c8oUtilsCore_1.C8oUtilsCore.getParameterObjectValue(parameters, fullSyncAttachmentParameter_1.FullSyncAttachmentParameter.CONTENT.name, false);
resolve(c8oFullSync.handlePutAttachmentRequest(databaseName, docid, name, contentType, content));
}).catch(function (error) {
throw error;
});
});
FullSyncRequestable.DELETE_ATTACHMENT = new FullSyncRequestable("delete_attachment", function (c8oFullSync, databaseName, parameters, c8oResponseListener) {
return new Promise(function (resolve) {
var docid = c8oUtilsCore_1.C8oUtilsCore.peekParameterStringValue(parameters, fullSyncGetDocumentParameter_1.FullSyncGetDocumentParameter.DOCID.name, false);
var name = c8oUtilsCore_1.C8oUtilsCore.getParameterStringValue(parameters, fullSyncAttachmentParameter_1.FullSyncAttachmentParameter.NAME.name, false);
resolve(c8oFullSync.handleDeleteAttachmentRequest(databaseName, docid, name));
}).catch(function (error) {
throw error;
});
});
FullSyncRequestable.ALL = new FullSyncRequestable("all", function (c8oFullSync, databaseName, parameters, c8oResponseListener) {
return new Promise(function (resolve) {
c8oFullSync.handleAllDocumentsRequest(databaseName, parameters).then(function (result) {
resolve(result);
});
}).catch(function (error) {
throw error;
});
});
FullSyncRequestable.VIEW = new FullSyncRequestable("view", function (c8oFullSync, databaseName, parameters, c8oResponseListener) {
return new Promise(function (resolve, reject) {
var ddoc = c8oUtilsCore_1.C8oUtilsCore.peekParameterStringValue(parameters, fullSyncGetViewParameter_1.FullSyncGetViewParameter.DDOC.name, false);
var view = c8oUtilsCore_1.C8oUtilsCore.peekParameterStringValue(parameters, fullSyncGetViewParameter_1.FullSyncGetViewParameter.VIEW.name, false);
c8oFullSync.handleGetViewRequest(databaseName, ddoc, view, parameters).then(function (result) {
resolve(result);
}).catch(function (error) {
reject(error);
});
}).catch(function (error) {
throw error;
});
});
FullSyncRequestable.SYNC = new FullSyncRequestable("sync", function (c8oFullSync, databaseName, parameters, c8oResponseListener) {
var pullFinish = false;
var pushFinish = false;
return new Promise(function (resolve, reject) {
c8oFullSync.handleSyncRequest(databaseName, parameters, new c8oResponse_1.C8oResponseProgressListener(function (progress, parameters) {
if (parameters["cancel"] == true) {
resolve({ ok: true });
}
else {
if (!pullFinish && progress.pull && progress.finished) {
pullFinish = true;
c8oFullSync.c8o.log._debug("handleFullSyncRequest pullFinish = true: " + progress.toString());
}
if (!pushFinish && progress.push && progress.finished) {
pushFinish = true;
c8oFullSync.c8o.log._debug("handleFullSyncRequest pushFinish = true: " + progress.toString());
}
if (c8oResponseListener instanceof c8oResponse_1.C8oResponseJsonListener) {
c8oFullSync.c8o.log._debug("handleFullSyncRequest onJsonResponse: " + progress.toString());
var varNull = null;
c8oResponseListener.onJsonResponse(varNull, parameters);
}
if (pullFinish || pushFinish) {
resolve({ ok: true });
}
}
})).catch(function (error) {
reject(error);
});
})
.catch(function (error) {
throw error;
});
});
FullSyncRequestable.REPLICATE_PULL = new FullSyncRequestable("replicate_pull", function (c8oFullSync, databaseName, parameters, c8oResponseListener) {
return new Promise(function (resolve, reject) {
c8oFullSync.handleReplicatePullRequest(databaseName, parameters, new c8oResponse_1.C8oResponseProgressListener(function (progress, param) {
if (parameters["cancel"] == true) {
resolve({ ok: true });
}
else {
if (progress.finished) {
resolve({ ok: true });
}
if (c8oResponseListener instanceof c8oResponse_1.C8oResponseJsonListener) {
var varNull = null;
c8oResponseListener.onJsonResponse(varNull, param);
}
}
})).catch(function (error) {
reject(error);
});
})
.catch(function (error) {
throw error;
});
});
FullSyncRequestable.REPLICATE_PUSH = new FullSyncRequestable("replicate_push", function (c8oFullSync, databaseName, parameters, c8oResponseListener) {
return new Promise(function (resolve, reject) {
c8oFullSync.handleReplicatePushRequest(databaseName, parameters, new c8oResponse_1.C8oResponseProgressListener(function (progress, param) {
if (parameters["cancel"] == true) {
resolve({ ok: true });
}
else {
if (progress.finished) {
resolve({ ok: true });
}
if (c8oResponseListener instanceof c8oResponse_1.C8oResponseJsonListener) {
var varNull = null;
c8oResponseListener.onJsonResponse(varNull, param);
}
}
})).catch(function (error) {
reject(error);
});
})
.catch(function (error) {
throw error;
});
});
FullSyncRequestable.RESET = new FullSyncRequestable("reset", function (c8oFullSync, databaseName, parameters, c8oResponseListener) {
return new Promise(function (resolve, reject) {
c8oFullSync.handleResetDatabaseRequest(databaseName).then(function (response) {
resolve(response);
}).catch(function (error) {
reject(error);
});
}).catch(function (error) {
throw error;
});
});
FullSyncRequestable.CREATE = new FullSyncRequestable("create", function (c8oFullSync, databaseName, parameters, c8oResponseListener) {
return new Promise(function (resolve) {
resolve(c8oFullSync.handleCreateDatabaseRequest(databaseName));
}).catch(function (error) {
throw error;
});
});
FullSyncRequestable.BULK = new FullSyncRequestable("bulk", function (c8oFullSync, databaseName, parameters, c8oResponseListener) {
return new Promise(function (resolve) {
resolve(c8oFullSync.handleBulkRequest(databaseName, parameters));
}).catch(function (error) {
throw error;
});
});
FullSyncRequestable.INFO = new FullSyncRequestable("info", function (c8oFullSync, databaseName, parameters, c8oResponseListener) {
return new Promise(function (resolve) {
resolve(c8oFullSync.handleInfoRequest(databaseName));
}).catch(function (error) {
throw error;
});
});
FullSyncRequestable.DESTROY = new FullSyncRequestable("destroy", function (c8oFullSync, databaseName, parameters, c8oResponseListener) {
return new Promise(function (resolve, reject) {
c8oFullSync.handleDestroyDatabaseRequest(databaseName).then(function (response) {
resolve(response);
}).catch(function (error) {
reject(error);
});
}).catch(function (error) {
throw error;
});
});
return FullSyncRequestable;
}());
exports.FullSyncRequestable = FullSyncRequestable;
//# sourceMappingURL=fullSyncRequestable.js.map