@things-factory/auth-base 8.0.5 → 9.0.0-beta.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (493) hide show
  1. package/config/config.development.js +45 -0
  2. package/config/config.production.js +45 -0
  3. package/dist-client/bootstrap.d.ts +1 -1
  4. package/dist-client/bootstrap.js +4 -4
  5. package/dist-client/bootstrap.js.map +1 -1
  6. package/dist-client/directive/privileged.d.ts +1 -1
  7. package/dist-client/directive/privileged.js +1 -1
  8. package/dist-client/directive/privileged.js.map +1 -1
  9. package/dist-client/index.d.ts +4 -3
  10. package/dist-client/index.js +4 -3
  11. package/dist-client/index.js.map +1 -1
  12. package/dist-client/profiled.js +1 -1
  13. package/dist-client/profiled.js.map +1 -1
  14. package/dist-client/reducers/auth.js +1 -1
  15. package/dist-client/reducers/auth.js.map +1 -1
  16. package/dist-client/tsconfig.tsbuildinfo +1 -1
  17. package/dist-client/verify-webauthn.d.ts +13 -0
  18. package/dist-client/verify-webauthn.js +72 -0
  19. package/dist-client/verify-webauthn.js.map +1 -0
  20. package/dist-server/constants/error-code.d.ts +2 -0
  21. package/dist-server/constants/error-code.js +3 -1
  22. package/dist-server/constants/error-code.js.map +1 -1
  23. package/dist-server/controllers/auth.d.ts +5 -5
  24. package/dist-server/controllers/auth.js +5 -5
  25. package/dist-server/controllers/auth.js.map +1 -1
  26. package/dist-server/controllers/change-pwd.js +21 -21
  27. package/dist-server/controllers/change-pwd.js.map +1 -1
  28. package/dist-server/controllers/checkin.js +4 -4
  29. package/dist-server/controllers/checkin.js.map +1 -1
  30. package/dist-server/controllers/delete-user.js +22 -21
  31. package/dist-server/controllers/delete-user.js.map +1 -1
  32. package/dist-server/controllers/invitation.d.ts +2 -1
  33. package/dist-server/controllers/invitation.js +46 -21
  34. package/dist-server/controllers/invitation.js.map +1 -1
  35. package/dist-server/controllers/profile.d.ts +9 -8
  36. package/dist-server/controllers/profile.js +26 -8
  37. package/dist-server/controllers/profile.js.map +1 -1
  38. package/dist-server/controllers/reset-password.js +24 -24
  39. package/dist-server/controllers/reset-password.js.map +1 -1
  40. package/dist-server/controllers/signin.d.ts +5 -2
  41. package/dist-server/controllers/signin.js +41 -25
  42. package/dist-server/controllers/signin.js.map +1 -1
  43. package/dist-server/controllers/signup.d.ts +1 -1
  44. package/dist-server/controllers/signup.js +26 -17
  45. package/dist-server/controllers/signup.js.map +1 -1
  46. package/dist-server/controllers/unlock-user.js +18 -17
  47. package/dist-server/controllers/unlock-user.js.map +1 -1
  48. package/dist-server/controllers/utils/password-rule.js +4 -4
  49. package/dist-server/controllers/utils/password-rule.js.map +1 -1
  50. package/dist-server/controllers/utils/save-invitation-token.d.ts +1 -1
  51. package/dist-server/controllers/utils/save-invitation-token.js +2 -2
  52. package/dist-server/controllers/utils/save-invitation-token.js.map +1 -1
  53. package/dist-server/controllers/utils/save-verification-token.d.ts +1 -1
  54. package/dist-server/controllers/utils/save-verification-token.js +3 -3
  55. package/dist-server/controllers/utils/save-verification-token.js.map +1 -1
  56. package/dist-server/controllers/verification.js +24 -23
  57. package/dist-server/controllers/verification.js.map +1 -1
  58. package/dist-server/errors/auth-error.js +1 -1
  59. package/dist-server/errors/auth-error.js.map +1 -1
  60. package/dist-server/errors/index.d.ts +2 -2
  61. package/dist-server/errors/index.js +2 -2
  62. package/dist-server/errors/index.js.map +1 -1
  63. package/dist-server/errors/user-domain-not-match-error.d.ts +1 -1
  64. package/dist-server/errors/user-domain-not-match-error.js +8 -8
  65. package/dist-server/errors/user-domain-not-match-error.js.map +1 -1
  66. package/dist-server/index.d.ts +16 -16
  67. package/dist-server/index.js +18 -18
  68. package/dist-server/index.js.map +1 -1
  69. package/dist-server/middlewares/authenticate-401-middleware.js +11 -11
  70. package/dist-server/middlewares/authenticate-401-middleware.js.map +1 -1
  71. package/dist-server/middlewares/domain-authenticate-middleware.d.ts +1 -1
  72. package/dist-server/middlewares/domain-authenticate-middleware.js +9 -9
  73. package/dist-server/middlewares/domain-authenticate-middleware.js.map +1 -1
  74. package/dist-server/middlewares/graphql-authenticate-middleware.js +4 -4
  75. package/dist-server/middlewares/graphql-authenticate-middleware.js.map +1 -1
  76. package/dist-server/middlewares/index.d.ts +5 -5
  77. package/dist-server/middlewares/index.js +18 -18
  78. package/dist-server/middlewares/index.js.map +1 -1
  79. package/dist-server/middlewares/jwt-authenticate-middleware.js +15 -15
  80. package/dist-server/middlewares/jwt-authenticate-middleware.js.map +1 -1
  81. package/dist-server/middlewares/signin-middleware.js +7 -6
  82. package/dist-server/middlewares/signin-middleware.js.map +1 -1
  83. package/dist-server/middlewares/verify-recaptcha-middleware.d.ts +3 -0
  84. package/dist-server/middlewares/verify-recaptcha-middleware.js +95 -0
  85. package/dist-server/middlewares/verify-recaptcha-middleware.js.map +1 -0
  86. package/dist-server/middlewares/webauthn-middleware.js +16 -13
  87. package/dist-server/middlewares/webauthn-middleware.js.map +1 -1
  88. package/dist-server/migrations/1548206416130-SeedUser.js +8 -7
  89. package/dist-server/migrations/1548206416130-SeedUser.js.map +1 -1
  90. package/dist-server/migrations/1566805283882-SeedPrivilege.js +2 -2
  91. package/dist-server/migrations/1566805283882-SeedPrivilege.js.map +1 -1
  92. package/dist-server/migrations/index.js.map +1 -1
  93. package/dist-server/router/auth-checkin-router.js +18 -12
  94. package/dist-server/router/auth-checkin-router.js.map +1 -1
  95. package/dist-server/router/auth-private-process-router.js +26 -21
  96. package/dist-server/router/auth-private-process-router.js.map +1 -1
  97. package/dist-server/router/auth-public-process-router.js +42 -31
  98. package/dist-server/router/auth-public-process-router.js.map +1 -1
  99. package/dist-server/router/auth-signin-router.js +16 -16
  100. package/dist-server/router/auth-signin-router.js.map +1 -1
  101. package/dist-server/router/auth-signup-router.js +13 -9
  102. package/dist-server/router/auth-signup-router.js.map +1 -1
  103. package/dist-server/router/index.d.ts +9 -9
  104. package/dist-server/router/index.js +9 -9
  105. package/dist-server/router/index.js.map +1 -1
  106. package/dist-server/router/oauth2/index.d.ts +2 -2
  107. package/dist-server/router/oauth2/index.js +2 -2
  108. package/dist-server/router/oauth2/index.js.map +1 -1
  109. package/dist-server/router/oauth2/oauth2-authorize-router.js +6 -6
  110. package/dist-server/router/oauth2/oauth2-authorize-router.js.map +1 -1
  111. package/dist-server/router/oauth2/oauth2-router.d.ts +1 -1
  112. package/dist-server/router/oauth2/oauth2-router.js +21 -21
  113. package/dist-server/router/oauth2/oauth2-router.js.map +1 -1
  114. package/dist-server/router/oauth2/oauth2-server.js +21 -21
  115. package/dist-server/router/oauth2/oauth2-server.js.map +1 -1
  116. package/dist-server/router/site-root-router.js +4 -4
  117. package/dist-server/router/site-root-router.js.map +1 -1
  118. package/dist-server/router/webauthn-router.js +58 -8
  119. package/dist-server/router/webauthn-router.js.map +1 -1
  120. package/dist-server/routes.js +19 -19
  121. package/dist-server/routes.js.map +1 -1
  122. package/dist-server/service/app-binding/app-binding-mutation.js +4 -4
  123. package/dist-server/service/app-binding/app-binding-mutation.js.map +1 -1
  124. package/dist-server/service/app-binding/app-binding-query.d.ts +4 -4
  125. package/dist-server/service/app-binding/app-binding-query.js +22 -22
  126. package/dist-server/service/app-binding/app-binding-query.js.map +1 -1
  127. package/dist-server/service/app-binding/app-binding-types.d.ts +1 -1
  128. package/dist-server/service/app-binding/app-binding-types.js +2 -2
  129. package/dist-server/service/app-binding/app-binding-types.js.map +1 -1
  130. package/dist-server/service/app-binding/app-binding.d.ts +2 -2
  131. package/dist-server/service/app-binding/app-binding.js +4 -4
  132. package/dist-server/service/app-binding/app-binding.js.map +1 -1
  133. package/dist-server/service/app-binding/index.d.ts +2 -2
  134. package/dist-server/service/app-binding/index.js +3 -3
  135. package/dist-server/service/app-binding/index.js.map +1 -1
  136. package/dist-server/service/appliance/appliance-mutation.d.ts +2 -2
  137. package/dist-server/service/appliance/appliance-mutation.js +21 -21
  138. package/dist-server/service/appliance/appliance-mutation.js.map +1 -1
  139. package/dist-server/service/appliance/appliance-query.d.ts +3 -3
  140. package/dist-server/service/appliance/appliance-query.js +17 -17
  141. package/dist-server/service/appliance/appliance-query.js.map +1 -1
  142. package/dist-server/service/appliance/appliance-types.d.ts +1 -1
  143. package/dist-server/service/appliance/appliance-types.js +2 -2
  144. package/dist-server/service/appliance/appliance-types.js.map +1 -1
  145. package/dist-server/service/appliance/appliance.d.ts +1 -1
  146. package/dist-server/service/appliance/appliance.js +8 -8
  147. package/dist-server/service/appliance/appliance.js.map +1 -1
  148. package/dist-server/service/appliance/index.d.ts +3 -3
  149. package/dist-server/service/appliance/index.js +5 -5
  150. package/dist-server/service/appliance/index.js.map +1 -1
  151. package/dist-server/service/application/application-mutation.d.ts +8 -8
  152. package/dist-server/service/application/application-mutation.js +20 -20
  153. package/dist-server/service/application/application-mutation.js.map +1 -1
  154. package/dist-server/service/application/application-query.d.ts +2 -2
  155. package/dist-server/service/application/application-query.js +16 -16
  156. package/dist-server/service/application/application-query.js.map +1 -1
  157. package/dist-server/service/application/application-types.d.ts +1 -1
  158. package/dist-server/service/application/application-types.js +4 -4
  159. package/dist-server/service/application/application-types.js.map +1 -1
  160. package/dist-server/service/application/application.d.ts +1 -1
  161. package/dist-server/service/application/application.js +12 -12
  162. package/dist-server/service/application/application.js.map +1 -1
  163. package/dist-server/service/application/index.d.ts +3 -3
  164. package/dist-server/service/application/index.js +5 -5
  165. package/dist-server/service/application/index.js.map +1 -1
  166. package/dist-server/service/auth-provider/auth-provider-mutation.d.ts +2 -2
  167. package/dist-server/service/auth-provider/auth-provider-mutation.js +20 -20
  168. package/dist-server/service/auth-provider/auth-provider-mutation.js.map +1 -1
  169. package/dist-server/service/auth-provider/auth-provider-query.d.ts +3 -3
  170. package/dist-server/service/auth-provider/auth-provider-query.js +20 -20
  171. package/dist-server/service/auth-provider/auth-provider-query.js.map +1 -1
  172. package/dist-server/service/auth-provider/auth-provider-type.d.ts +1 -1
  173. package/dist-server/service/auth-provider/auth-provider-type.js +2 -2
  174. package/dist-server/service/auth-provider/auth-provider-type.js.map +1 -1
  175. package/dist-server/service/auth-provider/auth-provider.d.ts +3 -3
  176. package/dist-server/service/auth-provider/auth-provider.js +12 -12
  177. package/dist-server/service/auth-provider/auth-provider.js.map +1 -1
  178. package/dist-server/service/auth-provider/index.d.ts +3 -3
  179. package/dist-server/service/auth-provider/index.js +5 -5
  180. package/dist-server/service/auth-provider/index.js.map +1 -1
  181. package/dist-server/service/domain-generator/domain-generator-mutation.d.ts +1 -1
  182. package/dist-server/service/domain-generator/domain-generator-mutation.js +11 -11
  183. package/dist-server/service/domain-generator/domain-generator-mutation.js.map +1 -1
  184. package/dist-server/service/domain-generator/domain-generator-types.d.ts +1 -1
  185. package/dist-server/service/domain-generator/domain-generator-types.js +3 -3
  186. package/dist-server/service/domain-generator/domain-generator-types.js.map +1 -1
  187. package/dist-server/service/domain-generator/index.d.ts +1 -1
  188. package/dist-server/service/domain-generator/index.js +2 -2
  189. package/dist-server/service/domain-generator/index.js.map +1 -1
  190. package/dist-server/service/granted-role/granted-role-mutation.d.ts +3 -3
  191. package/dist-server/service/granted-role/granted-role-mutation.js +17 -17
  192. package/dist-server/service/granted-role/granted-role-mutation.js.map +1 -1
  193. package/dist-server/service/granted-role/granted-role-query.d.ts +2 -2
  194. package/dist-server/service/granted-role/granted-role-query.js +13 -13
  195. package/dist-server/service/granted-role/granted-role-query.js.map +1 -1
  196. package/dist-server/service/granted-role/granted-role.d.ts +1 -1
  197. package/dist-server/service/granted-role/granted-role.js +3 -3
  198. package/dist-server/service/granted-role/granted-role.js.map +1 -1
  199. package/dist-server/service/granted-role/index.d.ts +3 -3
  200. package/dist-server/service/granted-role/index.js +5 -5
  201. package/dist-server/service/granted-role/index.js.map +1 -1
  202. package/dist-server/service/index.d.ts +25 -25
  203. package/dist-server/service/index.js +70 -70
  204. package/dist-server/service/index.js.map +1 -1
  205. package/dist-server/service/invitation/index.d.ts +3 -3
  206. package/dist-server/service/invitation/index.js +5 -5
  207. package/dist-server/service/invitation/index.js.map +1 -1
  208. package/dist-server/service/invitation/invitation-mutation.d.ts +4 -3
  209. package/dist-server/service/invitation/invitation-mutation.js +26 -14
  210. package/dist-server/service/invitation/invitation-mutation.js.map +1 -1
  211. package/dist-server/service/invitation/invitation-query.d.ts +1 -1
  212. package/dist-server/service/invitation/invitation-query.js +7 -7
  213. package/dist-server/service/invitation/invitation-query.js.map +1 -1
  214. package/dist-server/service/invitation/invitation-types.d.ts +1 -1
  215. package/dist-server/service/invitation/invitation-types.js +2 -2
  216. package/dist-server/service/invitation/invitation-types.js.map +1 -1
  217. package/dist-server/service/invitation/invitation.d.ts +1 -1
  218. package/dist-server/service/invitation/invitation.js +5 -5
  219. package/dist-server/service/invitation/invitation.js.map +1 -1
  220. package/dist-server/service/login-history/index.d.ts +2 -2
  221. package/dist-server/service/login-history/index.js +4 -4
  222. package/dist-server/service/login-history/index.js.map +1 -1
  223. package/dist-server/service/login-history/login-history-query.d.ts +3 -3
  224. package/dist-server/service/login-history/login-history-query.js +11 -11
  225. package/dist-server/service/login-history/login-history-query.js.map +1 -1
  226. package/dist-server/service/login-history/login-history-type.d.ts +1 -1
  227. package/dist-server/service/login-history/login-history-type.js +2 -2
  228. package/dist-server/service/login-history/login-history-type.js.map +1 -1
  229. package/dist-server/service/login-history/login-history.d.ts +1 -1
  230. package/dist-server/service/login-history/login-history.js +4 -4
  231. package/dist-server/service/login-history/login-history.js.map +1 -1
  232. package/dist-server/service/partner/index.d.ts +3 -3
  233. package/dist-server/service/partner/index.js +5 -5
  234. package/dist-server/service/partner/index.js.map +1 -1
  235. package/dist-server/service/partner/partner-mutation.js +8 -8
  236. package/dist-server/service/partner/partner-mutation.js.map +1 -1
  237. package/dist-server/service/partner/partner-query.d.ts +3 -3
  238. package/dist-server/service/partner/partner-query.js +17 -17
  239. package/dist-server/service/partner/partner-query.js.map +1 -1
  240. package/dist-server/service/partner/partner-types.d.ts +1 -1
  241. package/dist-server/service/partner/partner-types.js +2 -2
  242. package/dist-server/service/partner/partner-types.js.map +1 -1
  243. package/dist-server/service/partner/partner.d.ts +1 -1
  244. package/dist-server/service/partner/partner.js +5 -5
  245. package/dist-server/service/partner/partner.js.map +1 -1
  246. package/dist-server/service/password-history/index.d.ts +1 -1
  247. package/dist-server/service/password-history/index.js +2 -2
  248. package/dist-server/service/password-history/index.js.map +1 -1
  249. package/dist-server/service/privilege/index.d.ts +3 -3
  250. package/dist-server/service/privilege/index.js +5 -5
  251. package/dist-server/service/privilege/index.js.map +1 -1
  252. package/dist-server/service/privilege/privilege-directive.js +2 -2
  253. package/dist-server/service/privilege/privilege-directive.js.map +1 -1
  254. package/dist-server/service/privilege/privilege-mutation.d.ts +2 -2
  255. package/dist-server/service/privilege/privilege-mutation.js +15 -15
  256. package/dist-server/service/privilege/privilege-mutation.js.map +1 -1
  257. package/dist-server/service/privilege/privilege-query.d.ts +4 -4
  258. package/dist-server/service/privilege/privilege-query.js +20 -20
  259. package/dist-server/service/privilege/privilege-query.js.map +1 -1
  260. package/dist-server/service/privilege/privilege-types.d.ts +1 -1
  261. package/dist-server/service/privilege/privilege-types.js +2 -2
  262. package/dist-server/service/privilege/privilege-types.js.map +1 -1
  263. package/dist-server/service/privilege/privilege.d.ts +2 -2
  264. package/dist-server/service/privilege/privilege.js +10 -10
  265. package/dist-server/service/privilege/privilege.js.map +1 -1
  266. package/dist-server/service/role/index.d.ts +3 -3
  267. package/dist-server/service/role/index.js +5 -5
  268. package/dist-server/service/role/index.js.map +1 -1
  269. package/dist-server/service/role/role-mutation.d.ts +2 -2
  270. package/dist-server/service/role/role-mutation.js +19 -19
  271. package/dist-server/service/role/role-mutation.js.map +1 -1
  272. package/dist-server/service/role/role-query.d.ts +4 -4
  273. package/dist-server/service/role/role-query.js +29 -29
  274. package/dist-server/service/role/role-query.js.map +1 -1
  275. package/dist-server/service/role/role-types.d.ts +1 -1
  276. package/dist-server/service/role/role-types.js +2 -2
  277. package/dist-server/service/role/role-types.js.map +1 -1
  278. package/dist-server/service/role/role.d.ts +2 -2
  279. package/dist-server/service/role/role.js +12 -12
  280. package/dist-server/service/role/role.js.map +1 -1
  281. package/dist-server/service/user/domain-query.d.ts +1 -1
  282. package/dist-server/service/user/domain-query.js +3 -3
  283. package/dist-server/service/user/domain-query.js.map +1 -1
  284. package/dist-server/service/user/index.d.ts +4 -4
  285. package/dist-server/service/user/index.js +6 -6
  286. package/dist-server/service/user/index.js.map +1 -1
  287. package/dist-server/service/user/user-mutation.d.ts +13 -12
  288. package/dist-server/service/user/user-mutation.js +141 -83
  289. package/dist-server/service/user/user-mutation.js.map +1 -1
  290. package/dist-server/service/user/user-query.d.ts +3 -3
  291. package/dist-server/service/user/user-query.js +21 -21
  292. package/dist-server/service/user/user-query.js.map +1 -1
  293. package/dist-server/service/user/user-types.d.ts +2 -1
  294. package/dist-server/service/user/user-types.js +6 -2
  295. package/dist-server/service/user/user-types.js.map +1 -1
  296. package/dist-server/service/user/user.d.ts +4 -3
  297. package/dist-server/service/user/user.js +80 -54
  298. package/dist-server/service/user/user.js.map +1 -1
  299. package/dist-server/service/users-auth-providers/index.d.ts +1 -1
  300. package/dist-server/service/users-auth-providers/index.js +2 -2
  301. package/dist-server/service/users-auth-providers/index.js.map +1 -1
  302. package/dist-server/service/users-auth-providers/users-auth-providers.d.ts +2 -2
  303. package/dist-server/service/users-auth-providers/users-auth-providers.js +8 -8
  304. package/dist-server/service/users-auth-providers/users-auth-providers.js.map +1 -1
  305. package/dist-server/service/verification-token/index.d.ts +1 -1
  306. package/dist-server/service/verification-token/index.js +2 -2
  307. package/dist-server/service/verification-token/index.js.map +1 -1
  308. package/dist-server/service/web-auth-credential/index.d.ts +1 -1
  309. package/dist-server/service/web-auth-credential/index.js +2 -2
  310. package/dist-server/service/web-auth-credential/index.js.map +1 -1
  311. package/dist-server/service/web-auth-credential/web-auth-credential.d.ts +1 -1
  312. package/dist-server/service/web-auth-credential/web-auth-credential.js +10 -10
  313. package/dist-server/service/web-auth-credential/web-auth-credential.js.map +1 -1
  314. package/dist-server/templates/account-unlock-email.d.ts +2 -1
  315. package/dist-server/templates/account-unlock-email.js +1 -1
  316. package/dist-server/templates/account-unlock-email.js.map +1 -1
  317. package/dist-server/templates/invitation-email.d.ts +2 -1
  318. package/dist-server/templates/invitation-email.js +1 -1
  319. package/dist-server/templates/invitation-email.js.map +1 -1
  320. package/dist-server/templates/verification-email.d.ts +2 -1
  321. package/dist-server/templates/verification-email.js +1 -1
  322. package/dist-server/templates/verification-email.js.map +1 -1
  323. package/dist-server/tsconfig.tsbuildinfo +1 -1
  324. package/dist-server/types.d.ts +1 -1
  325. package/dist-server/types.js.map +1 -1
  326. package/dist-server/utils/access-token-cookie.js +2 -2
  327. package/dist-server/utils/access-token-cookie.js.map +1 -1
  328. package/dist-server/utils/check-permission.d.ts +2 -2
  329. package/dist-server/utils/check-permission.js +3 -3
  330. package/dist-server/utils/check-permission.js.map +1 -1
  331. package/dist-server/utils/check-user-belongs-domain.d.ts +1 -1
  332. package/dist-server/utils/check-user-belongs-domain.js +2 -2
  333. package/dist-server/utils/check-user-belongs-domain.js.map +1 -1
  334. package/dist-server/utils/check-user-has-role.d.ts +1 -1
  335. package/dist-server/utils/check-user-has-role.js +2 -2
  336. package/dist-server/utils/check-user-has-role.js.map +1 -1
  337. package/dist-server/utils/get-domain-users.d.ts +1 -1
  338. package/dist-server/utils/get-domain-users.js +2 -2
  339. package/dist-server/utils/get-domain-users.js.map +1 -1
  340. package/dist-server/utils/get-user-domains.d.ts +1 -1
  341. package/dist-server/utils/get-user-domains.js +4 -4
  342. package/dist-server/utils/get-user-domains.js.map +1 -1
  343. package/helps/config/recaptcha.ja.md +49 -0
  344. package/helps/config/recaptcha.ko.md +49 -0
  345. package/helps/config/recaptcha.md +49 -0
  346. package/helps/config/recaptcha.ms.md +49 -0
  347. package/helps/config/recaptcha.zh.md +49 -0
  348. package/package.json +10 -9
  349. package/translations/en.json +5 -1
  350. package/translations/ja.json +5 -1
  351. package/translations/ko.json +6 -3
  352. package/translations/ms.json +5 -1
  353. package/translations/zh.json +5 -1
  354. package/client/actions/auth.ts +0 -24
  355. package/client/auth.ts +0 -272
  356. package/client/bootstrap.ts +0 -47
  357. package/client/directive/privileged.ts +0 -28
  358. package/client/index.ts +0 -3
  359. package/client/profiled.ts +0 -83
  360. package/client/reducers/auth.ts +0 -31
  361. package/server/constants/error-code.ts +0 -20
  362. package/server/constants/error-message.ts +0 -0
  363. package/server/constants/max-age.ts +0 -1
  364. package/server/controllers/auth.ts +0 -5
  365. package/server/controllers/change-pwd.ts +0 -99
  366. package/server/controllers/checkin.ts +0 -21
  367. package/server/controllers/delete-user.ts +0 -68
  368. package/server/controllers/invitation.ts +0 -132
  369. package/server/controllers/profile.ts +0 -28
  370. package/server/controllers/reset-password.ts +0 -126
  371. package/server/controllers/signin.ts +0 -79
  372. package/server/controllers/signup.ts +0 -60
  373. package/server/controllers/unlock-user.ts +0 -61
  374. package/server/controllers/utils/make-invitation-token.ts +0 -5
  375. package/server/controllers/utils/make-verification-token.ts +0 -4
  376. package/server/controllers/utils/password-rule.ts +0 -120
  377. package/server/controllers/utils/save-invitation-token.ts +0 -10
  378. package/server/controllers/utils/save-verification-token.ts +0 -12
  379. package/server/controllers/verification.ts +0 -83
  380. package/server/errors/auth-error.ts +0 -24
  381. package/server/errors/index.ts +0 -2
  382. package/server/errors/user-domain-not-match-error.ts +0 -29
  383. package/server/index.ts +0 -37
  384. package/server/middlewares/authenticate-401-middleware.ts +0 -114
  385. package/server/middlewares/domain-authenticate-middleware.ts +0 -78
  386. package/server/middlewares/graphql-authenticate-middleware.ts +0 -13
  387. package/server/middlewares/index.ts +0 -67
  388. package/server/middlewares/jwt-authenticate-middleware.ts +0 -84
  389. package/server/middlewares/signin-middleware.ts +0 -55
  390. package/server/middlewares/webauthn-middleware.ts +0 -127
  391. package/server/migrations/1548206416130-SeedUser.ts +0 -59
  392. package/server/migrations/1566805283882-SeedPrivilege.ts +0 -28
  393. package/server/migrations/index.ts +0 -9
  394. package/server/router/auth-checkin-router.ts +0 -107
  395. package/server/router/auth-private-process-router.ts +0 -107
  396. package/server/router/auth-public-process-router.ts +0 -302
  397. package/server/router/auth-signin-router.ts +0 -65
  398. package/server/router/auth-signup-router.ts +0 -95
  399. package/server/router/index.ts +0 -9
  400. package/server/router/oauth2/index.ts +0 -2
  401. package/server/router/oauth2/oauth2-authorize-router.ts +0 -81
  402. package/server/router/oauth2/oauth2-router.ts +0 -165
  403. package/server/router/oauth2/oauth2-server.ts +0 -262
  404. package/server/router/oauth2/passport-oauth2-client-password.ts +0 -87
  405. package/server/router/oauth2/passport-refresh-token.ts +0 -87
  406. package/server/router/path-base-domain-router.ts +0 -8
  407. package/server/router/site-root-router.ts +0 -48
  408. package/server/router/webauthn-router.ts +0 -87
  409. package/server/routes.ts +0 -80
  410. package/server/service/app-binding/app-binding-mutation.ts +0 -22
  411. package/server/service/app-binding/app-binding-query.ts +0 -92
  412. package/server/service/app-binding/app-binding-types.ts +0 -11
  413. package/server/service/app-binding/app-binding.ts +0 -17
  414. package/server/service/app-binding/index.ts +0 -4
  415. package/server/service/appliance/appliance-mutation.ts +0 -113
  416. package/server/service/appliance/appliance-query.ts +0 -76
  417. package/server/service/appliance/appliance-types.ts +0 -56
  418. package/server/service/appliance/appliance.ts +0 -133
  419. package/server/service/appliance/index.ts +0 -6
  420. package/server/service/application/application-mutation.ts +0 -104
  421. package/server/service/application/application-query.ts +0 -98
  422. package/server/service/application/application-types.ts +0 -76
  423. package/server/service/application/application.ts +0 -216
  424. package/server/service/application/index.ts +0 -6
  425. package/server/service/auth-provider/auth-provider-mutation.ts +0 -159
  426. package/server/service/auth-provider/auth-provider-parameter-spec.ts +0 -24
  427. package/server/service/auth-provider/auth-provider-query.ts +0 -88
  428. package/server/service/auth-provider/auth-provider-type.ts +0 -67
  429. package/server/service/auth-provider/auth-provider.ts +0 -155
  430. package/server/service/auth-provider/index.ts +0 -7
  431. package/server/service/domain-generator/domain-generator-mutation.ts +0 -117
  432. package/server/service/domain-generator/domain-generator-types.ts +0 -46
  433. package/server/service/domain-generator/index.ts +0 -3
  434. package/server/service/granted-role/granted-role-mutation.ts +0 -156
  435. package/server/service/granted-role/granted-role-query.ts +0 -60
  436. package/server/service/granted-role/granted-role.ts +0 -27
  437. package/server/service/granted-role/index.ts +0 -6
  438. package/server/service/index.ts +0 -90
  439. package/server/service/invitation/index.ts +0 -6
  440. package/server/service/invitation/invitation-mutation.ts +0 -63
  441. package/server/service/invitation/invitation-query.ts +0 -33
  442. package/server/service/invitation/invitation-types.ts +0 -11
  443. package/server/service/invitation/invitation.ts +0 -63
  444. package/server/service/login-history/index.ts +0 -5
  445. package/server/service/login-history/login-history-query.ts +0 -51
  446. package/server/service/login-history/login-history-type.ts +0 -12
  447. package/server/service/login-history/login-history.ts +0 -45
  448. package/server/service/partner/index.ts +0 -6
  449. package/server/service/partner/partner-mutation.ts +0 -61
  450. package/server/service/partner/partner-query.ts +0 -102
  451. package/server/service/partner/partner-types.ts +0 -11
  452. package/server/service/partner/partner.ts +0 -57
  453. package/server/service/password-history/index.ts +0 -3
  454. package/server/service/password-history/password-history.ts +0 -16
  455. package/server/service/privilege/index.ts +0 -6
  456. package/server/service/privilege/privilege-directive.ts +0 -77
  457. package/server/service/privilege/privilege-mutation.ts +0 -92
  458. package/server/service/privilege/privilege-query.ts +0 -94
  459. package/server/service/privilege/privilege-types.ts +0 -60
  460. package/server/service/privilege/privilege.ts +0 -102
  461. package/server/service/role/index.ts +0 -6
  462. package/server/service/role/role-mutation.ts +0 -109
  463. package/server/service/role/role-query.ts +0 -155
  464. package/server/service/role/role-types.ts +0 -81
  465. package/server/service/role/role.ts +0 -72
  466. package/server/service/user/domain-query.ts +0 -24
  467. package/server/service/user/index.ts +0 -7
  468. package/server/service/user/user-mutation.ts +0 -413
  469. package/server/service/user/user-query.ts +0 -145
  470. package/server/service/user/user-types.ts +0 -97
  471. package/server/service/user/user.ts +0 -354
  472. package/server/service/users-auth-providers/index.ts +0 -5
  473. package/server/service/users-auth-providers/users-auth-providers.ts +0 -71
  474. package/server/service/verification-token/index.ts +0 -3
  475. package/server/service/verification-token/verification-token.ts +0 -60
  476. package/server/service/web-auth-credential/index.ts +0 -3
  477. package/server/service/web-auth-credential/web-auth-credential.ts +0 -67
  478. package/server/templates/account-unlock-email.ts +0 -65
  479. package/server/templates/invitation-email.ts +0 -66
  480. package/server/templates/reset-password-email.ts +0 -65
  481. package/server/templates/verification-email.ts +0 -66
  482. package/server/types.ts +0 -21
  483. package/server/utils/accepts.ts +0 -11
  484. package/server/utils/access-token-cookie.ts +0 -61
  485. package/server/utils/check-permission.ts +0 -52
  486. package/server/utils/check-user-belongs-domain.ts +0 -19
  487. package/server/utils/check-user-has-role.ts +0 -29
  488. package/server/utils/encrypt-state.ts +0 -22
  489. package/server/utils/get-aes-256-key.ts +0 -13
  490. package/server/utils/get-domain-from-hostname.ts +0 -7
  491. package/server/utils/get-domain-users.ts +0 -38
  492. package/server/utils/get-secret.ts +0 -13
  493. package/server/utils/get-user-domains.ts +0 -112
