@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,10 @@
1
+ /**
2
+ * Copyright (c) Huawei Technologies Co., Ltd. 2023 All rights reserved.
3
+ */
4
+ export declare class AGCAuthJwtToken {
5
+ private token;
6
+ private expirationTime;
7
+ constructor(token: string, expirationTime: number);
8
+ getToken(): string | undefined;
9
+ getExpirationTime(): number | undefined;
10
+ }
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.AGCAuthJwtToken=void 0;var AGCAuthJwtToken=function(){function t(t,e){this.token=void 0,this.expirationTime=void 0,this.token=t,this.expirationTime=e}return t.prototype.getToken=function(){return this.token},t.prototype.getExpirationTime=function(){return this.expirationTime},t}();exports.AGCAuthJwtToken=AGCAuthJwtToken;
@@ -0,0 +1,4 @@
1
+ import { AGCClient } from "../../common-server";
2
+ export declare class AGCAuthPublicKeysManager {
3
+ static getPublicKey(kid: string, client: AGCClient): Promise<string>;
4
+ }
@@ -0,0 +1 @@
1
+ "use strict";var __awaiter=this&&this.__awaiter||function(e,r,t,n){return new(t||(t=Promise))((function(a,u){function o(e){try{c(n.next(e))}catch(e){u(e)}}function i(e){try{c(n.throw(e))}catch(e){u(e)}}function c(e){var r;e.done?a(e.value):(r=e.value,r instanceof t?r:new t((function(e){e(r)}))).then(o,i)}c((n=n.apply(e,r||[])).next())}))},__generator=this&&this.__generator||function(e,r){var t,n,a,u,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return u={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(u[Symbol.iterator]=function(){return this}),u;function i(i){return function(c){return function(i){if(t)throw new TypeError("Generator is already executing.");for(;u&&(u=0,i[0]&&(o=0)),o;)try{if(t=1,n&&(a=2&i[0]?n.return:i[0]?n.throw||((a=n.return)&&a.call(n),0):n.next)&&!(a=a.call(n,i[1])).done)return a;switch(n=0,a&&(i=[2&i[0],a.value]),i[0]){case 0:case 1:a=i;break;case 4:return o.label++,{value:i[1],done:!1};case 5:o.label++,n=i[1],i=[0];continue;case 7:i=o.ops.pop(),o.trys.pop();continue;default:if(!(a=o.trys,(a=a.length>0&&a[a.length-1])||6!==i[0]&&2!==i[0])){o=0;continue}if(3===i[0]&&(!a||i[1]>a[0]&&i[1]<a[3])){o.label=i[1];break}if(6===i[0]&&o.label<a[1]){o.label=a[1],a=i;break}if(a&&o.label<a[2]){o.label=a[2],o.ops.push(i);break}a[2]&&o.ops.pop(),o.trys.pop();continue}i=r.call(e,o)}catch(e){i=[6,e],n=0}finally{t=a=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,c])}}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.AGCAuthPublicKeysManager=void 0;var auth_backend_1=require("../backend/auth-backend"),publickey_rsp_1=require("../response/publickey-rsp"),public_key_req_1=require("../request/public-key-req"),agc_auth_error_1=require("../error/agc-auth-error"),agc_auth_error_message_1=require("../error/agc-auth-error-message"),AGCAuthPublicKeysManager=function(){function e(){}return e.getPublicKey=function(e,r){return __awaiter(this,void 0,void 0,(function(){var t,n,a;return __generator(this,(function(u){switch(u.label){case 0:return t=new public_key_req_1.PublicKeyReq,n=new publickey_rsp_1.PublickeyRsp,[4,auth_backend_1.AuthBackend.get(t,n,!1,!0).catch((function(e){throw new agc_auth_error_1.AGCAuthError(agc_auth_error_message_1.AuthErrorCode.GET_PUBLIC_KEY_FAILED,r.getName(),e)}))];case 1:if(u.sent(),0!==n.getRet().getCode())throw new agc_auth_error_1.AGCAuthError(agc_auth_error_message_1.AuthErrorCode.GET_PUBLIC_KEY_FAILED,r.getName(),{message:JSON.stringify(n.getRet())});if((a=n.getPublicKeys())[e])return[2,Promise.resolve(a[e])];throw new agc_auth_error_1.AGCAuthError(agc_auth_error_message_1.AuthErrorCode.GET_PUBLIC_KEY_FAILED,r.getName(),{message:"public key for kid not exist."})}}))}))},e}();exports.AGCAuthPublicKeysManager=AGCAuthPublicKeysManager;
@@ -0,0 +1,6 @@
1
+ import { AGCClient } from "../../common-server";
2
+ export declare class AGCAuthRsaVerifier {
3
+ static verify(publicKey: string, token: string, alg: string, client: AGCClient): any;
4
+ private static getSub;
5
+ private static toBase64;
6
+ }
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.AGCAuthRsaVerifier=void 0;var key_header_util_1=require("../utils/key-header-util"),crypto_1=require("crypto"),agc_auth_error_1=require("../error/agc-auth-error"),agc_auth_error_message_1=require("../error/agc-auth-error-message"),AGCAuthRsaVerifier=function(){function r(){}return r.verify=function(e,t,a,_){var o=!1;try{var u=key_header_util_1.KeyHeaderUtil.decodePublicKey(e),i=t.split(".")[2],s=t.split(".",2).join("."),c=r.toBase64(i),n=(0,crypto_1.createVerify)("RSA-SHA256");if(n.update(s),n.end(),"PS256"===a){var f={key:u,padding:crypto_1.constants.RSA_PKCS1_PSS_PADDING,saltLength:crypto_1.constants.RSA_PSS_SALTLEN_DIGEST};o=n.verify(f,c,"base64")}else o=n.verify(u,c,"base64")}catch(r){throw new agc_auth_error_1.AGCAuthError(agc_auth_error_message_1.AuthErrorCode.ACCESS_TOKEN_VERIFY_FAILED,_.getName(),r)}if(o){var h=t.split(".",1)[0],g=JSON.parse(Buffer.from(h,"base64").toString("binary"));if(!g)throw new agc_auth_error_1.AGCAuthError(agc_auth_error_message_1.AuthErrorCode.ACCESS_TOKEN_VERIFY_FAILED,_.getName(),{message:"header decode failed"});var A=t.split(".")[1],S=Buffer.from(A,"base64").toString("utf8");if("JWT"===g.typ){var l=JSON.parse(S);return l.sub=r.getSub(S),l}return S}throw new agc_auth_error_1.AGCAuthError(agc_auth_error_message_1.AuthErrorCode.ACCESS_TOKEN_VERIFY_FAILED,_.getName())},r.getSub=function(r){if(r)for(var e=r.split(","),t=0;t<e.length;t++)if(e[t].includes('"sub":'))return e[t].replace('"sub":',"")},r.toBase64=function(r){var e=r,t=4-e.length%4;if(4!==t)for(var a=0;a<t;++a)e+="=";return e.replace(/\-/g,"+").replace(/_/g,"/")},r}();exports.AGCAuthRsaVerifier=AGCAuthRsaVerifier;
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Copyright (c) Huawei Technologies Co., Ltd. 2023 All rights reserved.
3
+ */
4
+ export interface RSAKeyPair {
5
+ /**
6
+ * get public key string
7
+ * @return public key string
8
+ */
9
+ getPublicKey(): string;
10
+ /**
11
+ * get private key string
12
+ * @return private key string
13
+ */
14
+ getPrivateKey(): string;
15
+ }
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Copyright (c) Huawei Technologies Co., Ltd. 2023 All rights reserved.
3
+ */
4
+ export interface FileParams {
5
+ filePath: string;
6
+ }
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Copyright (c) Huawei Technologies Co., Ltd. 2023 All rights reserved.
3
+ */
4
+ export { FileParams } from "./fileParams";
5
+ export { SignParams } from "./signParams";
6
+ export { TokenParams } from "./tokenParams";
7
+ export { UidParams } from "./uidParams";
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Copyright (c) Huawei Technologies Co., Ltd. 2023 All rights reserved.
3
+ */
4
+ export interface SignParams {
5
+ uid: string;
6
+ displayName: string;
7
+ photoUrl: string;
8
+ privateKey: string;
9
+ }
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Copyright (c) Huawei Technologies Co., Ltd. 2023 All rights reserved.
3
+ */
4
+ export interface TokenParams {
5
+ accessToken: string;
6
+ checkRevoked: boolean;
7
+ }
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Copyright (c) Huawei Technologies Co., Ltd. 2023 All rights reserved.
3
+ */
4
+ export interface UidParams {
5
+ uid: string;
6
+ }
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Copyright (c) Huawei Technologies Co., Ltd. 2023 All rights reserved.
3
+ */
4
+ import { RequestConstructor, AGCClient } from "../../common-server";
5
+ export declare class ExportUserListReq implements RequestConstructor {
6
+ private readonly url;
7
+ private client;
8
+ private block;
9
+ constructor(block: number, client: AGCClient);
10
+ getUrl(useBackUrl?: boolean): string;
11
+ getHeader(): Promise<any>;
12
+ getBody(): any;
13
+ }
@@ -0,0 +1 @@
1
+ "use strict";var __awaiter=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(o,i){function l(e){try{a(n.next(e))}catch(e){i(e)}}function u(e){try{a(n.throw(e))}catch(e){i(e)}}function a(e){var t;e.done?o(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(l,u)}a((n=n.apply(e,t||[])).next())}))},__generator=this&&this.__generator||function(e,t){var r,n,o,i,l={label:0,sent:function(){if(1&o[0])throw o[1];return o[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(a){return function(u){if(r)throw new TypeError("Generator is already executing.");for(;i&&(i=0,u[0]&&(l=0)),l;)try{if(r=1,n&&(o=2&u[0]?n.return:u[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,u[1])).done)return o;switch(n=0,o&&(u=[2&u[0],o.value]),u[0]){case 0:case 1:o=u;break;case 4:return l.label++,{value:u[1],done:!1};case 5:l.label++,n=u[1],u=[0];continue;case 7:u=l.ops.pop(),l.trys.pop();continue;default:if(!(o=l.trys,(o=o.length>0&&o[o.length-1])||6!==u[0]&&2!==u[0])){l=0;continue}if(3===u[0]&&(!o||u[1]>o[0]&&u[1]<o[3])){l.label=u[1];break}if(6===u[0]&&l.label<o[1]){l.label=o[1],o=u;break}if(o&&l.label<o[2]){l.label=o[2],l.ops.push(u);break}o[2]&&l.ops.pop(),l.trys.pop();continue}u=t.call(e,l)}catch(e){u=[6,e],n=0}finally{r=o=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}([u,a])}}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.ExportUserListReq=void 0;var common_server_1=require("../../common-server"),ExportUserListReq=function(){function e(e,t){this.url="api/oauth2/third/v1/export/user/list?productId=",this.block=e,this.client=t}return e.prototype.getUrl=function(e){return common_server_1.CloudGwUrlUtil.getCloudgwUrlByRegion(this.client.getCredential().getRegion(),e)+this.url+this.client.getCredential().getProjectId()+"&block="+this.block},e.prototype.getHeader=function(){return __awaiter(this,void 0,void 0,(function(){var e;return __generator(this,(function(t){switch(t.label){case 0:return[4,this.client.getCredential().getAccessToken()];case 1:return e=t.sent(),[2,Promise.resolve({client_id:this.client.getCredential().getClientId(),Authorization:"Bearer "+e})]}}))}))},e.prototype.getBody=function(){return null},e}();exports.ExportUserListReq=ExportUserListReq;
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Copyright (c) Huawei Technologies Co., Ltd. 2023 All rights reserved.
3
+ */
4
+ import { RequestConstructor, AGCClient } from "../../common-server";
5
+ export declare class ExportUserReq implements RequestConstructor {
6
+ private readonly url;
7
+ private client;
8
+ private uid;
9
+ constructor(uid: string, client: AGCClient);
10
+ getUrl(useBackUrl?: boolean): string;
11
+ getHeader(): Promise<any>;
12
+ getBody(): any;
13
+ }
@@ -0,0 +1 @@
1
+ "use strict";var __awaiter=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(o,i){function u(e){try{l(n.next(e))}catch(e){i(e)}}function a(e){try{l(n.throw(e))}catch(e){i(e)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(u,a)}l((n=n.apply(e,t||[])).next())}))},__generator=this&&this.__generator||function(e,t){var r,n,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(l){return function(a){if(r)throw new TypeError("Generator is already executing.");for(;i&&(i=0,a[0]&&(u=0)),u;)try{if(r=1,n&&(o=2&a[0]?n.return:a[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,a[1])).done)return o;switch(n=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++,n=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],n=0}finally{r=o=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,l])}}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.ExportUserReq=void 0;var common_server_1=require("../../common-server"),ExportUserReq=function(){function e(e,t){this.url="api/oauth2/third/v1/export/user?productId=",this.uid=e,this.client=t}return e.prototype.getUrl=function(e){return common_server_1.CloudGwUrlUtil.getCloudgwUrlByRegion(this.client.getCredential().getRegion(),e)+this.url+this.client.getCredential().getProjectId()+"&agcUid="+this.uid},e.prototype.getHeader=function(){return __awaiter(this,void 0,void 0,(function(){var e;return __generator(this,(function(t){switch(t.label){case 0:return[4,this.client.getCredential().getAccessToken()];case 1:return e=t.sent(),[2,Promise.resolve({client_id:this.client.getCredential().getClientId(),Authorization:"Bearer "+e})]}}))}))},e.prototype.getBody=function(){return null},e}();exports.ExportUserReq=ExportUserReq;
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Copyright (c) Huawei Technologies Co., Ltd. 2023 All rights reserved.
3
+ */
4
+ import { ProviderInfo } from "./provider-info";
5
+ export declare class ImportExportUserInfo {
6
+ private uid;
7
+ private displayName;
8
+ private photoUrl;
9
+ private email;
10
+ private emailVerified;
11
+ private phoneNumber;
12
+ private createdAt;
13
+ private lastSignedInAt;
14
+ private passwordHash;
15
+ private salt;
16
+ private providers;
17
+ constructImportUserInfo(obj: any): boolean;
18
+ getUid(): string | undefined;
19
+ setUid(uid: string): void;
20
+ getDisplayName(): string | undefined;
21
+ setDisplayName(displayName: string): void;
22
+ getPhotoUrl(): string | undefined;
23
+ setPhotoUrl(photoUrl: string): void;
24
+ getEmail(): string | undefined;
25
+ setEmail(email: string): void;
26
+ isEmailVerified(): boolean | undefined;
27
+ setEmailVerified(emailVerified: boolean): void;
28
+ getPhoneNumber(): string | undefined;
29
+ setPhoneNumber(phoneNumber: string): void;
30
+ getCreatedAt(): string | undefined;
31
+ setCreatedAt(createdAt: string): void;
32
+ getLastSignedInAt(): string | undefined;
33
+ setLastSignedInAt(lastSignedInAt: string): void;
34
+ getPasswordHash(): string | undefined;
35
+ setPasswordHash(passwordHash: string): void;
36
+ getSalt(): string | undefined;
37
+ setSalt(salt: string): void;
38
+ getProviders(): ProviderInfo[];
39
+ setProviders(providers: ProviderInfo[]): void;
40
+ }
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ImportExportUserInfo=void 0;var provider_info_1=require("./provider-info"),ImportExportUserInfo=function(){function t(){this.providers=[]}return t.prototype.constructImportUserInfo=function(t){if(!t||!t.localId&&!t.uid)return!1;if(t.localId&&(this.uid=t.localId),t.uid&&(this.uid=t.uid),this.displayName=t.displayName,this.photoUrl=t.photoUrl,this.email=t.email,this.emailVerified=t.emailVerified,this.phoneNumber=t.phoneNumber,this.createdAt=t.createdAt,this.lastSignedInAt=t.lastSignedInAt,this.passwordHash=t.passwordHash,this.salt=t.salt,this.providers=[],t.providerUserInfo&&Array.isArray(t.providerUserInfo)&&t.providerUserInfo.length>0){for(var r=[],e=0;e<t.providerUserInfo.length;e++){(i=new provider_info_1.ProviderInfo).setProviderId(t.providerUserInfo[e].providerId),i.setRawId(t.providerUserInfo[e].rawId),i.setPhotoUrl(t.providerUserInfo[e].photoUrl),i.setDisplayName(t.providerUserInfo[e].displayName),i.setOpenId(t.providerUserInfo[e].openId),r.push(i)}this.providers=r}if(t.providers&&Array.isArray(t.providers)&&t.providers.length>0){var o=[];for(e=0;e<t.providers.length;e++){var i;(i=new provider_info_1.ProviderInfo).setProviderId(t.providers[e].providerId),i.setRawId(t.providers[e].rawId),i.setPhotoUrl(t.providers[e].photoUrl),i.setDisplayName(t.providers[e].displayName),i.setOpenId(t.providers[e].openId),o.push(i)}this.providers=o}return!0},t.prototype.getUid=function(){return this.uid},t.prototype.setUid=function(t){this.uid=t},t.prototype.getDisplayName=function(){return this.displayName},t.prototype.setDisplayName=function(t){this.displayName=t},t.prototype.getPhotoUrl=function(){return this.photoUrl},t.prototype.setPhotoUrl=function(t){this.photoUrl=t},t.prototype.getEmail=function(){return this.email},t.prototype.setEmail=function(t){this.email=t},t.prototype.isEmailVerified=function(){return this.emailVerified},t.prototype.setEmailVerified=function(t){this.emailVerified=t},t.prototype.getPhoneNumber=function(){return this.phoneNumber},t.prototype.setPhoneNumber=function(t){this.phoneNumber=t},t.prototype.getCreatedAt=function(){return this.createdAt},t.prototype.setCreatedAt=function(t){this.createdAt=t},t.prototype.getLastSignedInAt=function(){return this.lastSignedInAt},t.prototype.setLastSignedInAt=function(t){this.lastSignedInAt=t},t.prototype.getPasswordHash=function(){return this.passwordHash},t.prototype.setPasswordHash=function(t){this.passwordHash=t},t.prototype.getSalt=function(){return this.salt},t.prototype.setSalt=function(t){this.salt=t},t.prototype.getProviders=function(){return this.providers},t.prototype.setProviders=function(t){this.providers=t},t}();exports.ImportExportUserInfo=ImportExportUserInfo;
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Copyright (c) Huawei Technologies Co., Ltd. 2023 All rights reserved.
3
+ */
4
+ import { RequestConstructor, AGCClient } from "../../common-server";
5
+ import { ImportExportUserInfo } from "./import-export-user-info";
6
+ export declare class ImportUserReq implements RequestConstructor {
7
+ private readonly url;
8
+ private client;
9
+ private importUserInfoList;
10
+ constructor(importUserInfoList: ImportExportUserInfo[], client: AGCClient);
11
+ getUrl(useBackUrl?: boolean): string;
12
+ getHeader(): Promise<any>;
13
+ getBody(): any;
14
+ }
@@ -0,0 +1 @@
1
+ "use strict";var __awaiter=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(o,i){function l(e){try{u(n.next(e))}catch(e){i(e)}}function a(e){try{u(n.throw(e))}catch(e){i(e)}}function u(e){var t;e.done?o(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(l,a)}u((n=n.apply(e,t||[])).next())}))},__generator=this&&this.__generator||function(e,t){var r,n,o,i,l={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(u){return function(a){if(r)throw new TypeError("Generator is already executing.");for(;i&&(i=0,a[0]&&(l=0)),l;)try{if(r=1,n&&(o=2&a[0]?n.return:a[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,a[1])).done)return o;switch(n=0,o&&(a=[2&a[0],o.value]),a[0]){case 0:case 1:o=a;break;case 4:return l.label++,{value:a[1],done:!1};case 5:l.label++,n=a[1],a=[0];continue;case 7:a=l.ops.pop(),l.trys.pop();continue;default:if(!(o=l.trys,(o=o.length>0&&o[o.length-1])||6!==a[0]&&2!==a[0])){l=0;continue}if(3===a[0]&&(!o||a[1]>o[0]&&a[1]<o[3])){l.label=a[1];break}if(6===a[0]&&l.label<o[1]){l.label=o[1],o=a;break}if(o&&l.label<o[2]){l.label=o[2],l.ops.push(a);break}o[2]&&l.ops.pop(),l.trys.pop();continue}a=t.call(e,l)}catch(e){a=[6,e],n=0}finally{r=o=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,u])}}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.ImportUserReq=void 0;var common_server_1=require("../../common-server"),ImportUserReq=function(){function e(e,t){this.url="api/oauth2/third/v1/import/user?productId=",this.client=t,this.importUserInfoList=e}return e.prototype.getUrl=function(e){return common_server_1.CloudGwUrlUtil.getCloudgwUrlByRegion(this.client.getCredential().getRegion(),e)+this.url+this.client.getCredential().getProjectId()},e.prototype.getHeader=function(){return __awaiter(this,void 0,void 0,(function(){var e;return __generator(this,(function(t){switch(t.label){case 0:return[4,this.client.getCredential().getAccessToken()];case 1:return e=t.sent(),[2,Promise.resolve({client_id:this.client.getCredential().getClientId(),Authorization:"Bearer "+e})]}}))}))},e.prototype.getBody=function(){return{algorithm:null,algorithmKey:null,algorithmParam:null,users:this.importUserInfoList}},e}();exports.ImportUserReq=ImportUserReq;
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Copyright (c) Huawei Technologies Co., Ltd. 2023 All rights reserved.
3
+ */
4
+ export declare class ProviderInfo {
5
+ private providerId;
6
+ private rawId;
7
+ private photoUrl;
8
+ private displayName;
9
+ private openId;
10
+ getProviderId(): string | undefined;
11
+ setProviderId(providerId: string): void;
12
+ getRawId(): string | undefined;
13
+ setRawId(rawId: string): void;
14
+ getPhotoUrl(): string | undefined;
15
+ setPhotoUrl(photoUrl: string): void;
16
+ getDisplayName(): string | undefined;
17
+ setDisplayName(displayName: string): void;
18
+ getOpenId(): string | undefined;
19
+ setOpenId(openId: string): void;
20
+ }
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ProviderInfo=void 0;var ProviderInfo=function(){function t(){}return t.prototype.getProviderId=function(){return this.providerId},t.prototype.setProviderId=function(t){this.providerId=t},t.prototype.getRawId=function(){return this.rawId},t.prototype.setRawId=function(t){this.rawId=t},t.prototype.getPhotoUrl=function(){return this.photoUrl},t.prototype.setPhotoUrl=function(t){this.photoUrl=t},t.prototype.getDisplayName=function(){return this.displayName},t.prototype.setDisplayName=function(t){this.displayName=t},t.prototype.getOpenId=function(){return this.openId},t.prototype.setOpenId=function(t){this.openId=t},t}();exports.ProviderInfo=ProviderInfo;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Copyright (c) Huawei Technologies Co., Ltd. 2023 All rights reserved.
3
+ */
4
+ import { RequestConstructor } from "../../common-server";
5
+ export declare class PublicKeyReq implements RequestConstructor {
6
+ getUrl(): string;
7
+ getHeader(): Promise<any>;
8
+ getBody(): any;
9
+ }
@@ -0,0 +1 @@
1
+ "use strict";var __awaiter=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(o,i){function u(e){try{a(n.next(e))}catch(e){i(e)}}function c(e){try{a(n.throw(e))}catch(e){i(e)}}function a(e){var t;e.done?o(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(u,c)}a((n=n.apply(e,t||[])).next())}))},__generator=this&&this.__generator||function(e,t){var r,n,o,i,u={label:0,sent:function(){if(1&o[0])throw o[1];return o[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(a){return function(c){if(r)throw new TypeError("Generator is already executing.");for(;i&&(i=0,c[0]&&(u=0)),u;)try{if(r=1,n&&(o=2&c[0]?n.return:c[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,c[1])).done)return o;switch(n=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return u.label++,{value:c[1],done:!1};case 5:u.label++,n=c[1],c=[0];continue;case 7:c=u.ops.pop(),u.trys.pop();continue;default:if(!(o=u.trys,(o=o.length>0&&o[o.length-1])||6!==c[0]&&2!==c[0])){u=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){u.label=c[1];break}if(6===c[0]&&u.label<o[1]){u.label=o[1],o=c;break}if(o&&u.label<o[2]){u.label=o[2],u.ops.push(c);break}o[2]&&u.ops.pop(),u.trys.pop();continue}c=t.call(e,u)}catch(e){c=[6,e],n=0}finally{r=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}([c,a])}}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.PublicKeyReq=void 0;var common_server_1=require("../../common-server"),PublicKeyReq=function(){function e(){}return e.prototype.getUrl=function(){return common_server_1.ConfigService.getService("AUTH").getConfigValue("publickey_url")},e.prototype.getHeader=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(e){return[2,Promise.resolve(null)]}))}))},e.prototype.getBody=function(){return null},e}();exports.PublicKeyReq=PublicKeyReq;
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Copyright (c) Huawei Technologies Co., Ltd. 2023 All rights reserved.
3
+ */
4
+ import { RequestConstructor, AGCClient } from "../../common-server";
5
+ export declare class RevokeTokenReq implements RequestConstructor {
6
+ private readonly url;
7
+ private client;
8
+ private uid;
9
+ constructor(uid: string, client: AGCClient);
10
+ getUrl(useBackUrl?: boolean): string;
11
+ getHeader(): Promise<any>;
12
+ getBody(): any;
13
+ }
@@ -0,0 +1 @@
1
+ "use strict";var __awaiter=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(o,i){function u(e){try{l(r.next(e))}catch(e){i(e)}}function a(e){try{l(r.throw(e))}catch(e){i(e)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(u,a)}l((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(l){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,l])}}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.RevokeTokenReq=void 0;var common_server_1=require("../../common-server"),RevokeTokenReq=function(){function e(e,t){this.url="api/oauth2/third/v1/revoke-token?productId=",this.uid=e,this.client=t}return e.prototype.getUrl=function(e){return common_server_1.CloudGwUrlUtil.getCloudgwUrlByRegion(this.client.getCredential().getRegion(),e)+this.url+this.client.getCredential().getProjectId()},e.prototype.getHeader=function(){return __awaiter(this,void 0,void 0,(function(){var e;return __generator(this,(function(t){switch(t.label){case 0:return[4,this.client.getCredential().getAccessToken()];case 1:return e=t.sent(),[2,Promise.resolve({uid:this.uid,client_id:this.client.getCredential().getClientId(),Authorization:"Bearer "+e})]}}))}))},e.prototype.getBody=function(){return null},e}();exports.RevokeTokenReq=RevokeTokenReq;
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Copyright (c) Huawei Technologies Co., Ltd. 2023 All rights reserved.
3
+ */
4
+ import { RequestConstructor, AGCClient } from "../../common-server";
5
+ export declare class VerifyTokenReq implements RequestConstructor {
6
+ private readonly url;
7
+ private client;
8
+ private accessToken;
9
+ constructor(accessToken: string, client: AGCClient);
10
+ getUrl(useBackUrl?: boolean): string;
11
+ getHeader(): Promise<any>;
12
+ getBody(): any;
13
+ }
@@ -0,0 +1 @@
1
+ "use strict";var __awaiter=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(o,i){function a(e){try{u(r.next(e))}catch(e){i(e)}}function c(e){try{u(r.throw(e))}catch(e){i(e)}}function u(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,c)}u((r=r.apply(e,t||[])).next())}))},__generator=this&&this.__generator||function(e,t){var n,r,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[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(u){return function(c){if(n)throw new TypeError("Generator is already executing.");for(;i&&(i=0,c[0]&&(a=0)),a;)try{if(n=1,r&&(o=2&c[0]?r.return:c[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,c[1])).done)return o;switch(r=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=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(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==c[0]&&2!==c[0])){a=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){a.label=c[1];break}if(6===c[0]&&a.label<o[1]){a.label=o[1],o=c;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(c);break}o[2]&&a.ops.pop(),a.trys.pop();continue}c=t.call(e,a)}catch(e){c=[6,e],r=0}finally{n=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}([c,u])}}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.VerifyTokenReq=void 0;var common_server_1=require("../../common-server"),VerifyTokenReq=function(){function e(e,t){this.url="api/oauth2/third/v1/verify-token?productId=",this.accessToken=e,this.client=t}return e.prototype.getUrl=function(e){return common_server_1.CloudGwUrlUtil.getCloudgwUrlByRegion(this.client.getCredential().getRegion(),e)+this.url+this.client.getCredential().getProjectId()},e.prototype.getHeader=function(){return __awaiter(this,void 0,void 0,(function(){var e;return __generator(this,(function(t){switch(t.label){case 0:return[4,this.client.getCredential().getAccessToken()];case 1:return e=t.sent(),[2,Promise.resolve({accessToken:this.accessToken,client_id:this.client.getCredential().getClientId(),Authorization:"Bearer "+e})]}}))}))},e.prototype.getBody=function(){return null},e}();exports.VerifyTokenReq=VerifyTokenReq;
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Copyright (c) Huawei Technologies Co., Ltd. 2023 All rights reserved.
3
+ */
4
+ import { BaseResponse } from "../../common-server";
5
+ export declare class AuthOperateRsp extends BaseResponse {
6
+ constructResponse(response: any): void;
7
+ }
@@ -0,0 +1 @@
1
+ "use strict";var __extends=this&&this.__extends||function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},t(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function o(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(o.prototype=r.prototype,new o)}}();Object.defineProperty(exports,"__esModule",{value:!0}),exports.AuthOperateRsp=void 0;var common_server_1=require("../../common-server"),AuthOperateRsp=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return __extends(e,t),e.prototype.constructResponse=function(t){},e}(common_server_1.BaseResponse);exports.AuthOperateRsp=AuthOperateRsp;
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Copyright (c) Huawei Technologies Co., Ltd. 2023 All rights reserved.
3
+ */
4
+ import { BaseResponse } from "../../common-server";
5
+ export declare class ExportUserListRsp extends BaseResponse {
6
+ private totalBlock;
7
+ private uids;
8
+ getTotalBlock(): number | undefined;
9
+ setTotalBlock(totalBlock: number): void;
10
+ getUids(): string[];
11
+ setUids(uids: string[]): void;
12
+ constructResponse(response: any): void;
13
+ }
@@ -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.ExportUserListRsp=void 0;var common_server_1=require("../../common-server"),ExportUserListRsp=function(t){function o(){var o=null!==t&&t.apply(this,arguments)||this;return o.uids=[],o}return __extends(o,t),o.prototype.getTotalBlock=function(){return this.totalBlock},o.prototype.setTotalBlock=function(t){this.totalBlock=t},o.prototype.getUids=function(){return this.uids},o.prototype.setUids=function(t){this.uids=t},o.prototype.constructResponse=function(t){this.totalBlock=void 0,void 0!==t.data.totalBlock&&null!==t.data.totalBlock&&(this.totalBlock=t.data.totalBlock),this.uids=[],t.data.uids&&Array.isArray(t.data.uids)&&(this.uids=t.data.uids)},o}(common_server_1.BaseResponse);exports.ExportUserListRsp=ExportUserListRsp;
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Copyright (c) Huawei Technologies Co., Ltd. 2023 All rights reserved.
3
+ */
4
+ import { BaseResponse } from "../../common-server";
5
+ import { ImportExportUserInfo } from "../request/import-export-user-info";
6
+ export declare class ExportUserRsp extends BaseResponse {
7
+ private blockNo;
8
+ private user;
9
+ setBlockNo(blockNo: number): void;
10
+ getBlockNo(): number | undefined;
11
+ getUser(): ImportExportUserInfo | undefined;
12
+ setUser(user: ImportExportUserInfo): void;
13
+ constructResponse(response: any): void;
14
+ }
@@ -0,0 +1 @@
1
+ "use strict";var __extends=this&&this.__extends||function(){var e=function(r,t){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,r){e.__proto__=r}||function(e,r){for(var t in r)Object.prototype.hasOwnProperty.call(r,t)&&(e[t]=r[t])},e(r,t)};return function(r,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function s(){this.constructor=r}e(r,t),r.prototype=null===t?Object.create(t):(s.prototype=t.prototype,new s)}}();Object.defineProperty(exports,"__esModule",{value:!0}),exports.ExportUserRsp=void 0;var common_server_1=require("../../common-server"),import_export_user_info_1=require("../request/import-export-user-info"),provider_info_1=require("../request/provider-info"),ExportUserRsp=function(e){function r(){return null!==e&&e.apply(this,arguments)||this}return __extends(r,e),r.prototype.setBlockNo=function(e){this.blockNo=e},r.prototype.getBlockNo=function(){return this.blockNo},r.prototype.getUser=function(){return this.user},r.prototype.setUser=function(e){this.user=e},r.prototype.constructResponse=function(e){if(this.blockNo=e.data.blockNo,e.data.user&&(this.user=new import_export_user_info_1.ImportExportUserInfo,this.user.setUid(e.data.user.uid),this.user.setDisplayName(e.data.user.displayName),this.user.setPhotoUrl(e.data.user.photoUrl),this.user.setEmail(e.data.user.email),this.user.setEmailVerified(e.data.user.emailVerified),this.user.setPhoneNumber(e.data.user.phoneNumber),this.user.setCreatedAt(e.data.user.createdAt),this.user.setLastSignedInAt(e.data.user.lastSignedInAt),this.user.setPasswordHash(e.data.user.passwordHash),this.user.setSalt(e.data.user.salt),e.data.user.providers&&Array.isArray(e.data.user.providers))){for(var r=[],t=0;t<e.data.user.providers.length;t++){var s=new provider_info_1.ProviderInfo;s.setProviderId(e.data.user.providers[t].providerId),s.setRawId(e.data.user.providers[t].rawId),s.setPhotoUrl(e.data.user.providers[t].photoUrl),s.setDisplayName(e.data.user.providers[t].displayName),s.setOpenId(e.data.user.providers[t].openId),r.push(s)}this.user.setProviders(r)}},r}(common_server_1.BaseResponse);exports.ExportUserRsp=ExportUserRsp;
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Copyright (c) Huawei Technologies Co., Ltd. 2023 All rights reserved.
3
+ */
4
+ export declare class ImportSuccessUser {
5
+ private uid;
6
+ private importUid;
7
+ getUid(): string | undefined;
8
+ setUid(uid: string): void;
9
+ getImportUid(): string | undefined;
10
+ setImportUid(importUid: string): void;
11
+ }
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ImportSuccessUser=void 0;var ImportSuccessUser=function(){function t(){}return t.prototype.getUid=function(){return this.uid},t.prototype.setUid=function(t){this.uid=t},t.prototype.getImportUid=function(){return this.importUid},t.prototype.setImportUid=function(t){this.importUid=t},t}();exports.ImportSuccessUser=ImportSuccessUser;
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Copyright (c) Huawei Technologies Co., Ltd. 2023 All rights reserved.
3
+ */
4
+ import { BaseResponse } from "../../common-server";
5
+ import { ImportSuccessUser } from "./import-success-user";
6
+ export declare class ImportUserRsp extends BaseResponse {
7
+ private importedUsers;
8
+ setImportedUsers(importedUsers: ImportSuccessUser[]): void;
9
+ getImportedUsers(): ImportSuccessUser[];
10
+ constructResponse(response: any): void;
11
+ }
@@ -0,0 +1 @@
1
+ "use strict";var __extends=this&&this.__extends||function(){var r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,t){r.__proto__=t}||function(r,t){for(var e in t)Object.prototype.hasOwnProperty.call(t,e)&&(r[e]=t[e])},r(t,e)};return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function s(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(s.prototype=e.prototype,new s)}}();Object.defineProperty(exports,"__esModule",{value:!0}),exports.ImportUserRsp=void 0;var common_server_1=require("../../common-server"),import_success_user_1=require("./import-success-user"),ImportUserRsp=function(r){function t(){var t=null!==r&&r.apply(this,arguments)||this;return t.importedUsers=[],t}return __extends(t,r),t.prototype.setImportedUsers=function(r){this.importedUsers=r},t.prototype.getImportedUsers=function(){return this.importedUsers},t.prototype.constructResponse=function(r){if(this.importedUsers=[],r.data.importedUsers&&Array.isArray(r.data.importedUsers))for(var t=0;t<r.data.importedUsers.length;t++){var e=r.data.importedUsers[t];if(e&&e.uid&&e.importUid){var s=new import_success_user_1.ImportSuccessUser;s.setUid(e.uid),s.setImportUid(e.importUid),this.importedUsers.push(s)}}},t}(common_server_1.BaseResponse);exports.ImportUserRsp=ImportUserRsp;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Copyright (c) Huawei Technologies Co., Ltd. 2023 All rights reserved.
3
+ */
4
+ import { BaseResponse } from "../../common-server";
5
+ export declare class PublickeyRsp extends BaseResponse {
6
+ private publicKeys;
7
+ getPublicKeys(): {};
8
+ constructResponse(response: any): void;
9
+ }
@@ -0,0 +1 @@
1
+ "use strict";var __extends=this&&this.__extends||function(){var t=function(e,o){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o])},t(e,o)};return function(e,o){if("function"!=typeof o&&null!==o)throw new TypeError("Class extends value "+String(o)+" is not a constructor or null");function r(){this.constructor=e}t(e,o),e.prototype=null===o?Object.create(o):(r.prototype=o.prototype,new r)}}();Object.defineProperty(exports,"__esModule",{value:!0}),exports.PublickeyRsp=void 0;var common_server_1=require("../../common-server"),PublickeyRsp=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.publicKeys={},e}return __extends(e,t),e.prototype.getPublicKeys=function(){return this.publicKeys},e.prototype.constructResponse=function(t){this.publicKeys=t.data},e}(common_server_1.BaseResponse);exports.PublickeyRsp=PublickeyRsp;
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Copyright (c) Huawei Technologies Co., Ltd. 2023 All rights reserved.
3
+ */
4
+ export declare class TokenInfo {
5
+ private token;
6
+ private validPeriod;
7
+ getToken(): string | undefined;
8
+ setToken(token: string): void;
9
+ getValidPeriod(): number | undefined;
10
+ setValidPeriod(validPeriod: number): void;
11
+ }
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.TokenInfo=void 0;var TokenInfo=function(){function o(){}return o.prototype.getToken=function(){return this.token},o.prototype.setToken=function(o){this.token=o},o.prototype.getValidPeriod=function(){return this.validPeriod},o.prototype.setValidPeriod=function(o){this.validPeriod=o},o}();exports.TokenInfo=TokenInfo;
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Copyright (c) Huawei Technologies Co., Ltd. 2023 All rights reserved.
3
+ */
4
+ import { BaseResponse } from "../../common-server";
5
+ import { TokenInfo } from "./token-info";
6
+ export declare class VerifyTokenRsp extends BaseResponse {
7
+ private productId;
8
+ private accessToken;
9
+ private uid;
10
+ getUid(): string | undefined;
11
+ getAccessToken(): TokenInfo | undefined;
12
+ getProductId(): string | undefined;
13
+ constructResponse(response: any): void;
14
+ }
@@ -0,0 +1 @@
1
+ "use strict";var __extends=this&&this.__extends||function(){var e=function(t,o){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o])},e(t,o)};return function(t,o){if("function"!=typeof o&&null!==o)throw new TypeError("Class extends value "+String(o)+" is not a constructor or null");function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}();Object.defineProperty(exports,"__esModule",{value:!0}),exports.VerifyTokenRsp=void 0;var common_server_1=require("../../common-server"),token_info_1=require("./token-info"),VerifyTokenRsp=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return __extends(t,e),t.prototype.getUid=function(){return this.uid},t.prototype.getAccessToken=function(){return this.accessToken},t.prototype.getProductId=function(){return this.productId},t.prototype.constructResponse=function(e){this.productId=e.data.productId,this.accessToken=new token_info_1.TokenInfo,e.data.accessToken&&(this.accessToken.setToken(e.data.accessToken.token),this.accessToken.setValidPeriod(e.data.accessToken.validPeriod)),this.uid=e.data.uid},t}(common_server_1.BaseResponse);exports.VerifyTokenRsp=VerifyTokenRsp;
@@ -0,0 +1,4 @@
1
+ import { AGCAuthService } from "./impl/agc-auth-service";
2
+ export declare class AGCAuth {
3
+ static getInstance(name?: string): AGCAuthService;
4
+ }
@@ -0,0 +1 @@
1
+ "use strict";var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.AGCAuth=void 0;var common_server_1=require("../../common-server"),agc_auth_service_impl_1=require("./impl/agc-auth-service-impl"),path_1=__importDefault(require("path")),AGCAuth=function(){function e(){}return e.getInstance=function(e){var t=path_1.default.join(__dirname,"../agconnect-auth.json");return common_server_1.ServiceFactory.initializeService(common_server_1.AGCClient.getInstance(e),agc_auth_service_impl_1.SERVICE_NAME,(function(){return new agc_auth_service_impl_1.AGCAuthServiceImpl}),t)},e}();exports.AGCAuth=AGCAuth;
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Copyright (c) Huawei Technologies Co., Ltd. 2023 All rights reserved.
3
+ */
4
+ import { AGCAuthJwtToken } from "../../jwt/agc-auth-jwttoken";
5
+ import { RSAKeyPair } from "../../jwt/rsa-key-pair";
6
+ import { UserImportExportResult } from "../../entity/user-import-export-result";
7
+ import { AGCClient, AGCService } from "../../../common-server";
8
+ import { AGCAuthService } from "./agc-auth-service";
9
+ import { AuthAccessToken } from "../../entity/auth-access-token";
10
+ export declare const SERVICE_NAME = "AUTH";
11
+ export declare class AGCAuthServiceImpl implements AGCAuthService, AGCService {
12
+ private static RSA_KEY_SIZE;
13
+ private static ONE_HOUR_SECOND;
14
+ private static IMPORT_USER_LIMIT_SIZE;
15
+ private static HTTP_STATUS_UNAUTHORIZED;
16
+ private static THIRD_ACCESS_TOKEN_AUTH_FAILED;
17
+ /**
18
+ * invalid access token
19
+ */
20
+ private static INVALID_ACCESS_TOKEN;
21
+ /**
22
+ * expire token
23
+ */
24
+ private static EXPIRED_TOKEN;
25
+ /**
26
+ * revoke token
27
+ */
28
+ private static REVOKE_TOKEN;
29
+ private client;
30
+ sign(uid: string, displayName: string, photoUrl: string, privateKey: string): AGCAuthJwtToken;
31
+ generateKey(): RSAKeyPair;
32
+ importUserData(filePath: string): Promise<UserImportExportResult>;
33
+ exportUserData(filePath: string): Promise<UserImportExportResult>;
34
+ revokeRefreshTokens(uid: string): Promise<void>;
35
+ verifyAccessToken(accessToken: string, checkRevoked: boolean): Promise<AuthAccessToken>;
36
+ initialize(client: AGCClient): void;
37
+ getServiceName(): string;
38
+ private doTokenVerifyRequest;
39
+ private buildAuthAccessToken;
40
+ private readImportUsers;
41
+ private getExportSuccessFailList;
42
+ private getImportSuccessFailList;
43
+ private writeObjectToFile;
44
+ private sendRequestGetBlockUserList;
45
+ private sendRequestGetExportUser;
46
+ }
@@ -0,0 +1 @@
1
+ "use strict";var __awaiter=this&&this.__awaiter||function(e,r,t,_){return new(t||(t=Promise))((function(i,a){function o(e){try{n(_.next(e))}catch(e){a(e)}}function s(e){try{n(_.throw(e))}catch(e){a(e)}}function n(e){var r;e.done?i(e.value):(r=e.value,r instanceof t?r:new t((function(e){e(r)}))).then(o,s)}n((_=_.apply(e,r||[])).next())}))},__generator=this&&this.__generator||function(e,r){var t,_,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(s){return function(n){return function(s){if(t)throw new TypeError("Generator is already executing.");for(;a&&(a=0,s[0]&&(o=0)),o;)try{if(t=1,_&&(i=2&s[0]?_.return:s[0]?_.throw||((i=_.return)&&i.call(_),0):_.next)&&!(i=i.call(_,s[1])).done)return i;switch(_=0,i&&(s=[2&s[0],i.value]),s[0]){case 0:case 1:i=s;break;case 4:return o.label++,{value:s[1],done:!1};case 5:o.label++,_=s[1],s=[0];continue;case 7:s=o.ops.pop(),o.trys.pop();continue;default:if(!(i=o.trys,(i=i.length>0&&i[i.length-1])||6!==s[0]&&2!==s[0])){o=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]<i[3])){o.label=s[1];break}if(6===s[0]&&o.label<i[1]){o.label=i[1],i=s;break}if(i&&o.label<i[2]){o.label=i[2],o.ops.push(s);break}i[2]&&o.ops.pop(),o.trys.pop();continue}s=r.call(e,o)}catch(e){s=[6,e],_=0}finally{t=i=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,n])}}},__read=this&&this.__read||function(e,r){var t="function"==typeof Symbol&&e[Symbol.iterator];if(!t)return e;var _,i,a=t.call(e),o=[];try{for(;(void 0===r||r-- >0)&&!(_=a.next()).done;)o.push(_.value)}catch(e){i={error:e}}finally{try{_&&!_.done&&(t=a.return)&&t.call(a)}finally{if(i)throw i.error}}return o},__spreadArray=this&&this.__spreadArray||function(e,r,t){if(t||2===arguments.length)for(var _,i=0,a=r.length;i<a;i++)!_&&i in r||(_||(_=Array.prototype.slice.call(r,0,i)),_[i]=r[i]);return e.concat(_||Array.prototype.slice.call(r))},__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.AGCAuthServiceImpl=exports.SERVICE_NAME=void 0;var agc_auth_jwttoken_1=require("../../jwt/agc-auth-jwttoken"),user_import_export_result_1=require("../../entity/user-import-export-result"),auth_access_token_impl_1=require("../../entity/auth-access-token-impl"),crypto_1=require("crypto"),import_export_user_info_1=require("../../request/import-export-user-info"),common_server_1=require("../../../common-server"),auth_backend_1=require("../../backend/auth-backend"),import_user_rsp_1=require("../../response/import-user-rsp"),auth_operate_rsp_1=require("../../response/auth-operate-rsp"),export_user_list_rsp_1=require("../../response/export-user-list-rsp"),export_user_rsp_1=require("../../response/export-user-rsp"),agc_auth_jwt_1=require("../../jwt/agc-auth-jwt"),fs_1=__importDefault(require("fs")),agc_auth_error_1=require("../../error/agc-auth-error"),agc_auth_error_message_1=require("../../error/agc-auth-error-message"),key_header_util_1=require("../../utils/key-header-util"),auth_service_api_util_1=require("../../utils/auth-service-api-util"),import_user_req_1=require("../../request/import-user-req"),export_user_list_req_1=require("../../request/export-user-list-req"),export_user_req_1=require("../../request/export-user-req"),revoke_token_req_1=require("../../request/revoke-token-req"),verify_token_rsp_1=require("../../response/verify-token-rsp"),agc_auth_public_keys_manager_1=require("../../jwt/agc-auth-public-keys-manager"),agc_auth_rsa_verifier_1=require("../../jwt/agc-auth-rsa-verifier"),verify_token_req_1=require("../../request/verify-token-req");exports.SERVICE_NAME="AUTH";var AGCAuthServiceImpl=function(){function e(){}return e.prototype.sign=function(r,t,_,i){if(auth_service_api_util_1.AuthServiceApiUtil.checkCredential(this.client),!r)throw new agc_auth_error_1.AGCAuthError(agc_auth_error_message_1.AuthErrorCode.UID_IS_INVALID,this.client.getName());if(!i)throw new agc_auth_error_1.AGCAuthError(agc_auth_error_message_1.AuthErrorCode.SIGN_PRIVATE_KEY_IS_INVALID,this.client.getName());var a,o=Math.round((new Date).getTime()/1e3)+e.ONE_HOUR_SECOND*common_server_1.ConfigService.getService("AUTH").getConfigValue("jwt_expires_time");try{a=decodeURI(_)}catch(e){throw new agc_auth_error_1.AGCAuthError(agc_auth_error_message_1.AuthErrorCode.PHOTOURL_INVALID,this.client.getName())}var s={uid:r,photoUrl:a,exp:o,displayName:t};try{var n=Buffer.from(JSON.stringify({alg:"RS256",typ:"JWT"})).toString("base64"),u=Buffer.from(JSON.stringify(s)).toString("base64"),c=(0,crypto_1.createSign)("RSA-SHA256");c.update(n+"."+u),c.end();var h={key:key_header_util_1.KeyHeaderUtil.addPrivateKeyHeaderAndEnd(i),padding:crypto_1.constants.RSA_PKCS1_PSS_PADDING,saltLength:crypto_1.constants.RSA_PSS_SALTLEN_DIGEST},l=n+"."+u+"."+c.sign(h,"base64").replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_");return new agc_auth_jwttoken_1.AGCAuthJwtToken(l,o)}catch(e){throw new agc_auth_error_1.AGCAuthError(agc_auth_error_message_1.AuthErrorCode.FAILED_TO_SIGN_JWT_TOKEN,this.client.getName(),e)}},e.prototype.generateKey=function(){auth_service_api_util_1.AuthServiceApiUtil.checkCredential(this.client);try{var r=(0,crypto_1.generateKeyPairSync)("rsa",{modulusLength:e.RSA_KEY_SIZE,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}}),t=r.publicKey,_=r.privateKey,i=key_header_util_1.KeyHeaderUtil.removeWrap(key_header_util_1.KeyHeaderUtil.removePublicKeyHeaderAndEnd(t)),a=key_header_util_1.KeyHeaderUtil.removeWrap(key_header_util_1.KeyHeaderUtil.removePrivateKeyHeaderAndEnd(_));return{getPublicKey:function(){return i},getPrivateKey:function(){return a}}}catch(e){throw new agc_auth_error_1.AGCAuthError(agc_auth_error_message_1.AuthErrorCode.FAILED_TO_GENERATE_RSA_KEY_PAIR,this.client.getName(),e)}},e.prototype.importUserData=function(r){return __awaiter(this,void 0,void 0,(function(){var t,_,i,a,o,s,n,u=this;return __generator(this,(function(c){switch(c.label){case 0:if(auth_service_api_util_1.AuthServiceApiUtil.checkCredential(this.client),auth_service_api_util_1.AuthServiceApiUtil.checkReadFilePath(r,this.client),!(t=this.readImportUsers(r))||0==t.length)throw new agc_auth_error_1.AGCAuthError(agc_auth_error_message_1.AuthErrorCode.INVALID_IMPORT_USER_DATA,this.client.getName());if(t.length>common_server_1.ConfigService.getService("AUTH").getConfigValue("import_user_limit_size"))throw new agc_auth_error_1.AGCAuthError(agc_auth_error_message_1.AuthErrorCode.IMPORT_USER_DATA_OVER_LIMIT_SIZE,this.client.getName());for(_=[],i=[],a=0;a<t.length;a+=e.IMPORT_USER_LIMIT_SIZE)_.push(t.slice(a,a+e.IMPORT_USER_LIMIT_SIZE));a=0,c.label=1;case 1:return a<_.length?(o=new import_user_req_1.ImportUserReq(_[a],this.client),s=new import_user_rsp_1.ImportUserRsp,[4,auth_backend_1.AuthBackend.post(o,s,!0).catch((function(e){throw new agc_auth_error_1.AGCAuthError(agc_auth_error_message_1.AuthErrorCode.IMPORT_USER_FAILED,u.client.getName(),e)}))]):[3,4];case 2:if(c.sent(),0!==s.getRet().getCode())throw new agc_auth_error_1.AGCAuthError(agc_auth_error_message_1.AuthErrorCode.IMPORT_USER_FAILED,this.client.getName(),{message:JSON.stringify(s.getRet())});i.push.apply(i,__spreadArray([],__read(s.getImportedUsers()),!1)),c.label=3;case 3:return a++,[3,1];case 4:return n=this.getExportSuccessFailList(t,i),[2,new user_import_export_result_1.UserImportExportResult(n[0],n[1])]}}))}))},e.prototype.exportUserData=function(e){return __awaiter(this,void 0,void 0,(function(){var r,t,_,i,a,o,s,n,u;return __generator(this,(function(c){switch(c.label){case 0:return auth_service_api_util_1.AuthServiceApiUtil.checkCredential(this.client),auth_service_api_util_1.AuthServiceApiUtil.checkWriteFilePath(e,this.client),[4,this.sendRequestGetBlockUserList(0)];case 1:if(r=c.sent(),t=r.getTotalBlock(),0==(_=r.getUids()).length)return[2,Promise.resolve(new user_import_export_result_1.UserImportExportResult([],[]))];if(i=[],a=[],null==t)return[3,5];if(!(t>0))return[3,5];n=1,c.label=2;case 2:return n<t?[4,this.sendRequestGetBlockUserList(n)]:[3,5];case 3:o=c.sent(),0!=(s=o.getUids()).length&&_.push.apply(_,__spreadArray([],__read(s),!1)),c.label=4;case 4:return n++,[3,2];case 5:n=0,c.label=6;case 6:return n<_.length?[4,this.sendRequestGetExportUser(_[n]).then((function(e){null!=e.getUser()&&(a.push(e.getUser()),i.push(e.getUser().getUid()))})).catch((function(e){}))]:[3,9];case 7:c.sent(),c.label=8;case 8:return n++,[3,6];case 9:return this.writeObjectToFile(a,e),u=this.getImportSuccessFailList(_,i),[2,new user_import_export_result_1.UserImportExportResult(u[0],u[1])]}}))}))},e.prototype.revokeRefreshTokens=function(e){return __awaiter(this,void 0,void 0,(function(){var r,t,_=this;return __generator(this,(function(i){switch(i.label){case 0:if(auth_service_api_util_1.AuthServiceApiUtil.checkCredential(this.client),!e)throw new agc_auth_error_1.AGCAuthError(agc_auth_error_message_1.AuthErrorCode.REVOKE_REFRESH_TOKENS_UID_IS_NULL,this.client.getName());return r=new revoke_token_req_1.RevokeTokenReq(e,this.client),t=new auth_operate_rsp_1.AuthOperateRsp,[4,auth_backend_1.AuthBackend.post(r,t,!0).catch((function(e){throw new agc_auth_error_1.AGCAuthError(agc_auth_error_message_1.AuthErrorCode.REVOKE_REFRESH_TOKENS_FAILED,_.client.getName(),e)}))];case 1:if(i.sent(),0!=t.getRet().getCode())throw new agc_auth_error_1.AGCAuthError(agc_auth_error_message_1.AuthErrorCode.REVOKE_REFRESH_TOKENS_FAILED,this.client.getName(),{message:JSON.stringify(t.getRet())});return[2,Promise.resolve()]}}))}))},e.prototype.verifyAccessToken=function(e,r){return __awaiter(this,void 0,void 0,(function(){var t,_,i,a,o,s,n;return __generator(this,(function(u){switch(u.label){case 0:if(auth_service_api_util_1.AuthServiceApiUtil.checkCredential(this.client),auth_service_api_util_1.AuthServiceApiUtil.checkAccessToken(e,this.client),t=agc_auth_jwt_1.AGCAuthJwt.parse(e),null!=(_=t.parseAlg()))return[3,1];throw new agc_auth_error_1.AGCAuthError(agc_auth_error_message_1.AuthErrorCode.ACCESS_TOKEN_ALG_IS_INVALID,this.client.getName());case 1:return"HS512"!==_?[3,3]:[4,this.doTokenVerifyRequest(e)];case 2:return i=u.sent(),[2,Promise.resolve(this.buildAuthAccessToken(i))];case 3:if(null==(a=t.parseKid()))throw new agc_auth_error_1.AGCAuthError(agc_auth_error_message_1.AuthErrorCode.ACCESS_TOKEN_KID_IS_INVALID,this.client.getName());return[4,agc_auth_public_keys_manager_1.AGCAuthPublicKeysManager.getPublicKey(a,this.client)];case 4:if(o=u.sent(),s=agc_auth_rsa_verifier_1.AGCAuthRsaVerifier.verify(o,e,t.parseAlg(),this.client),t.expire())throw new agc_auth_error_1.AGCAuthError(agc_auth_error_message_1.AuthErrorCode.JWT_EXPIRE,this.client.getName());return r?[4,this.doTokenVerifyRequest(e)]:[3,6];case 5:u.sent(),u.label=6;case 6:return n=new auth_access_token_impl_1.AuthAccessTokenImpl(s),[2,Promise.resolve(n)]}}))}))},e.prototype.initialize=function(e){this.client=e},e.prototype.getServiceName=function(){return exports.SERVICE_NAME},e.prototype.doTokenVerifyRequest=function(r){return __awaiter(this,void 0,void 0,(function(){var t,_,i=this;return __generator(this,(function(a){switch(a.label){case 0:return t=new verify_token_req_1.VerifyTokenReq(r,this.client),_=new verify_token_rsp_1.VerifyTokenRsp,[4,auth_backend_1.AuthBackend.get(t,_,!0).catch((function(r){if(r.response&&r.response.status&&r.response.status==e.HTTP_STATUS_UNAUTHORIZED||r.data&&r.data.ret&&r.data.ret.code&&r.data.ret.code==e.THIRD_ACCESS_TOKEN_AUTH_FAILED)throw new agc_auth_error_1.AGCAuthError(agc_auth_error_message_1.AuthErrorCode.JWT_REVOKED,i.client.getName());throw new agc_auth_error_1.AGCAuthError(agc_auth_error_message_1.AuthErrorCode.JWT_VERIFY_FAILED,i.client.getName(),r)}))];case 1:if(a.sent(),0!=_.getRet().getCode()){if(_.getRet().getCode()==e.INVALID_ACCESS_TOKEN)throw new agc_auth_error_1.AGCAuthError(agc_auth_error_message_1.AuthErrorCode.JWT_VERIFY_FAILED,this.client.getName());if(_.getRet().getCode()==e.EXPIRED_TOKEN)throw new agc_auth_error_1.AGCAuthError(agc_auth_error_message_1.AuthErrorCode.JWT_EXPIRE,this.client.getName());if(_.getRet().getCode()==e.REVOKE_TOKEN)throw new agc_auth_error_1.AGCAuthError(agc_auth_error_message_1.AuthErrorCode.JWT_REVOKED,this.client.getName());throw new agc_auth_error_1.AGCAuthError(agc_auth_error_message_1.AuthErrorCode.INVOKE_INTERFACE_FAIL,this.client.getName(),{message:JSON.stringify(_.getRet())})}return[2,Promise.resolve(_)]}}))}))},e.prototype.buildAuthAccessToken=function(e){var r=new auth_access_token_impl_1.AuthAccessTokenImpl;r.setSub(e.getUid()),r.setAud(e.getProductId());var t=Math.round((new Date).getTime()/1e3);return e.getAccessToken()&&null!=e.getAccessToken().getValidPeriod()&&null!=e.getAccessToken().getValidPeriod()&&r.setExp(t+e.getAccessToken().getValidPeriod()),r.setIat(t),r.setIss("https://agc.developer.huawei.com/"+e.getProductId()),r},e.prototype.readImportUsers=function(e){try{var r=fs_1.default.readFileSync(e,"utf8"),t=JSON.parse(r),_=[];if(t&&t.users&&Array.isArray(t.users)){for(var i=0;i<t.users.length;i++){var a=new import_export_user_info_1.ImportExportUserInfo;a.constructImportUserInfo(t.users[i]),_.push(a)}return _}}catch(e){return[]}return[]},e.prototype.getExportSuccessFailList=function(e,r){for(var t=[],_=[],i=0;i<e.length;i++)_.push(e[i].getUid());for(i=0;i<r.length;i++){t.push(r[i].getImportUid());var a=_.indexOf(r[i].getImportUid());a>-1&&_.splice(a,1)}var o=[[],[]];return o[0]=t,o[1]=_,o},e.prototype.getImportSuccessFailList=function(e,r){for(var t=[],_=[],i=0;i<e.length;i++)_.push(e[i]);for(i=0;i<r.length;i++){t.push(r[i]);var a=_.indexOf(r[i]);a>-1&&_.splice(a,1)}var o=[[],[]];return o[0]=t,o[1]=_,o},e.prototype.writeObjectToFile=function(e,r){if(e&&e.length>0){var t={users:e};try{fs_1.default.writeFileSync(r,JSON.stringify(t,null,4))}catch(e){throw new agc_auth_error_1.AGCAuthError(agc_auth_error_message_1.AuthErrorCode.EXPORT_USER_TO_FILE_FAILED,this.client.getName(),e)}}},e.prototype.sendRequestGetBlockUserList=function(e){return __awaiter(this,void 0,void 0,(function(){var r,t,_=this;return __generator(this,(function(i){switch(i.label){case 0:return r=new export_user_list_req_1.ExportUserListReq(e,this.client),t=new export_user_list_rsp_1.ExportUserListRsp,[4,auth_backend_1.AuthBackend.get(r,t,!0).catch((function(e){return Promise.reject(new agc_auth_error_1.AGCAuthError(agc_auth_error_message_1.AuthErrorCode.GET_BLOCK_USER_LIST_FAILED,_.client.getName(),e))}))];case 1:return i.sent(),0!=t.getRet().getCode()?[2,Promise.reject(new agc_auth_error_1.AGCAuthError(agc_auth_error_message_1.AuthErrorCode.GET_BLOCK_USER_LIST_FAILED,this.client.getName(),{message:JSON.stringify(t.getRet())}))]:[2,Promise.resolve(t)]}}))}))},e.prototype.sendRequestGetExportUser=function(e){return __awaiter(this,void 0,void 0,(function(){var r,t,_=this;return __generator(this,(function(i){switch(i.label){case 0:return r=new export_user_req_1.ExportUserReq(e,this.client),t=new export_user_rsp_1.ExportUserRsp,[4,auth_backend_1.AuthBackend.get(r,t,!0).catch((function(e){return Promise.reject(new agc_auth_error_1.AGCAuthError(agc_auth_error_message_1.AuthErrorCode.GET_EXPORT_USER_FAILED,_.client.getName(),e))}))];case 1:return i.sent(),0!=t.getRet().getCode()?[2,Promise.reject(new agc_auth_error_1.AGCAuthError(agc_auth_error_message_1.AuthErrorCode.GET_EXPORT_USER_FAILED,this.client.getName(),{message:JSON.stringify(t.getRet())}))]:[2,Promise.resolve(t)]}}))}))},e.RSA_KEY_SIZE=3072,e.ONE_HOUR_SECOND=3600,e.IMPORT_USER_LIMIT_SIZE=10,e.HTTP_STATUS_UNAUTHORIZED=401,e.THIRD_ACCESS_TOKEN_AUTH_FAILED=205524994,e.INVALID_ACCESS_TOKEN=203817985,e.EXPIRED_TOKEN=203818357,e.REVOKE_TOKEN=203818359,e}();exports.AGCAuthServiceImpl=AGCAuthServiceImpl;