@things-factory/auth-base 5.0.11 → 6.0.0-alpha.3

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 (313) hide show
  1. package/client/actions/auth.ts +23 -0
  2. package/client/{auth.js → auth.ts} +66 -59
  3. package/client/{bootstrap.js → bootstrap.ts} +5 -4
  4. package/client/index.ts +1 -0
  5. package/client/reducers/{auth.js → auth.ts} +1 -1
  6. package/dist-client/actions/auth.d.ts +8 -0
  7. package/dist-client/actions/auth.js +15 -0
  8. package/dist-client/actions/auth.js.map +1 -0
  9. package/dist-client/auth.d.ts +34 -0
  10. package/dist-client/auth.js +209 -0
  11. package/dist-client/auth.js.map +1 -0
  12. package/dist-client/bootstrap.d.ts +1 -0
  13. package/dist-client/bootstrap.js +34 -0
  14. package/dist-client/bootstrap.js.map +1 -0
  15. package/dist-client/index.d.ts +1 -0
  16. package/dist-client/index.js +2 -0
  17. package/dist-client/index.js.map +1 -0
  18. package/dist-client/reducers/auth.d.ts +14 -0
  19. package/dist-client/reducers/auth.js +19 -0
  20. package/dist-client/reducers/auth.js.map +1 -0
  21. package/dist-client/tsconfig.tsbuildinfo +1 -0
  22. package/dist-server/constants/error-code.d.ts +17 -0
  23. package/dist-server/constants/error-message.d.ts +0 -0
  24. package/dist-server/constants/max-age.d.ts +1 -0
  25. package/dist-server/controllers/auth.d.ts +5 -0
  26. package/dist-server/controllers/auth.js +1 -0
  27. package/dist-server/controllers/auth.js.map +1 -1
  28. package/dist-server/controllers/change-pwd.d.ts +1 -0
  29. package/dist-server/controllers/change-pwd.js +5 -4
  30. package/dist-server/controllers/change-pwd.js.map +1 -1
  31. package/dist-server/controllers/checkin.d.ts +4 -0
  32. package/dist-server/controllers/checkin.js +3 -3
  33. package/dist-server/controllers/checkin.js.map +1 -1
  34. package/dist-server/controllers/delete-user.d.ts +3 -0
  35. package/dist-server/controllers/invitation.d.ts +11 -0
  36. package/dist-server/controllers/invitation.js +11 -12
  37. package/dist-server/controllers/invitation.js.map +1 -1
  38. package/dist-server/controllers/profile.d.ts +26 -0
  39. package/dist-server/controllers/profile.js +4 -4
  40. package/dist-server/controllers/profile.js.map +1 -1
  41. package/dist-server/controllers/reset-password.d.ts +5 -0
  42. package/dist-server/controllers/reset-password.js +7 -7
  43. package/dist-server/controllers/reset-password.js.map +1 -1
  44. package/dist-server/controllers/signin.d.ts +6 -0
  45. package/dist-server/controllers/signin.js +4 -3
  46. package/dist-server/controllers/signin.js.map +1 -1
  47. package/dist-server/controllers/signup.d.ts +8 -0
  48. package/dist-server/controllers/signup.js +13 -9
  49. package/dist-server/controllers/signup.js.map +1 -1
  50. package/dist-server/controllers/unlock-user.d.ts +5 -0
  51. package/dist-server/controllers/unlock-user.js +6 -6
  52. package/dist-server/controllers/unlock-user.js.map +1 -1
  53. package/dist-server/controllers/utils/make-invitation-token.d.ts +1 -0
  54. package/dist-server/controllers/utils/make-verification-token.d.ts +1 -0
  55. package/dist-server/controllers/utils/password-rule.d.ts +14 -0
  56. package/dist-server/controllers/utils/save-invitation-token.d.ts +5 -0
  57. package/dist-server/controllers/utils/save-invitation-token.js +2 -2
  58. package/dist-server/controllers/utils/save-invitation-token.js.map +1 -1
  59. package/dist-server/controllers/utils/save-verification-token.d.ts +6 -0
  60. package/dist-server/controllers/utils/save-verification-token.js +2 -2
  61. package/dist-server/controllers/utils/save-verification-token.js.map +1 -1
  62. package/dist-server/controllers/verification.d.ts +6 -0
  63. package/dist-server/controllers/verification.js +8 -8
  64. package/dist-server/controllers/verification.js.map +1 -1
  65. package/dist-server/errors/auth-error.d.ts +11 -0
  66. package/dist-server/errors/auth-error.js.map +1 -1
  67. package/dist-server/errors/index.d.ts +2 -0
  68. package/dist-server/errors/user-domain-not-match-error.d.ts +9 -0
  69. package/dist-server/errors/user-domain-not-match-error.js.map +1 -1
  70. package/dist-server/index.d.ts +13 -0
  71. package/dist-server/index.js +2 -1
  72. package/dist-server/index.js.map +1 -1
  73. package/dist-server/middlewares/authenticate-401-middleware.d.ts +1 -0
  74. package/dist-server/middlewares/authenticate-401-middleware.js +12 -14
  75. package/dist-server/middlewares/authenticate-401-middleware.js.map +1 -1
  76. package/dist-server/middlewares/domain-authenticate-middleware.d.ts +11 -0
  77. package/dist-server/middlewares/domain-authenticate-middleware.js +7 -4
  78. package/dist-server/middlewares/domain-authenticate-middleware.js.map +1 -1
  79. package/dist-server/middlewares/graphql-authenticate-middleware.d.ts +1 -0
  80. package/dist-server/middlewares/index.d.ts +5 -0
  81. package/dist-server/middlewares/jwt-authenticate-middleware.d.ts +1 -0
  82. package/dist-server/middlewares/signin-middleware.d.ts +1 -0
  83. package/dist-server/migrations/1548206416130-SeedUser.d.ts +5 -0
  84. package/dist-server/migrations/1548206416130-SeedUser.js +4 -5
  85. package/dist-server/migrations/1548206416130-SeedUser.js.map +1 -1
  86. package/dist-server/migrations/1566805283882-SeedPrivilege.d.ts +5 -0
  87. package/dist-server/migrations/1566805283882-SeedPrivilege.js +2 -2
  88. package/dist-server/migrations/1566805283882-SeedPrivilege.js.map +1 -1
  89. package/dist-server/migrations/index.d.ts +1 -0
  90. package/dist-server/router/auth-checkin-router.d.ts +1 -0
  91. package/dist-server/router/auth-checkin-router.js.map +1 -1
  92. package/dist-server/router/auth-private-process-router.d.ts +1 -0
  93. package/dist-server/router/auth-private-process-router.js +2 -2
  94. package/dist-server/router/auth-private-process-router.js.map +1 -1
  95. package/dist-server/router/auth-public-process-router.d.ts +1 -0
  96. package/dist-server/router/auth-public-process-router.js +2 -3
  97. package/dist-server/router/auth-public-process-router.js.map +1 -1
  98. package/dist-server/router/auth-signin-router.d.ts +1 -0
  99. package/dist-server/router/auth-signup-router.d.ts +1 -0
  100. package/dist-server/router/auth-signup-router.js +31 -32
  101. package/dist-server/router/auth-signup-router.js.map +1 -1
  102. package/dist-server/router/index.d.ts +8 -0
  103. package/dist-server/router/oauth2/index.d.ts +2 -0
  104. package/dist-server/router/oauth2/oauth2-authorize-router.d.ts +1 -0
  105. package/dist-server/router/oauth2/oauth2-authorize-router.js +2 -2
  106. package/dist-server/router/oauth2/oauth2-authorize-router.js.map +1 -1
  107. package/dist-server/router/oauth2/oauth2-router.d.ts +9 -0
  108. package/dist-server/router/oauth2/oauth2-router.js +6 -7
  109. package/dist-server/router/oauth2/oauth2-router.js.map +1 -1
  110. package/dist-server/router/oauth2/oauth2-server.d.ts +5 -0
  111. package/dist-server/router/oauth2/oauth2-server.js +23 -21
  112. package/dist-server/router/oauth2/oauth2-server.js.map +1 -1
  113. package/dist-server/router/oauth2/passport-oauth2-client-password.d.ts +7 -0
  114. package/dist-server/router/oauth2/passport-refresh-token.d.ts +7 -0
  115. package/dist-server/router/path-base-domain-router.d.ts +1 -0
  116. package/dist-server/router/site-root-router.d.ts +1 -0
  117. package/dist-server/routes.d.ts +1 -0
  118. package/dist-server/service/app-binding/app-binding-mutation.d.ts +3 -0
  119. package/dist-server/service/app-binding/app-binding-mutation.js +2 -2
  120. package/dist-server/service/app-binding/app-binding-mutation.js.map +1 -1
  121. package/dist-server/service/app-binding/app-binding-query.d.ts +14 -0
  122. package/dist-server/service/app-binding/app-binding-query.js +7 -9
  123. package/dist-server/service/app-binding/app-binding-query.js.map +1 -1
  124. package/dist-server/service/app-binding/app-binding-types.d.ts +5 -0
  125. package/dist-server/service/app-binding/app-binding.d.ts +7 -0
  126. package/dist-server/service/app-binding/index.d.ts +3 -0
  127. package/dist-server/service/appliance/appliance-mutation.d.ts +8 -0
  128. package/dist-server/service/appliance/appliance-mutation.js +13 -12
  129. package/dist-server/service/appliance/appliance-mutation.js.map +1 -1
  130. package/dist-server/service/appliance/appliance-query.d.ts +11 -0
  131. package/dist-server/service/appliance/appliance-query.js +7 -9
  132. package/dist-server/service/appliance/appliance-query.js.map +1 -1
  133. package/dist-server/service/appliance/appliance-types.d.ts +22 -0
  134. package/dist-server/service/appliance/appliance.d.ts +22 -0
  135. package/dist-server/service/appliance/appliance.js +1 -2
  136. package/dist-server/service/appliance/appliance.js.map +1 -1
  137. package/dist-server/service/appliance/index.d.ts +5 -0
  138. package/dist-server/service/application/application-mutation.d.ts +66 -0
  139. package/dist-server/service/application/application-mutation.js +13 -13
  140. package/dist-server/service/application/application-mutation.js.map +1 -1
  141. package/dist-server/service/application/application-query.d.ts +16 -0
  142. package/dist-server/service/application/application-query.js +11 -13
  143. package/dist-server/service/application/application-query.js.map +1 -1
  144. package/dist-server/service/application/application-types.d.ts +27 -0
  145. package/dist-server/service/application/application.d.ts +35 -0
  146. package/dist-server/service/application/application.js +1 -2
  147. package/dist-server/service/application/application.js.map +1 -1
  148. package/dist-server/service/application/index.d.ts +5 -0
  149. package/dist-server/service/domain-generator/domain-generator-mutation.d.ts +6 -0
  150. package/dist-server/service/domain-generator/domain-generator-mutation.js +7 -7
  151. package/dist-server/service/domain-generator/domain-generator-mutation.js.map +1 -1
  152. package/dist-server/service/domain-generator/domain-generator-types.d.ts +19 -0
  153. package/dist-server/service/domain-generator/domain-generator-types.js +1 -2
  154. package/dist-server/service/domain-generator/domain-generator-types.js.map +1 -1
  155. package/dist-server/service/domain-generator/index.d.ts +2 -0
  156. package/dist-server/service/granted-role/granted-role-mutation.d.ts +11 -0
  157. package/dist-server/service/granted-role/granted-role-mutation.js +14 -9
  158. package/dist-server/service/granted-role/granted-role-mutation.js.map +1 -1
  159. package/dist-server/service/granted-role/granted-role-query.d.ts +16 -0
  160. package/dist-server/service/granted-role/granted-role-query.js +8 -9
  161. package/dist-server/service/granted-role/granted-role-query.js.map +1 -1
  162. package/dist-server/service/granted-role/granted-role.d.ts +9 -0
  163. package/dist-server/service/granted-role/granted-role.js +1 -2
  164. package/dist-server/service/granted-role/granted-role.js.map +1 -1
  165. package/dist-server/service/granted-role/index.d.ts +5 -0
  166. package/dist-server/service/index.d.ts +31 -0
  167. package/dist-server/service/invitation/index.d.ts +5 -0
  168. package/dist-server/service/invitation/invitation-mutation.d.ts +17 -0
  169. package/dist-server/service/invitation/invitation-mutation.js +9 -9
  170. package/dist-server/service/invitation/invitation-mutation.js.map +1 -1
  171. package/dist-server/service/invitation/invitation-query.d.ts +8 -0
  172. package/dist-server/service/invitation/invitation-query.js +4 -4
  173. package/dist-server/service/invitation/invitation-query.js.map +1 -1
  174. package/dist-server/service/invitation/invitation-types.d.ts +5 -0
  175. package/dist-server/service/invitation/invitation.d.ts +14 -0
  176. package/dist-server/service/login-history/index.d.ts +4 -0
  177. package/dist-server/service/login-history/login-history-query.d.ts +8 -0
  178. package/dist-server/service/login-history/login-history-query.js +9 -11
  179. package/dist-server/service/login-history/login-history-query.js.map +1 -1
  180. package/dist-server/service/login-history/login-history.d.ts +12 -0
  181. package/dist-server/service/login-history/login-history.js +14 -15
  182. package/dist-server/service/login-history/login-history.js.map +1 -1
  183. package/dist-server/service/partner/index.d.ts +5 -0
  184. package/dist-server/service/partner/partner-mutation.d.ts +4 -0
  185. package/dist-server/service/partner/partner-mutation.js +6 -7
  186. package/dist-server/service/partner/partner-mutation.js.map +1 -1
  187. package/dist-server/service/partner/partner-query.d.ts +14 -0
  188. package/dist-server/service/partner/partner-query.js +11 -13
  189. package/dist-server/service/partner/partner-query.js.map +1 -1
  190. package/dist-server/service/partner/partner-types.d.ts +5 -0
  191. package/dist-server/service/partner/partner.d.ts +15 -0
  192. package/dist-server/service/partner/partner.js +2 -3
  193. package/dist-server/service/partner/partner.js.map +1 -1
  194. package/dist-server/service/password-history/index.d.ts +2 -0
  195. package/dist-server/service/password-history/password-history.d.ts +4 -0
  196. package/dist-server/service/privilege/index.d.ts +5 -0
  197. package/dist-server/service/privilege/privilege-directive.d.ts +3 -0
  198. package/dist-server/service/privilege/privilege-directive.js +2 -2
  199. package/dist-server/service/privilege/privilege-directive.js.map +1 -1
  200. package/dist-server/service/privilege/privilege-mutation.d.ts +7 -0
  201. package/dist-server/service/privilege/privilege-mutation.js +6 -5
  202. package/dist-server/service/privilege/privilege-mutation.js.map +1 -1
  203. package/dist-server/service/privilege/privilege-query.d.ts +13 -0
  204. package/dist-server/service/privilege/privilege-query.js +7 -8
  205. package/dist-server/service/privilege/privilege-query.js.map +1 -1
  206. package/dist-server/service/privilege/privilege-types.d.ts +25 -0
  207. package/dist-server/service/privilege/privilege.d.ts +15 -0
  208. package/dist-server/service/role/index.d.ts +5 -0
  209. package/dist-server/service/role/role-mutation.d.ts +8 -0
  210. package/dist-server/service/role/role-mutation.js +13 -11
  211. package/dist-server/service/role/role-mutation.js.map +1 -1
  212. package/dist-server/service/role/role-query.d.ts +18 -0
  213. package/dist-server/service/role/role-query.js +13 -13
  214. package/dist-server/service/role/role-query.js.map +1 -1
  215. package/dist-server/service/role/role-types.d.ts +33 -0
  216. package/dist-server/service/role/role.d.ts +18 -0
  217. package/dist-server/service/role/role.js +1 -2
  218. package/dist-server/service/role/role.js.map +1 -1
  219. package/dist-server/service/user/index.d.ts +5 -0
  220. package/dist-server/service/user/user-mutation.d.ts +28 -0
  221. package/dist-server/service/user/user-mutation.js +24 -17
  222. package/dist-server/service/user/user-mutation.js.map +1 -1
  223. package/dist-server/service/user/user-query.d.ts +16 -0
  224. package/dist-server/service/user/user-query.js +15 -13
  225. package/dist-server/service/user/user-query.js.map +1 -1
  226. package/dist-server/service/user/user-types.d.ts +26 -0
  227. package/dist-server/service/user/user.d.ts +39 -0
  228. package/dist-server/service/user/user.js +9 -8
  229. package/dist-server/service/user/user.js.map +1 -1
  230. package/dist-server/service/verification-token/index.d.ts +2 -0
  231. package/dist-server/service/verification-token/verification-token.d.ts +14 -0
  232. package/dist-server/templates/account-unlock-email.d.ts +4 -0
  233. package/dist-server/templates/invitation-email.d.ts +4 -0
  234. package/dist-server/templates/reset-password-email.d.ts +4 -0
  235. package/dist-server/templates/verification-email.d.ts +4 -0
  236. package/dist-server/tsconfig.tsbuildinfo +1 -1
  237. package/dist-server/types.d.ts +17 -0
  238. package/dist-server/types.js +3 -0
  239. package/dist-server/types.js.map +1 -0
  240. package/dist-server/utils/accepts.d.ts +1 -0
  241. package/dist-server/utils/access-token-cookie.d.ts +3 -0
  242. package/dist-server/utils/check-user-belongs-domain.d.ts +10 -0
  243. package/dist-server/utils/check-user-belongs-domain.js +2 -2
  244. package/dist-server/utils/check-user-belongs-domain.js.map +1 -1
  245. package/dist-server/utils/get-domain-from-hostname.d.ts +1 -0
  246. package/dist-server/utils/get-domain-users.d.ts +5 -0
  247. package/dist-server/utils/get-domain-users.js +2 -3
  248. package/dist-server/utils/get-domain-users.js.map +1 -1
  249. package/dist-server/utils/get-secret.d.ts +1 -0
  250. package/dist-server/utils/get-user-domains.d.ts +5 -0
  251. package/dist-server/utils/get-user-domains.js +7 -5
  252. package/dist-server/utils/get-user-domains.js.map +1 -1
  253. package/package.json +15 -13
  254. package/server/controllers/auth.ts +1 -0
  255. package/server/controllers/change-pwd.ts +3 -3
  256. package/server/controllers/checkin.ts +3 -3
  257. package/server/controllers/invitation.ts +6 -7
  258. package/server/controllers/profile.ts +4 -3
  259. package/server/controllers/reset-password.ts +3 -3
  260. package/server/controllers/signin.ts +4 -2
  261. package/server/controllers/signup.ts +13 -8
  262. package/server/controllers/unlock-user.ts +5 -3
  263. package/server/controllers/utils/save-invitation-token.ts +2 -1
  264. package/server/controllers/utils/save-verification-token.ts +2 -1
  265. package/server/controllers/verification.ts +6 -4
  266. package/server/errors/auth-error.ts +3 -0
  267. package/server/errors/user-domain-not-match-error.ts +3 -0
  268. package/server/index.ts +3 -1
  269. package/server/middlewares/authenticate-401-middleware.ts +15 -3
  270. package/server/middlewares/domain-authenticate-middleware.ts +9 -6
  271. package/server/migrations/1548206416130-SeedUser.ts +3 -3
  272. package/server/migrations/1566805283882-SeedPrivilege.ts +2 -1
  273. package/server/router/auth-checkin-router.ts +1 -1
  274. package/server/router/auth-private-process-router.ts +1 -2
  275. package/server/router/auth-public-process-router.ts +2 -3
  276. package/server/router/auth-signup-router.ts +38 -38
  277. package/server/router/oauth2/oauth2-authorize-router.ts +3 -2
  278. package/server/router/oauth2/oauth2-router.ts +4 -5
  279. package/server/router/oauth2/oauth2-server.ts +19 -22
  280. package/server/service/app-binding/app-binding-mutation.ts +3 -2
  281. package/server/service/app-binding/app-binding-query.ts +9 -9
  282. package/server/service/appliance/appliance-mutation.ts +14 -8
  283. package/server/service/appliance/appliance-query.ts +11 -10
  284. package/server/service/application/application-mutation.ts +21 -12
  285. package/server/service/application/application-query.ts +20 -17
  286. package/server/service/domain-generator/domain-generator-mutation.ts +15 -10
  287. package/server/service/granted-role/granted-role-mutation.ts +14 -12
  288. package/server/service/granted-role/granted-role-query.ts +12 -10
  289. package/server/service/invitation/invitation-mutation.ts +7 -5
  290. package/server/service/invitation/invitation-query.ts +6 -4
  291. package/server/service/login-history/login-history-query.ts +13 -11
  292. package/server/service/login-history/login-history.ts +5 -4
  293. package/server/service/partner/partner-mutation.ts +10 -9
  294. package/server/service/partner/partner-query.ts +10 -10
  295. package/server/service/privilege/privilege-directive.ts +1 -1
  296. package/server/service/privilege/privilege-mutation.ts +10 -5
  297. package/server/service/privilege/privilege-query.ts +7 -7
  298. package/server/service/role/role-mutation.ts +18 -11
  299. package/server/service/role/role-query.ts +18 -16
  300. package/server/service/user/user-mutation.ts +39 -34
  301. package/server/service/user/user-query.ts +29 -21
  302. package/server/service/user/user.ts +12 -10
  303. package/server/types.ts +21 -0
  304. package/server/utils/check-user-belongs-domain.ts +2 -2
  305. package/server/utils/get-domain-users.ts +4 -2
  306. package/server/utils/get-user-domains.ts +8 -5
  307. package/things-factory.config.js +1 -1
  308. package/translations/en.json +2 -5
  309. package/translations/ko.json +5 -8
  310. package/translations/ms.json +2 -5
  311. package/translations/zh.json +2 -5
  312. package/client/actions/auth.js +0 -16
  313. package/client/index.js +0 -2
