@things-factory/auth-base 9.0.0-beta.4 → 9.0.0-beta.8

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 (332) 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 -4
  10. package/dist-client/index.js +4 -4
  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-server/controllers/auth.d.ts +5 -5
  18. package/dist-server/controllers/auth.js +5 -5
  19. package/dist-server/controllers/auth.js.map +1 -1
  20. package/dist-server/controllers/change-pwd.js +19 -19
  21. package/dist-server/controllers/change-pwd.js.map +1 -1
  22. package/dist-server/controllers/checkin.js +4 -4
  23. package/dist-server/controllers/checkin.js.map +1 -1
  24. package/dist-server/controllers/delete-user.js +9 -9
  25. package/dist-server/controllers/delete-user.js.map +1 -1
  26. package/dist-server/controllers/invitation.js +19 -19
  27. package/dist-server/controllers/invitation.js.map +1 -1
  28. package/dist-server/controllers/profile.d.ts +5 -5
  29. package/dist-server/controllers/profile.js +10 -10
  30. package/dist-server/controllers/profile.js.map +1 -1
  31. package/dist-server/controllers/reset-password.js +24 -24
  32. package/dist-server/controllers/reset-password.js.map +1 -1
  33. package/dist-server/controllers/signin.d.ts +1 -1
  34. package/dist-server/controllers/signin.js +24 -24
  35. package/dist-server/controllers/signin.js.map +1 -1
  36. package/dist-server/controllers/signup.d.ts +1 -1
  37. package/dist-server/controllers/signup.js +13 -13
  38. package/dist-server/controllers/signup.js.map +1 -1
  39. package/dist-server/controllers/unlock-user.js +17 -17
  40. package/dist-server/controllers/unlock-user.js.map +1 -1
  41. package/dist-server/controllers/utils/password-rule.js +4 -4
  42. package/dist-server/controllers/utils/password-rule.js.map +1 -1
  43. package/dist-server/controllers/utils/save-invitation-token.d.ts +1 -1
  44. package/dist-server/controllers/utils/save-invitation-token.js +2 -2
  45. package/dist-server/controllers/utils/save-invitation-token.js.map +1 -1
  46. package/dist-server/controllers/utils/save-verification-token.d.ts +1 -1
  47. package/dist-server/controllers/utils/save-verification-token.js +3 -3
  48. package/dist-server/controllers/utils/save-verification-token.js.map +1 -1
  49. package/dist-server/controllers/verification.js +23 -23
  50. package/dist-server/controllers/verification.js.map +1 -1
  51. package/dist-server/errors/auth-error.js +1 -1
  52. package/dist-server/errors/auth-error.js.map +1 -1
  53. package/dist-server/errors/index.d.ts +2 -2
  54. package/dist-server/errors/index.js +2 -2
  55. package/dist-server/errors/index.js.map +1 -1
  56. package/dist-server/errors/user-domain-not-match-error.d.ts +1 -1
  57. package/dist-server/errors/user-domain-not-match-error.js +8 -8
  58. package/dist-server/errors/user-domain-not-match-error.js.map +1 -1
  59. package/dist-server/index.d.ts +16 -16
  60. package/dist-server/index.js +18 -18
  61. package/dist-server/index.js.map +1 -1
  62. package/dist-server/middlewares/authenticate-401-middleware.js +11 -11
  63. package/dist-server/middlewares/authenticate-401-middleware.js.map +1 -1
  64. package/dist-server/middlewares/domain-authenticate-middleware.d.ts +1 -1
  65. package/dist-server/middlewares/domain-authenticate-middleware.js +9 -9
  66. package/dist-server/middlewares/domain-authenticate-middleware.js.map +1 -1
  67. package/dist-server/middlewares/graphql-authenticate-middleware.js +4 -4
  68. package/dist-server/middlewares/graphql-authenticate-middleware.js.map +1 -1
  69. package/dist-server/middlewares/index.d.ts +5 -5
  70. package/dist-server/middlewares/index.js +18 -18
  71. package/dist-server/middlewares/index.js.map +1 -1
  72. package/dist-server/middlewares/jwt-authenticate-middleware.js +15 -15
  73. package/dist-server/middlewares/jwt-authenticate-middleware.js.map +1 -1
  74. package/dist-server/middlewares/signin-middleware.js +2 -2
  75. package/dist-server/middlewares/signin-middleware.js.map +1 -1
  76. package/dist-server/middlewares/verify-recaptcha-middleware.d.ts +3 -0
  77. package/dist-server/middlewares/verify-recaptcha-middleware.js +95 -0
  78. package/dist-server/middlewares/verify-recaptcha-middleware.js.map +1 -0
  79. package/dist-server/middlewares/webauthn-middleware.js +7 -7
  80. package/dist-server/middlewares/webauthn-middleware.js.map +1 -1
  81. package/dist-server/migrations/1548206416130-SeedUser.js +6 -6
  82. package/dist-server/migrations/1548206416130-SeedUser.js.map +1 -1
  83. package/dist-server/migrations/1566805283882-SeedPrivilege.js +2 -2
  84. package/dist-server/migrations/1566805283882-SeedPrivilege.js.map +1 -1
  85. package/dist-server/migrations/index.js.map +1 -1
  86. package/dist-server/router/auth-checkin-router.js +10 -10
  87. package/dist-server/router/auth-checkin-router.js.map +1 -1
  88. package/dist-server/router/auth-private-process-router.js +15 -15
  89. package/dist-server/router/auth-private-process-router.js.map +1 -1
  90. package/dist-server/router/auth-public-process-router.js +24 -24
  91. package/dist-server/router/auth-public-process-router.js.map +1 -1
  92. package/dist-server/router/auth-signin-router.js +6 -6
  93. package/dist-server/router/auth-signin-router.js.map +1 -1
  94. package/dist-server/router/auth-signup-router.js +11 -8
  95. package/dist-server/router/auth-signup-router.js.map +1 -1
  96. package/dist-server/router/index.d.ts +9 -9
  97. package/dist-server/router/index.js +9 -9
  98. package/dist-server/router/index.js.map +1 -1
  99. package/dist-server/router/oauth2/index.d.ts +2 -2
  100. package/dist-server/router/oauth2/index.js +2 -2
  101. package/dist-server/router/oauth2/index.js.map +1 -1
  102. package/dist-server/router/oauth2/oauth2-authorize-router.js +6 -6
  103. package/dist-server/router/oauth2/oauth2-authorize-router.js.map +1 -1
  104. package/dist-server/router/oauth2/oauth2-router.d.ts +1 -1
  105. package/dist-server/router/oauth2/oauth2-router.js +21 -21
  106. package/dist-server/router/oauth2/oauth2-router.js.map +1 -1
  107. package/dist-server/router/oauth2/oauth2-server.js +21 -21
  108. package/dist-server/router/oauth2/oauth2-server.js.map +1 -1
  109. package/dist-server/router/site-root-router.js +4 -4
  110. package/dist-server/router/site-root-router.js.map +1 -1
  111. package/dist-server/router/webauthn-router.js +9 -9
  112. package/dist-server/router/webauthn-router.js.map +1 -1
  113. package/dist-server/routes.js +19 -19
  114. package/dist-server/routes.js.map +1 -1
  115. package/dist-server/service/app-binding/app-binding-mutation.js +4 -4
  116. package/dist-server/service/app-binding/app-binding-mutation.js.map +1 -1
  117. package/dist-server/service/app-binding/app-binding-query.d.ts +4 -4
  118. package/dist-server/service/app-binding/app-binding-query.js +22 -22
  119. package/dist-server/service/app-binding/app-binding-query.js.map +1 -1
  120. package/dist-server/service/app-binding/app-binding-types.d.ts +1 -1
  121. package/dist-server/service/app-binding/app-binding-types.js +2 -2
  122. package/dist-server/service/app-binding/app-binding-types.js.map +1 -1
  123. package/dist-server/service/app-binding/app-binding.d.ts +2 -2
  124. package/dist-server/service/app-binding/app-binding.js +4 -4
  125. package/dist-server/service/app-binding/app-binding.js.map +1 -1
  126. package/dist-server/service/app-binding/index.d.ts +2 -2
  127. package/dist-server/service/app-binding/index.js +3 -3
  128. package/dist-server/service/app-binding/index.js.map +1 -1
  129. package/dist-server/service/appliance/appliance-mutation.d.ts +2 -2
  130. package/dist-server/service/appliance/appliance-mutation.js +21 -21
  131. package/dist-server/service/appliance/appliance-mutation.js.map +1 -1
  132. package/dist-server/service/appliance/appliance-query.d.ts +3 -3
  133. package/dist-server/service/appliance/appliance-query.js +17 -17
  134. package/dist-server/service/appliance/appliance-query.js.map +1 -1
  135. package/dist-server/service/appliance/appliance-types.d.ts +1 -1
  136. package/dist-server/service/appliance/appliance-types.js +2 -2
  137. package/dist-server/service/appliance/appliance-types.js.map +1 -1
  138. package/dist-server/service/appliance/appliance.d.ts +1 -1
  139. package/dist-server/service/appliance/appliance.js +8 -8
  140. package/dist-server/service/appliance/appliance.js.map +1 -1
  141. package/dist-server/service/appliance/index.d.ts +3 -3
  142. package/dist-server/service/appliance/index.js +5 -5
  143. package/dist-server/service/appliance/index.js.map +1 -1
  144. package/dist-server/service/application/application-mutation.d.ts +8 -8
  145. package/dist-server/service/application/application-mutation.js +20 -20
  146. package/dist-server/service/application/application-mutation.js.map +1 -1
  147. package/dist-server/service/application/application-query.d.ts +2 -2
  148. package/dist-server/service/application/application-query.js +16 -16
  149. package/dist-server/service/application/application-query.js.map +1 -1
  150. package/dist-server/service/application/application-types.d.ts +1 -1
  151. package/dist-server/service/application/application-types.js +4 -4
  152. package/dist-server/service/application/application-types.js.map +1 -1
  153. package/dist-server/service/application/application.d.ts +1 -1
  154. package/dist-server/service/application/application.js +12 -12
  155. package/dist-server/service/application/application.js.map +1 -1
  156. package/dist-server/service/application/index.d.ts +3 -3
  157. package/dist-server/service/application/index.js +5 -5
  158. package/dist-server/service/application/index.js.map +1 -1
  159. package/dist-server/service/auth-provider/auth-provider-mutation.d.ts +2 -2
  160. package/dist-server/service/auth-provider/auth-provider-mutation.js +20 -20
  161. package/dist-server/service/auth-provider/auth-provider-mutation.js.map +1 -1
  162. package/dist-server/service/auth-provider/auth-provider-query.d.ts +3 -3
  163. package/dist-server/service/auth-provider/auth-provider-query.js +20 -20
  164. package/dist-server/service/auth-provider/auth-provider-query.js.map +1 -1
  165. package/dist-server/service/auth-provider/auth-provider-type.d.ts +1 -1
  166. package/dist-server/service/auth-provider/auth-provider-type.js +2 -2
  167. package/dist-server/service/auth-provider/auth-provider-type.js.map +1 -1
  168. package/dist-server/service/auth-provider/auth-provider.d.ts +3 -3
  169. package/dist-server/service/auth-provider/auth-provider.js +12 -12
  170. package/dist-server/service/auth-provider/auth-provider.js.map +1 -1
  171. package/dist-server/service/auth-provider/index.d.ts +3 -3
  172. package/dist-server/service/auth-provider/index.js +5 -5
  173. package/dist-server/service/auth-provider/index.js.map +1 -1
  174. package/dist-server/service/domain-generator/domain-generator-mutation.d.ts +1 -1
  175. package/dist-server/service/domain-generator/domain-generator-mutation.js +11 -11
  176. package/dist-server/service/domain-generator/domain-generator-mutation.js.map +1 -1
  177. package/dist-server/service/domain-generator/domain-generator-types.d.ts +1 -1
  178. package/dist-server/service/domain-generator/domain-generator-types.js +3 -3
  179. package/dist-server/service/domain-generator/domain-generator-types.js.map +1 -1
  180. package/dist-server/service/domain-generator/index.d.ts +1 -1
  181. package/dist-server/service/domain-generator/index.js +2 -2
  182. package/dist-server/service/domain-generator/index.js.map +1 -1
  183. package/dist-server/service/granted-role/granted-role-mutation.d.ts +3 -3
  184. package/dist-server/service/granted-role/granted-role-mutation.js +17 -17
  185. package/dist-server/service/granted-role/granted-role-mutation.js.map +1 -1
  186. package/dist-server/service/granted-role/granted-role-query.d.ts +2 -2
  187. package/dist-server/service/granted-role/granted-role-query.js +13 -13
  188. package/dist-server/service/granted-role/granted-role-query.js.map +1 -1
  189. package/dist-server/service/granted-role/granted-role.d.ts +1 -1
  190. package/dist-server/service/granted-role/granted-role.js +3 -3
  191. package/dist-server/service/granted-role/granted-role.js.map +1 -1
  192. package/dist-server/service/granted-role/index.d.ts +3 -3
  193. package/dist-server/service/granted-role/index.js +5 -5
  194. package/dist-server/service/granted-role/index.js.map +1 -1
  195. package/dist-server/service/index.d.ts +25 -25
  196. package/dist-server/service/index.js +70 -70
  197. package/dist-server/service/index.js.map +1 -1
  198. package/dist-server/service/invitation/index.d.ts +3 -3
  199. package/dist-server/service/invitation/index.js +5 -5
  200. package/dist-server/service/invitation/index.js.map +1 -1
  201. package/dist-server/service/invitation/invitation-mutation.d.ts +2 -2
  202. package/dist-server/service/invitation/invitation-mutation.js +10 -10
  203. package/dist-server/service/invitation/invitation-mutation.js.map +1 -1
  204. package/dist-server/service/invitation/invitation-query.d.ts +1 -1
  205. package/dist-server/service/invitation/invitation-query.js +7 -7
  206. package/dist-server/service/invitation/invitation-query.js.map +1 -1
  207. package/dist-server/service/invitation/invitation-types.d.ts +1 -1
  208. package/dist-server/service/invitation/invitation-types.js +2 -2
  209. package/dist-server/service/invitation/invitation-types.js.map +1 -1
  210. package/dist-server/service/invitation/invitation.d.ts +1 -1
  211. package/dist-server/service/invitation/invitation.js +5 -5
  212. package/dist-server/service/invitation/invitation.js.map +1 -1
  213. package/dist-server/service/login-history/index.d.ts +2 -2
  214. package/dist-server/service/login-history/index.js +4 -4
  215. package/dist-server/service/login-history/index.js.map +1 -1
  216. package/dist-server/service/login-history/login-history-query.d.ts +3 -3
  217. package/dist-server/service/login-history/login-history-query.js +11 -11
  218. package/dist-server/service/login-history/login-history-query.js.map +1 -1
  219. package/dist-server/service/login-history/login-history-type.d.ts +1 -1
  220. package/dist-server/service/login-history/login-history-type.js +2 -2
  221. package/dist-server/service/login-history/login-history-type.js.map +1 -1
  222. package/dist-server/service/login-history/login-history.d.ts +1 -1
  223. package/dist-server/service/login-history/login-history.js +4 -4
  224. package/dist-server/service/login-history/login-history.js.map +1 -1
  225. package/dist-server/service/partner/index.d.ts +3 -3
  226. package/dist-server/service/partner/index.js +5 -5
  227. package/dist-server/service/partner/index.js.map +1 -1
  228. package/dist-server/service/partner/partner-mutation.js +8 -8
  229. package/dist-server/service/partner/partner-mutation.js.map +1 -1
  230. package/dist-server/service/partner/partner-query.d.ts +3 -3
  231. package/dist-server/service/partner/partner-query.js +17 -17
  232. package/dist-server/service/partner/partner-query.js.map +1 -1
  233. package/dist-server/service/partner/partner-types.d.ts +1 -1
  234. package/dist-server/service/partner/partner-types.js +2 -2
  235. package/dist-server/service/partner/partner-types.js.map +1 -1
  236. package/dist-server/service/partner/partner.d.ts +1 -1
  237. package/dist-server/service/partner/partner.js +5 -5
  238. package/dist-server/service/partner/partner.js.map +1 -1
  239. package/dist-server/service/password-history/index.d.ts +1 -1
  240. package/dist-server/service/password-history/index.js +2 -2
  241. package/dist-server/service/password-history/index.js.map +1 -1
  242. package/dist-server/service/privilege/index.d.ts +3 -3
  243. package/dist-server/service/privilege/index.js +5 -5
  244. package/dist-server/service/privilege/index.js.map +1 -1
  245. package/dist-server/service/privilege/privilege-directive.js +2 -2
  246. package/dist-server/service/privilege/privilege-directive.js.map +1 -1
  247. package/dist-server/service/privilege/privilege-mutation.d.ts +2 -2
  248. package/dist-server/service/privilege/privilege-mutation.js +15 -15
  249. package/dist-server/service/privilege/privilege-mutation.js.map +1 -1
  250. package/dist-server/service/privilege/privilege-query.d.ts +4 -4
  251. package/dist-server/service/privilege/privilege-query.js +20 -20
  252. package/dist-server/service/privilege/privilege-query.js.map +1 -1
  253. package/dist-server/service/privilege/privilege-types.d.ts +1 -1
  254. package/dist-server/service/privilege/privilege-types.js +2 -2
  255. package/dist-server/service/privilege/privilege-types.js.map +1 -1
  256. package/dist-server/service/privilege/privilege.d.ts +2 -2
  257. package/dist-server/service/privilege/privilege.js +10 -10
  258. package/dist-server/service/privilege/privilege.js.map +1 -1
  259. package/dist-server/service/role/index.d.ts +3 -3
  260. package/dist-server/service/role/index.js +5 -5
  261. package/dist-server/service/role/index.js.map +1 -1
  262. package/dist-server/service/role/role-mutation.d.ts +2 -2
  263. package/dist-server/service/role/role-mutation.js +19 -19
  264. package/dist-server/service/role/role-mutation.js.map +1 -1
  265. package/dist-server/service/role/role-query.d.ts +4 -4
  266. package/dist-server/service/role/role-query.js +29 -29
  267. package/dist-server/service/role/role-query.js.map +1 -1
  268. package/dist-server/service/role/role-types.d.ts +1 -1
  269. package/dist-server/service/role/role-types.js +2 -2
  270. package/dist-server/service/role/role-types.js.map +1 -1
  271. package/dist-server/service/role/role.d.ts +2 -2
  272. package/dist-server/service/role/role.js +12 -12
  273. package/dist-server/service/role/role.js.map +1 -1
  274. package/dist-server/service/user/domain-query.d.ts +1 -1
  275. package/dist-server/service/user/domain-query.js +3 -3
  276. package/dist-server/service/user/domain-query.js.map +1 -1
  277. package/dist-server/service/user/index.d.ts +4 -4
  278. package/dist-server/service/user/index.js +6 -6
  279. package/dist-server/service/user/index.js.map +1 -1
  280. package/dist-server/service/user/user-mutation.d.ts +3 -3
  281. package/dist-server/service/user/user-mutation.js +42 -42
  282. package/dist-server/service/user/user-mutation.js.map +1 -1
  283. package/dist-server/service/user/user-query.d.ts +3 -3
  284. package/dist-server/service/user/user-query.js +21 -21
  285. package/dist-server/service/user/user-query.js.map +1 -1
  286. package/dist-server/service/user/user-types.d.ts +1 -1
  287. package/dist-server/service/user/user-types.js +2 -2
  288. package/dist-server/service/user/user-types.js.map +1 -1
  289. package/dist-server/service/user/user.d.ts +3 -3
  290. package/dist-server/service/user/user.js +40 -40
  291. package/dist-server/service/user/user.js.map +1 -1
  292. package/dist-server/service/users-auth-providers/index.d.ts +1 -1
  293. package/dist-server/service/users-auth-providers/index.js +2 -2
  294. package/dist-server/service/users-auth-providers/index.js.map +1 -1
  295. package/dist-server/service/users-auth-providers/users-auth-providers.d.ts +2 -2
  296. package/dist-server/service/users-auth-providers/users-auth-providers.js +8 -8
  297. package/dist-server/service/users-auth-providers/users-auth-providers.js.map +1 -1
  298. package/dist-server/service/verification-token/index.d.ts +1 -1
  299. package/dist-server/service/verification-token/index.js +2 -2
  300. package/dist-server/service/verification-token/index.js.map +1 -1
  301. package/dist-server/service/web-auth-credential/index.d.ts +1 -1
  302. package/dist-server/service/web-auth-credential/index.js +2 -2
  303. package/dist-server/service/web-auth-credential/index.js.map +1 -1
  304. package/dist-server/service/web-auth-credential/web-auth-credential.d.ts +1 -1
  305. package/dist-server/service/web-auth-credential/web-auth-credential.js +10 -10
  306. package/dist-server/service/web-auth-credential/web-auth-credential.js.map +1 -1
  307. package/dist-server/tsconfig.tsbuildinfo +1 -1
  308. package/dist-server/types.d.ts +1 -1
  309. package/dist-server/types.js.map +1 -1
  310. package/dist-server/utils/access-token-cookie.js +2 -2
  311. package/dist-server/utils/access-token-cookie.js.map +1 -1
  312. package/dist-server/utils/check-permission.d.ts +2 -2
  313. package/dist-server/utils/check-permission.js +3 -3
  314. package/dist-server/utils/check-permission.js.map +1 -1
  315. package/dist-server/utils/check-user-belongs-domain.d.ts +1 -1
  316. package/dist-server/utils/check-user-belongs-domain.js +2 -2
  317. package/dist-server/utils/check-user-belongs-domain.js.map +1 -1
  318. package/dist-server/utils/check-user-has-role.d.ts +1 -1
  319. package/dist-server/utils/check-user-has-role.js +2 -2
  320. package/dist-server/utils/check-user-has-role.js.map +1 -1
  321. package/dist-server/utils/get-domain-users.d.ts +1 -1
  322. package/dist-server/utils/get-domain-users.js +2 -2
  323. package/dist-server/utils/get-domain-users.js.map +1 -1
  324. package/dist-server/utils/get-user-domains.d.ts +1 -1
  325. package/dist-server/utils/get-user-domains.js +4 -4
  326. package/dist-server/utils/get-user-domains.js.map +1 -1
  327. package/helps/config/recaptcha.ja.md +49 -0
  328. package/helps/config/recaptcha.ko.md +49 -0
  329. package/helps/config/recaptcha.md +49 -0
  330. package/helps/config/recaptcha.ms.md +49 -0
  331. package/helps/config/recaptcha.zh.md +49 -0
  332. package/package.json +6 -5
