@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.
- package/client/actions/auth.ts +23 -0
- package/client/{auth.js → auth.ts} +66 -59
- package/client/{bootstrap.js → bootstrap.ts} +5 -4
- package/client/index.ts +1 -0
- package/client/reducers/{auth.js → auth.ts} +1 -1
- package/dist-client/actions/auth.d.ts +8 -0
- package/dist-client/actions/auth.js +15 -0
- package/dist-client/actions/auth.js.map +1 -0
- package/dist-client/auth.d.ts +34 -0
- package/dist-client/auth.js +209 -0
- package/dist-client/auth.js.map +1 -0
- package/dist-client/bootstrap.d.ts +1 -0
- package/dist-client/bootstrap.js +34 -0
- package/dist-client/bootstrap.js.map +1 -0
- package/dist-client/index.d.ts +1 -0
- package/dist-client/index.js +2 -0
- package/dist-client/index.js.map +1 -0
- package/dist-client/reducers/auth.d.ts +14 -0
- package/dist-client/reducers/auth.js +19 -0
- package/dist-client/reducers/auth.js.map +1 -0
- package/dist-client/tsconfig.tsbuildinfo +1 -0
- package/dist-server/constants/error-code.d.ts +17 -0
- package/dist-server/constants/error-message.d.ts +0 -0
- package/dist-server/constants/max-age.d.ts +1 -0
- package/dist-server/controllers/auth.d.ts +5 -0
- package/dist-server/controllers/auth.js +1 -0
- package/dist-server/controllers/auth.js.map +1 -1
- package/dist-server/controllers/change-pwd.d.ts +1 -0
- package/dist-server/controllers/change-pwd.js +5 -4
- package/dist-server/controllers/change-pwd.js.map +1 -1
- package/dist-server/controllers/checkin.d.ts +4 -0
- package/dist-server/controllers/checkin.js +3 -3
- package/dist-server/controllers/checkin.js.map +1 -1
- package/dist-server/controllers/delete-user.d.ts +3 -0
- package/dist-server/controllers/invitation.d.ts +11 -0
- package/dist-server/controllers/invitation.js +11 -12
- package/dist-server/controllers/invitation.js.map +1 -1
- package/dist-server/controllers/profile.d.ts +26 -0
- package/dist-server/controllers/profile.js +4 -4
- package/dist-server/controllers/profile.js.map +1 -1
- package/dist-server/controllers/reset-password.d.ts +5 -0
- package/dist-server/controllers/reset-password.js +7 -7
- package/dist-server/controllers/reset-password.js.map +1 -1
- package/dist-server/controllers/signin.d.ts +6 -0
- package/dist-server/controllers/signin.js +4 -3
- package/dist-server/controllers/signin.js.map +1 -1
- package/dist-server/controllers/signup.d.ts +8 -0
- package/dist-server/controllers/signup.js +13 -9
- package/dist-server/controllers/signup.js.map +1 -1
- package/dist-server/controllers/unlock-user.d.ts +5 -0
- package/dist-server/controllers/unlock-user.js +6 -6
- package/dist-server/controllers/unlock-user.js.map +1 -1
- package/dist-server/controllers/utils/make-invitation-token.d.ts +1 -0
- package/dist-server/controllers/utils/make-verification-token.d.ts +1 -0
- package/dist-server/controllers/utils/password-rule.d.ts +14 -0
- package/dist-server/controllers/utils/save-invitation-token.d.ts +5 -0
- package/dist-server/controllers/utils/save-invitation-token.js +2 -2
- package/dist-server/controllers/utils/save-invitation-token.js.map +1 -1
- package/dist-server/controllers/utils/save-verification-token.d.ts +6 -0
- package/dist-server/controllers/utils/save-verification-token.js +2 -2
- package/dist-server/controllers/utils/save-verification-token.js.map +1 -1
- package/dist-server/controllers/verification.d.ts +6 -0
- package/dist-server/controllers/verification.js +8 -8
- package/dist-server/controllers/verification.js.map +1 -1
- package/dist-server/errors/auth-error.d.ts +11 -0
- package/dist-server/errors/auth-error.js.map +1 -1
- package/dist-server/errors/index.d.ts +2 -0
- package/dist-server/errors/user-domain-not-match-error.d.ts +9 -0
- package/dist-server/errors/user-domain-not-match-error.js.map +1 -1
- package/dist-server/index.d.ts +13 -0
- package/dist-server/index.js +2 -1
- package/dist-server/index.js.map +1 -1
- package/dist-server/middlewares/authenticate-401-middleware.d.ts +1 -0
- package/dist-server/middlewares/authenticate-401-middleware.js +12 -14
- package/dist-server/middlewares/authenticate-401-middleware.js.map +1 -1
- package/dist-server/middlewares/domain-authenticate-middleware.d.ts +11 -0
- package/dist-server/middlewares/domain-authenticate-middleware.js +7 -4
- package/dist-server/middlewares/domain-authenticate-middleware.js.map +1 -1
- package/dist-server/middlewares/graphql-authenticate-middleware.d.ts +1 -0
- package/dist-server/middlewares/index.d.ts +5 -0
- package/dist-server/middlewares/jwt-authenticate-middleware.d.ts +1 -0
- package/dist-server/middlewares/signin-middleware.d.ts +1 -0
- package/dist-server/migrations/1548206416130-SeedUser.d.ts +5 -0
- package/dist-server/migrations/1548206416130-SeedUser.js +4 -5
- package/dist-server/migrations/1548206416130-SeedUser.js.map +1 -1
- package/dist-server/migrations/1566805283882-SeedPrivilege.d.ts +5 -0
- package/dist-server/migrations/1566805283882-SeedPrivilege.js +2 -2
- package/dist-server/migrations/1566805283882-SeedPrivilege.js.map +1 -1
- package/dist-server/migrations/index.d.ts +1 -0
- package/dist-server/router/auth-checkin-router.d.ts +1 -0
- package/dist-server/router/auth-checkin-router.js.map +1 -1
- package/dist-server/router/auth-private-process-router.d.ts +1 -0
- package/dist-server/router/auth-private-process-router.js +2 -2
- package/dist-server/router/auth-private-process-router.js.map +1 -1
- package/dist-server/router/auth-public-process-router.d.ts +1 -0
- package/dist-server/router/auth-public-process-router.js +2 -3
- package/dist-server/router/auth-public-process-router.js.map +1 -1
- package/dist-server/router/auth-signin-router.d.ts +1 -0
- package/dist-server/router/auth-signup-router.d.ts +1 -0
- package/dist-server/router/auth-signup-router.js +31 -32
- package/dist-server/router/auth-signup-router.js.map +1 -1
- package/dist-server/router/index.d.ts +8 -0
- package/dist-server/router/oauth2/index.d.ts +2 -0
- package/dist-server/router/oauth2/oauth2-authorize-router.d.ts +1 -0
- package/dist-server/router/oauth2/oauth2-authorize-router.js +2 -2
- package/dist-server/router/oauth2/oauth2-authorize-router.js.map +1 -1
- package/dist-server/router/oauth2/oauth2-router.d.ts +9 -0
- package/dist-server/router/oauth2/oauth2-router.js +6 -7
- package/dist-server/router/oauth2/oauth2-router.js.map +1 -1
- package/dist-server/router/oauth2/oauth2-server.d.ts +5 -0
- package/dist-server/router/oauth2/oauth2-server.js +23 -21
- package/dist-server/router/oauth2/oauth2-server.js.map +1 -1
- package/dist-server/router/oauth2/passport-oauth2-client-password.d.ts +7 -0
- package/dist-server/router/oauth2/passport-refresh-token.d.ts +7 -0
- package/dist-server/router/path-base-domain-router.d.ts +1 -0
- package/dist-server/router/site-root-router.d.ts +1 -0
- package/dist-server/routes.d.ts +1 -0
- package/dist-server/service/app-binding/app-binding-mutation.d.ts +3 -0
- package/dist-server/service/app-binding/app-binding-mutation.js +2 -2
- package/dist-server/service/app-binding/app-binding-mutation.js.map +1 -1
- package/dist-server/service/app-binding/app-binding-query.d.ts +14 -0
- package/dist-server/service/app-binding/app-binding-query.js +7 -9
- package/dist-server/service/app-binding/app-binding-query.js.map +1 -1
- package/dist-server/service/app-binding/app-binding-types.d.ts +5 -0
- package/dist-server/service/app-binding/app-binding.d.ts +7 -0
- package/dist-server/service/app-binding/index.d.ts +3 -0
- package/dist-server/service/appliance/appliance-mutation.d.ts +8 -0
- package/dist-server/service/appliance/appliance-mutation.js +13 -12
- package/dist-server/service/appliance/appliance-mutation.js.map +1 -1
- package/dist-server/service/appliance/appliance-query.d.ts +11 -0
- package/dist-server/service/appliance/appliance-query.js +7 -9
- package/dist-server/service/appliance/appliance-query.js.map +1 -1
- package/dist-server/service/appliance/appliance-types.d.ts +22 -0
- package/dist-server/service/appliance/appliance.d.ts +22 -0
- package/dist-server/service/appliance/appliance.js +1 -2
- package/dist-server/service/appliance/appliance.js.map +1 -1
- package/dist-server/service/appliance/index.d.ts +5 -0
- package/dist-server/service/application/application-mutation.d.ts +66 -0
- package/dist-server/service/application/application-mutation.js +13 -13
- package/dist-server/service/application/application-mutation.js.map +1 -1
- package/dist-server/service/application/application-query.d.ts +16 -0
- package/dist-server/service/application/application-query.js +11 -13
- package/dist-server/service/application/application-query.js.map +1 -1
- package/dist-server/service/application/application-types.d.ts +27 -0
- package/dist-server/service/application/application.d.ts +35 -0
- package/dist-server/service/application/application.js +1 -2
- package/dist-server/service/application/application.js.map +1 -1
- package/dist-server/service/application/index.d.ts +5 -0
- package/dist-server/service/domain-generator/domain-generator-mutation.d.ts +6 -0
- package/dist-server/service/domain-generator/domain-generator-mutation.js +7 -7
- package/dist-server/service/domain-generator/domain-generator-mutation.js.map +1 -1
- package/dist-server/service/domain-generator/domain-generator-types.d.ts +19 -0
- package/dist-server/service/domain-generator/domain-generator-types.js +1 -2
- package/dist-server/service/domain-generator/domain-generator-types.js.map +1 -1
- package/dist-server/service/domain-generator/index.d.ts +2 -0
- package/dist-server/service/granted-role/granted-role-mutation.d.ts +11 -0
- package/dist-server/service/granted-role/granted-role-mutation.js +14 -9
- package/dist-server/service/granted-role/granted-role-mutation.js.map +1 -1
- package/dist-server/service/granted-role/granted-role-query.d.ts +16 -0
- package/dist-server/service/granted-role/granted-role-query.js +8 -9
- package/dist-server/service/granted-role/granted-role-query.js.map +1 -1
- package/dist-server/service/granted-role/granted-role.d.ts +9 -0
- package/dist-server/service/granted-role/granted-role.js +1 -2
- package/dist-server/service/granted-role/granted-role.js.map +1 -1
- package/dist-server/service/granted-role/index.d.ts +5 -0
- package/dist-server/service/index.d.ts +31 -0
- package/dist-server/service/invitation/index.d.ts +5 -0
- package/dist-server/service/invitation/invitation-mutation.d.ts +17 -0
- package/dist-server/service/invitation/invitation-mutation.js +9 -9
- package/dist-server/service/invitation/invitation-mutation.js.map +1 -1
- package/dist-server/service/invitation/invitation-query.d.ts +8 -0
- package/dist-server/service/invitation/invitation-query.js +4 -4
- package/dist-server/service/invitation/invitation-query.js.map +1 -1
- package/dist-server/service/invitation/invitation-types.d.ts +5 -0
- package/dist-server/service/invitation/invitation.d.ts +14 -0
- package/dist-server/service/login-history/index.d.ts +4 -0
- package/dist-server/service/login-history/login-history-query.d.ts +8 -0
- package/dist-server/service/login-history/login-history-query.js +9 -11
- package/dist-server/service/login-history/login-history-query.js.map +1 -1
- package/dist-server/service/login-history/login-history.d.ts +12 -0
- package/dist-server/service/login-history/login-history.js +14 -15
- package/dist-server/service/login-history/login-history.js.map +1 -1
- package/dist-server/service/partner/index.d.ts +5 -0
- package/dist-server/service/partner/partner-mutation.d.ts +4 -0
- package/dist-server/service/partner/partner-mutation.js +6 -7
- package/dist-server/service/partner/partner-mutation.js.map +1 -1
- package/dist-server/service/partner/partner-query.d.ts +14 -0
- package/dist-server/service/partner/partner-query.js +11 -13
- package/dist-server/service/partner/partner-query.js.map +1 -1
- package/dist-server/service/partner/partner-types.d.ts +5 -0
- package/dist-server/service/partner/partner.d.ts +15 -0
- package/dist-server/service/partner/partner.js +2 -3
- package/dist-server/service/partner/partner.js.map +1 -1
- package/dist-server/service/password-history/index.d.ts +2 -0
- package/dist-server/service/password-history/password-history.d.ts +4 -0
- package/dist-server/service/privilege/index.d.ts +5 -0
- package/dist-server/service/privilege/privilege-directive.d.ts +3 -0
- package/dist-server/service/privilege/privilege-directive.js +2 -2
- package/dist-server/service/privilege/privilege-directive.js.map +1 -1
- package/dist-server/service/privilege/privilege-mutation.d.ts +7 -0
- package/dist-server/service/privilege/privilege-mutation.js +6 -5
- package/dist-server/service/privilege/privilege-mutation.js.map +1 -1
- package/dist-server/service/privilege/privilege-query.d.ts +13 -0
- package/dist-server/service/privilege/privilege-query.js +7 -8
- package/dist-server/service/privilege/privilege-query.js.map +1 -1
- package/dist-server/service/privilege/privilege-types.d.ts +25 -0
- package/dist-server/service/privilege/privilege.d.ts +15 -0
- package/dist-server/service/role/index.d.ts +5 -0
- package/dist-server/service/role/role-mutation.d.ts +8 -0
- package/dist-server/service/role/role-mutation.js +13 -11
- package/dist-server/service/role/role-mutation.js.map +1 -1
- package/dist-server/service/role/role-query.d.ts +18 -0
- package/dist-server/service/role/role-query.js +13 -13
- package/dist-server/service/role/role-query.js.map +1 -1
- package/dist-server/service/role/role-types.d.ts +33 -0
- package/dist-server/service/role/role.d.ts +18 -0
- package/dist-server/service/role/role.js +1 -2
- package/dist-server/service/role/role.js.map +1 -1
- package/dist-server/service/user/index.d.ts +5 -0
- package/dist-server/service/user/user-mutation.d.ts +28 -0
- package/dist-server/service/user/user-mutation.js +24 -17
- package/dist-server/service/user/user-mutation.js.map +1 -1
- package/dist-server/service/user/user-query.d.ts +16 -0
- package/dist-server/service/user/user-query.js +15 -13
- package/dist-server/service/user/user-query.js.map +1 -1
- package/dist-server/service/user/user-types.d.ts +26 -0
- package/dist-server/service/user/user.d.ts +39 -0
- package/dist-server/service/user/user.js +9 -8
- package/dist-server/service/user/user.js.map +1 -1
- package/dist-server/service/verification-token/index.d.ts +2 -0
- package/dist-server/service/verification-token/verification-token.d.ts +14 -0
- package/dist-server/templates/account-unlock-email.d.ts +4 -0
- package/dist-server/templates/invitation-email.d.ts +4 -0
- package/dist-server/templates/reset-password-email.d.ts +4 -0
- package/dist-server/templates/verification-email.d.ts +4 -0
- package/dist-server/tsconfig.tsbuildinfo +1 -1
- package/dist-server/types.d.ts +17 -0
- package/dist-server/types.js +3 -0
- package/dist-server/types.js.map +1 -0
- package/dist-server/utils/accepts.d.ts +1 -0
- package/dist-server/utils/access-token-cookie.d.ts +3 -0
- package/dist-server/utils/check-user-belongs-domain.d.ts +10 -0
- package/dist-server/utils/check-user-belongs-domain.js +2 -2
- package/dist-server/utils/check-user-belongs-domain.js.map +1 -1
- package/dist-server/utils/get-domain-from-hostname.d.ts +1 -0
- package/dist-server/utils/get-domain-users.d.ts +5 -0
- package/dist-server/utils/get-domain-users.js +2 -3
- package/dist-server/utils/get-domain-users.js.map +1 -1
- package/dist-server/utils/get-secret.d.ts +1 -0
- package/dist-server/utils/get-user-domains.d.ts +5 -0
- package/dist-server/utils/get-user-domains.js +7 -5
- package/dist-server/utils/get-user-domains.js.map +1 -1
- package/package.json +15 -13
- package/server/controllers/auth.ts +1 -0
- package/server/controllers/change-pwd.ts +3 -3
- package/server/controllers/checkin.ts +3 -3
- package/server/controllers/invitation.ts +6 -7
- package/server/controllers/profile.ts +4 -3
- package/server/controllers/reset-password.ts +3 -3
- package/server/controllers/signin.ts +4 -2
- package/server/controllers/signup.ts +13 -8
- package/server/controllers/unlock-user.ts +5 -3
- package/server/controllers/utils/save-invitation-token.ts +2 -1
- package/server/controllers/utils/save-verification-token.ts +2 -1
- package/server/controllers/verification.ts +6 -4
- package/server/errors/auth-error.ts +3 -0
- package/server/errors/user-domain-not-match-error.ts +3 -0
- package/server/index.ts +3 -1
- package/server/middlewares/authenticate-401-middleware.ts +15 -3
- package/server/middlewares/domain-authenticate-middleware.ts +9 -6
- package/server/migrations/1548206416130-SeedUser.ts +3 -3
- package/server/migrations/1566805283882-SeedPrivilege.ts +2 -1
- package/server/router/auth-checkin-router.ts +1 -1
- package/server/router/auth-private-process-router.ts +1 -2
- package/server/router/auth-public-process-router.ts +2 -3
- package/server/router/auth-signup-router.ts +38 -38
- package/server/router/oauth2/oauth2-authorize-router.ts +3 -2
- package/server/router/oauth2/oauth2-router.ts +4 -5
- package/server/router/oauth2/oauth2-server.ts +19 -22
- package/server/service/app-binding/app-binding-mutation.ts +3 -2
- package/server/service/app-binding/app-binding-query.ts +9 -9
- package/server/service/appliance/appliance-mutation.ts +14 -8
- package/server/service/appliance/appliance-query.ts +11 -10
- package/server/service/application/application-mutation.ts +21 -12
- package/server/service/application/application-query.ts +20 -17
- package/server/service/domain-generator/domain-generator-mutation.ts +15 -10
- package/server/service/granted-role/granted-role-mutation.ts +14 -12
- package/server/service/granted-role/granted-role-query.ts +12 -10
- package/server/service/invitation/invitation-mutation.ts +7 -5
- package/server/service/invitation/invitation-query.ts +6 -4
- package/server/service/login-history/login-history-query.ts +13 -11
- package/server/service/login-history/login-history.ts +5 -4
- package/server/service/partner/partner-mutation.ts +10 -9
- package/server/service/partner/partner-query.ts +10 -10
- package/server/service/privilege/privilege-directive.ts +1 -1
- package/server/service/privilege/privilege-mutation.ts +10 -5
- package/server/service/privilege/privilege-query.ts +7 -7
- package/server/service/role/role-mutation.ts +18 -11
- package/server/service/role/role-query.ts +18 -16
- package/server/service/user/user-mutation.ts +39 -34
- package/server/service/user/user-query.ts +29 -21
- package/server/service/user/user.ts +12 -10
- package/server/types.ts +21 -0
- package/server/utils/check-user-belongs-domain.ts +2 -2
- package/server/utils/get-domain-users.ts +4 -2
- package/server/utils/get-user-domains.ts +8 -5
- package/things-factory.config.js +1 -1
- package/translations/en.json +2 -5
- package/translations/ko.json +5 -8
- package/translations/ms.json +2 -5
- package/translations/zh.json +2 -5
- package/client/actions/auth.js +0 -16
- package/client/index.js +0 -2
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
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.
|
|
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 {
|
|
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:
|
|
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).
|
|
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
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
41
|
+
// try {
|
|
42
|
+
const { token } = await signup(
|
|
43
|
+
{
|
|
44
|
+
...user,
|
|
45
|
+
context,
|
|
46
|
+
domain
|
|
47
|
+
},
|
|
48
|
+
true
|
|
49
|
+
)
|
|
50
50
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
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
|
-
|
|
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
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
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
|
-
|
|
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).
|
|
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
|
-
.
|
|
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).
|
|
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 }
|
|
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 {
|
|
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).
|
|
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).
|
|
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).
|
|
106
|
+
const domain: Domain = await getRepository(Domain).findOneBy({
|
|
107
107
|
subdomain
|
|
108
108
|
})
|
|
109
109
|
|
|
110
|
-
const creator: User = await getRepository(User).
|
|
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
|
-
|
|
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).
|
|
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).
|
|
200
|
+
const domain: Domain = await getRepository(Domain).findOneBy({
|
|
202
201
|
subdomain
|
|
203
202
|
})
|
|
204
203
|
|
|
205
|
-
const creator: User = await getRepository(User).
|
|
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
|
-
|
|
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).
|
|
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
|
-
|
|
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:
|
|
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 {
|
|
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:
|
|
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).
|
|
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:
|
|
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).
|
|
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).
|
|
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).
|
|
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).
|
|
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
|
-
|
|
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(
|
|
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:
|
|
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:
|
|
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).
|
|
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:
|
|
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:
|
|
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,
|
|
2
|
-
|
|
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 {
|
|
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:
|
|
12
|
+
async appliance(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<Appliance> {
|
|
12
13
|
const { domain } = context.state
|
|
13
|
-
return await getRepository(Appliance).
|
|
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:
|
|
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:
|
|
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).
|
|
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).
|
|
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
|
-
|
|
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:
|
|
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:
|
|
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
|
-
|
|
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:
|
|
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.
|
|
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(
|
|
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).
|
|
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.
|
|
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(
|
|
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.
|
|
91
|
+
const application = await repository.findOneBy({ id })
|
|
83
92
|
|
|
84
93
|
return await repository.save({
|
|
85
94
|
...application,
|