UNPKG

c8osdkjscore

Version:
238 lines 13 kB
"use strict"; 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