@@ -7,56 +7,65 @@ const graphql_scalars_1 = require("graphql-scalars");
7
7
  const typeorm_1 = require("typeorm");
8
8
  const env_1 = require("@things-factory/env");
9
9
  const shell_1 = require("@things-factory/shell");
10
- const delete_user_1 = require("../../controllers/delete-user");
11
- const get_domain_users_1 = require("../../utils/get-domain-users");
12
- const role_1 = require("../role/role");
13
- const user_1 = require("./user");
14
- const user_types_1 = require("./user-types");
10
+ const delete_user_js_1 = require("../../controllers/delete-user.js");
11
+ const get_domain_users_js_1 = require("../../utils/get-domain-users.js");
12
+ const role_js_1 = require("../role/role.js");
13
+ const user_js_1 = require("./user.js");
14
+ const user_types_js_1 = require("./user-types.js");
15
+ const error_code_js_1 = require("../../constants/error-code.js");
15
16
  let UserMutation = class UserMutation {
16
17
  async createUser(user, context) {
17
18
  const { domain, tx } = context.state;
18
19
  const { defaultPassword } = env_1.config.get('password');
19
- const { email } = user;
20
+ const { username, email } = user;
21
+ const userRepository = (0, shell_1.getRepository)(user_js_1.User, tx);
22
+ user.username = username.trim();
20
23
  user.email = email.trim();
21
- const oldUser = await (0, shell_1.getRepository)(user_1.User, tx).findOne({ where: { email: (0, typeorm_1.ILike)(user.email) } });
22
- if (oldUser) {
23
- throw new Error(context.t('error.x already exists in y', { x: context.t('field.user'), y: 'operato' }));
24
+ if (await userRepository.findOne({ where: { username: user.username } })) {
25
+ throw new Error(context.t(error_code_js_1.USERNAME_ALREADY_EXISTS));
26
+ }
27
+ if (await userRepository.findOne({ where: { email: (0, typeorm_1.ILike)(user.email) } })) {
28
+ throw new Error(context.t(error_code_js_1.EMAIL_ALREADY_EXISTS));
24
29
  }
25
30
  if (!user.password && !defaultPassword) {
26
- throw new Error(context.t('error.initial password or default password should be supported'));
31
+ throw new Error('initial password or default password should be supported.');
32
+ }
33
+ // TODO username은 다음 패턴을 따라야 한다. pattern="^[A-Za-z0-9]*$"
34
+ if (!/^[A-Za-z0-9]*$/.test(user.username)) {
35
+ throw new Error(context.t('error.invalid x', { x: context.t('field.username') }));
27
36
  }
28
37
  // consider if validation password rule is required
29
38
  /* check if password is following the rule */
30
39
  // User.validatePasswordByRule(user.password, context.lng)
31
- const salt = user_1.User.generateSalt();
32
- return await (0, shell_1.getRepository)(user_1.User, tx).save(Object.assign(Object.assign({ creator: context.state.user, updater: context.state.user }, user), { domains: [domain], roles: user.roles && user.roles.length
33
- ? await (0, shell_1.getRepository)(role_1.Role, tx).findBy({
40
+ const salt = user_js_1.User.generateSalt();
41
+ return await userRepository.save(Object.assign(Object.assign({ creator: context.state.user, updater: context.state.user }, user), { domains: [domain], roles: user.roles && user.roles.length
42
+ ? await (0, shell_1.getRepository)(role_js_1.Role, tx).findBy({
34
43
  id: (0, typeorm_1.In)(user.roles.map(role => role.id)),
35
44
  domain: { id: domain.id }
36
45
  })
37
- : [], salt, passwordUpdatedAt: new Date(), password: user.password ? user_1.User.encode(user.password, salt) : user_1.User.encode(defaultPassword, salt) }));
46
+ : [], salt, passwordUpdatedAt: new Date(), password: user.password ? user_js_1.User.encode(user.password, salt) : user_js_1.User.encode(defaultPassword, salt) }));
38
47
  }
39
48
  async updateUser(email, patch, context) {
40
49
  const { domain, user: updater, tx } = context.state;
41
- const qb = (0, get_domain_users_1.buildDomainUsersQueryBuilder)(domain.id, 'USER');
50
+ const qb = (0, get_domain_users_js_1.buildDomainUsersQueryBuilder)(domain.id, 'USER');
42
51
  const user = await qb
43
52
  .andWhere('LOWER(USER.email) = :email', { email: (email === null || email === void 0 ? void 0 : email.toLowerCase().trim()) || '' })
44
53
  .leftJoinAndSelect('USER.roles', 'ROLES')
45
54
  .leftJoinAndSelect('ROLES.domain', 'R_DOMAIN')
46
55
  .getOne();
47
56
  if (patch.roles) {
48
- patch.roles = await (0, shell_1.getRepository)(role_1.Role, tx).find({
57
+ patch.roles = await (0, shell_1.getRepository)(role_js_1.Role, tx).find({
49
58
  where: { id: (0, typeorm_1.In)(patch.roles.map((r) => r.id)) }
50
59
  });
51
60
  }
52
61
  if (patch.status && patch.status === 'activated') {
53
- user.status = user_1.UserStatus.ACTIVATED;
62
+ user.status = user_js_1.UserStatus.ACTIVATED;
54
63
  }
55
- return await (0, shell_1.getRepository)(user_1.User, tx).save(Object.assign(Object.assign(Object.assign({}, user), patch), { updater }));
64
+ return await (0, shell_1.getRepository)(user_js_1.User, tx).save(Object.assign(Object.assign(Object.assign({}, user), patch), { updater }));
56
65
  }
57
66
  async updateMultipleUser(patches, context) {
58
67
  const { domain, user, tx } = context.state;
59
- const userRepo = (0, shell_1.getRepository)(user_1.User, tx);
68
+ const userRepo = (0, shell_1.getRepository)(user_js_1.User, tx);
60
69
  let results = [];
61
70
  const _createRecords = patches.filter((patch) => patch.cuFlag.toUpperCase() === '+');
62
71
  const _updateRecords = patches.filter((patch) => patch.cuFlag.toUpperCase() === 'M');
@@ -66,8 +75,8 @@ let UserMutation = class UserMutation {
66
75
  // consider if validation password rule is required
67
76
  /* check if password is following the rule */
68
77
  // User.validatePasswordByRule(newRecord.password, context.lng)
69
- const salt = user_1.User.generateSalt();
70
- const result = await userRepo.save(Object.assign(Object.assign({}, newRecord), { domains: [domain], salt, password: user_1.User.encode(newRecord.password, salt), passwordUpdatedAt: new Date(), creator: user, updater: user }));
78
+ const salt = user_js_1.User.generateSalt();
79
+ const result = await userRepo.save(Object.assign(Object.assign({}, newRecord), { domains: [domain], salt, password: user_js_1.User.encode(newRecord.password, salt), passwordUpdatedAt: new Date(), creator: user, updater: user }));
71
80
  // repository api는 작동하지 않음.
72
81
  // await tx
73
82
  // .createQueryBuilder()
@@ -89,7 +98,7 @@ let UserMutation = class UserMutation {
89
98
  // User.validatePasswordByRule(updateRecord.password, context.lng)
90
99
  const user = await userRepo.findOne({ where: { id: updateRecord.id }, relations: ['domains'] });
91
100
  var domains = user.domains.find(d => d.id === domain.id) ? user.domains : [...user.domains, domain];
92
- const result = await userRepo.save(Object.assign(Object.assign(Object.assign({}, user), updateRecord), { domains, password: updateRecord.password ? user_1.User.encode(updateRecord.password, user.salt) : user.password, updater: user }));
101
+ const result = await userRepo.save(Object.assign(Object.assign(Object.assign({}, user), updateRecord), { domains, password: updateRecord.password ? user_js_1.User.encode(updateRecord.password, user.salt) : user.password, updater: user }));
93
102
  if (!updateRecord.status) {
94
103
  continue;
95
104
  }
@@ -115,22 +124,29 @@ let UserMutation = class UserMutation {
115
124
  }
116
125
  return results;
117
126
  }
118
- async deleteUser(email, context) {
127
+ async deleteUser(username, context) {
119
128
  const { tx } = context.state;
120
- await (0, delete_user_1.deleteUser)({ email }, tx);
129
+ await (0, delete_user_js_1.deleteUser)({ username }, tx);
121
130
  return true;
122
131
  }
123
- async deleteUsers(emails, context) {
132
+ async deleteUsers(usernames, context) {
124
133
  const { tx } = context.state;
125
- await (0, delete_user_1.deleteUsers)({ emails }, tx);
134
+ await (0, delete_user_js_1.deleteUsers)({ usernames }, tx);
126
135
  return true;
127
136
  }
128
- async inviteUser(email, context) {
137
+ async inviteUser(username, context) {
129
138
  const { domain, tx } = context.state;
130
- const invitee = await (0, shell_1.getRepository)(user_1.User, tx).findOne({
131
- where: { email: (0, typeorm_1.ILike)(email) },
139
+ const userRepository = (0, shell_1.getRepository)(user_js_1.User, tx);
140
+ var invitee = await userRepository.findOne({
141
+ where: { username },
132
142
  relations: ['domains']
133
143
  });
144
+ if (!invitee && /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(username)) {
145
+ invitee = await userRepository.findOne({
146
+ where: { email: (0, typeorm_1.ILike)(username) },
147
+ relations: ['domains']
148
+ });
149
+ }
134
150
  if (!invitee) {
135
151
  throw new Error(context.t('error.failed to find x', { x: context.t('field.user') }));
136
152
  }
@@ -139,15 +155,22 @@ let UserMutation = class UserMutation {
139
155
  throw new Error(context.t('error.x already exists in y', { x: context.t('field.user'), y: domain.name }));
140
156
  }
141
157
  invitee.domains = [...existingDomains, domain];
142
- await (0, shell_1.getRepository)(user_1.User, tx).save(invitee);
158
+ await userRepository.save(invitee);
143
159
  return true;
144
160
  }
145
- async deleteDomainUser(email, context) {
161
+ async deleteDomainUser(username, context) {
146
162
  const { tx, domain } = context.state;
147
- let user = await (0, shell_1.getRepository)(user_1.User, tx).findOne({
148
- where: { email: (0, typeorm_1.ILike)(email) },
149
- relations: ['domains', 'roles', 'roles.domain']
163
+ const userRepository = (0, shell_1.getRepository)(user_js_1.User, tx);
164
+ var user = await userRepository.findOne({
165
+ where: { username },
166
+ relations: ['domains', 'roles']
150
167
  });
168
+ if (!user && /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(username)) {
169
+ user = await userRepository.findOne({
170
+ where: { email: (0, typeorm_1.ILike)(username) },
171
+ relations: ['domains', 'roles']
172
+ });
173
+ }
151
174
  if (!user) {
152
175
  throw new Error(context.t('error.failed to find x', { x: context.t('field.user') }));
153
176
  }
@@ -158,20 +181,27 @@ let UserMutation = class UserMutation {
158
181
  // Remove domain relation with user
159
182
  user.domains.splice(targetDomainIdx, 1);
160
183
  // Remove domain's roles that user has
161
- user.roles = user.roles.filter((role) => role.domain.id !== domain.id);
162
- await (0, shell_1.getRepository)(user_1.User, tx).save(user);
184
+ user.roles = user.roles.filter((role) => role.domainId !== domain.id);
185
+ await userRepository.save(user);
163
186
  return true;
164
187
  }
165
- async transferOwner(email, context) {
188
+ async transferOwner(username, context) {
166
189
  const { domain, tx } = context.state;
167
- const user = await (0, shell_1.getRepository)(user_1.User, tx).findOne({
168
- where: { email: (0, typeorm_1.ILike)(email) },
169
- relations: ['domains', 'roles']
190
+ const userRepository = (0, shell_1.getRepository)(user_js_1.User, tx);
191
+ var user = await userRepository.findOne({
192
+ where: { username },
193
+ relations: ['domains']
170
194
  });
195
+ if (!user && /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(username)) {
196
+ user = await userRepository.findOne({
197
+ where: { email: (0, typeorm_1.ILike)(username) },
198
+ relations: ['domains']
199
+ });
200
+ }
171
201
  if (!user) {
172
- throw new Error('Failed to find user');
202
+ throw new Error(context.t('error.failed to find x', { x: context.t('field.user') }));
173
203
  }
174
- if (user.status !== user_1.UserStatus.ACTIVATED) {
204
+ if (user.status !== user_js_1.UserStatus.ACTIVATED) {
175
205
  throw new Error('Only activated users are eligible to receive admin privileges.');
176
206
  }
177
207
  if (user.domains.map((d) => d.id).indexOf(domain.id) < 0) {
@@ -184,33 +214,47 @@ let UserMutation = class UserMutation {
184
214
  await (0, shell_1.getRepository)(shell_1.Domain, tx).save(domain);
185
215
  return true;
186
216
  }
187
- async activateUser(userId, context) {
217
+ async activateUser(username, context) {
188
218
  var _a;
189
219
  const { tx, domain } = context.state;
190
- const targetUser = await (0, shell_1.getRepository)(user_1.User, tx).findOne({
191
- where: { id: userId },
220
+ const userRepository = (0, shell_1.getRepository)(user_js_1.User, tx);
221
+ var targetUser = await userRepository.findOne({
222
+ where: { username },
192
223
  relations: ['domains']
193
224
  });
225
+ if (!targetUser && /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(username)) {
226
+ targetUser = await userRepository.findOne({
227
+ where: { email: (0, typeorm_1.ILike)(username) },
228
+ relations: ['domains']
229
+ });
230
+ }
194
231
  if (!targetUser) {
195
- throw new Error('No user found');
232
+ throw new Error(context.t('error.failed to find x', { x: context.t('field.user') }));
196
233
  }
197
234
  if (!((_a = targetUser === null || targetUser === void 0 ? void 0 : targetUser.domains) === null || _a === void 0 ? void 0 : _a.find((userDomain) => userDomain.id === domain.id))) {
198
235
  throw new Error('User is not belong to domain');
199
236
  }
200
237
  targetUser.failCount = 0;
201
- targetUser.status = user_1.UserStatus.ACTIVATED;
202
- await (0, shell_1.getRepository)(user_1.User, tx).save(targetUser);
238
+ targetUser.status = user_js_1.UserStatus.ACTIVATED;
239
+ await userRepository.save(targetUser);
203
240
  return true;
204
241
  }
205
- async inactivateUser(userId, context) {
242
+ async inactivateUser(username, context) {
206
243
  var _a;
207
244
  const { tx, domain } = context.state;
208
- const targetUser = await (0, shell_1.getRepository)(user_1.User, tx).findOne({
209
- where: { id: userId },
245
+ const userRepository = (0, shell_1.getRepository)(user_js_1.User, tx);
246
+ var targetUser = await userRepository.findOne({
247
+ where: { username },
210
248
  relations: ['domains']
211
249
  });
250
+ if (!targetUser && /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(username)) {
251
+ targetUser = await userRepository.findOne({
252
+ where: { email: (0, typeorm_1.ILike)(username) },
253
+ relations: ['domains']
254
+ });
255
+ }
212
256
  if (!targetUser) {
213
- throw new Error('No user found');
257
+ throw new Error(context.t('error.failed to find x', { x: context.t('field.user') }));
214
258
  }
215
259
  if (!((_a = targetUser === null || targetUser === void 0 ? void 0 : targetUser.domains) === null || _a === void 0 ? void 0 : _a.find((userDomain) => userDomain.id === domain.id))) {
216
260
  throw new Error('User is not belong to domain');
@@ -218,40 +262,54 @@ let UserMutation = class UserMutation {
218
262
  if (targetUser.userType == 'admin' || targetUser.id === domain.owner) {
219
263
  throw new Error('Admin deactivation not allowed');
220
264
  }
221
- targetUser.status = user_1.UserStatus.INACTIVE;
222
- await (0, shell_1.getRepository)(user_1.User, tx).save(targetUser);
265
+ targetUser.status = user_js_1.UserStatus.INACTIVE;
266
+ await userRepository.save(targetUser);
223
267
  return true;
224
268
  }
225
- async resetPasswordToDefault(userId, context) {
269
+ async resetPasswordToDefault(username, context) {
226
270
  var _a;
227
271
  const { tx, domain } = context.state;
228
272
  const { defaultPassword } = env_1.config.get('password');
229
273
  if (!defaultPassword) {
230
274
  throw new Error('No default password found');
231
275
  }
232
- const targetUser = await (0, shell_1.getRepository)(user_1.User, tx).findOne({
233
- where: { id: userId },
276
+ const userRepository = (0, shell_1.getRepository)(user_js_1.User, tx);
277
+ var targetUser = await userRepository.findOne({
278
+ where: { username },
234
279
  relations: ['domains']
235
280
  });
281
+ if (!targetUser && /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(username)) {
282
+ targetUser = await userRepository.findOne({
283
+ where: { email: (0, typeorm_1.ILike)(username) },
284
+ relations: ['domains']
285
+ });
286
+ }
236
287
  if (!targetUser) {
237
- throw new Error('No user found');
288
+ throw new Error(context.t('error.failed to find x', { x: context.t('field.user') }));
238
289
  }
239
290
  if (!((_a = targetUser === null || targetUser === void 0 ? void 0 : targetUser.domains) === null || _a === void 0 ? void 0 : _a.find((userDomain) => userDomain.id === domain.id))) {
240
291
  throw new Error('User is not belong to domain');
241
292
  }
242
- targetUser.salt = user_1.User.generateSalt();
243
- targetUser.password = user_1.User.encode(defaultPassword, targetUser.salt);
244
- await (0, shell_1.getRepository)(user_1.User, tx).save(targetUser);
293
+ targetUser.salt = user_js_1.User.generateSalt();
294
+ targetUser.password = user_js_1.User.encode(defaultPassword, targetUser.salt);
295
+ await userRepository.save(targetUser);
245
296
  return true;
246
297
  }
247
- async updateUserRoles(userId, availableRoles, selectedRoles, context) {
298
+ async updateUserRoles(username, availableRoles, selectedRoles, context) {
248
299
  const { domain, tx } = context.state;
249
- let user = await (0, shell_1.getRepository)(user_1.User, tx).findOne({
250
- where: { id: userId },
300
+ const userRepository = (0, shell_1.getRepository)(user_js_1.User, tx);
301
+ var user = await userRepository.findOne({
302
+ where: { username },
251
303
  relations: ['domains', 'roles']
252
304
  });
305
+ if (!user && /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(username)) {
306
+ user = await userRepository.findOne({
307
+ where: { email: (0, typeorm_1.ILike)(username) },
308
+ relations: ['domains', 'roles']
309
+ });
310
+ }
253
311
  if (!user) {
254
- throw new Error('Failed to find user');
312
+ throw new Error(context.t('error.failed to find x', { x: context.t('field.user') }));
255
313
  }
256
314
  if (user.domains.map((d) => d.id).indexOf(domain.id) < 0) {
257
315
  throw new Error(`User is not belongs to current domain`);
@@ -259,36 +317,36 @@ let UserMutation = class UserMutation {
259
317
  const availableRoleIds = availableRoles.map((r) => r.id);
260
318
  user.roles = user.roles.filter((r) => availableRoleIds.indexOf(r.id) < 0);
261
319
  user.roles = user.roles.concat(selectedRoles);
262
- return await (0, shell_1.getRepository)(user_1.User, tx).save(user);
320
+ return await userRepository.save(user);
263
321
  }
264
322
  };
265
323
  exports.UserMutation = UserMutation;
266
324
  tslib_1.__decorate([
267
325
  (0, type_graphql_1.Directive)('@privilege(category: "user", privilege: "mutation", domainOwnerGranted: true)'),
268
326
  (0, type_graphql_1.Directive)('@transaction'),
269
- (0, type_graphql_1.Mutation)(returns => user_1.User, { description: 'To create new user' }),
327
+ (0, type_graphql_1.Mutation)(returns => user_js_1.User, { description: 'To create new user' }),
270
328
  tslib_1.__param(0, (0, type_graphql_1.Arg)('user')),
271
329
  tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
272
330
  tslib_1.__metadata("design:type", Function),
273
- tslib_1.__metadata("design:paramtypes", [user_types_1.NewUser, Object]),
331
+ tslib_1.__metadata("design:paramtypes", [user_types_js_1.NewUser, Object]),
274
332
  tslib_1.__metadata("design:returntype", Promise)
275
333
  ], UserMutation.prototype, "createUser", null);
276
334
  tslib_1.__decorate([
277
335
  (0, type_graphql_1.Directive)('@privilege(category: "user", privilege: "mutation", domainOwnerGranted: true)'),
278
336
  (0, type_graphql_1.Directive)('@transaction'),
279
- (0, type_graphql_1.Mutation)(returns => user_1.User, { description: 'To modify user information' }),
337
+ (0, type_graphql_1.Mutation)(returns => user_js_1.User, { description: 'To modify user information' }),
280
338
  tslib_1.__param(0, (0, type_graphql_1.Arg)('email', type => graphql_scalars_1.GraphQLEmailAddress)),
281
339
  tslib_1.__param(1, (0, type_graphql_1.Arg)('patch')),
282
340
  tslib_1.__param(2, (0, type_graphql_1.Ctx)()),
283
341
  tslib_1.__metadata("design:type", Function),
284
- tslib_1.__metadata("design:paramtypes", [String, user_types_1.UserPatch, Object]),
342
+ tslib_1.__metadata("design:paramtypes", [String, user_types_js_1.UserPatch, Object]),
285
343
  tslib_1.__metadata("design:returntype", Promise)
286
344
  ], UserMutation.prototype, "updateUser", null);
287
345
  tslib_1.__decorate([
288
346
  (0, type_graphql_1.Directive)('@privilege(category: "user", privilege: "mutation", domainOwnerGranted: true)'),
289
347
  (0, type_graphql_1.Directive)('@transaction'),
290
- (0, type_graphql_1.Mutation)(returns => [user_1.User], { description: 'To modify multiple users information' }),
291
- tslib_1.__param(0, (0, type_graphql_1.Arg)('patches', type => [user_types_1.UserPatch])),
348
+ (0, type_graphql_1.Mutation)(returns => [user_js_1.User], { description: 'To modify multiple users information' }),
349
+ tslib_1.__param(0, (0, type_graphql_1.Arg)('patches', type => [user_types_js_1.UserPatch])),
292
350
  tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
293
351
  tslib_1.__metadata("design:type", Function),
294
352
  tslib_1.__metadata("design:paramtypes", [Array, Object]),
@@ -298,7 +356,7 @@ tslib_1.__decorate([
298
356
  (0, type_graphql_1.Directive)('@privilege(category: "user", privilege: "mutation", domainOwnerGranted: true)'),
299
357
  (0, type_graphql_1.Directive)('@transaction'),
300
358
  (0, type_graphql_1.Mutation)(returns => Boolean, { description: 'To delete a user' }),
301
- tslib_1.__param(0, (0, type_graphql_1.Arg)('email', type => graphql_scalars_1.GraphQLEmailAddress)),
359
+ tslib_1.__param(0, (0, type_graphql_1.Arg)('username')),
302
360
  tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
303
361
  tslib_1.__metadata("design:type", Function),
304
362
  tslib_1.__metadata("design:paramtypes", [String, Object]),
@@ -308,7 +366,7 @@ tslib_1.__decorate([
308
366
  (0, type_graphql_1.Directive)('@privilege(category: "user", privilege: "mutation", domainOwnerGranted: true)'),
309
367
  (0, type_graphql_1.Directive)('@transaction'),
310
368
  (0, type_graphql_1.Mutation)(returns => Boolean, { description: 'To delete some users' }),
311
- tslib_1.__param(0, (0, type_graphql_1.Arg)('emails', type => [String])),
369
+ tslib_1.__param(0, (0, type_graphql_1.Arg)('usernames', type => [String])),
312
370
  tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
313
371
  tslib_1.__metadata("design:type", Function),
314
372
  tslib_1.__metadata("design:paramtypes", [Array, Object]),
@@ -317,7 +375,7 @@ tslib_1.__decorate([
317
375
  tslib_1.__decorate([
318
376
  (0, type_graphql_1.Directive)('@transaction'),
319
377
  (0, type_graphql_1.Mutation)(returns => Boolean, { description: 'To invite new user' }),
320
- tslib_1.__param(0, (0, type_graphql_1.Arg)('email', type => graphql_scalars_1.GraphQLEmailAddress)),
378
+ tslib_1.__param(0, (0, type_graphql_1.Arg)('username')),
321
379
  tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
322
380
  tslib_1.__metadata("design:type", Function),
323
381
  tslib_1.__metadata("design:paramtypes", [String, Object]),
@@ -327,7 +385,7 @@ tslib_1.__decorate([
327
385
  (0, type_graphql_1.Directive)('@transaction'),
328
386
  (0, type_graphql_1.Directive)('@privilege(category: "user", privilege: "mutation", domainOwnerGranted: true)'),
329
387
  (0, type_graphql_1.Mutation)(returns => Boolean, { description: 'To delete domain user' }),
330
- tslib_1.__param(0, (0, type_graphql_1.Arg)('email', type => graphql_scalars_1.GraphQLEmailAddress)),
388
+ tslib_1.__param(0, (0, type_graphql_1.Arg)('username')),
331
389
  tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
332
390
  tslib_1.__metadata("design:type", Function),
333
391
  tslib_1.__metadata("design:paramtypes", [String, Object]),
@@ -337,7 +395,7 @@ tslib_1.__decorate([
337
395
  (0, type_graphql_1.Directive)('@privilege(domainOwnerGranted: true, superUserGranted: true)'),
338
396
  (0, type_graphql_1.Directive)('@transaction'),
339
397
  (0, type_graphql_1.Mutation)(returns => Boolean, { description: 'To transfer owner of domain' }),
340
- tslib_1.__param(0, (0, type_graphql_1.Arg)('email', type => graphql_scalars_1.GraphQLEmailAddress)),
398
+ tslib_1.__param(0, (0, type_graphql_1.Arg)('username')),
341
399
  tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
342
400
  tslib_1.__metadata("design:type", Function),
343
401
  tslib_1.__metadata("design:paramtypes", [String, Object]),
@@ -347,7 +405,7 @@ tslib_1.__decorate([
347
405
  (0, type_graphql_1.Directive)('@privilege(category: "user", privilege: "mutation", domainOwnerGranted: true)'),
348
406
  (0, type_graphql_1.Directive)('@transaction'),
349
407
  (0, type_graphql_1.Mutation)(returns => Boolean, { description: 'To activate user' }),
350
- tslib_1.__param(0, (0, type_graphql_1.Arg)('userId')),
408
+ tslib_1.__param(0, (0, type_graphql_1.Arg)('username')),
351
409
  tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
352
410
  tslib_1.__metadata("design:type", Function),
353
411
  tslib_1.__metadata("design:paramtypes", [String, Object]),
@@ -357,7 +415,7 @@ tslib_1.__decorate([
357
415
  (0, type_graphql_1.Directive)('@privilege(category: "user", privilege: "mutation", domainOwnerGranted: true)'),
358
416
  (0, type_graphql_1.Directive)('@transaction'),
359
417
  (0, type_graphql_1.Mutation)(returns => Boolean, { description: 'To inactivate user' }),
360
- tslib_1.__param(0, (0, type_graphql_1.Arg)('userId')),
418
+ tslib_1.__param(0, (0, type_graphql_1.Arg)('username')),
361
419
  tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
362
420
  tslib_1.__metadata("design:type", Function),
363
421
  tslib_1.__metadata("design:paramtypes", [String, Object]),
@@ -367,7 +425,7 @@ tslib_1.__decorate([
367
425
  (0, type_graphql_1.Directive)('@privilege(category: "user", privilege: "mutation", domainOwnerGranted: true)'),
368
426
  (0, type_graphql_1.Directive)('@transaction'),
369
427
  (0, type_graphql_1.Mutation)(returns => Boolean, { description: 'To reset password to default' }),
370
- tslib_1.__param(0, (0, type_graphql_1.Arg)('userId')),
428
+ tslib_1.__param(0, (0, type_graphql_1.Arg)('username')),
371
429
  tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
372
430
  tslib_1.__metadata("design:type", Function),
373
431
  tslib_1.__metadata("design:paramtypes", [String, Object]),
@@ -376,8 +434,8 @@ tslib_1.__decorate([
376
434
  tslib_1.__decorate([
377
435
  (0, type_graphql_1.Directive)('@privilege(category: "user", privilege: "mutation", domainOwnerGranted: true)'),
378
436
  (0, type_graphql_1.Directive)('@transaction'),
379
- (0, type_graphql_1.Mutation)(returns => user_1.User, { description: 'To update roles for a user' }),
380
- tslib_1.__param(0, (0, type_graphql_1.Arg)('userId')),
437
+ (0, type_graphql_1.Mutation)(returns => user_js_1.User, { description: 'To update roles for a user' }),
438
+ tslib_1.__param(0, (0, type_graphql_1.Arg)('username')),
381
439
  tslib_1.__param(1, (0, type_graphql_1.Arg)('availableRoles', type => [shell_1.ObjectRef])),
382
440
  tslib_1.__param(2, (0, type_graphql_1.Arg)('selectedRoles', type => [shell_1.ObjectRef])),
383
441
  tslib_1.__param(3, (0, type_graphql_1.Ctx)()),
@@ -386,6 +444,6 @@ tslib_1.__decorate([
386
444
  tslib_1.__metadata("design:returntype", Promise)
387
445
  ], UserMutation.prototype, "updateUserRoles", null);
388
446
  exports.UserMutation = UserMutation = tslib_1.__decorate([
389
- (0, type_graphql_1.Resolver)(user_1.User)
447
+ (0, type_graphql_1.Resolver)(user_js_1.User)
390
448
  ], UserMutation);
391
449
  //# sourceMappingURL=user-mutation.js.map