@contember/engine-tenant-api 1.3.0-alpha.7 → 1.3.0-beta.1
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/dist/src/TenantContainer.d.ts +17 -3
- package/dist/src/TenantContainer.d.ts.map +1 -1
- package/dist/src/TenantContainer.js +7 -0
- package/dist/src/TenantContainer.js.map +1 -1
- package/dist/src/bridges/system/IdentityFetcher.d.ts +1 -1
- package/dist/src/bridges/system/IdentityFetcher.d.ts.map +1 -1
- package/dist/src/migrations/2023-01-20-135500-person-email-normalize.d.ts +3 -0
- package/dist/src/migrations/2023-01-20-135500-person-email-normalize.d.ts.map +1 -0
- package/dist/src/migrations/2023-01-20-135500-person-email-normalize.js +28 -0
- package/dist/src/migrations/2023-01-20-135500-person-email-normalize.js.map +1 -0
- package/dist/src/migrations/2023-06-03-104000-person-disabled.d.ts +3 -0
- package/dist/src/migrations/2023-06-03-104000-person-disabled.d.ts.map +1 -0
- package/dist/src/migrations/2023-06-03-104000-person-disabled.js +11 -0
- package/dist/src/migrations/2023-06-03-104000-person-disabled.js.map +1 -0
- package/dist/src/migrations/runner.d.ts.map +1 -1
- package/dist/src/migrations/runner.js +4 -0
- package/dist/src/migrations/runner.js.map +1 -1
- package/dist/src/migrations/snapshot.d.ts.map +1 -1
- package/dist/src/migrations/snapshot.js +1 -0
- package/dist/src/migrations/snapshot.js.map +1 -1
- package/dist/src/model/authorization/AclSchemaAccessNodeFactory.d.ts.map +1 -1
- package/dist/src/model/authorization/AclSchemaAccessNodeFactory.js +14 -9
- package/dist/src/model/authorization/AclSchemaAccessNodeFactory.js.map +1 -1
- package/dist/src/model/authorization/MembershipMatcher.d.ts +1 -1
- package/dist/src/model/authorization/MembershipMatcher.d.ts.map +1 -1
- package/dist/src/model/authorization/PermissionActions.d.ts +21 -0
- package/dist/src/model/authorization/PermissionActions.d.ts.map +1 -1
- package/dist/src/model/authorization/PermissionActions.js +4 -2
- package/dist/src/model/authorization/PermissionActions.js.map +1 -1
- package/dist/src/model/authorization/PermissionContext.d.ts +1 -1
- package/dist/src/model/authorization/PermissionContext.d.ts.map +1 -1
- package/dist/src/model/authorization/PermissionsFactory.d.ts.map +1 -1
- package/dist/src/model/authorization/PermissionsFactory.js +6 -3
- package/dist/src/model/authorization/PermissionsFactory.js.map +1 -1
- package/dist/src/model/authorization/Roles.js +1 -1
- package/dist/src/model/authorization/Roles.js.map +1 -1
- package/dist/src/model/commands/apiKey/CreateApiKeyCommand.d.ts +1 -1
- package/dist/src/model/commands/apiKey/CreateApiKeyCommand.d.ts.map +1 -1
- package/dist/src/model/commands/identity/PatchIdentityGlobalRoles.d.ts +9 -0
- package/dist/src/model/commands/identity/PatchIdentityGlobalRoles.d.ts.map +1 -0
- package/dist/src/model/commands/identity/PatchIdentityGlobalRoles.js +29 -0
- package/dist/src/model/commands/identity/PatchIdentityGlobalRoles.js.map +1 -0
- package/dist/src/model/commands/identity/index.d.ts +1 -0
- package/dist/src/model/commands/identity/index.d.ts.map +1 -1
- package/dist/src/model/commands/identity/index.js +1 -0
- package/dist/src/model/commands/identity/index.js.map +1 -1
- package/dist/src/model/commands/idp/UpdateIdpCommand.d.ts +1 -1
- package/dist/src/model/commands/idp/UpdateIdpCommand.d.ts.map +1 -1
- package/dist/src/model/commands/membership/AddProjectMemberCommand.d.ts +2 -6
- package/dist/src/model/commands/membership/AddProjectMemberCommand.d.ts.map +1 -1
- package/dist/src/model/commands/membership/AddProjectMemberCommand.js +5 -11
- package/dist/src/model/commands/membership/AddProjectMemberCommand.js.map +1 -1
- package/dist/src/model/commands/membership/RemoveProjectMemberCommand.d.ts +1 -1
- package/dist/src/model/commands/membership/RemoveProjectMemberCommand.d.ts.map +1 -1
- package/dist/src/model/commands/membership/RemoveProjectMemberCommand.js +1 -2
- package/dist/src/model/commands/membership/RemoveProjectMemberCommand.js.map +1 -1
- package/dist/src/model/commands/membership/UpdateProjectMemberCommand.d.ts +1 -1
- package/dist/src/model/commands/membership/UpdateProjectMemberCommand.d.ts.map +1 -1
- package/dist/src/model/commands/membership/UpdateProjectMemberCommand.js +2 -3
- package/dist/src/model/commands/membership/UpdateProjectMemberCommand.js.map +1 -1
- package/dist/src/model/commands/membership/types.d.ts +3 -3
- package/dist/src/model/commands/membership/types.d.ts.map +1 -1
- package/dist/src/model/commands/passwordReset/ResetPasswordCommand.d.ts +2 -6
- package/dist/src/model/commands/passwordReset/ResetPasswordCommand.d.ts.map +1 -1
- package/dist/src/model/commands/passwordReset/ResetPasswordCommand.js +5 -11
- package/dist/src/model/commands/passwordReset/ResetPasswordCommand.js.map +1 -1
- package/dist/src/model/commands/person/CreatePersonCommand.d.ts.map +1 -1
- package/dist/src/model/commands/person/CreatePersonCommand.js +10 -5
- package/dist/src/model/commands/person/CreatePersonCommand.js.map +1 -1
- package/dist/src/model/commands/person/DisablePersonCommand.d.ts +7 -0
- package/dist/src/model/commands/person/DisablePersonCommand.d.ts.map +1 -0
- package/dist/src/model/commands/person/DisablePersonCommand.js +22 -0
- package/dist/src/model/commands/person/DisablePersonCommand.js.map +1 -0
- package/dist/src/model/dtos/Password.d.ts +1 -1
- package/dist/src/model/dtos/Password.d.ts.map +1 -1
- package/dist/src/model/mailing/type.js +1 -1
- package/dist/src/model/mailing/type.js.map +1 -1
- package/dist/src/model/queries/apiKey/ApiKeyQuery.d.ts +23 -0
- package/dist/src/model/queries/apiKey/ApiKeyQuery.d.ts.map +1 -0
- package/dist/src/model/queries/apiKey/ApiKeyQuery.js +45 -0
- package/dist/src/model/queries/apiKey/ApiKeyQuery.js.map +1 -0
- package/dist/src/model/queries/apiKey/index.d.ts +1 -1
- package/dist/src/model/queries/apiKey/index.d.ts.map +1 -1
- package/dist/src/model/queries/apiKey/index.js +1 -1
- package/dist/src/model/queries/apiKey/index.js.map +1 -1
- package/dist/src/model/queries/idp/types.d.ts +4 -4
- package/dist/src/model/queries/idp/types.d.ts.map +1 -1
- package/dist/src/model/queries/membership/ProjectMembersQuery.d.ts +1 -1
- package/dist/src/model/queries/membership/ProjectMembersQuery.d.ts.map +1 -1
- package/dist/src/model/queries/membership/ProjectMembersQuery.js +3 -4
- package/dist/src/model/queries/membership/ProjectMembersQuery.js.map +1 -1
- package/dist/src/model/queries/person/PersonQuery.d.ts +4 -3
- package/dist/src/model/queries/person/PersonQuery.d.ts.map +1 -1
- package/dist/src/model/queries/person/PersonQuery.js +22 -0
- package/dist/src/model/queries/person/PersonQuery.js.map +1 -1
- package/dist/src/model/queries/person/PersonQueryBuilderFactory.d.ts.map +1 -1
- package/dist/src/model/queries/person/PersonQueryBuilderFactory.js +1 -0
- package/dist/src/model/queries/person/PersonQueryBuilderFactory.js.map +1 -1
- package/dist/src/model/queries/person/types.d.ts +4 -3
- package/dist/src/model/queries/person/types.d.ts.map +1 -1
- package/dist/src/model/queries/project/ProjectSecretsQuery.d.ts +1 -1
- package/dist/src/model/queries/project/ProjectSecretsQuery.d.ts.map +1 -1
- package/dist/src/model/service/IDPSignInManager.d.ts.map +1 -1
- package/dist/src/model/service/IDPSignInManager.js +8 -6
- package/dist/src/model/service/IDPSignInManager.js.map +1 -1
- package/dist/src/model/service/InviteManager.d.ts +1 -1
- package/dist/src/model/service/InviteManager.d.ts.map +1 -1
- package/dist/src/model/service/InviteManager.js +2 -3
- package/dist/src/model/service/InviteManager.js.map +1 -1
- package/dist/src/model/service/OtpAuthenticator.d.ts +1 -1
- package/dist/src/model/service/OtpAuthenticator.d.ts.map +1 -1
- package/dist/src/model/service/PasswordChangeManager.js +4 -5
- package/dist/src/model/service/PasswordChangeManager.js.map +1 -1
- package/dist/src/model/service/PasswordResetManager.d.ts +2 -4
- package/dist/src/model/service/PasswordResetManager.d.ts.map +1 -1
- package/dist/src/model/service/PasswordResetManager.js +2 -6
- package/dist/src/model/service/PasswordResetManager.js.map +1 -1
- package/dist/src/model/service/PersonAccessManager.d.ts +14 -0
- package/dist/src/model/service/PersonAccessManager.d.ts.map +1 -0
- package/dist/src/model/service/PersonAccessManager.js +42 -0
- package/dist/src/model/service/PersonAccessManager.js.map +1 -0
- package/dist/src/model/service/PersonManager.d.ts +7 -0
- package/dist/src/model/service/PersonManager.d.ts.map +1 -0
- package/dist/src/model/service/PersonManager.js +11 -0
- package/dist/src/model/service/PersonManager.js.map +1 -0
- package/dist/src/model/service/ProjectManager.d.ts +1 -1
- package/dist/src/model/service/ProjectManager.d.ts.map +1 -1
- package/dist/src/model/service/ProjectManager.js +2 -3
- package/dist/src/model/service/ProjectManager.js.map +1 -1
- package/dist/src/model/service/ProjectMemberManager.d.ts +2 -2
- package/dist/src/model/service/ProjectMemberManager.d.ts.map +1 -1
- package/dist/src/model/service/ProjectMemberManager.js +3 -16
- package/dist/src/model/service/ProjectMemberManager.js.map +1 -1
- package/dist/src/model/service/RolesManager.d.ts +11 -0
- package/dist/src/model/service/RolesManager.d.ts.map +1 -0
- package/dist/src/model/service/RolesManager.js +35 -0
- package/dist/src/model/service/RolesManager.js.map +1 -0
- package/dist/src/model/service/SignInManager.d.ts +2 -2
- package/dist/src/model/service/SignInManager.d.ts.map +1 -1
- package/dist/src/model/service/SignInManager.js +13 -8
- package/dist/src/model/service/SignInManager.js.map +1 -1
- package/dist/src/model/service/SignUpManager.d.ts +2 -2
- package/dist/src/model/service/SignUpManager.d.ts.map +1 -1
- package/dist/src/model/service/SignUpManager.js +2 -3
- package/dist/src/model/service/SignUpManager.js.map +1 -1
- package/dist/src/model/service/apiKey/ApiKeyManager.d.ts +3 -1
- package/dist/src/model/service/apiKey/ApiKeyManager.d.ts.map +1 -1
- package/dist/src/model/service/apiKey/ApiKeyManager.js +4 -1
- package/dist/src/model/service/apiKey/ApiKeyManager.js.map +1 -1
- package/dist/src/model/service/apiKey/ApiKeyService.d.ts +1 -1
- package/dist/src/model/service/apiKey/ApiKeyService.d.ts.map +1 -1
- package/dist/src/model/service/idp/IDPManager.d.ts +4 -4
- package/dist/src/model/service/idp/IDPManager.d.ts.map +1 -1
- package/dist/src/model/service/idp/IDPManager.js +7 -8
- package/dist/src/model/service/idp/IDPManager.js.map +1 -1
- package/dist/src/model/service/idp/providers/AppleProvider.d.ts +1 -1
- package/dist/src/model/service/idp/providers/AppleProvider.d.ts.map +1 -1
- package/dist/src/model/service/idp/providers/FacebookProvider.d.ts +1 -1
- package/dist/src/model/service/idp/providers/FacebookProvider.d.ts.map +1 -1
- package/dist/src/model/service/idp/providers/OIDCTypes.d.ts +3 -3
- package/dist/src/model/service/idp/providers/OIDCTypes.d.ts.map +1 -1
- package/dist/src/model/service/index.d.ts +2 -0
- package/dist/src/model/service/index.d.ts.map +1 -1
- package/dist/src/model/service/index.js +2 -0
- package/dist/src/model/service/index.js.map +1 -1
- package/dist/src/model/type/Variables.d.ts +1 -1
- package/dist/src/model/type/Variables.d.ts.map +1 -1
- package/dist/src/model/utils/Response.d.ts +2 -2
- package/dist/src/model/utils/Response.d.ts.map +1 -1
- package/dist/src/model/utils/email.d.ts +2 -0
- package/dist/src/model/utils/email.d.ts.map +1 -0
- package/dist/src/model/utils/email.js +8 -0
- package/dist/src/model/utils/email.js.map +1 -0
- package/dist/src/model/utils/tokenUtils.d.ts +1 -1
- package/dist/src/model/utils/tokenUtils.d.ts.map +1 -1
- package/dist/src/model/utils/typeUtils.d.ts +1 -1
- package/dist/src/model/utils/typeUtils.d.ts.map +1 -1
- package/dist/src/resolvers/ResolverFactory.d.ts +4 -1
- package/dist/src/resolvers/ResolverFactory.d.ts.map +1 -1
- package/dist/src/resolvers/ResolverFactory.js +3 -0
- package/dist/src/resolvers/ResolverFactory.js.map +1 -1
- package/dist/src/resolvers/errorUtils.d.ts +3 -3
- package/dist/src/resolvers/errorUtils.d.ts.map +1 -1
- package/dist/src/resolvers/errorUtils.js.map +1 -1
- package/dist/src/resolvers/membershipUtils.d.ts +4 -9
- package/dist/src/resolvers/membershipUtils.d.ts.map +1 -1
- package/dist/src/resolvers/membershipUtils.js +10 -18
- package/dist/src/resolvers/membershipUtils.js.map +1 -1
- package/dist/src/resolvers/mutation/apiKey/CreateApiKeyMutationResolver.js +1 -2
- package/dist/src/resolvers/mutation/apiKey/CreateApiKeyMutationResolver.js.map +1 -1
- package/dist/src/resolvers/mutation/apiKey/DisableApiKeyMutationResolver.js +1 -2
- package/dist/src/resolvers/mutation/apiKey/DisableApiKeyMutationResolver.js.map +1 -1
- package/dist/src/resolvers/mutation/identity/GlobalRolesMutationResolver.d.ts +11 -0
- package/dist/src/resolvers/mutation/identity/GlobalRolesMutationResolver.d.ts.map +1 -0
- package/dist/src/resolvers/mutation/identity/GlobalRolesMutationResolver.js +44 -0
- package/dist/src/resolvers/mutation/identity/GlobalRolesMutationResolver.js.map +1 -0
- package/dist/src/resolvers/mutation/identity/index.d.ts +2 -0
- package/dist/src/resolvers/mutation/identity/index.d.ts.map +1 -0
- package/dist/src/resolvers/mutation/identity/index.js +18 -0
- package/dist/src/resolvers/mutation/identity/index.js.map +1 -0
- package/dist/src/resolvers/mutation/index.d.ts +1 -0
- package/dist/src/resolvers/mutation/index.d.ts.map +1 -1
- package/dist/src/resolvers/mutation/index.js +1 -0
- package/dist/src/resolvers/mutation/index.js.map +1 -1
- package/dist/src/resolvers/mutation/mailTemplates/MailTemplateMutationResolver.js +6 -7
- package/dist/src/resolvers/mutation/mailTemplates/MailTemplateMutationResolver.js.map +1 -1
- package/dist/src/resolvers/mutation/person/ChangePasswordMutationResolver.js +2 -3
- package/dist/src/resolvers/mutation/person/ChangePasswordMutationResolver.js.map +1 -1
- package/dist/src/resolvers/mutation/person/DisablePersonMutationResolver.d.ts +11 -0
- package/dist/src/resolvers/mutation/person/DisablePersonMutationResolver.d.ts.map +1 -0
- package/dist/src/resolvers/mutation/person/DisablePersonMutationResolver.js +36 -0
- package/dist/src/resolvers/mutation/person/DisablePersonMutationResolver.js.map +1 -0
- package/dist/src/resolvers/mutation/person/InviteMutationResolver.d.ts.map +1 -1
- package/dist/src/resolvers/mutation/person/InviteMutationResolver.js +3 -4
- package/dist/src/resolvers/mutation/person/InviteMutationResolver.js.map +1 -1
- package/dist/src/resolvers/mutation/person/OtpMutationResolver.d.ts.map +1 -1
- package/dist/src/resolvers/mutation/person/OtpMutationResolver.js +3 -4
- package/dist/src/resolvers/mutation/person/OtpMutationResolver.js.map +1 -1
- package/dist/src/resolvers/mutation/person/ResetPasswordMutationResolver.d.ts.map +1 -1
- package/dist/src/resolvers/mutation/person/ResetPasswordMutationResolver.js +2 -10
- package/dist/src/resolvers/mutation/person/ResetPasswordMutationResolver.js.map +1 -1
- package/dist/src/resolvers/mutation/person/SignInMutationResolver.d.ts.map +1 -1
- package/dist/src/resolvers/mutation/person/SignInMutationResolver.js.map +1 -1
- package/dist/src/resolvers/mutation/person/SignOutMutationResolver.d.ts.map +1 -1
- package/dist/src/resolvers/mutation/person/SignOutMutationResolver.js +5 -2
- package/dist/src/resolvers/mutation/person/SignOutMutationResolver.js.map +1 -1
- package/dist/src/resolvers/mutation/project/CreateProjectMutationResolver.d.ts.map +1 -1
- package/dist/src/resolvers/mutation/project/CreateProjectMutationResolver.js +1 -2
- package/dist/src/resolvers/mutation/project/CreateProjectMutationResolver.js.map +1 -1
- package/dist/src/resolvers/mutation/project/SetProjectSecretMutationResolver.js +1 -2
- package/dist/src/resolvers/mutation/project/SetProjectSecretMutationResolver.js.map +1 -1
- package/dist/src/resolvers/mutation/project/UpdateProjectMutationResolver.d.ts.map +1 -1
- package/dist/src/resolvers/mutation/project/UpdateProjectMutationResolver.js +1 -2
- package/dist/src/resolvers/mutation/project/UpdateProjectMutationResolver.js.map +1 -1
- package/dist/src/resolvers/mutation/projectMember/AddProjectMemberMutationResolver.js +1 -2
- package/dist/src/resolvers/mutation/projectMember/AddProjectMemberMutationResolver.js.map +1 -1
- package/dist/src/resolvers/mutation/projectMember/RemoveProjectMemberMutationResolver.js +1 -2
- package/dist/src/resolvers/mutation/projectMember/RemoveProjectMemberMutationResolver.js.map +1 -1
- package/dist/src/resolvers/mutation/projectMember/UpdateProjectMemberMutationResolver.js +1 -2
- package/dist/src/resolvers/mutation/projectMember/UpdateProjectMemberMutationResolver.js.map +1 -1
- package/dist/src/resolvers/types/ProjectTypeResolver.d.ts.map +1 -1
- package/dist/src/resolvers/types/ProjectTypeResolver.js +5 -6
- package/dist/src/resolvers/types/ProjectTypeResolver.js.map +1 -1
- package/dist/src/schema/index.d.ts +431 -397
- package/dist/src/schema/index.d.ts.map +1 -1
- package/dist/src/schema/index.js +0 -188
- package/dist/src/schema/index.js.map +1 -1
- package/dist/src/schema/tenant.graphql.d.ts.map +1 -1
- package/dist/src/schema/tenant.graphql.js +97 -21
- package/dist/src/schema/tenant.graphql.js.map +1 -1
- package/dist/src/tsconfig.tsbuildinfo +1 -1
- package/dist/src/utils/Mailer.d.ts +1 -1
- package/dist/src/utils/Mailer.d.ts.map +1 -1
- package/dist/src/utils/array.d.ts +1 -1
- package/dist/src/utils/array.d.ts.map +1 -1
- package/dist/src/utils/batchQuery.d.ts +2 -2
- package/dist/src/utils/batchQuery.d.ts.map +1 -1
- package/dist/tests/cases/integration/db/updateRoles.test.d.ts +2 -0
- package/dist/tests/cases/integration/db/updateRoles.test.d.ts.map +1 -0
- package/dist/tests/cases/integration/db/updateRoles.test.js +67 -0
- package/dist/tests/cases/integration/db/updateRoles.test.js.map +1 -0
- package/dist/tests/cases/integration/mocked/confirmOtpMutation.test.js +1 -2
- package/dist/tests/cases/integration/mocked/confirmOtpMutation.test.js.map +1 -1
- package/dist/tests/cases/integration/mocked/gql/signUp.d.ts.map +1 -1
- package/dist/tests/cases/integration/mocked/gql/signUp.js +4 -0
- package/dist/tests/cases/integration/mocked/gql/signUp.js.map +1 -1
- package/dist/tests/cases/integration/mocked/gql/types.d.ts +1 -1
- package/dist/tests/cases/integration/mocked/gql/types.d.ts.map +1 -1
- package/dist/tests/cases/integration/mocked/signInMutation.test.js +36 -4
- package/dist/tests/cases/integration/mocked/signInMutation.test.js.map +1 -1
- package/dist/tests/cases/integration/mocked/signOutMutation.test.js +53 -0
- package/dist/tests/cases/integration/mocked/signOutMutation.test.js.map +1 -1
- package/dist/tests/cases/integration/mocked/signUpMutation.test.js +9 -0
- package/dist/tests/cases/integration/mocked/signUpMutation.test.js.map +1 -1
- package/dist/tests/cases/integration/mocked/sql/getApiKeySql.d.ts +11 -0
- package/dist/tests/cases/integration/mocked/sql/getApiKeySql.d.ts.map +1 -0
- package/dist/tests/cases/integration/mocked/sql/getApiKeySql.js +31 -0
- package/dist/tests/cases/integration/mocked/sql/getApiKeySql.js.map +1 -0
- package/dist/tests/cases/integration/mocked/sql/getPersonByEmailSql.d.ts.map +1 -1
- package/dist/tests/cases/integration/mocked/sql/getPersonByEmailSql.js +2 -1
- package/dist/tests/cases/integration/mocked/sql/getPersonByEmailSql.js.map +1 -1
- package/dist/tests/cases/integration/mocked/sql/getPersonByIdSql.js +1 -1
- package/dist/tests/cases/integration/mocked/sql/getPersonByIdentity.js +1 -1
- package/dist/tests/cases/integration/mocked/sql/getPersonByIdpSql.d.ts.map +1 -1
- package/dist/tests/cases/integration/mocked/sql/getPersonByIdpSql.js +2 -1
- package/dist/tests/cases/integration/mocked/sql/getPersonByIdpSql.js.map +1 -1
- package/dist/tests/cases/unit/authorization/membershipAwareAccessNode.test.js +27 -0
- package/dist/tests/cases/unit/authorization/membershipAwareAccessNode.test.js.map +1 -1
- package/dist/tests/src/mailer.d.ts +2 -2
- package/dist/tests/src/mailer.d.ts.map +1 -1
- package/dist/tests/tsconfig.tsbuildinfo +1 -1
- package/graphql-tenant.codegen.yml +2 -1
- package/package.json +14 -14
- package/src/TenantContainer.ts +19 -2
- package/src/migrations/2023-01-20-135500-person-email-normalize.ts +28 -0
- package/src/migrations/2023-06-03-104000-person-disabled.ts +10 -0
- package/src/migrations/runner.ts +4 -0
- package/src/migrations/snapshot.ts +1 -0
- package/src/model/authorization/AclSchemaAccessNodeFactory.ts +16 -6
- package/src/model/authorization/PermissionActions.ts +5 -0
- package/src/model/authorization/PermissionsFactory.ts +11 -3
- package/src/model/commands/identity/PatchIdentityGlobalRoles.ts +28 -0
- package/src/model/commands/identity/index.ts +1 -0
- package/src/model/commands/membership/AddProjectMemberCommand.ts +9 -10
- package/src/model/commands/membership/RemoveProjectMemberCommand.ts +1 -1
- package/src/model/commands/membership/UpdateProjectMemberCommand.ts +2 -2
- package/src/model/commands/passwordReset/ResetPasswordCommand.ts +9 -16
- package/src/model/commands/person/CreatePersonCommand.ts +9 -4
- package/src/model/commands/person/DisablePersonCommand.ts +18 -0
- package/src/model/queries/apiKey/ApiKeyQuery.ts +64 -0
- package/src/model/queries/apiKey/index.ts +1 -1
- package/src/model/queries/idp/types.ts +2 -2
- package/src/model/queries/membership/ProjectMembersQuery.ts +3 -3
- package/src/model/queries/person/PersonQuery.ts +30 -3
- package/src/model/queries/person/PersonQueryBuilderFactory.ts +1 -0
- package/src/model/queries/person/types.ts +3 -2
- package/src/model/service/IDPSignInManager.ts +11 -6
- package/src/model/service/InviteManager.ts +2 -2
- package/src/model/service/PasswordChangeManager.ts +4 -4
- package/src/model/service/PasswordResetManager.ts +3 -5
- package/src/model/service/PersonAccessManager.ts +56 -0
- package/src/model/service/PersonManager.ts +14 -0
- package/src/model/service/ProjectManager.ts +3 -3
- package/src/model/service/ProjectMemberManager.ts +3 -15
- package/src/model/service/RolesManager.ts +40 -0
- package/src/model/service/SignInManager.ts +25 -7
- package/src/model/service/SignUpManager.ts +2 -2
- package/src/model/service/apiKey/ApiKeyManager.ts +8 -1
- package/src/model/service/idp/IDPManager.ts +8 -8
- package/src/model/service/index.ts +2 -0
- package/src/model/utils/Response.ts +1 -1
- package/src/model/utils/email.ts +5 -0
- package/src/resolvers/ResolverFactory.ts +10 -1
- package/src/resolvers/errorUtils.ts +1 -1
- package/src/resolvers/membershipUtils.ts +21 -21
- package/src/resolvers/mutation/apiKey/CreateApiKeyMutationResolver.ts +2 -2
- package/src/resolvers/mutation/apiKey/DisableApiKeyMutationResolver.ts +1 -1
- package/src/resolvers/mutation/identity/GlobalRolesMutationResolver.ts +69 -0
- package/src/resolvers/mutation/identity/index.ts +1 -0
- package/src/resolvers/mutation/index.ts +1 -0
- package/src/resolvers/mutation/mailTemplates/MailTemplateMutationResolver.ts +6 -6
- package/src/resolvers/mutation/person/ChangePasswordMutationResolver.ts +2 -2
- package/src/resolvers/mutation/person/DisablePersonMutationResolver.ts +48 -0
- package/src/resolvers/mutation/person/InviteMutationResolver.ts +5 -12
- package/src/resolvers/mutation/person/OtpMutationResolver.ts +4 -6
- package/src/resolvers/mutation/person/ResetPasswordMutationResolver.ts +2 -10
- package/src/resolvers/mutation/person/SignInMutationResolver.ts +1 -0
- package/src/resolvers/mutation/person/SignOutMutationResolver.ts +13 -3
- package/src/resolvers/mutation/project/CreateProjectMutationResolver.ts +2 -7
- package/src/resolvers/mutation/project/SetProjectSecretMutationResolver.ts +1 -1
- package/src/resolvers/mutation/project/UpdateProjectMutationResolver.ts +2 -7
- package/src/resolvers/mutation/projectMember/AddProjectMemberMutationResolver.ts +2 -2
- package/src/resolvers/mutation/projectMember/RemoveProjectMemberMutationResolver.ts +1 -1
- package/src/resolvers/mutation/projectMember/UpdateProjectMemberMutationResolver.ts +2 -2
- package/src/resolvers/types/ProjectTypeResolver.ts +2 -2
- package/src/schema/index.ts +321 -159
- package/src/schema/tenant.graphql.ts +97 -21
- package/tests/cases/integration/db/updateRoles.test.ts +74 -0
- package/tests/cases/integration/mocked/confirmOtpMutation.test.ts +1 -1
- package/tests/cases/integration/mocked/gql/signUp.ts +4 -0
- package/tests/cases/integration/mocked/signInMutation.test.ts +37 -3
- package/tests/cases/integration/mocked/signOutMutation.test.ts +58 -0
- package/tests/cases/integration/mocked/signUpMutation.test.ts +9 -0
- package/tests/cases/integration/mocked/sql/getApiKeySql.ts +33 -0
- package/tests/cases/integration/mocked/sql/getPersonByEmailSql.ts +2 -1
- package/tests/cases/integration/mocked/sql/getPersonByIdSql.ts +1 -1
- package/tests/cases/integration/mocked/sql/getPersonByIdentity.ts +1 -1
- package/tests/cases/integration/mocked/sql/getPersonByIdpSql.ts +2 -1
- package/tests/cases/unit/authorization/membershipAwareAccessNode.test.ts +36 -0
- package/dist/src/model/queries/apiKey/ApiKeyByTokenQuery.d.ts +0 -22
- package/dist/src/model/queries/apiKey/ApiKeyByTokenQuery.d.ts.map +0 -1
- package/dist/src/model/queries/apiKey/ApiKeyByTokenQuery.js +0 -33
- package/dist/src/model/queries/apiKey/ApiKeyByTokenQuery.js.map +0 -1
- package/src/model/queries/apiKey/ApiKeyByTokenQuery.ts +0 -49
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { IdentityProviderData } from '../../type';
|
|
2
|
-
export
|
|
2
|
+
export type IdentityProviderRow = {
|
|
3
3
|
id: string;
|
|
4
4
|
slug: string;
|
|
5
5
|
type: string;
|
|
6
|
-
disabledAt: Date |
|
|
6
|
+
disabledAt: Date | null;
|
|
7
7
|
configuration: Record<string, unknown>;
|
|
8
8
|
autoSignUp: boolean;
|
|
9
9
|
exclusive: boolean;
|
|
10
10
|
};
|
|
11
|
-
export
|
|
11
|
+
export type IdentityProviderDto = {
|
|
12
12
|
id: string;
|
|
13
|
-
disabledAt: Date |
|
|
13
|
+
disabledAt: Date | null;
|
|
14
14
|
} & IdentityProviderData;
|
|
15
15
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/model/queries/idp/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AAEjD,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/model/queries/idp/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AAEjD,MAAM,MAAM,mBAAmB,GAAG;IACjC,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,IAAI,GAAG,IAAI,CAAA;IACvB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACtC,UAAU,EAAE,OAAO,CAAA;IACnB,SAAS,EAAE,OAAO,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,mBAAmB,GAC5B;IACD,EAAE,EAAE,MAAM,CAAA;IACV,UAAU,EAAE,IAAI,GAAG,IAAI,CAAA;CACvB,GACC,oBAAoB,CAAA"}
|
|
@@ -10,5 +10,5 @@ export interface ProjectMembersQueryRow {
|
|
|
10
10
|
id: string;
|
|
11
11
|
description: string;
|
|
12
12
|
}
|
|
13
|
-
export
|
|
13
|
+
export type ProjectMembersQueryResult = ProjectMembersQueryRow[];
|
|
14
14
|
//# sourceMappingURL=ProjectMembersQuery.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProjectMembersQuery.d.ts","sourceRoot":"","sources":["../../../../../src/model/queries/membership/ProjectMembersQuery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAiB,MAAM,qBAAqB,CAAA;AACrF,OAAO,EAAc,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AAGjE,qBAAa,mBAAoB,SAAQ,aAAa,CAAC,yBAAyB,CAAC;IAG/E,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,kBAAkB;gBADlB,SAAS,EAAE,MAAM,EACjB,kBAAkB,EAAE,mBAAmB;IAKnD,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,iBAAiB,GAAG,OAAO,CAAC,yBAAyB,CAAC;CAiC1E;AAED,MAAM,WAAW,sBAAsB;IACtC,EAAE,EAAE,MAAM,CAAA;IACV,WAAW,EAAE,MAAM,CAAA;CACnB;AAED,
|
|
1
|
+
{"version":3,"file":"ProjectMembersQuery.d.ts","sourceRoot":"","sources":["../../../../../src/model/queries/membership/ProjectMembersQuery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAiB,MAAM,qBAAqB,CAAA;AACrF,OAAO,EAAc,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AAGjE,qBAAa,mBAAoB,SAAQ,aAAa,CAAC,yBAAyB,CAAC;IAG/E,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,kBAAkB;gBADlB,SAAS,EAAE,MAAM,EACjB,kBAAkB,EAAE,mBAAmB;IAKnD,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,iBAAiB,GAAG,OAAO,CAAC,yBAAyB,CAAC;CAiC1E;AAED,MAAM,WAAW,sBAAsB;IACtC,EAAE,EAAE,MAAM,CAAA;IACV,WAAW,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,MAAM,yBAAyB,GAAG,sBAAsB,EAAE,CAAA"}
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ProjectMembersQuery = void 0;
|
|
4
4
|
const database_1 = require("@contember/database");
|
|
5
|
-
const schema_1 = require("../../../schema");
|
|
6
5
|
const exceptions_1 = require("../../../exceptions");
|
|
7
6
|
class ProjectMembersQuery extends database_1.DatabaseQuery {
|
|
8
7
|
constructor(projectId, projectMemberInput) {
|
|
@@ -23,7 +22,7 @@ class ProjectMembersQuery extends database_1.DatabaseQuery {
|
|
|
23
22
|
.match(qb => {
|
|
24
23
|
var _a;
|
|
25
24
|
const { email, memberType } = (_a = this.projectMemberInput.filter) !== null && _a !== void 0 ? _a : {};
|
|
26
|
-
if (email && memberType ===
|
|
25
|
+
if (email && memberType === 'API_KEY') {
|
|
27
26
|
throw new exceptions_1.ImplementationException();
|
|
28
27
|
}
|
|
29
28
|
const personQuery = database_1.SelectBuilder.create()
|
|
@@ -33,9 +32,9 @@ class ProjectMembersQuery extends database_1.DatabaseQuery {
|
|
|
33
32
|
return qb.where(it => it.exists(personQuery.where({ email })));
|
|
34
33
|
}
|
|
35
34
|
switch (memberType) {
|
|
36
|
-
case
|
|
35
|
+
case 'API_KEY':
|
|
37
36
|
return qb.where(it => it.not(it => it.exists(personQuery)));
|
|
38
|
-
case
|
|
37
|
+
case 'PERSON':
|
|
39
38
|
return qb.where(it => it.exists(personQuery));
|
|
40
39
|
}
|
|
41
40
|
return qb;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProjectMembersQuery.js","sourceRoot":"","sources":["../../../../../src/model/queries/membership/ProjectMembersQuery.ts"],"names":[],"mappings":";;;AAAA,kDAAqF;
|
|
1
|
+
{"version":3,"file":"ProjectMembersQuery.js","sourceRoot":"","sources":["../../../../../src/model/queries/membership/ProjectMembersQuery.ts"],"names":[],"mappings":";;;AAAA,kDAAqF;AAErF,oDAA6D;AAE7D,MAAa,mBAAoB,SAAQ,wBAAwC;IAEhF,YACkB,SAAiB,EACjB,kBAAuC;QAExD,KAAK,EAAE,CAAA;QAHU,cAAS,GAAT,SAAS,CAAQ;QACjB,uBAAkB,GAAlB,kBAAkB,CAAqB;IAGzD,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,EAAqB;;QACpC,OAAO,MAAM,wBAAa,CAAC,MAAM,EAAuC;aACtE,MAAM,CAAC,IAAI,CAAC;aACZ,MAAM,CAAC,aAAa,CAAC;aACrB,IAAI,CAAC,UAAU,CAAC;aAChB,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,CACrB,OAAO,CAAC,EAAE,CAAC,OAAO;aAChB,IAAI,CAAC,oBAAoB,CAAC;aAC1B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,oBAAoB,EAAE,aAAa,CAAC,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC;aACxF,KAAK,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CACvC,CAAC;aACD,KAAK,CAAC,EAAE,CAAC,EAAE;;YACX,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,MAAA,IAAI,CAAC,kBAAkB,CAAC,MAAM,mCAAI,EAAE,CAAA;YAClE,IAAI,KAAK,IAAI,UAAU,KAAK,SAAS,EAAE;gBACtC,MAAM,IAAI,oCAAuB,EAAE,CAAA;aACnC;YACD,MAAM,WAAW,GAAG,wBAAa,CAAC,MAAM,EAAE;iBACxC,IAAI,CAAC,QAAQ,CAAC;iBACd,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,aAAa,CAAC,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,CAAA;YAC9E,IAAI,KAAK,EAAE;gBACV,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAA;aAC9D;YACD,QAAQ,UAAU,EAAE;gBACnB,KAAK,SAAS;oBACb,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAA;gBAC5D,KAAK,QAAQ;oBACZ,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAA;aAC9C;YACD,OAAO,EAAE,CAAA;QACV,CAAC,CAAC;aACD,KAAK,CAAC,MAAA,IAAI,CAAC,kBAAkB,CAAC,KAAK,mCAAI,SAAS,EAAE,MAAA,IAAI,CAAC,kBAAkB,CAAC,MAAM,mCAAI,SAAS,CAAC;aAC9F,SAAS,CAAC,EAAE,CAAC,CAAA;IAChB,CAAC;CACD;AA1CD,kDA0CC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { DatabaseQuery, DatabaseQueryable } from '@contember/database';
|
|
2
2
|
import { MaybePersonRow } from './types';
|
|
3
|
-
export
|
|
3
|
+
export type PersonUniqueIdentifier = {
|
|
4
4
|
type: 'id';
|
|
5
5
|
id: string;
|
|
6
6
|
} | {
|
|
@@ -13,9 +13,10 @@ export declare type PersonUniqueIdentifier = {
|
|
|
13
13
|
declare class PersonQuery extends DatabaseQuery<MaybePersonRow> {
|
|
14
14
|
private readonly spec;
|
|
15
15
|
private constructor();
|
|
16
|
-
static byUniqueIdentifier(identifier: PersonUniqueIdentifier):
|
|
16
|
+
static byUniqueIdentifier(identifier: PersonUniqueIdentifier): DatabaseQuery<MaybePersonRow>;
|
|
17
17
|
static byId(id: string): PersonQuery;
|
|
18
|
-
static byEmail(email: string):
|
|
18
|
+
static byEmail(email: string): DatabaseQuery<MaybePersonRow>;
|
|
19
|
+
static byExactEmail(email: string): PersonQuery;
|
|
19
20
|
static byIdentity(identity_id: string): PersonQuery;
|
|
20
21
|
fetch({ db }: DatabaseQueryable): Promise<MaybePersonRow>;
|
|
21
22
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PersonQuery.d.ts","sourceRoot":"","sources":["../../../../../src/model/queries/person/PersonQuery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,iBAAiB,
|
|
1
|
+
{"version":3,"file":"PersonQuery.d.ts","sourceRoot":"","sources":["../../../../../src/model/queries/person/PersonQuery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAiD,MAAM,qBAAqB,CAAA;AACrH,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAIxC,MAAM,MAAM,sBAAsB,GAC/B;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAC1B;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAChC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAA;AAEnC,cAAM,WAAY,SAAQ,aAAa,CAAC,cAAc,CAAC;IAClC,OAAO,CAAC,QAAQ,CAAC,IAAI;IAAzC,OAAO;IAIP,MAAM,CAAC,kBAAkB,CAAC,UAAU,EAAE,sBAAsB,GAAG,aAAa,CAAC,cAAc,CAAC;IAW5F,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,WAAW;IAIpC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,CAAC,cAAc,CAAC;IAI5D,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW;IAI/C,MAAM,CAAC,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,WAAW;IAI7C,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,iBAAiB,GAAG,OAAO,CAAC,cAAc,CAAC;CAO/D;AAwBD,OAAO,EAAE,WAAW,EAAE,CAAA"}
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.PersonQuery = void 0;
|
|
4
4
|
const database_1 = require("@contember/database");
|
|
5
5
|
const PersonQueryBuilderFactory_1 = require("./PersonQueryBuilderFactory");
|
|
6
|
+
const email_1 = require("../../utils/email");
|
|
6
7
|
class PersonQuery extends database_1.DatabaseQuery {
|
|
7
8
|
constructor(spec) {
|
|
8
9
|
super();
|
|
@@ -22,6 +23,9 @@ class PersonQuery extends database_1.DatabaseQuery {
|
|
|
22
23
|
return new PersonQuery(qb => qb.where(it => it.compare(['person', 'id'], database_1.Operator.eq, id)));
|
|
23
24
|
}
|
|
24
25
|
static byEmail(email) {
|
|
26
|
+
return new PersonByEmailFallbackQuery(email);
|
|
27
|
+
}
|
|
28
|
+
static byExactEmail(email) {
|
|
25
29
|
return new PersonQuery(qb => qb.where(it => it.compare(['person', 'email'], database_1.Operator.eq, email)));
|
|
26
30
|
}
|
|
27
31
|
static byIdentity(identity_id) {
|
|
@@ -35,4 +39,22 @@ class PersonQuery extends database_1.DatabaseQuery {
|
|
|
35
39
|
}
|
|
36
40
|
}
|
|
37
41
|
exports.PersonQuery = PersonQuery;
|
|
42
|
+
class PersonByEmailFallbackQuery extends database_1.DatabaseQuery {
|
|
43
|
+
constructor(email) {
|
|
44
|
+
super();
|
|
45
|
+
this.email = email;
|
|
46
|
+
}
|
|
47
|
+
async fetch(ctx) {
|
|
48
|
+
const handler = ctx.getHandler();
|
|
49
|
+
const exact = await handler.fetch(PersonQuery.byExactEmail(this.email));
|
|
50
|
+
if (exact) {
|
|
51
|
+
return exact;
|
|
52
|
+
}
|
|
53
|
+
const normalizedEmail = (0, email_1.normalizeEmail)(this.email);
|
|
54
|
+
if (normalizedEmail === this.email) {
|
|
55
|
+
return null;
|
|
56
|
+
}
|
|
57
|
+
return await handler.fetch(PersonQuery.byExactEmail(normalizedEmail));
|
|
58
|
+
}
|
|
59
|
+
}
|
|
38
60
|
//# sourceMappingURL=PersonQuery.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PersonQuery.js","sourceRoot":"","sources":["../../../../../src/model/queries/person/PersonQuery.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"PersonQuery.js","sourceRoot":"","sources":["../../../../../src/model/queries/person/PersonQuery.ts"],"names":[],"mappings":";;;AAAA,kDAAqH;AAErH,2EAAuE;AACvE,6CAAkD;AAOlD,MAAM,WAAY,SAAQ,wBAA6B;IACtD,YAAqC,IAAgC;QACpE,KAAK,EAAE,CAAA;QAD6B,SAAI,GAAJ,IAAI,CAA4B;IAErE,CAAC;IAED,MAAM,CAAC,kBAAkB,CAAC,UAAkC;QAC3D,QAAQ,UAAU,CAAC,IAAI,EAAE;YACxB,KAAK,OAAO;gBACX,OAAO,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;YAC7C,KAAK,IAAI;gBACR,OAAO,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAA;YACvC,KAAK,UAAU;gBACd,OAAO,WAAW,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC,CAAA;SAC7C;IACF,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,EAAU;QACrB,OAAO,IAAI,WAAW,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,mBAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAA;IAC5F,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,KAAa;QAC3B,OAAO,IAAI,0BAA0B,CAAC,KAAK,CAAC,CAAA;IAC7C,CAAC;IAED,MAAM,CAAC,YAAY,CAAC,KAAa;QAChC,OAAO,IAAI,WAAW,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,mBAAQ,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,CAAA;IAClG,CAAC;IAED,MAAM,CAAC,UAAU,CAAC,WAAmB;QACpC,OAAO,IAAI,WAAW,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,aAAa,CAAC,EAAE,mBAAQ,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC,CAAC,CAAA;IAC9G,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,EAAqB;QACpC,MAAM,IAAI,GAAG,MAAM,qDAAyB,CAAC,wBAAwB,EAAE;aACrE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;aAChB,SAAS,CAAC,EAAE,CAAC,CAAA;QAEf,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;IACjC,CAAC;CACD;AAwBQ,kCAAW;AAtBpB,MAAM,0BAA2B,SAAQ,wBAA6B;IACrE,YACkB,KAAa;QAE9B,KAAK,EAAE,CAAA;QAFU,UAAK,GAAL,KAAK,CAAQ;IAG/B,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,GAAsB;QACjC,MAAM,OAAO,GAAG,GAAG,CAAC,UAAU,EAAE,CAAA;QAChC,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;QACvE,IAAI,KAAK,EAAE;YACV,OAAO,KAAK,CAAA;SACZ;QACD,MAAM,eAAe,GAAG,IAAA,sBAAc,EAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAClD,IAAI,eAAe,KAAK,IAAI,CAAC,KAAK,EAAE;YACnC,OAAO,IAAI,CAAA;SACX;QACD,OAAO,MAAM,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,CAAA;IACtE,CAAC;CAED"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PersonQueryBuilderFactory.d.ts","sourceRoot":"","sources":["../../../../../src/model/queries/person/PersonQueryBuilderFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAEnD,qBAAa,yBAAyB;WACvB,wBAAwB;
|
|
1
|
+
{"version":3,"file":"PersonQueryBuilderFactory.d.ts","sourceRoot":"","sources":["../../../../../src/model/queries/person/PersonQueryBuilderFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAEnD,qBAAa,yBAAyB;WACvB,wBAAwB;CActC"}
|
|
@@ -12,6 +12,7 @@ class PersonQueryBuilderFactory {
|
|
|
12
12
|
.select(['person', 'identity_id'])
|
|
13
13
|
.select(['person', 'email'])
|
|
14
14
|
.select(['person', 'name'])
|
|
15
|
+
.select(['person', 'disabled_at'])
|
|
15
16
|
.select(['identity', 'roles'])
|
|
16
17
|
.from('person')
|
|
17
18
|
.join('identity', 'identity', expr => expr.columnsEq(['identity', 'id'], ['person', 'identity_id']));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PersonQueryBuilderFactory.js","sourceRoot":"","sources":["../../../../../src/model/queries/person/PersonQueryBuilderFactory.ts"],"names":[],"mappings":";;;AACA,kDAAmD;AAEnD,MAAa,yBAAyB;IAC9B,MAAM,CAAC,wBAAwB;QACrC,OAAO,wBAAa,CAAC,MAAM,EAAa;aACtC,MAAM,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;aACxB,MAAM,CAAC,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;aACnC,MAAM,CAAC,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;aAC7B,MAAM,CAAC,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;aACtC,MAAM,CAAC,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;aACjC,MAAM,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;aAC3B,MAAM,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;aAC1B,MAAM,CAAC,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;aAC7B,IAAI,CAAC,QAAQ,CAAC;aACd,IAAI,CAAC,UAAU,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,CAAA;IACtG,CAAC;CACD;
|
|
1
|
+
{"version":3,"file":"PersonQueryBuilderFactory.js","sourceRoot":"","sources":["../../../../../src/model/queries/person/PersonQueryBuilderFactory.ts"],"names":[],"mappings":";;;AACA,kDAAmD;AAEnD,MAAa,yBAAyB;IAC9B,MAAM,CAAC,wBAAwB;QACrC,OAAO,wBAAa,CAAC,MAAM,EAAa;aACtC,MAAM,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;aACxB,MAAM,CAAC,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;aACnC,MAAM,CAAC,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;aAC7B,MAAM,CAAC,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;aACtC,MAAM,CAAC,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;aACjC,MAAM,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;aAC3B,MAAM,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;aAC1B,MAAM,CAAC,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;aACjC,MAAM,CAAC,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;aAC7B,IAAI,CAAC,QAAQ,CAAC;aACd,IAAI,CAAC,UAAU,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,CAAA;IACtG,CAAC;CACD;AAfD,8DAeC"}
|
|
@@ -4,9 +4,10 @@ export interface PersonRow {
|
|
|
4
4
|
readonly identity_id: string;
|
|
5
5
|
readonly otp_uri: string | null;
|
|
6
6
|
readonly otp_activated_at: Date | null;
|
|
7
|
-
readonly email
|
|
8
|
-
readonly name
|
|
7
|
+
readonly email: string | null;
|
|
8
|
+
readonly name: string | null;
|
|
9
9
|
readonly roles: string[];
|
|
10
|
+
readonly disabled_at: Date | null;
|
|
10
11
|
}
|
|
11
|
-
export
|
|
12
|
+
export type MaybePersonRow = PersonRow | null;
|
|
12
13
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/model/queries/person/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,SAAS;IACzB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;IACrC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,QAAQ,CAAC,gBAAgB,EAAE,IAAI,GAAG,IAAI,CAAA;IACtC,QAAQ,CAAC,KAAK,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/model/queries/person/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,SAAS;IACzB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;IACrC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,QAAQ,CAAC,gBAAgB,EAAE,IAAI,GAAG,IAAI,CAAA;IACtC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,CAAA;IACxB,QAAQ,CAAC,WAAW,EAAE,IAAI,GAAG,IAAI,CAAA;CACjC;AAED,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,IAAI,CAAA"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import { DatabaseQuery, DatabaseQueryable } from '@contember/database';
|
|
3
3
|
import { Providers } from '../../providers';
|
|
4
|
-
|
|
4
|
+
type ProjectSecretsQueryResult = {
|
|
5
5
|
key: string;
|
|
6
6
|
value: Buffer;
|
|
7
7
|
needsReEncrypt: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProjectSecretsQuery.d.ts","sourceRoot":"","sources":["../../../../../src/model/queries/project/ProjectSecretsQuery.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAiB,MAAM,qBAAqB,CAAA;AACrF,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAE3C,
|
|
1
|
+
{"version":3,"file":"ProjectSecretsQuery.d.ts","sourceRoot":"","sources":["../../../../../src/model/queries/project/ProjectSecretsQuery.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAiB,MAAM,qBAAqB,CAAA;AACrF,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAE3C,KAAK,yBAAyB,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,OAAO,CAAA;CAAE,EAAE,CAAA;AAE1F,qBAAa,mBAAoB,SAAQ,aAAa,CAAC,yBAAyB,CAAC;IACpE,OAAO,CAAC,QAAQ,CAAC,SAAS;IAAU,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAA7C,SAAS,EAAE,MAAM,EAAmB,SAAS,EAAE,SAAS;IAI/E,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,iBAAiB,GAAG,OAAO,CAAC,yBAAyB,CAAC;CAoB1E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IDPSignInManager.d.ts","sourceRoot":"","sources":["../../../../src/model/service/IDPSignInManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,EAA8D,SAAS,EAAE,MAAM,YAAY,CAAA;AAClG,OAAO,EAAY,kBAAkB,EAAwC,MAAM,OAAO,CAAA;AAC1F,OAAO,EAAE,QAAQ,EAA6B,MAAM,mBAAmB,CAAA;AACvE,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAM1C,cAAM,gBAAgB;IAEpB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,WAAW;gBADX,aAAa,EAAE,aAAa,EAC5B,WAAW,EAAE,kBAAkB;IAG3C,SAAS,CACd,SAAS,EAAE,eAAe,EAC1B,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,OAAO,EACrB,UAAU,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,gBAAgB,CAAC,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"IDPSignInManager.d.ts","sourceRoot":"","sources":["../../../../src/model/service/IDPSignInManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,EAA8D,SAAS,EAAE,MAAM,YAAY,CAAA;AAClG,OAAO,EAAY,kBAAkB,EAAwC,MAAM,OAAO,CAAA;AAC1F,OAAO,EAAE,QAAQ,EAA6B,MAAM,mBAAmB,CAAA;AACvE,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAM1C,cAAM,gBAAgB;IAEpB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,WAAW;gBADX,aAAa,EAAE,aAAa,EAC5B,WAAW,EAAE,kBAAkB;IAG3C,SAAS,CACd,SAAS,EAAE,eAAe,EAC1B,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,OAAO,EACrB,UAAU,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,gBAAgB,CAAC,iBAAiB,CAAC;IAsCxC,aAAa,CAAC,SAAS,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC,qBAAqB,CAAC;YAkBlH,aAAa;YAwBb,MAAM;YAiBN,iBAAiB;CAG/B;AAED,kBAAU,gBAAgB,CAAC;IAC1B,MAAM,WAAW,mBAAmB;QACnC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;QACxB,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAA;KACzB;IAED,MAAM,MAAM,qBAAqB,GAAG,QAAQ,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,CAAA;IAEzF,UAAU,eAAe;QACxB,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAA;QAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KACtB;IAED,MAAM,MAAM,iBAAiB,GAAG,QAAQ,CAAC,eAAe,EAAE,kBAAkB,CAAC,CAAA;;CAC7E;AAED,OAAO,EAAE,gBAAgB,EAAE,CAAA"}
|
|
@@ -4,7 +4,6 @@ exports.IDPSignInManager = void 0;
|
|
|
4
4
|
const queries_1 = require("../queries");
|
|
5
5
|
const idp_1 = require("./idp");
|
|
6
6
|
const Response_1 = require("../utils/Response");
|
|
7
|
-
const schema_1 = require("../../schema");
|
|
8
7
|
const commands_1 = require("../commands");
|
|
9
8
|
const authorization_1 = require("../authorization");
|
|
10
9
|
const dtos_1 = require("../dtos");
|
|
@@ -27,16 +26,19 @@ class IDPSignInManager {
|
|
|
27
26
|
}
|
|
28
27
|
catch (e) {
|
|
29
28
|
if (e instanceof idp_1.IDPResponseError) {
|
|
30
|
-
return new Response_1.ResponseError(
|
|
29
|
+
return new Response_1.ResponseError('INVALID_IDP_RESPONSE', e.message);
|
|
31
30
|
}
|
|
32
31
|
if (e instanceof idp_1.IDPValidationError) {
|
|
33
|
-
return new Response_1.ResponseError(
|
|
32
|
+
return new Response_1.ResponseError('IDP_VALIDATION_FAILED', e.message);
|
|
34
33
|
}
|
|
35
34
|
throw e;
|
|
36
35
|
}
|
|
37
36
|
const personRow = await this.resolvePerson(db, claim, provider);
|
|
38
37
|
if (!personRow) {
|
|
39
|
-
return new Response_1.ResponseError(
|
|
38
|
+
return new Response_1.ResponseError('PERSON_NOT_FOUND', `Person ${claim.email} not found`);
|
|
39
|
+
}
|
|
40
|
+
if (personRow.disabled_at !== null) {
|
|
41
|
+
return new Response_1.ResponseError('PERSON_DISABLED', `Person with e-mail ${claim.email} is disabled`);
|
|
40
42
|
}
|
|
41
43
|
const sessionToken = await this.apiKeyManager.createSessionApiKey(db, personRow.identity_id, expiration);
|
|
42
44
|
return new Response_1.ResponseOk({ person: personRow, token: sessionToken });
|
|
@@ -45,7 +47,7 @@ class IDPSignInManager {
|
|
|
45
47
|
async initSignInIDP(dbContext, idpSlug, data) {
|
|
46
48
|
const provider = await dbContext.queryHandler.fetch(new queries_1.IdentityProviderBySlugQuery(idpSlug));
|
|
47
49
|
if (!provider || provider.disabledAt) {
|
|
48
|
-
return new Response_1.ResponseError(
|
|
50
|
+
return new Response_1.ResponseError('PROVIDER_NOT_FOUND', `Identity provider ${idpSlug} not found`);
|
|
49
51
|
}
|
|
50
52
|
const providerService = this.idpRegistry.getHandler(provider.type);
|
|
51
53
|
const validatedConfig = providerService.validateConfiguration(provider.configuration);
|
|
@@ -55,7 +57,7 @@ class IDPSignInManager {
|
|
|
55
57
|
}
|
|
56
58
|
catch (e) {
|
|
57
59
|
if (e instanceof idp_1.IDPValidationError) {
|
|
58
|
-
return new Response_1.ResponseError(
|
|
60
|
+
return new Response_1.ResponseError('IDP_VALIDATION_FAILED', e.message);
|
|
59
61
|
}
|
|
60
62
|
throw e;
|
|
61
63
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IDPSignInManager.js","sourceRoot":"","sources":["../../../../src/model/service/IDPSignInManager.ts"],"names":[],"mappings":";;;AACA,wCAAkG;AAClG,+BAA0F;AAC1F,gDAAuE;
|
|
1
|
+
{"version":3,"file":"IDPSignInManager.js","sourceRoot":"","sources":["../../../../src/model/service/IDPSignInManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,7 +23,7 @@ export declare class InviteManager {
|
|
|
23
23
|
constructor(providers: Providers, mailer: UserMailer);
|
|
24
24
|
invite(dbContext: DatabaseContext, { email, project, name, memberships, method, emailVariant, noEmail, password, passwordResetTokenHash, }: InviteData): Promise<InviteResponse>;
|
|
25
25
|
}
|
|
26
|
-
export
|
|
26
|
+
export type InviteResponse = Response<InviteResult, InviteErrorCode>;
|
|
27
27
|
export declare class InviteResult {
|
|
28
28
|
readonly person: Omit<PersonRow, 'roles'>;
|
|
29
29
|
readonly isNew: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InviteManager.d.ts","sourceRoot":"","sources":["../../../../src/model/service/InviteManager.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAe,SAAS,EAAE,MAAM,YAAY,CAAA;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAE5D,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAEvC,OAAO,EAAE,QAAQ,EAAc,MAAM,mBAAmB,CAAA;AACxD,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAErD,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAA;AAEvC,MAAM,WAAW,UAAU;IAC1B,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,OAAO,CAAA;IAChB,WAAW,EAAE,SAAS,GAAG,CAAC,UAAU,EAAE,CAAA;IACtC,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,MAAM,CAAC,EAAE,YAAY,CAAA;IACrB,sBAAsB,CAAC,EAAE,SAAS,CAAA;CAClC;AAID,qBAAa,aAAa;IAExB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM;gBADN,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,UAAU;IAG9B,MAAM,CACX,SAAS,EAAE,eAAe,EAC1B,EACC,KAAK,EACL,OAAO,EACP,IAAI,EACJ,WAAW,EACX,MAAM,EACN,YAAY,EACZ,OAAe,EACf,QAAQ,EACR,sBAAsB,GACtB,EAAE,UAAU,GACX,OAAO,CAAC,cAAc,CAAC;CAgD1B;AAED,
|
|
1
|
+
{"version":3,"file":"InviteManager.d.ts","sourceRoot":"","sources":["../../../../src/model/service/InviteManager.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAe,SAAS,EAAE,MAAM,YAAY,CAAA;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAE5D,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAEvC,OAAO,EAAE,QAAQ,EAAc,MAAM,mBAAmB,CAAA;AACxD,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAErD,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAA;AAEvC,MAAM,WAAW,UAAU;IAC1B,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,OAAO,CAAA;IAChB,WAAW,EAAE,SAAS,GAAG,CAAC,UAAU,EAAE,CAAA;IACtC,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,MAAM,CAAC,EAAE,YAAY,CAAA;IACrB,sBAAsB,CAAC,EAAE,SAAS,CAAA;CAClC;AAID,qBAAa,aAAa;IAExB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM;gBADN,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,UAAU;IAG9B,MAAM,CACX,SAAS,EAAE,eAAe,EAC1B,EACC,KAAK,EACL,OAAO,EACP,IAAI,EACJ,WAAW,EACX,MAAM,EACN,YAAY,EACZ,OAAe,EACf,QAAQ,EACR,sBAAsB,GACtB,EAAE,UAAU,GACX,OAAO,CAAC,cAAc,CAAC;CAgD1B;AAED,MAAM,MAAM,cAAc,GAAG,QAAQ,CAAC,YAAY,EAAE,eAAe,CAAC,CAAA;AAEpE,qBAAa,YAAY;aACI,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC;aAAkB,KAAK,EAAE,OAAO;gBAAhE,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,EAAkB,KAAK,EAAE,OAAO;CAC5F"}
|
|
@@ -3,7 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.InviteResult = exports.InviteManager = void 0;
|
|
4
4
|
const commands_1 = require("../commands");
|
|
5
5
|
const queries_1 = require("../queries");
|
|
6
|
-
const schema_1 = require("../../schema");
|
|
7
6
|
const authorization_1 = require("../authorization");
|
|
8
7
|
const membershipUtils_1 = require("./membershipUtils");
|
|
9
8
|
const Response_1 = require("../utils/Response");
|
|
@@ -22,7 +21,7 @@ class InviteManager {
|
|
|
22
21
|
let resetToken = null;
|
|
23
22
|
if (!person) {
|
|
24
23
|
const identityId = await trx.commandBus.execute(new commands_1.CreateIdentityCommand([authorization_1.TenantRole.PERSON]));
|
|
25
|
-
generatedPassword = password !== null && password !== void 0 ? password : (method ===
|
|
24
|
+
generatedPassword = password !== null && password !== void 0 ? password : (method === 'CREATE_PASSWORD' ? (await this.providers.randomBytes(9)).toString('base64') : null);
|
|
26
25
|
const passwordWrapper = generatedPassword !== null ? new dtos_1.PasswordPlain(generatedPassword) : dtos_1.NoPassword;
|
|
27
26
|
person = await trx.commandBus.execute(new commands_1.CreatePersonCommand({
|
|
28
27
|
identityId,
|
|
@@ -30,7 +29,7 @@ class InviteManager {
|
|
|
30
29
|
name,
|
|
31
30
|
password: passwordWrapper,
|
|
32
31
|
}));
|
|
33
|
-
if (method ===
|
|
32
|
+
if (method === 'RESET_PASSWORD') {
|
|
34
33
|
const result = await trx.commandBus.execute(new commands_1.CreatePasswordResetRequestCommand(person.id, INVITATION_RESET_TOKEN_EXPIRATION_MINUTES));
|
|
35
34
|
resetToken = result.token;
|
|
36
35
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InviteManager.js","sourceRoot":"","sources":["../../../../src/model/service/InviteManager.ts"],"names":[],"mappings":";;;AAAA,0CAMoB;AAEpB,wCAAmD;
|
|
1
|
+
{"version":3,"file":"InviteManager.js","sourceRoot":"","sources":["../../../../src/model/service/InviteManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OtpAuthenticator.d.ts","sourceRoot":"","sources":["../../../../src/model/service/OtpAuthenticator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAGxC,MAAM,WAAW,OAAO;IACvB,MAAM,EAAE,MAAM,CAAA;IACd,GAAG,EAAE,MAAM,CAAA;CACX;AAID,qBAAa,gBAAgB;IAE3B,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAAT,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,KAAK,GAAG,aAAa,CAAC;IAI5D,QAAQ,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO;IAUpD,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM;IAQ9B,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAYlE;AAED,
|
|
1
|
+
{"version":3,"file":"OtpAuthenticator.d.ts","sourceRoot":"","sources":["../../../../src/model/service/OtpAuthenticator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAGxC,MAAM,WAAW,OAAO;IACvB,MAAM,EAAE,MAAM,CAAA;IACd,GAAG,EAAE,MAAM,CAAA;CACX;AAID,qBAAa,gBAAgB;IAE3B,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAAT,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,KAAK,GAAG,aAAa,CAAC;IAI5D,QAAQ,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO;IAUpD,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM;IAQ9B,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAYlE;AAED,KAAK,UAAU,GAAG;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAA"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.PasswordChangeManager = void 0;
|
|
4
|
-
const schema_1 = require("../../schema");
|
|
5
4
|
const commands_1 = require("../commands");
|
|
6
5
|
const password_1 = require("../utils/password");
|
|
7
6
|
const Response_1 = require("../utils/Response");
|
|
@@ -12,7 +11,7 @@ class PasswordChangeManager {
|
|
|
12
11
|
async changePassword(dbContext, personId, password) {
|
|
13
12
|
const weakPassword = (0, password_1.getPasswordWeaknessMessage)(password);
|
|
14
13
|
if (weakPassword) {
|
|
15
|
-
return new Response_1.ResponseError(
|
|
14
|
+
return new Response_1.ResponseError('TOO_WEAK', weakPassword);
|
|
16
15
|
}
|
|
17
16
|
await dbContext.commandBus.execute(new commands_1.ChangePasswordCommand(personId, password));
|
|
18
17
|
return new Response_1.ResponseOk(null);
|
|
@@ -20,13 +19,13 @@ class PasswordChangeManager {
|
|
|
20
19
|
async changeMyPassword(dbContext, person, currentPassword, password) {
|
|
21
20
|
const weakPassword = (0, password_1.getPasswordWeaknessMessage)(password);
|
|
22
21
|
if (weakPassword) {
|
|
23
|
-
return new Response_1.ResponseError(
|
|
22
|
+
return new Response_1.ResponseError('TOO_WEAK', weakPassword);
|
|
24
23
|
}
|
|
25
24
|
if (!person.password_hash) {
|
|
26
|
-
return new Response_1.ResponseError(
|
|
25
|
+
return new Response_1.ResponseError('NO_PASSWORD_SET', 'No password set');
|
|
27
26
|
}
|
|
28
27
|
if (!(await this.providers.bcryptCompare(currentPassword, person.password_hash))) {
|
|
29
|
-
return new Response_1.ResponseError(
|
|
28
|
+
return new Response_1.ResponseError('INVALID_PASSWORD', 'Password does not match');
|
|
30
29
|
}
|
|
31
30
|
await dbContext.commandBus.execute(new commands_1.ChangePasswordCommand(person.id, password));
|
|
32
31
|
return new Response_1.ResponseOk(null);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PasswordChangeManager.js","sourceRoot":"","sources":["../../../../src/model/service/PasswordChangeManager.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"PasswordChangeManager.js","sourceRoot":"","sources":["../../../../src/model/service/PasswordChangeManager.ts"],"names":[],"mappings":";;;AACA,0CAAmD;AACnD,gDAA8D;AAC9D,gDAAuE;AAKvE,MAAM,qBAAqB;IAC1B,YACkB,SAAoB;QAApB,cAAS,GAAT,SAAS,CAAW;IACnC,CAAC;IAEJ,KAAK,CAAC,cAAc,CAAC,SAA0B,EAAE,QAAgB,EAAE,QAAgB;QAClF,MAAM,YAAY,GAAG,IAAA,qCAA0B,EAAC,QAAQ,CAAC,CAAA;QACzD,IAAI,YAAY,EAAE;YACjB,OAAO,IAAI,wBAAa,CAAC,UAAU,EAAE,YAAY,CAAC,CAAA;SAClD;QACD,MAAM,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,gCAAqB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAA;QACjF,OAAO,IAAI,qBAAU,CAAC,IAAI,CAAC,CAAA;IAC5B,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,SAA0B,EAAE,MAAiB,EAAE,eAAuB,EAAE,QAAgB;QAC9G,MAAM,YAAY,GAAG,IAAA,qCAA0B,EAAC,QAAQ,CAAC,CAAA;QACzD,IAAI,YAAY,EAAE;YACjB,OAAO,IAAI,wBAAa,CAAC,UAAU,EAAE,YAAY,CAAC,CAAA;SAClD;QACD,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE;YAC1B,OAAO,IAAI,wBAAa,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,CAAA;SAC9D;QACD,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,eAAe,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC,EAAE;YACjF,OAAO,IAAI,wBAAa,CAAC,kBAAkB,EAAE,yBAAyB,CAAC,CAAA;SACvE;QAED,MAAM,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,gCAAqB,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAA;QAClF,OAAO,IAAI,qBAAU,CAAC,IAAI,CAAC,CAAA;IAC5B,CAAC;CACD;AAMQ,sDAAqB"}
|
|
@@ -16,9 +16,7 @@ export declare class PasswordResetManager {
|
|
|
16
16
|
createPasswordResetRequest(dbContext: DatabaseContext, permissionContext: PermissionContext, person: PersonRow, mailOptions?: MailOptions): Promise<void>;
|
|
17
17
|
resetPassword(dbContext: DatabaseContext, token: string, password: string): Promise<ResetPasswordResponse>;
|
|
18
18
|
}
|
|
19
|
-
export
|
|
20
|
-
|
|
21
|
-
}
|
|
22
|
-
export declare type ResetPasswordResponse = Response<undefined, ResetPasswordErrorCode | ResetPasswordCommandErrorCode>;
|
|
19
|
+
export type ResetPasswordErrorCode = 'PASSWORD_TOO_WEAK';
|
|
20
|
+
export type ResetPasswordResponse = Response<null, ResetPasswordErrorCode | ResetPasswordCommandErrorCode>;
|
|
23
21
|
export {};
|
|
24
22
|
//# sourceMappingURL=PasswordResetManager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PasswordResetManager.d.ts","sourceRoot":"","sources":["../../../../src/model/service/PasswordResetManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2D,6BAA6B,EAAE,MAAM,aAAa,CAAA;AACpH,OAAO,EAAE,QAAQ,EAAiB,MAAM,mBAAmB,CAAA;AAE3D,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AACtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAG1C,UAAU,WAAW;IACpB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,WAAW,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,qBAAa,oBAAoB;IAE/B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,cAAc;gBADd,MAAM,EAAE,UAAU,EAClB,cAAc,EAAE,cAAc;IAGnC,0BAA0B,CACtC,SAAS,EAAE,eAAe,EAC1B,iBAAiB,EAAE,iBAAiB,EACpC,MAAM,EAAE,SAAS,EACjB,WAAW,GAAE,WAAgB,GAC3B,OAAO,CAAC,IAAI,CAAC;IA6BH,aAAa,CAAC,SAAS,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC;CAOvH;AAED,
|
|
1
|
+
{"version":3,"file":"PasswordResetManager.d.ts","sourceRoot":"","sources":["../../../../src/model/service/PasswordResetManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2D,6BAA6B,EAAE,MAAM,aAAa,CAAA;AACpH,OAAO,EAAE,QAAQ,EAAiB,MAAM,mBAAmB,CAAA;AAE3D,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AACtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAG1C,UAAU,WAAW;IACpB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,WAAW,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,qBAAa,oBAAoB;IAE/B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,cAAc;gBADd,MAAM,EAAE,UAAU,EAClB,cAAc,EAAE,cAAc;IAGnC,0BAA0B,CACtC,SAAS,EAAE,eAAe,EAC1B,iBAAiB,EAAE,iBAAiB,EACpC,MAAM,EAAE,SAAS,EACjB,WAAW,GAAE,WAAgB,GAC3B,OAAO,CAAC,IAAI,CAAC;IA6BH,aAAa,CAAC,SAAS,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC;CAOvH;AAED,MAAM,MAAM,sBAAsB,GAAG,mBAAmB,CAAA;AAExD,MAAM,MAAM,qBAAqB,GAAG,QAAQ,CAAC,IAAI,EAAE,sBAAsB,GAAG,6BAA6B,CAAC,CAAA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.PasswordResetManager = void 0;
|
|
4
4
|
const commands_1 = require("../commands");
|
|
5
5
|
const Response_1 = require("../utils/Response");
|
|
6
6
|
const password_1 = require("../utils/password");
|
|
@@ -37,14 +37,10 @@ class PasswordResetManager {
|
|
|
37
37
|
async resetPassword(dbContext, token, password) {
|
|
38
38
|
const weakPassword = (0, password_1.getPasswordWeaknessMessage)(password);
|
|
39
39
|
if (weakPassword) {
|
|
40
|
-
return new Response_1.ResponseError(
|
|
40
|
+
return new Response_1.ResponseError('PASSWORD_TOO_WEAK', weakPassword);
|
|
41
41
|
}
|
|
42
42
|
return await dbContext.commandBus.execute(new commands_1.ResetPasswordCommand(token, password));
|
|
43
43
|
}
|
|
44
44
|
}
|
|
45
45
|
exports.PasswordResetManager = PasswordResetManager;
|
|
46
|
-
var ResetPasswordErrorCode;
|
|
47
|
-
(function (ResetPasswordErrorCode) {
|
|
48
|
-
ResetPasswordErrorCode["PASSWORD_TOO_WEAK"] = "PASSWORD_TOO_WEAK";
|
|
49
|
-
})(ResetPasswordErrorCode = exports.ResetPasswordErrorCode || (exports.ResetPasswordErrorCode = {}));
|
|
50
46
|
//# sourceMappingURL=PasswordResetManager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PasswordResetManager.js","sourceRoot":"","sources":["../../../../src/model/service/PasswordResetManager.ts"],"names":[],"mappings":";;;AAAA,0CAAoH;AACpH,gDAA2D;AAC3D,gDAA8D;AAM9D,iDAA0D;AAO1D,MAAa,oBAAoB;IAChC,YACkB,MAAkB,EAClB,cAA8B;QAD9B,WAAM,GAAN,MAAM,CAAY;QAClB,mBAAc,GAAd,cAAc,CAAgB;IAC7C,CAAC;IAEG,KAAK,CAAC,0BAA0B,CACtC,SAA0B,EAC1B,iBAAoC,EACpC,MAAiB,EACjB,cAA2B,EAAE;QAE7B,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,4CAAiC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAA;QACnG,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,qBAAqB,CAAC,SAAS,EAAE,MAAM,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAA;QAClH,MAAM,OAAO,GAAG,CAAC,GAAG,EAAE;YACrB,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC1B,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAA;aAClB;iBAAM,IAAI,WAAW,CAAC,OAAO,EAAE;gBAC/B,OAAO,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,WAAW,CAAC,OAAO,CAAC,IAAI,IAAI,CAAA;aACnE;YACD,OAAO,IAAI,CAAA;QACZ,CAAC,CAAC,EAAE,CAAA;QACJ,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;YAClB,MAAM,IAAI,oCAAuB,EAAE,CAAA;SACnC;QAED,MAAM,IAAI,CAAC,MAAM,CAAC,sBAAsB,CACvC,SAAS,EACT;YACC,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,OAAO,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI;SACtB,EACD;YACC,OAAO,EAAE,WAAW,CAAC,WAAW,IAAI,EAAE;YACtC,SAAS,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,EAAE;SACtB,CACD,CAAA;IACF,CAAC;IAEM,KAAK,CAAC,aAAa,CAAC,SAA0B,EAAE,KAAa,EAAE,QAAgB;QACrF,MAAM,YAAY,GAAG,IAAA,qCAA0B,EAAC,QAAQ,CAAC,CAAA;QACzD,IAAI,YAAY,EAAE;YACjB,OAAO,IAAI,wBAAa,CAAC,
|
|
1
|
+
{"version":3,"file":"PasswordResetManager.js","sourceRoot":"","sources":["../../../../src/model/service/PasswordResetManager.ts"],"names":[],"mappings":";;;AAAA,0CAAoH;AACpH,gDAA2D;AAC3D,gDAA8D;AAM9D,iDAA0D;AAO1D,MAAa,oBAAoB;IAChC,YACkB,MAAkB,EAClB,cAA8B;QAD9B,WAAM,GAAN,MAAM,CAAY;QAClB,mBAAc,GAAd,cAAc,CAAgB;IAC7C,CAAC;IAEG,KAAK,CAAC,0BAA0B,CACtC,SAA0B,EAC1B,iBAAoC,EACpC,MAAiB,EACjB,cAA2B,EAAE;QAE7B,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,4CAAiC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAA;QACnG,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,qBAAqB,CAAC,SAAS,EAAE,MAAM,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAA;QAClH,MAAM,OAAO,GAAG,CAAC,GAAG,EAAE;YACrB,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC1B,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAA;aAClB;iBAAM,IAAI,WAAW,CAAC,OAAO,EAAE;gBAC/B,OAAO,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,WAAW,CAAC,OAAO,CAAC,IAAI,IAAI,CAAA;aACnE;YACD,OAAO,IAAI,CAAA;QACZ,CAAC,CAAC,EAAE,CAAA;QACJ,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;YAClB,MAAM,IAAI,oCAAuB,EAAE,CAAA;SACnC;QAED,MAAM,IAAI,CAAC,MAAM,CAAC,sBAAsB,CACvC,SAAS,EACT;YACC,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,OAAO,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI;SACtB,EACD;YACC,OAAO,EAAE,WAAW,CAAC,WAAW,IAAI,EAAE;YACtC,SAAS,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,EAAE;SACtB,CACD,CAAA;IACF,CAAC;IAEM,KAAK,CAAC,aAAa,CAAC,SAA0B,EAAE,KAAa,EAAE,QAAgB;QACrF,MAAM,YAAY,GAAG,IAAA,qCAA0B,EAAC,QAAQ,CAAC,CAAA;QACzD,IAAI,YAAY,EAAE;YACjB,OAAO,IAAI,wBAAa,CAAC,mBAAmB,EAAE,YAAY,CAAC,CAAA;SAC3D;QACD,OAAO,MAAM,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,+BAAoB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAA;IACrF,CAAC;CACD;AA/CD,oDA+CC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { DatabaseContext } from '../utils';
|
|
2
|
+
import { ApiKeyManager } from './apiKey';
|
|
3
|
+
import { Response } from '../utils/Response';
|
|
4
|
+
import { DisablePersonErrorCode } from '../../schema';
|
|
5
|
+
declare class PersonAccessManager {
|
|
6
|
+
private readonly apiKeyManager;
|
|
7
|
+
constructor(apiKeyManager: ApiKeyManager);
|
|
8
|
+
disablePerson(dbContext: DatabaseContext, personId: string): Promise<PersonDisableAccessResponse>;
|
|
9
|
+
private disablePersonAccount;
|
|
10
|
+
private disableIdentityApiKeys;
|
|
11
|
+
}
|
|
12
|
+
export type PersonDisableAccessResponse = Response<null, DisablePersonErrorCode>;
|
|
13
|
+
export { PersonAccessManager };
|
|
14
|
+
//# sourceMappingURL=PersonAccessManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PersonAccessManager.d.ts","sourceRoot":"","sources":["../../../../src/model/service/PersonAccessManager.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAE1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,EAAE,QAAQ,EAA6B,MAAM,mBAAmB,CAAA;AACvE,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAA;AAErD,cAAM,mBAAmB;IAEZ,OAAO,CAAC,QAAQ,CAAC,aAAa;gBAAb,aAAa,EAAE,aAAa;IAEnD,aAAa,CAAC,SAAS,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,2BAA2B,CAAC;YAiCzF,oBAAoB;YAIpB,sBAAsB;CAGpC;AAED,MAAM,MAAM,2BAA2B,GAAG,QAAQ,CAAC,IAAI,EAAE,sBAAsB,CAAC,CAAA;AAEhF,OAAO,EAAE,mBAAmB,EAAE,CAAA"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PersonAccessManager = void 0;
|
|
4
|
+
const queries_1 = require("../queries");
|
|
5
|
+
const DisablePersonCommand_1 = require("../commands/person/DisablePersonCommand");
|
|
6
|
+
const Response_1 = require("../utils/Response");
|
|
7
|
+
class PersonAccessManager {
|
|
8
|
+
constructor(apiKeyManager) {
|
|
9
|
+
this.apiKeyManager = apiKeyManager;
|
|
10
|
+
}
|
|
11
|
+
async disablePerson(dbContext, personId) {
|
|
12
|
+
const result = await dbContext.transaction(async (trx) => {
|
|
13
|
+
const personRow = await trx.queryHandler.fetch(queries_1.PersonQuery.byId(personId));
|
|
14
|
+
if (personRow === null) {
|
|
15
|
+
return 'PERSON_NOT_FOUND';
|
|
16
|
+
}
|
|
17
|
+
if (personRow.disabled_at !== null) {
|
|
18
|
+
return 'PERSON_ALREADY_DISABLED';
|
|
19
|
+
}
|
|
20
|
+
// Deactivate person & invalidate all api keys associated with person identity
|
|
21
|
+
await this.disablePersonAccount(trx, personRow.id);
|
|
22
|
+
await this.disableIdentityApiKeys(trx, personRow.identity_id);
|
|
23
|
+
return null;
|
|
24
|
+
});
|
|
25
|
+
switch (result) {
|
|
26
|
+
case null:
|
|
27
|
+
return new Response_1.ResponseOk(null);
|
|
28
|
+
case 'PERSON_ALREADY_DISABLED':
|
|
29
|
+
return new Response_1.ResponseError(result, 'Person is already disable');
|
|
30
|
+
case 'PERSON_NOT_FOUND':
|
|
31
|
+
return new Response_1.ResponseError(result, 'Person not found');
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
async disablePersonAccount(dbContext, personId) {
|
|
35
|
+
await dbContext.commandBus.execute(new DisablePersonCommand_1.DisablePersonCommand(personId));
|
|
36
|
+
}
|
|
37
|
+
async disableIdentityApiKeys(dbContext, personIdentityId) {
|
|
38
|
+
await this.apiKeyManager.disableIdentityApiKeys(dbContext, personIdentityId);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
exports.PersonAccessManager = PersonAccessManager;
|
|
42
|
+
//# sourceMappingURL=PersonAccessManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PersonAccessManager.js","sourceRoot":"","sources":["../../../../src/model/service/PersonAccessManager.ts"],"names":[],"mappings":";;;AAAA,wCAAwC;AAExC,kFAA8E;AAE9E,gDAAuE;AAGvE,MAAM,mBAAmB;IAExB,YAA6B,aAA4B;QAA5B,kBAAa,GAAb,aAAa,CAAe;IAAG,CAAC;IAE7D,KAAK,CAAC,aAAa,CAAC,SAA0B,EAAE,QAAgB;QAC/D,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,WAAW,CAAC,KAAK,EAAC,GAAG,EAAC,EAAE;YACtD,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,YAAY,CAAC,KAAK,CAC7C,qBAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAC1B,CAAA;YAED,IAAI,SAAS,KAAK,IAAI,EAAE;gBACvB,OAAO,kBAAkB,CAAA;aACzB;YAED,IAAI,SAAS,CAAC,WAAW,KAAK,IAAI,EAAE;gBACnC,OAAO,yBAAyB,CAAA;aAChC;YAED,8EAA8E;YAC9E,MAAM,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE,SAAS,CAAC,EAAE,CAAC,CAAA;YAClD,MAAM,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,SAAS,CAAC,WAAW,CAAC,CAAA;YAE7D,OAAO,IAAI,CAAA;QACZ,CAAC,CAAC,CAAA;QAEF,QAAQ,MAAM,EAAE;YACf,KAAK,IAAI;gBACR,OAAO,IAAI,qBAAU,CAAC,IAAI,CAAC,CAAA;YAE5B,KAAK,yBAAyB;gBAC7B,OAAO,IAAI,wBAAa,CAAC,MAAM,EAAE,2BAA2B,CAAC,CAAA;YAE9D,KAAK,kBAAkB;gBACtB,OAAO,IAAI,wBAAa,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAA;SACrD;IACF,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAAC,SAA0B,EAAE,QAAgB;QAC9E,MAAM,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,2CAAoB,CAAC,QAAQ,CAAC,CAAC,CAAA;IACvE,CAAC;IAEO,KAAK,CAAC,sBAAsB,CAAC,SAA0B,EAAE,gBAAwB;QACxF,MAAM,IAAI,CAAC,aAAa,CAAC,sBAAsB,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAA;IAC7E,CAAC;CACD;AAIQ,kDAAmB"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { PersonRow } from '../queries';
|
|
2
|
+
import { DatabaseContext } from '../utils';
|
|
3
|
+
declare class PersonManager {
|
|
4
|
+
findPersonById(dbContext: DatabaseContext, personId: string): Promise<PersonRow | null>;
|
|
5
|
+
}
|
|
6
|
+
export { PersonManager };
|
|
7
|
+
//# sourceMappingURL=PersonManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PersonManager.d.ts","sourceRoot":"","sources":["../../../../src/model/service/PersonManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,SAAS,EAAE,MAAM,YAAY,CAAA;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAE1C,cAAM,aAAa;IAEZ,cAAc,CAAC,SAAS,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;CAM7F;AAED,OAAO,EAAE,aAAa,EAAE,CAAA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PersonManager = void 0;
|
|
4
|
+
const queries_1 = require("../queries");
|
|
5
|
+
class PersonManager {
|
|
6
|
+
async findPersonById(dbContext, personId) {
|
|
7
|
+
return await dbContext.queryHandler.fetch(queries_1.PersonQuery.byId(personId));
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
exports.PersonManager = PersonManager;
|
|
11
|
+
//# sourceMappingURL=PersonManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PersonManager.js","sourceRoot":"","sources":["../../../../src/model/service/PersonManager.ts"],"names":[],"mappings":";;;AAAA,wCAAmD;AAGnD,MAAM,aAAa;IAElB,KAAK,CAAC,cAAc,CAAC,SAA0B,EAAE,QAAgB;QAChE,OAAO,MAAM,SAAS,CAAC,YAAY,CAAC,KAAK,CACxC,qBAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAC1B,CAAA;IACF,CAAC;CAED;AAEQ,sCAAa"}
|
|
@@ -25,7 +25,7 @@ export declare class ProjectManager {
|
|
|
25
25
|
}
|
|
26
26
|
export declare class ProjectInitError extends Error {
|
|
27
27
|
}
|
|
28
|
-
export
|
|
28
|
+
export type CreateProjectResponse = Response<CreateProjectResult, CreateProjectResponseErrorCode>;
|
|
29
29
|
export declare class CreateProjectResult {
|
|
30
30
|
readonly deployerApiKey?: CreateApiKeyResult | undefined;
|
|
31
31
|
constructor(deployerApiKey?: CreateApiKeyResult | undefined);
|