authing_ruby 1.1.0 → 1.1.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (473) hide show
  1. checksums.yaml +4 -4
  2. data/authing_ruby.gemspec +4 -2
  3. data/lib/authing_ruby/GraphQLAPI.rb +13 -2
  4. data/lib/authing_ruby/authentication/AuthenticationClient.rb +24 -0
  5. data/lib/authing_ruby/common/PublicKeyManager.rb +12 -1
  6. data/lib/authing_ruby/graphql/mutations/updatePhone.gql +63 -0
  7. data/lib/authing_ruby/management/ManagementClient.rb +1 -1
  8. data/lib/authing_ruby/management/ManagementTokenProvider.rb +2 -5
  9. data/lib/authing_ruby/management/UsersManagementClient.rb +32 -18
  10. data/lib/authing_ruby/test/helper.rb +6 -2
  11. data/lib/authing_ruby/test/mini_test/TestApplicationsManagementClient.rb +2 -2
  12. data/lib/authing_ruby/test/mini_test/TestAuthenticationClient.rb +0 -4
  13. data/lib/authing_ruby/test/mini_test/TestManagementClient.rb +37 -49
  14. data/lib/authing_ruby/test/mini_test/TestSMSandEmail.rb +47 -3
  15. data/lib/authing_ruby/version.rb +1 -1
  16. metadata +14 -470
  17. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/CONTRIBUTION.md +0 -23
  18. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/LICENSE +0 -21
  19. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/README.md +0 -303
  20. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build-doc.js +0 -520
  21. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/browser/index.min.js +0 -2
  22. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/browser/index.min.js.LICENSE.txt +0 -91
  23. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/index.d.ts +0 -7
  24. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/index.js +0 -20
  25. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/authentication/AuthenticationClient.d.ts +0 -1118
  26. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/authentication/AuthenticationClient.js +0 -2859
  27. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/authentication/AuthenticationTokenProvider.d.ts +0 -13
  28. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/authentication/AuthenticationTokenProvider.js +0 -56
  29. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/authentication/BaseAuthenticationClient.d.ts +0 -6
  30. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/authentication/BaseAuthenticationClient.js +0 -31
  31. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/authentication/EnterpriseAuthenticationClient.d.ts +0 -92
  32. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/authentication/EnterpriseAuthenticationClient.js +0 -250
  33. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/authentication/MfaAuthenticationClient.d.ts +0 -303
  34. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/authentication/MfaAuthenticationClient.js +0 -665
  35. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/authentication/QrCodeAuthenticationClient.d.ts +0 -232
  36. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/authentication/QrCodeAuthenticationClient.js +0 -622
  37. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/authentication/SocialAuthenticationClient.d.ts +0 -104
  38. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/authentication/SocialAuthenticationClient.js +0 -180
  39. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/authentication/types.d.ts +0 -341
  40. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/authentication/types.js +0 -69
  41. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/common/GraphqlClient.d.ts +0 -14
  42. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/common/GraphqlClient.js +0 -127
  43. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/common/HttpClient.d.ts +0 -19
  44. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/common/HttpClient.js +0 -151
  45. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/common/PublicKeyManager.d.ts +0 -18
  46. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/common/PublicKeyManager.js +0 -81
  47. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/graphqlapi.d.ts +0 -121
  48. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/graphqlapi.js +0 -2002
  49. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/AclManagementClient.d.ts +0 -236
  50. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/AclManagementClient.js +0 -863
  51. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/AgreementManagementClient.d.ts +0 -65
  52. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/AgreementManagementClient.js +0 -195
  53. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/ApplicationsManagementClient.d.ts +0 -216
  54. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/ApplicationsManagementClient.js +0 -533
  55. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/GroupsManagementClient.d.ts +0 -188
  56. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/GroupsManagementClient.js +0 -404
  57. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/MFAManagementClient.d.ts +0 -58
  58. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/MFAManagementClient.js +0 -126
  59. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/ManagementClient.d.ts +0 -79
  60. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/ManagementClient.js +0 -203
  61. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/ManagementTokenProvider.d.ts +0 -39
  62. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/ManagementTokenProvider.js +0 -159
  63. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/OrgManagementClient.d.ts +0 -521
  64. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/OrgManagementClient.js +0 -840
  65. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/PoliciesManagementClient.d.ts +0 -304
  66. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/PoliciesManagementClient.js +0 -512
  67. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/RolesManagementClient.d.ts +0 -296
  68. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/RolesManagementClient.js +0 -711
  69. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/StatisticsManagementClient.d.ts +0 -56
  70. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/StatisticsManagementClient.js +0 -198
  71. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/UdfManagementClient.d.ts +0 -146
  72. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/UdfManagementClient.js +0 -264
  73. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/UserActionManagementClient.d.ts +0 -44
  74. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/UserActionManagementClient.js +0 -106
  75. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/UserpoolManagementClient.d.ts +0 -142
  76. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/UserpoolManagementClient.js +0 -241
  77. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/UsersManagementClient.d.ts +0 -784
  78. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/UsersManagementClient.js +0 -1251
  79. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/WhitelistManagementClient.d.ts +0 -114
  80. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/WhitelistManagementClient.js +0 -259
  81. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/types.d.ts +0 -992
  82. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/types.js +0 -96
  83. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/platform/express/index.d.ts +0 -30
  84. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/platform/express/index.js +0 -126
  85. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/testing-helper.d.ts +0 -31
  86. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/testing-helper.js +0 -67
  87. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/utils.d.ts +0 -53
  88. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/utils.js +0 -343
  89. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/version.d.ts +0 -1
  90. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/version.js +0 -5
  91. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/types/graphql.v2.d.ts +0 -6241
  92. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/types/graphql.v2.js +0 -251
  93. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/types/index.d.ts +0 -7
  94. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/types/index.js +0 -3
  95. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/index.d.ts +0 -7
  96. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/index.js +0 -8
  97. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/authentication/AuthenticationClient.d.ts +0 -1118
  98. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/authentication/AuthenticationClient.js +0 -2853
  99. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/authentication/AuthenticationTokenProvider.d.ts +0 -13
  100. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/authentication/AuthenticationTokenProvider.js +0 -53
  101. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/authentication/BaseAuthenticationClient.d.ts +0 -6
  102. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/authentication/BaseAuthenticationClient.js +0 -28
  103. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/authentication/EnterpriseAuthenticationClient.d.ts +0 -92
  104. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/authentication/EnterpriseAuthenticationClient.js +0 -247
  105. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/authentication/MfaAuthenticationClient.d.ts +0 -303
  106. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/authentication/MfaAuthenticationClient.js +0 -662
  107. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/authentication/QrCodeAuthenticationClient.d.ts +0 -232
  108. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/authentication/QrCodeAuthenticationClient.js +0 -619
  109. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/authentication/SocialAuthenticationClient.d.ts +0 -104
  110. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/authentication/SocialAuthenticationClient.js +0 -177
  111. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/authentication/types.d.ts +0 -341
  112. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/authentication/types.js +0 -66
  113. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/common/GraphqlClient.d.ts +0 -14
  114. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/common/GraphqlClient.js +0 -121
  115. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/common/HttpClient.d.ts +0 -19
  116. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/common/HttpClient.js +0 -145
  117. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/common/PublicKeyManager.d.ts +0 -18
  118. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/common/PublicKeyManager.js +0 -78
  119. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/graphqlapi.d.ts +0 -121
  120. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/graphqlapi.js +0 -1999
  121. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/AclManagementClient.d.ts +0 -236
  122. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/AclManagementClient.js +0 -860
  123. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/AgreementManagementClient.d.ts +0 -65
  124. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/AgreementManagementClient.js +0 -192
  125. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/ApplicationsManagementClient.d.ts +0 -216
  126. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/ApplicationsManagementClient.js +0 -530
  127. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/GroupsManagementClient.d.ts +0 -188
  128. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/GroupsManagementClient.js +0 -401
  129. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/MFAManagementClient.d.ts +0 -58
  130. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/MFAManagementClient.js +0 -123
  131. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/ManagementClient.d.ts +0 -79
  132. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/ManagementClient.js +0 -197
  133. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/ManagementTokenProvider.d.ts +0 -39
  134. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/ManagementTokenProvider.js +0 -153
  135. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/OrgManagementClient.d.ts +0 -521
  136. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/OrgManagementClient.js +0 -818
  137. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/PoliciesManagementClient.d.ts +0 -304
  138. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/PoliciesManagementClient.js +0 -509
  139. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/RolesManagementClient.d.ts +0 -296
  140. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/RolesManagementClient.js +0 -708
  141. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/StatisticsManagementClient.d.ts +0 -56
  142. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/StatisticsManagementClient.js +0 -195
  143. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/UdfManagementClient.d.ts +0 -146
  144. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/UdfManagementClient.js +0 -261
  145. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/UserActionManagementClient.d.ts +0 -44
  146. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/UserActionManagementClient.js +0 -103
  147. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/UserpoolManagementClient.d.ts +0 -142
  148. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/UserpoolManagementClient.js +0 -238
  149. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/UsersManagementClient.d.ts +0 -784
  150. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/UsersManagementClient.js +0 -1248
  151. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/WhitelistManagementClient.d.ts +0 -114
  152. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/WhitelistManagementClient.js +0 -256
  153. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/types.d.ts +0 -992
  154. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/types.js +0 -93
  155. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/platform/express/index.d.ts +0 -30
  156. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/platform/express/index.js +0 -123
  157. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/testing-helper.d.ts +0 -31
  158. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/testing-helper.js +0 -62
  159. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/utils.d.ts +0 -53
  160. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/utils.js +0 -336
  161. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/version.d.ts +0 -1
  162. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/version.js +0 -2
  163. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/types/graphql.v2.d.ts +0 -6241
  164. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/types/graphql.v2.js +0 -248
  165. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/types/index.d.ts +0 -7
  166. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/types/index.js +0 -1
  167. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/index.d.ts +0 -7
  168. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/index.js +0 -30
  169. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/authentication/AuthenticationClient.d.ts +0 -1118
  170. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/authentication/AuthenticationClient.js +0 -2869
  171. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/authentication/AuthenticationTokenProvider.d.ts +0 -13
  172. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/authentication/AuthenticationTokenProvider.js +0 -66
  173. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/authentication/BaseAuthenticationClient.d.ts +0 -6
  174. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/authentication/BaseAuthenticationClient.js +0 -41
  175. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/authentication/EnterpriseAuthenticationClient.d.ts +0 -92
  176. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/authentication/EnterpriseAuthenticationClient.js +0 -260
  177. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/authentication/MfaAuthenticationClient.d.ts +0 -303
  178. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/authentication/MfaAuthenticationClient.js +0 -675
  179. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/authentication/QrCodeAuthenticationClient.d.ts +0 -232
  180. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/authentication/QrCodeAuthenticationClient.js +0 -632
  181. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/authentication/SocialAuthenticationClient.d.ts +0 -104
  182. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/authentication/SocialAuthenticationClient.js +0 -190
  183. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/authentication/types.d.ts +0 -341
  184. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/authentication/types.js +0 -79
  185. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/common/GraphqlClient.d.ts +0 -14
  186. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/common/GraphqlClient.js +0 -137
  187. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/common/HttpClient.d.ts +0 -19
  188. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/common/HttpClient.js +0 -161
  189. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/common/PublicKeyManager.d.ts +0 -18
  190. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/common/PublicKeyManager.js +0 -91
  191. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/graphqlapi.d.ts +0 -121
  192. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/graphqlapi.js +0 -2012
  193. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/AclManagementClient.d.ts +0 -236
  194. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/AclManagementClient.js +0 -873
  195. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/AgreementManagementClient.d.ts +0 -65
  196. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/AgreementManagementClient.js +0 -205
  197. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/ApplicationsManagementClient.d.ts +0 -216
  198. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/ApplicationsManagementClient.js +0 -543
  199. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/GroupsManagementClient.d.ts +0 -188
  200. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/GroupsManagementClient.js +0 -414
  201. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/MFAManagementClient.d.ts +0 -58
  202. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/MFAManagementClient.js +0 -136
  203. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/ManagementClient.d.ts +0 -79
  204. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/ManagementClient.js +0 -213
  205. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/ManagementTokenProvider.d.ts +0 -39
  206. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/ManagementTokenProvider.js +0 -169
  207. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/OrgManagementClient.d.ts +0 -521
  208. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/OrgManagementClient.js +0 -850
  209. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/PoliciesManagementClient.d.ts +0 -304
  210. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/PoliciesManagementClient.js +0 -522
  211. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/RolesManagementClient.d.ts +0 -296
  212. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/RolesManagementClient.js +0 -721
  213. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/StatisticsManagementClient.d.ts +0 -56
  214. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/StatisticsManagementClient.js +0 -208
  215. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/UdfManagementClient.d.ts +0 -146
  216. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/UdfManagementClient.js +0 -274
  217. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/UserActionManagementClient.d.ts +0 -44
  218. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/UserActionManagementClient.js +0 -116
  219. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/UserpoolManagementClient.d.ts +0 -142
  220. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/UserpoolManagementClient.js +0 -251
  221. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/UsersManagementClient.d.ts +0 -784
  222. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/UsersManagementClient.js +0 -1261
  223. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/WhitelistManagementClient.d.ts +0 -114
  224. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/WhitelistManagementClient.js +0 -269
  225. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/types.d.ts +0 -992
  226. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/types.js +0 -106
  227. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/platform/express/index.d.ts +0 -30
  228. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/platform/express/index.js +0 -136
  229. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/testing-helper.d.ts +0 -31
  230. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/testing-helper.js +0 -77
  231. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/utils.d.ts +0 -53
  232. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/utils.js +0 -353
  233. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/version.d.ts +0 -1
  234. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/version.js +0 -15
  235. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/types/graphql.v2.d.ts +0 -6241
  236. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/types/graphql.v2.js +0 -261
  237. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/types/index.d.ts +0 -7
  238. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/types/index.js +0 -13
  239. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/CHANGELOG.md +0 -413
  240. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/LICENSE +0 -19
  241. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/README.md +0 -709
  242. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/UPGRADE_GUIDE.md +0 -162
  243. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/dist/axios.js +0 -1715
  244. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/dist/axios.map +0 -1
  245. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/dist/axios.min.js +0 -3
  246. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/dist/axios.min.map +0 -1
  247. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/index.d.ts +0 -157
  248. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/index.js +0 -1
  249. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/lib/adapters/README.md +0 -37
  250. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/lib/adapters/http.js +0 -279
  251. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/lib/adapters/xhr.js +0 -180
  252. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/lib/axios.js +0 -53
  253. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/lib/cancel/Cancel.js +0 -19
  254. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/lib/cancel/CancelToken.js +0 -57
  255. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/lib/cancel/isCancel.js +0 -5
  256. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/lib/core/Axios.js +0 -94
  257. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/lib/core/InterceptorManager.js +0 -52
  258. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/lib/core/README.md +0 -7
  259. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/lib/core/buildFullPath.js +0 -20
  260. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/lib/core/createError.js +0 -18
  261. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/lib/core/dispatchRequest.js +0 -79
  262. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/lib/core/enhanceError.js +0 -42
  263. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/lib/core/mergeConfig.js +0 -73
  264. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/lib/core/settle.js +0 -25
  265. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/lib/core/transformData.js +0 -20
  266. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/lib/defaults.js +0 -97
  267. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/lib/helpers/README.md +0 -7
  268. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/lib/helpers/bind.js +0 -11
  269. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/lib/helpers/buildURL.js +0 -71
  270. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/lib/helpers/combineURLs.js +0 -14
  271. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/lib/helpers/cookies.js +0 -53
  272. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/lib/helpers/deprecatedMethod.js +0 -24
  273. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/lib/helpers/isAbsoluteURL.js +0 -14
  274. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/lib/helpers/isURLSameOrigin.js +0 -68
  275. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/lib/helpers/normalizeHeaderName.js +0 -12
  276. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/lib/helpers/parseHeaders.js +0 -53
  277. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/lib/helpers/spread.js +0 -27
  278. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/lib/utils.js +0 -344
  279. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/package.json +0 -84
  280. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/follow-redirects/LICENSE +0 -18
  281. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/follow-redirects/README.md +0 -155
  282. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/follow-redirects/http.js +0 -1
  283. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/follow-redirects/https.js +0 -1
  284. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/follow-redirects/index.js +0 -322
  285. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/follow-redirects/package.json +0 -60
  286. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/package.json +0 -129
  287. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/tests/index.html +0 -21
  288. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/tsconfig.brower.json +0 -45
  289. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/tsconfig.node.json +0 -0
  290. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/webpack.config.js +0 -41
  291. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/CHANGELOG.md +0 -685
  292. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/LICENSE +0 -19
  293. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/README.md +0 -800
  294. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/UPGRADE_GUIDE.md +0 -162
  295. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/dist/axios.js +0 -1756
  296. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/dist/axios.map +0 -1
  297. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/dist/axios.min.js +0 -3
  298. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/dist/axios.min.map +0 -1
  299. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/index.d.ts +0 -161
  300. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/index.js +0 -1
  301. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/lib/adapters/README.md +0 -37
  302. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/lib/adapters/http.js +0 -303
  303. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/lib/adapters/xhr.js +0 -179
  304. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/lib/axios.js +0 -56
  305. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/lib/cancel/Cancel.js +0 -19
  306. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/lib/cancel/CancelToken.js +0 -57
  307. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/lib/cancel/isCancel.js +0 -5
  308. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/lib/core/Axios.js +0 -95
  309. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/lib/core/InterceptorManager.js +0 -52
  310. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/lib/core/README.md +0 -7
  311. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/lib/core/buildFullPath.js +0 -20
  312. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/lib/core/createError.js +0 -18
  313. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/lib/core/dispatchRequest.js +0 -79
  314. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/lib/core/enhanceError.js +0 -42
  315. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/lib/core/mergeConfig.js +0 -87
  316. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/lib/core/settle.js +0 -25
  317. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/lib/core/transformData.js +0 -20
  318. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/lib/defaults.js +0 -98
  319. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/lib/helpers/README.md +0 -7
  320. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/lib/helpers/bind.js +0 -11
  321. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/lib/helpers/buildURL.js +0 -70
  322. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/lib/helpers/combineURLs.js +0 -14
  323. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/lib/helpers/cookies.js +0 -53
  324. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/lib/helpers/deprecatedMethod.js +0 -24
  325. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/lib/helpers/isAbsoluteURL.js +0 -14
  326. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/lib/helpers/isAxiosError.js +0 -11
  327. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/lib/helpers/isURLSameOrigin.js +0 -68
  328. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/lib/helpers/normalizeHeaderName.js +0 -12
  329. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/lib/helpers/parseHeaders.js +0 -53
  330. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/lib/helpers/spread.js +0 -27
  331. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/lib/utils.js +0 -351
  332. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/package.json +0 -86
  333. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/CONTRIBUTING.md +0 -28
  334. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/LICENSE +0 -24
  335. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/README.md +0 -249
  336. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/aes.js +0 -234
  337. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/bower.json +0 -35
  338. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/cipher-core.js +0 -890
  339. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/core.js +0 -797
  340. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/crypto-js.js +0 -6059
  341. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/docs/QuickStartGuide.wiki +0 -470
  342. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/enc-base64.js +0 -136
  343. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/enc-hex.js +0 -18
  344. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/enc-latin1.js +0 -18
  345. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/enc-utf16.js +0 -149
  346. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/enc-utf8.js +0 -18
  347. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/evpkdf.js +0 -134
  348. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/format-hex.js +0 -66
  349. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/format-openssl.js +0 -18
  350. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/hmac-md5.js +0 -18
  351. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/hmac-ripemd160.js +0 -18
  352. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/hmac-sha1.js +0 -18
  353. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/hmac-sha224.js +0 -18
  354. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/hmac-sha256.js +0 -18
  355. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/hmac-sha3.js +0 -18
  356. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/hmac-sha384.js +0 -18
  357. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/hmac-sha512.js +0 -18
  358. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/hmac.js +0 -143
  359. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/index.js +0 -18
  360. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/lib-typedarrays.js +0 -76
  361. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/md5.js +0 -268
  362. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/mode-cfb.js +0 -80
  363. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/mode-ctr-gladman.js +0 -116
  364. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/mode-ctr.js +0 -58
  365. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/mode-ecb.js +0 -40
  366. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/mode-ofb.js +0 -54
  367. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/package.json +0 -38
  368. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/pad-ansix923.js +0 -49
  369. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/pad-iso10126.js +0 -44
  370. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/pad-iso97971.js +0 -40
  371. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/pad-nopadding.js +0 -30
  372. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/pad-pkcs7.js +0 -18
  373. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/pad-zeropadding.js +0 -47
  374. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/pbkdf2.js +0 -145
  375. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/rabbit-legacy.js +0 -190
  376. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/rabbit.js +0 -192
  377. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/rc4.js +0 -139
  378. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/ripemd160.js +0 -267
  379. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/sha1.js +0 -150
  380. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/sha224.js +0 -80
  381. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/sha256.js +0 -199
  382. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/sha3.js +0 -326
  383. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/sha384.js +0 -83
  384. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/sha512.js +0 -326
  385. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/tripledes.js +0 -779
  386. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/x64-core.js +0 -304
  387. data/lib/authing_ruby/test/js_sdk_test/node_modules/debug/CHANGELOG.md +0 -395
  388. data/lib/authing_ruby/test/js_sdk_test/node_modules/debug/LICENSE +0 -19
  389. data/lib/authing_ruby/test/js_sdk_test/node_modules/debug/Makefile +0 -58
  390. data/lib/authing_ruby/test/js_sdk_test/node_modules/debug/README.md +0 -368
  391. data/lib/authing_ruby/test/js_sdk_test/node_modules/debug/karma.conf.js +0 -70
  392. data/lib/authing_ruby/test/js_sdk_test/node_modules/debug/node.js +0 -1
  393. data/lib/authing_ruby/test/js_sdk_test/node_modules/debug/package.json +0 -43
  394. data/lib/authing_ruby/test/js_sdk_test/node_modules/debug/src/browser.js +0 -195
  395. data/lib/authing_ruby/test/js_sdk_test/node_modules/debug/src/debug.js +0 -225
  396. data/lib/authing_ruby/test/js_sdk_test/node_modules/debug/src/index.js +0 -10
  397. data/lib/authing_ruby/test/js_sdk_test/node_modules/debug/src/node.js +0 -186
  398. data/lib/authing_ruby/test/js_sdk_test/node_modules/dotenv/CHANGELOG.md +0 -210
  399. data/lib/authing_ruby/test/js_sdk_test/node_modules/dotenv/LICENSE +0 -23
  400. data/lib/authing_ruby/test/js_sdk_test/node_modules/dotenv/README.md +0 -275
  401. data/lib/authing_ruby/test/js_sdk_test/node_modules/dotenv/config.js +0 -11
  402. data/lib/authing_ruby/test/js_sdk_test/node_modules/dotenv/lib/cli-options.js +0 -13
  403. data/lib/authing_ruby/test/js_sdk_test/node_modules/dotenv/lib/env-options.js +0 -18
  404. data/lib/authing_ruby/test/js_sdk_test/node_modules/dotenv/lib/main.js +0 -118
  405. data/lib/authing_ruby/test/js_sdk_test/node_modules/dotenv/package.json +0 -57
  406. data/lib/authing_ruby/test/js_sdk_test/node_modules/dotenv/types/index.d.ts +0 -59
  407. data/lib/authing_ruby/test/js_sdk_test/node_modules/dotenv/types/test.ts +0 -19
  408. data/lib/authing_ruby/test/js_sdk_test/node_modules/dotenv/types/tsconfig.json +0 -15
  409. data/lib/authing_ruby/test/js_sdk_test/node_modules/dotenv/types/tslint.json +0 -6
  410. data/lib/authing_ruby/test/js_sdk_test/node_modules/follow-redirects/LICENSE +0 -18
  411. data/lib/authing_ruby/test/js_sdk_test/node_modules/follow-redirects/README.md +0 -148
  412. data/lib/authing_ruby/test/js_sdk_test/node_modules/follow-redirects/debug.js +0 -14
  413. data/lib/authing_ruby/test/js_sdk_test/node_modules/follow-redirects/http.js +0 -1
  414. data/lib/authing_ruby/test/js_sdk_test/node_modules/follow-redirects/https.js +0 -1
  415. data/lib/authing_ruby/test/js_sdk_test/node_modules/follow-redirects/index.js +0 -531
  416. data/lib/authing_ruby/test/js_sdk_test/node_modules/follow-redirects/package.json +0 -59
  417. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/LICENSE.txt +0 -107
  418. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/README.md +0 -192
  419. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/bin/jsencrypt.js +0 -249
  420. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/bin/jsencrypt.min.js +0 -2
  421. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/bin/jsencrypt.min.js.LICENSE.txt +0 -8
  422. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/lib/JSEncrypt.d.ts +0 -116
  423. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/lib/JSEncrypt.js +0 -186
  424. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/lib/JSEncryptRSAKey.d.ts +0 -142
  425. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/lib/JSEncryptRSAKey.js +0 -315
  426. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/lib/index.d.ts +0 -3
  427. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/lib/index.js +0 -3
  428. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/lib/lib/asn1js/asn1.d.ts +0 -51
  429. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/lib/lib/asn1js/asn1.js +0 -565
  430. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/lib/lib/asn1js/base64.d.ts +0 -5
  431. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/lib/lib/asn1js/base64.js +0 -88
  432. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/lib/lib/asn1js/hex.d.ts +0 -3
  433. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/lib/lib/asn1js/hex.js +0 -64
  434. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/lib/lib/asn1js/int10.d.ts +0 -9
  435. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/lib/lib/asn1js/int10.js +0 -87
  436. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/lib/lib/asn1js/oids.d.ts +0 -9778
  437. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/lib/lib/asn1js/oids.js +0 -1962
  438. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/lib/lib/jsbn/base64.d.ts +0 -3
  439. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/lib/lib/jsbn/base64.js +0 -76
  440. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/lib/lib/jsbn/jsbn.d.ts +0 -98
  441. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/lib/lib/jsbn/jsbn.js +0 -1754
  442. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/lib/lib/jsbn/prng4.d.ts +0 -10
  443. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/lib/lib/jsbn/prng4.js +0 -46
  444. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/lib/lib/jsbn/rng.d.ts +0 -3
  445. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/lib/lib/jsbn/rng.js +0 -76
  446. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/lib/lib/jsbn/rsa.d.ts +0 -23
  447. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/lib/lib/jsbn/rsa.js +0 -373
  448. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/lib/lib/jsbn/util.d.ts +0 -7
  449. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/lib/lib/jsbn/util.js +0 -58
  450. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/lib/lib/jsrsasign/asn1-1.0.js +0 -1593
  451. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/lib/lib/jsrsasign/yahoo.js +0 -69
  452. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/lib/version.json +0 -1
  453. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/package.json +0 -49
  454. data/lib/authing_ruby/test/js_sdk_test/node_modules/jwt-decode/Gruntfile.js +0 -78
  455. data/lib/authing_ruby/test/js_sdk_test/node_modules/jwt-decode/LICENSE +0 -21
  456. data/lib/authing_ruby/test/js_sdk_test/node_modules/jwt-decode/README.md +0 -55
  457. data/lib/authing_ruby/test/js_sdk_test/node_modules/jwt-decode/bower.json +0 -20
  458. data/lib/authing_ruby/test/js_sdk_test/node_modules/jwt-decode/build/jwt-decode.js +0 -125
  459. data/lib/authing_ruby/test/js_sdk_test/node_modules/jwt-decode/build/jwt-decode.min.js +0 -1
  460. data/lib/authing_ruby/test/js_sdk_test/node_modules/jwt-decode/jwt-decode.html +0 -2
  461. data/lib/authing_ruby/test/js_sdk_test/node_modules/jwt-decode/lib/atob.js +0 -38
  462. data/lib/authing_ruby/test/js_sdk_test/node_modules/jwt-decode/lib/base64_url_decode.js +0 -33
  463. data/lib/authing_ruby/test/js_sdk_test/node_modules/jwt-decode/lib/index.js +0 -26
  464. data/lib/authing_ruby/test/js_sdk_test/node_modules/jwt-decode/package.json +0 -37
  465. data/lib/authing_ruby/test/js_sdk_test/node_modules/jwt-decode/standalone.js +0 -16
  466. data/lib/authing_ruby/test/js_sdk_test/node_modules/jwt-decode/test/tests.js +0 -53
  467. data/lib/authing_ruby/test/js_sdk_test/node_modules/jwt-decode/test_harness.html +0 -29
  468. data/lib/authing_ruby/test/js_sdk_test/node_modules/jwt-decode/testem.yml +0 -46
  469. data/lib/authing_ruby/test/js_sdk_test/node_modules/jwt-decode/testem_dev.yml +0 -1
  470. data/lib/authing_ruby/test/js_sdk_test/node_modules/ms/index.js +0 -152
  471. data/lib/authing_ruby/test/js_sdk_test/node_modules/ms/license.md +0 -21
  472. data/lib/authing_ruby/test/js_sdk_test/node_modules/ms/package.json +0 -37
  473. data/lib/authing_ruby/test/js_sdk_test/node_modules/ms/readme.md +0 -51
