@things-factory/auth-base 8.0.5 → 9.0.0-beta.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/config/config.development.js +45 -0
- package/config/config.production.js +45 -0
- package/dist-client/bootstrap.d.ts +1 -1
- package/dist-client/bootstrap.js +4 -4
- package/dist-client/bootstrap.js.map +1 -1
- package/dist-client/directive/privileged.d.ts +1 -1
- package/dist-client/directive/privileged.js +1 -1
- package/dist-client/directive/privileged.js.map +1 -1
- package/dist-client/index.d.ts +4 -3
- package/dist-client/index.js +4 -3
- package/dist-client/index.js.map +1 -1
- package/dist-client/profiled.js +1 -1
- package/dist-client/profiled.js.map +1 -1
- package/dist-client/reducers/auth.js +1 -1
- package/dist-client/reducers/auth.js.map +1 -1
- package/dist-client/tsconfig.tsbuildinfo +1 -1
- package/dist-client/verify-webauthn.d.ts +13 -0
- package/dist-client/verify-webauthn.js +72 -0
- package/dist-client/verify-webauthn.js.map +1 -0
- package/dist-server/constants/error-code.d.ts +2 -0
- package/dist-server/constants/error-code.js +3 -1
- package/dist-server/constants/error-code.js.map +1 -1
- package/dist-server/controllers/auth.d.ts +5 -5
- package/dist-server/controllers/auth.js +5 -5
- package/dist-server/controllers/auth.js.map +1 -1
- package/dist-server/controllers/change-pwd.js +21 -21
- package/dist-server/controllers/change-pwd.js.map +1 -1
- package/dist-server/controllers/checkin.js +4 -4
- package/dist-server/controllers/checkin.js.map +1 -1
- package/dist-server/controllers/delete-user.js +22 -21
- package/dist-server/controllers/delete-user.js.map +1 -1
- package/dist-server/controllers/invitation.d.ts +2 -1
- package/dist-server/controllers/invitation.js +46 -21
- package/dist-server/controllers/invitation.js.map +1 -1
- package/dist-server/controllers/profile.d.ts +9 -8
- package/dist-server/controllers/profile.js +26 -8
- package/dist-server/controllers/profile.js.map +1 -1
- package/dist-server/controllers/reset-password.js +24 -24
- package/dist-server/controllers/reset-password.js.map +1 -1
- package/dist-server/controllers/signin.d.ts +5 -2
- package/dist-server/controllers/signin.js +41 -25
- package/dist-server/controllers/signin.js.map +1 -1
- package/dist-server/controllers/signup.d.ts +1 -1
- package/dist-server/controllers/signup.js +26 -17
- package/dist-server/controllers/signup.js.map +1 -1
- package/dist-server/controllers/unlock-user.js +18 -17
- package/dist-server/controllers/unlock-user.js.map +1 -1
- package/dist-server/controllers/utils/password-rule.js +4 -4
- package/dist-server/controllers/utils/password-rule.js.map +1 -1
- package/dist-server/controllers/utils/save-invitation-token.d.ts +1 -1
- 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 +1 -1
- package/dist-server/controllers/utils/save-verification-token.js +3 -3
- package/dist-server/controllers/utils/save-verification-token.js.map +1 -1
- package/dist-server/controllers/verification.js +24 -23
- package/dist-server/controllers/verification.js.map +1 -1
- package/dist-server/errors/auth-error.js +1 -1
- package/dist-server/errors/auth-error.js.map +1 -1
- package/dist-server/errors/index.d.ts +2 -2
- package/dist-server/errors/index.js +2 -2
- package/dist-server/errors/index.js.map +1 -1
- package/dist-server/errors/user-domain-not-match-error.d.ts +1 -1
- package/dist-server/errors/user-domain-not-match-error.js +8 -8
- package/dist-server/errors/user-domain-not-match-error.js.map +1 -1
- package/dist-server/index.d.ts +16 -16
- package/dist-server/index.js +18 -18
- package/dist-server/index.js.map +1 -1
- package/dist-server/middlewares/authenticate-401-middleware.js +11 -11
- package/dist-server/middlewares/authenticate-401-middleware.js.map +1 -1
- package/dist-server/middlewares/domain-authenticate-middleware.d.ts +1 -1
- package/dist-server/middlewares/domain-authenticate-middleware.js +9 -9
- package/dist-server/middlewares/domain-authenticate-middleware.js.map +1 -1
- package/dist-server/middlewares/graphql-authenticate-middleware.js +4 -4
- package/dist-server/middlewares/graphql-authenticate-middleware.js.map +1 -1
- package/dist-server/middlewares/index.d.ts +5 -5
- package/dist-server/middlewares/index.js +18 -18
- package/dist-server/middlewares/index.js.map +1 -1
- package/dist-server/middlewares/jwt-authenticate-middleware.js +15 -15
- package/dist-server/middlewares/jwt-authenticate-middleware.js.map +1 -1
- package/dist-server/middlewares/signin-middleware.js +7 -6
- package/dist-server/middlewares/signin-middleware.js.map +1 -1
- package/dist-server/middlewares/verify-recaptcha-middleware.d.ts +3 -0
- package/dist-server/middlewares/verify-recaptcha-middleware.js +95 -0
- package/dist-server/middlewares/verify-recaptcha-middleware.js.map +1 -0
- package/dist-server/middlewares/webauthn-middleware.js +16 -13
- package/dist-server/middlewares/webauthn-middleware.js.map +1 -1
- package/dist-server/migrations/1548206416130-SeedUser.js +8 -7
- package/dist-server/migrations/1548206416130-SeedUser.js.map +1 -1
- package/dist-server/migrations/1566805283882-SeedPrivilege.js +2 -2
- package/dist-server/migrations/1566805283882-SeedPrivilege.js.map +1 -1
- package/dist-server/migrations/index.js.map +1 -1
- package/dist-server/router/auth-checkin-router.js +18 -12
- package/dist-server/router/auth-checkin-router.js.map +1 -1
- package/dist-server/router/auth-private-process-router.js +26 -21
- package/dist-server/router/auth-private-process-router.js.map +1 -1
- package/dist-server/router/auth-public-process-router.js +42 -31
- package/dist-server/router/auth-public-process-router.js.map +1 -1
- package/dist-server/router/auth-signin-router.js +16 -16
- package/dist-server/router/auth-signin-router.js.map +1 -1
- package/dist-server/router/auth-signup-router.js +13 -9
- package/dist-server/router/auth-signup-router.js.map +1 -1
- package/dist-server/router/index.d.ts +9 -9
- package/dist-server/router/index.js +9 -9
- package/dist-server/router/index.js.map +1 -1
- package/dist-server/router/oauth2/index.d.ts +2 -2
- package/dist-server/router/oauth2/index.js +2 -2
- package/dist-server/router/oauth2/index.js.map +1 -1
- package/dist-server/router/oauth2/oauth2-authorize-router.js +6 -6
- package/dist-server/router/oauth2/oauth2-authorize-router.js.map +1 -1
- package/dist-server/router/oauth2/oauth2-router.d.ts +1 -1
- package/dist-server/router/oauth2/oauth2-router.js +21 -21
- package/dist-server/router/oauth2/oauth2-router.js.map +1 -1
- package/dist-server/router/oauth2/oauth2-server.js +21 -21
- package/dist-server/router/oauth2/oauth2-server.js.map +1 -1
- package/dist-server/router/site-root-router.js +4 -4
- package/dist-server/router/site-root-router.js.map +1 -1
- package/dist-server/router/webauthn-router.js +58 -8
- package/dist-server/router/webauthn-router.js.map +1 -1
- package/dist-server/routes.js +19 -19
- package/dist-server/routes.js.map +1 -1
- package/dist-server/service/app-binding/app-binding-mutation.js +4 -4
- package/dist-server/service/app-binding/app-binding-mutation.js.map +1 -1
- package/dist-server/service/app-binding/app-binding-query.d.ts +4 -4
- package/dist-server/service/app-binding/app-binding-query.js +22 -22
- package/dist-server/service/app-binding/app-binding-query.js.map +1 -1
- package/dist-server/service/app-binding/app-binding-types.d.ts +1 -1
- package/dist-server/service/app-binding/app-binding-types.js +2 -2
- package/dist-server/service/app-binding/app-binding-types.js.map +1 -1
- package/dist-server/service/app-binding/app-binding.d.ts +2 -2
- package/dist-server/service/app-binding/app-binding.js +4 -4
- package/dist-server/service/app-binding/app-binding.js.map +1 -1
- package/dist-server/service/app-binding/index.d.ts +2 -2
- package/dist-server/service/app-binding/index.js +3 -3
- package/dist-server/service/app-binding/index.js.map +1 -1
- package/dist-server/service/appliance/appliance-mutation.d.ts +2 -2
- package/dist-server/service/appliance/appliance-mutation.js +21 -21
- package/dist-server/service/appliance/appliance-mutation.js.map +1 -1
- package/dist-server/service/appliance/appliance-query.d.ts +3 -3
- package/dist-server/service/appliance/appliance-query.js +17 -17
- package/dist-server/service/appliance/appliance-query.js.map +1 -1
- package/dist-server/service/appliance/appliance-types.d.ts +1 -1
- package/dist-server/service/appliance/appliance-types.js +2 -2
- package/dist-server/service/appliance/appliance-types.js.map +1 -1
- package/dist-server/service/appliance/appliance.d.ts +1 -1
- package/dist-server/service/appliance/appliance.js +8 -8
- package/dist-server/service/appliance/appliance.js.map +1 -1
- package/dist-server/service/appliance/index.d.ts +3 -3
- package/dist-server/service/appliance/index.js +5 -5
- package/dist-server/service/appliance/index.js.map +1 -1
- package/dist-server/service/application/application-mutation.d.ts +8 -8
- package/dist-server/service/application/application-mutation.js +20 -20
- package/dist-server/service/application/application-mutation.js.map +1 -1
- package/dist-server/service/application/application-query.d.ts +2 -2
- package/dist-server/service/application/application-query.js +16 -16
- package/dist-server/service/application/application-query.js.map +1 -1
- package/dist-server/service/application/application-types.d.ts +1 -1
- package/dist-server/service/application/application-types.js +4 -4
- package/dist-server/service/application/application-types.js.map +1 -1
- package/dist-server/service/application/application.d.ts +1 -1
- package/dist-server/service/application/application.js +12 -12
- package/dist-server/service/application/application.js.map +1 -1
- package/dist-server/service/application/index.d.ts +3 -3
- package/dist-server/service/application/index.js +5 -5
- package/dist-server/service/application/index.js.map +1 -1
- package/dist-server/service/auth-provider/auth-provider-mutation.d.ts +2 -2
- package/dist-server/service/auth-provider/auth-provider-mutation.js +20 -20
- package/dist-server/service/auth-provider/auth-provider-mutation.js.map +1 -1
- package/dist-server/service/auth-provider/auth-provider-query.d.ts +3 -3
- package/dist-server/service/auth-provider/auth-provider-query.js +20 -20
- package/dist-server/service/auth-provider/auth-provider-query.js.map +1 -1
- package/dist-server/service/auth-provider/auth-provider-type.d.ts +1 -1
- package/dist-server/service/auth-provider/auth-provider-type.js +2 -2
- package/dist-server/service/auth-provider/auth-provider-type.js.map +1 -1
- package/dist-server/service/auth-provider/auth-provider.d.ts +3 -3
- package/dist-server/service/auth-provider/auth-provider.js +12 -12
- package/dist-server/service/auth-provider/auth-provider.js.map +1 -1
- package/dist-server/service/auth-provider/index.d.ts +3 -3
- package/dist-server/service/auth-provider/index.js +5 -5
- package/dist-server/service/auth-provider/index.js.map +1 -1
- package/dist-server/service/domain-generator/domain-generator-mutation.d.ts +1 -1
- package/dist-server/service/domain-generator/domain-generator-mutation.js +11 -11
- package/dist-server/service/domain-generator/domain-generator-mutation.js.map +1 -1
- package/dist-server/service/domain-generator/domain-generator-types.d.ts +1 -1
- package/dist-server/service/domain-generator/domain-generator-types.js +3 -3
- package/dist-server/service/domain-generator/domain-generator-types.js.map +1 -1
- package/dist-server/service/domain-generator/index.d.ts +1 -1
- package/dist-server/service/domain-generator/index.js +2 -2
- package/dist-server/service/domain-generator/index.js.map +1 -1
- package/dist-server/service/granted-role/granted-role-mutation.d.ts +3 -3
- package/dist-server/service/granted-role/granted-role-mutation.js +17 -17
- package/dist-server/service/granted-role/granted-role-mutation.js.map +1 -1
- package/dist-server/service/granted-role/granted-role-query.d.ts +2 -2
- package/dist-server/service/granted-role/granted-role-query.js +13 -13
- package/dist-server/service/granted-role/granted-role-query.js.map +1 -1
- package/dist-server/service/granted-role/granted-role.d.ts +1 -1
- package/dist-server/service/granted-role/granted-role.js +3 -3
- package/dist-server/service/granted-role/granted-role.js.map +1 -1
- package/dist-server/service/granted-role/index.d.ts +3 -3
- package/dist-server/service/granted-role/index.js +5 -5
- package/dist-server/service/granted-role/index.js.map +1 -1
- package/dist-server/service/index.d.ts +25 -25
- package/dist-server/service/index.js +70 -70
- package/dist-server/service/index.js.map +1 -1
- package/dist-server/service/invitation/index.d.ts +3 -3
- package/dist-server/service/invitation/index.js +5 -5
- package/dist-server/service/invitation/index.js.map +1 -1
- package/dist-server/service/invitation/invitation-mutation.d.ts +4 -3
- package/dist-server/service/invitation/invitation-mutation.js +26 -14
- package/dist-server/service/invitation/invitation-mutation.js.map +1 -1
- package/dist-server/service/invitation/invitation-query.d.ts +1 -1
- package/dist-server/service/invitation/invitation-query.js +7 -7
- package/dist-server/service/invitation/invitation-query.js.map +1 -1
- package/dist-server/service/invitation/invitation-types.d.ts +1 -1
- package/dist-server/service/invitation/invitation-types.js +2 -2
- package/dist-server/service/invitation/invitation-types.js.map +1 -1
- package/dist-server/service/invitation/invitation.d.ts +1 -1
- package/dist-server/service/invitation/invitation.js +5 -5
- package/dist-server/service/invitation/invitation.js.map +1 -1
- package/dist-server/service/login-history/index.d.ts +2 -2
- package/dist-server/service/login-history/index.js +4 -4
- package/dist-server/service/login-history/index.js.map +1 -1
- package/dist-server/service/login-history/login-history-query.d.ts +3 -3
- package/dist-server/service/login-history/login-history-query.js +11 -11
- package/dist-server/service/login-history/login-history-query.js.map +1 -1
- package/dist-server/service/login-history/login-history-type.d.ts +1 -1
- package/dist-server/service/login-history/login-history-type.js +2 -2
- package/dist-server/service/login-history/login-history-type.js.map +1 -1
- package/dist-server/service/login-history/login-history.d.ts +1 -1
- package/dist-server/service/login-history/login-history.js +4 -4
- package/dist-server/service/login-history/login-history.js.map +1 -1
- package/dist-server/service/partner/index.d.ts +3 -3
- package/dist-server/service/partner/index.js +5 -5
- package/dist-server/service/partner/index.js.map +1 -1
- package/dist-server/service/partner/partner-mutation.js +8 -8
- package/dist-server/service/partner/partner-mutation.js.map +1 -1
- package/dist-server/service/partner/partner-query.d.ts +3 -3
- package/dist-server/service/partner/partner-query.js +17 -17
- package/dist-server/service/partner/partner-query.js.map +1 -1
- package/dist-server/service/partner/partner-types.d.ts +1 -1
- package/dist-server/service/partner/partner-types.js +2 -2
- package/dist-server/service/partner/partner-types.js.map +1 -1
- package/dist-server/service/partner/partner.d.ts +1 -1
- package/dist-server/service/partner/partner.js +5 -5
- package/dist-server/service/partner/partner.js.map +1 -1
- package/dist-server/service/password-history/index.d.ts +1 -1
- package/dist-server/service/password-history/index.js +2 -2
- package/dist-server/service/password-history/index.js.map +1 -1
- package/dist-server/service/privilege/index.d.ts +3 -3
- package/dist-server/service/privilege/index.js +5 -5
- package/dist-server/service/privilege/index.js.map +1 -1
- 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 +2 -2
- package/dist-server/service/privilege/privilege-mutation.js +15 -15
- package/dist-server/service/privilege/privilege-mutation.js.map +1 -1
- package/dist-server/service/privilege/privilege-query.d.ts +4 -4
- package/dist-server/service/privilege/privilege-query.js +20 -20
- package/dist-server/service/privilege/privilege-query.js.map +1 -1
- package/dist-server/service/privilege/privilege-types.d.ts +1 -1
- package/dist-server/service/privilege/privilege-types.js +2 -2
- package/dist-server/service/privilege/privilege-types.js.map +1 -1
- package/dist-server/service/privilege/privilege.d.ts +2 -2
- package/dist-server/service/privilege/privilege.js +10 -10
- package/dist-server/service/privilege/privilege.js.map +1 -1
- package/dist-server/service/role/index.d.ts +3 -3
- package/dist-server/service/role/index.js +5 -5
- package/dist-server/service/role/index.js.map +1 -1
- package/dist-server/service/role/role-mutation.d.ts +2 -2
- package/dist-server/service/role/role-mutation.js +19 -19
- package/dist-server/service/role/role-mutation.js.map +1 -1
- package/dist-server/service/role/role-query.d.ts +4 -4
- package/dist-server/service/role/role-query.js +29 -29
- package/dist-server/service/role/role-query.js.map +1 -1
- package/dist-server/service/role/role-types.d.ts +1 -1
- package/dist-server/service/role/role-types.js +2 -2
- package/dist-server/service/role/role-types.js.map +1 -1
- package/dist-server/service/role/role.d.ts +2 -2
- package/dist-server/service/role/role.js +12 -12
- package/dist-server/service/role/role.js.map +1 -1
- package/dist-server/service/user/domain-query.d.ts +1 -1
- package/dist-server/service/user/domain-query.js +3 -3
- package/dist-server/service/user/domain-query.js.map +1 -1
- package/dist-server/service/user/index.d.ts +4 -4
- package/dist-server/service/user/index.js +6 -6
- package/dist-server/service/user/index.js.map +1 -1
- package/dist-server/service/user/user-mutation.d.ts +13 -12
- package/dist-server/service/user/user-mutation.js +141 -83
- package/dist-server/service/user/user-mutation.js.map +1 -1
- package/dist-server/service/user/user-query.d.ts +3 -3
- package/dist-server/service/user/user-query.js +21 -21
- package/dist-server/service/user/user-query.js.map +1 -1
- package/dist-server/service/user/user-types.d.ts +2 -1
- package/dist-server/service/user/user-types.js +6 -2
- package/dist-server/service/user/user-types.js.map +1 -1
- package/dist-server/service/user/user.d.ts +4 -3
- package/dist-server/service/user/user.js +80 -54
- package/dist-server/service/user/user.js.map +1 -1
- package/dist-server/service/users-auth-providers/index.d.ts +1 -1
- package/dist-server/service/users-auth-providers/index.js +2 -2
- package/dist-server/service/users-auth-providers/index.js.map +1 -1
- package/dist-server/service/users-auth-providers/users-auth-providers.d.ts +2 -2
- package/dist-server/service/users-auth-providers/users-auth-providers.js +8 -8
- package/dist-server/service/users-auth-providers/users-auth-providers.js.map +1 -1
- package/dist-server/service/verification-token/index.d.ts +1 -1
- package/dist-server/service/verification-token/index.js +2 -2
- package/dist-server/service/verification-token/index.js.map +1 -1
- package/dist-server/service/web-auth-credential/index.d.ts +1 -1
- package/dist-server/service/web-auth-credential/index.js +2 -2
- package/dist-server/service/web-auth-credential/index.js.map +1 -1
- package/dist-server/service/web-auth-credential/web-auth-credential.d.ts +1 -1
- package/dist-server/service/web-auth-credential/web-auth-credential.js +10 -10
- package/dist-server/service/web-auth-credential/web-auth-credential.js.map +1 -1
- package/dist-server/templates/account-unlock-email.d.ts +2 -1
- package/dist-server/templates/account-unlock-email.js +1 -1
- package/dist-server/templates/account-unlock-email.js.map +1 -1
- package/dist-server/templates/invitation-email.d.ts +2 -1
- package/dist-server/templates/invitation-email.js +1 -1
- package/dist-server/templates/invitation-email.js.map +1 -1
- package/dist-server/templates/verification-email.d.ts +2 -1
- package/dist-server/templates/verification-email.js +1 -1
- package/dist-server/templates/verification-email.js.map +1 -1
- package/dist-server/tsconfig.tsbuildinfo +1 -1
- package/dist-server/types.d.ts +1 -1
- package/dist-server/types.js.map +1 -1
- package/dist-server/utils/access-token-cookie.js +2 -2
- package/dist-server/utils/access-token-cookie.js.map +1 -1
- package/dist-server/utils/check-permission.d.ts +2 -2
- package/dist-server/utils/check-permission.js +3 -3
- package/dist-server/utils/check-permission.js.map +1 -1
- package/dist-server/utils/check-user-belongs-domain.d.ts +1 -1
- 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/check-user-has-role.d.ts +1 -1
- package/dist-server/utils/check-user-has-role.js +2 -2
- package/dist-server/utils/check-user-has-role.js.map +1 -1
- package/dist-server/utils/get-domain-users.d.ts +1 -1
- package/dist-server/utils/get-domain-users.js +2 -2
- package/dist-server/utils/get-domain-users.js.map +1 -1
- package/dist-server/utils/get-user-domains.d.ts +1 -1
- package/dist-server/utils/get-user-domains.js +4 -4
- package/dist-server/utils/get-user-domains.js.map +1 -1
- package/helps/config/recaptcha.ja.md +49 -0
- package/helps/config/recaptcha.ko.md +49 -0
- package/helps/config/recaptcha.md +49 -0
- package/helps/config/recaptcha.ms.md +49 -0
- package/helps/config/recaptcha.zh.md +49 -0
- package/package.json +10 -9
- package/translations/en.json +5 -1
- package/translations/ja.json +5 -1
- package/translations/ko.json +6 -3
- package/translations/ms.json +5 -1
- package/translations/zh.json +5 -1
- package/client/actions/auth.ts +0 -24
- package/client/auth.ts +0 -272
- package/client/bootstrap.ts +0 -47
- package/client/directive/privileged.ts +0 -28
- package/client/index.ts +0 -3
- package/client/profiled.ts +0 -83
- package/client/reducers/auth.ts +0 -31
- package/server/constants/error-code.ts +0 -20
- package/server/constants/error-message.ts +0 -0
- package/server/constants/max-age.ts +0 -1
- package/server/controllers/auth.ts +0 -5
- package/server/controllers/change-pwd.ts +0 -99
- package/server/controllers/checkin.ts +0 -21
- package/server/controllers/delete-user.ts +0 -68
- package/server/controllers/invitation.ts +0 -132
- package/server/controllers/profile.ts +0 -28
- package/server/controllers/reset-password.ts +0 -126
- package/server/controllers/signin.ts +0 -79
- package/server/controllers/signup.ts +0 -60
- package/server/controllers/unlock-user.ts +0 -61
- package/server/controllers/utils/make-invitation-token.ts +0 -5
- package/server/controllers/utils/make-verification-token.ts +0 -4
- package/server/controllers/utils/password-rule.ts +0 -120
- package/server/controllers/utils/save-invitation-token.ts +0 -10
- package/server/controllers/utils/save-verification-token.ts +0 -12
- package/server/controllers/verification.ts +0 -83
- package/server/errors/auth-error.ts +0 -24
- package/server/errors/index.ts +0 -2
- package/server/errors/user-domain-not-match-error.ts +0 -29
- package/server/index.ts +0 -37
- package/server/middlewares/authenticate-401-middleware.ts +0 -114
- package/server/middlewares/domain-authenticate-middleware.ts +0 -78
- package/server/middlewares/graphql-authenticate-middleware.ts +0 -13
- package/server/middlewares/index.ts +0 -67
- package/server/middlewares/jwt-authenticate-middleware.ts +0 -84
- package/server/middlewares/signin-middleware.ts +0 -55
- package/server/middlewares/webauthn-middleware.ts +0 -127
- package/server/migrations/1548206416130-SeedUser.ts +0 -59
- package/server/migrations/1566805283882-SeedPrivilege.ts +0 -28
- package/server/migrations/index.ts +0 -9
- package/server/router/auth-checkin-router.ts +0 -107
- package/server/router/auth-private-process-router.ts +0 -107
- package/server/router/auth-public-process-router.ts +0 -302
- package/server/router/auth-signin-router.ts +0 -65
- package/server/router/auth-signup-router.ts +0 -95
- package/server/router/index.ts +0 -9
- package/server/router/oauth2/index.ts +0 -2
- package/server/router/oauth2/oauth2-authorize-router.ts +0 -81
- package/server/router/oauth2/oauth2-router.ts +0 -165
- package/server/router/oauth2/oauth2-server.ts +0 -262
- package/server/router/oauth2/passport-oauth2-client-password.ts +0 -87
- package/server/router/oauth2/passport-refresh-token.ts +0 -87
- package/server/router/path-base-domain-router.ts +0 -8
- package/server/router/site-root-router.ts +0 -48
- package/server/router/webauthn-router.ts +0 -87
- package/server/routes.ts +0 -80
- package/server/service/app-binding/app-binding-mutation.ts +0 -22
- package/server/service/app-binding/app-binding-query.ts +0 -92
- package/server/service/app-binding/app-binding-types.ts +0 -11
- package/server/service/app-binding/app-binding.ts +0 -17
- package/server/service/app-binding/index.ts +0 -4
- package/server/service/appliance/appliance-mutation.ts +0 -113
- package/server/service/appliance/appliance-query.ts +0 -76
- package/server/service/appliance/appliance-types.ts +0 -56
- package/server/service/appliance/appliance.ts +0 -133
- package/server/service/appliance/index.ts +0 -6
- package/server/service/application/application-mutation.ts +0 -104
- package/server/service/application/application-query.ts +0 -98
- package/server/service/application/application-types.ts +0 -76
- package/server/service/application/application.ts +0 -216
- package/server/service/application/index.ts +0 -6
- package/server/service/auth-provider/auth-provider-mutation.ts +0 -159
- package/server/service/auth-provider/auth-provider-parameter-spec.ts +0 -24
- package/server/service/auth-provider/auth-provider-query.ts +0 -88
- package/server/service/auth-provider/auth-provider-type.ts +0 -67
- package/server/service/auth-provider/auth-provider.ts +0 -155
- package/server/service/auth-provider/index.ts +0 -7
- package/server/service/domain-generator/domain-generator-mutation.ts +0 -117
- package/server/service/domain-generator/domain-generator-types.ts +0 -46
- package/server/service/domain-generator/index.ts +0 -3
- package/server/service/granted-role/granted-role-mutation.ts +0 -156
- package/server/service/granted-role/granted-role-query.ts +0 -60
- package/server/service/granted-role/granted-role.ts +0 -27
- package/server/service/granted-role/index.ts +0 -6
- package/server/service/index.ts +0 -90
- package/server/service/invitation/index.ts +0 -6
- package/server/service/invitation/invitation-mutation.ts +0 -63
- package/server/service/invitation/invitation-query.ts +0 -33
- package/server/service/invitation/invitation-types.ts +0 -11
- package/server/service/invitation/invitation.ts +0 -63
- package/server/service/login-history/index.ts +0 -5
- package/server/service/login-history/login-history-query.ts +0 -51
- package/server/service/login-history/login-history-type.ts +0 -12
- package/server/service/login-history/login-history.ts +0 -45
- package/server/service/partner/index.ts +0 -6
- package/server/service/partner/partner-mutation.ts +0 -61
- package/server/service/partner/partner-query.ts +0 -102
- package/server/service/partner/partner-types.ts +0 -11
- package/server/service/partner/partner.ts +0 -57
- package/server/service/password-history/index.ts +0 -3
- package/server/service/password-history/password-history.ts +0 -16
- package/server/service/privilege/index.ts +0 -6
- package/server/service/privilege/privilege-directive.ts +0 -77
- package/server/service/privilege/privilege-mutation.ts +0 -92
- package/server/service/privilege/privilege-query.ts +0 -94
- package/server/service/privilege/privilege-types.ts +0 -60
- package/server/service/privilege/privilege.ts +0 -102
- package/server/service/role/index.ts +0 -6
- package/server/service/role/role-mutation.ts +0 -109
- package/server/service/role/role-query.ts +0 -155
- package/server/service/role/role-types.ts +0 -81
- package/server/service/role/role.ts +0 -72
- package/server/service/user/domain-query.ts +0 -24
- package/server/service/user/index.ts +0 -7
- package/server/service/user/user-mutation.ts +0 -413
- package/server/service/user/user-query.ts +0 -145
- package/server/service/user/user-types.ts +0 -97
- package/server/service/user/user.ts +0 -354
- package/server/service/users-auth-providers/index.ts +0 -5
- package/server/service/users-auth-providers/users-auth-providers.ts +0 -71
- package/server/service/verification-token/index.ts +0 -3
- package/server/service/verification-token/verification-token.ts +0 -60
- package/server/service/web-auth-credential/index.ts +0 -3
- package/server/service/web-auth-credential/web-auth-credential.ts +0 -67
- package/server/templates/account-unlock-email.ts +0 -65
- package/server/templates/invitation-email.ts +0 -66
- package/server/templates/reset-password-email.ts +0 -65
- package/server/templates/verification-email.ts +0 -66
- package/server/types.ts +0 -21
- package/server/utils/accepts.ts +0 -11
- package/server/utils/access-token-cookie.ts +0 -61
- package/server/utils/check-permission.ts +0 -52
- package/server/utils/check-user-belongs-domain.ts +0 -19
- package/server/utils/check-user-has-role.ts +0 -29
- package/server/utils/encrypt-state.ts +0 -22
- package/server/utils/get-aes-256-key.ts +0 -13
- package/server/utils/get-domain-from-hostname.ts +0 -7
- package/server/utils/get-domain-users.ts +0 -38
- package/server/utils/get-secret.ts +0 -13
- package/server/utils/get-user-domains.ts +0 -112
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"webauthn-router.js","sourceRoot":"","sources":["../../server/router/webauthn-router.ts"],"names":[],"mappings":";;;;AAAA,oEAA+B;AAC/B,iDAAqD;AACrD,6CAAgD;AAEhD,
|
1
|
+
{"version":3,"file":"webauthn-router.js","sourceRoot":"","sources":["../../server/router/webauthn-router.ts"],"names":[],"mappings":"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","sourcesContent":["import Router from 'koa-router'\nimport { getRepository } from '@things-factory/shell'\nimport { appPackage } from '@things-factory/env'\n\nimport {\n PublicKeyCredentialCreationOptionsJSON,\n generateRegistrationOptions,\n generateAuthenticationOptions\n} from '@simplewebauthn/server'\n\nimport { WebAuthCredential } from '../service/web-auth-credential/web-auth-credential.js'\nimport { setAccessTokenCookie } from '../utils/access-token-cookie.js'\nimport { createWebAuthnMiddleware } from '../middlewares/webauthn-middleware.js'\n\nexport const webAuthnGlobalPublicRouter = new Router()\nexport const webAuthnGlobalPrivateRouter = new Router()\n\nconst { name: rpName } = appPackage as any\n\n// Generate authentication challenge for the currently logged-in user\nwebAuthnGlobalPrivateRouter.get('/auth/verify-webauthn/challenge', async (context, next) => {\n const { user } = context.state\n const rpID = context.hostname\n\n if (!user) {\n context.status = 401\n context.body = { error: 'User not authenticated' }\n return\n }\n\n const webAuthCredentials = await getRepository(WebAuthCredential).find({\n where: { user: { id: user.id } }\n })\n\n if (webAuthCredentials.length === 0) {\n context.status = 400\n context.body = { error: 'No biometric credentials registered for this user' }\n return\n }\n\n const options = await generateAuthenticationOptions({\n rpID,\n userVerification: 'preferred',\n allowCredentials: webAuthCredentials.map(credential => ({\n id: credential.credentialId,\n type: 'public-key'\n }))\n })\n\n context.session.challenge = options.challenge\n context.body = options\n})\n\n// Verify biometric authentication\nwebAuthnGlobalPrivateRouter.post(\n '/auth/verify-webauthn',\n /* reuse webauthn-login as webauthn-verify strategy */\n createWebAuthnMiddleware('webauthn-login'),\n async (context, next) => {\n const { user } = context.state\n const { request } = context\n const { body: reqBody } = request\n\n if (!user) {\n context.status = 401\n context.body = { verified: false, message: 'User not authenticated' }\n return\n }\n\n context.body = {\n verified: true,\n message: 'Biometric authentication successful'\n }\n\n await next()\n }\n)\n\n// Generate registration challenge for the currently logged-in user\nwebAuthnGlobalPrivateRouter.get('/auth/register-webauthn/challenge', async (context, next) => {\n const { user } = context.state\n const rpID = context.hostname\n\n const webAuthCredentials = await getRepository(WebAuthCredential).find({\n where: {\n user: { id: user.id }\n }\n })\n\n const options: PublicKeyCredentialCreationOptionsJSON = await generateRegistrationOptions({\n rpName,\n rpID,\n userName: user.email,\n userDisplayName: user.name,\n // Don't prompt users for additional information about the authenticator\n // (Recommended for smoother UX)\n attestationType: 'none',\n // Prevent users from re-registering existing authenticators\n excludeCredentials: webAuthCredentials.map(credential => ({\n id: credential.credentialId\n // Optional\n // transports: credential.transports\n })),\n authenticatorSelection: {\n // Defaults\n residentKey: 'preferred',\n userVerification: 'preferred',\n // Optional\n authenticatorAttachment: 'platform'\n }\n })\n\n context.session.challenge = options.challenge\n context.body = options\n})\n\n// Verify registration\nwebAuthnGlobalPrivateRouter.post('/auth/verify-registration', createWebAuthnMiddleware('webauthn-register'))\n\n// Generate sign-in challenge\nwebAuthnGlobalPublicRouter.get('/auth/signin-webauthn/challenge', async (context, next) => {\n const rpID = context.hostname\n\n const options = await generateAuthenticationOptions({\n rpID,\n userVerification: 'preferred'\n })\n\n context.session.challenge = options.challenge\n context.body = options\n})\n\n// Sign in with biometric authentication\nwebAuthnGlobalPublicRouter.post(\n '/auth/signin-webauthn',\n createWebAuthnMiddleware('webauthn-login'),\n async (context, next) => {\n const { domain, user } = context.state\n const { request } = context\n const { body: reqBody } = request\n\n const token = await user.sign({ subdomain: domain?.subdomain })\n setAccessTokenCookie(context, token)\n\n var redirectURL = `/auth/checkin${domain ? '/' + domain.subdomain : ''}?redirect_to=${encodeURIComponent(reqBody.redirectTo || '/')}`\n\n /* Due to the two-step interaction, it will be processed by fetch(...) in the browser, so it cannot be handled with a redirect(3xx) response. Therefore, respond with redirectURL as data. */\n context.body = { redirectURL, verified: true }\n\n await next()\n }\n)\n"]}
|
package/dist-server/routes.js
CHANGED
@@ -1,48 +1,48 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
const env_1 = require("@things-factory/env");
|
4
|
-
const
|
5
|
-
const
|
6
|
-
const
|
4
|
+
const index_js_1 = require("./middlewares/index.js");
|
5
|
+
const index_js_2 = require("./router/index.js");
|
6
|
+
const access_token_cookie_js_1 = require("./utils/access-token-cookie.js");
|
7
7
|
const isPathBaseDomain = !env_1.config.get('subdomain') && !env_1.config.get('useVirtualHostBasedDomain');
|
8
8
|
process.on('bootstrap-module-global-public-route', (app, globalPublicRouter) => {
|
9
|
-
globalPublicRouter.use(
|
10
|
-
globalPublicRouter.use(
|
9
|
+
globalPublicRouter.use(index_js_2.siteRootRouter.routes(), index_js_2.siteRootRouter.allowedMethods());
|
10
|
+
globalPublicRouter.use(index_js_2.authPublicProcessRouter.routes(), index_js_2.authPublicProcessRouter.allowedMethods());
|
11
11
|
/* ssoMiddleware가 정의되어있다면, /auth/sso-signin 패스를 활성화한다. */
|
12
12
|
if (app.ssoMiddlewares.length > 0) {
|
13
|
-
|
13
|
+
index_js_2.authSigninRouter.get('/auth/sso-signin', app.ssoMiddlewares[0], async (context) => {
|
14
14
|
const { user } = context.state;
|
15
15
|
const token = await user.sign();
|
16
|
-
(0,
|
16
|
+
(0, access_token_cookie_js_1.setAccessTokenCookie)(context, token);
|
17
17
|
context.redirect('/auth/checkin');
|
18
18
|
});
|
19
19
|
}
|
20
20
|
});
|
21
21
|
process.on('bootstrap-module-global-private-route', (app, globalPrivateRouter) => {
|
22
|
-
globalPrivateRouter.use(
|
22
|
+
globalPrivateRouter.use(index_js_1.jwtAuthenticateMiddleware);
|
23
23
|
/* globalPrivateRouter based nested-routers */
|
24
|
-
globalPrivateRouter.use(
|
25
|
-
globalPrivateRouter.use(
|
26
|
-
globalPrivateRouter.use(
|
24
|
+
globalPrivateRouter.use(index_js_2.authCheckinRouter.routes(), index_js_2.authCheckinRouter.allowedMethods());
|
25
|
+
globalPrivateRouter.use(index_js_2.authPrivateProcessRouter.routes(), index_js_2.authPrivateProcessRouter.allowedMethods());
|
26
|
+
globalPrivateRouter.use(index_js_2.webAuthnGlobalPrivateRouter.routes(), index_js_2.webAuthnGlobalPrivateRouter.allowedMethods());
|
27
27
|
});
|
28
28
|
process.on('bootstrap-module-domain-public-route', (app, domainPublicRouter) => {
|
29
29
|
/* domainPublicRouter based nested-routers */
|
30
|
-
domainPublicRouter.use(
|
31
|
-
domainPublicRouter.use(
|
32
|
-
domainPublicRouter.use(
|
30
|
+
domainPublicRouter.use(index_js_2.authSigninRouter.routes(), index_js_2.authSigninRouter.allowedMethods());
|
31
|
+
domainPublicRouter.use(index_js_2.authSignupRouter.routes(), index_js_2.authSignupRouter.allowedMethods());
|
32
|
+
domainPublicRouter.use(index_js_2.webAuthnGlobalPublicRouter.routes(), index_js_2.webAuthnGlobalPublicRouter.allowedMethods());
|
33
33
|
/* path '/admin/oauth/...' is deprecated. should use path '/oauth/...' for oauth2 related routing */
|
34
|
-
domainPublicRouter.use('/oauth',
|
34
|
+
domainPublicRouter.use('/oauth', index_js_2.oauth2Router.routes(), index_js_2.oauth2Router.allowedMethods()); // if i use context
|
35
35
|
});
|
36
36
|
process.on('bootstrap-module-domain-private-route', (app, domainPrivateRouter) => {
|
37
|
-
domainPrivateRouter.use(
|
38
|
-
domainPrivateRouter.use(
|
37
|
+
domainPrivateRouter.use(index_js_1.jwtAuthenticateMiddleware);
|
38
|
+
domainPrivateRouter.use(index_js_1.domainAuthenticateMiddleware);
|
39
39
|
/* domainPrivateRouter based nested-routers */
|
40
40
|
if (isPathBaseDomain) {
|
41
41
|
// pathBaseDomainRouter는 history-fallback의 경우에 인증 처리를 하기 위한 라우터이다.
|
42
42
|
// (보통, URL 링크등을 통해서 domain path URL로 바로 요청하는 경우에 해당한다.)
|
43
43
|
// pathBaseDomainRouter는 domain path를 domain-private-router를 사용하는 것을 전제로 한다.
|
44
|
-
domainPrivateRouter.use('/domain/:domain/oauth',
|
45
|
-
domainPrivateRouter.use('/domain',
|
44
|
+
domainPrivateRouter.use('/domain/:domain/oauth', index_js_2.oauth2AuthorizeRouter.routes(), index_js_2.oauth2AuthorizeRouter.allowedMethods());
|
45
|
+
domainPrivateRouter.use('/domain', index_js_2.pathBaseDomainRouter.routes(), index_js_2.pathBaseDomainRouter.allowedMethods());
|
46
46
|
}
|
47
47
|
// Client Routing : path 확장자가 없는 경우는 대부분 client 라우팅에 해당한다.
|
48
48
|
// 즉, browser-history-fallback 으로 index.html을 send 하는 경우에, 사용자 로그인이 필요한 경우에,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"routes.js","sourceRoot":"","sources":["../server/routes.ts"],"names":[],"mappings":";;AAAA,6CAA4C;AAE5C
|
1
|
+
{"version":3,"file":"routes.js","sourceRoot":"","sources":["../server/routes.ts"],"names":[],"mappings":"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","sourcesContent":["import { config } from '@things-factory/env'\n\nimport { domainAuthenticateMiddleware, jwtAuthenticateMiddleware } from './middlewares/index.js'\nimport {\n authCheckinRouter,\n authPrivateProcessRouter,\n authPublicProcessRouter,\n authSigninRouter,\n authSignupRouter,\n oauth2AuthorizeRouter,\n oauth2Router,\n pathBaseDomainRouter,\n siteRootRouter,\n webAuthnGlobalPublicRouter,\n webAuthnGlobalPrivateRouter\n} from './router/index.js'\n\nimport { setAccessTokenCookie } from './utils/access-token-cookie.js'\n\nconst isPathBaseDomain = !config.get('subdomain') && !config.get('useVirtualHostBasedDomain')\n\nprocess.on('bootstrap-module-global-public-route' as any, (app, globalPublicRouter) => {\n globalPublicRouter.use(siteRootRouter.routes(), siteRootRouter.allowedMethods())\n globalPublicRouter.use(authPublicProcessRouter.routes(), authPublicProcessRouter.allowedMethods())\n\n /* ssoMiddleware가 정의되어있다면, /auth/sso-signin 패스를 활성화한다. */\n if (app.ssoMiddlewares.length > 0) {\n authSigninRouter.get('/auth/sso-signin', app.ssoMiddlewares[0], async context => {\n const { user } = context.state\n\n const token = await user.sign()\n setAccessTokenCookie(context, token)\n\n context.redirect('/auth/checkin')\n })\n }\n})\n\nprocess.on('bootstrap-module-global-private-route' as any, (app, globalPrivateRouter) => {\n globalPrivateRouter.use(jwtAuthenticateMiddleware)\n\n /* globalPrivateRouter based nested-routers */\n globalPrivateRouter.use(authCheckinRouter.routes(), authCheckinRouter.allowedMethods())\n globalPrivateRouter.use(authPrivateProcessRouter.routes(), authPrivateProcessRouter.allowedMethods())\n globalPrivateRouter.use(webAuthnGlobalPrivateRouter.routes(), webAuthnGlobalPrivateRouter.allowedMethods())\n})\n\nprocess.on('bootstrap-module-domain-public-route' as any, (app, domainPublicRouter) => {\n /* domainPublicRouter based nested-routers */\n domainPublicRouter.use(authSigninRouter.routes(), authSigninRouter.allowedMethods())\n domainPublicRouter.use(authSignupRouter.routes(), authSignupRouter.allowedMethods())\n domainPublicRouter.use(webAuthnGlobalPublicRouter.routes(), webAuthnGlobalPublicRouter.allowedMethods())\n\n /* path '/admin/oauth/...' is deprecated. should use path '/oauth/...' for oauth2 related routing */\n domainPublicRouter.use('/oauth', oauth2Router.routes(), oauth2Router.allowedMethods()) // if i use context\n})\n\nprocess.on('bootstrap-module-domain-private-route' as any, (app, domainPrivateRouter) => {\n domainPrivateRouter.use(jwtAuthenticateMiddleware)\n domainPrivateRouter.use(domainAuthenticateMiddleware)\n\n /* domainPrivateRouter based nested-routers */\n if (isPathBaseDomain) {\n // pathBaseDomainRouter는 history-fallback의 경우에 인증 처리를 하기 위한 라우터이다.\n // (보통, URL 링크등을 통해서 domain path URL로 바로 요청하는 경우에 해당한다.)\n // pathBaseDomainRouter는 domain path를 domain-private-router를 사용하는 것을 전제로 한다.\n domainPrivateRouter.use(\n '/domain/:domain/oauth',\n oauth2AuthorizeRouter.routes(),\n oauth2AuthorizeRouter.allowedMethods()\n )\n domainPrivateRouter.use('/domain', pathBaseDomainRouter.routes(), pathBaseDomainRouter.allowedMethods())\n }\n\n // Client Routing : path 확장자가 없는 경우는 대부분 client 라우팅에 해당한다.\n // 즉, browser-history-fallback 으로 index.html을 send 하는 경우에, 사용자 로그인이 필요한 경우에,\n // 화면깜박임없이 signin page로 redirect 하고자하는 목적의 설정이다.\n // domain-private 라우트를 통과하고 싶지 않다면, regexp를 조정한다.\n // '(.[^.]+)' 은 '', '/'는 제외하고, '/xxx', '/yyy/zzz' 등 모두를 포함하지만, path에 '.'가 있는 경우는 제외한다.\n // (테스트는 여기서 : http://forbeslindesay.github.io/express-route-tester/)\n domainPrivateRouter.get('(.[^.]+)', async (context, next) => {\n await next()\n })\n})\n"]}
|
@@ -4,14 +4,14 @@ exports.AppBindingMutation = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
5
5
|
const type_graphql_1 = require("type-graphql");
|
6
6
|
const shell_1 = require("@things-factory/shell");
|
7
|
-
const
|
8
|
-
const
|
7
|
+
const user_js_1 = require("../user/user.js");
|
8
|
+
const app_binding_js_1 = require("./app-binding.js");
|
9
9
|
let AppBindingMutation = class AppBindingMutation {
|
10
10
|
async deleteAppBinding(id, context) {
|
11
11
|
const { domain } = context.state;
|
12
12
|
// TODO 이 사용자가 이 도메인에 속한 사용자인지 확인해야함.
|
13
13
|
// TODO 다른 도메인에도 포함되어있다면, domains-users 관게와 해당 도메인 관련 정보만 삭제해야 함.
|
14
|
-
await (0, shell_1.getRepository)(
|
14
|
+
await (0, shell_1.getRepository)(user_js_1.User).delete({
|
15
15
|
id
|
16
16
|
});
|
17
17
|
return true;
|
@@ -27,6 +27,6 @@ tslib_1.__decorate([
|
|
27
27
|
tslib_1.__metadata("design:returntype", Promise)
|
28
28
|
], AppBindingMutation.prototype, "deleteAppBinding", null);
|
29
29
|
exports.AppBindingMutation = AppBindingMutation = tslib_1.__decorate([
|
30
|
-
(0, type_graphql_1.Resolver)(
|
30
|
+
(0, type_graphql_1.Resolver)(app_binding_js_1.AppBinding)
|
31
31
|
], AppBindingMutation);
|
32
32
|
//# sourceMappingURL=app-binding-mutation.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"app-binding-mutation.js","sourceRoot":"","sources":["../../../server/service/app-binding/app-binding-mutation.ts"],"names":[],"mappings":";;;;AAAA,+CAA2D;AAE3D,iDAAqD;AAErD,
|
1
|
+
{"version":3,"file":"app-binding-mutation.js","sourceRoot":"","sources":["../../../server/service/app-binding/app-binding-mutation.ts"],"names":[],"mappings":";;;;AAAA,+CAA2D;AAE3D,iDAAqD;AAErD,6CAAsC;AACtC,qDAA6C;AAGtC,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IAEvB,AAAN,KAAK,CAAC,gBAAgB,CAAY,EAAU,EAAS,OAAwB;QAC3E,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAEhC,qCAAqC;QACrC,iEAAiE;QACjE,MAAM,IAAA,qBAAa,EAAC,cAAI,CAAC,CAAC,MAAM,CAAC;YAC/B,EAAE;SACH,CAAC,CAAA;QAEF,OAAO,IAAI,CAAA;IACb,CAAC;CACF,CAAA;AAbY,gDAAkB;AAEvB;IADL,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC;IACL,mBAAA,IAAA,kBAAG,EAAC,IAAI,CAAC,CAAA;IAAc,mBAAA,IAAA,kBAAG,GAAE,CAAA;;;;0DAUnD;6BAZU,kBAAkB;IAD9B,IAAA,uBAAQ,EAAC,2BAAU,CAAC;GACR,kBAAkB,CAa9B","sourcesContent":["import { Arg, Ctx, Mutation, Resolver } from 'type-graphql'\n\nimport { getRepository } from '@things-factory/shell'\n\nimport { User } from '../user/user.js'\nimport { AppBinding } from './app-binding.js'\n\n@Resolver(AppBinding)\nexport class AppBindingMutation {\n @Mutation(returns => Boolean)\n async deleteAppBinding(@Arg('id') id: string, @Ctx() context: ResolverContext) {\n const { domain } = context.state\n\n // TODO 이 사용자가 이 도메인에 속한 사용자인지 확인해야함.\n // TODO 다른 도메인에도 포함되어있다면, domains-users 관게와 해당 도메인 관련 정보만 삭제해야 함.\n await getRepository(User).delete({\n id\n })\n\n return true\n }\n}\n"]}
|
@@ -1,8 +1,8 @@
|
|
1
1
|
import { ListParam } from '@things-factory/shell';
|
2
|
-
import { Application } from '../application/application';
|
3
|
-
import { User } from '../user/user';
|
4
|
-
import { UserList } from '../user/user-types';
|
5
|
-
import { AppBinding } from './app-binding';
|
2
|
+
import { Application } from '../application/application.js';
|
3
|
+
import { User } from '../user/user.js';
|
4
|
+
import { UserList } from '../user/user-types.js';
|
5
|
+
import { AppBinding } from './app-binding.js';
|
6
6
|
export declare class AppBindingQuery {
|
7
7
|
appBinding(id: string, context: ResolverContext): Promise<User>;
|
8
8
|
appBindings(params: ListParam, context: ResolverContext): Promise<UserList>;
|
@@ -4,16 +4,16 @@ exports.AppBindingQuery = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
5
5
|
const type_graphql_1 = require("type-graphql");
|
6
6
|
const shell_1 = require("@things-factory/shell");
|
7
|
-
const
|
8
|
-
const
|
9
|
-
const
|
10
|
-
const
|
11
|
-
const
|
7
|
+
const get_domain_users_js_1 = require("../../utils/get-domain-users.js");
|
8
|
+
const application_js_1 = require("../application/application.js");
|
9
|
+
const user_js_1 = require("../user/user.js");
|
10
|
+
const app_binding_js_1 = require("./app-binding.js");
|
11
|
+
const app_binding_types_js_1 = require("./app-binding-types.js");
|
12
12
|
let AppBindingQuery = class AppBindingQuery {
|
13
13
|
async appBinding(id, context) {
|
14
14
|
const { domain } = context.state;
|
15
15
|
// TODO should check domain is available
|
16
|
-
return await (0, shell_1.getRepository)(
|
16
|
+
return await (0, shell_1.getRepository)(user_js_1.User).findOneBy({ id, userType: 'application' });
|
17
17
|
}
|
18
18
|
/* TODO optimize query */
|
19
19
|
async appBindings(params, context) {
|
@@ -24,7 +24,7 @@ let AppBindingQuery = class AppBindingQuery {
|
|
24
24
|
// userType: 'application'
|
25
25
|
// } as any
|
26
26
|
const alias = 'USER';
|
27
|
-
const qb = (0,
|
27
|
+
const qb = (0, get_domain_users_js_1.buildDomainUsersQueryBuilder)(domain.id, alias);
|
28
28
|
(0, shell_1.buildQuery)(qb, params, null, { domainRef: false });
|
29
29
|
var [items] = await qb
|
30
30
|
// .leftJoinAndSelect(`${alias}.roles`, 'ROLES')
|
@@ -52,25 +52,25 @@ let AppBindingQuery = class AppBindingQuery {
|
|
52
52
|
return { items, total: items.length };
|
53
53
|
}
|
54
54
|
async application(appBinding) {
|
55
|
-
return await (0, shell_1.getRepository)(
|
55
|
+
return await (0, shell_1.getRepository)(application_js_1.Application).findOneBy({ id: appBinding.reference });
|
56
56
|
}
|
57
57
|
async scope(appBinding) {
|
58
|
-
const u = await (0, shell_1.getRepository)(
|
58
|
+
const u = await (0, shell_1.getRepository)(user_js_1.User).findOne({ where: { reference: appBinding.reference }, relations: ['roles'] });
|
59
59
|
return u.roles.map(role => role.name).join(',');
|
60
60
|
}
|
61
61
|
async refreshToken(appBinding) {
|
62
62
|
return appBinding.password;
|
63
63
|
}
|
64
64
|
async updater(appBinding) {
|
65
|
-
return await (0, shell_1.getRepository)(
|
65
|
+
return await (0, shell_1.getRepository)(user_js_1.User).findOneBy({ id: appBinding.updaterId });
|
66
66
|
}
|
67
67
|
async creator(appBinding) {
|
68
|
-
return await (0, shell_1.getRepository)(
|
68
|
+
return await (0, shell_1.getRepository)(user_js_1.User).findOneBy({ id: appBinding.creatorId });
|
69
69
|
}
|
70
70
|
};
|
71
71
|
exports.AppBindingQuery = AppBindingQuery;
|
72
72
|
tslib_1.__decorate([
|
73
|
-
(0, type_graphql_1.Query)(returns =>
|
73
|
+
(0, type_graphql_1.Query)(returns => app_binding_js_1.AppBinding),
|
74
74
|
tslib_1.__param(0, (0, type_graphql_1.Arg)('id')),
|
75
75
|
tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
|
76
76
|
tslib_1.__metadata("design:type", Function),
|
@@ -78,7 +78,7 @@ tslib_1.__decorate([
|
|
78
78
|
tslib_1.__metadata("design:returntype", Promise)
|
79
79
|
], AppBindingQuery.prototype, "appBinding", null);
|
80
80
|
tslib_1.__decorate([
|
81
|
-
(0, type_graphql_1.Query)(returns =>
|
81
|
+
(0, type_graphql_1.Query)(returns => app_binding_types_js_1.AppBindingList),
|
82
82
|
tslib_1.__param(0, (0, type_graphql_1.Args)(type => shell_1.ListParam)),
|
83
83
|
tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
|
84
84
|
tslib_1.__metadata("design:type", Function),
|
@@ -86,41 +86,41 @@ tslib_1.__decorate([
|
|
86
86
|
tslib_1.__metadata("design:returntype", Promise)
|
87
87
|
], AppBindingQuery.prototype, "appBindings", null);
|
88
88
|
tslib_1.__decorate([
|
89
|
-
(0, type_graphql_1.FieldResolver)(type =>
|
89
|
+
(0, type_graphql_1.FieldResolver)(type => application_js_1.Application),
|
90
90
|
tslib_1.__param(0, (0, type_graphql_1.Root)()),
|
91
91
|
tslib_1.__metadata("design:type", Function),
|
92
|
-
tslib_1.__metadata("design:paramtypes", [
|
92
|
+
tslib_1.__metadata("design:paramtypes", [app_binding_js_1.AppBinding]),
|
93
93
|
tslib_1.__metadata("design:returntype", Promise)
|
94
94
|
], AppBindingQuery.prototype, "application", null);
|
95
95
|
tslib_1.__decorate([
|
96
96
|
(0, type_graphql_1.FieldResolver)(type => String),
|
97
97
|
tslib_1.__param(0, (0, type_graphql_1.Root)()),
|
98
98
|
tslib_1.__metadata("design:type", Function),
|
99
|
-
tslib_1.__metadata("design:paramtypes", [
|
99
|
+
tslib_1.__metadata("design:paramtypes", [app_binding_js_1.AppBinding]),
|
100
100
|
tslib_1.__metadata("design:returntype", Promise)
|
101
101
|
], AppBindingQuery.prototype, "scope", null);
|
102
102
|
tslib_1.__decorate([
|
103
103
|
(0, type_graphql_1.FieldResolver)(type => String),
|
104
104
|
tslib_1.__param(0, (0, type_graphql_1.Root)()),
|
105
105
|
tslib_1.__metadata("design:type", Function),
|
106
|
-
tslib_1.__metadata("design:paramtypes", [
|
106
|
+
tslib_1.__metadata("design:paramtypes", [app_binding_js_1.AppBinding]),
|
107
107
|
tslib_1.__metadata("design:returntype", Promise)
|
108
108
|
], AppBindingQuery.prototype, "refreshToken", null);
|
109
109
|
tslib_1.__decorate([
|
110
|
-
(0, type_graphql_1.FieldResolver)(type =>
|
110
|
+
(0, type_graphql_1.FieldResolver)(type => user_js_1.User),
|
111
111
|
tslib_1.__param(0, (0, type_graphql_1.Root)()),
|
112
112
|
tslib_1.__metadata("design:type", Function),
|
113
|
-
tslib_1.__metadata("design:paramtypes", [
|
113
|
+
tslib_1.__metadata("design:paramtypes", [app_binding_js_1.AppBinding]),
|
114
114
|
tslib_1.__metadata("design:returntype", Promise)
|
115
115
|
], AppBindingQuery.prototype, "updater", null);
|
116
116
|
tslib_1.__decorate([
|
117
|
-
(0, type_graphql_1.FieldResolver)(type =>
|
117
|
+
(0, type_graphql_1.FieldResolver)(type => user_js_1.User),
|
118
118
|
tslib_1.__param(0, (0, type_graphql_1.Root)()),
|
119
119
|
tslib_1.__metadata("design:type", Function),
|
120
|
-
tslib_1.__metadata("design:paramtypes", [
|
120
|
+
tslib_1.__metadata("design:paramtypes", [app_binding_js_1.AppBinding]),
|
121
121
|
tslib_1.__metadata("design:returntype", Promise)
|
122
122
|
], AppBindingQuery.prototype, "creator", null);
|
123
123
|
exports.AppBindingQuery = AppBindingQuery = tslib_1.__decorate([
|
124
|
-
(0, type_graphql_1.Resolver)(
|
124
|
+
(0, type_graphql_1.Resolver)(app_binding_js_1.AppBinding)
|
125
125
|
], AppBindingQuery);
|
126
126
|
//# sourceMappingURL=app-binding-query.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"app-binding-query.js","sourceRoot":"","sources":["../../../server/service/app-binding/app-binding-query.ts"],"names":[],"mappings":";;;;AAAA,+CAAmF;AAGnF,iDAA4E;AAE5E,
|
1
|
+
{"version":3,"file":"app-binding-query.js","sourceRoot":"","sources":["../../../server/service/app-binding/app-binding-query.ts"],"names":[],"mappings":"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","sourcesContent":["import { Arg, Args, Ctx, FieldResolver, Query, Resolver, Root } from 'type-graphql'\nimport { SelectQueryBuilder } from 'typeorm'\n\nimport { buildQuery, getRepository, ListParam } from '@things-factory/shell'\n\nimport { buildDomainUsersQueryBuilder } from '../../utils/get-domain-users.js'\nimport { Application } from '../application/application.js'\nimport { User } from '../user/user.js'\nimport { UserList } from '../user/user-types.js'\nimport { AppBinding } from './app-binding.js'\nimport { AppBindingList } from './app-binding-types.js'\n\n@Resolver(AppBinding)\nexport class AppBindingQuery {\n @Query(returns => AppBinding)\n async appBinding(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<User> {\n const { domain } = context.state\n\n // TODO should check domain is available\n return await getRepository(User).findOneBy({ id, userType: 'application' })\n }\n\n /* TODO optimize query */\n @Query(returns => AppBindingList)\n async appBindings(@Args(type => ListParam) params: ListParam, @Ctx() context: ResolverContext): Promise<UserList> {\n const { domain } = context.state\n\n // const convertedParams = convertListParams(params)\n // convertedParams.where = {\n // ...convertedParams.where,\n // userType: 'application'\n // } as any\n\n const alias: string = 'USER'\n const qb: SelectQueryBuilder<User> = buildDomainUsersQueryBuilder(domain.id, alias)\n buildQuery(qb, params, null, { domainRef: false })\n var [items] = await qb\n // .leftJoinAndSelect(`${alias}.roles`, 'ROLES')\n // .leftJoinAndSelect(`${alias}.creator`, 'CREATOR')\n // .leftJoinAndSelect(`${alias}.updater`, 'UPDATER')\n .getManyAndCount()\n\n items = items.filter((user: User) => user.userType == 'application')\n\n // var boundApps = await Promise.all(\n // items\n // .filter((user: User) => user.userType == 'application')\n // .map(async (user: User) => {\n // const email = user.email\n // const appKey = email.substr(0, email.lastIndexOf('@'))\n // const application = await getRepository(Application).findOneBy({\n // appKey\n // })\n\n // return {\n // ...user,\n // application,\n // scope: user.roles.map(role => role.name).join(','),\n // refreshToken: user.password\n // }\n // })\n // )\n\n return { items, total: items.length }\n }\n\n @FieldResolver(type => Application)\n async application(@Root() appBinding: AppBinding): Promise<Application> {\n return await getRepository(Application).findOneBy({ id: appBinding.reference })\n }\n\n @FieldResolver(type => String)\n async scope(@Root() appBinding: AppBinding): Promise<string> {\n const u = await getRepository(User).findOne({ where: { reference: appBinding.reference }, relations: ['roles'] })\n return u.roles.map(role => role.name).join(',')\n }\n\n @FieldResolver(type => String)\n async refreshToken(@Root() appBinding: AppBinding): Promise<string> {\n return appBinding.password\n }\n\n @FieldResolver(type => User)\n async updater(@Root() appBinding: AppBinding): Promise<User> {\n return await getRepository(User).findOneBy({ id: appBinding.updaterId })\n }\n\n @FieldResolver(type => User)\n async creator(@Root() appBinding: AppBinding): Promise<User> {\n return await getRepository(User).findOneBy({ id: appBinding.creatorId })\n }\n}\n"]}
|
@@ -3,12 +3,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.AppBindingList = void 0;
|
4
4
|
const tslib_1 = require("tslib");
|
5
5
|
const type_graphql_1 = require("type-graphql");
|
6
|
-
const
|
6
|
+
const app_binding_js_1 = require("./app-binding.js");
|
7
7
|
let AppBindingList = class AppBindingList {
|
8
8
|
};
|
9
9
|
exports.AppBindingList = AppBindingList;
|
10
10
|
tslib_1.__decorate([
|
11
|
-
(0, type_graphql_1.Field)(type => [
|
11
|
+
(0, type_graphql_1.Field)(type => [app_binding_js_1.AppBinding], { nullable: true }),
|
12
12
|
tslib_1.__metadata("design:type", Array)
|
13
13
|
], AppBindingList.prototype, "items", void 0);
|
14
14
|
tslib_1.__decorate([
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"app-binding-types.js","sourceRoot":"","sources":["../../../server/service/app-binding/app-binding-types.ts"],"names":[],"mappings":";;;;AAAA,+CAAqD;AACrD
|
1
|
+
{"version":3,"file":"app-binding-types.js","sourceRoot":"","sources":["../../../server/service/app-binding/app-binding-types.ts"],"names":[],"mappings":";;;;AAAA,+CAAqD;AACrD,qDAA6C;AAGtC,IAAM,cAAc,GAApB,MAAM,cAAc;CAM1B,CAAA;AANY,wCAAc;AAEzB;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC,2BAAU,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;6CAC5B;AAGpB;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,kBAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;6CACzB;yBALH,cAAc;IAD1B,IAAA,yBAAU,GAAE;GACA,cAAc,CAM1B","sourcesContent":["import { Field, Int, ObjectType } from 'type-graphql'\nimport { AppBinding } from './app-binding.js'\n\n@ObjectType()\nexport class AppBindingList {\n @Field(type => [AppBinding], { nullable: true })\n items?: [AppBinding]\n\n @Field(type => Int, { nullable: true })\n total?: number\n}\n"]}
|
@@ -1,5 +1,5 @@
|
|
1
|
-
import { Application } from '../application/application';
|
2
|
-
import { User } from '../user/user';
|
1
|
+
import { Application } from '../application/application.js';
|
2
|
+
import { User } from '../user/user.js';
|
3
3
|
export declare class AppBinding extends User {
|
4
4
|
application: Application;
|
5
5
|
scope: string;
|
@@ -3,14 +3,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.AppBinding = void 0;
|
4
4
|
const tslib_1 = require("tslib");
|
5
5
|
const type_graphql_1 = require("type-graphql");
|
6
|
-
const
|
7
|
-
const
|
8
|
-
let AppBinding = class AppBinding extends
|
6
|
+
const application_js_1 = require("../application/application.js");
|
7
|
+
const user_js_1 = require("../user/user.js");
|
8
|
+
let AppBinding = class AppBinding extends user_js_1.User {
|
9
9
|
};
|
10
10
|
exports.AppBinding = AppBinding;
|
11
11
|
tslib_1.__decorate([
|
12
12
|
(0, type_graphql_1.Field)({ nullable: true }),
|
13
|
-
tslib_1.__metadata("design:type",
|
13
|
+
tslib_1.__metadata("design:type", application_js_1.Application)
|
14
14
|
], AppBinding.prototype, "application", void 0);
|
15
15
|
tslib_1.__decorate([
|
16
16
|
(0, type_graphql_1.Field)({ nullable: true }),
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"app-binding.js","sourceRoot":"","sources":["../../../server/service/app-binding/app-binding.ts"],"names":[],"mappings":";;;;AAAA,+CAA2D;
|
1
|
+
{"version":3,"file":"app-binding.js","sourceRoot":"","sources":["../../../server/service/app-binding/app-binding.ts"],"names":[],"mappings":";;;;AAAA,+CAA2D;AAC3D,kEAA2D;AAC3D,6CAAsC;AAG/B,IAAM,UAAU,GAAhB,MAAM,UAAW,SAAQ,cAAI;CAUnC,CAAA;AAVY,gCAAU;AAErB;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;sCACb,4BAAW;+CAAA;AAGxB;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;yCACb;AAIb;IAFC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACzB,IAAA,wBAAS,EAAC,gFAAgF,CAAC;;gDACxE;qBATT,UAAU;IADtB,IAAA,yBAAU,GAAE;GACA,UAAU,CAUtB","sourcesContent":["import { ObjectType, Field, Directive } from 'type-graphql'\nimport { Application } from '../application/application.js'\nimport { User } from '../user/user.js'\n\n@ObjectType()\nexport class AppBinding extends User {\n @Field({ nullable: true })\n application: Application\n\n @Field({ nullable: true })\n scope: string\n\n @Field({ nullable: true })\n @Directive('@privilege(category: \"security\", privilege: \"query\", domainOwnerGranted: true)')\n refreshToken: string\n}\n"]}
|
@@ -1,3 +1,3 @@
|
|
1
|
-
import { AppBindingQuery } from './app-binding-query';
|
2
|
-
import { AppBindingMutation } from './app-binding-mutation';
|
1
|
+
import { AppBindingQuery } from './app-binding-query.js';
|
2
|
+
import { AppBindingMutation } from './app-binding-mutation.js';
|
3
3
|
export declare const resolvers: (typeof AppBindingQuery | typeof AppBindingMutation)[];
|
@@ -1,7 +1,7 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
exports.resolvers = void 0;
|
4
|
-
const
|
5
|
-
const
|
6
|
-
exports.resolvers = [
|
4
|
+
const app_binding_query_js_1 = require("./app-binding-query.js");
|
5
|
+
const app_binding_mutation_js_1 = require("./app-binding-mutation.js");
|
6
|
+
exports.resolvers = [app_binding_query_js_1.AppBindingQuery, app_binding_mutation_js_1.AppBindingMutation];
|
7
7
|
//# sourceMappingURL=index.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../server/service/app-binding/index.ts"],"names":[],"mappings":";;;AAAA,
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../server/service/app-binding/index.ts"],"names":[],"mappings":";;;AAAA,iEAAwD;AACxD,uEAA8D;AAEjD,QAAA,SAAS,GAAG,CAAC,sCAAe,EAAE,4CAAkB,CAAC,CAAA","sourcesContent":["import { AppBindingQuery } from './app-binding-query.js'\nimport { AppBindingMutation } from './app-binding-mutation.js'\n\nexport const resolvers = [AppBindingQuery, AppBindingMutation]\n"]}
|
@@ -1,5 +1,5 @@
|
|
1
|
-
import { Appliance } from './appliance';
|
2
|
-
import { AppliancePatch, NewAppliance } from './appliance-types';
|
1
|
+
import { Appliance } from './appliance.js';
|
2
|
+
import { AppliancePatch, NewAppliance } from './appliance-types.js';
|
3
3
|
export declare class ApplianceMutation {
|
4
4
|
createAppliance(appliance: NewAppliance, context: ResolverContext): Promise<Appliance>;
|
5
5
|
deleteAppliance(id: string, context: ResolverContext): Promise<Boolean>;
|
@@ -4,30 +4,30 @@ exports.ApplianceMutation = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
5
5
|
const type_graphql_1 = require("type-graphql");
|
6
6
|
const shell_1 = require("@things-factory/shell");
|
7
|
-
const
|
8
|
-
const
|
9
|
-
const
|
7
|
+
const user_js_1 = require("../user/user.js");
|
8
|
+
const appliance_js_1 = require("./appliance.js");
|
9
|
+
const appliance_types_js_1 = require("./appliance-types.js");
|
10
10
|
const crypto = require('crypto');
|
11
11
|
let ApplianceMutation = class ApplianceMutation {
|
12
12
|
async createAppliance(appliance, context) {
|
13
|
-
return await (0, shell_1.getRepository)(
|
13
|
+
return await (0, shell_1.getRepository)(appliance_js_1.Appliance).save(Object.assign({ domain: context.state.domain, creator: context.state.user, updater: context.state.user }, appliance));
|
14
14
|
}
|
15
15
|
async deleteAppliance(id, context) {
|
16
16
|
const { domain } = context.state;
|
17
17
|
// TODO 이 사용자가 이 도메인에 속한 사용자인지 확인해야함.
|
18
18
|
// TODO 다른 도메인에도 포함되어있다면, domains-users 관게와 해당 도메인 관련 정보만 삭제해야 함.
|
19
|
-
await (0, shell_1.getRepository)(
|
19
|
+
await (0, shell_1.getRepository)(user_js_1.User).delete({
|
20
20
|
reference: id,
|
21
21
|
userType: 'appliance'
|
22
22
|
});
|
23
|
-
await (0, shell_1.getRepository)(
|
23
|
+
await (0, shell_1.getRepository)(appliance_js_1.Appliance).delete({ domain: { id: domain.id }, id });
|
24
24
|
return true;
|
25
25
|
}
|
26
26
|
async generateApplianceSecret(id, context) {
|
27
27
|
const { domain, user } = context.state;
|
28
|
-
const appliance = await (0, shell_1.getRepository)(
|
28
|
+
const appliance = await (0, shell_1.getRepository)(appliance_js_1.Appliance).findOneBy({ domain: { id: domain.id }, id });
|
29
29
|
const appuserEmail = `${crypto.randomUUID()}@${domain === null || domain === void 0 ? void 0 : domain.subdomain}`;
|
30
|
-
let appuser = await (0, shell_1.getRepository)(
|
30
|
+
let appuser = await (0, shell_1.getRepository)(user_js_1.User).findOne({
|
31
31
|
where: {
|
32
32
|
reference: id,
|
33
33
|
userType: 'appliance'
|
@@ -36,12 +36,12 @@ let ApplianceMutation = class ApplianceMutation {
|
|
36
36
|
});
|
37
37
|
if (!appuser) {
|
38
38
|
/* newly create appuser */
|
39
|
-
appuser = await (0, shell_1.getRepository)(
|
39
|
+
appuser = await (0, shell_1.getRepository)(user_js_1.User).save({
|
40
40
|
email: appuserEmail,
|
41
41
|
name: appliance.name,
|
42
42
|
userType: 'appliance',
|
43
43
|
reference: id,
|
44
|
-
status:
|
44
|
+
status: user_js_1.UserStatus.ACTIVATED,
|
45
45
|
domains: [domain],
|
46
46
|
updater: user,
|
47
47
|
creator: user
|
@@ -50,14 +50,14 @@ let ApplianceMutation = class ApplianceMutation {
|
|
50
50
|
if (!appuser.domains.find(d => d.id === domain.id)) {
|
51
51
|
context.throw(401, 'appliance is not allowed for this domain');
|
52
52
|
}
|
53
|
-
appuser.password =
|
54
|
-
await (0, shell_1.getRepository)(
|
55
|
-
return await (0, shell_1.getRepository)(
|
53
|
+
appuser.password = appliance_js_1.Appliance.generateAccessToken(domain, appuser, appliance);
|
54
|
+
await (0, shell_1.getRepository)(user_js_1.User).save(appuser);
|
55
|
+
return await (0, shell_1.getRepository)(appliance_js_1.Appliance).save(Object.assign(Object.assign({}, appliance), { accessToken: appuser.password, updater: user }));
|
56
56
|
}
|
57
57
|
async updateAppliance(id, patch, context) {
|
58
58
|
const { domain } = context.state;
|
59
|
-
const applianceRepository = (0, shell_1.getRepository)(
|
60
|
-
const userRepository = (0, shell_1.getRepository)(
|
59
|
+
const applianceRepository = (0, shell_1.getRepository)(appliance_js_1.Appliance);
|
60
|
+
const userRepository = (0, shell_1.getRepository)(user_js_1.User);
|
61
61
|
const appliance = await applianceRepository.findOne({ where: { domain: { id: domain.id }, id } });
|
62
62
|
const user = await userRepository.findOne({ where: { reference: id, userType: 'appliance' } });
|
63
63
|
userRepository.save(Object.assign(Object.assign({}, user), { name: (patch === null || patch === void 0 ? void 0 : patch.name) || user.name }));
|
@@ -67,11 +67,11 @@ let ApplianceMutation = class ApplianceMutation {
|
|
67
67
|
exports.ApplianceMutation = ApplianceMutation;
|
68
68
|
tslib_1.__decorate([
|
69
69
|
(0, type_graphql_1.Directive)('@privilege(category: "user", privilege: "mutation", domainOwnerGranted: true)'),
|
70
|
-
(0, type_graphql_1.Mutation)(returns =>
|
70
|
+
(0, type_graphql_1.Mutation)(returns => appliance_js_1.Appliance, { description: 'To create new appliance' }),
|
71
71
|
tslib_1.__param(0, (0, type_graphql_1.Arg)('appliance')),
|
72
72
|
tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
|
73
73
|
tslib_1.__metadata("design:type", Function),
|
74
|
-
tslib_1.__metadata("design:paramtypes", [
|
74
|
+
tslib_1.__metadata("design:paramtypes", [appliance_types_js_1.NewAppliance, Object]),
|
75
75
|
tslib_1.__metadata("design:returntype", Promise)
|
76
76
|
], ApplianceMutation.prototype, "createAppliance", null);
|
77
77
|
tslib_1.__decorate([
|
@@ -85,7 +85,7 @@ tslib_1.__decorate([
|
|
85
85
|
], ApplianceMutation.prototype, "deleteAppliance", null);
|
86
86
|
tslib_1.__decorate([
|
87
87
|
(0, type_graphql_1.Directive)('@privilege(category: "security", privilege: "mutation", domainOwnerGranted: true)'),
|
88
|
-
(0, type_graphql_1.Mutation)(returns =>
|
88
|
+
(0, type_graphql_1.Mutation)(returns => appliance_js_1.Appliance),
|
89
89
|
tslib_1.__param(0, (0, type_graphql_1.Arg)('id')),
|
90
90
|
tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
|
91
91
|
tslib_1.__metadata("design:type", Function),
|
@@ -94,15 +94,15 @@ tslib_1.__decorate([
|
|
94
94
|
], ApplianceMutation.prototype, "generateApplianceSecret", null);
|
95
95
|
tslib_1.__decorate([
|
96
96
|
(0, type_graphql_1.Directive)('@privilege(category: "user", privilege: "mutation", domainOwnerGranted: true)'),
|
97
|
-
(0, type_graphql_1.Mutation)(returns =>
|
97
|
+
(0, type_graphql_1.Mutation)(returns => appliance_js_1.Appliance),
|
98
98
|
tslib_1.__param(0, (0, type_graphql_1.Arg)('id')),
|
99
99
|
tslib_1.__param(1, (0, type_graphql_1.Arg)('patch')),
|
100
100
|
tslib_1.__param(2, (0, type_graphql_1.Ctx)()),
|
101
101
|
tslib_1.__metadata("design:type", Function),
|
102
|
-
tslib_1.__metadata("design:paramtypes", [String,
|
102
|
+
tslib_1.__metadata("design:paramtypes", [String, appliance_types_js_1.AppliancePatch, Object]),
|
103
103
|
tslib_1.__metadata("design:returntype", Promise)
|
104
104
|
], ApplianceMutation.prototype, "updateAppliance", null);
|
105
105
|
exports.ApplianceMutation = ApplianceMutation = tslib_1.__decorate([
|
106
|
-
(0, type_graphql_1.Resolver)(
|
106
|
+
(0, type_graphql_1.Resolver)(appliance_js_1.Appliance)
|
107
107
|
], ApplianceMutation);
|
108
108
|
//# sourceMappingURL=appliance-mutation.js.map
|