@hw-agconnect/cloud-server 1.0.1

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.
Files changed (211) hide show
  1. package/README.md +258 -0
  2. package/auth-service/agconnect-auth.json +7 -0
  3. package/auth-service/auth.d.ts +48 -0
  4. package/auth-service/auth.js +1 -0
  5. package/auth-service/backend/auth-backend.d.ts +11 -0
  6. package/auth-service/backend/auth-backend.js +1 -0
  7. package/auth-service/entity/auth-access-token-impl.d.ts +67 -0
  8. package/auth-service/entity/auth-access-token-impl.js +1 -0
  9. package/auth-service/entity/auth-access-token.d.ts +54 -0
  10. package/auth-service/entity/auth-access-token.js +1 -0
  11. package/auth-service/entity/provider.d.ts +17 -0
  12. package/auth-service/entity/provider.js +1 -0
  13. package/auth-service/entity/token-provider-info.d.ts +18 -0
  14. package/auth-service/entity/token-provider-info.js +1 -0
  15. package/auth-service/entity/user-import-export-result.d.ts +33 -0
  16. package/auth-service/entity/user-import-export-result.js +1 -0
  17. package/auth-service/error/agc-auth-error-message.d.ts +39 -0
  18. package/auth-service/error/agc-auth-error-message.js +1 -0
  19. package/auth-service/error/agc-auth-error.d.ts +7 -0
  20. package/auth-service/error/agc-auth-error.js +1 -0
  21. package/auth-service/index.d.ts +13 -0
  22. package/auth-service/index.js +1 -0
  23. package/auth-service/jwt/agc-auth-jwt.d.ts +17 -0
  24. package/auth-service/jwt/agc-auth-jwt.js +1 -0
  25. package/auth-service/jwt/agc-auth-jwttoken.d.ts +10 -0
  26. package/auth-service/jwt/agc-auth-jwttoken.js +1 -0
  27. package/auth-service/jwt/agc-auth-public-keys-manager.d.ts +4 -0
  28. package/auth-service/jwt/agc-auth-public-keys-manager.js +1 -0
  29. package/auth-service/jwt/agc-auth-rsa-verifier.d.ts +6 -0
  30. package/auth-service/jwt/agc-auth-rsa-verifier.js +1 -0
  31. package/auth-service/jwt/rsa-key-pair.d.ts +15 -0
  32. package/auth-service/jwt/rsa-key-pair.js +1 -0
  33. package/auth-service/params/fileParams.d.ts +6 -0
  34. package/auth-service/params/fileParams.js +1 -0
  35. package/auth-service/params/index.d.ts +7 -0
  36. package/auth-service/params/index.js +1 -0
  37. package/auth-service/params/signParams.d.ts +9 -0
  38. package/auth-service/params/signParams.js +1 -0
  39. package/auth-service/params/tokenParams.d.ts +7 -0
  40. package/auth-service/params/tokenParams.js +1 -0
  41. package/auth-service/params/uidParams.d.ts +6 -0
  42. package/auth-service/params/uidParams.js +1 -0
  43. package/auth-service/request/export-user-list-req.d.ts +13 -0
  44. package/auth-service/request/export-user-list-req.js +1 -0
  45. package/auth-service/request/export-user-req.d.ts +13 -0
  46. package/auth-service/request/export-user-req.js +1 -0
  47. package/auth-service/request/import-export-user-info.d.ts +40 -0
  48. package/auth-service/request/import-export-user-info.js +1 -0
  49. package/auth-service/request/import-user-req.d.ts +14 -0
  50. package/auth-service/request/import-user-req.js +1 -0
  51. package/auth-service/request/provider-info.d.ts +20 -0
  52. package/auth-service/request/provider-info.js +1 -0
  53. package/auth-service/request/public-key-req.d.ts +9 -0
  54. package/auth-service/request/public-key-req.js +1 -0
  55. package/auth-service/request/revoke-token-req.d.ts +13 -0
  56. package/auth-service/request/revoke-token-req.js +1 -0
  57. package/auth-service/request/verify-token-req.d.ts +13 -0
  58. package/auth-service/request/verify-token-req.js +1 -0
  59. package/auth-service/response/auth-operate-rsp.d.ts +7 -0
  60. package/auth-service/response/auth-operate-rsp.js +1 -0
  61. package/auth-service/response/export-user-list-rsp.d.ts +13 -0
  62. package/auth-service/response/export-user-list-rsp.js +1 -0
  63. package/auth-service/response/export-user-rsp.d.ts +14 -0
  64. package/auth-service/response/export-user-rsp.js +1 -0
  65. package/auth-service/response/import-success-user.d.ts +11 -0
  66. package/auth-service/response/import-success-user.js +1 -0
  67. package/auth-service/response/import-user-rsp.d.ts +11 -0
  68. package/auth-service/response/import-user-rsp.js +1 -0
  69. package/auth-service/response/publickey-rsp.d.ts +9 -0
  70. package/auth-service/response/publickey-rsp.js +1 -0
  71. package/auth-service/response/token-info.d.ts +11 -0
  72. package/auth-service/response/token-info.js +1 -0
  73. package/auth-service/response/verify-token-rsp.d.ts +14 -0
  74. package/auth-service/response/verify-token-rsp.js +1 -0
  75. package/auth-service/service/agc-auth.d.ts +4 -0
  76. package/auth-service/service/agc-auth.js +1 -0
  77. package/auth-service/service/impl/agc-auth-service-impl.d.ts +46 -0
  78. package/auth-service/service/impl/agc-auth-service-impl.js +1 -0
  79. package/auth-service/service/impl/agc-auth-service.d.ts +54 -0
  80. package/auth-service/service/impl/agc-auth-service.js +1 -0
  81. package/auth-service/utils/auth-service-api-util.d.ts +11 -0
  82. package/auth-service/utils/auth-service-api-util.js +1 -0
  83. package/auth-service/utils/key-header-util.d.ts +19 -0
  84. package/auth-service/utils/key-header-util.js +1 -0
  85. package/cloud.d.ts +24 -0
  86. package/cloud.js +1 -0
  87. package/common-server/agc-client/agc-client.d.ts +41 -0
  88. package/common-server/agc-client/agc-client.js +1 -0
  89. package/common-server/agconnect-common.json +29 -0
  90. package/common-server/config/cloud-gw-url-util.d.ts +7 -0
  91. package/common-server/config/cloud-gw-url-util.js +1 -0
  92. package/common-server/config/configService.d.ts +12 -0
  93. package/common-server/config/configService.js +1 -0
  94. package/common-server/credential-service/access-token.d.ts +11 -0
  95. package/common-server/credential-service/access-token.js +1 -0
  96. package/common-server/credential-service/clientid-credential.d.ts +27 -0
  97. package/common-server/credential-service/clientid-credential.js +1 -0
  98. package/common-server/credential-service/credential-parser.d.ts +23 -0
  99. package/common-server/credential-service/credential-parser.js +1 -0
  100. package/common-server/credential-service/credential-service.d.ts +41 -0
  101. package/common-server/credential-service/credential-service.js +1 -0
  102. package/common-server/credential-service/credential-type.d.ts +7 -0
  103. package/common-server/credential-service/credential-type.js +1 -0
  104. package/common-server/error/error-message.d.ts +30 -0
  105. package/common-server/error/error-message.js +1 -0
  106. package/common-server/error/error.d.ts +36 -0
  107. package/common-server/error/error.js +1 -0
  108. package/common-server/http-client/base-response.d.ts +11 -0
  109. package/common-server/http-client/base-response.js +1 -0
  110. package/common-server/http-client/common-headers.d.ts +37 -0
  111. package/common-server/http-client/common-headers.js +1 -0
  112. package/common-server/http-client/connect-ret.d.ts +12 -0
  113. package/common-server/http-client/connect-ret.js +1 -0
  114. package/common-server/http-client/http-client.d.ts +5 -0
  115. package/common-server/http-client/http-client.js +1 -0
  116. package/common-server/http-client/http-clinet-api.d.ts +66 -0
  117. package/common-server/http-client/http-clinet-api.js +1 -0
  118. package/common-server/http-client/request-constructor.d.ts +8 -0
  119. package/common-server/http-client/request-constructor.js +1 -0
  120. package/common-server/index.d.ts +19 -0
  121. package/common-server/index.js +1 -0
  122. package/common-server/service/agc-service.d.ts +14 -0
  123. package/common-server/service/agc-service.js +1 -0
  124. package/common-server/service/service-factory.d.ts +9 -0
  125. package/common-server/service/service-factory.js +1 -0
  126. package/common-server/utils/utils.d.ts +4 -0
  127. package/common-server/utils/utils.js +1 -0
  128. package/database-service/CloudDB.d.ts +13 -0
  129. package/database-service/CloudDB.js +1 -0
  130. package/database-service/CloudDBCollection.d.ts +108 -0
  131. package/database-service/CloudDBCollection.js +1 -0
  132. package/database-service/agconnect-database.json +4 -0
  133. package/database-service/communicator/https/HttpsCommunicator.d.ts +69 -0
  134. package/database-service/communicator/https/HttpsCommunicator.js +1 -0
  135. package/database-service/communicator/https/RequestHeader.d.ts +13 -0
  136. package/database-service/communicator/https/RequestHeader.js +1 -0
  137. package/database-service/exception/AGConnectCloudDBException.d.ts +10 -0
  138. package/database-service/exception/AGConnectCloudDBException.js +1 -0
  139. package/database-service/exception/CloudDBErrorCode.d.ts +672 -0
  140. package/database-service/exception/CloudDBErrorCode.js +1 -0
  141. package/database-service/exception/ErrorCodeMessage.d.ts +1 -0
  142. package/database-service/exception/ErrorCodeMessage.js +1 -0
  143. package/database-service/index.d.ts +14 -0
  144. package/database-service/index.js +1 -0
  145. package/database-service/model/DatabaseConfig.d.ts +7 -0
  146. package/database-service/model/DatabaseConfig.js +1 -0
  147. package/database-service/model/index.d.ts +4 -0
  148. package/database-service/model/index.js +1 -0
  149. package/database-service/query/CloudDBZoneConfig.d.ts +23 -0
  150. package/database-service/query/CloudDBZoneConfig.js +1 -0
  151. package/database-service/query/CloudDBZoneObjectOperator.d.ts +39 -0
  152. package/database-service/query/CloudDBZoneObjectOperator.js +1 -0
  153. package/database-service/query/CloudDBZoneObjectOperatorConstraint.d.ts +127 -0
  154. package/database-service/query/CloudDBZoneObjectOperatorConstraint.js +1 -0
  155. package/database-service/query/CloudDBZoneQuery.d.ts +188 -0
  156. package/database-service/query/CloudDBZoneQuery.js +1 -0
  157. package/database-service/query/CloudDBZoneSnapshot.d.ts +16 -0
  158. package/database-service/query/CloudDBZoneSnapshot.js +1 -0
  159. package/database-service/request/CloudDBZoneGenericObject.d.ts +58 -0
  160. package/database-service/request/CloudDBZoneGenericObject.js +1 -0
  161. package/database-service/services/AGConnectCloudDB.d.ts +63 -0
  162. package/database-service/services/AGConnectCloudDB.js +1 -0
  163. package/database-service/services/CloudDBService.d.ts +75 -0
  164. package/database-service/services/CloudDBService.js +1 -0
  165. package/database-service/services/CloudDBZone.d.ts +254 -0
  166. package/database-service/services/CloudDBZone.js +1 -0
  167. package/database-service/services/Transaction.d.ts +73 -0
  168. package/database-service/services/Transaction.js +1 -0
  169. package/database-service/utils/AggregareType.d.ts +10 -0
  170. package/database-service/utils/AggregareType.js +1 -0
  171. package/database-service/utils/CloudDBSdkUtils.d.ts +30 -0
  172. package/database-service/utils/CloudDBSdkUtils.js +1 -0
  173. package/database-service/utils/ConditionType.d.ts +26 -0
  174. package/database-service/utils/ConditionType.js +1 -0
  175. package/database-service/utils/ConditionValidate.d.ts +40 -0
  176. package/database-service/utils/ConditionValidate.js +1 -0
  177. package/database-service/utils/Constant.d.ts +9 -0
  178. package/database-service/utils/Constant.js +1 -0
  179. package/database-service/utils/DataModelHelper.d.ts +28 -0
  180. package/database-service/utils/DataModelHelper.js +1 -0
  181. package/database-service/utils/FieldType.d.ts +18 -0
  182. package/database-service/utils/FieldType.js +1 -0
  183. package/database-service/utils/SchemaUtils.d.ts +24 -0
  184. package/database-service/utils/SchemaUtils.js +1 -0
  185. package/database-service/utils/Utils.d.ts +134 -0
  186. package/database-service/utils/Utils.js +1 -0
  187. package/function-service/cloudFunction.d.ts +10 -0
  188. package/function-service/cloudFunction.js +1 -0
  189. package/function-service/exception/AGCFunctionException.d.ts +7 -0
  190. package/function-service/exception/AGCFunctionException.js +1 -0
  191. package/function-service/exception/FunctionErrorCode.d.ts +26 -0
  192. package/function-service/exception/FunctionErrorCode.js +1 -0
  193. package/function-service/index.d.ts +8 -0
  194. package/function-service/index.js +1 -0
  195. package/function-service/params/functionParams.d.ts +9 -0
  196. package/function-service/params/functionParams.js +1 -0
  197. package/function-service/params/index.d.ts +4 -0
  198. package/function-service/params/index.js +1 -0
  199. package/function-service/server/AGCFunction.d.ts +20 -0
  200. package/function-service/server/AGCFunction.js +1 -0
  201. package/function-service/server/FunctionCallable.d.ts +40 -0
  202. package/function-service/server/FunctionCallable.js +1 -0
  203. package/function-service/server/FunctionResult.d.ts +8 -0
  204. package/function-service/server/FunctionResult.js +1 -0
  205. package/function-service/server/request/RequestHeaders.d.ts +10 -0
  206. package/function-service/server/request/RequestHeaders.js +1 -0
  207. package/function-service/util/HashUtil.d.ts +10 -0
  208. package/function-service/util/HashUtil.js +1 -0
  209. package/index.d.ts +7 -0
  210. package/index.js +1 -0
  211. package/package.json +58 -0
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Copyright (c) Huawei Technologies Co., Ltd. 2023 All rights reserved.
3
+ */
4
+ export declare const enum ConditionType {
5
+ BEGINS_WITH = "BeginsWith",
6
+ ENDS_WITH = "EndsWith",
7
+ CONTAINS = "Contains",
8
+ EQUAL_TO = "EqualTo",
9
+ NOT_EQUAL_TO = "NotEqualTo",
10
+ GREATER_THAN = "GreaterThan",
11
+ GREATER_THAN_OR_EQUAL_TO = "GreaterThanOrEqualTo",
12
+ LESS_THAN = "LessThan",
13
+ LESS_THAN_OR_EQUAL_TO = "LessThanOrEqualTo",
14
+ IN = "In",
15
+ IS_NULL = "IsNull",
16
+ IS_NOT_NULL = "IsNotNull",
17
+ ORDER_BY = "OrderBy",
18
+ LIMIT = "Limit",
19
+ ASCEND = "asc",
20
+ DESCEND = "desc",
21
+ START_AT = "StartAt",
22
+ START_AFTER = "StartAfter",
23
+ END_AT = "EndAt",
24
+ END_BEFORE = "EndBefore",
25
+ UID = "Uid"
26
+ }
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Copyright (c) Huawei Technologies Co., Ltd. 2023 All rights reserved.
3
+ */
4
+ export declare class ConditionValidate<T> {
5
+ private static readonly MAX_CONDITIONS;
6
+ private readonly NEED_TO_CHECK_FIELD_NAME;
7
+ private readonly EMPTY_FN;
8
+ private readonly UID_MAX_SIZE;
9
+ private readonly conditionValidators;
10
+ private readonly clazz;
11
+ private readonly fieldTypeMap;
12
+ private readonly encryptedFieldList;
13
+ private readonly isGenericObj;
14
+ private readonly clazzInstance;
15
+ private paginationObject;
16
+ constructor(clazz: new () => T, clazzInstance: any);
17
+ /**
18
+ * check condition
19
+ *
20
+ * @param condition query condition.
21
+ */
22
+ checkCondition(condition: any): void;
23
+ /**
24
+ * check the length of conditions.
25
+ *
26
+ * @param conditions conditions
27
+ */
28
+ static checkConditionLen(conditions: any[]): void;
29
+ private validateEqualOrNotEqual;
30
+ private validateBeginEndContains;
31
+ private validateGreaterOrLessThan;
32
+ private validateIn;
33
+ private validateLimit;
34
+ private validateTuple;
35
+ private validateUid;
36
+ private checkStringAndText;
37
+ private checkByteArrayAndBoolean;
38
+ private checkFieldName;
39
+ private checkFieldValue;
40
+ }
@@ -0,0 +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;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Copyright (c) Huawei Technologies Co., Ltd. 2023 All rights reserved.
3
+ */
4
+ export declare enum VerifyKey {
5
+ Function = "function",
6
+ String = "string",
7
+ Number = "number",
8
+ Boolean = "boolean"
9
+ }
@@ -0,0 +1 @@
1
+ "use strict";var VerifyKey;Object.defineProperty(exports,"__esModule",{value:!0}),exports.VerifyKey=void 0,function(e){e.Function="function",e.String="string",e.Number="number",e.Boolean="boolean"}(VerifyKey=exports.VerifyKey||(exports.VerifyKey={}));
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Copyright (c) Huawei Technologies Co., Ltd. 2023 All rights reserved.
3
+ */
4
+ import { CloudDBZoneGenericObject } from '../request/CloudDBZoneGenericObject';
5
+ type CalculatorFn = (value: any) => number;
6
+ type ValidatorFn = (value: any) => void;
7
+ export declare const Calculators: {
8
+ [key: number]: CalculatorFn;
9
+ };
10
+ export declare const Validators: {
11
+ [key: number]: ValidatorFn;
12
+ };
13
+ /**
14
+ * Processing data verification
15
+ *
16
+ * @since 2020-11-30
17
+ */
18
+ export declare class DataModelHelper {
19
+ static calculateObject(object: any): number;
20
+ static validate(object: any, isQuery?: boolean): boolean;
21
+ static validateGenericObj(object: CloudDBZoneGenericObject): void;
22
+ static validateFieldValue(fieldType: any, value: unknown): void;
23
+ static validateQueryFieldValue(fieldType: any, value: unknown): void;
24
+ static checkPrimaryKeys(object: any): void;
25
+ static checkOperatorField(fieldName: string, value: any, object: any, isIncrement?: boolean, isBatch?: boolean): void;
26
+ private static checkGenericObject;
27
+ }
28
+ export {};
@@ -0,0 +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;
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Copyright (c) Huawei Technologies Co., Ltd. 2023 All rights reserved.
3
+ */
4
+ export declare enum FieldType {
5
+ Boolean = "Boolean",
6
+ Byte = "Byte",
7
+ Short = "Short",
8
+ Integer = "Integer",
9
+ Long = "Long",
10
+ Float = "Float",
11
+ Double = "Double",
12
+ ByteArray = "ByteArray",
13
+ String = "String",
14
+ Date = "Date",
15
+ Text = "Text",
16
+ IntAutoIncrement = "IntAutoIncrement",
17
+ LongAutoIncrement = "LongAutoIncrement"
18
+ }
@@ -0,0 +1 @@
1
+ "use strict";var FieldType;Object.defineProperty(exports,"__esModule",{value:!0}),exports.FieldType=void 0,function(e){e.Boolean="Boolean",e.Byte="Byte",e.Short="Short",e.Integer="Integer",e.Long="Long",e.Float="Float",e.Double="Double",e.ByteArray="ByteArray",e.String="String",e.Date="Date",e.Text="Text",e.IntAutoIncrement="IntAutoIncrement",e.LongAutoIncrement="LongAutoIncrement"}(FieldType=exports.FieldType||(exports.FieldType={}));
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Copyright (c) Huawei Technologies Co., Ltd. 2023 All rights reserved.
3
+ */
4
+ declare enum FieldType {
5
+ Boolean = 1,
6
+ Byte = 2,
7
+ Short = 3,
8
+ Integer = 4,
9
+ Long = 5,
10
+ Float = 6,
11
+ Double = 7,
12
+ ByteArray = 8,
13
+ String = 9,
14
+ Date = 10,
15
+ Text = 11,
16
+ UNKNOWN = 12,
17
+ IntAutoIncrement = 13,
18
+ LongAutoIncrement = 14
19
+ }
20
+ declare namespace FieldType {
21
+ function getFieldType(type: string): FieldType;
22
+ function valueOf(type: FieldType): number;
23
+ }
24
+ export { FieldType };
@@ -0,0 +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,function(e){e.getFieldType=function(t){switch(t){case"Boolean":return e.Boolean;case"Byte":return e.Byte;case"Short":return e.Short;case"Integer":return e.Integer;case"Long":return e.Long;case"Float":return e.Float;case"Double":return e.Double;case"ByteArray":return e.ByteArray;case"String":return e.String;case"Date":return e.Date;case"Text":return e.Text;case"IntAutoIncrement":return e.IntAutoIncrement;case"LongAutoIncrement":return e.LongAutoIncrement;default:return e.UNKNOWN}},e.valueOf=function(e){return e}}(FieldType||(FieldType={})),exports.FieldType=FieldType;
@@ -0,0 +1,134 @@
1
+ /**
2
+ * Copyright (c) Huawei Technologies Co., Ltd. 2023 All rights reserved.
3
+ */
4
+ /**
5
+ * the utils class.
6
+ */
7
+ export declare class Utils {
8
+ private static readonly TRACE_ID_EXP;
9
+ private static readonly DATE_REG_EXP;
10
+ private static readonly NUMBER_REG_EXP;
11
+ private static readonly MAX_OBJECT_CAPACITY;
12
+ private static readonly RANDOM_DIVISOR;
13
+ private static readonly RANDOM_VALUE;
14
+ private static readonly RANDOM_RANGE;
15
+ private static readonly HEX;
16
+ private static readonly TRACE_ID_LENGTH;
17
+ private static readonly RANDOM_KEY_LENGTH;
18
+ private static readonly KEY_DELETE_TIME;
19
+ private static readonly OBJECT_TYPE_EXP;
20
+ private static readonly SYSTEM_OBJECT_TYPES;
21
+ private static readonly FIELD_NAME_EXP;
22
+ private static readonly SYSTEM_FIELDS;
23
+ /**
24
+ * This method is used to check whether the input value is Array.
25
+ *
26
+ * @param value the value that need to check.
27
+ * @returns whether the input is a array.
28
+ */
29
+ static isArray(value: any): boolean;
30
+ /**
31
+ * This method is used to check whether the input value is null or undefined.
32
+ *
33
+ * @param value the value that need to check.
34
+ * @returns whether the input is a null or undefined.
35
+ */
36
+ static isNullOrUndefined(value: any): boolean;
37
+ /**
38
+ * This method is used to check whether the input value is type of object.
39
+ *
40
+ * @param value the value that need to check.
41
+ * @returns whether the input is type of object.
42
+ */
43
+ static isNotNullObject(value: unknown): boolean;
44
+ /**
45
+ * This method is used to serialize objects.
46
+ *
47
+ * @param objects a list of objects.
48
+ * @returns a list of serialized objects.
49
+ */
50
+ static serializeObjects(objects: any[]): any[];
51
+ private static serializeDate;
52
+ /**
53
+ * This method is used to deserialize objects.
54
+ *
55
+ * @param objects a list of objects.
56
+ * @param fieldTypeMap a map of field name and filed type.
57
+ * @param targetClass the class that json string deserializes to.
58
+ * @param objectTypeName the object type name.
59
+ * @returns a list of deserialized objects.
60
+ */
61
+ static deserializeObjects(objects: any[], fieldTypeMap: Map<string, string>, targetClass: any, objectTypeName: string): any[];
62
+ private static arrayBufferToBase64;
63
+ private static base64ToArrayBuffer;
64
+ private static isFieldTypeNumber;
65
+ private static deserializeNumber;
66
+ private static deserializeDate;
67
+ static addCondition(conditionType: string, fieldName: string | null, fieldType: string | null, value?: any): any;
68
+ static serializeGenericObjQuery(queryConditions: any[], begin?: Date, end?: Date): any[];
69
+ private static getInCondition;
70
+ /**
71
+ * This method is used to serialize queryConditions.
72
+ *
73
+ * @param queryConditions the input query conditions.
74
+ * @param fieldTypeMap a map of field name and filed type.
75
+ * @returns the serialized queryConditions.
76
+ */
77
+ static serializeQueryConditions(queryConditions: any[], fieldTypeMap: Map<string, string>, begin?: Date, end?: Date): any[];
78
+ /**
79
+ * This method is used to check whether the input fieldType is numeric type.
80
+ *
81
+ * @param fieldType the fieldType that needs to check.
82
+ * @returns boolean value of the check result.
83
+ */
84
+ static isNumericField(fieldType: string): boolean;
85
+ /**
86
+ * This method is used to check whether the input class is valid.
87
+ *
88
+ * @param clazz the class that needs to check.
89
+ * @throws throw an AGConnectCloudDBException if the class is invalid.
90
+ */
91
+ static clazzCheck(clazz: any): void;
92
+ /**
93
+ * This method is used to check whether the input object is valid.
94
+ *
95
+ * @param object the object that needs to check.
96
+ * @returns boolean value of the check result.
97
+ */
98
+ static isObjectValid(object: any): boolean;
99
+ private static serializeObject;
100
+ /**
101
+ * This method is used to check whether the input conditionType is aggregate type.
102
+ *
103
+ * @param conditionType the conditionType that needs to check.
104
+ * @returns boolean value of the check result.
105
+ */
106
+ static isAggregateType(conditionType: string): boolean;
107
+ /**
108
+ * This method is used to check whether the input conditionType is pagination type.
109
+ *
110
+ * @param conditionType the conditionType that needs to check.
111
+ * @returns boolean value of the check result.
112
+ */
113
+ static isPaginationType(conditionType: string): boolean;
114
+ /**
115
+ * This method is used to check whether the object list contains different schema
116
+ * and whether the data size is too large.
117
+ *
118
+ * @param objectList the input objectList.
119
+ */
120
+ static checkSchemaAndDataSize(objectList: any[]): void;
121
+ static getRequestId(): string;
122
+ private static generateTraceId;
123
+ private static randomKey;
124
+ private static getSecRandom;
125
+ static checkTraceId(traceId: string): boolean;
126
+ static primaryKeyCompareTo(object1: any, object2: any, filedType: string): any;
127
+ static isNumberString(numberStr: string): boolean;
128
+ static longCompareTo(object1: string, object2: string): number;
129
+ static serializeMapObject(object: any, map: Map<string, any>): any;
130
+ static deepCopy(objectList: any[]): any[];
131
+ static checkObjectTypeName(objectTypeName: string): void;
132
+ static checkFieldName(fieldName: string): void;
133
+ static checkIllegalCharacter(value: string): void;
134
+ }
@@ -0,0 +1 @@
1
+ "use strict";var __values=this&&this.__values||function(e){var r="function"==typeof Symbol&&Symbol.iterator,o=r&&e[r],n=0;if(o)return o.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(r?"Object is not iterable.":"Symbol.iterator is not defined.")},__read=this&&this.__read||function(e,r){var o="function"==typeof Symbol&&e[Symbol.iterator];if(!o)return e;var n,t,i=o.call(e),l=[];try{for(;(void 0===r||r-- >0)&&!(n=i.next()).done;)l.push(n.value)}catch(e){t={error:e}}finally{try{n&&!n.done&&(o=i.return)&&o.call(i)}finally{if(t)throw t.error}}return l};Object.defineProperty(exports,"__esModule",{value:!0}),exports.Utils=void 0;var FieldType_1=require("./FieldType"),Constant_1=require("./Constant"),AGConnectCloudDBException_1=require("../exception/AGConnectCloudDBException"),CloudDBErrorCode_1=require("../exception/CloudDBErrorCode"),DataModelHelper_1=require("./DataModelHelper"),CloudDBZoneGenericObject_1=require("../request/CloudDBZoneGenericObject"),ErrorCodeMessage_1=require("../exception/ErrorCodeMessage"),Utils=function(){function e(){}return e.isArray=function(e){return typeof Array.isArray===Constant_1.VerifyKey.Function?Array.isArray(e):"[object Array]"===Object.prototype.toString.call(e)},e.isNullOrUndefined=function(e){return null==e},e.isNotNullObject=function(e){return null!==e&&"object"==typeof e},e.serializeObjects=function(e){var r=this,o=[];return e.forEach((function(e){var n=r.serializeObject(e);o.push(n)})),o},e.serializeDate=function(e){return e instanceof Date?e.getTime():e},e.deserializeObjects=function(r,o,n,t){var i,l,a,d,c,u,C=[];try{for(var s=__values(r),_=s.next();!_.done;_=s.next()){var E=_.value,p=new n(t);if(n!==CloudDBZoneGenericObject_1.CloudDBZoneGenericObject){try{for(var D=(c=void 0,__values(o.keys())),f=D.next();!f.done;f=D.next()){var y=f.value;if(void 0===E[y]||p.getEncryptedFieldList().includes(y))p[y]=void 0;else if(null!==E[y]){var T=o.get(y);T!==FieldType_1.FieldType.Date?e.isFieldTypeNumber(T)?p[y]=e.deserializeNumber(E[y]):T!==FieldType_1.FieldType.ByteArray?p[y]=E[y]:p[y]=e.base64ToArrayBuffer(E[y]):p[y]=e.deserializeDate(E[y])}else p[y]=null}}catch(e){c={error:e}}finally{try{f&&!f.done&&(u=D.return)&&u.call(D)}finally{if(c)throw c.error}}C.push(p)}else{try{for(var A=(a=void 0,__values(Object.keys(E))),B=A.next();!B.done;B=A.next()){var h=B.value;p.fieldMap.set(h,E[h])}}catch(e){a={error:e}}finally{try{B&&!B.done&&(d=A.return)&&d.call(A)}finally{if(a)throw a.error}}C.push(p)}}}catch(e){i={error:e}}finally{try{_&&!_.done&&(l=s.return)&&l.call(s)}finally{if(i)throw i.error}}return C},e.arrayBufferToBase64=function(e){return Buffer.from(e).toString("base64")},e.base64ToArrayBuffer=function(e){var r=Buffer.from(e,"base64");return new Uint8Array(r).slice()},e.isFieldTypeNumber=function(e){if(!e)throw new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.PARAMETER_INVALID);switch(e){case FieldType_1.FieldType.Byte:case FieldType_1.FieldType.Short:case FieldType_1.FieldType.Integer:case FieldType_1.FieldType.IntAutoIncrement:case FieldType_1.FieldType.Float:case FieldType_1.FieldType.Double:return!0;default:return!1}},e.deserializeNumber=function(e){return"string"==typeof e?Number(e).valueOf():e},e.deserializeDate=function(e){if(!this.DATE_REG_EXP.test(e))throw console.warn("The date string from cloud is invalid: ",e),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.DATE_STRING_INVALID);var r=e.replace(" ","T").replace(" ",".")+"Z";return new Date(r)},e.addCondition=function(e,r,o,n){var t={};return t.fieldName=r,t.fieldType=o,t.conditionType=e,t.value=n,t},e.serializeGenericObjQuery=function(r,o,n){var t,i,l=[];try{for(var a=__values(r),d=a.next();!d.done;d=a.next()){var c=d.value,u={};if(Object.assign(u,c),e.isPaginationType(c.conditionType)){if(!e.isObjectValid(c.value))throw console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.OBJECT_IS_INVALID).message),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.OBJECT_IS_INVALID);u.value=this.serializeObject(c.value),l.push(u)}else"In"===c.conditionType?this.getInCondition(u,c.value):u.value=e.serializeDate(c.value),l.push(u)}}catch(e){t={error:e}}finally{try{d&&!d.done&&(i=a.return)&&i.call(a)}finally{if(t)throw t.error}}if(o&&n){var C=this.addCondition("GreaterThanOrEqualTo",this.KEY_DELETE_TIME,FieldType_1.FieldType.Long,e.serializeDate(o));l.push(C);var s=this.addCondition("LessThanOrEqualTo",this.KEY_DELETE_TIME,FieldType_1.FieldType.Long,e.serializeDate(n));l.push(s)}return l},e.getInCondition=function(r,o){if(0!==o.length)for(var n=0;n<o.length;n++)r.value[n]=e.serializeDate(o[n])},e.serializeQueryConditions=function(r,o,n,t){var i=this,l=[];if(r.forEach((function(r){var n={};if(Object.assign(n,r),e.isPaginationType(r.conditionType)){if(!e.isObjectValid(r.value))throw console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.OBJECT_IS_INVALID).message),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.OBJECT_IS_INVALID);return n.value=i.serializeObject(r.value),void l.push(n)}if(o.get(r.fieldName)===FieldType_1.FieldType.Date&&"In"===r.conditionType)for(var t=0;t<r.value.length;t++)n.value[t]=e.serializeDate(r.value[t]);else n.value=e.serializeDate(r.value);l.push(n)})),n&&t){var a=this.addCondition("GreaterThanOrEqualTo",this.KEY_DELETE_TIME,FieldType_1.FieldType.Long,e.serializeDate(n));l.push(a);var d=this.addCondition("LessThanOrEqualTo",this.KEY_DELETE_TIME,FieldType_1.FieldType.Long,e.serializeDate(t));l.push(d)}return l},e.isNumericField=function(e){return e===FieldType_1.FieldType.Double||e===FieldType_1.FieldType.Byte||e===FieldType_1.FieldType.Float||e===FieldType_1.FieldType.Integer||e===FieldType_1.FieldType.Long||e===FieldType_1.FieldType.Short||e===FieldType_1.FieldType.IntAutoIncrement||e===FieldType_1.FieldType.LongAutoIncrement},e.clazzCheck=function(e){try{var r=new e;if(!this.isObjectValid(r))throw console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.CLASS_INVALID).message),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.CLASS_INVALID)}catch(e){throw console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.CLASS_INVALID).message),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.CLASS_INVALID)}},e.isObjectValid=function(e){return typeof e.getFieldTypeMap==Constant_1.VerifyKey.Function&&typeof e.getClassName==Constant_1.VerifyKey.Function&&typeof e.getPrimaryKeyList==Constant_1.VerifyKey.Function&&typeof e.getIndexList==Constant_1.VerifyKey.Function&&typeof e.getEncryptedFieldList==Constant_1.VerifyKey.Function||e instanceof CloudDBZoneGenericObject_1.CloudDBZoneGenericObject},e.serializeObject=function(r){var o,n,t,i;if(r instanceof CloudDBZoneGenericObject_1.CloudDBZoneGenericObject){var l=r.getObject();try{for(var a=__values(Object.keys(l)),d=a.next();!d.done;d=a.next()){var c=d.value;l[c]instanceof Uint8Array||l[c]instanceof Array?l[c]=e.arrayBufferToBase64(l[c]):l[c]=e.serializeDate(l[c])}}catch(e){o={error:e}}finally{try{d&&!d.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return l}var u={},C=r.getFieldTypeMap(),s=r.getEncryptedFieldList();try{for(var _=__values(Object.keys(r)),E=_.next();!E.done;E=_.next()){var p=E.value;if(void 0!==r[p]&&!s.includes(p))if(null!==r[p]){var D=C.get(p);if(e.isNumericField(D)&&!isFinite(r[p]))throw console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.NUMBER_IS_INVALID).message),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.NUMBER_IS_INVALID);C.get(p)!==FieldType_1.FieldType.Date?D!==FieldType_1.FieldType.ByteArray?u[p]=r[p]:u[p]=e.arrayBufferToBase64(r[p]):u[p]=e.serializeDate(r[p])}else u[p]=null}}catch(e){t={error:e}}finally{try{E&&!E.done&&(i=_.return)&&i.call(_)}finally{if(t)throw t.error}}return u},e.isAggregateType=function(e){return["Average","Count","Max","Min","Sum"].includes(e)},e.isPaginationType=function(e){return["StartAt","StartAfter","EndAt","EndBefore"].includes(e)},e.checkSchemaAndDataSize=function(r){var o;r.forEach((function(r){var n,t,i,l;if(!e.isObjectValid(r))throw console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.OBJECT_IS_INVALID).message),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.OBJECT_IS_INVALID);if(r instanceof CloudDBZoneGenericObject_1.CloudDBZoneGenericObject){if(null==o&&(o=r),DataModelHelper_1.DataModelHelper.validateGenericObj(r),(null===(i=o.constructor)||void 0===i?void 0:i.name)!==(null===(l=r.constructor)||void 0===l?void 0:l.name)||o.getObjectTypeName()!==r.getObjectTypeName())throw console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.ONLY_SUPPORT_ONE_SCHEMA).message),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.ONLY_SUPPORT_ONE_SCHEMA)}else{if(DataModelHelper_1.DataModelHelper.validate(r),null==o&&(o=r),(null===(n=o.constructor)||void 0===n?void 0:n.name)!==(null===(t=r.constructor)||void 0===t?void 0:t.name)||o.getClassName()!==r.getClassName())throw console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.ONLY_SUPPORT_ONE_SCHEMA).message),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.ONLY_SUPPORT_ONE_SCHEMA);if(DataModelHelper_1.DataModelHelper.calculateObject(r)>e.MAX_OBJECT_CAPACITY)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)}}))},e.getRequestId=function(){return this.generateTraceId()},e.generateTraceId=function(){for(var e="",r=0;r<this.TRACE_ID_LENGTH/this.RANDOM_KEY_LENGTH;r++)e+=this.randomKey();return e},e.randomKey=function(){return((1+this.getSecRandom())*this.RANDOM_VALUE|0).toString(this.HEX).substring(1)},e.getSecRandom=function(){return Math.floor(Math.random()*this.RANDOM_RANGE)/(this.RANDOM_DIVISOR+1)},e.checkTraceId=function(e){return this.TRACE_ID_EXP.test(e)},e.primaryKeyCompareTo=function(e,r,o){switch(o){case FieldType_1.FieldType.Byte:case FieldType_1.FieldType.Short:case FieldType_1.FieldType.Integer:case FieldType_1.FieldType.IntAutoIncrement:return e-r;case FieldType_1.FieldType.String:return e.localeCompare(r);case FieldType_1.FieldType.Long:case FieldType_1.FieldType.LongAutoIncrement:return this.longCompareTo(e,r)}},e.isNumberString=function(r){return typeof r===Constant_1.VerifyKey.String&&e.NUMBER_REG_EXP.test(r)},e.longCompareTo=function(r,o){if(!e.NUMBER_REG_EXP.test(r)||!e.NUMBER_REG_EXP.test(o))throw console.warn(new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.FIELD_TYPE_MISMATCH_VALUE_TYPE).message),new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.FIELD_TYPE_MISMATCH_VALUE_TYPE);if("-"===r.charAt(0)&&"-"!==o.charAt(0))return-1;if("-"!==r.charAt(0)&&"-"===o.charAt(0))return 1;var n="-"===r.charAt(0)?-1:1;if(r.length>o.length)return n;if(r.length<o.length)return-n;for(var t=0;t<r.length;t++){var i=r.charAt(t).localeCompare(o.charAt(t));if(0!==i)return n*i}return 0},e.serializeMapObject=function(r,o){var n,t,i,l,a;if(r instanceof CloudDBZoneGenericObject_1.CloudDBZoneGenericObject){a=CloudDBZoneGenericObject_1.CloudDBZoneGenericObject.build(r.getObjectTypeName());try{for(var d=__values(o),c=d.next();!c.done;c=d.next()){var u=__read(c.value,2);E=u[0],p=u[1];a.addFieldValue(E,p)}}catch(e){i={error:e}}finally{try{c&&!c.done&&(l=d.return)&&l.call(d)}finally{if(i)throw i.error}}}else{a=Object.create(r);try{for(var C=__values(o),s=C.next();!s.done;s=C.next()){var _=__read(s.value,2),E=_[0],p=_[1];a[E]=p}}catch(e){n={error:e}}finally{try{s&&!s.done&&(t=C.return)&&t.call(C)}finally{if(n)throw n.error}}}return e.checkSchemaAndDataSize([a]),e.serializeObject(a)},e.deepCopy=function(e){var r,o,n=[];try{for(var t=__values(e),i=t.next();!i.done;i=t.next()){var l=i.value;if("object"==typeof l)if(l.constructor!==Date)if(l.constructor!==RegExp)if(l.clone)n.push(l.clone());else{var a=new l.constructor;for(var d in l)if(Object.hasOwnProperty.call(l,d)){var c=l[d];a[d]=c}n.push(a)}else n.push(new RegExp(l));else n.push(new Date(l));else n.push(l)}}catch(e){r={error:e}}finally{try{i&&!i.done&&(o=t.return)&&o.call(t)}finally{if(r)throw r.error}}return n},e.checkObjectTypeName=function(r){if(!r||!e.OBJECT_TYPE_EXP.test(r)||e.SYSTEM_OBJECT_TYPES.includes(r.toLowerCase())){var o=new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.INVALID_OBJECT_TYPE_NAME);throw console.warn(o.message),o}},e.checkFieldName=function(r){if(!r||!e.FIELD_NAME_EXP.test(r)||e.SYSTEM_FIELDS.includes(r.toLowerCase())){var o=new AGConnectCloudDBException_1.AGConnectCloudDBException(CloudDBErrorCode_1.CloudDBErrorCode.INVALID_FIELD_NAME);throw console.warn(o.message),o}},e.checkIllegalCharacter=function(e){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)},e.TRACE_ID_EXP=/^[0-9a-f]{1,32}$/,e.DATE_REG_EXP=/^[1-9]\d{3}-\d{2}-\d{2}\s\d{2}:\d{2}:\d{2}\s\d{3}/,e.NUMBER_REG_EXP=/^(-)?(0|[1-9][0-9]*)$/,e.MAX_OBJECT_CAPACITY=2097152,e.RANDOM_DIVISOR=4294967295,e.RANDOM_VALUE=65536,e.RANDOM_RANGE=1e9,e.HEX=16,e.TRACE_ID_LENGTH=32,e.RANDOM_KEY_LENGTH=4,e.KEY_DELETE_TIME="delete#time",e.OBJECT_TYPE_EXP=/^(?!sqlite_)[a-zA-Z][A-Za-z0-9_]{0,28}[A-Za-z0-9]$|^[a-zA-Z]$/,e.SYSTEM_OBJECT_TYPES=["naturalbase_metadata","objecttypeinfohelper","t_data_upgrade_info"],e.FIELD_NAME_EXP=/^[a-zA-Z][A-Za-z0-9_]{0,28}[A-Za-z0-9]$|^[a-zA-Z]$/,e.SYSTEM_FIELDS=["naturalbase_version","naturalbase_deleted","naturalbase_operationtype","naturalbase_creator","naturalbase_accesstime","naturalbase_operationtime","naturalbase_syncstatus","naturalbase_changedfieldsbitmap","naturalbase_lastmodifier","cmin","cmax","xmin","xmax","ctid","oid","tableoid","xc_node_id","tablebucketid","rowid","tid"],e}();exports.Utils=Utils;
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Copyright (c) Huawei Technologies Co., Ltd. 2023 All rights reserved.
3
+ */
4
+ import { FunctionParams } from "./params";
5
+ export declare class CloudFunction {
6
+ private readonly functionInstance;
7
+ constructor(name: string);
8
+ private getCallable;
9
+ call(params: FunctionParams): Promise<any>;
10
+ }
@@ -0,0 +1 @@
1
+ "use strict";var __awaiter=this&&this.__awaiter||function(t,n,e,r){return new(e||(e=Promise))((function(o,i){function u(t){try{c(r.next(t))}catch(t){i(t)}}function a(t){try{c(r.throw(t))}catch(t){i(t)}}function c(t){var n;t.done?o(t.value):(n=t.value,n instanceof e?n:new e((function(t){t(n)}))).then(u,a)}c((r=r.apply(t,n||[])).next())}))},__generator=this&&this.__generator||function(t,n){var e,r,o,i,u={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function a(a){return function(c){return function(a){if(e)throw new TypeError("Generator is already executing.");for(;i&&(i=0,a[0]&&(u=0)),u;)try{if(e=1,r&&(o=2&a[0]?r.return:a[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,a[1])).done)return o;switch(r=0,o&&(a=[2&a[0],o.value]),a[0]){case 0:case 1:o=a;break;case 4:return u.label++,{value:a[1],done:!1};case 5:u.label++,r=a[1],a=[0];continue;case 7:a=u.ops.pop(),u.trys.pop();continue;default:if(!(o=u.trys,(o=o.length>0&&o[o.length-1])||6!==a[0]&&2!==a[0])){u=0;continue}if(3===a[0]&&(!o||a[1]>o[0]&&a[1]<o[3])){u.label=a[1];break}if(6===a[0]&&u.label<o[1]){u.label=o[1],o=a;break}if(o&&u.label<o[2]){u.label=o[2],u.ops.push(a);break}o[2]&&u.ops.pop(),u.trys.pop();continue}a=n.call(t,u)}catch(t){a=[6,t],r=0}finally{e=o=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,c])}}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.CloudFunction=void 0;var AGCFunction_1=require("./server/AGCFunction"),CloudFunction=function(){function t(t){this.functionInstance=new AGCFunction_1.AGCFunction(t)}return t.prototype.getCallable=function(t){return t.version?this.functionInstance.wrap(t.name,t.version):this.functionInstance.wrap(t.name,"")},t.prototype.call=function(t){return __awaiter(this,void 0,void 0,(function(){var n;return __generator(this,(function(e){switch(e.label){case 0:return n=this.getCallable(t),t.timeout&&n.setTimeout(t.timeout),[4,n.call(t.data)];case 1:return[2,e.sent().getValue()]}}))}))},t}();exports.CloudFunction=CloudFunction;
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Copyright (c) Huawei Technologies Co., Ltd. 2023 All rights reserved.
3
+ */
4
+ import { AGCError } from "../../common-server";
5
+ export declare class AGCFunctionException extends AGCError {
6
+ constructor(errorCode: string, errorMessage?: string);
7
+ }
@@ -0,0 +1 @@
1
+ "use strict";var __extends=this&&this.__extends||function(){var t=function(o,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,o){t.__proto__=o}||function(t,o){for(var r in o)Object.prototype.hasOwnProperty.call(o,r)&&(t[r]=o[r])},t(o,r)};return function(o,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function e(){this.constructor=o}t(o,r),o.prototype=null===r?Object.create(r):(e.prototype=r.prototype,new e)}}();Object.defineProperty(exports,"__esModule",{value:!0}),exports.AGCFunctionException=void 0;var common_server_1=require("../../common-server"),FunctionErrorCode_1=require("./FunctionErrorCode"),AGCFunctionException=function(t){function o(o,r){var e={code:o,message:r||(0,FunctionErrorCode_1.getErrorMessage)(o)};return t.call(this,e,"function")||this}return __extends(o,t),o}(common_server_1.AGCError);exports.AGCFunctionException=AGCFunctionException;
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Copyright (c) Huawei Technologies Co., Ltd. 2023 All rights reserved.
3
+ */
4
+ export declare enum FunctionErrorCode {
5
+ /**
6
+ * 获取credential信息失败
7
+ */
8
+ GET_CREDENTIAL_NULL = "12000",
9
+ /**
10
+ * 获取请求网关url头部域名失败
11
+ */
12
+ GET_GW_URL_FAIL = "12001",
13
+ /**
14
+ * 获取accessToken信息失败
15
+ */
16
+ GET_ACCESS_TOKEN_FAIL = "12002",
17
+ /**
18
+ * call方法调用失败
19
+ */
20
+ CALL_CLOUD_FUNCTION_FAIL = "12003",
21
+ /**
22
+ * the value of timeout is out of range
23
+ */
24
+ TIMEOUT_OUT_OF_RANGE = "12004"
25
+ }
26
+ export declare function getErrorMessage(code: string): string;
@@ -0,0 +1 @@
1
+ "use strict";var FunctionErrorCode;Object.defineProperty(exports,"__esModule",{value:!0}),exports.getErrorMessage=exports.FunctionErrorCode=void 0,function(r){r.GET_CREDENTIAL_NULL="12000",r.GET_GW_URL_FAIL="12001",r.GET_ACCESS_TOKEN_FAIL="12002",r.CALL_CLOUD_FUNCTION_FAIL="12003",r.TIMEOUT_OUT_OF_RANGE="12004"}(FunctionErrorCode=exports.FunctionErrorCode||(exports.FunctionErrorCode={}));var FunctionErrorCodeMap=new Map([[FunctionErrorCode.GET_CREDENTIAL_NULL,"the credential is null"],[FunctionErrorCode.GET_GW_URL_FAIL,"get the url failed"],[FunctionErrorCode.GET_ACCESS_TOKEN_FAIL,"get access token failed"],[FunctionErrorCode.CALL_CLOUD_FUNCTION_FAIL,"the method of call failed"],[FunctionErrorCode.TIMEOUT_OUT_OF_RANGE,"the value of timeout is out of range"]]);function getErrorMessage(r){var e=FunctionErrorCodeMap.get(r);return e||"internal error"}exports.getErrorMessage=getErrorMessage;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Copyright (c) Huawei Technologies Co., Ltd. 2023 All rights reserved.
3
+ */
4
+ import { AGCFunctionException } from "./exception/AGCFunctionException";
5
+ import { FunctionErrorCode } from "./exception/FunctionErrorCode";
6
+ import { CloudFunction } from "./cloudFunction";
7
+ export { AGCFunctionException, FunctionErrorCode, CloudFunction };
8
+ export * from "./params";
@@ -0,0 +1 @@
1
+ "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var o=Object.getOwnPropertyDescriptor(t,r);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,o)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),__exportStar=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||__createBinding(t,e,r)};Object.defineProperty(exports,"__esModule",{value:!0}),exports.CloudFunction=exports.FunctionErrorCode=exports.AGCFunctionException=void 0;var AGCFunctionException_1=require("./exception/AGCFunctionException");Object.defineProperty(exports,"AGCFunctionException",{enumerable:!0,get:function(){return AGCFunctionException_1.AGCFunctionException}});var FunctionErrorCode_1=require("./exception/FunctionErrorCode");Object.defineProperty(exports,"FunctionErrorCode",{enumerable:!0,get:function(){return FunctionErrorCode_1.FunctionErrorCode}});var cloudFunction_1=require("./cloudFunction");Object.defineProperty(exports,"CloudFunction",{enumerable:!0,get:function(){return cloudFunction_1.CloudFunction}}),__exportStar(require("./params"),exports);
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Copyright (c) Huawei Technologies Co., Ltd. 2023 All rights reserved.
3
+ */
4
+ export interface FunctionParams {
5
+ name: string;
6
+ version?: string;
7
+ timeout?: number;
8
+ data?: any;
9
+ }
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Copyright (c) Huawei Technologies Co., Ltd. 2023 All rights reserved.
3
+ */
4
+ export { FunctionParams } from "./functionParams";
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Copyright (c) Huawei Technologies Co., Ltd. 2023 All rights reserved.
3
+ */
4
+ import { FunctionCallable } from "./FunctionCallable";
5
+ export declare class AGCFunction {
6
+ private readonly agcClient;
7
+ /**
8
+ * 初始化构造
9
+ *
10
+ * @param name 实例名
11
+ */
12
+ constructor(name?: string);
13
+ /**
14
+ * 设置被调用云函数的HTTPTrigger
15
+ *
16
+ * @param functionName 函数名
17
+ * @param version 版本号
18
+ */
19
+ wrap(functionName: string, version: string): FunctionCallable;
20
+ }
@@ -0,0 +1 @@
1
+ "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&__createBinding(t,e,n);return __setModuleDefault(t,e),t};Object.defineProperty(exports,"__esModule",{value:!0}),exports.AGCFunction=void 0;var agconnect=__importStar(require("../../common-server")),FunctionCallable_1=require("./FunctionCallable"),AGCFunction=function(){function e(e){this.agcClient=agconnect.AGCClient.getInstance(e)}return e.prototype.wrap=function(e,t){var n;return n=null===t||""===t?e+"-$latest":e+"-"+t,new FunctionCallable_1.FunctionCallable(this.agcClient,n)},e}();exports.AGCFunction=AGCFunction;
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Copyright (c) Huawei Technologies Co., Ltd. 2023 All rights reserved.
3
+ */
4
+ import * as agconnect from "../../common-server";
5
+ export declare class FunctionCallable {
6
+ private agcClient;
7
+ private requestTemplate;
8
+ private GWUrlFrontMiddle;
9
+ private httpTrigger;
10
+ private httpClient;
11
+ /**
12
+ * maxBodyLength http请求body体最大长度
13
+ * maxContentLength http接收体result最大长度
14
+ * timeout 超时时长
15
+ *
16
+ * @protected
17
+ */
18
+ private httpClientConfig;
19
+ /**
20
+ * 初始化构造
21
+ *
22
+ * @param agcClient 认证实例
23
+ * @param httpTrigger 被调函数名加版本号
24
+ */
25
+ constructor(agcClient: agconnect.AGCClient, httpTrigger: string);
26
+ private static getCloudGWUrlFront;
27
+ private generateToken;
28
+ /**
29
+ * 云函数调用请求
30
+ *
31
+ * @param data 调用传参
32
+ * @return 完整函数调用返回结果
33
+ */
34
+ call(data?: any): Promise<any>;
35
+ /**
36
+ * 设置调用云函数的超时时间
37
+ * @param timeout 超时时长,单位ms
38
+ */
39
+ setTimeout(timeout: number): void;
40
+ }
@@ -0,0 +1 @@
1
+ "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n);var o=Object.getOwnPropertyDescriptor(t,n);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,o)}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&__createBinding(t,e,n);return __setModuleDefault(t,e),t},__awaiter=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(o,i){function u(e){try{c(r.next(e))}catch(e){i(e)}}function a(e){try{c(r.throw(e))}catch(e){i(e)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(u,a)}c((r=r.apply(e,t||[])).next())}))},__generator=this&&this.__generator||function(e,t){var n,r,o,i,u={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function a(a){return function(c){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;i&&(i=0,a[0]&&(u=0)),u;)try{if(n=1,r&&(o=2&a[0]?r.return:a[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,a[1])).done)return o;switch(r=0,o&&(a=[2&a[0],o.value]),a[0]){case 0:case 1:o=a;break;case 4:return u.label++,{value:a[1],done:!1};case 5:u.label++,r=a[1],a=[0];continue;case 7:a=u.ops.pop(),u.trys.pop();continue;default:if(!(o=u.trys,(o=o.length>0&&o[o.length-1])||6!==a[0]&&2!==a[0])){u=0;continue}if(3===a[0]&&(!o||a[1]>o[0]&&a[1]<o[3])){u.label=a[1];break}if(6===a[0]&&u.label<o[1]){u.label=o[1],o=a;break}if(o&&u.label<o[2]){u.label=o[2],u.ops.push(a);break}o[2]&&u.ops.pop(),u.trys.pop();continue}a=t.call(e,u)}catch(e){a=[6,e],r=0}finally{n=o=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,c])}}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.FunctionCallable=void 0;var agconnect=__importStar(require("../../common-server")),common_server_1=require("../../common-server"),RequestHeaders_1=require("./request/RequestHeaders"),AGCFunctionException_1=require("../exception/AGCFunctionException"),FunctionErrorCode_1=require("../exception/FunctionErrorCode"),HashUtil_1=require("../util/HashUtil"),FunctionResult_1=require("./FunctionResult"),process=__importStar(require("process")),FunctionCallable=function(){function e(t,n){this.GWUrlFrontMiddle="api/wisefunction/functions/",this.httpTrigger="",this.httpClientConfig={maxBodyLength:31457280,maxContentLength:31457280,timeout:55e3},this.agcClient=t;var r=this.agcClient.getCredential();if(!r)throw new AGCFunctionException_1.AGCFunctionException(FunctionErrorCode_1.FunctionErrorCode.GET_CREDENTIAL_NULL);var o=e.getCloudGWUrlFront(r.getRegion());if(!o)throw new AGCFunctionException_1.AGCFunctionException(FunctionErrorCode_1.FunctionErrorCode.GET_GW_URL_FAIL);var i=r.getDeveloperId(),u=r.getProjectId(),a=HashUtil_1.HashUtil.hash(i,u),c=new RequestHeaders_1.RequestHeaders(r.getClientId(),r.getProjectId()),s={"x-nuwa-trace-id":process.env["x-nuwa-trace-id"]||""};this.requestTemplate={url:o+this.GWUrlFrontMiddle+a+"/",headers:Object.assign(c,s),params:{}},this.httpClient=agconnect.getHttpClient(this.httpClientConfig),this.httpTrigger=n}return e.getCloudGWUrlFront=function(e){return common_server_1.CloudGwUrlUtil.getCloudgwUrlByRegion(e,!1)},e.prototype.generateToken=function(){return __awaiter(this,void 0,void 0,(function(){var e,t;return __generator(this,(function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),[4,this.agcClient.getCredential().getAccessToken()];case 1:return e=n.sent(),[2,Promise.resolve(e)];case 2:return t=n.sent(),[2,Promise.reject(new AGCFunctionException_1.AGCFunctionException(FunctionErrorCode_1.FunctionErrorCode.GET_ACCESS_TOKEN_FAIL).message,t)];case 3:return[2]}}))}))},e.prototype.call=function(e){return __awaiter(this,void 0,void 0,(function(){var t,n=this;return __generator(this,(function(r){switch(r.label){case 0:return[4,this.generateToken()];case 1:return t=r.sent(),this.requestTemplate.headers.setAuthorization(t),[2,new Promise((function(t,r){return __awaiter(n,void 0,void 0,(function(){return __generator(this,(function(n){switch(n.label){case 0:return[4,this.httpClient.post(this.requestTemplate.url+this.httpTrigger,e,this.requestTemplate.params,this.requestTemplate.headers).then((function(e){t(new FunctionResult_1.FunctionResult(e.data))})).catch((function(e){var t="unknown error";null!=e.response&&null!=e.response.data&&""!=e.response.data?t=JSON.stringify(e.response.data):null!=e.message&&(t=e.message),r(new AGCFunctionException_1.AGCFunctionException(FunctionErrorCode_1.FunctionErrorCode.CALL_CLOUD_FUNCTION_FAIL,t))}))];case 1:return n.sent(),[2]}}))}))}))]}}))}))},e.prototype.setTimeout=function(e){if(e<=0||e>55e3)throw new AGCFunctionException_1.AGCFunctionException(FunctionErrorCode_1.FunctionErrorCode.TIMEOUT_OUT_OF_RANGE);var t={maxBodyLength:31457280,maxContentLength:31457280,timeout:e};this.httpClient=agconnect.getHttpClient(t)},e}();exports.FunctionCallable=FunctionCallable;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Copyright (c) Huawei Technologies Co., Ltd. 2023 All rights reserved.
3
+ */
4
+ export declare class FunctionResult {
5
+ private readonly responseBody;
6
+ constructor(response: any);
7
+ getValue(): any;
8
+ }
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.FunctionResult=void 0;var FunctionResult=function(){function e(e){this.responseBody=e}return e.prototype.getValue=function(){return this.responseBody?this.responseBody:null},e}();exports.FunctionResult=FunctionResult;
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Copyright (c) Huawei Technologies Co., Ltd. 2023 All rights reserved.
3
+ */
4
+ export declare class RequestHeaders {
5
+ private Authorization;
6
+ private productId;
7
+ private clientId;
8
+ constructor(clientId: string, productId: string);
9
+ setAuthorization(authorization: string): void;
10
+ }
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.RequestHeaders=void 0;var RequestHeaders=function(){function e(e,t){this.Authorization="",this.clientId=e,this.productId=t}return e.prototype.setAuthorization=function(e){this.Authorization="Bearer "+e},e}();exports.RequestHeaders=RequestHeaders;