@@ -1,1248 +0,0 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- var __generator = (this && this.__generator) || function (thisArg, body) {
11
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
12
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
13
- function verb(n) { return function (v) { return step([n, v]); }; }
14
- function step(op) {
15
- if (f) throw new TypeError("Generator is already executing.");
16
- while (_) try {
17
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
18
- if (y = 0, t) op = [op[0] & 2, t.value];
19
- switch (op[0]) {
20
- case 0: case 1: t = op; break;
21
- case 4: _.label++; return { value: op[1], done: false };
22
- case 5: _.label++; y = op[1]; op = [0]; continue;
23
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
24
- default:
25
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
26
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
27
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
28
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
29
- if (t[2]) _.ops.pop();
30
- _.trys.pop(); continue;
31
- }
32
- op = body.call(thisArg, _);
33
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
34
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
35
- }
36
- };
37
- import { objectToQueryString } from '../utils';
38
- import { deleteUser, deleteUsers, user, users, getUserGroups, updateUser, searchUser, createUser, refreshToken, getUserRoles, assignRole, revokeRole, isUserExists, addUserToGroup, removeUserFromGroup, archivedUsers, findUser, getUserDepartments, listUserAuthorizedResources, udv, udfValueBatch, setUdvBatch, removeUdv, setUdfValueBatch, usersWithCustomData, userWithCustomData, userBatchWithCustomData, userBatch, findUserWithCustomData, searchUserWithCustomData, sendFirstLoginVerifyEmail } from '../graphqlapi';
39
- import { UdfTargetType } from '../../types/graphql.v2';
40
- import { convertUdvToKeyValuePair, formatAuthorizedResources } from '../utils';
41
- /**
42
- * @name UsersManagementClient
43
- * @description Authing 用户管理模块。
44
- *
45
- * 此模块可以进行用户目录增删改查、搜索用户、刷新用户 token、管理用户分组、管理用户角色、管理用户策略授权等操作。
46
- *
47
- * 该模块发出的所有操作都将以管理员身份进行,所以不需要进行建议短信验证码等操作,如果你希望以普通用户的身份进行操作,请使用 AuthenticationClient 。
48
- *
49
- * @example
50
- *
51
- * 请使用以下方式使用该模块:
52
- * \`\`\`javascript
53
- * import { ManagementClient } from "authing-js-sdk"
54
- * const managementClient = new ManagementClient({
55
- * userPoolId: "YOUR_USERPOOL_ID",
56
- * secret: "YOUR_USERPOOL_SECRET",
57
- * })
58
- *
59
- * managementClient.users.list // 获取用户列表
60
- * managementClient.users.create // 创建用户
61
- * managementClient.users.listRoles // 获取用户角色列表
62
- * managementClient.users.search // 搜索用户
63
- * \`\`\`
64
- *
65
- * @class UsersManagementClient 管理用户
66
- */
67
- var UsersManagementClient = /** @class */ (function () {
68
- function UsersManagementClient(options, graphqlClient, httpClient, tokenProvider, publickKeyManager) {
69
- this.options = options;
70
- this.graphqlClient = graphqlClient;
71
- this.tokenProvider = tokenProvider;
72
- this.httpClient = httpClient;
73
- this.publickKeyManager = publickKeyManager;
74
- }
75
- /**
76
- * @name create
77
- * @name_zh 创建用户
78
- * @description 此接口将以管理员身份创建用户,不需要进行手机号验证码检验等安全检测。
79
- *
80
- * @param {CreateUserInput} userInfo 用户资料
81
- * @param {string} userInfo.email 邮箱,用户池内唯一
82
- * @param {boolean} userInfo.emailVerified 邮箱是否已验证
83
- * @param {string} userInfo.phone 手机号
84
- * @param {boolean} userInfo.phoneVerified 手机号是否验证
85
- * @param {string} userInfo.unionid 以社会化登录的用户该字段为用户在第三方社会化登录服务商中的唯一 ID
86
- * @param {string} userInfo.openid 微信登录返回的 openid
87
- * @param {string} userInfo.password 密码
88
- * @param {string} userInfo.registerSource 注册来源,可以多选
89
- * @param {string} userInfo.username 用户名
90
- * @param {string} userInfo.nickname 昵称
91
- * @param {string} userInfo.photo 头像
92
- * @param {string} userInfo.company 公司
93
- * @param {string} userInfo.browser 浏览器
94
- * @param {number} userInfo.loginsCount 登录次数,当你从原有用户系统迁移到 Authing 时可以设置该字段。
95
- * @param {string} userInfo.lastLogin 上次登录时间, 符合 ISO8601 格式的时间字符串。(如 "2017-06-07T14:34:08.700Z", "2017-06-07T14:34:08.700 or "2017-06-07T14:34:08+04:00")
96
- * @param {string} userInfo.lastIP 用户最近一次登录(或其他活动)的 IP
97
- * @param {string} userInfo.signedUp 注册时间,符合 ISO8601 格式的时间字符串。(如 "2017-06-07T14:34:08.700Z", "2017-06-07T14:34:08.700 or "2017-06-07T14:34:08+04:00")
98
- * @param {boolean} userInfo.blocked 账号是否被禁用
99
- * @param {boolean} userInfo.isDeleted 标记账号是否被删除
100
- * @param {string} userInfo.device 设备
101
- * @param {string} userInfo.lastIP 最近登录的 IP
102
- * @param {string} userInfo.name Name
103
- * @param {string} userInfo.givenName Given Name
104
- * @param {string} userInfo.familyName Family Name
105
- * @param {string} userInfo.middleName Middle Name
106
- * @param {string} userInfo.profile Profile Url
107
- * @param {string} userInfo.preferredUsername Preferred Name
108
- * @param {string} userInfo.website 个人网站
109
- * @param {string} userInfo.gender 性别, F 表示男性、W 表示女性、未知表示 U
110
- * @param {string} userInfo.birthdate 生日
111
- * @param {string} userInfo.zoneinfo 时区
112
- * @param {string} userInfo.locale 语言
113
- * @param {string} userInfo.address 地址
114
- * @param {string} userInfo.streetAddress 街道地址
115
- * @param {string} userInfo.locality
116
- * @param {string} userInfo.region 地域
117
- * @param {string} userInfo.postalCode 邮编
118
- * @param {string} userInfo.city 城市
119
- * @param {string} userInfo.province 省份
120
- * @param {string} userInfo.country 国家
121
- *
122
- * @example
123
- *
124
- * const user = await managementClient.users.create({
125
- * username: 'bob',
126
- * password: 'passw0rd'
127
- * })
128
- *
129
- * @example
130
- *
131
- * const user = await managementClient.users.create({
132
- * nickname: 'Nick',
133
- * phone: '176xxxx7041', // 由于是管理员操作,所以检验手机号验证码, 如果你需要检验,请使用 AuthenticationClient
134
- * loginsCount: 2 // 原有用户系统记录的用户登录次数
135
- * signedUp: '2020-10-15T17:55:37+08:00' // 原有用户系统记录的用户注册时间
136
- * })
137
- *
138
- * @returns {Promise<User>}
139
- * @memberof UsersManagementClient
140
- */
141
- UsersManagementClient.prototype.create = function (userInfo, options) {
142
- return __awaiter(this, void 0, void 0, function () {
143
- var _a, _b, keepPassword, _c, resetPasswordOnFirstLogin, _d, _e, _f, _g, user;
144
- return __generator(this, function (_h) {
145
- switch (_h.label) {
146
- case 0:
147
- _a = options || {}, _b = _a.keepPassword, keepPassword = _b === void 0 ? false : _b, _c = _a.resetPasswordOnFirstLogin, resetPasswordOnFirstLogin = _c === void 0 ? false : _c;
148
- if (!(userInfo === null || userInfo === void 0 ? void 0 : userInfo.password)) return [3 /*break*/, 3];
149
- _d = userInfo;
150
- _f = (_e = this.options).encryptFunction;
151
- _g = [userInfo.password];
152
- return [4 /*yield*/, this.publickKeyManager.getPublicKey()];
153
- case 1: return [4 /*yield*/, _f.apply(_e, _g.concat([_h.sent()]))];
154
- case 2:
155
- _d.password = _h.sent();
156
- _h.label = 3;
157
- case 3: return [4 /*yield*/, createUser(this.graphqlClient, this.tokenProvider, {
158
- userInfo: userInfo,
159
- keepPassword: keepPassword,
160
- resetPasswordOnFirstLogin: resetPasswordOnFirstLogin
161
- })];
162
- case 4:
163
- user = (_h.sent()).createUser;
164
- return [2 /*return*/, user];
165
- }
166
- });
167
- });
168
- };
169
- /**
170
- * @name update
171
- * @name_zh 修改用户资料
172
- * @description 修改用户资料
173
- *
174
- * @param {string} id 用户 ID
175
- * @param {UpdateUserInput} updates 修改的用户资料
176
- * @param {string} updates.email 邮箱
177
- * @param {boolean} updates.emailVerified 邮箱是否已验证
178
- * @param {string} updates.phone 手机号
179
- * @param {boolean} updates.phoneVerified 手机号是否验证
180
- * @param {string} updates.unionid 以社会化登录的用户该字段为用户在第三方社会化登录服务商中的唯一 ID
181
- * @param {string} updates.openid 微信登录返回的 openid
182
- * @param {string} updates.password 密码
183
- * @param {string} updates.registerSource 注册来源,可以多选
184
- * @param {string} updates.tokenExpiredAt token 过期时间,符合 ISO8601 格式的时间字符串。(如 "2017-06-07T14:34:08.700Z", "2017-06-07T14:34:08.700 or "2017-06-07T14:34:08+04:00")。
185
- * 将该字段设置为小于当前时间可以让用户的 token 失效。
186
- * @param {string} updates.username 用户名
187
- * @param {string} updates.nickname 昵称
188
- * @param {string} updates.photo 头像
189
- * @param {string} updates.company 公司
190
- * @param {string} updates.browser 浏览器
191
- * @param {number} updates.loginsCount 登录次数,当你从原有用户系统迁移到 Authing 时可以设置该字段。
192
- * @param {string} updates.lastLogin 上次登录时间, 符合 ISO8601 格式的时间字符串。(如 "2017-06-07T14:34:08.700Z", "2017-06-07T14:34:08.700 or "2017-06-07T14:34:08+04:00")
193
- * @param {string} updates.lastIP 用户最近一次登录(或其他活动)的 IP
194
- * @param {string} updates.signedUp 注册时间,符合 ISO8601 格式的时间字符串。(如 "2017-06-07T14:34:08.700Z", "2017-06-07T14:34:08.700 or "2017-06-07T14:34:08+04:00")
195
- * @param {boolean} updates.blocked 账号是否被禁用
196
- * @param {string} updates.device 设备
197
- * @param {string} updates.lastIP 最近登录的 IP
198
- * @param {string} updates.name Name
199
- * @param {string} updates.givenName Given Name
200
- * @param {string} updates.familyName Family Name
201
- * @param {string} updates.middleName Middle Name
202
- * @param {string} updates.profile Profile Url
203
- * @param {string} updates.preferredUsername Preferred Name
204
- * @param {string} updates.website 个人网站
205
- * @param {string} updates.gender 性别, F 表示男性、W 表示女性、未知表示 U
206
- * @param {string} updates.birthdate 生日
207
- * @param {string} updates.zoneinfo 时区
208
- * @param {string} updates.locale 语言
209
- * @param {string} updates.address 地址
210
- * @param {string} updates.streetAddress 街道地址
211
- * @param {string} updates.locality
212
- * @param {string} updates.region 地域
213
- * @param {string} updates.postalCode 邮编
214
- * @param {string} updates.city 城市
215
- * @param {string} updates.province 省份
216
- * @param {string} updates.country 国家
217
- *
218
- * @example
219
- *
220
- * const user = await managementClient.users.update("USERID", {
221
- * nickname: "Nick"
222
- * })
223
- *
224
- * @example
225
- *
226
- * const user = await managementClient.users.update("USERID" ,{
227
- * nickname: 'Nick',
228
- * phone: '176xxxx7041', // 由于是管理员操作,所以检验手机号验证码, 如果你需要检验,请使用 AuthenticationClient
229
- * tokenExpiredAt: '2020-10-15T17:55:37+08:00'
230
- * })
231
- *
232
- * @returns {Promise<User>}
233
- * @memberof UsersManagementClient *
234
- */
235
- UsersManagementClient.prototype.update = function (id, updates) {
236
- return __awaiter(this, void 0, void 0, function () {
237
- var _a, _b, _c, _d, user;
238
- return __generator(this, function (_e) {
239
- switch (_e.label) {
240
- case 0:
241
- if (!(updates && updates.password)) return [3 /*break*/, 3];
242
- _a = updates;
243
- _c = (_b = this.options).encryptFunction;
244
- _d = [updates.password];
245
- return [4 /*yield*/, this.publickKeyManager.getPublicKey()];
246
- case 1: return [4 /*yield*/, _c.apply(_b, _d.concat([_e.sent()]))];
247
- case 2:
248
- _a.password = _e.sent();
249
- _e.label = 3;
250
- case 3: return [4 /*yield*/, updateUser(this.graphqlClient, this.tokenProvider, {
251
- id: id,
252
- input: updates
253
- })];
254
- case 4:
255
- user = (_e.sent()).updateUser;
256
- return [2 /*return*/, user];
257
- }
258
- });
259
- });
260
- };
261
- /**
262
- * @name detail
263
- * @name_zh 获取用户详情
264
- * @description 通过用户 ID 获取用户详情,如果你想通过 token 获取用户详情,请使用 AuthenticationClient SDK 。
265
- *
266
- * @param {string} userId 用户 ID
267
- *
268
- * @example
269
- *
270
- * const user = await managementClient.users.detail('USERID');
271
- *
272
- * @returns {Promise<User>}
273
- * @memberof UsersManagementClient
274
- */
275
- UsersManagementClient.prototype.detail = function (userId, options) {
276
- return __awaiter(this, void 0, void 0, function () {
277
- var _a, withCustomData, data, data;
278
- return __generator(this, function (_b) {
279
- switch (_b.label) {
280
- case 0:
281
- _a = (options || {}).withCustomData, withCustomData = _a === void 0 ? false : _a;
282
- if (!withCustomData) return [3 /*break*/, 2];
283
- return [4 /*yield*/, userWithCustomData(this.graphqlClient, this.tokenProvider, {
284
- id: userId
285
- })];
286
- case 1:
287
- data = (_b.sent()).user;
288
- // @ts-ignore
289
- data.customData = convertUdvToKeyValuePair(data.customData);
290
- return [2 /*return*/, data];
291
- case 2: return [4 /*yield*/, user(this.graphqlClient, this.tokenProvider, {
292
- id: userId
293
- })];
294
- case 3:
295
- data = (_b.sent()).user;
296
- return [2 /*return*/, data];
297
- }
298
- });
299
- });
300
- };
301
- /**
302
- * @name delete
303
- * @name_zh 删除用户
304
- * @description 删除用户
305
- *
306
- * @param {string} userId 用户 ID
307
- *
308
- * @example
309
- *
310
- * const user = await managementClient.users.delete('USERID');
311
- *
312
- * @returns {Promise<CommonMessage>}
313
- * @memberof UsersManagementClient
314
- */
315
- UsersManagementClient.prototype.delete = function (userId) {
316
- return __awaiter(this, void 0, void 0, function () {
317
- var data;
318
- return __generator(this, function (_a) {
319
- switch (_a.label) {
320
- case 0: return [4 /*yield*/, deleteUser(this.graphqlClient, this.tokenProvider, {
321
- id: userId
322
- })];
323
- case 1:
324
- data = (_a.sent()).deleteUser;
325
- return [2 /*return*/, data];
326
- }
327
- });
328
- });
329
- };
330
- /**
331
- * @name deleteMany
332
- * @name_zh 批量删除用户
333
- * @description 批量删除用户
334
- *
335
- * @param {string[]} userIds 用户 ID 列表
336
- *
337
- * @example
338
- *
339
- * const user = await managementClient.users.deleteMany(['USERID']);
340
- *
341
- * @returns {Promise<CommonMessage>}
342
- * @memberof UsersManagementClient
343
- */
344
- UsersManagementClient.prototype.deleteMany = function (userIds) {
345
- return __awaiter(this, void 0, void 0, function () {
346
- var data;
347
- return __generator(this, function (_a) {
348
- switch (_a.label) {
349
- case 0: return [4 /*yield*/, deleteUsers(this.graphqlClient, this.tokenProvider, {
350
- ids: userIds
351
- })];
352
- case 1:
353
- data = (_a.sent()).deleteUsers;
354
- return [2 /*return*/, data];
355
- }
356
- });
357
- });
358
- };
359
- /**
360
- * @name batch
361
- * @name_zh 批量获取用户
362
- * @description 通过 ID、username、email、phone、email、externalId 批量获取用户详情
363
- *
364
- * @param {string[]} identifiers 需要查询的数据列表,如 用户 ID 列表
365
- * @param {string} [type] 列表类型,可选值为 'id' ,'username' ,'phone' ,'email', 'externalId',默认为 'id'
366
- *
367
- * @example
368
- *
369
- * const users = await managementClient.users.batch(['USERID'], options);
370
- *
371
- * @returns {Promise<CommonMessage>}
372
- * @memberof UsersManagementClient
373
- */
374
- UsersManagementClient.prototype.batch = function (ids, options) {
375
- return __awaiter(this, void 0, void 0, function () {
376
- var _a, _b, queryField, _c, withCustomData, list, list;
377
- return __generator(this, function (_d) {
378
- switch (_d.label) {
379
- case 0:
380
- _a = options || {}, _b = _a.queryField, queryField = _b === void 0 ? 'id' : _b, _c = _a.withCustomData, withCustomData = _c === void 0 ? false : _c;
381
- if (!withCustomData) return [3 /*break*/, 2];
382
- return [4 /*yield*/, userBatchWithCustomData(this.graphqlClient, this.tokenProvider, {
383
- ids: ids,
384
- type: queryField
385
- })];
386
- case 1:
387
- list = (_d.sent()).userBatch;
388
- list = list.map(function (user) {
389
- // @ts-ignore
390
- user.customData = convertUdvToKeyValuePair(user.customData);
391
- return user;
392
- });
393
- return [2 /*return*/, list];
394
- case 2: return [4 /*yield*/, userBatch(this.graphqlClient, this.tokenProvider, {
395
- ids: ids,
396
- type: queryField
397
- })];
398
- case 3:
399
- list = (_d.sent()).userBatch;
400
- return [2 /*return*/, list];
401
- }
402
- });
403
- });
404
- };
405
- /**
406
- * @name list
407
- * @name_zh 获取用户列表
408
- * @description 获取用户池用户列表
409
- *
410
- * @param {number} [page=1] 页码数, 从 1 开始
411
- * @param {number} [limit=10] 每页包含的用户数
412
- *
413
- * @example
414
- *
415
- * const user = await managementClient.users.list();
416
- *
417
- * @returns
418
- * @memberof UsersManagementClient
419
- */
420
- UsersManagementClient.prototype.list = function (page, limit, options) {
421
- if (page === void 0) { page = 1; }
422
- if (limit === void 0) { limit = 10; }
423
- return __awaiter(this, void 0, void 0, function () {
424
- var _a, withCustomData, data, totalCount, list, data;
425
- return __generator(this, function (_b) {
426
- switch (_b.label) {
427
- case 0:
428
- _a = (options || {}).withCustomData, withCustomData = _a === void 0 ? false : _a;
429
- if (!withCustomData) return [3 /*break*/, 2];
430
- return [4 /*yield*/, usersWithCustomData(this.graphqlClient, this.tokenProvider, {
431
- page: page,
432
- limit: limit
433
- })];
434
- case 1:
435
- data = (_b.sent()).users;
436
- totalCount = data.totalCount, list = data.list;
437
- list = list.map(function (user) {
438
- // @ts-ignore
439
- user.customData = convertUdvToKeyValuePair(user.customData);
440
- return user;
441
- });
442
- return [2 /*return*/, {
443
- totalCount: totalCount,
444
- list: list
445
- }];
446
- case 2: return [4 /*yield*/, users(this.graphqlClient, this.tokenProvider, {
447
- page: page,
448
- limit: limit
449
- })];
450
- case 3:
451
- data = (_b.sent()).users;
452
- return [2 /*return*/, data];
453
- }
454
- });
455
- });
456
- };
457
- /**
458
- * @name listArchivedUsers
459
- * @name_zh 获取已归档用户列表
460
- * @description 获取已归档用户列表
461
- *
462
- * @param {number} [page=1] 页码数, 从 1 开始
463
- * @param {number} [limit=10] 每页包含的用户数
464
- *
465
- * @example
466
- *
467
- * const user = await managementClient.users.listArchivedUsers();
468
- *
469
- * @returns
470
- * @memberof UsersManagementClient
471
- */
472
- UsersManagementClient.prototype.listArchivedUsers = function (page, limit) {
473
- if (page === void 0) { page = 1; }
474
- if (limit === void 0) { limit = 10; }
475
- return __awaiter(this, void 0, void 0, function () {
476
- var data;
477
- return __generator(this, function (_a) {
478
- switch (_a.label) {
479
- case 0: return [4 /*yield*/, archivedUsers(this.graphqlClient, this.tokenProvider, {
480
- page: page,
481
- limit: limit
482
- })];
483
- case 1:
484
- data = (_a.sent()).archivedUsers;
485
- return [2 /*return*/, data];
486
- }
487
- });
488
- });
489
- };
490
- /**
491
- * @name exists
492
- * @name_zh 检查用户是否存在
493
- * @description 检查用户是否存在,目前可检测的字段有用户名、邮箱、手机号。
494
- *
495
- *
496
- * @param {Object} options
497
- * @param {string} [options.username] 用户名,区分大小写。
498
- * @param {string} [options.email] 邮箱,邮箱不区分大小写。
499
- * @param {string} [options.phone] 手机号
500
- *
501
- * @example
502
- *
503
- * const exists = await managementClient.users.exists({
504
- * username: "bob"
505
- * });
506
- *
507
- * @returns {Promise<boolean>}
508
- * @memberof UsersManagementClient
509
- */
510
- UsersManagementClient.prototype.exists = function (options) {
511
- return __awaiter(this, void 0, void 0, function () {
512
- var username, email, phone, externalId, data;
513
- return __generator(this, function (_a) {
514
- switch (_a.label) {
515
- case 0:
516
- username = options.username, email = options.email, phone = options.phone, externalId = options.externalId;
517
- return [4 /*yield*/, isUserExists(this.graphqlClient, this.tokenProvider, {
518
- username: username,
519
- email: email,
520
- phone: phone,
521
- externalId: externalId
522
- })];
523
- case 1:
524
- data = (_a.sent()).isUserExists;
525
- return [2 /*return*/, data];
526
- }
527
- });
528
- });
529
- };
530
- /**
531
- * @name find
532
- * @name_zh 查找用户
533
- * @description 通过用户名、邮箱、手机号查找用户
534
- *
535
- * @param {Object} options
536
- * @param {string} [options.username] 用户名,区分大小写。
537
- * @param {string} [options.email] 邮箱,邮箱不区分大小写。
538
- * @param {string} [options.phone] 手机号
539
- * @param {string} [options.externalId] externalId
540
- *
541
- * @memberof UsersManagementClient
542
- */
543
- UsersManagementClient.prototype.find = function (options) {
544
- return __awaiter(this, void 0, void 0, function () {
545
- var username, email, phone, externalId, _a, withCustomData, user_1, user_2;
546
- return __generator(this, function (_b) {
547
- switch (_b.label) {
548
- case 0:
549
- username = options.username, email = options.email, phone = options.phone, externalId = options.externalId, _a = options.withCustomData, withCustomData = _a === void 0 ? false : _a;
550
- if (!withCustomData) return [3 /*break*/, 2];
551
- return [4 /*yield*/, findUserWithCustomData(this.graphqlClient, this.tokenProvider, {
552
- username: username,
553
- email: email,
554
- phone: phone,
555
- externalId: externalId
556
- })];
557
- case 1:
558
- user_1 = (_b.sent()).findUser;
559
- // @ts-ignore
560
- user_1.customData = convertUdvToKeyValuePair(user_1.customData);
561
- return [2 /*return*/, user_1];
562
- case 2: return [4 /*yield*/, findUser(this.graphqlClient, this.tokenProvider, {
563
- username: username,
564
- email: email,
565
- phone: phone,
566
- externalId: externalId
567
- })];
568
- case 3:
569
- user_2 = (_b.sent()).findUser;
570
- return [2 /*return*/, user_2];
571
- }
572
- });
573
- });
574
- };
575
- /**
576
- * @name search
577
- * @name_zh 搜索用户
578
- * @description 根据关键字搜索用户
579
- *
580
- * @param query 搜索内容
581
- * @param options 选项
582
- * @param {string[]} [options.fields] 搜索用户字段,如果不指定,默认会从 username、nickname、email、phone、company、name、givenName、familyName、middleName、profile、preferredUsername 这些字段进行模糊搜索。
583
- * 如果你需要精确查找,请使用 find 方法。
584
- * @param {number} [options.page=1]
585
- * @param {number} [options.limit=10]
586
- * @param {Object} [options.departmentOpts] 限制条件,用户所在的部门
587
- * @param {string} [options.departmentOpts.departmentId] 部门 ID
588
- * @param {string} [options.departmentOpts.includeChildrenDepartments] 是否包含此部门的子部门
589
- *
590
- * @example
591
- *
592
- * const { totalCount, list } = await managementClient.users.search("Bob");
593
- *
594
- * @returns {Promise<PaginatedUsers>}
595
- * @memberof UsersManagementClient
596
- */
597
- UsersManagementClient.prototype.search = function (query, options) {
598
- return __awaiter(this, void 0, void 0, function () {
599
- var fields, _a, page, _b, limit, departmentOpts, groupOpts, roleOpts, _c, withCustomData, data, data, totalCount, list;
600
- return __generator(this, function (_d) {
601
- switch (_d.label) {
602
- case 0:
603
- options = options || {};
604
- fields = options.fields, _a = options.page, page = _a === void 0 ? 1 : _a, _b = options.limit, limit = _b === void 0 ? 10 : _b, departmentOpts = options.departmentOpts, groupOpts = options.groupOpts, roleOpts = options.roleOpts, _c = options.withCustomData, withCustomData = _c === void 0 ? false : _c;
605
- if (!!withCustomData) return [3 /*break*/, 2];
606
- return [4 /*yield*/, searchUser(this.graphqlClient, this.tokenProvider, {
607
- query: query,
608
- fields: fields,
609
- page: page,
610
- limit: limit,
611
- departmentOpts: departmentOpts,
612
- groupOpts: groupOpts,
613
- roleOpts: roleOpts
614
- })];
615
- case 1:
616
- data = (_d.sent()).searchUser;
617
- return [2 /*return*/, data];
618
- case 2: return [4 /*yield*/, searchUserWithCustomData(this.graphqlClient, this.tokenProvider, {
619
- query: query,
620
- fields: fields,
621
- page: page,
622
- limit: limit,
623
- departmentOpts: departmentOpts,
624
- groupOpts: groupOpts,
625
- roleOpts: roleOpts
626
- })];
627
- case 3:
628
- data = (_d.sent()).searchUser;
629
- totalCount = data.totalCount, list = data.list;
630
- list = list.map(function (user) {
631
- // @ts-ignore
632
- user.customData = convertUdvToKeyValuePair(user.customData);
633
- return user;
634
- });
635
- return [2 /*return*/, {
636
- totalCount: totalCount,
637
- list: list
638
- }];
639
- }
640
- });
641
- });
642
- };
643
- /**
644
- * @name refreshToken
645
- * @name_zh 刷新用户 token
646
- * @description 刷新用户 token
647
- *
648
- * @param {string} id 用户 ID
649
- *
650
- * @example
651
- *
652
- * const { token } = await managementClient.users.refreshToken("USERID");
653
- *
654
- * // 检测 token 的最新状态,能够获取到该用户对应的 token
655
- *
656
- * const data = await managementClient.checkLoginStatus(token, {
657
- * fetchUserDetail: true
658
- * });
659
- *
660
- * @returns {Promise<RefreshToken>}
661
- * @memberof UsersManagementClient
662
- */
663
- UsersManagementClient.prototype.refreshToken = function (id) {
664
- return __awaiter(this, void 0, void 0, function () {
665
- var data;
666
- return __generator(this, function (_a) {
667
- switch (_a.label) {
668
- case 0: return [4 /*yield*/, refreshToken(this.graphqlClient, this.tokenProvider, {
669
- id: id
670
- })];
671
- case 1:
672
- data = (_a.sent()).refreshToken;
673
- return [2 /*return*/, data];
674
- }
675
- });
676
- });
677
- };
678
- /**
679
- * @name listGroups
680
- * @name_zh 获取用户分组列表
681
- * @description 获取用户的分组列表
682
- *
683
- * @param {string} userId 用户 ID
684
- *
685
- * @example
686
- *
687
- * const { list, totalCount} = await managementClient.users.listGroups("USERID");
688
- *
689
- * @returns {Promise<DeepPartial<PaginatedGroups>>}
690
- * @memberof UsersManagementClient
691
- */
692
- UsersManagementClient.prototype.listGroups = function (userId) {
693
- return __awaiter(this, void 0, void 0, function () {
694
- var user;
695
- return __generator(this, function (_a) {
696
- switch (_a.label) {
697
- case 0: return [4 /*yield*/, getUserGroups(this.graphqlClient, this.tokenProvider, {
698
- id: userId
699
- })];
700
- case 1:
701
- user = (_a.sent()).user;
702
- return [2 /*return*/, user.groups];
703
- }
704
- });
705
- });
706
- };
707
- /**
708
- * @name addGroup
709
- * @name_zh 加入分组
710
- * @description 将用户加入分组
711
- *
712
- * @param {string} userId 用户 ID
713
- * @param {string} group 分组 code
714
- *
715
- * @example
716
- *
717
- * const { code, message } = await managementClient.users.addGroup("USERID", "GROUP_CODE");
718
- *
719
- * @returns {Promise<CommonMessage>}
720
- * @memberof UsersManagementClient
721
- */
722
- UsersManagementClient.prototype.addGroup = function (userId, group) {
723
- return __awaiter(this, void 0, void 0, function () {
724
- var res;
725
- return __generator(this, function (_a) {
726
- switch (_a.label) {
727
- case 0: return [4 /*yield*/, addUserToGroup(this.graphqlClient, this.tokenProvider, {
728
- userIds: [userId],
729
- code: group
730
- })];
731
- case 1:
732
- res = _a.sent();
733
- return [2 /*return*/, res.addUserToGroup];
734
- }
735
- });
736
- });
737
- };
738
- /**
739
- * @name removeGroup
740
- * @name_zh 退出分组
741
- * @description 退出分组
742
- *
743
- * @param {string} userId 用户 ID
744
- * @param {string} group 分组 code
745
- *
746
- * @example
747
- *
748
- * const { code, message } = await managementClient.users.removeGroup("USERID", "GROUP_CODE");
749
- *
750
- * @returns {Promise<CommonMessage>}
751
- * @memberof UsersManagementClient
752
- */
753
- UsersManagementClient.prototype.removeGroup = function (userId, group) {
754
- return __awaiter(this, void 0, void 0, function () {
755
- var res;
756
- return __generator(this, function (_a) {
757
- switch (_a.label) {
758
- case 0: return [4 /*yield*/, removeUserFromGroup(this.graphqlClient, this.tokenProvider, {
759
- code: group,
760
- userIds: [userId]
761
- })];
762
- case 1:
763
- res = _a.sent();
764
- return [2 /*return*/, res.removeUserFromGroup];
765
- }
766
- });
767
- });
768
- };
769
- /**
770
- * @name listRoles
771
- * @name_zh 获取用户角色列表
772
- * @description 获取用户的角色列表
773
- *
774
- * @param {string} userId 用户 ID
775
- * @param {string} namespace 权限组命名空间
776
- *
777
- * @example
778
- *
779
- * const { list, totalCount} = await managementClient.users.listRoles("USERID");
780
- *
781
- * @returns {Promise<DeepPartial<PaginatedRoles>>}
782
- * @memberof UsersManagementClient
783
- */
784
- UsersManagementClient.prototype.listRoles = function (userId, namespace) {
785
- return __awaiter(this, void 0, void 0, function () {
786
- var user;
787
- return __generator(this, function (_a) {
788
- switch (_a.label) {
789
- case 0: return [4 /*yield*/, getUserRoles(this.graphqlClient, this.tokenProvider, {
790
- id: userId,
791
- namespace: namespace
792
- })];
793
- case 1:
794
- user = (_a.sent()).user;
795
- if (!user) {
796
- throw new Error('用户不存在!');
797
- }
798
- return [2 /*return*/, user.roles];
799
- }
800
- });
801
- });
802
- };
803
- /**
804
- * @name addRoles
805
- * @name_zh 添加角色
806
- * @description 将用户加入角色
807
- *
808
- * @param {string} userId 用户 ID
809
- * @param {string} roles 角色 code 列表
810
- * @param {string} namespace 权限组命名空间
811
- *
812
- * @example
813
- *
814
- * const { code, message } = await managementClient.users.addRoles("USERID", ["ROLEA"]);
815
- *
816
- * @returns {Promise<CommonMessage>}
817
- * @memberof UsersManagementClient
818
- */
819
- UsersManagementClient.prototype.addRoles = function (userId, roles, namespace) {
820
- return __awaiter(this, void 0, void 0, function () {
821
- var data;
822
- return __generator(this, function (_a) {
823
- switch (_a.label) {
824
- case 0: return [4 /*yield*/, assignRole(this.graphqlClient, this.tokenProvider, {
825
- roleCodes: roles,
826
- userIds: [userId],
827
- namespace: namespace
828
- })];
829
- case 1:
830
- data = (_a.sent()).assignRole;
831
- return [2 /*return*/, data];
832
- }
833
- });
834
- });
835
- };
836
- /**
837
- * @name removeRoles
838
- * @name_zh 移除角色
839
- * @description 将用户从角色中移除
840
- *
841
- * @param {string} userId 用户 ID
842
- * @param {string} roles 角色 code 列表
843
- * @param {string} namespace 权限分组 code
844
- *
845
- * @example
846
- *
847
- * const { code, message } = await managementClient.users.removeRoles("USERID", ["ROLEA"]);
848
- *
849
- * @returns {Promise<CommonMessage>}
850
- * @memberof UsersManagementClient
851
- */
852
- UsersManagementClient.prototype.removeRoles = function (userId, roles, namespace) {
853
- return __awaiter(this, void 0, void 0, function () {
854
- var data;
855
- return __generator(this, function (_a) {
856
- switch (_a.label) {
857
- case 0: return [4 /*yield*/, revokeRole(this.graphqlClient, this.tokenProvider, {
858
- roleCodes: roles,
859
- userIds: [userId],
860
- namespace: namespace
861
- })];
862
- case 1:
863
- data = (_a.sent()).revokeRole;
864
- return [2 /*return*/, data];
865
- }
866
- });
867
- });
868
- };
869
- /**
870
- * @name listOrg
871
- * @name_zh 获取用户所在组织机构
872
- * @description 获取用户所在组织机构,以及他在该组织机构内的的节点路径。
873
- *
874
- * @param {string} userId 用户 ID
875
- *
876
- * @example
877
- *
878
- * const data = await managementClient.users.listOrgs("USERID");
879
- *
880
- * @returns {Promise<UserOrgList>}
881
- *
882
- * @memberof UsersManagementClient
883
- */
884
- UsersManagementClient.prototype.listOrgs = function (userId) {
885
- return __awaiter(this, void 0, void 0, function () {
886
- return __generator(this, function (_a) {
887
- switch (_a.label) {
888
- case 0: return [4 /*yield*/, this.httpClient.request({
889
- method: 'GET',
890
- url: this.options.host + "/api/v2/users/" + userId + "/orgs"
891
- })];
892
- case 1: return [2 /*return*/, _a.sent()];
893
- }
894
- });
895
- });
896
- };
897
- /**
898
- * @name listDepartment
899
- * @name_zh 获取用户所在部门
900
- * @description 获取用户所在部门列表
901
- *
902
- * @param {string} userId 用户 ID
903
- *
904
- * @example
905
- *
906
- * const data = await managementClient.users.listDepartment("USERID");
907
- *
908
- * @returns {Promise<UserDepartmentList>}
909
- *
910
- * @memberof UsersManagementClient
911
- */
912
- UsersManagementClient.prototype.listDepartment = function (userId) {
913
- return __awaiter(this, void 0, void 0, function () {
914
- var departments;
915
- return __generator(this, function (_a) {
916
- switch (_a.label) {
917
- case 0: return [4 /*yield*/, getUserDepartments(this.graphqlClient, this.tokenProvider, {
918
- id: userId
919
- })];
920
- case 1:
921
- departments = (_a.sent()).user.departments;
922
- return [2 /*return*/, departments];
923
- }
924
- });
925
- });
926
- };
927
- /**
928
- * @description 获取用户被授权的所有资源
929
- *
930
- * @param userId
931
- * @param namespace
932
- */
933
- UsersManagementClient.prototype.listAuthorizedResources = function (userId, namespace, options) {
934
- return __awaiter(this, void 0, void 0, function () {
935
- var resourceType, user, _a, list, totalCount;
936
- return __generator(this, function (_b) {
937
- switch (_b.label) {
938
- case 0:
939
- resourceType = (options || {}).resourceType;
940
- return [4 /*yield*/, listUserAuthorizedResources(this.graphqlClient, this.tokenProvider, {
941
- id: userId,
942
- namespace: namespace,
943
- resourceType: resourceType
944
- })];
945
- case 1:
946
- user = (_b.sent()).user;
947
- if (!user) {
948
- throw new Error('用户不存在');
949
- }
950
- _a = user.authorizedResources, list = _a.list, totalCount = _a.totalCount;
951
- list = formatAuthorizedResources(list);
952
- return [2 /*return*/, {
953
- list: list,
954
- totalCount: totalCount
955
- }];
956
- }
957
- });
958
- });
959
- };
960
- /**
961
- * @description 获取某个用户的所有自定义数据
962
- * @param userId: 用户 ID
963
- *
964
- */
965
- UsersManagementClient.prototype.getUdfValue = function (userId) {
966
- return __awaiter(this, void 0, void 0, function () {
967
- var list;
968
- return __generator(this, function (_a) {
969
- switch (_a.label) {
970
- case 0: return [4 /*yield*/, udv(this.graphqlClient, this.tokenProvider, {
971
- targetType: UdfTargetType.User,
972
- targetId: userId
973
- })];
974
- case 1:
975
- list = (_a.sent()).udv;
976
- return [2 /*return*/, convertUdvToKeyValuePair(list)];
977
- }
978
- });
979
- });
980
- };
981
- /**
982
- * @description 批量获取多个用户的自定义数据
983
- *
984
- * @param userIds: 用户 ID 列表
985
- */
986
- UsersManagementClient.prototype.getUdfValueBatch = function (userIds) {
987
- return __awaiter(this, void 0, void 0, function () {
988
- var result, ret, _i, result_1, _a, targetId, data;
989
- return __generator(this, function (_b) {
990
- switch (_b.label) {
991
- case 0:
992
- if (userIds.length === 0) {
993
- throw new Error('empty user id list');
994
- }
995
- return [4 /*yield*/, udfValueBatch(this.graphqlClient, this.tokenProvider, {
996
- targetType: UdfTargetType.User,
997
- targetIds: userIds
998
- })];
999
- case 1:
1000
- result = (_b.sent()).udfValueBatch;
1001
- ret = {};
1002
- for (_i = 0, result_1 = result; _i < result_1.length; _i++) {
1003
- _a = result_1[_i], targetId = _a.targetId, data = _a.data;
1004
- ret[targetId] = convertUdvToKeyValuePair(data);
1005
- }
1006
- return [2 /*return*/, ret];
1007
- }
1008
- });
1009
- });
1010
- };
1011
- /**
1012
- * @description 设置某个用户的自定义数据
1013
- *
1014
- * @param userId
1015
- * @param data
1016
- */
1017
- UsersManagementClient.prototype.setUdfValue = function (userId, data) {
1018
- return __awaiter(this, void 0, void 0, function () {
1019
- return __generator(this, function (_a) {
1020
- switch (_a.label) {
1021
- case 0:
1022
- if (Object.keys(data).length === 0) {
1023
- throw new Error('empty udf value list');
1024
- }
1025
- return [4 /*yield*/, setUdvBatch(this.graphqlClient, this.tokenProvider, {
1026
- targetType: UdfTargetType.User,
1027
- targetId: userId,
1028
- udvList: Object.keys(data).map(function (key) { return ({
1029
- key: key,
1030
- value: JSON.stringify(data[key])
1031
- }); })
1032
- })];
1033
- case 1:
1034
- _a.sent();
1035
- return [2 /*return*/];
1036
- }
1037
- });
1038
- });
1039
- };
1040
- /**
1041
- * @description 批量设置自定义数据
1042
- *
1043
- */
1044
- UsersManagementClient.prototype.setUdfValueBatch = function (input) {
1045
- return __awaiter(this, void 0, void 0, function () {
1046
- var params;
1047
- return __generator(this, function (_a) {
1048
- switch (_a.label) {
1049
- case 0:
1050
- if (input.length === 0) {
1051
- throw new Error('empty input list');
1052
- }
1053
- params = [];
1054
- input.forEach(function (_a) {
1055
- var userId = _a.userId, data = _a.data;
1056
- for (var _i = 0, _b = Object.keys(data); _i < _b.length; _i++) {
1057
- var key = _b[_i];
1058
- params.push({
1059
- targetId: userId,
1060
- key: key,
1061
- value: JSON.stringify(data[key])
1062
- });
1063
- }
1064
- });
1065
- return [4 /*yield*/, setUdfValueBatch(this.graphqlClient, this.tokenProvider, {
1066
- targetType: UdfTargetType.User,
1067
- input: params
1068
- })];
1069
- case 1:
1070
- _a.sent();
1071
- return [2 /*return*/];
1072
- }
1073
- });
1074
- });
1075
- };
1076
- /**
1077
- * @description 清除用户的自定义数据
1078
- *
1079
- */
1080
- UsersManagementClient.prototype.removeUdfValue = function (userId, key) {
1081
- return __awaiter(this, void 0, void 0, function () {
1082
- return __generator(this, function (_a) {
1083
- switch (_a.label) {
1084
- case 0: return [4 /*yield*/, removeUdv(this.graphqlClient, this.tokenProvider, {
1085
- targetType: UdfTargetType.User,
1086
- targetId: userId,
1087
- key: key
1088
- })];
1089
- case 1:
1090
- _a.sent();
1091
- return [2 /*return*/];
1092
- }
1093
- });
1094
- });
1095
- };
1096
- /**
1097
- * 判断用户是否有某个角色
1098
- * @param userId 用户 ID
1099
- * @param roleCode 角色 Code
1100
- * @param namespace 权限分组 ID
1101
- */
1102
- UsersManagementClient.prototype.hasRole = function (userId, roleCode, namespace) {
1103
- return __awaiter(this, void 0, void 0, function () {
1104
- var roleList, hasRole;
1105
- return __generator(this, function (_a) {
1106
- switch (_a.label) {
1107
- case 0: return [4 /*yield*/, this.listRoles(userId, namespace)];
1108
- case 1:
1109
- roleList = _a.sent();
1110
- if (roleList.totalCount < 1) {
1111
- return [2 /*return*/, false];
1112
- }
1113
- hasRole = false;
1114
- roleList.list.forEach(function (item) {
1115
- if (item.code === roleCode) {
1116
- hasRole = true;
1117
- }
1118
- });
1119
- return [2 /*return*/, hasRole];
1120
- }
1121
- });
1122
- });
1123
- };
1124
- /**
1125
- * @description 强制一批用户下线
1126
- */
1127
- UsersManagementClient.prototype.kick = function (userIds) {
1128
- return __awaiter(this, void 0, void 0, function () {
1129
- return __generator(this, function (_a) {
1130
- switch (_a.label) {
1131
- case 0: return [4 /*yield*/, this.httpClient.request({
1132
- url: this.options.host + "/api/v2/users/kick",
1133
- method: 'POST',
1134
- data: {
1135
- userIds: userIds
1136
- }
1137
- })];
1138
- case 1:
1139
- _a.sent();
1140
- return [2 /*return*/, { code: 200, message: '强制下线成功' }];
1141
- }
1142
- });
1143
- });
1144
- };
1145
- UsersManagementClient.prototype.logout = function (options) {
1146
- return __awaiter(this, void 0, void 0, function () {
1147
- return __generator(this, function (_a) {
1148
- switch (_a.label) {
1149
- case 0:
1150
- if (!options || !options.userId) {
1151
- throw new Error('请传入 options.userId,内容为要下线的用户 ID');
1152
- }
1153
- return [4 /*yield*/, this.httpClient.request({
1154
- url: this.options.host + "/logout",
1155
- method: 'GET',
1156
- params: {
1157
- appId: options.appId,
1158
- userId: options.userId
1159
- }
1160
- })];
1161
- case 1:
1162
- _a.sent();
1163
- return [2 /*return*/, { code: 200, message: '强制下线成功' }];
1164
- }
1165
- });
1166
- });
1167
- };
1168
- /**
1169
- * @description 查询用户的登录状态
1170
- */
1171
- UsersManagementClient.prototype.checkLoginStatus = function (userId, appId, deviceId) {
1172
- return __awaiter(this, void 0, void 0, function () {
1173
- var result;
1174
- return __generator(this, function (_a) {
1175
- switch (_a.label) {
1176
- case 0: return [4 /*yield*/, this.httpClient.request({
1177
- method: 'GET',
1178
- url: this.options.host + "/api/v2/users/login-status",
1179
- params: {
1180
- userId: userId,
1181
- appId: appId,
1182
- deviceId: deviceId
1183
- }
1184
- })];
1185
- case 1:
1186
- result = _a.sent();
1187
- return [2 /*return*/, result];
1188
- }
1189
- });
1190
- });
1191
- };
1192
- /**
1193
- * 审计日志列表
1194
- * @param options.page 当前页数
1195
- * @param options.limit 每页显示条数
1196
- * @param options.clientIp 客户端 IP 地址
1197
- * @param options.operationName 操作类型
1198
- * @param options.operatoArn 用户 Arn 通过 searchUser 方法获得
1199
- * @returns Promise<UserActions>
1200
- */
1201
- UsersManagementClient.prototype.listUserActions = function (options) {
1202
- var _a, _b;
1203
- if (options === void 0) { options = {
1204
- page: 1,
1205
- limit: 10
1206
- }; }
1207
- return __awaiter(this, void 0, void 0, function () {
1208
- var result;
1209
- return __generator(this, function (_c) {
1210
- switch (_c.label) {
1211
- case 0: return [4 /*yield*/, this.httpClient.request({
1212
- method: 'GET',
1213
- url: this.options.host + "/api/v2/analysis/user-action" +
1214
- objectToQueryString({
1215
- page: (_a = options.page) === null || _a === void 0 ? void 0 : _a.toString(),
1216
- limit: (_b = options.limit) === null || _b === void 0 ? void 0 : _b.toString(),
1217
- clientip: options.clientIp,
1218
- operation_name: options.operationName,
1219
- operator_arn: options.operatoArn
1220
- })
1221
- })];
1222
- case 1:
1223
- result = _c.sent();
1224
- return [2 /*return*/, result];
1225
- }
1226
- });
1227
- });
1228
- };
1229
- /**
1230
- * @description 发送首次登录验证邮件
1231
- *
1232
- */
1233
- UsersManagementClient.prototype.sendFirstLoginVerifyEmail = function (options) {
1234
- return __awaiter(this, void 0, void 0, function () {
1235
- return __generator(this, function (_a) {
1236
- switch (_a.label) {
1237
- case 0: return [4 /*yield*/, sendFirstLoginVerifyEmail(this.graphqlClient, this.tokenProvider, options)];
1238
- case 1:
1239
- _a.sent();
1240
- return [2 /*return*/, true];
1241
- }
1242
- });
1243
- });
1244
- };
1245
- return UsersManagementClient;
1246
- }());
1247
- export { UsersManagementClient };
1248
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVXNlcnNNYW5hZ2VtZW50Q2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9tYW5hZ2VtZW50L1VzZXJzTWFuYWdlbWVudENsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFRQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDL0MsT0FBTyxFQUNMLFVBQVUsRUFDVixXQUFXLEVBQ1gsSUFBSSxFQUNKLEtBQUssRUFDTCxhQUFhLEVBQ2IsVUFBVSxFQUNWLFVBQVUsRUFDVixVQUFVLEVBQ1YsWUFBWSxFQUNaLFlBQVksRUFDWixVQUFVLEVBQ1YsVUFBVSxFQUNWLFlBQVksRUFDWixjQUFjLEVBQ2QsbUJBQW1CLEVBQ25CLGFBQWEsRUFDYixRQUFRLEVBQ1Isa0JBQWtCLEVBQ2xCLDJCQUEyQixFQUMzQixHQUFHLEVBQ0gsYUFBYSxFQUNiLFdBQVcsRUFDWCxTQUFTLEVBQ1QsZ0JBQWdCLEVBQ2hCLG1CQUFtQixFQUNuQixrQkFBa0IsRUFDbEIsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxzQkFBc0IsRUFDdEIsd0JBQXdCLEVBQ3hCLHlCQUF5QixFQUMxQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBVUwsYUFBYSxFQUlkLE1BQU0sd0JBQXdCLENBQUM7QUFJaEMsT0FBTyxFQUFFLHdCQUF3QixFQUFFLHlCQUF5QixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRS9FOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBeUJHO0FBQ0g7SUFPRSwrQkFDRSxPQUFnQyxFQUNoQyxhQUE0QixFQUM1QixVQUFzQixFQUN0QixhQUFzQyxFQUN0QyxpQkFBbUM7UUFFbkMsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUM7UUFDbkMsSUFBSSxDQUFDLGFB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