@hw-agconnect/cloud-server 1.0.1 → 1.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/auth-service/service/impl/agc-auth-service-impl.js +1 -1
- package/common-server/agc-client/agc-client.js +1 -1
- package/common-server/credential-service/credential-parser.js +1 -1
- package/common-server/http-client/http-clinet-api.js +1 -1
- package/database-service/communicator/https/HttpsCommunicator.js +1 -1
- package/database-service/exception/CloudDBErrorCode.d.ts +2 -0
- package/database-service/exception/CloudDBErrorCode.js +1 -1
- package/database-service/exception/ErrorCodeMessage.js +1 -1
- package/database-service/query/CloudDBZoneObjectOperatorConstraint.d.ts +6 -0
- package/database-service/query/CloudDBZoneObjectOperatorConstraint.js +1 -1
- package/database-service/query/CloudDBZoneQuery.d.ts +40 -0
- package/database-service/query/CloudDBZoneQuery.js +1 -1
- package/database-service/request/CloudDBZoneGenericObject.d.ts +6 -0
- package/database-service/request/CloudDBZoneGenericObject.js +1 -1
- package/database-service/services/CloudDBZone.js +1 -1
- package/database-service/services/Transaction.js +1 -1
- package/database-service/utils/ConditionType.d.ts +5 -1
- package/database-service/utils/ConditionValidate.d.ts +12 -0
- package/database-service/utils/ConditionValidate.js +1 -1
- package/database-service/utils/DataModelHelper.js +1 -1
- package/database-service/utils/SchemaUtils.d.ts +2 -4
- package/database-service/utils/SchemaUtils.js +1 -1
- package/database-service/utils/Utils.js +358 -1
- package/function-service/server/FunctionCallable.js +1 -1
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var __extends=this&&this.__extends||function(){var e=function(o,t){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,o){e.__proto__=o}||function(e,o){for(var t in o)Object.prototype.hasOwnProperty.call(o,t)&&(e[t]=o[t])},e(o,t)};return function(o,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=o}e(o,t),o.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}}(),__awaiter=this&&this.__awaiter||function(e,o,t,n){return new(t||(t=Promise))((function(r,i){function c(e){try{d(n.next(e))}catch(e){i(e)}}function u(e){try{d(n.throw(e))}catch(e){i(e)}}function d(e){var o;e.done?r(e.value):(o=e.value,o instanceof t?o:new t((function(e){e(o)}))).then(c,u)}d((n=n.apply(e,o||[])).next())}))},__generator=this&&this.__generator||function(e,o){var t,n,r,i,c={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return i={next:u(0),throw:u(1),return:u(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function u(u){return function(d){return function(u){if(t)throw new TypeError("Generator is already executing.");for(;i&&(i=0,u[0]&&(c=0)),c;)try{if(t=1,n&&(r=2&u[0]?n.return:u[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,u[1])).done)return r;switch(n=0,r&&(u=[2&u[0],r.value]),u[0]){case 0:case 1:r=u;break;case 4:return c.label++,{value:u[1],done:!1};case 5:c.label++,n=u[1],u=[0];continue;case 7:u=c.ops.pop(),c.trys.pop();continue;default:if(!(r=c.trys,(r=r.length>0&&r[r.length-1])||6!==u[0]&&2!==u[0])){c=0;continue}if(3===u[0]&&(!r||u[1]>r[0]&&u[1]<r[3])){c.label=u[1];break}if(6===u[0]&&c.label<r[1]){c.label=r[1],r=u;break}if(r&&c.label<r[2]){c.label=r[2],c.ops.push(u);break}r[2]&&c.ops.pop(),c.trys.pop();continue}u=o.call(e,c)}catch(e){u=[6,e],n=0}finally{t=r=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}([u,d])}}},__values=this&&this.__values||function(e){var o="function"==typeof Symbol&&Symbol.iterator,t=o&&e[o],n=0;if(t)return t.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(o?"Object is not iterable.":"Symbol.iterator is not defined.")},__read=this&&this.__read||function(e,o){var t="function"==typeof Symbol&&e[Symbol.iterator];if(!t)return e;var n,r,i=t.call(e),c=[];try{for(;(void 0===o||o-- >0)&&!(n=i.next()).done;)c.push(n.value)}catch(e){r={error:e}}finally{try{n&&!n.done&&(t=i.return)&&t.call(i)}finally{if(r)throw r.error}}return c};Object.defineProperty(exports,"__esModule",{value:!0}),exports.CloudDBZone=exports.ServerStatus=void 0;var CloudDBZoneQuery_1=require("../query/CloudDBZoneQuery"),CloudDBZoneSnapshot_1=require("../query/CloudDBZoneSnapshot"),Transaction_1=require("./Transaction"),Utils_1=require("../utils/Utils"),AGConnectCloudDBException_1=require("../exception/AGConnectCloudDBException"),CloudDBErrorCode_1=require("../exception/CloudDBErrorCode"),FieldType_1=require("../utils/FieldType"),Constant_1=require("../utils/Constant"),CloudDBService_1=require("./CloudDBService"),DataModelHelper_1=require("../utils/DataModelHelper"),ConditionValidate_1=require("../utils/ConditionValidate"),ErrorCodeMessage_1=require("../exception/ErrorCodeMessage"),CloudDBZoneGenericObject_1=require("../request/CloudDBZoneGenericObject"),MAX_OBJECT_LIST_NUM=1e3,MAX_OBJECTS_CAPACITY=20971520,MAX_FAILED_COUNT=5,HTTP_STATUS_OK=200,ServerStatus=function(){};exports.ServerStatus=ServerStatus;var RequestOperationTypeMap=new Map([["UPSERT",{operationType:0,resKey:"upsertNumber"}],["INSERT",{operationType:1,resKey:"insertNumber"}],["DELETE",{operationType:2,resKey:"delNumber"}],["RECYCLEBIN_DELETE",{operationType:3,resKey:"delNumber"}],["RECOVERY",{operationType:4,resKey:"recoveryNumber"}]]),CloudDBZone=function(e){function o(o,t){var n=e.call(this,o)||this;if(n.QUERIES_URL="v4/objects/queries",n.TRANSACTION_QUERIES_URL="v4/syncObjects/queries",n.DATA_URL="v3/syncObjects",n.ALL_DATA_URL="v3/syncAllObjects",n.TRANSACTION_URL="v3/transaction",n.KEY_ORDERBY_FIELD_NAME="orderByFieldName",n.KEY_ORDERBY_DIRECTION="orderByDirection",n.UPDATE_URL="v4/object",n.RECOVERY_DATA_URL="v1/objectsRecovery",n.BATCH_UPDATE_DELETE_URL="v4/objects",n.SYNC_BATCH_UPDATE_DELETE_URL="v1/objects/changeByCondition",n.PROCESS_PERCENTAGE="v1/processPercentage",n.SERVER_STATUS_URL="v1/serverStatus",n.KEY_SERVER_STATUS="timestamp",!t||!t.getCloudDBZoneName())throw console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.VALUE_IS_NULL).message),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.VALUE_IS_NULL);return n.setTraceId(t.getTraceId()),n.cloudDBZoneConfig=t,n}return __extends(o,e),o.prototype.getCloudBDZoneConfig=function(){return this.cloudDBZoneConfig},o.prototype.executeTransactionQuery=function(e,t){return __awaiter(this,void 0,void 0,(function(){var n,r,i,c=this;return __generator(this,(function(u){return n=e.clazzInstance,this.verifyPaginationQuery(e,n),r=this.URL_PREFIX+this.TRANSACTION_QUERIES_URL,i={objectTypeName:e.getObjectTypeName(),cloudDBZoneName:this.cloudDBZoneConfig.getCloudDBZoneName(),isQueryDelete:t,queryConditions:n instanceof CloudDBZoneGenericObject_1.CloudDBZoneGenericObject?Utils_1.Utils.serializeGenericObjQuery(e.getQueryConditions()):Utils_1.Utils.serializeQueryConditions(e.getQueryConditions(),n.getFieldTypeMap())},[2,new Promise((function(e,t){var n=c.generalRequestId();c.requestSender.sendPostRequest(r,n,i).then((function(t){c.checkResponseBody(t),e(t[o.KEY_DATA][o.KEY_DATA])})).catch((function(){c.resendTransactionQuery(e,t,r,n,i)}))}))]}))}))},o.prototype.resendTransactionQuery=function(e,t,n,r,i){var c=this;this.requestSender.sendPostRequest(n,r,i,!0).then((function(t){c.checkResponseBody(t),e(t[o.KEY_DATA][o.KEY_DATA])})).catch((function(e){console.warn("Query catch error, requestId:"+r.traceId),c.isErrResponseNotValid(e)?t(e):t(new AGConnectCloudDBException_1.AGConnectCloudDBException(String(e.response.data.errorCodeV2)))}))},o.prototype.executeUpsert=function(e){return this.handleIncrementData(e,"UPSERT")},o.prototype.executeInsert=function(e){return this.handleIncrementData(e,"INSERT")},o.prototype.executeRecovery=function(e){return this.handleIncrementData(e,"RECOVERY")},o.prototype.executeUpdate=function(e,t){var n=this;if(0===e.getUpdateMap().size&&0===e.getIncrementMap().size)return console.log("The updated and incremental field size is 0, no need to update."),Promise.resolve(0);var r=this.URL_PREFIX+this.UPDATE_URL;return this.checkOperator(e),o.checkConstraint(e.getObject(),t),new Promise((function(i,c){var u=n.generalRequestId(),d=n.getUpdateData(e,t);n.requestSender.sendPutRequest(r,u,d).then((function(e){n.checkResponseBody(e),i(e[o.KEY_DATA].affectNum)})).catch((function(){n.resendUpdateRequest(i,c,r,u,d)}))}))},o.prototype.getUpdateData=function(e,t,n){var r=n?{cloudDBZoneName:this.cloudDBZoneConfig.getCloudDBZoneName(),objectTypeName:e.getObjectTypeName()}:{cloudDBZoneName:this.cloudDBZoneConfig.getCloudDBZoneName(),objectTypeName:e.getObjectTypeName(),primaryKey:o.getPrimaryKeys(e.getObject())};return e.getIncrementMap()&&0!=e.getIncrementMap().size&&(r.increment=Utils_1.Utils.serializeMapObject(e.getObject(),e.getIncrementMap())),e.getUpdateMap()&&0!=e.getUpdateMap().size&&(r.update=Utils_1.Utils.serializeMapObject(e.getObject(),e.getUpdateMap())),t&&(r.conditions=e.getObject()instanceof CloudDBZoneGenericObject_1.CloudDBZoneGenericObject?Utils_1.Utils.serializeGenericObjQuery(t.getConditions()):Utils_1.Utils.serializeQueryConditions(t.getConditions(),e.getObject().getFieldTypeMap())),n&&!t&&(r.conditions=[]),r},o.prototype.getBatchDeleteData=function(e){var o={cloudDBZoneName:this.cloudDBZoneConfig.getCloudDBZoneName(),objectTypeName:e.getObjectTypeName()};return e&&(o.conditions=e.getSerializeQueryCondition()),o},o.prototype.executeBatchUpdate=function(e,t){var n=this;return 0===e.getUpdateMap().size&&0===e.getIncrementMap().size?(console.log("The updated and incremental field size is 0, no need to update."),Promise.resolve(0)):(this.checkOperator(e,!0),o.checkConstraint(e.getObject(),t),new Promise((function(o,r){var i=n.generalRequestId(),c=n.getUpdateData(e,t,!0);n.sendBatchRequest(i,c,"BATCH_UPSERT").then((function(e){n.checkBatchResult(o,r,e,"BATCH_UPSERT",i)})).catch((function(){n.resendBatchRequest(o,r,i,c,"BATCH_UPSERT")}))})))},o.prototype.executeBatchUpdateByCondition=function(e,t){var n=this;return 0===e.getUpdateMap().size&&0===e.getIncrementMap().size?(console.log("The updated and incremental field size is 0, no need to update."),Promise.resolve(0)):(this.checkOperator(e,!0),o.checkConstraint(e.getObject(),t),new Promise((function(r,i){var c=n.generalRequestId(),u=n.getUpdateData(e,t,!0),d=n.URL_PREFIX+n.SYNC_BATCH_UPDATE_DELETE_URL;n.requestSender.sendPostRequest(d,c,u).then((function(e){n.checkResponseBody(e),r(e[o.KEY_DATA].affectNum)})).catch((function(e){i(e)}))})))},o.prototype.executeBatchDelete=function(e){var t=this;return o.checkConstraintOnly(e),new Promise((function(o,n){var r=t.generalRequestId(),i=t.getBatchDeleteData(e);t.sendBatchRequest(r,i,"BATCH_DELETE").then((function(e){t.checkBatchResult(o,n,e,"BATCH_DELETE",r)})).catch((function(){t.resendBatchRequest(o,n,r,i,"BATCH_DELETE")}))}))},o.prototype.executeBatchDeleteByCondition=function(e){var t=this;return o.checkConstraintOnly(e),new Promise((function(n,r){var i=t.generalRequestId(),c=t.getBatchDeleteData(e),u=t.URL_PREFIX+t.SYNC_BATCH_UPDATE_DELETE_URL;t.requestSender.sendDeleteRequest(u,i,c).then((function(e){t.checkResponseBody(e),n(e[o.KEY_DATA].affectNum)})).catch((function(e){r(e)}))}))},o.prototype.sendBatchRequest=function(e,o,t,n){return __awaiter(this,void 0,void 0,(function(){var r,i,c,u;return __generator(this,(function(d){switch(d.label){case 0:return r=this.URL_PREFIX+this.BATCH_UPDATE_DELETE_URL,"BATCH_UPSERT"!==t?[3,2]:[4,this.requestSender.sendPostRequest(r,e,o,n)];case 1:return i=d.sent(),[3,4];case 2:return[4,this.requestSender.sendDeleteRequest(r,e,o,n)];case 3:i=d.sent(),d.label=4;case 4:if(this.checkResponseBody(i),!(c=i.data.processId))throw new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.SYSTEM_ERROR);return u=this.URL_PREFIX+this.PROCESS_PERCENTAGE,[4,this.requestSender.sendProcessRequest(u,e,{processId:c},n)];case 5:return[2,d.sent()]}}))}))},o.prototype.checkBatchResult=function(e,t,n,r,i){this.checkResponseBody(n),n.status===HTTP_STATUS_OK&&1===n.data.processPercentage&&n.data.affectNum>=0?e(n[o.KEY_DATA].affectNum):(console.warn("".concat(r," catch error, requestId:")+i.traceId),n.status===HTTP_STATUS_OK?n.data.finished?n.data.finished&&n.data.errorCodeV2?t(new AGConnectCloudDBException_1.AGConnectCloudDBException(String(n.data.errorCodeV2))):t(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.RESPONSE_IS_INVALID)):t(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.PROCESS_REQUEST_TIMEOUT)):t(n))},o.prototype.resendUpsertRequest=function(e,t,n,r,i,c){var u=this;this.requestSender.sendPostRequest(n,r,i,!0).then((function(t){u.checkResponseBody(t),e(t[o.KEY_DATA][RequestOperationTypeMap.get(c).resKey])})).catch((function(e){console.warn("".concat(c," catch error, requestId:")+r.traceId),u.isErrResponseNotValid(e)?t(e):t(new AGConnectCloudDBException_1.AGConnectCloudDBException(String(e.response.data.errorCodeV2)))}))},o.prototype.resendUpdateRequest=function(e,t,n,r,i){var c=this;this.requestSender.sendPutRequest(n,r,i,!0).then((function(t){c.checkResponseBody(t),e(t[o.KEY_DATA].affectNum)})).catch((function(e){console.warn("Update catch error, requestId:"+r.traceId),c.isErrResponseNotValid(e)?t(e):t(new AGConnectCloudDBException_1.AGConnectCloudDBException(String(e.response.data.errorCodeV2)))}))},o.prototype.resendBatchRequest=function(e,o,t,n,r){var i=this;this.sendBatchRequest(t,n,r).then((function(n){i.checkBatchResult(e,o,n,r,t)})).catch((function(e){console.warn("".concat(r," catch error, requestId:")+t.traceId),i.isErrResponseNotValid(e)?o(e):o(new AGConnectCloudDBException_1.AGConnectCloudDBException(String(e.response.data.errorCodeV2)))}))},o.checkInputData=function(e){if(e.length>MAX_OBJECT_LIST_NUM)throw console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.DATA_SIZE_IS_OVERFLOW).message),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.DATA_SIZE_IS_OVERFLOW);Utils_1.Utils.checkSchemaAndDataSize(e)},o.prototype.executeDelete=function(e){return this.executeDeleteInternal(e,!1)},o.prototype.executeRecycleBinDelete=function(e){return this.executeDeleteInternal(e,!0)},o.prototype.executeDeleteAll=function(e){if(!e)return console.warn("the class is null"),Promise.reject(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.VALUE_IS_NULL));var o;typeof e===Constant_1.VerifyKey.String?(Utils_1.Utils.checkObjectTypeName(e),o=e):(Utils_1.Utils.clazzCheck(e),o=(new e).getClassName());var t=this.URL_PREFIX+this.ALL_DATA_URL,n={objectTypeName:o,cloudDBZoneName:this.cloudDBZoneConfig.getCloudDBZoneName()};return this.objectDeleteResponse(t,n)},o.prototype.executeQuery=function(e){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(o){return[2,this.executeQueryInternal(e,!1)]}))}))},o.prototype.executeRecycleBinQuery=function(e,o,t){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(n){if(!o&&!t)return[2,this.executeQueryInternal(e,!0)];if(!o||!t||o.getTime()>t.getTime())throw console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.INPUT_PARAMETER_INVALID).message),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.INPUT_PARAMETER_INVALID);return[2,this.executeQueryInternal(e,!0,o,t)]}))}))},o.prototype.executeAverageQuery=function(e,o){var t=this.formAggregateQueryData(e,o,"Average"),n="average("+o+")";return this.aggregateQueryResponse(t,n)},o.prototype.executeSumQuery=function(e,o){var t=this.formAggregateQueryData(e,o,"Sum"),n="sum("+o+")";return this.aggregateQueryResponse(t,n)},o.prototype.executeMaximumQuery=function(e,o){var t=this.formAggregateQueryData(e,o,"Max"),n="maximum("+o+")";return this.aggregateQueryResponse(t,n)},o.prototype.executeMinimalQuery=function(e,o){var t=this.formAggregateQueryData(e,o,"Min"),n="minimum("+o+")";return this.aggregateQueryResponse(t,n)},o.prototype.executeCountQuery=function(e,o){var t=this.formAggregateQueryData(e,o,"Count"),n="count("+o+")";return this.aggregateQueryResponse(t,n)},o.prototype.runTransaction=function(e){return e?this.getCloudDBZoneResult(e):(console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.VALUE_IS_NULL).message),Promise.reject(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.VALUE_IS_NULL)))},o.prototype.executeServerStatusQuery=function(){var e=this,t=this.URL_PREFIX+this.SERVER_STATUS_URL;return new Promise((function(n,r){var i=e.generalRequestId();e.requestSender.sendGetRequest(t,i).then((function(t){n({serverTimestamp:Number(t[o.KEY_DATA][e.KEY_SERVER_STATUS])})})).catch((function(){e.resendExecuteServerStatusQuery(n,r,t,i)}))}))},o.prototype.resendExecuteServerStatusQuery=function(e,t,n,r){var i=this;this.requestSender.sendGetRequest(n,r).then((function(t){e({serverTimestamp:t[o.KEY_DATA][i.KEY_SERVER_STATUS]})})).catch((function(e){console.warn("Query ServerStatus catch error, requestId:"+r.traceId),i.isErrResponseNotValid(e)?t(e):t(new AGConnectCloudDBException_1.AGConnectCloudDBException(String(e.response.data.errorCodeV2)))}))},o.prototype.getCloudDBZoneResult=function(e){return __awaiter(this,void 0,void 0,(function(){var t,n,r;return __generator(this,(function(i){switch(i.label){case 0:t=new Transaction_1.Transaction(this),n=!1,r=0,i.label=1;case 1:if(n||!(r<MAX_FAILED_COUNT))return[3,7];i.label=2;case 2:return i.trys.push([2,,5,6]),typeof e.apply!=Constant_1.VerifyKey.Function?(console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.CLASS_INVALID).message),[2,Promise.reject(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.CLASS_INVALID))]):[4,e.apply(t)];case 3:return(n=i.sent())?(t.sortVerifyObjectsList(),o.verifyTransaction(t),[4,this.getTransactionResult(t)]):(console.warn("user function return false, transaction failed."),[2,!1]);case 4:return n=i.sent(),r++,[3,6];case 5:return t.release(),[7];case 6:return[3,1];case 7:return[2,n]}}))}))},o.verifyTransaction=function(e){var o,t,n=0;try{for(var r=__values(e.transactionList),i=r.next();!i.done;i=r.next()){var c=i.value;if((c.operationType===Transaction_1.OperationType.UPSERT||c.operationType===Transaction_1.OperationType.DELETE)&&(n+=c.objects.length)>MAX_OBJECT_LIST_NUM)throw console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.DATA_SIZE_IS_OVERFLOW).message),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.DATA_SIZE_IS_OVERFLOW)}}catch(e){o={error:e}}finally{try{i&&!i.done&&(t=r.return)&&t.call(r)}finally{if(o)throw o.error}}if(e.needVerifyObjectsList.length>MAX_OBJECT_LIST_NUM)throw console.warn("Too many query results in the transaction."),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.DATA_SIZE_IS_OVERFLOW)},o.prototype.getTransactionResult=function(e){return __awaiter(this,void 0,void 0,(function(){var o,t,n=this;return __generator(this,(function(r){return e.isTransactionEmpty()?(console.warn("nothing need to execute in this transaction, transaction succeed."),[2,Promise.resolve(!0)]):(o=this.URL_PREFIX+this.TRANSACTION_URL,t={cloudDBZoneName:this.cloudDBZoneConfig.getCloudDBZoneName(),needVerifyObjectsList:e.needVerifyObjectsList,transactionList:e.transactionList},JSON.stringify(t).length>MAX_OBJECTS_CAPACITY?(console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.DATA_SIZE_IS_OVERFLOW).message),[2,Promise.reject(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.DATA_SIZE_IS_OVERFLOW))]):[2,new Promise((function(e,r){var i=n.generalRequestId();n.requestSender.sendPostRequest(o,i,t).then((function(o){o.status===HTTP_STATUS_OK&&e(!0)})).catch((function(){n.resendGetTransactionResult(e,r,o,i,t)}))}))])}))}))},o.prototype.resendGetTransactionResult=function(e,o,t,n,r){var i=this;this.requestSender.sendPostRequest(t,n,r,!0).then((function(o){o.status===HTTP_STATUS_OK&&e(!0)})).catch((function(t){if(console.warn("Transaction catch error, requestId:"+n.traceId),i.isErrResponseNotValid(t))o(t);else{var r=String(t.response.data.errorCodeV2);console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(r).message),r!=CloudDBErrorCode_1.CloudDBErrorCode.PARAMETER_INVALID?e(!1):o(new AGConnectCloudDBException_1.AGConnectCloudDBException(r))}}))},o.prototype.verifyPaginationQuery=function(e,o){var t=this.isPaginationQuery(e.getQueryConditions());if(t){var n=this.getAllOrderBys(e.getQueryConditions()),r=n.get(this.KEY_ORDERBY_FIELD_NAME),i=n.get(this.KEY_ORDERBY_DIRECTION);if(i.includes("asc")&&i.includes("desc"))throw console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.ORDER_BY_ONLY_SUPPORT_ONE_DIRECTION).message),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.ORDER_BY_ONLY_SUPPORT_ONE_DIRECTION);if(r.size!==i.length)throw console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.PAGINATION_ORDER_BY_HAS_DUPLICATE_FIELD).message),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.PAGINATION_ORDER_BY_HAS_DUPLICATE_FIELD);this.checkPaginationQueryConditions(e,t,r,o),e.conditionValidate.isGenericObj||this.checkPrimaryKeyValues(e,t)}},o.prototype.checkPrimaryKeyValues=function(e,o){var t,n,r=e.clazzInstance.getPrimaryKeyList();try{for(var i=__values(r),c=i.next();!c.done;c=i.next()){var u=c.value;if(Utils_1.Utils.isNullOrUndefined(o[u]))throw console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.PRIMARY_KEY_VALUE_REQUIRED).message),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.PRIMARY_KEY_VALUE_REQUIRED)}}catch(e){t={error:e}}finally{try{c&&!c.done&&(n=i.return)&&n.call(i)}finally{if(t)throw t.error}}},o.prototype.checkPaginationQueryConditions=function(e,t,n,r){var i=this,c=!1;e.getQueryConditions().forEach((function(u){var d=u.conditionType;if(Utils_1.Utils.isAggregateType(d))throw console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.PAGINATE_NOT_SUPPORT_AGGREGATE)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.PAGINATE_NOT_SUPPORT_AGGREGATE);if("OrderBy"!==d&&"EqualTo"!==d&&"Limit"!==d&&!Utils_1.Utils.isPaginationType(d))throw console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.PAGINATE_QUERY_INPUT_IS_ONLY_SUPPORTED).message),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.PAGINATE_QUERY_INPUT_IS_ONLY_SUPPORTED);if("EqualTo"===d){if(c)throw console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.EQUAL_TO_NOT_BEFORE_ORDER_BY).message),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.EQUAL_TO_NOT_BEFORE_ORDER_BY);i.checkPaginationEqualTo(u,t,n)}"OrderBy"===d&&(c=!0,e.conditionValidate.isGenericObj||o.checkPaginationOrderBy(u,r))}))},o.prototype.checkPaginationEqualTo=function(e,o,t){if(o instanceof CloudDBZoneGenericObject_1.CloudDBZoneGenericObject)this.checkGenericObjectPaginationEqualTo(e,o,t);else{var n=e.fieldName,r=o.getFieldTypeMap();if(o.getPrimaryKeyList().includes(n))throw console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.PAGINATE_EQUAL_TO_NOT_SUPPORT_PRIMARY_KEY).message),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.PAGINATE_EQUAL_TO_NOT_SUPPORT_PRIMARY_KEY);if(t.has(n))throw console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.PAGINATE_EQUAL_TO_FIELD_IS_SAME_WITH_ORDER_BY).message),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.PAGINATE_EQUAL_TO_FIELD_IS_SAME_WITH_ORDER_BY);if(r.get(n)===FieldType_1.FieldType.Text)throw console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.PAGINATE_EQUAL_TO_NOT_SUPPORT_TEXT).message),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.PAGINATE_EQUAL_TO_NOT_SUPPORT_TEXT)}},o.checkPaginationOrderBy=function(e,o){var t=e.fieldName,n=o.getFieldTypeMap().get(t);if(n===FieldType_1.FieldType.ByteArray||n===FieldType_1.FieldType.Text||n===FieldType_1.FieldType.Boolean)throw console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.PAGINATE_ORDER_BY_NOT_SUPPORT_TYPE).message),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.PAGINATE_ORDER_BY_NOT_SUPPORT_TYPE)},o.prototype.getIndexByQueryCondition=function(e,o){var t=[];return e.forEach((function(e){var o=e.conditionType;if("OrderBy"===o||"EqualTo"===o){var n=e.fieldName;n&&t.push(n)}})),o.forEach((function(e){t.includes(e)||t.push(e)})),t},o.checkAggregateQueryInput=function(e,o,t,n){if(!o)throw console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.AGGREGATE_QUERY_FIELD_NAME_IS_NULL).message),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.AGGREGATE_QUERY_FIELD_NAME_IS_NULL);if(Utils_1.Utils.checkFieldName(o),!n){var r=e.getFieldTypeMap();if(!r.has(o))throw console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.AGGREGATE_QUERY_ENTITY_DO_NOT_HAVE_FIELD).message),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.AGGREGATE_QUERY_ENTITY_DO_NOT_HAVE_FIELD);if(e.getEncryptedFieldList().includes(o)&&"Count"!=t)throw console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.ENCRYPTED_FIELD_NOT_SUPPORT_QUERY).message),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.ENCRYPTED_FIELD_NOT_SUPPORT_QUERY);var i=r.get(o);if("Count"!==t&&!Utils_1.Utils.isNumericField(i))throw console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.AGGREGATE_QUERY_FIELD_TYPE_IS_NOT_NUMERIC).message),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.AGGREGATE_QUERY_FIELD_TYPE_IS_NOT_NUMERIC)}},o.responseCheck=function(e){if(!e||!e.status)throw console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.RESPONSE_IS_INVALID).message),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.RESPONSE_IS_INVALID);if(!(e.status!==HTTP_STATUS_OK||e[o.KEY_DATA]&&e[o.KEY_DATA][o.KEY_DATA]))throw console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.RESPONSE_IS_INVALID).message),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.RESPONSE_IS_INVALID)},o.aggregateResponseCheck=function(e){if(o.responseCheck(e),!e[o.KEY_DATA][o.KEY_DATA][0])throw console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.RESPONSE_IS_INVALID).message),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.RESPONSE_IS_INVALID)},o.prototype.getAllOrderBys=function(e){var o=this,t=new Map;return t.set(this.KEY_ORDERBY_FIELD_NAME,new Set),t.set(this.KEY_ORDERBY_DIRECTION,[]),e.forEach((function(e){"OrderBy"===e.conditionType&&(t.get(o.KEY_ORDERBY_FIELD_NAME).add(e.fieldName),t.get(o.KEY_ORDERBY_DIRECTION).push(e.value))})),t},o.prototype.isPaginationQuery=function(e){var o=void 0;return e.forEach((function(e){if(Utils_1.Utils.isPaginationType(e.conditionType)){if(o)throw console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.PAGINATE_QUERY_INPUT_IS_MORE_THAN_ONE).message),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.PAGINATE_QUERY_INPUT_IS_MORE_THAN_ONE);o=e.value}})),o},o.prototype.objectListTransform=function(e){if(!e){var t=new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.VALUE_IS_NULL);throw console.warn(t.message),t}var n;n=Utils_1.Utils.isArray(e)?e:[e];for(var r=0;r<n.length;r++)if(null==n[r])throw console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.VALUE_IS_NULL).message),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.VALUE_IS_NULL);return o.checkInputData(n),n},o.prototype.aggregateQueryResponse=function(e,t){var n=this,r=this.URL_PREFIX+this.QUERIES_URL;return new Promise((function(i,c){var u=n.generalRequestId();n.requestSender.sendPostRequest(r,u,e).then((function(e){o.aggregateResponseCheck(e),i(e[o.KEY_DATA][o.KEY_DATA][0][t])})).catch((function(){n.resendAggregateQuery(i,c,r,u,e,t)}))}))},o.prototype.resendAggregateQuery=function(e,t,n,r,i,c){var u=this;this.requestSender.sendPostRequest(n,r,i,!0).then((function(t){o.aggregateResponseCheck(t),e(t[o.KEY_DATA][o.KEY_DATA][0][c])})).catch((function(e){var o,n,i,c;if(console.warn("Query catch error, requestId:"+r.traceId),u.isErrResponseNotValid(e))t(e);else{var d=null===(n=null===(o=null==e?void 0:e.response)||void 0===o?void 0:o.data)||void 0===n?void 0:n.errorCodeV2;d!=CloudDBErrorCode_1.CloudDBErrorCode.NOT_SUPPORT_QUERY_DATA_TYPE&&d!=CloudDBErrorCode_1.CloudDBErrorCode.ERROR_CODE_PAGINATION_QUERY_FAILED_FOR_NO_INDEX?t(new AGConnectCloudDBException_1.AGConnectCloudDBException(String(e.response.data.errorCodeV2))):t(new AGConnectCloudDBException_1.AGConnectCloudDBException(String(e.response.data.errorCodeV2),null===(c=null===(i=null==e?void 0:e.response)||void 0===i?void 0:i.data)||void 0===c?void 0:c.info))}}))},o.prototype.formAggregateQueryData=function(e,t,n){if(!e)throw console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.AGGREGATE_QUERY_CLOUDDB_ZONE_IS_NULL).message),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.AGGREGATE_QUERY_CLOUDDB_ZONE_IS_NULL);if(!(e instanceof CloudDBZoneQuery_1.CloudDBZoneQuery)||typeof e.getClazz()!==Constant_1.VerifyKey.Function)throw console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.INPUT_PARAMETER_INVALID).message),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.INPUT_PARAMETER_INVALID);var r=e.getObjectTypeName(),i=e.clazzInstance;o.checkAggregateQueryInput(i,t,n,e.conditionValidate.isGenericObj);var c=e.getQueryConditions();c.push({fieldName:t,conditionType:n});var u=e.conditionValidate.isGenericObj?Utils_1.Utils.serializeGenericObjQuery(c):Utils_1.Utils.serializeQueryConditions(c,i.getFieldTypeMap());return{objectTypeName:r,cloudDBZoneName:this.cloudDBZoneConfig.getCloudDBZoneName(),queryConditions:u}},o.prototype.checkOperator=function(e,o){var t,n,r,i,c=e.getObject();o||DataModelHelper_1.DataModelHelper.checkPrimaryKeys(c);var u=e.getIncrementMap(),d=e.getUpdateMap(),a=new Set;try{for(var s=__values(u.entries()),C=s.next();!C.done;C=s.next()){var l=__read(C.value,2),E=l[0],_=l[1];a.add(E),DataModelHelper_1.DataModelHelper.checkOperatorField(E,_,c,!0,!!o)}}catch(e){t={error:e}}finally{try{C&&!C.done&&(n=s.return)&&n.call(s)}finally{if(t)throw t.error}}try{for(var D=__values(d.entries()),p=D.next();!p.done;p=D.next()){var A=__read(p.value,2);E=A[0],_=A[1];a.add(E),DataModelHelper_1.DataModelHelper.checkOperatorField(E,_,c,!1,!!o)}}catch(e){r={error:e}}finally{try{p&&!p.done&&(i=D.return)&&i.call(D)}finally{if(r)throw r.error}}if(a.size<u.size+d.size)throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.DUPLICATE_FIELD)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.DUPLICATE_FIELD)},o.getPrimaryKeys=function(e){var o,t,n={},r=e instanceof CloudDBZoneGenericObject_1.CloudDBZoneGenericObject?e.primaryKeys:e.getPrimaryKeyList();try{for(var i=__values(r),c=i.next();!c.done;c=i.next()){var u=c.value;n[u]=e instanceof CloudDBZoneGenericObject_1.CloudDBZoneGenericObject?e.getFieldValue(u):e[u]}}catch(e){o={error:e}}finally{try{c&&!c.done&&(t=i.return)&&t.call(i)}finally{if(o)throw o.error}}return n},o.checkConstraint=function(e,o){if(o){if(!(e instanceof o.getClazz()))throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.OPERATOR_MISMATCH_CONSTRAINT)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.OPERATOR_MISMATCH_CONSTRAINT);this.checkConstraintOnly(o)}},o.checkConstraintOnly=function(e){var o,t;if(!e)throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.OPERATOR_MISMATCH_CONSTRAINT)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.OPERATOR_MISMATCH_CONSTRAINT);ConditionValidate_1.ConditionValidate.checkConditionLen(e.getConditions());var n=new ConditionValidate_1.ConditionValidate(e.getClazz(),e.clazzInstance);try{for(var r=__values(e.getConditions()),i=r.next();!i.done;i=r.next()){var c=i.value;n.checkCondition(c)}}catch(e){o={error:e}}finally{try{i&&!i.done&&(t=r.return)&&t.call(r)}finally{if(o)throw o.error}}},o.prototype.handleIncrementData=function(e,t){var n,r,i=this;try{if(0===(n=this.objectListTransform(e)).length)return console.log("ObjectList is empty when execute ".concat(t,".")),Promise.resolve(0);r=this.formData(n,t)}catch(e){return Promise.reject(e)}var c="RECOVERY"==t?this.RECOVERY_DATA_URL:this.DATA_URL,u=this.URL_PREFIX+c;return new Promise((function(e,n){var c=i.generalRequestId();i.requestSender.sendPostRequest(u,c,r).then((function(n){i.checkResponseBody(n),e(n[o.KEY_DATA][RequestOperationTypeMap.get(t).resKey])})).catch((function(){i.resendUpsertRequest(e,n,u,c,r,t)}))}))},o.prototype.formData=function(e,o,t){var n;n=e[0]instanceof CloudDBZoneGenericObject_1.CloudDBZoneGenericObject?e[0].getObjectTypeName():e[0].constructor.name;var r={cloudDBZoneName:this.cloudDBZoneConfig.getCloudDBZoneName(),objectTypeName:n,objects:Utils_1.Utils.serializeObjects(e)};switch(o){case"UPSERT":case"INSERT":r.operationType=RequestOperationTypeMap.get(o).operationType;break;case"RECYCLEBIN_DELETE":r.isDeleteDisused=t}if(JSON.stringify(r).length>MAX_OBJECTS_CAPACITY)throw console.warn("upsert data size is more than 20MB"),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.DATA_SIZE_IS_OVERFLOW);return r},o.prototype.executeQueryInternal=function(e,t,n,r){return __awaiter(this,void 0,void 0,(function(){var i,c,u,d,a,s,C=this;return __generator(this,(function(l){return e?e instanceof CloudDBZoneQuery_1.CloudDBZoneQuery&&typeof e.getClazz()===Constant_1.VerifyKey.Function?(i=e.clazzInstance,this.verifyPaginationQuery(e,i),c=this.URL_PREFIX+this.QUERIES_URL,u=e.conditionValidate.fieldTypeMap,d=e.getQueryConditions(),a=e.conditionValidate.isGenericObj?Utils_1.Utils.serializeGenericObjQuery(d,n,r):Utils_1.Utils.serializeQueryConditions(d,i.getFieldTypeMap(),n,r),s={objectTypeName:e.getObjectTypeName(),cloudDBZoneName:this.cloudDBZoneConfig.getCloudDBZoneName(),isQueryDelete:t,queryConditions:a},[2,new Promise((function(t,n){var r=C.generalRequestId();C.requestSender.sendPostRequest(c,r,s).then((function(n){o.responseCheck(n);var r=Utils_1.Utils.deserializeObjects(n[o.KEY_DATA][o.KEY_DATA],u,e.getClazz(),e.getObjectTypeName()),i=new CloudDBZoneSnapshot_1.CloudDBZoneSnapshot(r);t(i)})).catch((function(){C.requestSender.sendPostRequest(c,r,s,!0).then((function(n){o.responseCheck(n);var r=Utils_1.Utils.deserializeObjects(n[o.KEY_DATA][o.KEY_DATA],u,e.getClazz(),e.getObjectTypeName()),i=new CloudDBZoneSnapshot_1.CloudDBZoneSnapshot(r);t(i)})).catch((function(e){var o,t;if(console.warn("Query catch error, requestId:"+r.traceId),C.isErrResponseNotValid(e))n(e);else{var i=String(e.response.data.errorCodeV2);i!==CloudDBErrorCode_1.CloudDBErrorCode.NOT_SUPPORT_QUERY_DATA_TYPE&&i!==CloudDBErrorCode_1.CloudDBErrorCode.ERROR_CODE_PAGINATION_QUERY_FAILED_FOR_NO_INDEX?n(new AGConnectCloudDBException_1.AGConnectCloudDBException(i)):n(new AGConnectCloudDBException_1.AGConnectCloudDBException(String(e.response.data.errorCodeV2),null===(t=null===(o=null==e?void 0:e.response)||void 0===o?void 0:o.data)||void 0===t?void 0:t.info))}}))}))}))]):(console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.INPUT_PARAMETER_INVALID).message),[2,Promise.reject(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.INPUT_PARAMETER_INVALID))]):(console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.QUERY_CONDITION_IS_NULL).message),[2,Promise.reject(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.QUERY_CONDITION_IS_NULL))])}))}))},o.prototype.executeDeleteInternal=function(e,o){var t,n;try{if(0===(t=this.objectListTransform(e)).length)return console.log("ObjectList is empty when execute Delete."),Promise.resolve(0);var r=o?"RECYCLEBIN_DELETE":"DELETE";n=this.formData(t,r,o)}catch(e){return Promise.reject(e)}var i=this.URL_PREFIX+this.DATA_URL;return this.objectDeleteResponse(i,n)},o.prototype.checkGenericObjectPaginationEqualTo=function(e,o,t){var n=e.fieldName;if(o.primaryKeys.has(n))throw console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.PAGINATE_EQUAL_TO_NOT_SUPPORT_PRIMARY_KEY).message),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.PAGINATE_EQUAL_TO_NOT_SUPPORT_PRIMARY_KEY);if(t.has(n))throw console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.PAGINATE_EQUAL_TO_FIELD_IS_SAME_WITH_ORDER_BY).message),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.PAGINATE_EQUAL_TO_FIELD_IS_SAME_WITH_ORDER_BY)},o.KEY_DATA="data",o}(CloudDBService_1.CloudDBService);exports.CloudDBZone=CloudDBZone;
|
|
1
|
+
"use strict";var __extends=this&&this.__extends||function(){var e=function(o,t){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,o){e.__proto__=o}||function(e,o){for(var t in o)Object.prototype.hasOwnProperty.call(o,t)&&(e[t]=o[t])},e(o,t)};return function(o,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=o}e(o,t),o.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}}(),__awaiter=this&&this.__awaiter||function(e,o,t,n){return new(t||(t=Promise))((function(r,i){function c(e){try{d(n.next(e))}catch(e){i(e)}}function u(e){try{d(n.throw(e))}catch(e){i(e)}}function d(e){var o;e.done?r(e.value):(o=e.value,o instanceof t?o:new t((function(e){e(o)}))).then(c,u)}d((n=n.apply(e,o||[])).next())}))},__generator=this&&this.__generator||function(e,o){var t,n,r,i,c={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return i={next:u(0),throw:u(1),return:u(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function u(u){return function(d){return function(u){if(t)throw new TypeError("Generator is already executing.");for(;i&&(i=0,u[0]&&(c=0)),c;)try{if(t=1,n&&(r=2&u[0]?n.return:u[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,u[1])).done)return r;switch(n=0,r&&(u=[2&u[0],r.value]),u[0]){case 0:case 1:r=u;break;case 4:return c.label++,{value:u[1],done:!1};case 5:c.label++,n=u[1],u=[0];continue;case 7:u=c.ops.pop(),c.trys.pop();continue;default:if(!(r=c.trys,(r=r.length>0&&r[r.length-1])||6!==u[0]&&2!==u[0])){c=0;continue}if(3===u[0]&&(!r||u[1]>r[0]&&u[1]<r[3])){c.label=u[1];break}if(6===u[0]&&c.label<r[1]){c.label=r[1],r=u;break}if(r&&c.label<r[2]){c.label=r[2],c.ops.push(u);break}r[2]&&c.ops.pop(),c.trys.pop();continue}u=o.call(e,c)}catch(e){u=[6,e],n=0}finally{t=r=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}([u,d])}}},__values=this&&this.__values||function(e){var o="function"==typeof Symbol&&Symbol.iterator,t=o&&e[o],n=0;if(t)return t.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(o?"Object is not iterable.":"Symbol.iterator is not defined.")},__read=this&&this.__read||function(e,o){var t="function"==typeof Symbol&&e[Symbol.iterator];if(!t)return e;var n,r,i=t.call(e),c=[];try{for(;(void 0===o||o-- >0)&&!(n=i.next()).done;)c.push(n.value)}catch(e){r={error:e}}finally{try{n&&!n.done&&(t=i.return)&&t.call(i)}finally{if(r)throw r.error}}return c};Object.defineProperty(exports,"__esModule",{value:!0}),exports.CloudDBZone=exports.ServerStatus=void 0;var CloudDBZoneQuery_1=require("../query/CloudDBZoneQuery"),CloudDBZoneSnapshot_1=require("../query/CloudDBZoneSnapshot"),Transaction_1=require("./Transaction"),Utils_1=require("../utils/Utils"),AGConnectCloudDBException_1=require("../exception/AGConnectCloudDBException"),CloudDBErrorCode_1=require("../exception/CloudDBErrorCode"),FieldType_1=require("../utils/FieldType"),Constant_1=require("../utils/Constant"),CloudDBService_1=require("./CloudDBService"),DataModelHelper_1=require("../utils/DataModelHelper"),ConditionValidate_1=require("../utils/ConditionValidate"),ErrorCodeMessage_1=require("../exception/ErrorCodeMessage"),CloudDBZoneGenericObject_1=require("../request/CloudDBZoneGenericObject"),MAX_OBJECT_LIST_NUM=1e3,MAX_OBJECTS_CAPACITY=20971520,MAX_FAILED_COUNT=5,HTTP_STATUS_OK=200,ServerStatus=function(){};exports.ServerStatus=ServerStatus;var RequestOperationTypeMap=new Map([["UPSERT",{operationType:0,resKey:"upsertNumber"}],["INSERT",{operationType:1,resKey:"insertNumber"}],["DELETE",{operationType:2,resKey:"delNumber"}],["RECYCLEBIN_DELETE",{operationType:3,resKey:"delNumber"}],["RECOVERY",{operationType:4,resKey:"recoveryNumber"}]]),CloudDBZone=function(e){function o(o,t){var n=e.call(this,o)||this;if(n.QUERIES_URL="v4/objects/queries",n.TRANSACTION_QUERIES_URL="v4/syncObjects/queries",n.DATA_URL="v3/syncObjects",n.ALL_DATA_URL="v3/syncAllObjects",n.TRANSACTION_URL="v3/transaction",n.KEY_ORDERBY_FIELD_NAME="orderByFieldName",n.KEY_ORDERBY_DIRECTION="orderByDirection",n.UPDATE_URL="v4/object",n.RECOVERY_DATA_URL="v1/objectsRecovery",n.BATCH_UPDATE_DELETE_URL="v4/objects",n.SYNC_BATCH_UPDATE_DELETE_URL="v1/objects/changeByCondition",n.PROCESS_PERCENTAGE="v1/processPercentage",n.SERVER_STATUS_URL="v1/serverStatus",n.KEY_SERVER_STATUS="timestamp",!t||!t.getCloudDBZoneName())throw console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.VALUE_IS_NULL).message),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.VALUE_IS_NULL);return n.setTraceId(t.getTraceId()),n.cloudDBZoneConfig=t,n}return __extends(o,e),o.prototype.getCloudBDZoneConfig=function(){return this.cloudDBZoneConfig},o.prototype.executeTransactionQuery=function(e,t){return __awaiter(this,void 0,void 0,(function(){var n,r,i,c=this;return __generator(this,(function(u){return n=e.getClazzInstance(),this.verifyPaginationQuery(e,n),r=this.URL_PREFIX+this.TRANSACTION_QUERIES_URL,i={objectTypeName:e.getObjectTypeName(),cloudDBZoneName:this.cloudDBZoneConfig.getCloudDBZoneName(),isQueryDelete:t,queryConditions:n instanceof CloudDBZoneGenericObject_1.CloudDBZoneGenericObject?Utils_1.Utils.serializeGenericObjQuery(e.getQueryConditions()):Utils_1.Utils.serializeQueryConditions(e.getQueryConditions(),n.getFieldTypeMap())},[2,new Promise((function(e,t){var n=c.generalRequestId();c.requestSender.sendPostRequest(r,n,i).then((function(t){c.checkResponseBody(t),e(t[o.KEY_DATA][o.KEY_DATA])})).catch((function(){c.resendTransactionQuery(e,t,r,n,i)}))}))]}))}))},o.prototype.resendTransactionQuery=function(e,t,n,r,i){var c=this;this.requestSender.sendPostRequest(n,r,i,!0).then((function(t){c.checkResponseBody(t),e(t[o.KEY_DATA][o.KEY_DATA])})).catch((function(e){console.warn("Query catch error, requestId:"+r.traceId),c.isErrResponseNotValid(e)?t(e):t(new AGConnectCloudDBException_1.AGConnectCloudDBException(String(e.response.data.errorCodeV2)))}))},o.prototype.executeUpsert=function(e){return this.handleIncrementData(e,"UPSERT")},o.prototype.executeInsert=function(e){return this.handleIncrementData(e,"INSERT")},o.prototype.executeRecovery=function(e){return this.handleIncrementData(e,"RECOVERY")},o.prototype.executeUpdate=function(e,t){var n=this;if(0===e.getUpdateMap().size&&0===e.getIncrementMap().size)return console.log("The updated and incremental field size is 0, no need to update."),Promise.resolve(0);var r=this.URL_PREFIX+this.UPDATE_URL;return this.checkOperator(e),o.checkConstraint(e.getObject(),t),new Promise((function(i,c){var u=n.generalRequestId(),d=n.getUpdateData(e,t);n.requestSender.sendPutRequest(r,u,d).then((function(e){n.checkResponseBody(e),i(e[o.KEY_DATA].affectNum)})).catch((function(){n.resendUpdateRequest(i,c,r,u,d)}))}))},o.prototype.getUpdateData=function(e,t,n){var r=n?{cloudDBZoneName:this.cloudDBZoneConfig.getCloudDBZoneName(),objectTypeName:e.getObjectTypeName()}:{cloudDBZoneName:this.cloudDBZoneConfig.getCloudDBZoneName(),objectTypeName:e.getObjectTypeName(),primaryKey:o.getPrimaryKeys(e.getObject())};return e.getIncrementMap()&&0!==e.getIncrementMap().size&&(r.increment=Utils_1.Utils.serializeMapObject(e.getObject(),e.getIncrementMap())),e.getUpdateMap()&&0!==e.getUpdateMap().size&&(r.update=Utils_1.Utils.serializeMapObject(e.getObject(),e.getUpdateMap())),t&&(r.conditions=e.getObject()instanceof CloudDBZoneGenericObject_1.CloudDBZoneGenericObject?Utils_1.Utils.serializeGenericObjQuery(t.getConditions()):Utils_1.Utils.serializeQueryConditions(t.getConditions(),e.getObject().getFieldTypeMap())),n&&!t&&(r.conditions=[]),r},o.prototype.getBatchDeleteData=function(e){var o={cloudDBZoneName:this.cloudDBZoneConfig.getCloudDBZoneName(),objectTypeName:e.getObjectTypeName()};return e&&(o.conditions=e.getSerializeQueryCondition()),o},o.prototype.executeBatchUpdate=function(e,t){var n=this;return 0===e.getUpdateMap().size&&0===e.getIncrementMap().size?(console.log("The updated and incremental field size is 0, no need to update."),Promise.resolve(0)):(this.checkOperator(e,!0),o.checkConstraint(e.getObject(),t),new Promise((function(o,r){var i=n.generalRequestId(),c=n.getUpdateData(e,t,!0);n.sendBatchRequest(i,c,"BATCH_UPSERT").then((function(e){n.checkBatchResult(o,r,e,"BATCH_UPSERT",i)})).catch((function(){n.resendBatchRequest(o,r,i,c,"BATCH_UPSERT")}))})))},o.prototype.executeBatchUpdateByCondition=function(e,t){var n=this;return 0===e.getUpdateMap().size&&0===e.getIncrementMap().size?(console.log("The updated and incremental field size is 0, no need to update."),Promise.resolve(0)):(this.checkOperator(e,!0),o.checkConstraint(e.getObject(),t),new Promise((function(r,i){var c=n.generalRequestId(),u=n.getUpdateData(e,t,!0),d=n.URL_PREFIX+n.SYNC_BATCH_UPDATE_DELETE_URL;n.requestSender.sendPostRequest(d,c,u).then((function(e){n.checkResponseBody(e),r(e[o.KEY_DATA].affectNum)})).catch((function(e){i(e)}))})))},o.prototype.executeBatchDelete=function(e){var t=this;return o.checkConstraintOnly(e),new Promise((function(o,n){var r=t.generalRequestId(),i=t.getBatchDeleteData(e);t.sendBatchRequest(r,i,"BATCH_DELETE").then((function(e){t.checkBatchResult(o,n,e,"BATCH_DELETE",r)})).catch((function(){t.resendBatchRequest(o,n,r,i,"BATCH_DELETE")}))}))},o.prototype.executeBatchDeleteByCondition=function(e){var t=this;return o.checkConstraintOnly(e),new Promise((function(n,r){var i=t.generalRequestId(),c=t.getBatchDeleteData(e),u=t.URL_PREFIX+t.SYNC_BATCH_UPDATE_DELETE_URL;t.requestSender.sendDeleteRequest(u,i,c).then((function(e){t.checkResponseBody(e),n(e[o.KEY_DATA].affectNum)})).catch((function(e){r(e)}))}))},o.prototype.sendBatchRequest=function(e,o,t,n){return __awaiter(this,void 0,void 0,(function(){var r,i,c,u;return __generator(this,(function(d){switch(d.label){case 0:return r=this.URL_PREFIX+this.BATCH_UPDATE_DELETE_URL,"BATCH_UPSERT"!==t?[3,2]:[4,this.requestSender.sendPostRequest(r,e,o,n)];case 1:return i=d.sent(),[3,4];case 2:return[4,this.requestSender.sendDeleteRequest(r,e,o,n)];case 3:i=d.sent(),d.label=4;case 4:if(this.checkResponseBody(i),!(c=i.data.processId))throw new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.SYSTEM_ERROR);return u=this.URL_PREFIX+this.PROCESS_PERCENTAGE,[4,this.requestSender.sendProcessRequest(u,e,{processId:c},n)];case 5:return[2,d.sent()]}}))}))},o.prototype.checkBatchResult=function(e,t,n,r,i){this.checkResponseBody(n),n.status===HTTP_STATUS_OK&&1===n.data.processPercentage&&n.data.affectNum>=0?e(n[o.KEY_DATA].affectNum):(console.warn("".concat(r," catch error, requestId:")+i.traceId),n.status===HTTP_STATUS_OK?n.data.finished?n.data.finished&&n.data.errorCodeV2?t(new AGConnectCloudDBException_1.AGConnectCloudDBException(String(n.data.errorCodeV2))):t(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.RESPONSE_IS_INVALID)):t(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.PROCESS_REQUEST_TIMEOUT)):t(n))},o.prototype.resendUpsertRequest=function(e,t,n,r,i,c){var u=this;this.requestSender.sendPostRequest(n,r,i,!0).then((function(t){u.checkResponseBody(t),e(t[o.KEY_DATA][RequestOperationTypeMap.get(c).resKey])})).catch((function(e){console.warn("".concat(c," catch error, requestId:")+r.traceId),u.isErrResponseNotValid(e)?t(e):t(new AGConnectCloudDBException_1.AGConnectCloudDBException(String(e.response.data.errorCodeV2)))}))},o.prototype.resendUpdateRequest=function(e,t,n,r,i){var c=this;this.requestSender.sendPutRequest(n,r,i,!0).then((function(t){c.checkResponseBody(t),e(t[o.KEY_DATA].affectNum)})).catch((function(e){console.warn("Update catch error, requestId:"+r.traceId),c.isErrResponseNotValid(e)?t(e):t(new AGConnectCloudDBException_1.AGConnectCloudDBException(String(e.response.data.errorCodeV2)))}))},o.prototype.resendBatchRequest=function(e,o,t,n,r){var i=this;this.sendBatchRequest(t,n,r).then((function(n){i.checkBatchResult(e,o,n,r,t)})).catch((function(e){console.warn("".concat(r," catch error, requestId:")+t.traceId),i.isErrResponseNotValid(e)?o(e):o(new AGConnectCloudDBException_1.AGConnectCloudDBException(String(e.response.data.errorCodeV2)))}))},o.checkInputData=function(e){if(e.length>MAX_OBJECT_LIST_NUM)throw console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.DATA_SIZE_IS_OVERFLOW).message),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.DATA_SIZE_IS_OVERFLOW);Utils_1.Utils.checkSchemaAndDataSize(e)},o.prototype.executeDelete=function(e){return this.executeDeleteInternal(e,!1)},o.prototype.executeRecycleBinDelete=function(e){return this.executeDeleteInternal(e,!0)},o.prototype.executeDeleteAll=function(e){if(!e)return console.warn("the class is null"),Promise.reject(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.VALUE_IS_NULL));var o;typeof e===Constant_1.VerifyKey.String?(Utils_1.Utils.checkObjectTypeName(e),o=e):(Utils_1.Utils.clazzCheck(e),o=(new e).getClassName());var t=this.URL_PREFIX+this.ALL_DATA_URL,n={objectTypeName:o,cloudDBZoneName:this.cloudDBZoneConfig.getCloudDBZoneName()};return this.objectDeleteResponse(t,n)},o.prototype.executeQuery=function(e){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(o){return[2,this.executeQueryInternal(e,!1)]}))}))},o.prototype.executeRecycleBinQuery=function(e,o,t){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(n){if(!o&&!t)return[2,this.executeQueryInternal(e,!0)];if(!o||!t||o.getTime()>t.getTime())throw console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.INPUT_PARAMETER_INVALID).message),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.INPUT_PARAMETER_INVALID);return[2,this.executeQueryInternal(e,!0,o,t)]}))}))},o.prototype.executeAverageQuery=function(e,o){var t=this.formAggregateQueryData(e,o,"Average"),n="average("+o+")";return this.aggregateQueryResponse(t,n)},o.prototype.executeSumQuery=function(e,o){var t=this.formAggregateQueryData(e,o,"Sum"),n="sum("+o+")";return this.aggregateQueryResponse(t,n)},o.prototype.executeMaximumQuery=function(e,o){var t=this.formAggregateQueryData(e,o,"Max"),n="maximum("+o+")";return this.aggregateQueryResponse(t,n)},o.prototype.executeMinimalQuery=function(e,o){var t=this.formAggregateQueryData(e,o,"Min"),n="minimum("+o+")";return this.aggregateQueryResponse(t,n)},o.prototype.executeCountQuery=function(e,o){var t=this.formAggregateQueryData(e,o,"Count"),n="count("+o+")";return this.aggregateQueryResponse(t,n)},o.prototype.runTransaction=function(e){return e?this.getCloudDBZoneResult(e):(console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.VALUE_IS_NULL).message),Promise.reject(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.VALUE_IS_NULL)))},o.prototype.executeServerStatusQuery=function(){var e=this,t=this.URL_PREFIX+this.SERVER_STATUS_URL;return new Promise((function(n,r){var i=e.generalRequestId();e.requestSender.sendGetRequest(t,i).then((function(t){n({serverTimestamp:Number(t[o.KEY_DATA][e.KEY_SERVER_STATUS])})})).catch((function(){e.resendExecuteServerStatusQuery(n,r,t,i)}))}))},o.prototype.resendExecuteServerStatusQuery=function(e,t,n,r){var i=this;this.requestSender.sendGetRequest(n,r).then((function(t){e({serverTimestamp:t[o.KEY_DATA][i.KEY_SERVER_STATUS]})})).catch((function(e){console.warn("Query ServerStatus catch error, requestId:"+r.traceId),i.isErrResponseNotValid(e)?t(e):t(new AGConnectCloudDBException_1.AGConnectCloudDBException(String(e.response.data.errorCodeV2)))}))},o.prototype.getCloudDBZoneResult=function(e){return __awaiter(this,void 0,void 0,(function(){var t,n,r;return __generator(this,(function(i){switch(i.label){case 0:t=new Transaction_1.Transaction(this),n=!1,r=0,i.label=1;case 1:if(n||!(r<MAX_FAILED_COUNT))return[3,7];i.label=2;case 2:return i.trys.push([2,,5,6]),typeof e.apply!==Constant_1.VerifyKey.Function?(console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.CLASS_INVALID).message),[2,Promise.reject(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.CLASS_INVALID))]):[4,e.apply(t)];case 3:return(n=i.sent())?(t.sortVerifyObjectsList(),o.verifyTransaction(t),[4,this.getTransactionResult(t)]):(console.warn("user function return false, transaction failed."),[2,!1]);case 4:return n=i.sent(),r++,[3,6];case 5:return t.release(),[7];case 6:return[3,1];case 7:return[2,n]}}))}))},o.verifyTransaction=function(e){var o,t,n=0;try{for(var r=__values(e.transactionList),i=r.next();!i.done;i=r.next()){var c=i.value;if((c.operationType===Transaction_1.OperationType.UPSERT||c.operationType===Transaction_1.OperationType.DELETE)&&(n+=c.objects.length)>MAX_OBJECT_LIST_NUM)throw console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.DATA_SIZE_IS_OVERFLOW).message),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.DATA_SIZE_IS_OVERFLOW)}}catch(e){o={error:e}}finally{try{i&&!i.done&&(t=r.return)&&t.call(r)}finally{if(o)throw o.error}}if(e.needVerifyObjectsList.length>MAX_OBJECT_LIST_NUM)throw console.warn("Too many query results in the transaction."),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.DATA_SIZE_IS_OVERFLOW)},o.prototype.getTransactionResult=function(e){return __awaiter(this,void 0,void 0,(function(){var o,t,n=this;return __generator(this,(function(r){return e.isTransactionEmpty()?(console.warn("nothing need to execute in this transaction, transaction succeed."),[2,Promise.resolve(!0)]):(o=this.URL_PREFIX+this.TRANSACTION_URL,t={cloudDBZoneName:this.cloudDBZoneConfig.getCloudDBZoneName(),needVerifyObjectsList:e.needVerifyObjectsList,transactionList:e.transactionList},JSON.stringify(t).length>MAX_OBJECTS_CAPACITY?(console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.DATA_SIZE_IS_OVERFLOW).message),[2,Promise.reject(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.DATA_SIZE_IS_OVERFLOW))]):[2,new Promise((function(e,r){var i=n.generalRequestId();n.requestSender.sendPostRequest(o,i,t).then((function(o){o.status===HTTP_STATUS_OK&&e(!0)})).catch((function(){n.resendGetTransactionResult(e,r,o,i,t)}))}))])}))}))},o.prototype.resendGetTransactionResult=function(e,o,t,n,r){var i=this;this.requestSender.sendPostRequest(t,n,r,!0).then((function(o){o.status===HTTP_STATUS_OK&&e(!0)})).catch((function(t){if(console.warn("Transaction catch error, requestId:"+n.traceId),i.isErrResponseNotValid(t))o(t);else{var r=String(t.response.data.errorCodeV2);console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(r).message),r!==CloudDBErrorCode_1.CloudDBErrorCode.PARAMETER_INVALID?e(!1):o(new AGConnectCloudDBException_1.AGConnectCloudDBException(r))}}))},o.prototype.verifyPaginationQuery=function(e,o){var t=this.isPaginationQuery(e.getQueryConditions());if(t){var n=this.getAllOrderBys(e.getQueryConditions()),r=n.get(this.KEY_ORDERBY_FIELD_NAME),i=n.get(this.KEY_ORDERBY_DIRECTION);if(i.includes("asc")&&i.includes("desc"))throw console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.ORDER_BY_ONLY_SUPPORT_ONE_DIRECTION).message),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.ORDER_BY_ONLY_SUPPORT_ONE_DIRECTION);if(r.size!==i.length)throw console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.PAGINATION_ORDER_BY_HAS_DUPLICATE_FIELD).message),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.PAGINATION_ORDER_BY_HAS_DUPLICATE_FIELD);this.checkPaginationQueryConditions(e,t,r,o),e.getConditionValidate().getIsGenericObj()||this.checkPrimaryKeyValues(e,t)}},o.prototype.checkPrimaryKeyValues=function(e,o){var t,n,r=e.getClazzInstance().getPrimaryKeyList();try{for(var i=__values(r),c=i.next();!c.done;c=i.next()){var u=c.value;if(Utils_1.Utils.isNullOrUndefined(o[u]))throw console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.PRIMARY_KEY_VALUE_REQUIRED).message),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.PRIMARY_KEY_VALUE_REQUIRED)}}catch(e){t={error:e}}finally{try{c&&!c.done&&(n=i.return)&&n.call(i)}finally{if(t)throw t.error}}},o.prototype.checkPaginationQueryConditions=function(e,t,n,r){var i=this,c=!1;e.getQueryConditions().forEach((function(u){var d=u.conditionType;if(Utils_1.Utils.isAggregateType(d))throw console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.PAGINATE_NOT_SUPPORT_AGGREGATE)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.PAGINATE_NOT_SUPPORT_AGGREGATE);if("OrderBy"!==d&&"EqualTo"!==d&&"Limit"!==d&&!Utils_1.Utils.isPaginationType(d))throw console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.PAGINATE_QUERY_INPUT_IS_ONLY_SUPPORTED).message),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.PAGINATE_QUERY_INPUT_IS_ONLY_SUPPORTED);if("EqualTo"===d){if(c)throw console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.EQUAL_TO_NOT_BEFORE_ORDER_BY).message),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.EQUAL_TO_NOT_BEFORE_ORDER_BY);i.checkPaginationEqualTo(u,t,n)}"OrderBy"===d&&(c=!0,e.getConditionValidate().getIsGenericObj()||o.checkPaginationOrderBy(u,r))}))},o.prototype.checkPaginationEqualTo=function(e,o,t){if(o instanceof CloudDBZoneGenericObject_1.CloudDBZoneGenericObject)this.checkGenericObjectPaginationEqualTo(e,o,t);else{var n=e.fieldName,r=o.getFieldTypeMap();if(o.getPrimaryKeyList().includes(n))throw console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.PAGINATE_EQUAL_TO_NOT_SUPPORT_PRIMARY_KEY).message),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.PAGINATE_EQUAL_TO_NOT_SUPPORT_PRIMARY_KEY);if(t.has(n))throw console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.PAGINATE_EQUAL_TO_FIELD_IS_SAME_WITH_ORDER_BY).message),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.PAGINATE_EQUAL_TO_FIELD_IS_SAME_WITH_ORDER_BY);if(r.get(n)===FieldType_1.FieldType.Text)throw console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.PAGINATE_EQUAL_TO_NOT_SUPPORT_TEXT).message),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.PAGINATE_EQUAL_TO_NOT_SUPPORT_TEXT)}},o.checkPaginationOrderBy=function(e,o){var t=e.fieldName,n=o.getFieldTypeMap().get(t);if(n===FieldType_1.FieldType.ByteArray||n===FieldType_1.FieldType.Text||n===FieldType_1.FieldType.Boolean)throw console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.PAGINATE_ORDER_BY_NOT_SUPPORT_TYPE).message),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.PAGINATE_ORDER_BY_NOT_SUPPORT_TYPE)},o.prototype.getIndexByQueryCondition=function(e,o){var t=[];return e.forEach((function(e){var o=e.conditionType;if("OrderBy"===o||"EqualTo"===o){var n=e.fieldName;n&&t.push(n)}})),o.forEach((function(e){t.includes(e)||t.push(e)})),t},o.checkAggregateQueryInput=function(e,o,t,n){if(!o)throw console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.AGGREGATE_QUERY_FIELD_NAME_IS_NULL).message),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.AGGREGATE_QUERY_FIELD_NAME_IS_NULL);if(Utils_1.Utils.checkFieldName(o),!n){var r=e.getFieldTypeMap();if(!r.has(o))throw console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.AGGREGATE_QUERY_ENTITY_DO_NOT_HAVE_FIELD).message),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.AGGREGATE_QUERY_ENTITY_DO_NOT_HAVE_FIELD);if(e.getEncryptedFieldList().includes(o)&&"Count"!==t)throw console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.ENCRYPTED_FIELD_NOT_SUPPORT_QUERY).message),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.ENCRYPTED_FIELD_NOT_SUPPORT_QUERY);var i=r.get(o);if("Count"!==t&&!Utils_1.Utils.isNumericField(i))throw console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.AGGREGATE_QUERY_FIELD_TYPE_IS_NOT_NUMERIC).message),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.AGGREGATE_QUERY_FIELD_TYPE_IS_NOT_NUMERIC)}},o.responseCheck=function(e){if(!e||!e.status)throw console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.RESPONSE_IS_INVALID).message),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.RESPONSE_IS_INVALID);if(!(e.status!==HTTP_STATUS_OK||e[o.KEY_DATA]&&e[o.KEY_DATA][o.KEY_DATA]))throw console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.RESPONSE_IS_INVALID).message),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.RESPONSE_IS_INVALID)},o.aggregateResponseCheck=function(e){if(o.responseCheck(e),!e[o.KEY_DATA][o.KEY_DATA][0])throw console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.RESPONSE_IS_INVALID).message),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.RESPONSE_IS_INVALID)},o.prototype.getAllOrderBys=function(e){var o=this,t=new Map;return t.set(this.KEY_ORDERBY_FIELD_NAME,new Set),t.set(this.KEY_ORDERBY_DIRECTION,[]),e.forEach((function(e){"OrderBy"===e.conditionType&&(t.get(o.KEY_ORDERBY_FIELD_NAME).add(e.fieldName),t.get(o.KEY_ORDERBY_DIRECTION).push(e.value))})),t},o.prototype.isPaginationQuery=function(e){var o;return e.forEach((function(e){if(Utils_1.Utils.isPaginationType(e.conditionType)){if(o)throw console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.PAGINATE_QUERY_INPUT_IS_MORE_THAN_ONE).message),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.PAGINATE_QUERY_INPUT_IS_MORE_THAN_ONE);o=e.value}})),o},o.prototype.objectListTransform=function(e){if(!e){var t=new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.VALUE_IS_NULL);throw console.warn(t.message),t}var n;n=Utils_1.Utils.isArray(e)?e:[e];for(var r=0;r<n.length;r++)if(null==n[r])throw console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.VALUE_IS_NULL).message),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.VALUE_IS_NULL);return o.checkInputData(n),n},o.prototype.aggregateQueryResponse=function(e,t){var n=this,r=this.URL_PREFIX+this.QUERIES_URL;return new Promise((function(i,c){var u=n.generalRequestId();n.requestSender.sendPostRequest(r,u,e).then((function(e){o.aggregateResponseCheck(e),i(e[o.KEY_DATA][o.KEY_DATA][0][t])})).catch((function(){n.resendAggregateQuery(i,c,r,u,e,t)}))}))},o.prototype.resendAggregateQuery=function(e,t,n,r,i,c){var u=this;this.requestSender.sendPostRequest(n,r,i,!0).then((function(t){o.aggregateResponseCheck(t),e(t[o.KEY_DATA][o.KEY_DATA][0][c])})).catch((function(e){var o,n,i,c;if(console.warn("Query catch error, requestId:"+r.traceId),u.isErrResponseNotValid(e))t(e);else{var d=null===(n=null===(o=null==e?void 0:e.response)||void 0===o?void 0:o.data)||void 0===n?void 0:n.errorCodeV2;d!==CloudDBErrorCode_1.CloudDBErrorCode.NOT_SUPPORT_QUERY_DATA_TYPE&&d!==CloudDBErrorCode_1.CloudDBErrorCode.ERROR_CODE_PAGINATION_QUERY_FAILED_FOR_NO_INDEX?t(new AGConnectCloudDBException_1.AGConnectCloudDBException(String(e.response.data.errorCodeV2))):t(new AGConnectCloudDBException_1.AGConnectCloudDBException(String(e.response.data.errorCodeV2),null===(c=null===(i=null==e?void 0:e.response)||void 0===i?void 0:i.data)||void 0===c?void 0:c.info))}}))},o.prototype.formAggregateQueryData=function(e,t,n){if(!e)throw console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.AGGREGATE_QUERY_CLOUDDB_ZONE_IS_NULL).message),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.AGGREGATE_QUERY_CLOUDDB_ZONE_IS_NULL);if(!(e instanceof CloudDBZoneQuery_1.CloudDBZoneQuery)||typeof e.getClazz()!==Constant_1.VerifyKey.Function)throw console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.INPUT_PARAMETER_INVALID).message),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.INPUT_PARAMETER_INVALID);var r=e.getObjectTypeName(),i=e.getClazzInstance();o.checkAggregateQueryInput(i,t,n,e.getConditionValidate().getIsGenericObj());var c=e.getQueryConditions();c.push({fieldName:t,conditionType:n});var u=e.getConditionValidate().getIsGenericObj()?Utils_1.Utils.serializeGenericObjQuery(c):Utils_1.Utils.serializeQueryConditions(c,i.getFieldTypeMap());return{objectTypeName:r,cloudDBZoneName:this.cloudDBZoneConfig.getCloudDBZoneName(),queryConditions:u}},o.prototype.checkOperator=function(e,o){var t,n,r,i,c=e.getObject();o||DataModelHelper_1.DataModelHelper.checkPrimaryKeys(c);var u=e.getIncrementMap(),d=e.getUpdateMap(),a=new Set;try{for(var s=__values(u.entries()),C=s.next();!C.done;C=s.next()){var l=__read(C.value,2),E=l[0],_=l[1];a.add(E),DataModelHelper_1.DataModelHelper.checkOperatorField(E,_,c,!0,!!o)}}catch(e){t={error:e}}finally{try{C&&!C.done&&(n=s.return)&&n.call(s)}finally{if(t)throw t.error}}try{for(var D=__values(d.entries()),p=D.next();!p.done;p=D.next()){var B=__read(p.value,2);E=B[0],_=B[1];a.add(E),DataModelHelper_1.DataModelHelper.checkOperatorField(E,_,c,!1,!!o)}}catch(e){r={error:e}}finally{try{p&&!p.done&&(i=D.return)&&i.call(D)}finally{if(r)throw r.error}}if(a.size<u.size+d.size)throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.DUPLICATE_FIELD)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.DUPLICATE_FIELD)},o.getPrimaryKeys=function(e){var o,t,n={},r=e instanceof CloudDBZoneGenericObject_1.CloudDBZoneGenericObject?e.getPrimaryKeys():e.getPrimaryKeyList();try{for(var i=__values(r),c=i.next();!c.done;c=i.next()){var u=c.value;n[u]=e instanceof CloudDBZoneGenericObject_1.CloudDBZoneGenericObject?e.getFieldValue(u):e[u]}}catch(e){o={error:e}}finally{try{c&&!c.done&&(t=i.return)&&t.call(i)}finally{if(o)throw o.error}}return n},o.checkConstraint=function(e,o){if(o){if(!(e instanceof o.getClazz()))throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.OPERATOR_MISMATCH_CONSTRAINT)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.OPERATOR_MISMATCH_CONSTRAINT);this.checkConstraintOnly(o)}},o.checkConstraintOnly=function(e){var o,t;if(!e)throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.OPERATOR_MISMATCH_CONSTRAINT)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.OPERATOR_MISMATCH_CONSTRAINT);ConditionValidate_1.ConditionValidate.checkConditionLen(e.getConditions());var n=new ConditionValidate_1.ConditionValidate(e.getClazz(),e.getClazzInstance());try{for(var r=__values(e.getConditions()),i=r.next();!i.done;i=r.next()){var c=i.value;n.checkCondition(c)}}catch(e){o={error:e}}finally{try{i&&!i.done&&(t=r.return)&&t.call(r)}finally{if(o)throw o.error}}},o.prototype.handleIncrementData=function(e,t){var n,r,i=this;try{if(0===(n=this.objectListTransform(e)).length)return console.log("ObjectList is empty when execute ".concat(t,".")),Promise.resolve(0);r=this.formData(n,t)}catch(e){return Promise.reject(e)}var c="RECOVERY"===t?this.RECOVERY_DATA_URL:this.DATA_URL,u=this.URL_PREFIX+c;return new Promise((function(e,n){var c=i.generalRequestId();i.requestSender.sendPostRequest(u,c,r).then((function(n){i.checkResponseBody(n),e(n[o.KEY_DATA][RequestOperationTypeMap.get(t).resKey])})).catch((function(){i.resendUpsertRequest(e,n,u,c,r,t)}))}))},o.prototype.formData=function(e,o,t){var n;n=e[0]instanceof CloudDBZoneGenericObject_1.CloudDBZoneGenericObject?e[0].getObjectTypeName():e[0].constructor.name;var r={cloudDBZoneName:this.cloudDBZoneConfig.getCloudDBZoneName(),objectTypeName:n,objects:Utils_1.Utils.serializeObjects(e)};switch(o){case"UPSERT":case"INSERT":r.operationType=RequestOperationTypeMap.get(o).operationType;break;case"RECYCLEBIN_DELETE":r.isDeleteDisused=t}if(JSON.stringify(r).length>MAX_OBJECTS_CAPACITY)throw console.warn("upsert data size is more than 20MB"),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.DATA_SIZE_IS_OVERFLOW);return r},o.prototype.executeQueryInternal=function(e,t,n,r){return __awaiter(this,void 0,void 0,(function(){var i,c,u,d,a,s,C=this;return __generator(this,(function(l){return e?e instanceof CloudDBZoneQuery_1.CloudDBZoneQuery&&typeof e.getClazz()===Constant_1.VerifyKey.Function?0!==e.depth?(console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.GROUP_DO_NOT_MATCH)),[2,Promise.reject(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.GROUP_DO_NOT_MATCH))]):(i=e.getClazzInstance(),this.verifyPaginationQuery(e,i),c=this.URL_PREFIX+this.QUERIES_URL,u=e.getConditionValidate().getFieldTypeMap(),d=e.getQueryConditions(),a=e.getConditionValidate().getIsGenericObj()?Utils_1.Utils.serializeGenericObjQuery(d,n,r):Utils_1.Utils.serializeQueryConditions(d,i.getFieldTypeMap(),n,r),s={objectTypeName:e.getObjectTypeName(),cloudDBZoneName:this.cloudDBZoneConfig.getCloudDBZoneName(),isQueryDelete:t,queryConditions:a},[2,new Promise((function(t,n){var r=C.generalRequestId();C.requestSender.sendPostRequest(c,r,s).then((function(n){o.responseCheck(n);var r=Utils_1.Utils.deserializeObjects(n[o.KEY_DATA][o.KEY_DATA],u,e.getClazz(),e.getObjectTypeName()),i=new CloudDBZoneSnapshot_1.CloudDBZoneSnapshot(r);t(i)})).catch((function(){C.requestSender.sendPostRequest(c,r,s,!0).then((function(n){o.responseCheck(n);var r=Utils_1.Utils.deserializeObjects(n[o.KEY_DATA][o.KEY_DATA],u,e.getClazz(),e.getObjectTypeName()),i=new CloudDBZoneSnapshot_1.CloudDBZoneSnapshot(r);t(i)})).catch((function(e){var o,t;if(console.warn("Query catch error, requestId:"+r.traceId),C.isErrResponseNotValid(e))n(e);else{var i=String(e.response.data.errorCodeV2);i!==CloudDBErrorCode_1.CloudDBErrorCode.NOT_SUPPORT_QUERY_DATA_TYPE&&i!==CloudDBErrorCode_1.CloudDBErrorCode.ERROR_CODE_PAGINATION_QUERY_FAILED_FOR_NO_INDEX?n(new AGConnectCloudDBException_1.AGConnectCloudDBException(i)):n(new AGConnectCloudDBException_1.AGConnectCloudDBException(String(e.response.data.errorCodeV2),null===(t=null===(o=null==e?void 0:e.response)||void 0===o?void 0:o.data)||void 0===t?void 0:t.info))}}))}))}))]):(console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.INPUT_PARAMETER_INVALID).message),[2,Promise.reject(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.INPUT_PARAMETER_INVALID))]):(console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.QUERY_CONDITION_IS_NULL).message),[2,Promise.reject(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.QUERY_CONDITION_IS_NULL))])}))}))},o.prototype.executeDeleteInternal=function(e,o){var t,n;try{if(0===(t=this.objectListTransform(e)).length)return console.log("ObjectList is empty when execute Delete."),Promise.resolve(0);var r=o?"RECYCLEBIN_DELETE":"DELETE";n=this.formData(t,r,o)}catch(e){return Promise.reject(e)}var i=this.URL_PREFIX+this.DATA_URL;return this.objectDeleteResponse(i,n)},o.prototype.checkGenericObjectPaginationEqualTo=function(e,o,t){var n=e.fieldName;if(o.getPrimaryKeys().has(n))throw console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.PAGINATE_EQUAL_TO_NOT_SUPPORT_PRIMARY_KEY).message),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.PAGINATE_EQUAL_TO_NOT_SUPPORT_PRIMARY_KEY);if(t.has(n))throw console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.PAGINATE_EQUAL_TO_FIELD_IS_SAME_WITH_ORDER_BY).message),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.PAGINATE_EQUAL_TO_FIELD_IS_SAME_WITH_ORDER_BY)},o.KEY_DATA="data",o}(CloudDBService_1.CloudDBService);exports.CloudDBZone=CloudDBZone;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var __assign=this&&this.__assign||function(){return __assign=Object.assign||function(e){for(var o,t=1,r=arguments.length;t<r;t++)for(var n in o=arguments[t])Object.prototype.hasOwnProperty.call(o,n)&&(e[n]=o[n]);return e},__assign.apply(this,arguments)},__awaiter=this&&this.__awaiter||function(e,o,t,r){return new(t||(t=Promise))((function(n,i){function a(e){try{l(r.next(e))}catch(e){i(e)}}function c(e){try{l(r.throw(e))}catch(e){i(e)}}function l(e){var o;e.done?n(e.value):(o=e.value,o instanceof t?o:new t((function(e){e(o)}))).then(a,c)}l((r=r.apply(e,o||[])).next())}))},__generator=this&&this.__generator||function(e,o){var t,r,n,i,a={label:0,sent:function(){if(1&n[0])throw n[1];return n[1]},trys:[],ops:[]};return i={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function c(c){return function(l){return function(c){if(t)throw new TypeError("Generator is already executing.");for(;i&&(i=0,c[0]&&(a=0)),a;)try{if(t=1,r&&(n=2&c[0]?r.return:c[0]?r.throw||((n=r.return)&&n.call(r),0):r.next)&&!(n=n.call(r,c[1])).done)return n;switch(r=0,n&&(c=[2&c[0],n.value]),c[0]){case 0:case 1:n=c;break;case 4:return a.label++,{value:c[1],done:!1};case 5:a.label++,r=c[1],c=[0];continue;case 7:c=a.ops.pop(),a.trys.pop();continue;default:if(!(n=a.trys,(n=n.length>0&&n[n.length-1])||6!==c[0]&&2!==c[0])){a=0;continue}if(3===c[0]&&(!n||c[1]>n[0]&&c[1]<n[3])){a.label=c[1];break}if(6===c[0]&&a.label<n[1]){a.label=n[1],n=c;break}if(n&&a.label<n[2]){a.label=n[2],a.ops.push(c);break}n[2]&&a.ops.pop(),a.trys.pop();continue}c=o.call(e,a)}catch(e){c=[6,e],r=0}finally{t=n=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}([c,l])}}},__read=this&&this.__read||function(e,o){var t="function"==typeof Symbol&&e[Symbol.iterator];if(!t)return e;var r,n,i=t.call(e),a=[];try{for(;(void 0===o||o-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){n={error:e}}finally{try{r&&!r.done&&(t=i.return)&&t.call(i)}finally{if(n)throw n.error}}return a},__spreadArray=this&&this.__spreadArray||function(e,o,t){if(t||2===arguments.length)for(var r,n=0,i=o.length;n<i;n++)!r&&n in o||(r||(r=Array.prototype.slice.call(o,0,n)),r[n]=o[n]);return e.concat(r||Array.prototype.slice.call(o))},__values=this&&this.__values||function(e){var o="function"==typeof Symbol&&Symbol.iterator,t=o&&e[o],r=0;if(t)return t.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(o?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(exports,"__esModule",{value:!0}),exports.OperationType=exports.Transaction=void 0;var OperationType,AGConnectCloudDBException_1=require("../exception/AGConnectCloudDBException"),Utils_1=require("../utils/Utils"),CloudDBZoneQuery_1=require("../query/CloudDBZoneQuery"),CloudDBErrorCode_1=require("../exception/CloudDBErrorCode"),CloudDBZoneGenericObject_1=require("../request/CloudDBZoneGenericObject"),Constant_1=require("../utils/Constant"),MAX_QUERY_OBJECT_NUM=1e3,MAX_QUERY_OBJECT_LIST_CAPACITY=20971520,KEY_NATURALBASE_VSERSION="naturalbase_version",Transaction=function(){function e(e){this.needVerifyObjectsList=[],this.transactionList=[],this.needVerifyObjectMap=new Map,this.needVerifyDataNum=0,this.queryDataLength=0,this.cloudDBZone=e}return e.prototype.executeQuery=function(o){return __awaiter(this,void 0,void 0,(function(){var t,r,n,i,a,c,l,u,s;return __generator(this,(function(C){switch(C.label){case 0:if(!o)return console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.QUERY_CONDITION_IS_NULL).message),[2,Promise.reject(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.QUERY_CONDITION_IS_NULL))];if(!(o instanceof CloudDBZoneQuery_1.CloudDBZoneQuery)||typeof o.getClazz()!==Constant_1.VerifyKey.Function)return console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.INPUT_PARAMETER_INVALID).message),[2,Promise.reject(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.INPUT_PARAMETER_INVALID))];if(this.transactionList.length>0)throw console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.ERROR_CODE_TRANSACTION_SEQUENCE_INCORRECT).message),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.ERROR_CODE_TRANSACTION_SEQUENCE_INCORRECT);return[4,this.cloudDBZone.executeTransactionQuery(o,!1)];case 1:return t=C.sent(),this.checkQueryData(t),r=o.getClazz(),n=o.clazzInstance,i=__spreadArray([],__read(t),!1).map((function(e){return __assign({},e)})),(a=o.conditionValidate.isGenericObj)?t.forEach((function(e){delete e[KEY_NATURALBASE_VSERSION]})):i=e.getVersionData(t,n.getPrimaryKeyList()),this.needVerifyObjectMap.has(o.getObjectTypeName())?(c=this.needVerifyObjectMap.get(o.getObjectTypeName()).objects.concat(i),this.needVerifyObjectMap.get(o.getObjectTypeName()).objects=c):(l={objectTypeName:o.getObjectTypeName(),clazz:n,objects:i},this.needVerifyObjectMap.set(o.getObjectTypeName(),l)),u=a?o.conditionValidate.fieldTypeMap:n.getFieldTypeMap(),s=Utils_1.Utils.deserializeObjects(t,u,r,o.getObjectTypeName()),[2,Promise.resolve(s)]}}))}))},e.prototype.checkQueryData=function(e){if(!e)throw console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.FAIL_TO_PARSE_QUERY_DATA).message),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.FAIL_TO_PARSE_QUERY_DATA);if(e.length>MAX_QUERY_OBJECT_NUM)throw console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.ERROR_QUERY_DATA_COUNT_TOO_LARGE).message),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.ERROR_QUERY_DATA_COUNT_TOO_LARGE);if(this.needVerifyDataNum+=e.length,this.needVerifyDataNum>MAX_QUERY_OBJECT_NUM)throw console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.ERROR_QUERY_DATA_COUNT_TOO_LARGE).message),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.ERROR_QUERY_DATA_COUNT_TOO_LARGE);if(this.queryDataLength+=JSON.stringify(e).length,this.queryDataLength>MAX_QUERY_OBJECT_LIST_CAPACITY)throw console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.ERROR_QUERY_DATA_SIZE_TOO_LARGE).message),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.ERROR_QUERY_DATA_SIZE_TOO_LARGE)},e.getVersionData=function(e,o){var t,r,n,i,a=[];try{for(var c=__values(e),l=c.next();!l.done;l=c.next()){var u=l.value,s={};try{for(var C=(n=void 0,__values(o)),d=C.next();!d.done;d=C.next()){var _=d.value,E=u[_];if(null===E)throw console.warn("the primaryKey data is null"),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.PARAMETER_INVALID);s[_]=E}}catch(e){n={error:e}}finally{try{d&&!d.done&&(i=C.return)&&i.call(C)}finally{if(n)throw n.error}}var p=u[KEY_NATURALBASE_VSERSION];if(!p)throw console.warn("the version data is null"),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.PARAMETER_INVALID);s[KEY_NATURALBASE_VSERSION]=p,a.push(s)}}catch(e){t={error:e}}finally{try{l&&!l.done&&(r=c.return)&&r.call(c)}finally{if(t)throw t.error}}return a},e.prototype.executeUpsert=function(o){return e.checkInputData(o),0===o.length||(Utils_1.Utils.checkSchemaAndDataSize(o),this.transactionList.push(this.formTransactionData(o,OperationType.UPSERT))),this},e.prototype.executeDelete=function(o){return e.checkInputData(o),0===o.length||(Utils_1.Utils.checkSchemaAndDataSize(o),this.transactionList.push(this.formTransactionData(o,OperationType.DELETE))),this},e.checkInputData=function(e){if(!e)throw console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.VALUE_IS_NULL).message),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.VALUE_IS_NULL);if(!Utils_1.Utils.isArray(e))throw console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.PARAMETER_INVALID).message),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.PARAMETER_INVALID);for(var o=0;o<e.length;o++)if(null==e[o]){var t=new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.VALUE_IS_NULL);throw console.warn(t.message),t}},e.prototype.formTransactionData=function(e,o){return{operationType:o,objectTypeName:e[0]instanceof CloudDBZoneGenericObject_1.CloudDBZoneGenericObject?e[0].getObjectTypeName():e[0].getClassName(),objects:Utils_1.Utils.serializeObjects(e)}},e.prototype.release=function(){this.needVerifyObjectsList=[],this.transactionList=[],this.needVerifyObjectMap=new Map,this.needVerifyDataNum=0,this.queryDataLength=0},e.prototype.isTransactionEmpty=function(){var e,o,t=!0;try{for(var r=__values(this.transactionList),n=r.next();!n.done;n=r.next()){if(n.value.objects.length>0){t=!1;break}}}catch(o){e={error:o}}finally{try{n&&!n.done&&(o=r.return)&&o.call(r)}finally{if(e)throw e.error}}return t},e.prototype.sortVerifyObjectsList=function(){var e,o,t=Array.from(this.needVerifyObjectMap.values());t.sort((function(e,o){return e.objectTypeName.localeCompare(o.objectTypeName)})),t.forEach((function(e){var o=e.clazz instanceof CloudDBZoneGenericObject_1.CloudDBZoneGenericObject?[]:e.clazz.getPrimaryKeyList(),t=e.clazz instanceof CloudDBZoneGenericObject_1.CloudDBZoneGenericObject?new Map:e.clazz.getFieldTypeMap();e.objects.sort((function(e,r){var n,i;try{for(var a=__values(o),c=a.next();!c.done;c=a.next()){var l=c.value,u=t.get(l),s=Utils_1.Utils.primaryKeyCompareTo(e[l],r[l],u);if(0!=s)return s}}catch(e){n={error:e}}finally{try{c&&!c.done&&(i=a.return)&&i.call(a)}finally{if(n)throw n.error}}return 0}))}));try{for(var r=__values(t),n=r.next();!n.done;n=r.next()){var i=n.value;this.needVerifyObjectsList.push({objectTypeName:i.objectTypeName,objects:i.objects})}}catch(o){e={error:o}}finally{try{n&&!n.done&&(o=r.return)&&o.call(r)}finally{if(e)throw e.error}}},e}();exports.Transaction=Transaction,function(e){e.UPSERT="Upsert",e.DELETE="Delete"}(OperationType=exports.OperationType||(exports.OperationType={}));
|
|
1
|
+
"use strict";var __assign=this&&this.__assign||function(){return __assign=Object.assign||function(e){for(var o,t=1,r=arguments.length;t<r;t++)for(var n in o=arguments[t])Object.prototype.hasOwnProperty.call(o,n)&&(e[n]=o[n]);return e},__assign.apply(this,arguments)},__awaiter=this&&this.__awaiter||function(e,o,t,r){return new(t||(t=Promise))((function(n,i){function a(e){try{l(r.next(e))}catch(e){i(e)}}function c(e){try{l(r.throw(e))}catch(e){i(e)}}function l(e){var o;e.done?n(e.value):(o=e.value,o instanceof t?o:new t((function(e){e(o)}))).then(a,c)}l((r=r.apply(e,o||[])).next())}))},__generator=this&&this.__generator||function(e,o){var t,r,n,i,a={label:0,sent:function(){if(1&n[0])throw n[1];return n[1]},trys:[],ops:[]};return i={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function c(c){return function(l){return function(c){if(t)throw new TypeError("Generator is already executing.");for(;i&&(i=0,c[0]&&(a=0)),a;)try{if(t=1,r&&(n=2&c[0]?r.return:c[0]?r.throw||((n=r.return)&&n.call(r),0):r.next)&&!(n=n.call(r,c[1])).done)return n;switch(r=0,n&&(c=[2&c[0],n.value]),c[0]){case 0:case 1:n=c;break;case 4:return a.label++,{value:c[1],done:!1};case 5:a.label++,r=c[1],c=[0];continue;case 7:c=a.ops.pop(),a.trys.pop();continue;default:if(!(n=a.trys,(n=n.length>0&&n[n.length-1])||6!==c[0]&&2!==c[0])){a=0;continue}if(3===c[0]&&(!n||c[1]>n[0]&&c[1]<n[3])){a.label=c[1];break}if(6===c[0]&&a.label<n[1]){a.label=n[1],n=c;break}if(n&&a.label<n[2]){a.label=n[2],a.ops.push(c);break}n[2]&&a.ops.pop(),a.trys.pop();continue}c=o.call(e,a)}catch(e){c=[6,e],r=0}finally{t=n=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}([c,l])}}},__read=this&&this.__read||function(e,o){var t="function"==typeof Symbol&&e[Symbol.iterator];if(!t)return e;var r,n,i=t.call(e),a=[];try{for(;(void 0===o||o-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){n={error:e}}finally{try{r&&!r.done&&(t=i.return)&&t.call(i)}finally{if(n)throw n.error}}return a},__spreadArray=this&&this.__spreadArray||function(e,o,t){if(t||2===arguments.length)for(var r,n=0,i=o.length;n<i;n++)!r&&n in o||(r||(r=Array.prototype.slice.call(o,0,n)),r[n]=o[n]);return e.concat(r||Array.prototype.slice.call(o))},__values=this&&this.__values||function(e){var o="function"==typeof Symbol&&Symbol.iterator,t=o&&e[o],r=0;if(t)return t.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(o?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(exports,"__esModule",{value:!0}),exports.OperationType=exports.Transaction=void 0;var OperationType,AGConnectCloudDBException_1=require("../exception/AGConnectCloudDBException"),Utils_1=require("../utils/Utils"),CloudDBZoneQuery_1=require("../query/CloudDBZoneQuery"),CloudDBErrorCode_1=require("../exception/CloudDBErrorCode"),CloudDBZoneGenericObject_1=require("../request/CloudDBZoneGenericObject"),Constant_1=require("../utils/Constant"),MAX_QUERY_OBJECT_NUM=1e3,MAX_QUERY_OBJECT_LIST_CAPACITY=20971520,KEY_NATURALBASE_VSERSION="naturalbase_version",Transaction=function(){function e(e){this.needVerifyObjectsList=[],this.transactionList=[],this.needVerifyObjectMap=new Map,this.needVerifyDataNum=0,this.queryDataLength=0,this.cloudDBZone=e}return e.prototype.executeQuery=function(o){return __awaiter(this,void 0,void 0,(function(){var t,r,n,i,a,c,l,u,s;return __generator(this,(function(C){switch(C.label){case 0:if(!o)return console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.QUERY_CONDITION_IS_NULL).message),[2,Promise.reject(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.QUERY_CONDITION_IS_NULL))];if(!(o instanceof CloudDBZoneQuery_1.CloudDBZoneQuery)||typeof o.getClazz()!==Constant_1.VerifyKey.Function)return console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.INPUT_PARAMETER_INVALID).message),[2,Promise.reject(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.INPUT_PARAMETER_INVALID))];if(this.transactionList.length>0)throw console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.ERROR_CODE_TRANSACTION_SEQUENCE_INCORRECT).message),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.ERROR_CODE_TRANSACTION_SEQUENCE_INCORRECT);return[4,this.cloudDBZone.executeTransactionQuery(o,!1)];case 1:return t=C.sent(),this.checkQueryData(t),r=o.getClazz(),n=o.getClazzInstance(),i=__spreadArray([],__read(t),!1).map((function(e){return __assign({},e)})),(a=o.getConditionValidate().getIsGenericObj())?t.forEach((function(e){delete e[KEY_NATURALBASE_VSERSION]})):i=e.getVersionData(t,n.getPrimaryKeyList()),this.needVerifyObjectMap.has(o.getObjectTypeName())?(c=this.needVerifyObjectMap.get(o.getObjectTypeName()).objects.concat(i),this.needVerifyObjectMap.get(o.getObjectTypeName()).objects=c):(l={objectTypeName:o.getObjectTypeName(),clazz:n,objects:i},this.needVerifyObjectMap.set(o.getObjectTypeName(),l)),u=a?o.getConditionValidate().getFieldTypeMap():n.getFieldTypeMap(),s=Utils_1.Utils.deserializeObjects(t,u,r,o.getObjectTypeName()),[2,Promise.resolve(s)]}}))}))},e.prototype.checkQueryData=function(e){if(!e)throw console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.FAIL_TO_PARSE_QUERY_DATA).message),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.FAIL_TO_PARSE_QUERY_DATA);if(e.length>MAX_QUERY_OBJECT_NUM)throw console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.ERROR_QUERY_DATA_COUNT_TOO_LARGE).message),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.ERROR_QUERY_DATA_COUNT_TOO_LARGE);if(this.needVerifyDataNum+=e.length,this.needVerifyDataNum>MAX_QUERY_OBJECT_NUM)throw console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.ERROR_QUERY_DATA_COUNT_TOO_LARGE).message),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.ERROR_QUERY_DATA_COUNT_TOO_LARGE);if(this.queryDataLength+=JSON.stringify(e).length,this.queryDataLength>MAX_QUERY_OBJECT_LIST_CAPACITY)throw console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.ERROR_QUERY_DATA_SIZE_TOO_LARGE).message),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.ERROR_QUERY_DATA_SIZE_TOO_LARGE)},e.getVersionData=function(e,o){var t,r,n,i,a=[];try{for(var c=__values(e),l=c.next();!l.done;l=c.next()){var u=l.value,s={};try{for(var C=(n=void 0,__values(o)),d=C.next();!d.done;d=C.next()){var _=d.value,E=u[_];if(null===E)throw console.warn("the primaryKey data is null"),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.PARAMETER_INVALID);s[_]=E}}catch(e){n={error:e}}finally{try{d&&!d.done&&(i=C.return)&&i.call(C)}finally{if(n)throw n.error}}var p=u[KEY_NATURALBASE_VSERSION];if(!p)throw console.warn("the version data is null"),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.PARAMETER_INVALID);s[KEY_NATURALBASE_VSERSION]=p,a.push(s)}}catch(e){t={error:e}}finally{try{l&&!l.done&&(r=c.return)&&r.call(c)}finally{if(t)throw t.error}}return a},e.prototype.executeUpsert=function(o){return e.checkInputData(o),0===o.length||(Utils_1.Utils.checkSchemaAndDataSize(o),this.transactionList.push(this.formTransactionData(o,OperationType.UPSERT))),this},e.prototype.executeDelete=function(o){return e.checkInputData(o),0===o.length||(Utils_1.Utils.checkSchemaAndDataSize(o),this.transactionList.push(this.formTransactionData(o,OperationType.DELETE))),this},e.checkInputData=function(e){if(!e)throw console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.VALUE_IS_NULL).message),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.VALUE_IS_NULL);if(!Utils_1.Utils.isArray(e))throw console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.PARAMETER_INVALID).message),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.PARAMETER_INVALID);for(var o=0;o<e.length;o++)if(null==e[o]){var t=new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.VALUE_IS_NULL);throw console.warn(t.message),t}},e.prototype.formTransactionData=function(e,o){return{operationType:o,objectTypeName:e[0]instanceof CloudDBZoneGenericObject_1.CloudDBZoneGenericObject?e[0].getObjectTypeName():e[0].getClassName(),objects:Utils_1.Utils.serializeObjects(e)}},e.prototype.release=function(){this.needVerifyObjectsList=[],this.transactionList=[],this.needVerifyObjectMap=new Map,this.needVerifyDataNum=0,this.queryDataLength=0},e.prototype.isTransactionEmpty=function(){var e,o,t=!0;try{for(var r=__values(this.transactionList),n=r.next();!n.done;n=r.next()){if(n.value.objects.length>0){t=!1;break}}}catch(o){e={error:o}}finally{try{n&&!n.done&&(o=r.return)&&o.call(r)}finally{if(e)throw e.error}}return t},e.prototype.sortVerifyObjectsList=function(){var e,o,t=Array.from(this.needVerifyObjectMap.values());t.sort((function(e,o){return e.objectTypeName.localeCompare(o.objectTypeName)})),t.forEach((function(e){var o=e.clazz instanceof CloudDBZoneGenericObject_1.CloudDBZoneGenericObject?[]:e.clazz.getPrimaryKeyList(),t=e.clazz instanceof CloudDBZoneGenericObject_1.CloudDBZoneGenericObject?new Map:e.clazz.getFieldTypeMap();e.objects.sort((function(e,r){var n,i;try{for(var a=__values(o),c=a.next();!c.done;c=a.next()){var l=c.value,u=t.get(l),s=Utils_1.Utils.primaryKeyCompareTo(e[l],r[l],u);if(0!==s)return s}}catch(e){n={error:e}}finally{try{c&&!c.done&&(i=a.return)&&i.call(a)}finally{if(n)throw n.error}}return 0}))}));try{for(var r=__values(t),n=r.next();!n.done;n=r.next()){var i=n.value;this.needVerifyObjectsList.push({objectTypeName:i.objectTypeName,objects:i.objects})}}catch(o){e={error:o}}finally{try{n&&!n.done&&(o=r.return)&&o.call(r)}finally{if(e)throw e.error}}},e}();exports.Transaction=Transaction,function(e){e.UPSERT="Upsert",e.DELETE="Delete"}(OperationType=exports.OperationType||(exports.OperationType={}));
|
|
@@ -14,6 +14,18 @@ export declare class ConditionValidate<T> {
|
|
|
14
14
|
private readonly clazzInstance;
|
|
15
15
|
private paginationObject;
|
|
16
16
|
constructor(clazz: new () => T, clazzInstance: any);
|
|
17
|
+
/**
|
|
18
|
+
* get FieldTypeMap
|
|
19
|
+
*
|
|
20
|
+
* @param fieldTypeMap IsGenericObj.
|
|
21
|
+
*/
|
|
22
|
+
getFieldTypeMap(): Map<string, string>;
|
|
23
|
+
/**
|
|
24
|
+
* get IsGenericObj
|
|
25
|
+
*
|
|
26
|
+
* @param isGenericObj IsGenericObj.
|
|
27
|
+
*/
|
|
28
|
+
getIsGenericObj(): boolean;
|
|
17
29
|
/**
|
|
18
30
|
* check condition
|
|
19
31
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var __read=this&&this.__read||function(e,o){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var t,i,n=r.call(e),d=[];try{for(;(void 0===o||o-- >0)&&!(t=n.next()).done;)d.push(t.value)}catch(e){i={error:e}}finally{try{t&&!t.done&&(r=n.return)&&r.call(n)}finally{if(i)throw i.error}}return d},__spreadArray=this&&this.__spreadArray||function(e,o,r){if(r||2===arguments.length)for(var t,i=0,n=o.length;i<n;i++)!t&&i in o||(t||(t=Array.prototype.slice.call(o,0,i)),t[i]=o[i]);return e.concat(t||Array.prototype.slice.call(o))},__values=this&&this.__values||function(e){var o="function"==typeof Symbol&&Symbol.iterator,r=o&&e[o],t=0;if(r)return r.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&t>=e.length&&(e=void 0),{value:e&&e[t++],done:!e}}};throw new TypeError(o?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(exports,"__esModule",{value:!0}),exports.ConditionValidate=void 0;var AGConnectCloudDBException_1=require("../exception/AGConnectCloudDBException"),CloudDBErrorCode_1=require("../exception/CloudDBErrorCode"),FieldType_1=require("./FieldType"),DataModelHelper_1=require("./DataModelHelper"),ErrorCodeMessage_1=require("../exception/ErrorCodeMessage"),CloudDBZoneGenericObject_1=require("../request/CloudDBZoneGenericObject"),Utils_1=require("./Utils"),Constant_1=require("./Constant"),ConditionValidate=function(){function e(e,o){this.NEED_TO_CHECK_FIELD_NAME=["BeginsWith","EndsWith","Contains","EqualTo","NotEqualTo","GreaterThan","GreaterThanOrEqualTo","LessThan","LessThanOrEqualTo","In","IsNull","IsNotNull","OrderBy"],this.EMPTY_FN=function(){},this.UID_MAX_SIZE=100,this.conditionValidators=new Map,this.paginationObject=null,this.clazz=e,this.clazzInstance=o,this.isGenericObj=o instanceof CloudDBZoneGenericObject_1.CloudDBZoneGenericObject,this.fieldTypeMap=this.isGenericObj?new Map:o.getFieldTypeMap(),this.encryptedFieldList=this.isGenericObj?[]:o.getEncryptedFieldList(),this.conditionValidators.set("BeginsWith",this.validateBeginEndContains),this.conditionValidators.set("EndsWith",this.validateBeginEndContains),this.conditionValidators.set("Contains",this.validateBeginEndContains),this.conditionValidators.set("EqualTo",this.validateEqualOrNotEqual),this.conditionValidators.set("NotEqualTo",this.validateEqualOrNotEqual),this.conditionValidators.set("GreaterThan",this.validateGreaterOrLessThan),this.conditionValidators.set("GreaterThanOrEqualTo",this.validateGreaterOrLessThan),this.conditionValidators.set("LessThan",this.validateGreaterOrLessThan),this.conditionValidators.set("LessThanOrEqualTo",this.validateGreaterOrLessThan),this.conditionValidators.set("In",this.validateIn),this.conditionValidators.set("IsNull",this.EMPTY_FN),this.conditionValidators.set("IsNotNull",this.EMPTY_FN),this.conditionValidators.set("OrderBy",this.EMPTY_FN),this.conditionValidators.set("Limit",this.validateLimit),this.conditionValidators.set("StartAt",this.validateTuple),this.conditionValidators.set("StartAfter",this.validateTuple),this.conditionValidators.set("EndAt",this.validateTuple),this.conditionValidators.set("EndBefore",this.validateTuple),this.conditionValidators.set("Uid",this.validateUid)}return e.prototype.checkCondition=function(e){if(!e)throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.INVALID_CONDITION)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.INVALID_CONDITION);var o=e.conditionType;this.NEED_TO_CHECK_FIELD_NAME.includes(o)&&this.checkFieldName(e.fieldName);var r=this.conditionValidators.get(o);if(!r)throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.INVALID_CONDITION)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.INVALID_CONDITION);r.call(this,e)},e.checkConditionLen=function(o){if(o.length>e.MAX_CONDITIONS)throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.CONDITION_EXCEEDS_LIMIT)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.CONDITION_EXCEEDS_LIMIT)},e.prototype.validateEqualOrNotEqual=function(e){var o=e.fieldName,r=e.value;if(!this.isGenericObj&&this.fieldTypeMap.get(o)===FieldType_1.FieldType.ByteArray)throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.DO_NOT_SUPPORT_BYTEARRAY)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.DO_NOT_SUPPORT_BYTEARRAY);this.checkFieldValue(o,r)},e.prototype.validateBeginEndContains=function(e){var o=e.fieldName,r=e.value;this.checkStringAndText(o),this.checkFieldValue(o,r)},e.prototype.validateGreaterOrLessThan=function(e){var o=e.fieldName,r=e.value;this.checkByteArrayAndBoolean(o),this.checkFieldValue(o,r)},e.prototype.validateIn=function(e){var o=e.fieldName,r=e.value;this.checkByteArrayAndBoolean(o),this.checkFieldValue.apply(this,__spreadArray([o],__read(r),!1))},e.prototype.validateLimit=function(e){var o=e.value,r=o.number,t=o.offset;if(null===o.offset&&(o.offset=void 0),!r&&0!=r||void 0!==t&&isNaN(t))throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.QUERY_INPUT_VALUE_IS_NULL)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.QUERY_INPUT_VALUE_IS_NULL);if(r<0||void 0!==t&&t<0)throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.INPUT_LIMIT_OR_OFFSET_LESS_THAN_ZERO)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.INPUT_LIMIT_OR_OFFSET_LESS_THAN_ZERO)},e.prototype.validateTuple=function(e){var o=e.value;if(!o)throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.QUERY_INPUT_QUERY_OBJECT_IS_NULL)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.QUERY_INPUT_QUERY_OBJECT_IS_NULL);var r=this.isGenericObj?o.getObjectTypeName()===this.clazzInstance.getObjectTypeName():o.getClassName()===this.clazzInstance.getClassName();if(!(o instanceof this.clazz&&r))throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.MISMATCH_OBJECT_TYPE_NAME)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.MISMATCH_OBJECT_TYPE_NAME);if(this.isGenericObj||DataModelHelper_1.DataModelHelper.validate(o,!0),this.paginationObject)throw console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.PAGINATE_QUERY_INPUT_IS_MORE_THAN_ONE).message),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.PAGINATE_QUERY_INPUT_IS_MORE_THAN_ONE);this.paginationObject=o},e.prototype.validateUid=function(e){var o=e.value;if(!o||o.length>this.UID_MAX_SIZE)throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.USERID_IS_INVALID)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.USERID_IS_INVALID)},e.prototype.checkStringAndText=function(e){var o=this.fieldTypeMap.get(e);if(!this.isGenericObj&&o!==FieldType_1.FieldType.Text&&o!==FieldType_1.FieldType.String)throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.ONLY_SUPPORT_TEXT_AND_STRING)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.ONLY_SUPPORT_TEXT_AND_STRING)},e.prototype.checkByteArrayAndBoolean=function(e){var o=this.fieldTypeMap.get(e);if(!this.isGenericObj&&(o===FieldType_1.FieldType.Boolean||o===FieldType_1.FieldType.ByteArray))throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.DO_NOT_SUPPORT_BYTEARRAY_OR_BOOLEAN)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.DO_NOT_SUPPORT_BYTEARRAY_OR_BOOLEAN)},e.prototype.checkFieldName=function(e){if(!e)throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.QUERY_INPUT_FIELD_NAME_IS_NULL)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.QUERY_INPUT_FIELD_NAME_IS_NULL);if(Utils_1.Utils.checkFieldName(e),!this.isGenericObj){if(!this.fieldTypeMap.has(e))throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.INPUT_FIELD_NAME_DO_NOT_EXIST)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.INPUT_FIELD_NAME_DO_NOT_EXIST);if(this.encryptedFieldList.includes(e))throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.ENCRYPTED_FIELD_NOT_SUPPORT_QUERY)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.ENCRYPTED_FIELD_NOT_SUPPORT_QUERY)}},e.prototype.checkFieldValue=function(e){for(var o,r,t=[],i=1;i<arguments.length;i++)t[i-1]=arguments[i];var n=this.fieldTypeMap.get(e);if(!this.isGenericObj&&n===FieldType_1.FieldType.ByteArray)throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.DO_NOT_SUPPORT_BYTEARRAY)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.DO_NOT_SUPPORT_BYTEARRAY);try{for(var d=__values(t),l=d.next();!l.done;l=d.next()){var a=l.value;if(null==a)throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.QUERY_INPUT_VALUE_IS_NULL)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.QUERY_INPUT_VALUE_IS_NULL);this.isGenericObj||DataModelHelper_1.DataModelHelper.validateQueryFieldValue(n,a),this.isGenericObj&&typeof a===Constant_1.VerifyKey.String&&Utils_1.Utils.checkIllegalCharacter(a)}}catch(e){o={error:e}}finally{try{l&&!l.done&&(r=d.return)&&r.call(d)}finally{if(o)throw o.error}}},e.MAX_CONDITIONS=30,e}();exports.ConditionValidate=ConditionValidate;
|
|
1
|
+
"use strict";var __read=this&&this.__read||function(e,o){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var t,i,n=r.call(e),d=[];try{for(;(void 0===o||o-- >0)&&!(t=n.next()).done;)d.push(t.value)}catch(e){i={error:e}}finally{try{t&&!t.done&&(r=n.return)&&r.call(n)}finally{if(i)throw i.error}}return d},__spreadArray=this&&this.__spreadArray||function(e,o,r){if(r||2===arguments.length)for(var t,i=0,n=o.length;i<n;i++)!t&&i in o||(t||(t=Array.prototype.slice.call(o,0,i)),t[i]=o[i]);return e.concat(t||Array.prototype.slice.call(o))},__values=this&&this.__values||function(e){var o="function"==typeof Symbol&&Symbol.iterator,r=o&&e[o],t=0;if(r)return r.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&t>=e.length&&(e=void 0),{value:e&&e[t++],done:!e}}};throw new TypeError(o?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(exports,"__esModule",{value:!0}),exports.ConditionValidate=void 0;var AGConnectCloudDBException_1=require("../exception/AGConnectCloudDBException"),CloudDBErrorCode_1=require("../exception/CloudDBErrorCode"),FieldType_1=require("./FieldType"),DataModelHelper_1=require("./DataModelHelper"),ErrorCodeMessage_1=require("../exception/ErrorCodeMessage"),CloudDBZoneGenericObject_1=require("../request/CloudDBZoneGenericObject"),Utils_1=require("./Utils"),Constant_1=require("./Constant"),ConditionValidate=function(){function e(e,o){this.NEED_TO_CHECK_FIELD_NAME=["BeginsWith","EndsWith","Contains","EqualTo","NotEqualTo","GreaterThan","GreaterThanOrEqualTo","LessThan","LessThanOrEqualTo","In","IsNull","IsNotNull","OrderBy"],this.EMPTY_FN=function(){},this.UID_MAX_SIZE=100,this.conditionValidators=new Map,this.paginationObject=null,this.clazz=e,this.clazzInstance=o,this.isGenericObj=o instanceof CloudDBZoneGenericObject_1.CloudDBZoneGenericObject,this.fieldTypeMap=this.isGenericObj?new Map:o.getFieldTypeMap(),this.encryptedFieldList=this.isGenericObj?[]:o.getEncryptedFieldList(),this.conditionValidators.set("BeginsWith",this.validateBeginEndContains),this.conditionValidators.set("EndsWith",this.validateBeginEndContains),this.conditionValidators.set("Contains",this.validateBeginEndContains),this.conditionValidators.set("EqualTo",this.validateEqualOrNotEqual),this.conditionValidators.set("NotEqualTo",this.validateEqualOrNotEqual),this.conditionValidators.set("GreaterThan",this.validateGreaterOrLessThan),this.conditionValidators.set("GreaterThanOrEqualTo",this.validateGreaterOrLessThan),this.conditionValidators.set("LessThan",this.validateGreaterOrLessThan),this.conditionValidators.set("LessThanOrEqualTo",this.validateGreaterOrLessThan),this.conditionValidators.set("In",this.validateIn),this.conditionValidators.set("IsNull",this.EMPTY_FN),this.conditionValidators.set("IsNotNull",this.EMPTY_FN),this.conditionValidators.set("OrderBy",this.EMPTY_FN),this.conditionValidators.set("Limit",this.validateLimit),this.conditionValidators.set("StartAt",this.validateTuple),this.conditionValidators.set("StartAfter",this.validateTuple),this.conditionValidators.set("EndAt",this.validateTuple),this.conditionValidators.set("EndBefore",this.validateTuple),this.conditionValidators.set("Uid",this.validateUid)}return e.prototype.getFieldTypeMap=function(){return this.fieldTypeMap},e.prototype.getIsGenericObj=function(){return this.isGenericObj},e.prototype.checkCondition=function(e){if(!e)throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.INVALID_CONDITION)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.INVALID_CONDITION);var o=e.conditionType;this.NEED_TO_CHECK_FIELD_NAME.includes(o)&&this.checkFieldName(e.fieldName);var r=this.conditionValidators.get(o);if(!r)throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.INVALID_CONDITION)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.INVALID_CONDITION);r.call(this,e)},e.checkConditionLen=function(o){if(o.length>e.MAX_CONDITIONS)throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.CONDITION_EXCEEDS_LIMIT)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.CONDITION_EXCEEDS_LIMIT)},e.prototype.validateEqualOrNotEqual=function(e){var o=e.fieldName,r=e.value;if(!this.isGenericObj&&this.fieldTypeMap.get(o)===FieldType_1.FieldType.ByteArray)throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.DO_NOT_SUPPORT_BYTEARRAY)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.DO_NOT_SUPPORT_BYTEARRAY);this.checkFieldValue(o,r)},e.prototype.validateBeginEndContains=function(e){var o=e.fieldName,r=e.value;this.checkStringAndText(o),this.checkFieldValue(o,r)},e.prototype.validateGreaterOrLessThan=function(e){var o=e.fieldName,r=e.value;this.checkByteArrayAndBoolean(o),this.checkFieldValue(o,r)},e.prototype.validateIn=function(e){var o=e.fieldName,r=e.value;this.checkByteArrayAndBoolean(o),this.checkFieldValue.apply(this,__spreadArray([o],__read(r),!1))},e.prototype.validateLimit=function(e){var o=e.value,r=o.number,t=o.offset;if(null===o.offset&&(o.offset=void 0),!r&&0!==r||void 0!==t&&isNaN(t))throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.QUERY_INPUT_VALUE_IS_NULL)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.QUERY_INPUT_VALUE_IS_NULL);if(r<0||void 0!==t&&t<0)throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.INPUT_LIMIT_OR_OFFSET_LESS_THAN_ZERO)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.INPUT_LIMIT_OR_OFFSET_LESS_THAN_ZERO)},e.prototype.validateTuple=function(e){var o=e.value;if(!o)throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.QUERY_INPUT_QUERY_OBJECT_IS_NULL)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.QUERY_INPUT_QUERY_OBJECT_IS_NULL);var r=this.isGenericObj?o.getObjectTypeName()===this.clazzInstance.getObjectTypeName():o.getClassName()===this.clazzInstance.getClassName();if(!(o instanceof this.clazz&&r))throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.MISMATCH_OBJECT_TYPE_NAME)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.MISMATCH_OBJECT_TYPE_NAME);if(this.isGenericObj||DataModelHelper_1.DataModelHelper.validate(o,!0),this.paginationObject)throw console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.PAGINATE_QUERY_INPUT_IS_MORE_THAN_ONE).message),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.PAGINATE_QUERY_INPUT_IS_MORE_THAN_ONE);this.paginationObject=o},e.prototype.validateUid=function(e){var o=e.value;if(!o||o.length>this.UID_MAX_SIZE)throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.USERID_IS_INVALID)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.USERID_IS_INVALID)},e.prototype.checkStringAndText=function(e){var o=this.fieldTypeMap.get(e);if(!this.isGenericObj&&o!==FieldType_1.FieldType.Text&&o!==FieldType_1.FieldType.String)throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.ONLY_SUPPORT_TEXT_AND_STRING)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.ONLY_SUPPORT_TEXT_AND_STRING)},e.prototype.checkByteArrayAndBoolean=function(e){var o=this.fieldTypeMap.get(e);if(!this.isGenericObj&&(o===FieldType_1.FieldType.Boolean||o===FieldType_1.FieldType.ByteArray))throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.DO_NOT_SUPPORT_BYTEARRAY_OR_BOOLEAN)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.DO_NOT_SUPPORT_BYTEARRAY_OR_BOOLEAN)},e.prototype.checkFieldName=function(e){if(!e)throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.QUERY_INPUT_FIELD_NAME_IS_NULL)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.QUERY_INPUT_FIELD_NAME_IS_NULL);if(Utils_1.Utils.checkFieldName(e),!this.isGenericObj){if(!this.fieldTypeMap.has(e))throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.INPUT_FIELD_NAME_DO_NOT_EXIST)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.INPUT_FIELD_NAME_DO_NOT_EXIST);if(this.encryptedFieldList.includes(e))throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.ENCRYPTED_FIELD_NOT_SUPPORT_QUERY)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.ENCRYPTED_FIELD_NOT_SUPPORT_QUERY)}},e.prototype.checkFieldValue=function(e){for(var o,r,t=[],i=1;i<arguments.length;i++)t[i-1]=arguments[i];var n=this.fieldTypeMap.get(e);if(!this.isGenericObj&&n===FieldType_1.FieldType.ByteArray)throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.DO_NOT_SUPPORT_BYTEARRAY)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.DO_NOT_SUPPORT_BYTEARRAY);try{for(var d=__values(t),l=d.next();!l.done;l=d.next()){var a=l.value;if(null==a)throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.QUERY_INPUT_VALUE_IS_NULL)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.QUERY_INPUT_VALUE_IS_NULL);this.isGenericObj||DataModelHelper_1.DataModelHelper.validateQueryFieldValue(n,a),this.isGenericObj&&typeof a===Constant_1.VerifyKey.String&&Utils_1.Utils.checkIllegalCharacter(a)}}catch(e){o={error:e}}finally{try{l&&!l.done&&(r=d.return)&&r.call(d)}finally{if(o)throw o.error}}},e.MAX_CONDITIONS=30,e}();exports.ConditionValidate=ConditionValidate;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var __values=this&&this.__values||function(e){var o="function"==typeof Symbol&&Symbol.iterator,r=o&&e[o],t=0;if(r)return r.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&t>=e.length&&(e=void 0),{value:e&&e[t++],done:!e}}};throw new TypeError(o?"Object is not iterable.":"Symbol.iterator is not defined.")},__read=this&&this.__read||function(e,o){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var t,n,d=r.call(e),l=[];try{for(;(void 0===o||o-- >0)&&!(t=d.next()).done;)l.push(t.value)}catch(e){n={error:e}}finally{try{t&&!t.done&&(r=d.return)&&r.call(d)}finally{if(n)throw n.error}}return l};Object.defineProperty(exports,"__esModule",{value:!0}),exports.DataModelHelper=exports.Validators=exports.Calculators=void 0;var Constant_1=require("./Constant"),Utils_1=require("./Utils"),SchemaUtils_1=require("./SchemaUtils"),ErrorCodeMessage_1=require("../exception/ErrorCodeMessage"),CloudDBErrorCode_1=require("../exception/CloudDBErrorCode"),AGConnectCloudDBException_1=require("../exception/AGConnectCloudDBException"),CloudDBZoneGenericObject_1=require("../request/CloudDBZoneGenericObject"),INTEGER_MIN_VALUE=-2147483648,INTEGER_MAX_VALUE=2147483647,AUTO_INT_MIN_VALUE=1,AUTO_INT_MAX_VALUE=2147483647,SHORT_MIN_VALUE=-32768,SHORT_MAX_VALUE=32767,BYTE_MIN_VALUE=-128,BYTE_MAX_VALUE=127,FLOAT_MIN_VALUE=-3402823e32,FLOAT_MAX_VALUE=3402823e32,LONG_MIN_VALUE="-9223372036854775808",LONG_MAX_VALUE="9223372036854775807",AUTO_LONG_MIN_VALUE="1",AUTO_LONG_MAX_VALUE="9223372036854775807",INCREMENT_SUPPORT_FIELD_TYPE=["Byte","Short","Integer","Long","Float","Double","IntAutoIncrement","LongAutoIncrement"],MAX_STRING_LENGTH=200;function addCalculator(e,o){exports.Calculators[e]=o}function calculateStringUtf8Length(e){var o=0;if(!e)return o;for(var r=0;r<e.length;r++){var t=e.charCodeAt(r);o+=t>>11?3:t>>7?2:1}return o}function addValidator(e,o){exports.Validators[e]=o}exports.Calculators={},addCalculator(SchemaUtils_1.FieldType.Integer,(function(e){return 4})),addCalculator(SchemaUtils_1.FieldType.IntAutoIncrement,(function(e){return 4})),addCalculator(SchemaUtils_1.FieldType.String,(function(e){return calculateStringUtf8Length(e)})),addCalculator(SchemaUtils_1.FieldType.Short,(function(e){return 2})),addCalculator(SchemaUtils_1.FieldType.Long,(function(e){return 8})),addCalculator(SchemaUtils_1.FieldType.LongAutoIncrement,(function(e){return 8})),addCalculator(SchemaUtils_1.FieldType.Boolean,(function(e){return 1})),addCalculator(SchemaUtils_1.FieldType.Byte,(function(e){return 1})),addCalculator(SchemaUtils_1.FieldType.Float,(function(e){return 4})),addCalculator(SchemaUtils_1.FieldType.Double,(function(e){return 8})),addCalculator(SchemaUtils_1.FieldType.ByteArray,(function(e){return e?e.byteLength:0})),addCalculator(SchemaUtils_1.FieldType.Date,(function(e){return 8})),addCalculator(SchemaUtils_1.FieldType.Text,(function(e){return calculateStringUtf8Length(e)})),exports.Validators={},addValidator(SchemaUtils_1.FieldType.Byte,(function(e){if(!Number.isSafeInteger(e))throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.FIELD_TYPE_MISMATCH_VALUE_TYPE)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.FIELD_TYPE_MISMATCH_VALUE_TYPE);if(e<BYTE_MIN_VALUE||e>BYTE_MAX_VALUE)throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.INPUT_NUMBER_IS_OVERFLOW)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.INPUT_NUMBER_IS_OVERFLOW)})),addValidator(SchemaUtils_1.FieldType.Short,(function(e){if(!Number.isSafeInteger(e))throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.FIELD_TYPE_MISMATCH_VALUE_TYPE)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.FIELD_TYPE_MISMATCH_VALUE_TYPE);if(e<SHORT_MIN_VALUE||e>SHORT_MAX_VALUE)throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.INPUT_NUMBER_IS_OVERFLOW)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.INPUT_NUMBER_IS_OVERFLOW)})),addValidator(SchemaUtils_1.FieldType.Integer,(function(e){if(!Number.isInteger(e))throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.FIELD_TYPE_MISMATCH_VALUE_TYPE)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.FIELD_TYPE_MISMATCH_VALUE_TYPE);if(e<INTEGER_MIN_VALUE||e>INTEGER_MAX_VALUE)throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.INPUT_NUMBER_IS_OVERFLOW)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.INPUT_NUMBER_IS_OVERFLOW)})),addValidator(SchemaUtils_1.FieldType.IntAutoIncrement,(function(e){if(!Number.isInteger(e))throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.FIELD_TYPE_MISMATCH_VALUE_TYPE)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.FIELD_TYPE_MISMATCH_VALUE_TYPE);if(e<AUTO_INT_MIN_VALUE||e>AUTO_INT_MAX_VALUE)throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.INPUT_NUMBER_IS_OVERFLOW)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.INPUT_NUMBER_IS_OVERFLOW)})),addValidator(SchemaUtils_1.FieldType.Long,(function(e){if(typeof e!==Constant_1.VerifyKey.Number&&typeof e!==Constant_1.VerifyKey.String)throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.FIELD_TYPE_MISMATCH_VALUE_TYPE)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.FIELD_TYPE_MISMATCH_VALUE_TYPE);if(Utils_1.Utils.longCompareTo(e.toString(),LONG_MIN_VALUE)<0||Utils_1.Utils.longCompareTo(e.toString(),LONG_MAX_VALUE)>0)throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.INPUT_NUMBER_IS_OVERFLOW)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.INPUT_NUMBER_IS_OVERFLOW)})),addValidator(SchemaUtils_1.FieldType.LongAutoIncrement,(function(e){if(typeof e!==Constant_1.VerifyKey.Number&&typeof e!==Constant_1.VerifyKey.String)throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.FIELD_TYPE_MISMATCH_VALUE_TYPE)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.FIELD_TYPE_MISMATCH_VALUE_TYPE);if(Utils_1.Utils.longCompareTo(e.toString(),AUTO_LONG_MIN_VALUE)<0||Utils_1.Utils.longCompareTo(e.toString(),AUTO_LONG_MAX_VALUE)>0)throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.INPUT_NUMBER_IS_OVERFLOW)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.INPUT_NUMBER_IS_OVERFLOW)})),addValidator(SchemaUtils_1.FieldType.Float,(function(e){if(typeof e!==Constant_1.VerifyKey.Number)throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.FIELD_TYPE_MISMATCH_VALUE_TYPE)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.FIELD_TYPE_MISMATCH_VALUE_TYPE);if(isNaN(e)||e<FLOAT_MIN_VALUE||e>FLOAT_MAX_VALUE)throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.INPUT_NUMBER_IS_OVERFLOW)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.INPUT_NUMBER_IS_OVERFLOW)})),addValidator(SchemaUtils_1.FieldType.Double,(function(e){if(typeof e!==Constant_1.VerifyKey.Number)throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.FIELD_TYPE_MISMATCH_VALUE_TYPE)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.FIELD_TYPE_MISMATCH_VALUE_TYPE);if(!Number.isFinite(e))throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.INPUT_NUMBER_IS_OVERFLOW)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.INPUT_NUMBER_IS_OVERFLOW)})),addValidator(SchemaUtils_1.FieldType.String,(function(e){if(typeof e!==Constant_1.VerifyKey.String)throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.FIELD_TYPE_MISMATCH_VALUE_TYPE)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.FIELD_TYPE_MISMATCH_VALUE_TYPE);if(e.length>MAX_STRING_LENGTH)throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.WRITE_STRING_VALUE_SIZE_EXCEED_LIMIT)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.WRITE_STRING_VALUE_SIZE_EXCEED_LIMIT);if(-1!==e.indexOf("\0")||-1!==e.indexOf("\0"))throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.INPUT_CONTAIN_ILLEGAL_CHARACTER)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.INPUT_CONTAIN_ILLEGAL_CHARACTER)})),addValidator(SchemaUtils_1.FieldType.Text,(function(e){if(typeof e!==Constant_1.VerifyKey.String)throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.FIELD_TYPE_MISMATCH_VALUE_TYPE)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.FIELD_TYPE_MISMATCH_VALUE_TYPE);if(-1!==e.indexOf("\0")||-1!==e.indexOf("\0"))throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.INPUT_CONTAIN_ILLEGAL_CHARACTER)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.INPUT_CONTAIN_ILLEGAL_CHARACTER)})),addValidator(SchemaUtils_1.FieldType.Boolean,(function(e){if(typeof e!==Constant_1.VerifyKey.Boolean)throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.FIELD_TYPE_MISMATCH_VALUE_TYPE)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.FIELD_TYPE_MISMATCH_VALUE_TYPE)})),addValidator(SchemaUtils_1.FieldType.ByteArray,(function(e){if(!(e instanceof Uint8Array))throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.FIELD_TYPE_MISMATCH_VALUE_TYPE)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.FIELD_TYPE_MISMATCH_VALUE_TYPE)})),addValidator(SchemaUtils_1.FieldType.Date,(function(e){if(!(e instanceof Date)||isNaN(e.getTime()))throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.FIELD_TYPE_MISMATCH_VALUE_TYPE)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.FIELD_TYPE_MISMATCH_VALUE_TYPE)})),addValidator(SchemaUtils_1.FieldType.UNKNOWN,(function(){throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.INVALID_FIELD_TYPE)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.INVALID_FIELD_TYPE)}));var DataModelHelper=function(){function e(){}return e.calculateObject=function(e){var o,r,t,n;if(!Utils_1.Utils.isNotNullObject(e))throw new TypeError("object is not valid data model object!");var d=e.getFieldTypeMap(),l=Object.getOwnPropertyNames(e),E=0;try{for(var C=__values(l),_=C.next();!_.done;_=C.next()){var i=_.value,a=SchemaUtils_1.FieldType.getFieldType(d.get(i));E+=exports.Calculators[a]?exports.Calculators[a](e[i]):(""+e[i]).length}}catch(e){o={error:e}}finally{try{_&&!_.done&&(r=C.return)&&r.call(C)}finally{if(o)throw o.error}}try{for(var u=__values(d.entries()),c=u.next();!c.done;c=u.next()){var s=__read(c.value,1)[0];a=SchemaUtils_1.FieldType.getFieldType(d.get(s));if(!l.includes(s)&&exports.Calculators[a]&&a!==SchemaUtils_1.FieldType.Text&&a!==SchemaUtils_1.FieldType.String&&a!==SchemaUtils_1.FieldType.ByteArray)E+=exports.Calculators[a](void 0)}}catch(e){t={error:e}}finally{try{c&&!c.done&&(n=u.return)&&n.call(u)}finally{if(t)throw t.error}}return E},e.validate=function(e,o){var r,t;if(!Utils_1.Utils.isNotNullObject(e))throw new TypeError("object is not valid data model object!");var n=Object.getOwnPropertyNames(e),d=e.getFieldTypeMap();if(Utils_1.Utils.isNullOrUndefined(n)||Utils_1.Utils.isNullOrUndefined(d))return!1;try{for(var l=__values(n),E=l.next();!E.done;E=l.next()){var C=E.value,_=d.get(C);if(!_)return!1;var i=e[C];null!=i&&(o?this.validateQueryFieldValue(_,i):this.validateFieldValue(_,i))}}catch(e){r={error:e}}finally{try{E&&!E.done&&(t=l.return)&&t.call(l)}finally{if(r)throw r.error}}return!0},e.validateGenericObj=function(e){var o,r,t=e.getFieldMap();try{for(var n=__values(t.values()),d=n.next();!d.done;d=n.next()){var l=d.value;typeof l===Constant_1.VerifyKey.String&&Utils_1.Utils.checkIllegalCharacter(l)}}catch(e){o={error:e}}finally{try{d&&!d.done&&(r=n.return)&&r.call(n)}finally{if(o)throw o.error}}},e.validateFieldValue=function(e,o){if(SchemaUtils_1.FieldType.getFieldType(e)===SchemaUtils_1.FieldType.UNKNOWN)throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.INVALID_FIELD_TYPE)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.INVALID_FIELD_TYPE);exports.Validators[SchemaUtils_1.FieldType.getFieldType(e)](o)},e.validateQueryFieldValue=function(e,o){SchemaUtils_1.FieldType.getFieldType(e)===SchemaUtils_1.FieldType.IntAutoIncrement&&(e="Integer"),SchemaUtils_1.FieldType.getFieldType(e)===SchemaUtils_1.FieldType.LongAutoIncrement&&(e="Long"),this.validateFieldValue(e,o)},e.checkPrimaryKeys=function(o){var r,t,n=o instanceof CloudDBZoneGenericObject_1.CloudDBZoneGenericObject,d=n?o.primaryKeys:o.getPrimaryKeyList(),l=n?new Map:o.getFieldTypeMap();if(!(n||d&&0!==d.length))throw new TypeError("There is at least one primary key.");if(n&&0===d.size)throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.PRIMARY_KEY_REQUIRED)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.PRIMARY_KEY_REQUIRED);try{for(var E=__values(d),C=E.next();!C.done;C=E.next()){var _=C.value;if(!n&&!o[_]||n&&!o.getFieldValue(_))throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.PRIMARY_KEY_REQUIRED)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.PRIMARY_KEY_REQUIRED);n||e.validateFieldValue(l.get(_),o[_])}}catch(e){r={error:e}}finally{try{C&&!C.done&&(t=E.return)&&t.call(E)}finally{if(r)throw r.error}}},e.checkOperatorField=function(o,r,t,n,d){if(Utils_1.Utils.checkFieldName(o),t instanceof CloudDBZoneGenericObject_1.CloudDBZoneGenericObject)this.checkGenericObject(o,r,t,n);else{var l=t.getFieldTypeMap(),E=t.getEncryptedFieldList(),C=t.getPrimaryKeyList();if(!l.has(o))throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.INPUT_FIELD_NAME_DO_NOT_EXIST)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.INPUT_FIELD_NAME_DO_NOT_EXIST);if(C.includes(o)||E.includes(o))throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.PRIMARY_KEY_ENCRYPTED_FIELD_CANNOT_BE_UPDATED)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.PRIMARY_KEY_ENCRYPTED_FIELD_CANNOT_BE_UPDATED);var _=l.get(o);if(!_)throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.INVALID_FIELD_TYPE)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.INVALID_FIELD_TYPE);if(n){if(!d&&!INCREMENT_SUPPORT_FIELD_TYPE.includes(_))throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.INVALID_INCREMENT_FIELD_TYPE)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.INVALID_INCREMENT_FIELD_TYPE);if(d&&("Byte"===_||!INCREMENT_SUPPORT_FIELD_TYPE.includes(_)))throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.INVALID_INCREMENT_FIELD_TYPE)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.INVALID_INCREMENT_FIELD_TYPE)}(n||null!==r)&&e.validateFieldValue(_,r)}},e.checkGenericObject=function(e,o,r,t){if(r.primaryKeys.has(e))throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.PRIMARY_KEY_ENCRYPTED_FIELD_CANNOT_BE_UPDATED)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.PRIMARY_KEY_ENCRYPTED_FIELD_CANNOT_BE_UPDATED);if(t&&typeof o!==Constant_1.VerifyKey.Number&&!Utils_1.Utils.isNumberString(o))throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.INVALID_INCREMENT_FIELD_TYPE)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.INVALID_INCREMENT_FIELD_TYPE);if(t||null!==o){if(Utils_1.Utils.isNullOrUndefined(o))throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.VALUE_IS_NULL)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.VALUE_IS_NULL);typeof o===Constant_1.VerifyKey.String&&Utils_1.Utils.checkIllegalCharacter(o)}},e}();exports.DataModelHelper=DataModelHelper;
|
|
1
|
+
"use strict";var __values=this&&this.__values||function(e){var o="function"==typeof Symbol&&Symbol.iterator,r=o&&e[o],t=0;if(r)return r.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&t>=e.length&&(e=void 0),{value:e&&e[t++],done:!e}}};throw new TypeError(o?"Object is not iterable.":"Symbol.iterator is not defined.")},__read=this&&this.__read||function(e,o){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var t,n,d=r.call(e),l=[];try{for(;(void 0===o||o-- >0)&&!(t=d.next()).done;)l.push(t.value)}catch(e){n={error:e}}finally{try{t&&!t.done&&(r=d.return)&&r.call(d)}finally{if(n)throw n.error}}return l};Object.defineProperty(exports,"__esModule",{value:!0}),exports.DataModelHelper=exports.Validators=exports.Calculators=void 0;var Constant_1=require("./Constant"),Utils_1=require("./Utils"),SchemaUtils_1=require("./SchemaUtils"),ErrorCodeMessage_1=require("../exception/ErrorCodeMessage"),CloudDBErrorCode_1=require("../exception/CloudDBErrorCode"),AGConnectCloudDBException_1=require("../exception/AGConnectCloudDBException"),CloudDBZoneGenericObject_1=require("../request/CloudDBZoneGenericObject"),SchemaUtils_2=require("./SchemaUtils"),INTEGER_MIN_VALUE=-2147483648,INTEGER_MAX_VALUE=2147483647,AUTO_INT_MIN_VALUE=1,AUTO_INT_MAX_VALUE=2147483647,SHORT_MIN_VALUE=-32768,SHORT_MAX_VALUE=32767,BYTE_MIN_VALUE=-128,BYTE_MAX_VALUE=127,FLOAT_MIN_VALUE=-3402823e32,FLOAT_MAX_VALUE=3402823e32,LONG_MIN_VALUE="-9223372036854775808",LONG_MAX_VALUE="9223372036854775807",AUTO_LONG_MIN_VALUE="1",AUTO_LONG_MAX_VALUE="9223372036854775807",INCREMENT_SUPPORT_FIELD_TYPE=["Byte","Short","Integer","Long","Float","Double","IntAutoIncrement","LongAutoIncrement"],MAX_STRING_LENGTH=200;function addCalculator(e,o){exports.Calculators[e]=o}function calculateStringUtf8Length(e){var o=0;if(!e)return o;for(var r=0;r<e.length;r++){var t=e.charCodeAt(r);o+=t>>11?3:t>>7?2:1}return o}function addValidator(e,o){exports.Validators[e]=o}exports.Calculators={},addCalculator(SchemaUtils_1.FieldType.Integer,(function(e){return 4})),addCalculator(SchemaUtils_1.FieldType.IntAutoIncrement,(function(e){return 4})),addCalculator(SchemaUtils_1.FieldType.String,(function(e){return calculateStringUtf8Length(e)})),addCalculator(SchemaUtils_1.FieldType.Short,(function(e){return 2})),addCalculator(SchemaUtils_1.FieldType.Long,(function(e){return 8})),addCalculator(SchemaUtils_1.FieldType.LongAutoIncrement,(function(e){return 8})),addCalculator(SchemaUtils_1.FieldType.Boolean,(function(e){return 1})),addCalculator(SchemaUtils_1.FieldType.Byte,(function(e){return 1})),addCalculator(SchemaUtils_1.FieldType.Float,(function(e){return 4})),addCalculator(SchemaUtils_1.FieldType.Double,(function(e){return 8})),addCalculator(SchemaUtils_1.FieldType.ByteArray,(function(e){return e?e.byteLength:0})),addCalculator(SchemaUtils_1.FieldType.Date,(function(e){return 8})),addCalculator(SchemaUtils_1.FieldType.Text,(function(e){return calculateStringUtf8Length(e)})),exports.Validators={},addValidator(SchemaUtils_1.FieldType.Byte,(function(e){if(!Number.isSafeInteger(e))throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.FIELD_TYPE_MISMATCH_VALUE_TYPE)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.FIELD_TYPE_MISMATCH_VALUE_TYPE);if(e<BYTE_MIN_VALUE||e>BYTE_MAX_VALUE)throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.INPUT_NUMBER_IS_OVERFLOW)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.INPUT_NUMBER_IS_OVERFLOW)})),addValidator(SchemaUtils_1.FieldType.Short,(function(e){if(!Number.isSafeInteger(e))throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.FIELD_TYPE_MISMATCH_VALUE_TYPE)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.FIELD_TYPE_MISMATCH_VALUE_TYPE);if(e<SHORT_MIN_VALUE||e>SHORT_MAX_VALUE)throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.INPUT_NUMBER_IS_OVERFLOW)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.INPUT_NUMBER_IS_OVERFLOW)})),addValidator(SchemaUtils_1.FieldType.Integer,(function(e){if(!Number.isInteger(e))throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.FIELD_TYPE_MISMATCH_VALUE_TYPE)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.FIELD_TYPE_MISMATCH_VALUE_TYPE);if(e<INTEGER_MIN_VALUE||e>INTEGER_MAX_VALUE)throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.INPUT_NUMBER_IS_OVERFLOW)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.INPUT_NUMBER_IS_OVERFLOW)})),addValidator(SchemaUtils_1.FieldType.IntAutoIncrement,(function(e){if(!Number.isInteger(e))throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.FIELD_TYPE_MISMATCH_VALUE_TYPE)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.FIELD_TYPE_MISMATCH_VALUE_TYPE);if(e<AUTO_INT_MIN_VALUE||e>AUTO_INT_MAX_VALUE)throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.INPUT_NUMBER_IS_OVERFLOW)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.INPUT_NUMBER_IS_OVERFLOW)})),addValidator(SchemaUtils_1.FieldType.Long,(function(e){if(typeof e!==Constant_1.VerifyKey.Number&&typeof e!==Constant_1.VerifyKey.String)throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.FIELD_TYPE_MISMATCH_VALUE_TYPE)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.FIELD_TYPE_MISMATCH_VALUE_TYPE);if(Utils_1.Utils.longCompareTo(e.toString(),LONG_MIN_VALUE)<0||Utils_1.Utils.longCompareTo(e.toString(),LONG_MAX_VALUE)>0)throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.INPUT_NUMBER_IS_OVERFLOW)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.INPUT_NUMBER_IS_OVERFLOW)})),addValidator(SchemaUtils_1.FieldType.LongAutoIncrement,(function(e){if(typeof e!==Constant_1.VerifyKey.Number&&typeof e!==Constant_1.VerifyKey.String)throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.FIELD_TYPE_MISMATCH_VALUE_TYPE)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.FIELD_TYPE_MISMATCH_VALUE_TYPE);if(Utils_1.Utils.longCompareTo(e.toString(),AUTO_LONG_MIN_VALUE)<0||Utils_1.Utils.longCompareTo(e.toString(),AUTO_LONG_MAX_VALUE)>0)throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.INPUT_NUMBER_IS_OVERFLOW)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.INPUT_NUMBER_IS_OVERFLOW)})),addValidator(SchemaUtils_1.FieldType.Float,(function(e){if(typeof e!==Constant_1.VerifyKey.Number)throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.FIELD_TYPE_MISMATCH_VALUE_TYPE)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.FIELD_TYPE_MISMATCH_VALUE_TYPE);if(isNaN(e)||e<FLOAT_MIN_VALUE||e>FLOAT_MAX_VALUE)throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.INPUT_NUMBER_IS_OVERFLOW)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.INPUT_NUMBER_IS_OVERFLOW)})),addValidator(SchemaUtils_1.FieldType.Double,(function(e){if(typeof e!==Constant_1.VerifyKey.Number)throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.FIELD_TYPE_MISMATCH_VALUE_TYPE)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.FIELD_TYPE_MISMATCH_VALUE_TYPE);if(!Number.isFinite(e))throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.INPUT_NUMBER_IS_OVERFLOW)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.INPUT_NUMBER_IS_OVERFLOW)})),addValidator(SchemaUtils_1.FieldType.String,(function(e){if(typeof e!==Constant_1.VerifyKey.String)throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.FIELD_TYPE_MISMATCH_VALUE_TYPE)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.FIELD_TYPE_MISMATCH_VALUE_TYPE);if(e.length>MAX_STRING_LENGTH)throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.WRITE_STRING_VALUE_SIZE_EXCEED_LIMIT)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.WRITE_STRING_VALUE_SIZE_EXCEED_LIMIT);if(-1!==e.indexOf("\0")||-1!==e.indexOf("\0"))throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.INPUT_CONTAIN_ILLEGAL_CHARACTER)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.INPUT_CONTAIN_ILLEGAL_CHARACTER)})),addValidator(SchemaUtils_1.FieldType.Text,(function(e){if(typeof e!==Constant_1.VerifyKey.String)throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.FIELD_TYPE_MISMATCH_VALUE_TYPE)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.FIELD_TYPE_MISMATCH_VALUE_TYPE);if(-1!==e.indexOf("\0")||-1!==e.indexOf("\0"))throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.INPUT_CONTAIN_ILLEGAL_CHARACTER)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.INPUT_CONTAIN_ILLEGAL_CHARACTER)})),addValidator(SchemaUtils_1.FieldType.Boolean,(function(e){if(typeof e!==Constant_1.VerifyKey.Boolean)throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.FIELD_TYPE_MISMATCH_VALUE_TYPE)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.FIELD_TYPE_MISMATCH_VALUE_TYPE)})),addValidator(SchemaUtils_1.FieldType.ByteArray,(function(e){if(!(e instanceof Uint8Array))throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.FIELD_TYPE_MISMATCH_VALUE_TYPE)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.FIELD_TYPE_MISMATCH_VALUE_TYPE)})),addValidator(SchemaUtils_1.FieldType.Date,(function(e){if(!(e instanceof Date)||isNaN(e.getTime()))throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.FIELD_TYPE_MISMATCH_VALUE_TYPE)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.FIELD_TYPE_MISMATCH_VALUE_TYPE)})),addValidator(SchemaUtils_1.FieldType.UNKNOWN,(function(){throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.INVALID_FIELD_TYPE)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.INVALID_FIELD_TYPE)}));var DataModelHelper=function(){function e(){}return e.calculateObject=function(e){var o,r,t,n;if(!Utils_1.Utils.isNotNullObject(e))throw new TypeError("object is not valid data model object!");var d=e.getFieldTypeMap(),l=Object.getOwnPropertyNames(e),E=0;try{for(var C=__values(l),_=C.next();!_.done;_=C.next()){var i=_.value,a=(0,SchemaUtils_2.getFieldType)(d.get(i));E+=exports.Calculators[a]?exports.Calculators[a](e[i]):String(e[i]).length}}catch(e){o={error:e}}finally{try{_&&!_.done&&(r=C.return)&&r.call(C)}finally{if(o)throw o.error}}try{for(var u=__values(d.entries()),c=u.next();!c.done;c=u.next()){var s=__read(c.value,1)[0];a=(0,SchemaUtils_2.getFieldType)(d.get(s));if(!l.includes(s)&&exports.Calculators[a]&&a!==SchemaUtils_1.FieldType.Text&&a!==SchemaUtils_1.FieldType.String&&a!==SchemaUtils_1.FieldType.ByteArray)E+=exports.Calculators[a](void 0)}}catch(e){t={error:e}}finally{try{c&&!c.done&&(n=u.return)&&n.call(u)}finally{if(t)throw t.error}}return E},e.validate=function(e,o){var r,t;if(!Utils_1.Utils.isNotNullObject(e))throw new TypeError("object is not valid data model object!");var n=Object.getOwnPropertyNames(e),d=e.getFieldTypeMap();if(Utils_1.Utils.isNullOrUndefined(n)||Utils_1.Utils.isNullOrUndefined(d))return!1;try{for(var l=__values(n),E=l.next();!E.done;E=l.next()){var C=E.value,_=d.get(C);if(!_)return!1;var i=e[C];null!=i&&(o?this.validateQueryFieldValue(_,i):this.validateFieldValue(_,i))}}catch(e){r={error:e}}finally{try{E&&!E.done&&(t=l.return)&&t.call(l)}finally{if(r)throw r.error}}return!0},e.validateGenericObj=function(e){var o,r,t=e.getFieldMap();try{for(var n=__values(t.values()),d=n.next();!d.done;d=n.next()){var l=d.value;typeof l===Constant_1.VerifyKey.String&&Utils_1.Utils.checkIllegalCharacter(l)}}catch(e){o={error:e}}finally{try{d&&!d.done&&(r=n.return)&&r.call(n)}finally{if(o)throw o.error}}},e.validateFieldValue=function(e,o){if((0,SchemaUtils_2.getFieldType)(e)===SchemaUtils_1.FieldType.UNKNOWN)throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.INVALID_FIELD_TYPE)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.INVALID_FIELD_TYPE);exports.Validators[(0,SchemaUtils_2.getFieldType)(e)](o)},e.validateQueryFieldValue=function(e,o){(0,SchemaUtils_2.getFieldType)(e)===SchemaUtils_1.FieldType.IntAutoIncrement&&(e="Integer"),(0,SchemaUtils_2.getFieldType)(e)===SchemaUtils_1.FieldType.LongAutoIncrement&&(e="Long"),this.validateFieldValue(e,o)},e.checkPrimaryKeys=function(o){var r,t,n=o instanceof CloudDBZoneGenericObject_1.CloudDBZoneGenericObject,d=n?o.getPrimaryKeys():o.getPrimaryKeyList(),l=n?new Map:o.getFieldTypeMap();if(!(n||d&&0!==d.length))throw new TypeError("There is at least one primary key.");if(n&&0===d.size)throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.PRIMARY_KEY_REQUIRED)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.PRIMARY_KEY_REQUIRED);try{for(var E=__values(d),C=E.next();!C.done;C=E.next()){var _=C.value;if(!n&&!o[_]||n&&!o.getFieldValue(_))throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.PRIMARY_KEY_REQUIRED)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.PRIMARY_KEY_REQUIRED);n||e.validateFieldValue(l.get(_),o[_])}}catch(e){r={error:e}}finally{try{C&&!C.done&&(t=E.return)&&t.call(E)}finally{if(r)throw r.error}}},e.checkOperatorField=function(o,r,t,n,d){if(Utils_1.Utils.checkFieldName(o),t instanceof CloudDBZoneGenericObject_1.CloudDBZoneGenericObject)this.checkGenericObject(o,r,t,n);else{var l=t.getFieldTypeMap(),E=t.getEncryptedFieldList(),C=t.getPrimaryKeyList();if(!l.has(o))throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.INPUT_FIELD_NAME_DO_NOT_EXIST)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.INPUT_FIELD_NAME_DO_NOT_EXIST);if(C.includes(o)||E.includes(o))throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.PRIMARY_KEY_ENCRYPTED_FIELD_CANNOT_BE_UPDATED)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.PRIMARY_KEY_ENCRYPTED_FIELD_CANNOT_BE_UPDATED);var _=l.get(o);if(!_)throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.INVALID_FIELD_TYPE)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.INVALID_FIELD_TYPE);if(n){if(!d&&!INCREMENT_SUPPORT_FIELD_TYPE.includes(_))throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.INVALID_INCREMENT_FIELD_TYPE)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.INVALID_INCREMENT_FIELD_TYPE);if(d&&("Byte"===_||!INCREMENT_SUPPORT_FIELD_TYPE.includes(_)))throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.INVALID_INCREMENT_FIELD_TYPE)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.INVALID_INCREMENT_FIELD_TYPE)}(n||null!==r)&&e.validateFieldValue(_,r)}},e.checkGenericObject=function(e,o,r,t){if(r.getPrimaryKeys().has(e))throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.PRIMARY_KEY_ENCRYPTED_FIELD_CANNOT_BE_UPDATED)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.PRIMARY_KEY_ENCRYPTED_FIELD_CANNOT_BE_UPDATED);if(t&&typeof o!==Constant_1.VerifyKey.Number&&!Utils_1.Utils.isNumberString(o))throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.INVALID_INCREMENT_FIELD_TYPE)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.INVALID_INCREMENT_FIELD_TYPE);if(t||null!==o){if(Utils_1.Utils.isNullOrUndefined(o))throw console.warn((0,ErrorCodeMessage_1.getErrorMessage)(CloudDBErrorCode_1.CloudDBErrorCode.VALUE_IS_NULL)),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.VALUE_IS_NULL);typeof o===Constant_1.VerifyKey.String&&Utils_1.Utils.checkIllegalCharacter(o)}},e}();exports.DataModelHelper=DataModelHelper;
|
|
@@ -17,8 +17,6 @@ declare enum FieldType {
|
|
|
17
17
|
IntAutoIncrement = 13,
|
|
18
18
|
LongAutoIncrement = 14
|
|
19
19
|
}
|
|
20
|
-
declare
|
|
21
|
-
|
|
22
|
-
function valueOf(type: FieldType): number;
|
|
23
|
-
}
|
|
20
|
+
export declare function valueOf(type: FieldType): number;
|
|
21
|
+
export declare function getFieldType(type: string): FieldType;
|
|
24
22
|
export { FieldType };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var FieldType;Object.defineProperty(exports,"__esModule",{value:!0}),exports.FieldType=void 0,function(e){e[e.Boolean=1]="Boolean",e[e.Byte=2]="Byte",e[e.Short=3]="Short",e[e.Integer=4]="Integer",e[e.Long=5]="Long",e[e.Float=6]="Float",e[e.Double=7]="Double",e[e.ByteArray=8]="ByteArray",e[e.String=9]="String",e[e.Date=10]="Date",e[e.Text=11]="Text",e[e.UNKNOWN=12]="UNKNOWN",e[e.IntAutoIncrement=13]="IntAutoIncrement",e[e.LongAutoIncrement=14]="LongAutoIncrement"}(FieldType||(FieldType={})),exports.FieldType=FieldType,
|
|
1
|
+
"use strict";var FieldType;function valueOf(e){return e}function getFieldType(e){switch(e){case"Boolean":return FieldType.Boolean;case"Byte":return FieldType.Byte;case"Short":return FieldType.Short;case"Integer":return FieldType.Integer;case"Long":return FieldType.Long;case"Float":return FieldType.Float;case"Double":return FieldType.Double;case"ByteArray":return FieldType.ByteArray;case"String":return FieldType.String;case"Date":return FieldType.Date;case"Text":return FieldType.Text;case"IntAutoIncrement":return FieldType.IntAutoIncrement;case"LongAutoIncrement":return FieldType.LongAutoIncrement;default:return FieldType.UNKNOWN}}Object.defineProperty(exports,"__esModule",{value:!0}),exports.FieldType=exports.getFieldType=exports.valueOf=void 0,function(e){e[e.Boolean=1]="Boolean",e[e.Byte=2]="Byte",e[e.Short=3]="Short",e[e.Integer=4]="Integer",e[e.Long=5]="Long",e[e.Float=6]="Float",e[e.Double=7]="Double",e[e.ByteArray=8]="ByteArray",e[e.String=9]="String",e[e.Date=10]="Date",e[e.Text=11]="Text",e[e.UNKNOWN=12]="UNKNOWN",e[e.IntAutoIncrement=13]="IntAutoIncrement",e[e.LongAutoIncrement=14]="LongAutoIncrement"}(FieldType||(FieldType={})),exports.FieldType=FieldType,exports.valueOf=valueOf,exports.getFieldType=getFieldType;
|