@@ -1,7 +1,7 @@
1
- import { getRepository, MigrationInterface, QueryRunner } from 'typeorm'
1
+ import { MigrationInterface, QueryRunner } from 'typeorm'
2
2
 
3
3
  import { config, logger } from '@things-factory/env'
4
- import { Domain } from '@things-factory/shell'
4
+ import { Domain, getRepository } from '@things-factory/shell'
5
5
 
6
6
  import { User, UserStatus } from '../service/user/user'
7
7
 
@@ -52,7 +52,7 @@ export class SeedUsers1548206416130 implements MigrationInterface {
52
52
  const repository = getRepository(User)
53
53
 
54
54
  SEED_USERS.reverse().forEach(async user => {
55
- let record = await repository.findOne({ email: user.email })
55
+ let record = await repository.findOneBy({ email: user.email })
56
56
  await repository.remove(record)
57
57
  })
58
58
  }
@@ -1,6 +1,7 @@
1
- import { getRepository, MigrationInterface, QueryRunner } from 'typeorm'
1
+ import { MigrationInterface, QueryRunner } from 'typeorm'
2
2
 
3
3
  import { logger } from '@things-factory/env'
4
+ import { getRepository } from '@things-factory/shell'
4
5
 
5
6
  import { Privilege } from '../service/privilege/privilege'