@@ -1,7 +1,7 @@
1
1
  import { TFunction } from 'i18next';
2
2
  import { EntityManager } from 'typeorm';
3
3
  import { Domain } from '@things-factory/shell';
4
- import { User } from './service/user/user';
4
+ import { User } from './service/user/user.js';
5
5
  declare global {
6
6
  export type ResolverContext = {
7
7
  state: IContextState;
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../server/types.ts"],"names":[],"mappings":"","sourcesContent":["import { TFunction } from 'i18next'\nimport { EntityManager } from 'typeorm'\n\nimport { Domain } from '@things-factory/shell'\n\nimport { User } from './service/user/user'\n\ndeclare global {\n export type ResolverContext = {\n state: IContextState\n t?: TFunction\n [key: string]: any\n }\n\n interface IContextState {\n domain: Domain\n user: User\n tx?: EntityManager\n [key: string]: any\n }\n}\n"]}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../server/types.ts"],"names":[],"mappings":"","sourcesContent":["import { TFunction } from 'i18next'\nimport { EntityManager } from 'typeorm'\n\nimport { Domain } from '@things-factory/shell'\n\nimport { User } from './service/user/user.js'\n\ndeclare global {\n export type ResolverContext = {\n state: IContextState\n t?: TFunction\n [key: string]: any\n }\n\n interface IContextState {\n domain: Domain\n user: User\n tx?: EntityManager\n [key: string]: any\n }\n}\n"]}
@@ -6,7 +6,7 @@ exports.setSessionAccessToken = setSessionAccessToken;
6
6
  exports.clearAccessTokenCookie = clearAccessTokenCookie;