6
7
 
@@ -87,7 +87,7 @@ authCheckinRouter.get('/auth/domains', async context => {
87
87
  context.body = domains
88
88
  })
89
89
 
90
- async function checkIn(checkInDomain: Domain, redirectTo: string | null, context: any): Promise<void> {
90
+ async function checkIn(checkInDomain: Domain, redirectTo: string | null, context: ResolverContext): Promise<void> {
91
91
  const user: User = context.state.user
92
92
  await LoginHistory.stamp(checkInDomain, user, context.req.connection.remoteAddress)
93
93
 
@@ -1,8 +1,7 @@
1
1
  import Router from 'koa-router'
2
- import { getRepository } from 'typeorm'
3
2
 
4
3
  import { config } from '@things-factory/env'
5
- import { Domain } from '@things-factory/shell'
4
+ import { Domain, getRepository } from '@things-factory/shell'
6
5
 
7
6
  import { changePwd } from '../controllers/change-pwd'
8
7
  import { deleteUser } from '../controllers/delete-user'
@@ -1,8 +1,7 @@
1
1
  import Router from 'koa-router'
2
- import { getRepository } from 'typeorm'
3
2
 
4
3
  import { config } from '@things-factory/env'
5
- import { getSiteRootPath } from '@things-factory/shell'
4
+ import { getRepository, getSiteRootPath } from '@things-factory/shell'
6
5
 
7
6
  import { resendInvitationEmail } from '../controllers/invitation'
8
7
  import { resetPassword, sendPasswordResetEmail } from '../controllers/reset-password'
@@ -31,7 +30,7 @@ export const authPublicProcessRouter = new Router({
31
30
  authPublicProcessRouter.post('/join', async (context, next) => {
32
31
  const { email } = context.request.body || {}
33
32
 
34
- const user: User = await getRepository(User).findOne({
33
+ const user: User = await getRepository(User).findOneBy({
35
34
  email
36
35
  })
37
36
 
@@ -38,46 +38,46 @@ authSignupRouter.post('/auth/signup', async (context, next) => {
38
38
  const { domain } = context.state
39
39
  const user = context.request.body
40
40
 
41
- try {
42
- const { token } = await signup(
43
- {
44
- ...user,
45
- context,
46
- domain
47
- },
48
- true
49
- )
41
+ // try {
42
+ const { token } = await signup(
43
+ {
44
+ ...user,
45
+ context,
46
+ domain
47
+ },
48
+ true
49
+ )
50
50
 
51
- const message = t('text.user registered successfully')
52
- context.body = {
53
- message,
54
- token
55
- }
56
-
57
- setAccessTokenCookie(context, token)
51
+ const message = t('text.user registered successfully')
52
+ context.body = {
53
+ message,
54
+ token
55
+ }
58
56
 
59
- if (accepts(header.accept, ['text/html', '*/*'])) {
60
- await context.render('auth-page', {
61
- pageElement: 'auth-result',
62
- elementScript: '/auth/result.js',
63
- data: {
64
- message
65
- }
66
- })
67
- }
68
- } catch (e) {
69
- context.status = 401
70
- context.body = e.message
57
+ setAccessTokenCookie(context, token)
71
58
 
72
- if (accepts(header.accept, ['text/html', '*/*'])) {
73
- await context.render('auth-page', {
74
- pageElement: 'auth-signup',
75
- elementScript: '/auth/signup.js',
76
- data: {
77
- message: e.message,
78
- passwordRule
79
- }
80
- })
81
- }
59
+ if (accepts(header.accept, ['text/html', '*/*'])) {
60
+ await context.render('auth-page', {
61
+ pageElement: 'auth-result',
62
+ elementScript: '/auth/result.js',
63
+ data: {
64
+ message
65
+ }
66
+ })
82
67
  }
68
+ // } catch (e) {
69
+ // context.status = 401
70
+ // context.body = e.message
71
+
72
+ // if (accepts(header.accept, ['text/html', '*/*'])) {
73
+ // await context.render('auth-page', {
74
+ // pageElement: 'auth-signup',
75
+ // elementScript: '/auth/signup.js',
76
+ // data: {
77
+ // message: e instanceof AuthError ? t(`error.${e.message}`) : e.message,
78
+ // passwordRule
79
+ // }
80
+ // })
81
+ // }
82
+ // }
83
83
  })
@@ -1,5 +1,6 @@
1
1
  import Router from 'koa-router'
2
- import { getRepository } from 'typeorm'
2
+
3
+ import { getRepository } from '@things-factory/shell'
3
4
 
4
5
  import { Application } from '../../service/application/application'
5
6
  import { NonClient, server as oauth2orizeServer } from './oauth2-server'
@@ -25,7 +26,7 @@ export const oauth2AuthorizeRouter = new Router()
25
26
  oauth2AuthorizeRouter.get(
26
27
  '/authorize',
27
28
  oauth2orizeServer.authorize(async function (clientID, redirectURI) {
28
- const client = await getRepository(Application).findOne({
29
+ const client = await getRepository(Application).findOneBy({
29
30
  appKey: clientID
30
31
  })
31
32
  // CONFIRM-ME redirectUrl 의 허용 범위는 ?
@@ -2,9 +2,8 @@ import jwt from 'jsonwebtoken'
2
2
  import compose from 'koa-compose'
3
3
  import passport from 'koa-passport'
4
4
  import Router from 'koa-router'
5
- import { getRepository } from 'typeorm'
6
5
 
7
- import { Domain } from '@things-factory/shell'
6
+ import { Domain, getRepository } from '@things-factory/shell'
8
7
 
9
8
  import { jwtAuthenticateMiddleware } from '../../middlewares'
10
9
  import { Application } from '../../service/application/application'
@@ -28,7 +27,7 @@ passport.use(
28
27
  'oauth2-client-password',
29
28
  new ClientPasswordStrategy({}, (clientId, clientSecret, done) => {
30
29
  getRepository(Application)
31
- .findOne({
30
+ .findOneBy({
32
31
  appKey: clientId
33
32
  })
34
33
  .then(client => {
@@ -80,7 +79,7 @@ oauth2Router.post('/refresh-token', async (context, next) => {
80
79
  const refreshToken: string | undefined = context.request?.body?.refreshToken
81
80
  if (!refreshToken) throw new Error('Missing refresh token')
82
81
 
83
- const appUser: User | undefined = await getRepository(User).findOne({
82
+ const appUser: User | undefined = await getRepository(User).findOneBy({
84
83
  password: refreshToken
85
84
  })
86
85
 
@@ -148,7 +147,7 @@ oauth2Router.get('/profile', jwtAuthenticateMiddleware, async (context, next) =>
148
147
 
149
148
  oauth2Router.post('/disconnect', jwtAuthenticateMiddleware, async (context, next) => {
150
149
  try {
151
- let { user }: { user: User } = context.state
150
+ let { user } = context.state
152
151
 
153
152
  if (typeof process.oauthDisconnect === 'function') {
154
153
  await process.oauthDisconnect(user)
@@ -1,8 +1,8 @@
1
1
  import oauth2orize from 'oauth2orize-koa'
2
- import { getRepository, In } from 'typeorm'
2
+ import { In } from 'typeorm'
3
3
 
4
4
  import { logger } from '@things-factory/env'
5
- import { Domain } from '@things-factory/shell'
5
+ import { Domain, getRepository } from '@things-factory/shell'
6
6
 
7
7
  import { Application } from '../../service/application/application'
8
8
  import { Role } from '../../service/role/role'
@@ -40,7 +40,7 @@ server.deserializeClient(async function (id) {
40
40
  return {}
41
41
  }
42
42
 
43
- const application = await getRepository(Application).findOne(id)
43
+ const application = await getRepository(Application).findOneBy({ id })
44
44
  return application
45
45
  })
46
46
 
@@ -82,7 +82,7 @@ server.exchange(
82
82
  }
83
83
  let { email, appKey, subdomain, scopes } = decoded
84
84
 
85
- const application: Application = await getRepository(Application).findOne({
85
+ const application: Application = await getRepository(Application).findOneBy({
86
86
  appKey
87
87
  })
88
88
 
@@ -103,24 +103,23 @@ server.exchange(
103
103
  // )
104
104
  // }
105
105
 
106
- const domain: Domain = await getRepository(Domain).findOne({
106
+ const domain: Domain = await getRepository(Domain).findOneBy({
107
107
  subdomain
108
108
  })
109
109
 
110
- const creator: User = await getRepository(User).findOne({ email })
110
+ const creator: User = await getRepository(User).findOneBy({ email })
111
111
 
112
112
  const appuserEmail = `${crypto.randomUUID()}@${subdomain}`
113
113
 
114
- var appuser: User = await getRepository(User).findOne(
115
- {
114
+ var appuser: User = await getRepository(User).findOne({
115
+ where: {
116
116
  email: appuserEmail,
117
117
  reference: application.id,
118
118
  userType: 'application'
119
119
  },
120
- {
121
- relations: ['domains', 'creator', 'updater']
122
- }
123
- )
120
+
121
+ relations: ['domains', 'creator', 'updater']
122
+ })
124
123
 
125
124
  appuser = await getRepository(User).save({
126
125
  ...(appuser || {}),
@@ -184,7 +183,7 @@ server.exchange(
184
183
  exp: expires_in
185
184
  } = decoded
186
185
 
187
- const application: Application = await getRepository(Application).findOne({
186
+ const application: Application = await getRepository(Application).findOneBy({
188
187
  appKey
189
188
  })
190
189
 
@@ -198,27 +197,25 @@ server.exchange(
198
197
  return false
199
198
  }
200
199
 
201
- const domain: Domain = await getRepository(Domain).findOne({
200
+ const domain: Domain = await getRepository(Domain).findOneBy({
202
201
  subdomain
203
202
  })
204
203
 
205
- const creator: User = await getRepository(User).findOne({
204
+ const creator: User = await getRepository(User).findOneBy({
206
205
  id,
207
206
  userType
208
207
  })
209
208
 
210
209
  const appuserEmail = `${appKey}@${subdomain}`
211
210
 
212
- var appuser: User = await getRepository(User).findOne(
213
- {
211
+ var appuser: User = await getRepository(User).findOne({
212
+ where: {
214
213
  email: appuserEmail,
215
214
  reference: application.id,
216
215
  userType: 'application'
217
216
  },
218
- {
219
- relations: ['domain', 'creator', 'updater']
220
- }
221
- )
217
+ relations: ['domain', 'creator', 'updater']
218
+ })
222
219
 
223
220
  if (!appuser) {
224
221
  logger.error('application is not bound')
@@ -239,7 +236,7 @@ server.exchange(
239
236
  return false
240
237
  }
241
238
 
242
- const roles = await getRepository(Role).find({
239
+ const roles = await getRepository(Role).findBy({
243
240
  name: In(scopes),
244
241
  domain
245
242
  })
@@ -1,5 +1,6 @@
1
1
  import { Arg, Ctx, Mutation, Resolver } from 'type-graphql'
2
- import { getRepository } from 'typeorm'
2
+
3
+ import { getRepository } from '@things-factory/shell'
3
4
 
4
5
  import { User } from '../user/user'
5
6
  import { AppBinding } from './app-binding'
@@ -7,7 +8,7 @@ import { AppBinding } from './app-binding'
7
8
  @Resolver(AppBinding)
8
9
  export class AppBindingMutation {
9
10
  @Mutation(returns => Boolean)
10
- async deleteAppBinding(@Arg('id') id: string, @Ctx() context: any) {
11
+ async deleteAppBinding(@Arg('id') id: string, @Ctx() context: ResolverContext) {
11
12
  const { domain } = context.state
12
13
 
13
14
  // TODO 이 사용자가 이 도메인에 속한 사용자인지 확인해야함.
@@ -1,7 +1,7 @@
1
1
  import { Arg, Args, Ctx, FieldResolver, Query, Resolver, Root } from 'type-graphql'
2
- import { getRepository, SelectQueryBuilder } from 'typeorm'
2
+ import { SelectQueryBuilder } from 'typeorm'
3
3
 
4
- import { buildQuery, ListParam } from '@things-factory/shell'
4
+ import { buildQuery, getRepository, ListParam } from '@things-factory/shell'
5
5
 
6
6
  import { buildDomainUsersQueryBuilder } from '../../utils/get-domain-users'
7
7
  import { Application } from '../application/application'
@@ -13,16 +13,16 @@ import { AppBindingList } from './app-binding-types'
13
13
  @Resolver(AppBinding)
14
14
  export class AppBindingQuery {
15
15
  @Query(returns => AppBinding)
16
- async appBinding(@Arg('id') id: string, @Ctx() context: any): Promise<User> {
16
+ async appBinding(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<User> {
17
17
  const { domain } = context.state
18
18
 
19
19
  // TODO should check domain is available
20
- return await getRepository(User).findOne({ id, userType: 'application' })
20
+ return await getRepository(User).findOneBy({ id, userType: 'application' })
21
21
  }
22
22
 
23
23
  /* TODO optimize query */
24
24
  @Query(returns => AppBindingList)
25
- async appBindings(@Args() params: ListParam, @Ctx() context: any): Promise<UserList> {
25
+ async appBindings(@Args() params: ListParam, @Ctx() context: ResolverContext): Promise<UserList> {
26
26
  const { domain } = context.state
27
27
 
28
28
  // const convertedParams = convertListParams(params)
@@ -48,7 +48,7 @@ export class AppBindingQuery {
48
48
  // .map(async (user: User) => {
49
49
  // const email = user.email
50
50
  // const appKey = email.substr(0, email.lastIndexOf('@'))
51
- // const application = await getRepository(Application).findOne({
51
+ // const application = await getRepository(Application).findOneBy({
52
52
  // appKey
53
53
  // })
54
54
 
@@ -66,7 +66,7 @@ export class AppBindingQuery {
66
66
 
67
67
  @FieldResolver(type => Application)
68
68
  async application(@Root() appBinding: AppBinding): Promise<Application> {
69
- return await getRepository(Application).findOne(appBinding.reference)
69
+ return await getRepository(Application).findOneBy({ id: appBinding.reference })
70
70
  }
71
71
 
72
72
  @FieldResolver(type => String)
@@ -82,11 +82,11 @@ export class AppBindingQuery {
82
82
 
83
83
  @FieldResolver(type => User)
84
84
  async updater(@Root() appBinding: AppBinding): Promise<User> {
85
- return await getRepository(User).findOne(appBinding.updater)
85
+ return await getRepository(User).findOneBy({ id: appBinding.updaterId })
86
86
  }
87
87
 
88
88
  @FieldResolver(type => User)
89
89
  async creator(@Root() appBinding: AppBinding): Promise<User> {
90
- return await getRepository(User).findOne(appBinding.creator)
90
+ return await getRepository(User).findOneBy({ id: appBinding.creatorId })
91
91
  }
92
92
  }
@@ -1,5 +1,6 @@
1
1
  import { Arg, Ctx, Mutation, Resolver } from 'type-graphql'
2
- import { getRepository } from 'typeorm'
2
+
3
+ import { getRepository } from '@things-factory/shell'
3
4
 
4
5
  import { User, UserStatus } from '../user/user'
5
6
  import { Appliance } from './appliance'
@@ -10,7 +11,10 @@ const crypto = require('crypto')
10
11
  @Resolver(Appliance)
11
12
  export class ApplianceMutation {
12
13
  @Mutation(returns => Appliance, { description: 'To create new appliance' })
13
- async createAppliance(@Arg('appliance') appliance: NewAppliance, @Ctx() context: any): Promise<Appliance> {
14
+ async createAppliance(
15
+ @Arg('appliance') appliance: NewAppliance,
16
+ @Ctx() context: ResolverContext
17
+ ): Promise<Appliance> {
14
18
  return await getRepository(Appliance).save({
15
19
  domain: context.state.domain,
16
20
  creator: context.state.user,
@@ -20,7 +24,7 @@ export class ApplianceMutation {
20
24
  }
21
25
 
22
26
  @Mutation(returns => Boolean, { description: 'To delete appliance' })
23
- async deleteAppliance(@Arg('id') id: string, @Ctx() context: any): Promise<Boolean> {
27
+ async deleteAppliance(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<Boolean> {
24
28
  const { domain } = context.state
25
29
  // TODO 이 사용자가 이 도메인에 속한 사용자인지 확인해야함.
26
30
  // TODO 다른 도메인에도 포함되어있다면, domains-users 관게와 해당 도메인 관련 정보만 삭제해야 함.
@@ -29,16 +33,16 @@ export class ApplianceMutation {
29
33
  userType: 'appliance'
30
34
  })
31
35
 
32
- await getRepository(Appliance).delete({ domain, id })
36
+ await getRepository(Appliance).delete({ domain: { id: domain.id }, id })
33
37
 
34
38
  return true
35
39
  }
36
40
 
37
41
  @Mutation(returns => Appliance)
38
- async generateApplianceSecret(@Arg('id') id: string, @Ctx() context: any): Promise<Appliance> {
42
+ async generateApplianceSecret(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<Appliance> {
39
43
  const { domain, user } = context.state
40
44
 
41
- const appliance: Appliance = await getRepository(Appliance).findOne({ id, domain })
45
+ const appliance: Appliance = await getRepository(Appliance).findOneBy({ domain: { id: domain.id }, id })
42
46
 
43
47
  const appuserEmail = `${crypto.randomUUID()}@${domain?.subdomain}`
44
48
  let appuser: User = await getRepository(User).findOne({
@@ -82,11 +86,13 @@ export class ApplianceMutation {
82
86
  async updateAppliance(
83
87
  @Arg('id') id: string,
84
88
  @Arg('patch') patch: AppliancePatch,
85
- @Ctx() context: any
89
+ @Ctx() context: ResolverContext
86
90
  ): Promise<Appliance> {
91
+ const { domain } = context.state
92
+
87
93
  const applianceRepository = getRepository(Appliance)
88
94
  const userRepository = getRepository(User)
89
- const appliance = await applianceRepository.findOne({ where: { domain: context.state.domain, id } })
95
+ const appliance = await applianceRepository.findOne({ where: { domain: { id: domain.id }, id } })
90
96
  const user = await userRepository.findOne({ where: { reference: id, userType: 'appliance' } })
91
97
 
92
98
  userRepository.save({
@@ -1,20 +1,21 @@
1
- import { Args, Arg, Query, Resolver, Ctx, Root, FieldResolver } from 'type-graphql'
2
- import { User } from '../user/user'
1
+ import { Arg, Args, Ctx, FieldResolver, Query, Resolver, Root } from 'type-graphql'
2
+
3
+ import { buildQuery, Domain, getRepository, ListParam } from '@things-factory/shell'
4
+
3
5
  import { Appliance } from '../appliance/appliance'
4
- import { buildQuery, ListParam, Domain } from '@things-factory/shell'
5
- import { getRepository } from 'typeorm'
6
+ import { User } from '../user/user'
6
7
  import { ApplianceList } from './appliance-types'
7
8
 
8
9
  @Resolver(Appliance)
9
10
  export class ApplianceQuery {
10
11
  @Query(returns => Appliance, { description: ' To fetch appliance' })
11
- async appliance(@Arg('id') id: string, @Ctx() context: any): Promise<Appliance> {
12
+ async appliance(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<Appliance> {
12
13
  const { domain } = context.state
13
- return await getRepository(Appliance).findOne({ domain, id })
14
+ return await getRepository(Appliance).findOneBy({ domain: { id: domain.id }, id })
14
15
  }
15
16
 
16
17
  @Query(returns => ApplianceList, { description: 'To fetch multiple appliance' })
17
- async appliances(@Args() params: ListParam, @Ctx() context: any): Promise<ApplianceList> {
18
+ async appliances(@Args() params: ListParam, @Ctx() context: ResolverContext): Promise<ApplianceList> {
18
19
  const queryBuilder = getRepository(Appliance).createQueryBuilder()
19
20
  buildQuery(queryBuilder, params, context)
20
21
 
@@ -24,17 +25,17 @@ export class ApplianceQuery {
24
25
  }
25
26
 
26
27
  @FieldResolver(type => Domain)
27
- async domain(@Ctx() context: any) {
28
+ async domain(@Ctx() context: ResolverContext) {
28
29
  return context.state.domain
29
30
  }
30
31
 
31
32
  @FieldResolver(type => User)
32
33
  async updater(@Root() appliance: Appliance): Promise<User> {
33
- return await getRepository(User).findOne(appliance.updaterId)
34
+ return await getRepository(User).findOneBy({ id: appliance.updaterId })
34
35
  }
35
36
 
36
37
  @FieldResolver(type => User)
37
38
  async creator(@Root() appliance: Appliance): Promise<User> {
38
- return await getRepository(User).findOne(appliance.creatorId)
39
+ return await getRepository(User).findOneBy({ id: appliance.creatorId })
39
40
  }
40
41
  }
@@ -1,5 +1,6 @@
1
1
  import { Arg, Ctx, Mutation, Resolver } from 'type-graphql'
2
- import { getRepository } from 'typeorm'
2
+
3
+ import { getRepository } from '@things-factory/shell'
3
4
 
4
5
  import { User } from '../user/user'
5
6
  import { Application } from './application'
@@ -8,7 +9,7 @@ import { AccessToken, ApplicationPatch, NewApplication } from './application-typ
8
9
  @Resolver(Application)
9
10
  export class ApplicationMutation {
10
11
  @Mutation(returns => Application, { description: 'To create new application' })
11
- async createApplication(@Arg('application') application: NewApplication, @Ctx() context: any) {
12
+ async createApplication(@Arg('application') application: NewApplication, @Ctx() context: ResolverContext) {
12
13
  const { domain } = context.state
13
14
  return await getRepository(Application).save({
14
15
  ...application,
@@ -21,20 +22,20 @@ export class ApplicationMutation {
21
22
  }
22
23
 
23
24
  @Mutation(returns => Boolean, { description: 'To delete application' })
24
- async deleteApplication(@Arg('id') id: string, @Ctx() context: any) {
25
+ async deleteApplication(@Arg('id') id: string, @Ctx() context: ResolverContext) {
25
26
  const { domain } = context.state
26
27
  await getRepository(Application).delete({
27
- id,
28
- domain
28
+ domain: { id: domain.id },
29
+ id
29
30
  })
30
31
  return true
31
32
  }
32
33
 
33
34
  @Mutation(returns => Application)
34
- async generateApplicationSecret(@Arg('id') id: string, @Ctx() context: any) {
35
+ async generateApplicationSecret(@Arg('id') id: string, @Ctx() context: ResolverContext) {
35
36
  const { domain } = context.state
36
37
  const repository = getRepository(Application)
37
- const application = await repository.findOne({ id, domain })
38
+ const application = await repository.findOneBy({ domain: { id: domain.id }, id })
38
39
 
39
40
  return await repository.save({
40
41
  ...application,
@@ -44,10 +45,14 @@ export class ApplicationMutation {
44
45
  }
45
46
 
46
47
  @Mutation(returns => AccessToken)
47
- async renewApplicationAccessToken(@Arg('id') id: string, @Ctx() context: any, @Arg('scope') scope?: string) {
48
+ async renewApplicationAccessToken(
49
+ @Arg('id') id: string,
50
+ @Ctx() context: ResolverContext,
51
+ @Arg('scope') scope?: string
52
+ ) {
48
53
  const { domain } = context.state
49
54
 
50
- var appuser: User = await getRepository(User).findOne({
55
+ var appuser: User = await getRepository(User).findOneBy({
51
56
  id,
52
57
  userType: 'application'
53
58
  })
@@ -57,7 +62,7 @@ export class ApplicationMutation {
57
62
  }
58
63
 
59
64
  const repository = getRepository(Application)
60
- const application = await repository.findOne(appuser.reference)
65
+ const application = await repository.findOneBy({ id: appuser.reference })
61
66
  if (!application) {
62
67
  throw new Error('application not found')
63
68
  }
@@ -77,9 +82,13 @@ export class ApplicationMutation {
77
82
  }
78
83
 
79
84
  @Mutation(returns => Application)
80
- async updateApplication(@Arg('id') id: string, @Arg('patch') patch: ApplicationPatch, @Ctx() context: any) {
85
+ async updateApplication(
86
+ @Arg('id') id: string,
87
+ @Arg('patch') patch: ApplicationPatch,
88
+ @Ctx() context: ResolverContext
89
+ ) {
81
90
  const repository = getRepository(Application)
82
- const application = await repository.findOne(id)
91
+ const application = await repository.findOneBy({ id })
83
92
 
84
93
  return await repository.save({
85
94
  ...application,