7
7
  const shell_1 = require("@things-factory/shell");
8
8
  const env_1 = require("@things-factory/env");
9
- const max_age_1 = require("../constants/max-age");
9
+ const max_age_js_1 = require("../constants/max-age.js");
10
10
  const accessTokenCookieKey = env_1.config.get('accessTokenCookieKey', 'access_token');
11
11
  function getAccessTokenCookie(context) {
12
12
  var _a;
@@ -17,7 +17,7 @@ function setAccessTokenCookie(context, token) {
17
17
  var cookie = {
18
18
  secure,
19
19
  httpOnly: true,
20
- maxAge: max_age_1.MAX_AGE,
20
+ maxAge: max_age_js_1.MAX_AGE,
21
21
  sameSite: 'Lax'
22
22
  };
23
23
  const cookieDomain = (0, shell_1.getCookieDomainFromHostname)(context.hostname);
@@ -1 +1 @@
1
- {"version":3,"file":"access-token-cookie.js","sourceRoot":"","sources":["../../server/utils/access-token-cookie.ts"],"names":[],"mappings":";;AAMA,oDAEC;AAED,oDAgBC;AAED,sDASC;AAED,wDAqBC;AA5DD,iDAAmE;AACnE,6CAA4C;AAC5C,kDAA8C;AAE9C,MAAM,oBAAoB,GAAG,YAAM,CAAC,GAAG,CAAC,sBAAsB,EAAE,cAAc,CAAC,CAAA;AAE/E,SAAgB,oBAAoB,CAAC,OAAO;;IAC1C,OAAO,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,0CAAE,GAAG,CAAC,oBAAoB,CAAC,CAAA;AACpD,CAAC;AAED,SAAgB,oBAAoB,CAAC,OAAO,EAAE,KAAK;IACjD,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAA;IAE1B,IAAI,MAAM,GAAG;QACX,MAAM;QACN,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,iBAAO;QACf,QAAQ,EAAE,KAAK;KAChB,CAAA;IAED,MAAM,YAAY,GAAG,IAAA,mCAA2B,EAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;IAClE,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,CAAC,QAAQ,CAAC,GAAG,YAAY,CAAA;IACjC,CAAC;IAED,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;AAC1D,CAAC;AAED,SAAgB,qBAAqB,CAAC,OAAO;IAC3C,0FAA0F;IAC1F,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAE9B,OAAO,CAAC,OAAO,GAAG;QAChB,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,QAAQ,EAAE,IAAI,CAAC,IAAI;QACnB,MAAM,EAAE,IAAI,CAAC,KAAK;KACnB,CAAA;AACH,CAAC;AAED,SAAgB,sBAAsB,CAAC,OAAO;IAC5C,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAA;IAE1B,IAAI,MAAM,GAAG;QACX,MAAM;QACN,QAAQ,EAAE,IAAI;QACd,QAAQ,EAAE,KAAK;KAChB,CAAA;IAED,MAAM,YAAY,GAAG,IAAA,mCAA2B,EAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;IAClE,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,CAAC,QAAQ,CAAC,GAAG,YAAY,CAAA;IACjC,CAAC;IAED,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,EAAE,EAAE,MAAM,CAAC,CAAA;IACrD;;;OAGG;IACH,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,EAAE,MAAM,CAAC,CAAA;IAC1C,OAAO,CAAC,OAAO,GAAG,IAAI,CAAA;AACxB,CAAC","sourcesContent":["import { getCookieDomainFromHostname } from '@things-factory/shell'\nimport { config } from '@things-factory/env'\nimport { MAX_AGE } from '../constants/max-age'\n\nconst accessTokenCookieKey = config.get('accessTokenCookieKey', 'access_token')\n\nexport function getAccessTokenCookie(context) {\n return context?.cookies?.get(accessTokenCookieKey)\n}\n\nexport function setAccessTokenCookie(context, token) {\n const { secure } = context\n\n var cookie = {\n secure,\n httpOnly: true,\n maxAge: MAX_AGE,\n sameSite: 'Lax'\n }\n\n const cookieDomain = getCookieDomainFromHostname(context.hostname)\n if (cookieDomain) {\n cookie['domain'] = cookieDomain\n }\n\n context.cookies.set(accessTokenCookieKey, token, cookie)\n}\n\nexport function setSessionAccessToken(context) {\n /* koa-session 을 사용하는 경우에는, cookie 직접 설정이 작동되지 않는다. 그런 경우에는 session에 설정해서 cookie를 변경한다. */\n const { user } = context.state\n\n context.session = {\n id: user.id,\n userType: user.type,\n status: user.state\n }\n}\n\nexport function clearAccessTokenCookie(context) {\n const { secure } = context\n\n var cookie = {\n secure,\n httpOnly: true,\n sameSite: 'Lax'\n }\n\n const cookieDomain = getCookieDomainFromHostname(context.hostname)\n if (cookieDomain) {\n cookie['domain'] = cookieDomain\n }\n\n context.cookies.set(accessTokenCookieKey, '', cookie)\n /*\n * TODO clear i18next cookie as well - need to support domain\n * https://github.com/hatiolab/things-factory/issues/70\n */\n context.cookies.set('i18next', '', cookie)\n context.session = null\n}\n"]}
1
+ {"version":3,"file":"access-token-cookie.js","sourceRoot":"","sources":["../../server/utils/access-token-cookie.ts"],"names":[],"mappings":";;AAMA,oDAEC;AAED,oDAgBC;AAED,sDASC;AAED,wDAqBC;AA5DD,iDAAmE;AACnE,6CAA4C;AAC5C,wDAAiD;AAEjD,MAAM,oBAAoB,GAAG,YAAM,CAAC,GAAG,CAAC,sBAAsB,EAAE,cAAc,CAAC,CAAA;AAE/E,SAAgB,oBAAoB,CAAC,OAAO;;IAC1C,OAAO,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,0CAAE,GAAG,CAAC,oBAAoB,CAAC,CAAA;AACpD,CAAC;AAED,SAAgB,oBAAoB,CAAC,OAAO,EAAE,KAAK;IACjD,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAA;IAE1B,IAAI,MAAM,GAAG;QACX,MAAM;QACN,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,oBAAO;QACf,QAAQ,EAAE,KAAK;KAChB,CAAA;IAED,MAAM,YAAY,GAAG,IAAA,mCAA2B,EAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;IAClE,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,CAAC,QAAQ,CAAC,GAAG,YAAY,CAAA;IACjC,CAAC;IAED,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;AAC1D,CAAC;AAED,SAAgB,qBAAqB,CAAC,OAAO;IAC3C,0FAA0F;IAC1F,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAE9B,OAAO,CAAC,OAAO,GAAG;QAChB,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,QAAQ,EAAE,IAAI,CAAC,IAAI;QACnB,MAAM,EAAE,IAAI,CAAC,KAAK;KACnB,CAAA;AACH,CAAC;AAED,SAAgB,sBAAsB,CAAC,OAAO;IAC5C,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAA;IAE1B,IAAI,MAAM,GAAG;QACX,MAAM;QACN,QAAQ,EAAE,IAAI;QACd,QAAQ,EAAE,KAAK;KAChB,CAAA;IAED,MAAM,YAAY,GAAG,IAAA,mCAA2B,EAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;IAClE,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,CAAC,QAAQ,CAAC,GAAG,YAAY,CAAA;IACjC,CAAC;IAED,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,EAAE,EAAE,MAAM,CAAC,CAAA;IACrD;;;OAGG;IACH,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,EAAE,MAAM,CAAC,CAAA;IAC1C,OAAO,CAAC,OAAO,GAAG,IAAI,CAAA;AACxB,CAAC","sourcesContent":["import { getCookieDomainFromHostname } from '@things-factory/shell'\nimport { config } from '@things-factory/env'\nimport { MAX_AGE } from '../constants/max-age.js'\n\nconst accessTokenCookieKey = config.get('accessTokenCookieKey', 'access_token')\n\nexport function getAccessTokenCookie(context) {\n return context?.cookies?.get(accessTokenCookieKey)\n}\n\nexport function setAccessTokenCookie(context, token) {\n const { secure } = context\n\n var cookie = {\n secure,\n httpOnly: true,\n maxAge: MAX_AGE,\n sameSite: 'Lax'\n }\n\n const cookieDomain = getCookieDomainFromHostname(context.hostname)\n if (cookieDomain) {\n cookie['domain'] = cookieDomain\n }\n\n context.cookies.set(accessTokenCookieKey, token, cookie)\n}\n\nexport function setSessionAccessToken(context) {\n /* koa-session 을 사용하는 경우에는, cookie 직접 설정이 작동되지 않는다. 그런 경우에는 session에 설정해서 cookie를 변경한다. */\n const { user } = context.state\n\n context.session = {\n id: user.id,\n userType: user.type,\n status: user.state\n }\n}\n\nexport function clearAccessTokenCookie(context) {\n const { secure } = context\n\n var cookie = {\n secure,\n httpOnly: true,\n sameSite: 'Lax'\n }\n\n const cookieDomain = getCookieDomainFromHostname(context.hostname)\n if (cookieDomain) {\n cookie['domain'] = cookieDomain\n }\n\n context.cookies.set(accessTokenCookieKey, '', cookie)\n /*\n * TODO clear i18next cookie as well - need to support domain\n * https://github.com/hatiolab/things-factory/issues/70\n */\n context.cookies.set('i18next', '', cookie)\n context.session = null\n}\n"]}
@@ -1,6 +1,6 @@
1
1
  import { Domain } from '@things-factory/shell';
2
- import { PrivilegeObject } from '../service/privilege/privilege';
3
- import { User } from '../service/user/user';
2
+ import { PrivilegeObject } from '../service/privilege/privilege.js';
3
+ import { User } from '../service/user/user.js';
4
4
  export declare function checkPermission(privilegeObject: PrivilegeObject, user: User, domain: Domain, unsafeIP?: boolean, prohibitedPrivileges?: {
5
5
  category: string;
6
6
  privilege: string;
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.checkPermission = checkPermission;
4
- const user_1 = require("../service/user/user");
4
+ const user_js_1 = require("../service/user/user.js");
5
5
  async function checkPermission(privilegeObject, user, domain, unsafeIP, prohibitedPrivileges) {
6
6
  if (!privilegeObject) {
7
7
  return true;
@@ -13,7 +13,7 @@ async function checkPermission(privilegeObject, user, domain, unsafeIP, prohibit
13
13
  if ((prohibitedPrivileges || []).find(pp => pp.category == category && pp.privilege == privilege)) {
14
14
  return false;
15
15
  }
16
- return await user_1.User.hasPrivilege(privilege, category, domain, user);
16
+ return await user_js_1.User.hasPrivilege(privilege, category, domain, user);
17
17
  }
18
18
  // privilege, category가 설정되지 않은 경우에는 ownership granted가 설정되었다면 허가하지 않는다.
19
19
  return !domainOwnerGranted && !superUserGranted;
@@ -31,7 +31,7 @@ async function checkPermission(privilegeObject, user, domain, unsafeIP, prohibit
31
31
  if ((prohibitedPrivileges || []).find(pp => pp.category == category && pp.privilege == privilege)) {
32
32
  return false;
33
33
  }
34
- return await user_1.User.hasPrivilege(privilege, category, domain, user);
34
+ return await user_js_1.User.hasPrivilege(privilege, category, domain, user);
35
35
  }
36
36
  }
37
37
  //# sourceMappingURL=check-permission.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"check-permission.js","sourceRoot":"","sources":["../../server/utils/check-permission.ts"],"names":[],"mappings":";;AAIA,0CA+CC;AAjDD,+CAA2C;AAEpC,KAAK,UAAU,eAAe,CACnC,eAAgC,EAChC,IAAU,EACV,MAAc,EACd,QAAkB,EAClB,oBAAgE;IAEhE,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,EAAE,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,eAAe,CAAA;IAEnG,IAAI,QAAQ,EAAE,CAAC;QACb,IAAI,SAAS,IAAI,QAAQ,EAAE,CAAC;YAC1B,8CAA8C;YAC9C,IAAI,CAAC,oBAAoB,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,IAAI,QAAQ,IAAI,EAAE,CAAC,SAAS,IAAI,SAAS,CAAC,EAAE,CAAC;gBAClG,OAAO,KAAK,CAAA;YACd,CAAC;YAED,OAAO,MAAM,WAAI,CAAC,YAAY,CAAC,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;QACnE,CAAC;QAED,wEAAwE;QACxE,OAAO,CAAC,kBAAkB,IAAI,CAAC,gBAAgB,CAAA;IACjD,CAAC;SAAM,CAAC;QACN,IAAI,CAAC,SAAS,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC5B,8DAA8D;YAC9D,OAAO,CACL,CAAC,kBAAkB,IAAI,CAAC,MAAM,OAAO,CAAC,kBAAkB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;gBACxE,CAAC,gBAAgB,IAAI,CAAC,MAAM,OAAO,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CACrE,CAAA;QACH,CAAC;QAED,IACE,CAAC,kBAAkB,IAAI,CAAC,MAAM,OAAO,CAAC,kBAAkB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;YACxE,CAAC,gBAAgB,IAAI,CAAC,MAAM,OAAO,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EACpE,CAAC;YACD,OAAO,IAAI,CAAA;QACb,CAAC;QAED,IAAI,CAAC,oBAAoB,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,IAAI,QAAQ,IAAI,EAAE,CAAC,SAAS,IAAI,SAAS,CAAC,EAAE,CAAC;YAClG,OAAO,KAAK,CAAA;QACd,CAAC;QAED,OAAO,MAAM,WAAI,CAAC,YAAY,CAAC,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;IACnE,CAAC;AACH,CAAC","sourcesContent":["import { Domain } from '@things-factory/shell'\nimport { PrivilegeObject } from '../service/privilege/privilege'\nimport { User } from '../service/user/user'\n\nexport async function checkPermission(\n privilegeObject: PrivilegeObject,\n user: User,\n domain: Domain,\n unsafeIP?: boolean,\n prohibitedPrivileges?: { category: string; privilege: string }[]\n): Promise<boolean> {\n if (!privilegeObject) {\n return true\n }\n\n const { owner: domainOwnerGranted, super: superUserGranted, category, privilege } = privilegeObject\n\n if (unsafeIP) {\n if (privilege && category) {\n // unsafeIP 상황에서는 ownership granted는 적용되지 않는다.\n if ((prohibitedPrivileges || []).find(pp => pp.category == category && pp.privilege == privilege)) {\n return false\n }\n\n return await User.hasPrivilege(privilege, category, domain, user)\n }\n\n // privilege, category가 설정되지 않은 경우에는 ownership granted가 설정되었다면 허가하지 않는다.\n return !domainOwnerGranted && !superUserGranted\n } else {\n if (!privilege || !category) {\n // privilege, category가 설정되지 않은 경우에는 ownership granted만을 적용한다.\n return (\n (domainOwnerGranted && (await process.domainOwnerGranted(domain, user))) ||\n (superUserGranted && (await process.superUserGranted(domain, user)))\n )\n }\n\n if (\n (domainOwnerGranted && (await process.domainOwnerGranted(domain, user))) ||\n (superUserGranted && (await process.superUserGranted(domain, user)))\n ) {\n return true\n }\n\n if ((prohibitedPrivileges || []).find(pp => pp.category == category && pp.privilege == privilege)) {\n return false\n }\n\n return await User.hasPrivilege(privilege, category, domain, user)\n }\n}\n"]}
1
+ {"version":3,"file":"check-permission.js","sourceRoot":"","sources":["../../server/utils/check-permission.ts"],"names":[],"mappings":";;AAIA,0CA+CC;AAjDD,qDAA8C;AAEvC,KAAK,UAAU,eAAe,CACnC,eAAgC,EAChC,IAAU,EACV,MAAc,EACd,QAAkB,EAClB,oBAAgE;IAEhE,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,EAAE,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,eAAe,CAAA;IAEnG,IAAI,QAAQ,EAAE,CAAC;QACb,IAAI,SAAS,IAAI,QAAQ,EAAE,CAAC;YAC1B,8CAA8C;YAC9C,IAAI,CAAC,oBAAoB,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,IAAI,QAAQ,IAAI,EAAE,CAAC,SAAS,IAAI,SAAS,CAAC,EAAE,CAAC;gBAClG,OAAO,KAAK,CAAA;YACd,CAAC;YAED,OAAO,MAAM,cAAI,CAAC,YAAY,CAAC,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;QACnE,CAAC;QAED,wEAAwE;QACxE,OAAO,CAAC,kBAAkB,IAAI,CAAC,gBAAgB,CAAA;IACjD,CAAC;SAAM,CAAC;QACN,IAAI,CAAC,SAAS,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC5B,8DAA8D;YAC9D,OAAO,CACL,CAAC,kBAAkB,IAAI,CAAC,MAAM,OAAO,CAAC,kBAAkB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;gBACxE,CAAC,gBAAgB,IAAI,CAAC,MAAM,OAAO,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CACrE,CAAA;QACH,CAAC;QAED,IACE,CAAC,kBAAkB,IAAI,CAAC,MAAM,OAAO,CAAC,kBAAkB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;YACxE,CAAC,gBAAgB,IAAI,CAAC,MAAM,OAAO,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EACpE,CAAC;YACD,OAAO,IAAI,CAAA;QACb,CAAC;QAED,IAAI,CAAC,oBAAoB,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,IAAI,QAAQ,IAAI,EAAE,CAAC,SAAS,IAAI,SAAS,CAAC,EAAE,CAAC;YAClG,OAAO,KAAK,CAAA;QACd,CAAC;QAED,OAAO,MAAM,cAAI,CAAC,YAAY,CAAC,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;IACnE,CAAC;AACH,CAAC","sourcesContent":["import { Domain } from '@things-factory/shell'\nimport { PrivilegeObject } from '../service/privilege/privilege.js'\nimport { User } from '../service/user/user.js'\n\nexport async function checkPermission(\n privilegeObject: PrivilegeObject,\n user: User,\n domain: Domain,\n unsafeIP?: boolean,\n prohibitedPrivileges?: { category: string; privilege: string }[]\n): Promise<boolean> {\n if (!privilegeObject) {\n return true\n }\n\n const { owner: domainOwnerGranted, super: superUserGranted, category, privilege } = privilegeObject\n\n if (unsafeIP) {\n if (privilege && category) {\n // unsafeIP 상황에서는 ownership granted는 적용되지 않는다.\n if ((prohibitedPrivileges || []).find(pp => pp.category == category && pp.privilege == privilege)) {\n return false\n }\n\n return await User.hasPrivilege(privilege, category, domain, user)\n }\n\n // privilege, category가 설정되지 않은 경우에는 ownership granted가 설정되었다면 허가하지 않는다.\n return !domainOwnerGranted && !superUserGranted\n } else {\n if (!privilege || !category) {\n // privilege, category가 설정되지 않은 경우에는 ownership granted만을 적용한다.\n return (\n (domainOwnerGranted && (await process.domainOwnerGranted(domain, user))) ||\n (superUserGranted && (await process.superUserGranted(domain, user)))\n )\n }\n\n if (\n (domainOwnerGranted && (await process.domainOwnerGranted(domain, user))) ||\n (superUserGranted && (await process.superUserGranted(domain, user)))\n ) {\n return true\n }\n\n if ((prohibitedPrivileges || []).find(pp => pp.category == category && pp.privilege == privilege)) {\n return false\n }\n\n return await User.hasPrivilege(privilege, category, domain, user)\n }\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  import { Domain } from '@things-factory/shell';
2
- import { User } from '../service/user/user';
2
+ import { User } from '../service/user/user.js';
3
3
  /**
4
4
  * @description Based on domain and user information,
5
5
  * Find out whether the user belongs domain or user has partnership with domain
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.checkUserBelongsDomain = checkUserBelongsDomain;
4
4
  const shell_1 = require("@things-factory/shell");
5
- const user_1 = require("../service/user/user");
5
+ const user_js_1 = require("../service/user/user.js");
6
6
  /**
7
7
  * @description Based on domain and user information,
8
8
  * Find out whether the user belongs domain or user has partnership with domain
@@ -13,7 +13,7 @@ const user_1 = require("../service/user/user");
13
13
  async function checkUserBelongsDomain(domain, user) {
14
14
  var _a;
15
15
  if (!((_a = user.domains) === null || _a === void 0 ? void 0 : _a.length)) {
16
- user = await (0, shell_1.getRepository)(user_1.User).findOne({ where: { id: user.id }, relations: ['domains'] });
16
+ user = await (0, shell_1.getRepository)(user_js_1.User).findOne({ where: { id: user.id }, relations: ['domains'] });
17
17
  }
18
18
  const { domains: userDomains } = user;
19
19
  return Boolean(userDomains.find((userDomain) => userDomain.id === domain.id));
@@ -1 +1 @@
1
- {"version":3,"file":"check-user-belongs-domain.js","sourceRoot":"","sources":["../../server/utils/check-user-belongs-domain.ts"],"names":[],"mappings":";;AAWA,wDAOC;AAlBD,iDAA6D;AAE7D,+CAA2C;AAE3C;;;;;;GAMG;AACI,KAAK,UAAU,sBAAsB,CAAC,MAAc,EAAE,IAAU;;IACrE,IAAI,CAAC,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,MAAM,CAAA,EAAE,CAAC;QAC1B,IAAI,GAAG,MAAM,IAAA,qBAAa,EAAC,WAAI,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;IAC9F,CAAC;IAED,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,GAAS,IAAI,CAAA;IAC3C,OAAO,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,UAAkB,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,CAAC,CAAC,CAAA;AACvF,CAAC","sourcesContent":["import { Domain, getRepository } from '@things-factory/shell'\n\nimport { User } from '../service/user/user'\n\n/**\n * @description Based on domain and user information,\n * Find out whether the user belongs domain or user has partnership with domain\n *\n * @param domain\n * @param user\n */\nexport async function checkUserBelongsDomain(domain: Domain, user: User): Promise<Boolean> {\n if (!user.domains?.length) {\n user = await getRepository(User).findOne({ where: { id: user.id }, relations: ['domains'] })\n }\n\n const { domains: userDomains }: User = user\n return Boolean(userDomains.find((userDomain: Domain) => userDomain.id === domain.id))\n}\n"]}
1
+ {"version":3,"file":"check-user-belongs-domain.js","sourceRoot":"","sources":["../../server/utils/check-user-belongs-domain.ts"],"names":[],"mappings":";;AAWA,wDAOC;AAlBD,iDAA6D;AAE7D,qDAA8C;AAE9C;;;;;;GAMG;AACI,KAAK,UAAU,sBAAsB,CAAC,MAAc,EAAE,IAAU;;IACrE,IAAI,CAAC,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,MAAM,CAAA,EAAE,CAAC;QAC1B,IAAI,GAAG,MAAM,IAAA,qBAAa,EAAC,cAAI,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;IAC9F,CAAC;IAED,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,GAAS,IAAI,CAAA;IAC3C,OAAO,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,UAAkB,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,CAAC,CAAC,CAAA;AACvF,CAAC","sourcesContent":["import { Domain, getRepository } from '@things-factory/shell'\n\nimport { User } from '../service/user/user.js'\n\n/**\n * @description Based on domain and user information,\n * Find out whether the user belongs domain or user has partnership with domain\n *\n * @param domain\n * @param user\n */\nexport async function checkUserBelongsDomain(domain: Domain, user: User): Promise<Boolean> {\n if (!user.domains?.length) {\n user = await getRepository(User).findOne({ where: { id: user.id }, relations: ['domains'] })\n }\n\n const { domains: userDomains }: User = user\n return Boolean(userDomains.find((userDomain: Domain) => userDomain.id === domain.id))\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  import { Domain } from '@things-factory/shell';
2
- import { User } from '../service/user/user';
2
+ import { User } from '../service/user/user.js';
3
3
  /**
4
4
  * @description 사용자가 특정 도메인 또는 상위 도메인에서 특정 역할을 가지고 있는지 확인합니다.
5
5
  *
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.checkUserHasRole = checkUserHasRole;
4
4
  const shell_1 = require("@things-factory/shell");
5
- const user_1 = require("../service/user/user");
5
+ const user_js_1 = require("../service/user/user.js");
6
6
  /**
7
7
  * @description 사용자가 특정 도메인 또는 상위 도메인에서 특정 역할을 가지고 있는지 확인합니다.
8
8
  *
@@ -16,7 +16,7 @@ async function checkUserHasRole(roleId, domain, user) {
16
16
  if (!roleId) {
17
17
  return true;
18
18
  }
19
- const me = await (0, shell_1.getRepository)(user_1.User).findOne({
19
+ const me = await (0, shell_1.getRepository)(user_js_1.User).findOne({
20
20
  where: { id: user.id },
21
21
  relations: ['roles']
22
22
  });
@@ -1 +1 @@
1
- {"version":3,"file":"check-user-has-role.js","sourceRoot":"","sources":["../../server/utils/check-user-has-role.ts"],"names":[],"mappings":";;AAcA,4CAcC;AA5BD,iDAA6D;AAE7D,+CAA2C;AAG3C;;;;;;;;GAQG;AACI,KAAK,UAAU,gBAAgB,CAAC,MAAc,EAAE,MAAc,EAAE,IAAU;IAC/E,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,EAAE,GAAG,MAAM,IAAA,qBAAa,EAAC,WAAI,CAAC,CAAC,OAAO,CAAC;QAC3C,KAAK,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE;QACtB,SAAS,EAAE,CAAC,OAAO,CAAC;KACrB,CAAC,CAAA;IAEF,OAAO,EAAE,CAAC,KAAK;SACZ,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,CAAC,CAAC;SACrG,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;SACpB,QAAQ,CAAC,MAAM,CAAC,CAAA;AACrB,CAAC","sourcesContent":["import { Domain, getRepository } from '@things-factory/shell'\n\nimport { User } from '../service/user/user'\nimport { Role } from 'service'\n\n/**\n * @description 사용자가 특정 도메인 또는 상위 도메인에서 특정 역할을 가지고 있는지 확인합니다.\n *\n * @param roleId 확인할 역할의 ID\n * @param domain 역할을 확인할 도메인\n * @param user 역할을 확인할 사용자\n *\n * @returns 사용자가 도메인 또는 상위 도메인에서 역할을 가지고 있는지 여부를 나타내는 boolean을 반환하는 Promise\n */\nexport async function checkUserHasRole(roleId: string, domain: Domain, user: User): Promise<Boolean> {\n if (!roleId) {\n return true\n }\n\n const me = await getRepository(User).findOne({\n where: { id: user.id },\n relations: ['roles']\n })\n\n return me.roles\n .filter(role => role.domainId === domain.id || (domain.parentId && role.domainId === domain.parentId))\n .map(role => role.id)\n .includes(roleId)\n}\n"]}
1
+ {"version":3,"file":"check-user-has-role.js","sourceRoot":"","sources":["../../server/utils/check-user-has-role.ts"],"names":[],"mappings":";;AAcA,4CAcC;AA5BD,iDAA6D;AAE7D,qDAA8C;AAG9C;;;;;;;;GAQG;AACI,KAAK,UAAU,gBAAgB,CAAC,MAAc,EAAE,MAAc,EAAE,IAAU;IAC/E,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,EAAE,GAAG,MAAM,IAAA,qBAAa,EAAC,cAAI,CAAC,CAAC,OAAO,CAAC;QAC3C,KAAK,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE;QACtB,SAAS,EAAE,CAAC,OAAO,CAAC;KACrB,CAAC,CAAA;IAEF,OAAO,EAAE,CAAC,KAAK;SACZ,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,CAAC,CAAC;SACrG,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;SACpB,QAAQ,CAAC,MAAM,CAAC,CAAA;AACrB,CAAC","sourcesContent":["import { Domain, getRepository } from '@things-factory/shell'\n\nimport { User } from '../service/user/user.js'\nimport { Role } from '../service/role/role.js'\n\n/**\n * @description 사용자가 특정 도메인 또는 상위 도메인에서 특정 역할을 가지고 있는지 확인합니다.\n *\n * @param roleId 확인할 역할의 ID\n * @param domain 역할을 확인할 도메인\n * @param user 역할을 확인할 사용자\n *\n * @returns 사용자가 도메인 또는 상위 도메인에서 역할을 가지고 있는지 여부를 나타내는 boolean을 반환하는 Promise\n */\nexport async function checkUserHasRole(roleId: string, domain: Domain, user: User): Promise<Boolean> {\n if (!roleId) {\n return true\n }\n\n const me = await getRepository(User).findOne({\n where: { id: user.id },\n relations: ['roles']\n })\n\n return me.roles\n .filter(role => role.domainId === domain.id || (domain.parentId && role.domainId === domain.parentId))\n .map(role => role.id)\n .includes(roleId)\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  import { EntityManager, SelectQueryBuilder } from 'typeorm';
2
2
  import { Domain } from '@things-factory/shell';
3
- import { User } from '../service/user/user';
3
+ import { User } from '../service/user/user.js';
4
4
  export declare function getDomainUsers(domain: Partial<Domain>, trxMgr?: EntityManager): Promise<User[]>;
5
5
  export declare function buildDomainUsersQueryBuilder(domainId: string, alias?: string, trxMgr?: EntityManager): SelectQueryBuilder<User>;
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getDomainUsers = getDomainUsers;
4
4
  exports.buildDomainUsersQueryBuilder = buildDomainUsersQueryBuilder;
5
5
  const shell_1 = require("@things-factory/shell");
6
- const user_1 = require("../service/user/user");
6
+ const user_js_1 = require("../service/user/user.js");
7
7
  async function getDomainUsers(domain, trxMgr) {
8
8
  const domainRepo = (trxMgr === null || trxMgr === void 0 ? void 0 : trxMgr.getRepository(shell_1.Domain)) || (0, shell_1.getRepository)(shell_1.Domain);
9
9
  if (!domain.id) {
@@ -16,7 +16,7 @@ async function getDomainUsers(domain, trxMgr) {
16
16
  return await qb.getMany();
17
17
  }
18
18
  function buildDomainUsersQueryBuilder(domainId, alias = 'USER', trxMgr) {
19
- const userRepo = (trxMgr === null || trxMgr === void 0 ? void 0 : trxMgr.getRepository(user_1.User)) || (0, shell_1.getRepository)(user_1.User);
19
+ const userRepo = (trxMgr === null || trxMgr === void 0 ? void 0 : trxMgr.getRepository(user_js_1.User)) || (0, shell_1.getRepository)(user_js_1.User);
20
20
  const qb = userRepo.createQueryBuilder(alias);
21
21
  qb.select().andWhere(`${alias}.id IN ${qb
22
22
  .subQuery()
@@ -1 +1 @@
1
- {"version":3,"file":"get-domain-users.js","sourceRoot":"","sources":["../../server/utils/get-domain-users.ts"],"names":[],"mappings":";;AAMA,wCAYC;AAED,oEAiBC;AAnCD,iDAA6D;AAE7D,+CAA2C;AAEpC,KAAK,UAAU,cAAc,CAAC,MAAuB,EAAE,MAAsB;IAClF,MAAM,UAAU,GAAuB,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,aAAa,CAAC,cAAM,CAAC,KAAI,IAAA,qBAAa,EAAC,cAAM,CAAC,CAAA;IAE7F,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QACf,MAAM,WAAW,GAAW,MAAM,UAAU,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;QAClF,IAAI,CAAC,WAAW;YAAE,MAAM,IAAI,KAAK,CAAC,8CAA8C,MAAM,EAAE,CAAC,CAAA;QAEzF,MAAM,GAAG,WAAW,CAAA;IACtB,CAAC;IAED,MAAM,EAAE,GAA6B,4BAA4B,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IAC5E,OAAO,MAAM,EAAE,CAAC,OAAO,EAAE,CAAA;AAC3B,CAAC;AAED,SAAgB,4BAA4B,CAC1C,QAAgB,EAChB,QAAgB,MAAM,EACtB,MAAsB;IAEtB,MAAM,QAAQ,GAAqB,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,aAAa,CAAC,WAAI,CAAC,KAAI,IAAA,qBAAa,EAAC,WAAI,CAAC,CAAA;IACrF,MAAM,EAAE,GAA6B,QAAQ,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAA;IACvE,EAAE,CAAC,MAAM,EAAE,CAAC,QAAQ,CAClB,GAAG,KAAK,UAAU,EAAE;SACjB,QAAQ,EAAE;SACV,MAAM,CAAC,wBAAwB,CAAC;SAChC,IAAI,CAAC,eAAe,EAAE,eAAe,CAAC;SACtC,KAAK,CAAC,sCAAsC,EAAE,EAAE,QAAQ,EAAE,CAAC;SAC3D,QAAQ,EAAE,EAAE,CAChB,CAAA;IAED,OAAO,EAAE,CAAA;AACX,CAAC","sourcesContent":["import { EntityManager, Repository, SelectQueryBuilder } from 'typeorm'\n\nimport { Domain, getRepository } from '@things-factory/shell'\n\nimport { User } from '../service/user/user'\n\nexport async function getDomainUsers(domain: Partial<Domain>, trxMgr?: EntityManager): Promise<User[]> {\n const domainRepo: Repository<Domain> = trxMgr?.getRepository(Domain) || getRepository(Domain)\n\n if (!domain.id) {\n const foundDomain: Domain = await domainRepo.findOne({ where: { id: domain.id } })\n if (!foundDomain) throw new Error(`Failed to find domain by passed condition, ${domain}`)\n\n domain = foundDomain\n }\n\n const qb: SelectQueryBuilder<User> = buildDomainUsersQueryBuilder(domain.id)\n return await qb.getMany()\n}\n\nexport function buildDomainUsersQueryBuilder(\n domainId: string,\n alias: string = 'USER',\n trxMgr?: EntityManager\n): SelectQueryBuilder<User> {\n const userRepo: Repository<User> = trxMgr?.getRepository(User) || getRepository(User)\n const qb: SelectQueryBuilder<User> = userRepo.createQueryBuilder(alias)\n qb.select().andWhere(\n `${alias}.id IN ${qb\n .subQuery()\n .select('USERS_DOMAINS.users_id')\n .from('users_domains', 'USERS_DOMAINS')\n .where('USERS_DOMAINS.domains_id = :domainId', { domainId })\n .getQuery()}`\n )\n\n return qb\n}\n"]}
1
+ {"version":3,"file":"get-domain-users.js","sourceRoot":"","sources":["../../server/utils/get-domain-users.ts"],"names":[],"mappings":";;AAMA,wCAYC;AAED,oEAiBC;AAnCD,iDAA6D;AAE7D,qDAA8C;AAEvC,KAAK,UAAU,cAAc,CAAC,MAAuB,EAAE,MAAsB;IAClF,MAAM,UAAU,GAAuB,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,aAAa,CAAC,cAAM,CAAC,KAAI,IAAA,qBAAa,EAAC,cAAM,CAAC,CAAA;IAE7F,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QACf,MAAM,WAAW,GAAW,MAAM,UAAU,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;QAClF,IAAI,CAAC,WAAW;YAAE,MAAM,IAAI,KAAK,CAAC,8CAA8C,MAAM,EAAE,CAAC,CAAA;QAEzF,MAAM,GAAG,WAAW,CAAA;IACtB,CAAC;IAED,MAAM,EAAE,GAA6B,4BAA4B,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IAC5E,OAAO,MAAM,EAAE,CAAC,OAAO,EAAE,CAAA;AAC3B,CAAC;AAED,SAAgB,4BAA4B,CAC1C,QAAgB,EAChB,QAAgB,MAAM,EACtB,MAAsB;IAEtB,MAAM,QAAQ,GAAqB,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,aAAa,CAAC,cAAI,CAAC,KAAI,IAAA,qBAAa,EAAC,cAAI,CAAC,CAAA;IACrF,MAAM,EAAE,GAA6B,QAAQ,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAA;IACvE,EAAE,CAAC,MAAM,EAAE,CAAC,QAAQ,CAClB,GAAG,KAAK,UAAU,EAAE;SACjB,QAAQ,EAAE;SACV,MAAM,CAAC,wBAAwB,CAAC;SAChC,IAAI,CAAC,eAAe,EAAE,eAAe,CAAC;SACtC,KAAK,CAAC,sCAAsC,EAAE,EAAE,QAAQ,EAAE,CAAC;SAC3D,QAAQ,EAAE,EAAE,CAChB,CAAA;IAED,OAAO,EAAE,CAAA;AACX,CAAC","sourcesContent":["import { EntityManager, Repository, SelectQueryBuilder } from 'typeorm'\n\nimport { Domain, getRepository } from '@things-factory/shell'\n\nimport { User } from '../service/user/user.js'\n\nexport async function getDomainUsers(domain: Partial<Domain>, trxMgr?: EntityManager): Promise<User[]> {\n const domainRepo: Repository<Domain> = trxMgr?.getRepository(Domain) || getRepository(Domain)\n\n if (!domain.id) {\n const foundDomain: Domain = await domainRepo.findOne({ where: { id: domain.id } })\n if (!foundDomain) throw new Error(`Failed to find domain by passed condition, ${domain}`)\n\n domain = foundDomain\n }\n\n const qb: SelectQueryBuilder<User> = buildDomainUsersQueryBuilder(domain.id)\n return await qb.getMany()\n}\n\nexport function buildDomainUsersQueryBuilder(\n domainId: string,\n alias: string = 'USER',\n trxMgr?: EntityManager\n): SelectQueryBuilder<User> {\n const userRepo: Repository<User> = trxMgr?.getRepository(User) || getRepository(User)\n const qb: SelectQueryBuilder<User> = userRepo.createQueryBuilder(alias)\n qb.select().andWhere(\n `${alias}.id IN ${qb\n .subQuery()\n .select('USERS_DOMAINS.users_id')\n .from('users_domains', 'USERS_DOMAINS')\n .where('USERS_DOMAINS.domains_id = :domainId', { domainId })\n .getQuery()}`\n )\n\n return qb\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  import { Domain } from '@things-factory/shell';
2
- import { User } from '../service/user/user';
2
+ import { User } from '../service/user/user.js';
3
3
  export declare function getUserDomains(user: User): Promise<Partial<Domain>[]>;
4
4
  export declare function getRoleBasedDomains(user: User): Promise<Partial<Domain>[]>;
5
5
  export declare function getDomainsWithPrivilege(user: User, privilege: string, category: string): Promise<Partial<Domain>[]>;
@@ -5,7 +5,7 @@ exports.getRoleBasedDomains = getRoleBasedDomains;
5
5
  exports.getDomainsWithPrivilege = getDomainsWithPrivilege;
6
6
  exports.getDomainsAsOwner = getDomainsAsOwner;
7
7
  const shell_1 = require("@things-factory/shell");
8
- const user_1 = require("../service/user/user");
8
+ const user_js_1 = require("../service/user/user.js");
9
9
  async function getUserDomains(user) {
10
10
  return (await (0, shell_1.getRepository)(shell_1.Domain)
11
11
  .createQueryBuilder('DOMAIN')
@@ -14,7 +14,7 @@ async function getUserDomains(user) {
14
14
  .subQuery()
15
15
  .distinct(true)
16
16
  .select('DOMAIN.id')
17
- .from(user_1.User, 'USER')
17
+ .from(user_js_1.User, 'USER')
18
18
  .leftJoin('USER.roles', 'ROLE')
19
19
  .leftJoin('ROLE.domain', 'DOMAIN')
20
20
  .where('USER.id = :userId', { userId: user.id })
@@ -44,7 +44,7 @@ async function getRoleBasedDomains(user) {
44
44
  .subQuery()
45
45
  .distinct(true)
46
46
  .select('DOMAIN.id')
47
- .from(user_1.User, 'USER')
47
+ .from(user_js_1.User, 'USER')
48
48
  .leftJoin('USER.roles', 'ROLE')
49
49
  .leftJoin('ROLE.domain', 'DOMAIN')
50
50
  .where('USER.id = :userId', { userId: user.id })
@@ -64,7 +64,7 @@ async function getDomainsWithPrivilege(user, privilege, category) {
64
64
  .subQuery()
65
65
  .distinct(true)
66
66
  .select('DOMAIN.id')
67
- .from(user_1.User, 'USER')
67
+ .from(user_js_1.User, 'USER')
68
68
  .leftJoin('USER.roles', 'ROLE')
69
69
  .leftJoin('ROLE.domain', 'DOMAIN')
70
70
  .leftJoin('ROLE.privileges', 'PRIVILEGE')
@@ -1 +1 @@
1
- {"version":3,"file":"get-user-domains.js","sourceRoot":"","sources":["../../server/utils/get-user-domains.ts"],"names":[],"mappings":"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","sourcesContent":["import { In } from 'typeorm'\n\nimport { Domain, getRepository } from '@things-factory/shell'\n\nimport { User } from '../service/user/user'\n\nexport async function getUserDomains(user: User): Promise<Partial<Domain>[]> {\n return (\n await getRepository(Domain)\n .createQueryBuilder('DOMAIN')\n .where(qb => {\n const subQuery = qb\n .subQuery()\n .distinct(true)\n .select('DOMAIN.id')\n .from(User, 'USER')\n .leftJoin('USER.roles', 'ROLE')\n .leftJoin('ROLE.domain', 'DOMAIN')\n .where('USER.id = :userId', { userId: user.id })\n .getQuery()\n return 'DOMAIN.id IN ' + subQuery\n })\n .orWhere(qb => {\n const subQuery = qb\n .subQuery()\n .select('DOMAIN.id')\n .from(Domain, 'DOMAIN')\n .where('DOMAIN.owner = :owner', { owner: user.id })\n .getQuery()\n return 'DOMAIN.id IN ' + subQuery\n })\n .orderBy('DOMAIN.name', 'ASC')\n .getMany()\n ).map(domain => {\n const { id, name, description, subdomain, extType, brandName, brandImage } = domain\n return { id, name, description, subdomain, extType, brandName, brandImage }\n })\n}\n\nexport async function getRoleBasedDomains(user: User): Promise<Partial<Domain>[]> {\n return (\n await getRepository(Domain)\n .createQueryBuilder('DOMAIN')\n .where(qb => {\n const subQuery = qb\n .subQuery()\n .distinct(true)\n .select('DOMAIN.id')\n .from(User, 'USER')\n .leftJoin('USER.roles', 'ROLE')\n .leftJoin('ROLE.domain', 'DOMAIN')\n .where('USER.id = :userId', { userId: user.id })\n .getQuery()\n return 'DOMAIN.id IN ' + subQuery\n })\n .getMany()\n ).map(domain => {\n const { id, name, description, subdomain, extType, brandName, brandImage } = domain\n return { id, name, description, subdomain, extType, brandName, brandImage }\n })\n}\n\nexport async function getDomainsWithPrivilege(\n user: User,\n privilege: string,\n category: string\n): Promise<Partial<Domain>[]> {\n return (\n await getRepository(Domain)\n .createQueryBuilder('DOMAIN')\n .where(qb => {\n const subQuery = qb\n .subQuery()\n .distinct(true)\n .select('DOMAIN.id')\n .from(User, 'USER')\n .leftJoin('USER.roles', 'ROLE')\n .leftJoin('ROLE.domain', 'DOMAIN')\n .leftJoin('ROLE.privileges', 'PRIVILEGE')\n .where('USER.id = :userId', { userId: user.id })\n .andWhere('PRIVILEGE.name = :privilege', { privilege })\n .andWhere('PRIVILEGE.category = :category', { category })\n .getQuery()\n return 'DOMAIN.id IN ' + subQuery\n })\n .orWhere(qb => {\n const subQuery = qb\n .subQuery()\n .select('DOMAIN.id')\n .from(Domain, 'DOMAIN')\n .where('DOMAIN.owner = :owner', { owner: user.id })\n .getQuery()\n return 'DOMAIN.id IN ' + subQuery\n })\n .orderBy('DOMAIN.name', 'ASC')\n .getMany()\n ).map(domain => {\n const { id, name, description, subdomain, extType, brandName, brandImage } = domain\n return { id, name, description, subdomain, extType, brandName, brandImage }\n })\n}\n\nexport async function getDomainsAsOwner(user: User): Promise<Partial<Domain>[]> {\n return (\n await getRepository(Domain).find({\n where: { owner: user.id }\n })\n ).map(domain => {\n const { id, name, description, subdomain, extType, brandName, brandImage } = domain\n return { id, name, description, subdomain, extType, brandName, brandImage }\n })\n}\n"]}
1
+ {"version":3,"file":"get-user-domains.js","sourceRoot":"","sources":["../../server/utils/get-user-domains.ts"],"names":[],"mappings":"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","sourcesContent":["import { In } from 'typeorm'\n\nimport { Domain, getRepository } from '@things-factory/shell'\n\nimport { User } from '../service/user/user.js'\n\nexport async function getUserDomains(user: User): Promise<Partial<Domain>[]> {\n return (\n await getRepository(Domain)\n .createQueryBuilder('DOMAIN')\n .where(qb => {\n const subQuery = qb\n .subQuery()\n .distinct(true)\n .select('DOMAIN.id')\n .from(User, 'USER')\n .leftJoin('USER.roles', 'ROLE')\n .leftJoin('ROLE.domain', 'DOMAIN')\n .where('USER.id = :userId', { userId: user.id })\n .getQuery()\n return 'DOMAIN.id IN ' + subQuery\n })\n .orWhere(qb => {\n const subQuery = qb\n .subQuery()\n .select('DOMAIN.id')\n .from(Domain, 'DOMAIN')\n .where('DOMAIN.owner = :owner', { owner: user.id })\n .getQuery()\n return 'DOMAIN.id IN ' + subQuery\n })\n .orderBy('DOMAIN.name', 'ASC')\n .getMany()\n ).map(domain => {\n const { id, name, description, subdomain, extType, brandName, brandImage } = domain\n return { id, name, description, subdomain, extType, brandName, brandImage }\n })\n}\n\nexport async function getRoleBasedDomains(user: User): Promise<Partial<Domain>[]> {\n return (\n await getRepository(Domain)\n .createQueryBuilder('DOMAIN')\n .where(qb => {\n const subQuery = qb\n .subQuery()\n .distinct(true)\n .select('DOMAIN.id')\n .from(User, 'USER')\n .leftJoin('USER.roles', 'ROLE')\n .leftJoin('ROLE.domain', 'DOMAIN')\n .where('USER.id = :userId', { userId: user.id })\n .getQuery()\n return 'DOMAIN.id IN ' + subQuery\n })\n .getMany()\n ).map(domain => {\n const { id, name, description, subdomain, extType, brandName, brandImage } = domain\n return { id, name, description, subdomain, extType, brandName, brandImage }\n })\n}\n\nexport async function getDomainsWithPrivilege(\n user: User,\n privilege: string,\n category: string\n): Promise<Partial<Domain>[]> {\n return (\n await getRepository(Domain)\n .createQueryBuilder('DOMAIN')\n .where(qb => {\n const subQuery = qb\n .subQuery()\n .distinct(true)\n .select('DOMAIN.id')\n .from(User, 'USER')\n .leftJoin('USER.roles', 'ROLE')\n .leftJoin('ROLE.domain', 'DOMAIN')\n .leftJoin('ROLE.privileges', 'PRIVILEGE')\n .where('USER.id = :userId', { userId: user.id })\n .andWhere('PRIVILEGE.name = :privilege', { privilege })\n .andWhere('PRIVILEGE.category = :category', { category })\n .getQuery()\n return 'DOMAIN.id IN ' + subQuery\n })\n .orWhere(qb => {\n const subQuery = qb\n .subQuery()\n .select('DOMAIN.id')\n .from(Domain, 'DOMAIN')\n .where('DOMAIN.owner = :owner', { owner: user.id })\n .getQuery()\n return 'DOMAIN.id IN ' + subQuery\n })\n .orderBy('DOMAIN.name', 'ASC')\n .getMany()\n ).map(domain => {\n const { id, name, description, subdomain, extType, brandName, brandImage } = domain\n return { id, name, description, subdomain, extType, brandName, brandImage }\n })\n}\n\nexport async function getDomainsAsOwner(user: User): Promise<Partial<Domain>[]> {\n return (\n await getRepository(Domain).find({\n where: { owner: user.id }\n })\n ).map(domain => {\n const { id, name, description, subdomain, extType, brandName, brandImage } = domain\n return { id, name, description, subdomain, extType, brandName, brandImage }\n })\n}\n"]}
@@ -0,0 +1,49 @@
1
+ # reCAPTCHA
2
+
3
+ reCAPTCHAは、ユーザーが人間かボットかを確認するために使用されます。
4
+
5
+ Google Cloud Consoleでサービスアカウントを作成できます。
6
+ サービスアカウントを作成するには、「IAM & Admin」セクションに移動し、
7
+ 「Service Accounts」を選択して「Create Service Account」をクリックします。
8
+ 必要な資格情報を生成するための指示に従ってください。
9
+
10
+ ## サービスアカウント情報
11
+
12
+ - **type**: サービスアカウントのタイプ
13
+ - **project_id**: プロジェクトID
14
+ - **private_key_id**: プライベートキーID
15
+ - **private_key**: プライベートキー
16
+ - **client_email**: クライアントメール
17
+ - **client_id**: クライアントID
18
+ - **auth_uri**: 認証URI
19
+ - **token_uri**: トークンURI
20
+ - **auth_provider_x509_cert_url**: 認証プロバイダーx509証明書URL
21
+ - **client_x509_cert_url**: クライアントx509証明書URL
22
+ - **universe_domain**: ユニバースドメイン
23
+
24
+ ## サイトキー
25
+
26
+ - **siteKey**: reCAPTCHAサイトキー
27
+
28
+ ## 設定例
29
+
30
+ ```javascript
31
+ module.exports = {
32
+ recaptcha: {
33
+ serviceAccount: {
34
+ type: 'service_account',
35
+ project_id: '--',
36
+ private_key_id: '-----',
37
+ private_key: '-----BEGIN PRIVATE KEY-----\nXXXX==\n-----END PRIVATE KEY-----\n',
38
+ client_email: 'abc@xyz.com',
39
+ client_id: '----',
40
+ auth_uri: 'https://accounts.google.com/o/oauth2/auth',
41
+ token_uri: 'https://oauth2.googleapis.com/token',
42
+ auth_provider_x509_cert_url: 'https://www.googleapis.com/oauth2/v1/certs',
43
+ client_x509_cert_url: 'https://www.googleapis.com/robot/v1/metadata/x509/abc%40xyz.com',
44
+ universe_domain: 'googleapis.com'
45
+ },
46
+ siteKey: '6Ld1Dr4qAAAAAMJBYZheIOw8wQopz5NwraHAbCzt'
47
+ }
48
+ }
49
+ ```
@@ -0,0 +1,49 @@
1
+ # reCAPTCHA 설정 도움말
2
+
3
+ reCAPTCHA는 사용자가 사람인지 봇인지 확인하는 데 사용됩니다.
4
+
5
+ 서비스 계정은 Google Cloud Console에서 생성할 수 있습니다.
6
+ 서비스 계정을 생성하려면 "IAM 및 관리자" 섹션으로 이동하여
7
+ "서비스 계정"을 선택한 다음 "서비스 계정 만들기"를 클릭합니다.
8
+ 필요한 자격 증명을 생성하는 지침을 따르세요.
9
+
10
+ ## 서비스 계정 정보
11
+
12
+ - **type**: 서비스 계정 유형
13
+ - **project_id**: 프로젝트 ID
14
+ - **private_key_id**: 개인 키 ID
15
+ - **private_key**: 개인 키
16
+ - **client_email**: 클라이언트 이메일
17
+ - **client_id**: 클라이언트 ID
18
+ - **auth_uri**: 인증 URI
19
+ - **token_uri**: 토큰 URI
20
+ - **auth_provider_x509_cert_url**: 인증 제공자 x509 인증서 URL
21
+ - **client_x509_cert_url**: 클라이언트 x509 인증서 URL
22
+ - **universe_domain**: 유니버스 도메인
23
+
24
+ ## 사이트 키
25
+
26
+ - **siteKey**: reCAPTCHA 사이트 키
27
+
28
+ ## 설정 예시
29
+
30
+ ```javascript
31
+ module.exports = {
32
+ recaptcha: {
33
+ serviceAccount: {
34
+ type: 'service_account',
35
+ project_id: '--',
36
+ private_key_id: '-----',
37
+ private_key: '-----BEGIN PRIVATE KEY-----\nXXXX==\n-----END PRIVATE KEY-----\n',
38
+ client_email: 'abc@xyz.com',
39
+ client_id: '----',
40
+ auth_uri: 'https://accounts.google.com/o/oauth2/auth',
41
+ token_uri: 'https://oauth2.googleapis.com/token',
42
+ auth_provider_x509_cert_url: 'https://www.googleapis.com/oauth2/v1/certs',
43
+ client_x509_cert_url: 'https://www.googleapis.com/robot/v1/metadata/x509/abc%40xyz.com',
44
+ universe_domain: 'googleapis.com'
45
+ },
46
+ siteKey: '6Ld1Dr4qAAAAAMJBYZheIOw8wQopz5NwraHAbCzt'
47
+ }
48
+ }
49
+ ```
@@ -0,0 +1,49 @@
1
+ # reCAPTCHA
2
+
3
+ reCAPTCHA is used to verify whether a user is human or a bot.
4
+
5
+ A service account can be created in the Google Cloud Console.
6
+ To create a service account, navigate to the "IAM & Admin" section,
7
+ select "Service Accounts," and then click "Create Service Account."
8
+ Follow the instructions to generate the necessary credentials.
9
+
10
+ ## Service Account Information
11
+
12
+ - **type**: Service account type
13
+ - **project_id**: Project ID
14
+ - **private_key_id**: Private key ID
15
+ - **private_key**: Private key
16
+ - **client_email**: Client email
17
+ - **client_id**: Client ID
18
+ - **auth_uri**: Auth URI
19
+ - **token_uri**: Token URI
20
+ - **auth_provider_x509_cert_url**: Auth provider x509 cert URL
21
+ - **client_x509_cert_url**: Client x509 cert URL
22
+ - **universe_domain**: Universe domain
23
+
24
+ ## Site Key
25
+
26
+ - **siteKey**: reCAPTCHA site key
27
+
28
+ ## Configuration Example
29
+
30
+ ```javascript
31
+ module.exports = {
32
+ recaptcha: {
33
+ serviceAccount: {
34
+ type: 'service_account',
35
+ project_id: '--',
36
+ private_key_id: '-----',
37
+ private_key: '-----BEGIN PRIVATE KEY-----\nXXXX==\n-----END PRIVATE KEY-----\n',
38
+ client_email: 'abc@xyz.com',
39
+ client_id: '----',
40
+ auth_uri: 'https://accounts.google.com/o/oauth2/auth',
41
+ token_uri: 'https://oauth2.googleapis.com/token',
42
+ auth_provider_x509_cert_url: 'https://www.googleapis.com/oauth2/v1/certs',
43
+ client_x509_cert_url: 'https://www.googleapis.com/robot/v1/metadata/x509/abc%40xyz.com',
44
+ universe_domain: 'googleapis.com'
45
+ },
46
+ siteKey: '6Ld1Dr4qAAAAAMJBYZheIOw8wQopz5NwraHAbCzt'
47
+ }
48
+ }
49
+ ```
@@ -0,0 +1,49 @@
1
+ # reCAPTCHA
2
+
3
+ reCAPTCHA digunakan untuk mengesahkan sama ada pengguna adalah manusia atau bot.
4
+
5
+ Akaun perkhidmatan boleh dibuat di Google Cloud Console.
6
+ Untuk membuat akaun perkhidmatan, navigasi ke bahagian "IAM & Admin",
7
+ pilih "Service Accounts," dan kemudian klik "Create Service Account."
8
+ Ikuti arahan untuk menjana kelayakan yang diperlukan.
9
+
10
+ ## Maklumat Akaun Perkhidmatan
11
+
12
+ - **type**: Jenis akaun perkhidmatan
13
+ - **project_id**: ID Projek
14
+ - **private_key_id**: ID kunci peribadi
15
+ - **private_key**: Kunci peribadi
16
+ - **client_email**: E-mel pelanggan
17
+ - **client_id**: ID pelanggan
18
+ - **auth_uri**: URI pengesahan
19
+ - **token_uri**: URI token
20
+ - **auth_provider_x509_cert_url**: URL sijil x509 penyedia pengesahan
21
+ - **client_x509_cert_url**: URL sijil x509 pelanggan
22
+ - **universe_domain**: Domain alam semesta
23
+
24
+ ## Kunci Laman
25
+
26
+ - **siteKey**: Kunci laman reCAPTCHA
27
+
28
+ ## Contoh Konfigurasi
29
+
30
+ ```javascript
31
+ module.exports = {
32
+ recaptcha: {
33
+ serviceAccount: {
34
+ type: 'service_account',
35
+ project_id: '--',
36
+ private_key_id: '-----',
37
+ private_key: '-----BEGIN PRIVATE KEY-----\nXXXX==\n-----END PRIVATE KEY-----\n',
38
+ client_email: 'abc@xyz.com',
39
+ client_id: '----',
40
+ auth_uri: 'https://accounts.google.com/o/oauth2/auth',
41
+ token_uri: 'https://oauth2.googleapis.com/token',
42
+ auth_provider_x509_cert_url: 'https://www.googleapis.com/oauth2/v1/certs',
43
+ client_x509_cert_url: 'https://www.googleapis.com/robot/v1/metadata/x509/abc%40xyz.com',
44
+ universe_domain: 'googleapis.com'
45
+ },
46
+ siteKey: '6Ld1Dr4qAAAAAMJBYZheIOw8wQopz5NwraHAbCzt'
47
+ }
48
+ }
49
+ ```
@@ -0,0 +1,49 @@
1
+ # reCAPTCHA
2
+
3
+ reCAPTCHA 用于验证用户是人类还是机器人。
4
+
5
+ 可以在 Google Cloud Console 中创建服务帐户。
6
+ 要创建服务帐户,请导航到“IAM 和管理”部分,
7
+ 选择“服务帐户”,然后点击“创建服务帐户”。
8
+ 按照说明生成必要的凭据。
9
+
10
+ ## 服务帐户信息
11
+
12
+ - **type**: 服务帐户类型
13
+ - **project_id**: 项目 ID
14
+ - **private_key_id**: 私钥 ID
15
+ - **private_key**: 私钥
16
+ - **client_email**: 客户端电子邮件
17
+ - **client_id**: 客户端 ID
18
+ - **auth_uri**: 认证 URI
19
+ - **token_uri**: 令牌 URI
20
+ - **auth_provider_x509_cert_url**: 认证提供者 x509 证书 URL
21
+ - **client_x509_cert_url**: 客户端 x509 证书 URL
22
+ - **universe_domain**: 宇宙域
23
+
24
+ ## 网站密钥
25
+
26
+ - **siteKey**: reCAPTCHA 网站密钥
27
+
28
+ ## 配置示例
29
+
30
+ ```javascript
31
+ module.exports = {
32
+ recaptcha: {
33
+ serviceAccount: {
34
+ type: 'service_account',
35
+ project_id: '--',
36
+ private_key_id: '-----',
37
+ private_key: '-----BEGIN PRIVATE KEY-----\nXXXX==\n-----END PRIVATE KEY-----\n',
38
+ client_email: 'abc@xyz.com',
39
+ client_id: '----',
40
+ auth_uri: 'https://accounts.google.com/o/oauth2/auth',
41
+ token_uri: 'https://oauth2.googleapis.com/token',
42
+ auth_provider_x509_cert_url: 'https://www.googleapis.com/oauth2/v1/certs',
43
+ client_x509_cert_url: 'https://www.googleapis.com/robot/v1/metadata/x509/abc%40xyz.com',
44
+ universe_domain: 'googleapis.com'
45
+ },
46
+ siteKey: '6Ld1Dr4qAAAAAMJBYZheIOw8wQopz5NwraHAbCzt'
47
+ }
48
+ }
49
+ ```
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@things-factory/auth-base",
3
- "version": "9.0.0-beta.4",
3
+ "version": "9.0.0-beta.8",
4
4
  "main": "dist-server/index.js",
5
5
  "browser": "dist-client/index.js",
6
6
  "things-factory": true,
@@ -30,11 +30,12 @@
30
30
  "migration:create": "node ../../node_modules/typeorm/cli.js migration:create ./server/migrations/migration"
31
31
  },
32
32
  "dependencies": {
33
+ "@google-cloud/recaptcha-enterprise": "^5.13.0",
33
34
  "@simplewebauthn/browser": "^13.0.0",
34
35
  "@simplewebauthn/server": "^13.0.0",
35
- "@things-factory/email-base": "^9.0.0-beta.0",
36
- "@things-factory/env": "^8.0.0-beta.4",
37
- "@things-factory/shell": "^9.0.0-beta.0",
36
+ "@things-factory/email-base": "^9.0.0-beta.8",
37
+ "@things-factory/env": "^9.0.0-beta.5",
38
+ "@things-factory/shell": "^9.0.0-beta.8",
38
39
  "@things-factory/utils": "^9.0.0-beta.0",
39
40
  "@types/webappsec-credential-management": "^0.6.9",
40
41
  "jsonwebtoken": "^9.0.0",
@@ -46,5 +47,5 @@
46
47
  "passport-jwt": "^4.0.0",
47
48
  "passport-local": "^1.0.0"
48
49
  },
49
- "gitHead": "df080ce07d4e046d7684b6790d41df269772a5d7"
50
+ "gitHead": "2dd583833981e0615a1e64386971a0f80dd7b3a4"
50
51
  }