@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
|
@@ -13,7 +13,7 @@ export interface SentInfo {
|
|
|
13
13
|
rejected?: string[];
|
|
14
14
|
pending?: string[];
|
|
15
15
|
}
|
|
16
|
-
export
|
|
16
|
+
export type MailerOptions = Partial<(SMTPTransport.Options | SMTPPool.Options | SendmailTransport.Options | SESTransport.Options | TransportOptions) & {
|
|
17
17
|
from?: string;
|
|
18
18
|
}>;
|
|
19
19
|
export interface Mailer {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Mailer.d.ts","sourceRoot":"","sources":["../../../src/utils/Mailer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,WAAW,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAC3E,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAC9D,OAAO,KAAK,aAAa,MAAM,+BAA+B,CAAA;AAC9D,OAAO,KAAK,QAAQ,MAAM,0BAA0B,CAAA;AACpD,OAAO,KAAK,iBAAiB,MAAM,mCAAmC,CAAA;AACtE,OAAO,KAAK,YAAY,MAAM,8BAA8B,CAAA;AAG5D,OAAO,EAAE,WAAW,EAAE,CAAA;AAEtB,MAAM,WAAW,QAAQ;IACxB,KAAK,CAAC,EAAE,GAAG,CAAA;IACX,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,GAAG,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;IACnB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;CAClB;AAED,
|
|
1
|
+
{"version":3,"file":"Mailer.d.ts","sourceRoot":"","sources":["../../../src/utils/Mailer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,WAAW,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAC3E,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAC9D,OAAO,KAAK,aAAa,MAAM,+BAA+B,CAAA;AAC9D,OAAO,KAAK,QAAQ,MAAM,0BAA0B,CAAA;AACpD,OAAO,KAAK,iBAAiB,MAAM,mCAAmC,CAAA;AACtE,OAAO,KAAK,YAAY,MAAM,8BAA8B,CAAA;AAG5D,OAAO,EAAE,WAAW,EAAE,CAAA;AAEtB,MAAM,WAAW,QAAQ;IACxB,KAAK,CAAC,EAAE,GAAG,CAAA;IACX,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,GAAG,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;IACnB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;CAClB;AAED,MAAM,MAAM,aAAa,GAAG,OAAO,CAClC,CAAC,aAAa,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,GAAG,iBAAiB,CAAC,OAAO,GAAG,YAAY,CAAC,OAAO,GAAG,gBAAgB,CAAC,GAAG;IAClH,IAAI,CAAC,EAAE,MAAM,CAAA;CACb,CACD,CAAA;AAED,MAAM,WAAW,MAAM;IACtB,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;CAC7C;AAED,qBAAa,UAAW,YAAW,MAAM;IAC5B,OAAO,CAAC,QAAQ,CAAC,IAAI;IAAsB,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAApD,IAAI,EAAE,MAAM,GAAG,SAAS,EAAmB,SAAS,EAAE,WAAW;IAEjF,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC;CAQ1D;AAED,eAAO,MAAM,YAAY,YAAa,aAAa,KAAG,MAGrD,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export declare function notEmpty<TValue>(value: TValue | null | undefined): value is TValue;
|
|
2
|
-
|
|
2
|
+
type KeysOfType<T, U> = {
|
|
3
3
|
[P in keyof T]: T[P] extends U ? P : never;
|
|
4
4
|
}[keyof T];
|
|
5
5
|
export declare const indexListBy: <Item, Key extends KeysOfType<Item, string>, Index extends Item[Key] & string>(items: Item[], key: Key) => Record<Index, Item[]>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"array.d.ts","sourceRoot":"","sources":["../../../src/utils/array.ts"],"names":[],"mappings":"AAAA,wBAAgB,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,KAAK,IAAI,MAAM,CAElF;AAED,
|
|
1
|
+
{"version":3,"file":"array.d.ts","sourceRoot":"","sources":["../../../src/utils/array.ts"],"names":[],"mappings":"AAAA,wBAAgB,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,KAAK,IAAI,MAAM,CAElF;AAED,KAAK,UAAU,CAAC,CAAC,EAAE,CAAC,IAAI;KACtB,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK;CAC1C,CAAC,MAAM,CAAC,CAAC,CAAA;AAEV,eAAO,MAAM,WAAW,kIAWvB,CAAA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { DatabaseContext } from '../model';
|
|
2
|
-
export
|
|
3
|
-
export
|
|
2
|
+
export type ItemLoader<Arg, Item> = (args: Arg) => Promise<Item>;
|
|
3
|
+
export type BatchLoaderArgs<Arg, Result, Item> = [createResult: (args: Arg[], db: DatabaseContext) => Promise<Result>, getItem: (arg: Arg, result: Result) => Item];
|
|
4
4
|
export declare const batchLoader: <Arg, Result, Item>(createResult: (args: Arg[], db: DatabaseContext) => Promise<Result>, getItem: (arg: Arg, result: Result) => Item) => BatchLoaderArgs<Arg, Result, Item>;
|
|
5
5
|
export declare const initBatchLoader: <Arg, Result, Item>([createResult, getItem]: BatchLoaderArgs<Arg, Result, Item>, db: DatabaseContext) => ItemLoader<Arg, Item>;
|
|
6
6
|
//# sourceMappingURL=batchQuery.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"batchQuery.d.ts","sourceRoot":"","sources":["../../../src/utils/batchQuery.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAE1C,
|
|
1
|
+
{"version":3,"file":"batchQuery.d.ts","sourceRoot":"","sources":["../../../src/utils/batchQuery.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAE1C,MAAM,MAAM,UAAU,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;AAEhE,MAAM,MAAM,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,eAAe,KAAK,OAAO,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC,CAAA;AACnK,eAAO,MAAM,WAAW,sDAD0D,eAAe,wGACE,CAAA;AAEnG,eAAO,MAAM,eAAe,uFAEvB,eAAe,0BAkBnB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"updateRoles.test.d.ts","sourceRoot":"","sources":["../../../../../tests/cases/integration/db/updateRoles.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const testTenantDb_1 = require("../../../src/testTenantDb");
|
|
4
|
+
const tags_1 = require("../../../src/tags");
|
|
5
|
+
const vitest_1 = require("vitest");
|
|
6
|
+
const signUp_1 = require("../mocked/gql/signUp");
|
|
7
|
+
const src_1 = require("../../../../src");
|
|
8
|
+
(0, vitest_1.test)('manage global roles', (0, testTenantDb_1.testTenantDb)(async ({ tester }) => {
|
|
9
|
+
const result = await tester.execute((0, signUp_1.signUpMutation)({
|
|
10
|
+
email: 'john@doe.com',
|
|
11
|
+
password: 'abcdxy',
|
|
12
|
+
}), {
|
|
13
|
+
roles: [src_1.TenantRole.SUPER_ADMIN],
|
|
14
|
+
});
|
|
15
|
+
vitest_1.assert.isOk(result.data.signUp.ok);
|
|
16
|
+
const identity = result.data.signUp.result.person.identity.id;
|
|
17
|
+
vitest_1.assert.deepStrictEqual(result.data.signUp.result.person.identity.roles, [src_1.TenantRole.PERSON]);
|
|
18
|
+
const resultAddRole = await tester.execute((0, tags_1.GQL) `
|
|
19
|
+
mutation {
|
|
20
|
+
addGlobalIdentityRoles(identityId: "${identity}", roles: ["project_admin", "super_admin"]) {
|
|
21
|
+
ok
|
|
22
|
+
result {
|
|
23
|
+
identity {
|
|
24
|
+
roles
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
`, {
|
|
30
|
+
roles: [src_1.TenantRole.SUPER_ADMIN],
|
|
31
|
+
});
|
|
32
|
+
vitest_1.assert.deepStrictEqual(resultAddRole.data, {
|
|
33
|
+
addGlobalIdentityRoles: {
|
|
34
|
+
ok: true,
|
|
35
|
+
result: {
|
|
36
|
+
identity: {
|
|
37
|
+
roles: [src_1.TenantRole.PERSON, src_1.TenantRole.PROJECT_ADMIN, src_1.TenantRole.SUPER_ADMIN],
|
|
38
|
+
},
|
|
39
|
+
},
|
|
40
|
+
},
|
|
41
|
+
});
|
|
42
|
+
const resultRemoveRole = await tester.execute((0, tags_1.GQL) `
|
|
43
|
+
mutation {
|
|
44
|
+
removeGlobalIdentityRoles(identityId: "${identity}", roles: ["project_admin", "super_admin"]) {
|
|
45
|
+
ok
|
|
46
|
+
result {
|
|
47
|
+
identity {
|
|
48
|
+
roles
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
`, {
|
|
54
|
+
roles: [src_1.TenantRole.SUPER_ADMIN],
|
|
55
|
+
});
|
|
56
|
+
vitest_1.assert.deepStrictEqual(resultRemoveRole.data, {
|
|
57
|
+
removeGlobalIdentityRoles: {
|
|
58
|
+
ok: true,
|
|
59
|
+
result: {
|
|
60
|
+
identity: {
|
|
61
|
+
roles: [src_1.TenantRole.PERSON],
|
|
62
|
+
},
|
|
63
|
+
},
|
|
64
|
+
},
|
|
65
|
+
});
|
|
66
|
+
}));
|
|
67
|
+
//# sourceMappingURL=updateRoles.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"updateRoles.test.js","sourceRoot":"","sources":["../../../../../tests/cases/integration/db/updateRoles.test.ts"],"names":[],"mappings":";;AAAA,4DAAwD;AACxD,4CAAuC;AACvC,mCAAqC;AACrC,iDAAqD;AACrD,yCAA4C;AAG5C,IAAA,aAAI,EAAC,qBAAqB,EAAE,IAAA,2BAAY,EAAC,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;IAC7D,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAClC,IAAA,uBAAc,EAAC;QACd,KAAK,EAAE,cAAc;QACrB,QAAQ,EAAE,QAAQ;KAClB,CAAC,EACF;QACC,KAAK,EAAE,CAAC,gBAAU,CAAC,WAAW,CAAC;KAC/B,CACD,CAAA;IACD,eAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IAClC,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAA;IAC7D,eAAM,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,gBAAU,CAAC,MAAM,CAAC,CAAC,CAAA;IAE5F,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,IAAA,UAAG,EAAA;;0CAEL,QAAQ;;;;;;;;;GAS/C,EAAE;QACH,KAAK,EAAE,CAAC,gBAAU,CAAC,WAAW,CAAC;KAC/B,CAAC,CAAA;IAEF,eAAM,CAAC,eAAe,CAAC,aAAa,CAAC,IAAI,EAAE;QAC1C,sBAAsB,EAAE;YACvB,EAAE,EAAE,IAAI;YACR,MAAM,EAAE;gBACP,QAAQ,EAAE;oBACT,KAAK,EAAE,CAAC,gBAAU,CAAC,MAAM,EAAE,gBAAU,CAAC,aAAa,EAAE,gBAAU,CAAC,WAAW,CAAC;iBAC5E;aACD;SACD;KACD,CAAC,CAAA;IAGF,MAAM,gBAAgB,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,IAAA,UAAG,EAAA;;6CAEL,QAAQ;;;;;;;;;GASlD,EAAE;QACH,KAAK,EAAE,CAAC,gBAAU,CAAC,WAAW,CAAC;KAC/B,CAAC,CAAA;IAEF,eAAM,CAAC,eAAe,CAAC,gBAAgB,CAAC,IAAI,EAAE;QAC7C,yBAAyB,EAAE;YAC1B,EAAE,EAAE,IAAI;YACR,MAAM,EAAE;gBACP,QAAQ,EAAE;oBACT,KAAK,EAAE,CAAC,gBAAU,CAAC,MAAM,CAAC;iBAC1B;aACD;SACD;KACD,CAAC,CAAA;AACH,CAAC,CAAC,CAAC,CAAA"}
|
|
@@ -4,7 +4,6 @@ const testTenant_1 = require("../../../src/testTenant");
|
|
|
4
4
|
const testUuid_1 = require("../../../src/testUuid");
|
|
5
5
|
const getPersonByIdentity_1 = require("./sql/getPersonByIdentity");
|
|
6
6
|
const confirmOtp_1 = require("./gql/confirmOtp");
|
|
7
|
-
const schema_1 = require("../../../../src/schema");
|
|
8
7
|
const vitest_1 = require("vitest");
|
|
9
8
|
const src_1 = require("../../../../src");
|
|
10
9
|
const buffer_1 = require("buffer");
|
|
@@ -73,7 +72,7 @@ const buffer_1 = require("buffer");
|
|
|
73
72
|
data: {
|
|
74
73
|
confirmOtp: {
|
|
75
74
|
ok: false,
|
|
76
|
-
errors: [{ code:
|
|
75
|
+
errors: [{ code: 'INVALID_OTP_TOKEN' }],
|
|
77
76
|
},
|
|
78
77
|
},
|
|
79
78
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"confirmOtpMutation.test.js","sourceRoot":"","sources":["../../../../../tests/cases/integration/mocked/confirmOtpMutation.test.ts"],"names":[],"mappings":";;AAAA,wDAAyF;AACzF,oDAAgD;AAChD,mEAA+D;AAC/D,iDAAqD;
|
|
1
|
+
{"version":3,"file":"confirmOtpMutation.test.js","sourceRoot":"","sources":["../../../../../tests/cases/integration/mocked/confirmOtpMutation.test.ts"],"names":[],"mappings":";;AAAA,wDAAyF;AACzF,oDAAgD;AAChD,mEAA+D;AAC/D,iDAAqD;AAErD,mCAA6B;AAC7B,yCAAkD;AAClD,mCAA+B;AAE/B,IAAA,aAAI,EAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;IACvD,MAAM,QAAQ,GAAG,IAAA,mBAAQ,EAAC,CAAC,CAAC,CAAA;IAC5B,MAAM,OAAO,GAAG,IAAI,sBAAgB,CAAC;QACpC,GAAG,EAAE,GAAG,EAAE,CAAC,gBAAG;QACd,WAAW,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,eAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;KACpD,CAAC,CAAA;IACF,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;IACrD,MAAM,IAAA,8BAAiB,EAAC;QACvB,KAAK,EAAE,IAAA,+BAAkB,EAAC,EAAE,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3D,QAAQ,EAAE;YACT,IAAA,yCAAmB,EAAC;gBACnB,UAAU,EAAE,oCAAuB;gBACnC,QAAQ,EAAE;oBACT,QAAQ;oBACR,QAAQ,EAAE,KAAK;oBACf,MAAM,EAAE,GAAG,CAAC,GAAG;oBACf,KAAK,EAAE,EAAE;oBACT,KAAK,EAAE,cAAc;iBACrB;aACD,CAAC;YACF;gBACC,GAAG,EAAE,oEAAoE;gBACzE,UAAU,EAAE,CAAC,gBAAG,EAAE,QAAQ,CAAC;gBAC3B,QAAQ,EAAE;oBACT,QAAQ,EAAE,CAAC;iBACX;aACD;SACD;QACD,MAAM,EAAE;YACP,IAAI,EAAE;gBACL,UAAU,EAAE;oBACX,EAAE,EAAE,IAAI;oBACR,MAAM,EAAE,EAAE;iBACV;aACD;SACD;KACD,CAAC,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,IAAA,aAAI,EAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;IACzD,MAAM,QAAQ,GAAG,IAAA,mBAAQ,EAAC,CAAC,CAAC,CAAA;IAC5B,MAAM,IAAA,8BAAiB,EAAC;QACvB,KAAK,EAAE,IAAA,+BAAkB,EAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;QAC9C,QAAQ,EAAE;YACT,IAAA,yCAAmB,EAAC;gBACnB,UAAU,EAAE,oCAAuB;gBACnC,QAAQ,EAAE;oBACT,QAAQ;oBACR,QAAQ,EAAE,KAAK;oBACf,MAAM,EAAE,+FAA+F;oBACvG,KAAK,EAAE,EAAE;oBACT,KAAK,EAAE,cAAc;iBACrB;aACD,CAAC;YACF;gBACC,GAAG,EAAE,oEAAoE;gBACzE,UAAU,EAAE,CAAC,gBAAG,EAAE,QAAQ,CAAC;gBAC3B,QAAQ,EAAE;oBACT,QAAQ,EAAE,CAAC;iBACX;aACD;SACD;QACD,MAAM,EAAE;YACP,IAAI,EAAE;gBACL,UAAU,EAAE;oBACX,EAAE,EAAE,KAAK;oBACT,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC;iBACvC;aACD;SACD;KACD,CAAC,CAAA;AACH,CAAC,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signUp.d.ts","sourceRoot":"","sources":["../../../../../../tests/cases/integration/mocked/gql/signUp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAG1C,eAAO,MAAM,cAAc,cAAe;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,KAAG,
|
|
1
|
+
{"version":3,"file":"signUp.d.ts","sourceRoot":"","sources":["../../../../../../tests/cases/integration/mocked/gql/signUp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAG1C,eAAO,MAAM,cAAc,cAAe;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,KAAG,gBAmB9E,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signUp.js","sourceRoot":"","sources":["../../../../../../tests/cases/integration/mocked/gql/signUp.ts"],"names":[],"mappings":";;;AACA,+CAA0C;AAEnC,MAAM,cAAc,GAAG,CAAC,SAA8C,EAAoB,EAAE,CAAC,CAAC;IACpG,KAAK,EAAE,IAAA,UAAG,EAAA
|
|
1
|
+
{"version":3,"file":"signUp.js","sourceRoot":"","sources":["../../../../../../tests/cases/integration/mocked/gql/signUp.ts"],"names":[],"mappings":";;;AACA,+CAA0C;AAEnC,MAAM,cAAc,GAAG,CAAC,SAA8C,EAAoB,EAAE,CAAC,CAAC;IACpG,KAAK,EAAE,IAAA,UAAG,EAAA;;;;;;;;;;;;;;;;GAgBR;IACF,SAAS,EAAE,SAAS;CACpB,CAAC,CAAA;AAnBW,QAAA,cAAc,kBAmBzB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../tests/cases/integration/mocked/gql/types.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../tests/cases/integration/mocked/gql/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAAE,CAAA"}
|
|
@@ -6,7 +6,6 @@ const testUuid_1 = require("../../../src/testUuid");
|
|
|
6
6
|
const selectMembershipsSql_1 = require("./sql/selectMembershipsSql");
|
|
7
7
|
const signIn_1 = require("./gql/signIn");
|
|
8
8
|
const getPersonByEmailSql_1 = require("./sql/getPersonByEmailSql");
|
|
9
|
-
const schema_1 = require("../../../../src/schema");
|
|
10
9
|
const vitest_1 = require("vitest");
|
|
11
10
|
const src_1 = require("../../../../src");
|
|
12
11
|
const buffer_1 = require("buffer");
|
|
@@ -81,6 +80,39 @@ const getIdentityProjectsSql_1 = require("./sql/getIdentityProjectsSql");
|
|
|
81
80
|
},
|
|
82
81
|
});
|
|
83
82
|
});
|
|
83
|
+
(0, vitest_1.test)('signs in - normalize email', async () => {
|
|
84
|
+
const email = 'John@doe.com ';
|
|
85
|
+
const password = '123';
|
|
86
|
+
const identityId = (0, testUuid_1.testUuid)(2);
|
|
87
|
+
const personId = (0, testUuid_1.testUuid)(7);
|
|
88
|
+
const projectId = (0, testUuid_1.testUuid)(10);
|
|
89
|
+
const apiKeyId = (0, testUuid_1.testUuid)(1);
|
|
90
|
+
await (0, testTenant_1.executeTenantTest)({
|
|
91
|
+
query: (0, signIn_1.signInMutation)({ email, password }),
|
|
92
|
+
executes: [
|
|
93
|
+
(0, getPersonByEmailSql_1.getPersonByEmailSql)({ email, response: null }),
|
|
94
|
+
(0, getPersonByEmailSql_1.getPersonByEmailSql)({ email: 'john@doe.com', response: { personId, identityId, password, roles: [] } }),
|
|
95
|
+
(0, createSessionKeySql_1.createSessionKeySql)({ apiKeyId: apiKeyId, identityId: identityId }),
|
|
96
|
+
(0, getIdentityProjectsSql_1.getIdentityProjectsSql)({ identityId: identityId, projectId: projectId }),
|
|
97
|
+
(0, selectMembershipsSql_1.selectMembershipsSql)({
|
|
98
|
+
identityId: identityId,
|
|
99
|
+
projectId,
|
|
100
|
+
membershipsResponse: [{ role: 'editor', variables: [{ name: 'locale', values: ['cs'] }] }],
|
|
101
|
+
}),
|
|
102
|
+
],
|
|
103
|
+
return: {
|
|
104
|
+
data: {
|
|
105
|
+
signIn: {
|
|
106
|
+
ok: true,
|
|
107
|
+
errors: [],
|
|
108
|
+
result: {
|
|
109
|
+
token: '0000000000000000000000000000000000000000',
|
|
110
|
+
},
|
|
111
|
+
},
|
|
112
|
+
},
|
|
113
|
+
},
|
|
114
|
+
});
|
|
115
|
+
});
|
|
84
116
|
(0, vitest_1.test)('sign in - invalid password', async () => {
|
|
85
117
|
const email = 'john@doe.com';
|
|
86
118
|
const password = '123';
|
|
@@ -93,7 +125,7 @@ const getIdentityProjectsSql_1 = require("./sql/getIdentityProjectsSql");
|
|
|
93
125
|
data: {
|
|
94
126
|
signIn: {
|
|
95
127
|
ok: false,
|
|
96
|
-
errors: [{ code:
|
|
128
|
+
errors: [{ code: 'INVALID_PASSWORD' }],
|
|
97
129
|
result: null,
|
|
98
130
|
},
|
|
99
131
|
},
|
|
@@ -114,7 +146,7 @@ const getIdentityProjectsSql_1 = require("./sql/getIdentityProjectsSql");
|
|
|
114
146
|
data: {
|
|
115
147
|
signIn: {
|
|
116
148
|
ok: false,
|
|
117
|
-
errors: [{ code:
|
|
149
|
+
errors: [{ code: 'OTP_REQUIRED' }],
|
|
118
150
|
result: null,
|
|
119
151
|
},
|
|
120
152
|
},
|
|
@@ -140,7 +172,7 @@ const getIdentityProjectsSql_1 = require("./sql/getIdentityProjectsSql");
|
|
|
140
172
|
data: {
|
|
141
173
|
signIn: {
|
|
142
174
|
ok: false,
|
|
143
|
-
errors: [{ code:
|
|
175
|
+
errors: [{ code: 'INVALID_OTP_TOKEN' }],
|
|
144
176
|
result: null,
|
|
145
177
|
},
|
|
146
178
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signInMutation.test.js","sourceRoot":"","sources":["../../../../../tests/cases/integration/mocked/signInMutation.test.ts"],"names":[],"mappings":";;AAAA,wDAAgE;AAChE,4CAAuC;AACvC,oDAAgD;AAChD,qEAAiE;AACjE,yCAA6C;AAC7C,mEAA+D;
|
|
1
|
+
{"version":3,"file":"signInMutation.test.js","sourceRoot":"","sources":["../../../../../tests/cases/integration/mocked/signInMutation.test.ts"],"names":[],"mappings":";;AAAA,wDAAgE;AAChE,4CAAuC;AACvC,oDAAgD;AAChD,qEAAiE;AACjE,yCAA6C;AAC7C,mEAA+D;AAE/D,mCAA6B;AAC7B,yCAAkD;AAClD,mCAA+B;AAC/B,mEAA+D;AAC/D,yEAAqE;AAErE,IAAA,aAAI,EAAC,UAAU,EAAE,KAAK,IAAI,EAAE;IAC3B,MAAM,KAAK,GAAG,cAAc,CAAA;IAC5B,MAAM,QAAQ,GAAG,KAAK,CAAA;IACtB,MAAM,UAAU,GAAG,IAAA,mBAAQ,EAAC,CAAC,CAAC,CAAA;IAC9B,MAAM,QAAQ,GAAG,IAAA,mBAAQ,EAAC,CAAC,CAAC,CAAA;IAC5B,MAAM,SAAS,GAAG,IAAA,mBAAQ,EAAC,EAAE,CAAC,CAAA;IAC9B,MAAM,QAAQ,GAAG,IAAA,mBAAQ,EAAC,CAAC,CAAC,CAAA;IAC5B,MAAM,IAAA,8BAAiB,EAAC;QACvB,KAAK,EAAE,IAAA,uBAAc,EAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAC9D,QAAQ,EAAE;YACT,IAAA,yCAAmB,EAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC;YACvF,IAAA,yCAAmB,EAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC;YACnE,IAAA,+CAAsB,EAAC,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;YACxE,IAAA,2CAAoB,EAAC;gBACpB,UAAU,EAAE,UAAU;gBACtB,SAAS;gBACT,mBAAmB,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;aAC1F,CAAC;YACF;gBACC,GAAG,EAAE,IAAA,UAAG,EAAA;;;;6BAIiB;gBACzB,UAAU,EAAE,CAAC,QAAQ,CAAC;gBACtB,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE;aACpD;YACD;gBACC,GAAG,EAAE,IAAA,UAAG,EAAA;;;;;;uDAM2C;gBACnD,UAAU,EAAE,CAAC,UAAU,CAAC;gBACxB,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE;aACpD;SACD;QACD,MAAM,EAAE;YACP,IAAI,EAAE;gBACL,MAAM,EAAE;oBACP,EAAE,EAAE,IAAI;oBACR,MAAM,EAAE,EAAE;oBACV,MAAM,EAAE;wBACP,MAAM,EAAE;4BACP,EAAE,EAAE,QAAQ;4BACZ,QAAQ,EAAE;gCACT,QAAQ,EAAE;oCACT;wCACC,OAAO,EAAE;4CACR,IAAI,EAAE,KAAK;yCACX;wCACD,WAAW,EAAE;4CACZ;gDACC,IAAI,EAAE,QAAQ;6CACd;yCACD;qCACD;iCACD;6BACD;yBACD;wBACD,KAAK,EAAE,0CAA0C;qBACjD;iBACD;aACD;SACD;KACD,CAAC,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,IAAA,aAAI,EAAC,4BAA4B,EAAE,KAAK,IAAI,EAAE;IAC7C,MAAM,KAAK,GAAG,eAAe,CAAA;IAC7B,MAAM,QAAQ,GAAG,KAAK,CAAA;IACtB,MAAM,UAAU,GAAG,IAAA,mBAAQ,EAAC,CAAC,CAAC,CAAA;IAC9B,MAAM,QAAQ,GAAG,IAAA,mBAAQ,EAAC,CAAC,CAAC,CAAA;IAC5B,MAAM,SAAS,GAAG,IAAA,mBAAQ,EAAC,EAAE,CAAC,CAAA;IAC9B,MAAM,QAAQ,GAAG,IAAA,mBAAQ,EAAC,CAAC,CAAC,CAAA;IAC5B,MAAM,IAAA,8BAAiB,EAAC;QACvB,KAAK,EAAE,IAAA,uBAAc,EAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;QAC1C,QAAQ,EAAE;YACT,IAAA,yCAAmB,EAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;YAC9C,IAAA,yCAAmB,EAAC,EAAE,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC;YACvG,IAAA,yCAAmB,EAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC;YACnE,IAAA,+CAAsB,EAAC,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;YACxE,IAAA,2CAAoB,EAAC;gBACpB,UAAU,EAAE,UAAU;gBACtB,SAAS;gBACT,mBAAmB,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;aAC1F,CAAC;SACF;QACD,MAAM,EAAE;YACP,IAAI,EAAE;gBACL,MAAM,EAAE;oBACP,EAAE,EAAE,IAAI;oBACR,MAAM,EAAE,EAAE;oBACV,MAAM,EAAE;wBACP,KAAK,EAAE,0CAA0C;qBACjD;iBACD;aACD;SACD;KACD,CAAC,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,IAAA,aAAI,EAAC,4BAA4B,EAAE,KAAK,IAAI,EAAE;IAC7C,MAAM,KAAK,GAAG,cAAc,CAAA;IAC5B,MAAM,QAAQ,GAAG,KAAK,CAAA;IACtB,MAAM,UAAU,GAAG,IAAA,mBAAQ,EAAC,CAAC,CAAC,CAAA;IAC9B,MAAM,QAAQ,GAAG,IAAA,mBAAQ,EAAC,CAAC,CAAC,CAAA;IAC5B,MAAM,IAAA,8BAAiB,EAAC;QACvB,KAAK,EAAE,IAAA,uBAAc,EAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;QAClD,QAAQ,EAAE,CAAC,IAAA,yCAAmB,EAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QACnG,MAAM,EAAE;YACP,IAAI,EAAE;gBACL,MAAM,EAAE;oBACP,EAAE,EAAE,KAAK;oBACT,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC;oBACtC,MAAM,EAAE,IAAI;iBACZ;aACD;SACD;KACD,CAAC,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,IAAA,aAAI,EAAC,wBAAwB,EAAE,KAAK,IAAI,EAAE;IACzC,MAAM,KAAK,GAAG,cAAc,CAAA;IAC5B,MAAM,QAAQ,GAAG,KAAK,CAAA;IACtB,MAAM,UAAU,GAAG,IAAA,mBAAQ,EAAC,CAAC,CAAC,CAAA;IAC9B,MAAM,QAAQ,GAAG,IAAA,mBAAQ,EAAC,CAAC,CAAC,CAAA;IAC5B,MAAM,IAAA,8BAAiB,EAAC;QACvB,KAAK,EAAE,IAAA,uBAAc,EAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;QAC1C,QAAQ,EAAE;YACT,IAAA,yCAAmB,EAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,iGAAiG,EAAE,EAAE,CAAC;SAClM;QACD,MAAM,EAAE;YACP,IAAI,EAAE;gBACL,MAAM,EAAE;oBACP,EAAE,EAAE,KAAK;oBACT,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;oBAClC,MAAM,EAAE,IAAI;iBACZ;aACD;SACD;KACD,CAAC,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,IAAA,aAAI,EAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;IAC9C,MAAM,KAAK,GAAG,cAAc,CAAA;IAC5B,MAAM,QAAQ,GAAG,KAAK,CAAA;IACtB,MAAM,UAAU,GAAG,IAAA,mBAAQ,EAAC,CAAC,CAAC,CAAA;IAC9B,MAAM,QAAQ,GAAG,IAAA,mBAAQ,EAAC,CAAC,CAAC,CAAA;IAE5B,MAAM,OAAO,GAAG,IAAI,sBAAgB,CAAC;QACpC,GAAG,EAAE,GAAG,EAAE,CAAC,gBAAG;QACd,WAAW,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,eAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;KACpD,CAAC,CAAA;IACF,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;IAErD,MAAM,IAAA,8BAAiB,EAAC;QACvB,KAAK,EAAE,IAAA,uBAAc,EAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;QAC9D,QAAQ,EAAE;YACT,IAAA,yCAAmB,EAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC;SACxG;QACD,MAAM,EAAE;YACP,IAAI,EAAE;gBACL,MAAM,EAAE;oBACP,EAAE,EAAE,KAAK;oBACT,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC;oBACvC,MAAM,EAAE,IAAI;iBACZ;aACD;SACD;KACD,CAAC,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,IAAA,aAAI,EAAC,2BAA2B,EAAE,KAAK,IAAI,EAAE;IAC5C,MAAM,KAAK,GAAG,cAAc,CAAA;IAC5B,MAAM,QAAQ,GAAG,KAAK,CAAA;IACtB,MAAM,UAAU,GAAG,IAAA,mBAAQ,EAAC,CAAC,CAAC,CAAA;IAC9B,MAAM,QAAQ,GAAG,IAAA,mBAAQ,EAAC,CAAC,CAAC,CAAA;IAC5B,MAAM,OAAO,GAAG,IAAI,sBAAgB,CAAC;QACpC,GAAG,EAAE,GAAG,EAAE,CAAC,gBAAG;QACd,WAAW,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,eAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;KACpD,CAAC,CAAA;IACF,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;IACrD,MAAM,QAAQ,GAAG,IAAA,mBAAQ,EAAC,CAAC,CAAC,CAAA;IAC5B,MAAM,SAAS,GAAG,IAAA,mBAAQ,EAAC,EAAE,CAAC,CAAA;IAC9B,MAAM,IAAA,8BAAiB,EAAC;QACvB,KAAK,EAAE,IAAA,uBAAc,EAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3E,QAAQ,EAAE;YACT,IAAA,yCAAmB,EAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC;YACxG,IAAA,yCAAmB,EAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;YAC7C,IAAA,+CAAsB,EAAC,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;YACjD,IAAA,2CAAoB,EAAC;gBACpB,UAAU;gBACV,SAAS;gBACT,mBAAmB,EAAE,EAAE;aACvB,CAAC;SACF;QACD,MAAM,EAAE;YACP,IAAI,EAAE;gBACL,MAAM,EAAE;oBACP,EAAE,EAAE,IAAI;oBACR,MAAM,EAAE,EAAE;oBACV,MAAM,EAAE;wBACP,KAAK,EAAE,0CAA0C;qBACjD;iBACD;aACD;SACD;KACD,CAAC,CAAA;AACH,CAAC,CAAC,CAAA"}
|
|
@@ -6,6 +6,7 @@ const tags_1 = require("../../../src/tags");
|
|
|
6
6
|
const disableApiKeySql_1 = require("./sql/disableApiKeySql");
|
|
7
7
|
const getPersonByIdentity_1 = require("./sql/getPersonByIdentity");
|
|
8
8
|
const vitest_1 = require("vitest");
|
|
9
|
+
const getApiKeySql_1 = require("./sql/getApiKeySql");
|
|
9
10
|
(0, vitest_1.test)('sign out', async () => {
|
|
10
11
|
const personId = (0, testUuid_1.testUuid)(1);
|
|
11
12
|
await (0, testTenant_1.executeTenantTest)({
|
|
@@ -24,6 +25,10 @@ const vitest_1 = require("vitest");
|
|
|
24
25
|
email: 'john@doe.com',
|
|
25
26
|
},
|
|
26
27
|
}),
|
|
28
|
+
(0, getApiKeySql_1.getApiKeySql)({
|
|
29
|
+
apiKeyId: testTenant_1.authenticatedApiKeyId,
|
|
30
|
+
response: { personId: personId, identityId: testTenant_1.authenticatedIdentityId, apiKeyType: "session" /* ApiKey.Type.SESSION */ },
|
|
31
|
+
}),
|
|
27
32
|
(0, disableApiKeySql_1.disableApiKey)({ id: testTenant_1.authenticatedApiKeyId }),
|
|
28
33
|
],
|
|
29
34
|
return: {
|
|
@@ -54,6 +59,10 @@ const vitest_1 = require("vitest");
|
|
|
54
59
|
roles: [],
|
|
55
60
|
},
|
|
56
61
|
}),
|
|
62
|
+
(0, getApiKeySql_1.getApiKeySql)({
|
|
63
|
+
apiKeyId: testTenant_1.authenticatedApiKeyId,
|
|
64
|
+
response: { personId: personId, identityId: testTenant_1.authenticatedIdentityId, apiKeyType: "session" /* ApiKey.Type.SESSION */ },
|
|
65
|
+
}),
|
|
57
66
|
{
|
|
58
67
|
sql: (0, tags_1.SQL) `update "tenant"."api_key" set "disabled_at" = ? where "identity_id" = ?`,
|
|
59
68
|
parameters: [(val) => val instanceof Date, identityId],
|
|
@@ -69,6 +78,50 @@ const vitest_1 = require("vitest");
|
|
|
69
78
|
},
|
|
70
79
|
});
|
|
71
80
|
});
|
|
81
|
+
(0, vitest_1.test)('sign out - permanent api key', async () => {
|
|
82
|
+
const identityId = testTenant_1.authenticatedIdentityId;
|
|
83
|
+
const personId = (0, testUuid_1.testUuid)(1);
|
|
84
|
+
await (0, testTenant_1.executeTenantTest)({
|
|
85
|
+
query: (0, tags_1.GQL) `mutation {
|
|
86
|
+
signOut(all: true) {
|
|
87
|
+
ok,
|
|
88
|
+
error {
|
|
89
|
+
code
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}`,
|
|
93
|
+
executes: [
|
|
94
|
+
(0, getPersonByIdentity_1.getPersonByIdentity)({
|
|
95
|
+
identityId,
|
|
96
|
+
response: {
|
|
97
|
+
password: '',
|
|
98
|
+
personId: personId,
|
|
99
|
+
email: 'john@doe.com',
|
|
100
|
+
roles: [],
|
|
101
|
+
},
|
|
102
|
+
}),
|
|
103
|
+
(0, getApiKeySql_1.getApiKeySql)({
|
|
104
|
+
apiKeyId: testTenant_1.authenticatedApiKeyId,
|
|
105
|
+
response: { personId: personId, identityId: testTenant_1.authenticatedIdentityId, apiKeyType: "permanent" /* ApiKey.Type.PERMANENT */ },
|
|
106
|
+
}),
|
|
107
|
+
{
|
|
108
|
+
sql: (0, tags_1.SQL) `update "tenant"."api_key" set "disabled_at" = ? where "identity_id" = ?`,
|
|
109
|
+
parameters: [(val) => val instanceof Date, identityId],
|
|
110
|
+
response: { rowCount: 1 },
|
|
111
|
+
},
|
|
112
|
+
],
|
|
113
|
+
return: {
|
|
114
|
+
data: {
|
|
115
|
+
signOut: {
|
|
116
|
+
ok: false,
|
|
117
|
+
error: {
|
|
118
|
+
code: 'NOT_POSSIBLE_SIGN_OUT_WITH_PERMANENT_API_KEY',
|
|
119
|
+
},
|
|
120
|
+
},
|
|
121
|
+
},
|
|
122
|
+
},
|
|
123
|
+
});
|
|
124
|
+
});
|
|
72
125
|
(0, vitest_1.test)('sign out - not a person', async () => {
|
|
73
126
|
await (0, testTenant_1.executeTenantTest)({
|
|
74
127
|
query: (0, tags_1.GQL) `mutation {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signOutMutation.test.js","sourceRoot":"","sources":["../../../../../tests/cases/integration/mocked/signOutMutation.test.ts"],"names":[],"mappings":";;AAAA,wDAA2G;AAC3G,oDAAgD;AAChD,4CAA4C;AAC5C,6DAAsD;AACtD,mEAA+D;AAC/D,mCAA6B;
|
|
1
|
+
{"version":3,"file":"signOutMutation.test.js","sourceRoot":"","sources":["../../../../../tests/cases/integration/mocked/signOutMutation.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,6 +22,11 @@ const vitest_1 = require("vitest");
|
|
|
22
22
|
(0, getPersonByEmailSql_1.getPersonByEmailSql)({ email, response: null }),
|
|
23
23
|
...(0, sqlTransaction_1.sqlTransaction)((0, createIdentitySql_1.createIdentitySql)({ identityId, roles: ['person'] }), (0, createPersonSql_1.createPersonSql)({ personId, email, password, identityId })),
|
|
24
24
|
(0, disableOneOffKeySql_1.disableOneOffKeySql)({ id: (0, testUuid_1.testUuid)(998) }),
|
|
25
|
+
{
|
|
26
|
+
sql: (0, tags_1.SQL) `select "id", "description", "roles" from "tenant"."identity" where "id" in (?)`,
|
|
27
|
+
parameters: [(0, testUuid_1.testUuid)(1)],
|
|
28
|
+
response: { rows: [{ id: (0, testUuid_1.testUuid)(1), description: '', roles: ['person'] }] },
|
|
29
|
+
},
|
|
25
30
|
{
|
|
26
31
|
sql: (0, tags_1.SQL) `select
|
|
27
32
|
"project"."id",
|
|
@@ -42,6 +47,10 @@ const vitest_1 = require("vitest");
|
|
|
42
47
|
result: {
|
|
43
48
|
person: {
|
|
44
49
|
id: personId,
|
|
50
|
+
identity: {
|
|
51
|
+
id: identityId,
|
|
52
|
+
roles: ['person'],
|
|
53
|
+
},
|
|
45
54
|
},
|
|
46
55
|
},
|
|
47
56
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signUpMutation.test.js","sourceRoot":"","sources":["../../../../../tests/cases/integration/mocked/signUpMutation.test.ts"],"names":[],"mappings":";;AAAA,wDAA2D;AAC3D,yCAA6C;AAC7C,4CAAuC;AACvC,oDAAgD;AAChD,2DAAuD;AACvD,+DAA2D;AAC3D,mEAA+D;AAC/D,yDAAqD;AACrD,mEAA+D;AAC/D,mCAA6B;AAE7B,IAAA,aAAI,EAAC,qBAAqB,EAAE,KAAK,IAAI,EAAE;IACtC,MAAM,KAAK,GAAG,cAAc,CAAA;IAC5B,MAAM,QAAQ,GAAG,QAAQ,CAAA;IACzB,MAAM,UAAU,GAAG,IAAA,mBAAQ,EAAC,CAAC,CAAC,CAAA;IAC9B,MAAM,QAAQ,GAAG,IAAA,mBAAQ,EAAC,CAAC,CAAC,CAAA;IAC5B,MAAM,SAAS,GAAG,IAAA,mBAAQ,EAAC,CAAC,CAAC,CAAA;IAC7B,MAAM,IAAA,8BAAiB,EAAC;QACvB,KAAK,EAAE,IAAA,uBAAc,EAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;QAC1C,QAAQ,EAAE;YACT,IAAA,yCAAmB,EAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;YAC9C,GAAG,IAAA,+BAAc,EAChB,IAAA,qCAAiB,EAAC,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,EACpD,IAAA,iCAAe,EAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAC1D;YACD,IAAA,yCAAmB,EAAC,EAAE,EAAE,EAAE,IAAA,mBAAQ,EAAC,GAAG,CAAC,EAAE,CAAC;YAC1C;gBACC,GAAG,EAAE,IAAA,UAAG,EAAA;;;;;;8DAMkD;gBAC1D,UAAU,EAAE,CAAC,UAAU,CAAC;gBACxB,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE;aACjE;SACD;QACD,MAAM,EAAE;YACP,IAAI,EAAE;gBACL,MAAM,EAAE;oBACP,EAAE,EAAE,IAAI;oBACR,MAAM,EAAE,EAAE;oBACV,MAAM,EAAE;wBACP,MAAM,EAAE;4BACP,EAAE,EAAE,QAAQ;
|
|
1
|
+
{"version":3,"file":"signUpMutation.test.js","sourceRoot":"","sources":["../../../../../tests/cases/integration/mocked/signUpMutation.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ExpectedQuery } from '@contember/database-tester';
|
|
2
|
+
import { ApiKey } from '../../../../../src';
|
|
3
|
+
export declare const getApiKeySql: (args: {
|
|
4
|
+
apiKeyId: string;
|
|
5
|
+
response: {
|
|
6
|
+
identityId: string;
|
|
7
|
+
personId: string;
|
|
8
|
+
apiKeyType: ApiKey.Type;
|
|
9
|
+
};
|
|
10
|
+
}) => ExpectedQuery;
|
|
11
|
+
//# sourceMappingURL=getApiKeySql.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getApiKeySql.d.ts","sourceRoot":"","sources":["../../../../../../tests/cases/integration/mocked/sql/getApiKeySql.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAE3C,eAAO,MAAM,YAAY,SAAU;IAClC,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,OAAO,IAAI,CAAA;KAAE,CAAA;CAC3E,KAAG,aAyBF,CAAA"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getApiKeySql = void 0;
|
|
4
|
+
const tags_1 = require("../../../../src/tags");
|
|
5
|
+
const getApiKeySql = (args) => ({
|
|
6
|
+
sql: (0, tags_1.SQL) `select "api_key"."id", "api_key"."type", "api_key"."identity_id", "api_key"."disabled_at", "api_key"."expires_at", "identity"."roles", "api_key"."expiration", "person"."id" as "person_id"
|
|
7
|
+
from "tenant"."api_key"
|
|
8
|
+
inner join "tenant"."identity" as "identity" on "api_key"."identity_id" = "identity"."id"
|
|
9
|
+
left join "tenant"."person" as "person" on "person"."identity_id" = "identity"."id"
|
|
10
|
+
where "api_key"."id" = ?
|
|
11
|
+
`,
|
|
12
|
+
parameters: [args.apiKeyId],
|
|
13
|
+
response: {
|
|
14
|
+
rows: args.response
|
|
15
|
+
? [
|
|
16
|
+
{
|
|
17
|
+
id: args.apiKeyId,
|
|
18
|
+
type: args.response.apiKeyType,
|
|
19
|
+
identity_id: args.response.identityId,
|
|
20
|
+
disabled_at: null,
|
|
21
|
+
expires_at: null,
|
|
22
|
+
expiration: null,
|
|
23
|
+
roles: [],
|
|
24
|
+
person_id: args.response.personId,
|
|
25
|
+
},
|
|
26
|
+
]
|
|
27
|
+
: [],
|
|
28
|
+
},
|
|
29
|
+
});
|
|
30
|
+
exports.getApiKeySql = getApiKeySql;
|
|
31
|
+
//# sourceMappingURL=getApiKeySql.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getApiKeySql.js","sourceRoot":"","sources":["../../../../../../tests/cases/integration/mocked/sql/getApiKeySql.ts"],"names":[],"mappings":";;;AAAA,+CAA0C;AAInC,MAAM,YAAY,GAAG,CAAC,IAG5B,EAAiB,EAAE,CAAC,CAAC;IACrB,GAAG,EAAE,IAAA,UAAG,EACR;;;;;EAKC;IACD,UAAU,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC;IAC3B,QAAQ,EAAE;QACT,IAAI,EAAE,IAAI,CAAC,QAAQ;YAClB,CAAC,CAAC;gBACD;oBACC,EAAE,EAAE,IAAI,CAAC,QAAQ;oBACjB,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU;oBAC9B,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU;oBACrC,WAAW,EAAE,IAAI;oBACjB,UAAU,EAAE,IAAI;oBAChB,UAAU,EAAE,IAAI;oBAChB,KAAK,EAAE,EAAE;oBACT,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ;iBACjC;aACD;YACD,CAAC,CAAC,EAAE;KACL;CACD,CAAC,CAAA;AA5BW,QAAA,YAAY,gBA4BvB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getPersonByEmailSql.d.ts","sourceRoot":"","sources":["../../../../../../tests/cases/integration/mocked/sql/getPersonByEmailSql.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAG1D,eAAO,MAAM,mBAAmB,SAAU;IACzC,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,IAAI,GAAG;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAC7G,KAAG,
|
|
1
|
+
{"version":3,"file":"getPersonByEmailSql.d.ts","sourceRoot":"","sources":["../../../../../../tests/cases/integration/mocked/sql/getPersonByEmailSql.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAG1D,eAAO,MAAM,mBAAmB,SAAU;IACzC,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,IAAI,GAAG;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAC7G,KAAG,aAsBF,CAAA"}
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.getPersonByEmailSql = void 0;
|
|
4
4
|
const tags_1 = require("../../../../src/tags");
|
|
5
5
|
const getPersonByEmailSql = (args) => ({
|
|
6
|
-
sql: (0, tags_1.SQL) `SELECT "person"."id", "person"."password_hash", "person"."otp_uri", "person"."otp_activated_at", "person"."identity_id", "person"."email", "person"."name", "identity"."roles"
|
|
6
|
+
sql: (0, tags_1.SQL) `SELECT "person"."id", "person"."password_hash", "person"."otp_uri", "person"."otp_activated_at", "person"."identity_id", "person"."email", "person"."name", "person"."disabled_at", "identity"."roles"
|
|
7
7
|
FROM "tenant"."person"
|
|
8
8
|
INNER JOIN "tenant"."identity" AS "identity" ON "identity"."id" = "person"."identity_id"
|
|
9
9
|
WHERE "person"."email" = ?`,
|
|
@@ -19,6 +19,7 @@ const getPersonByEmailSql = (args) => ({
|
|
|
19
19
|
email: args.email,
|
|
20
20
|
otp_uri: args.response.otpUri,
|
|
21
21
|
otp_activated_at: args.response.otpUri ? new Date() : null,
|
|
22
|
+
disabled_at: null,
|
|
22
23
|
},
|
|
23
24
|
]
|
|
24
25
|
: [],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getPersonByEmailSql.js","sourceRoot":"","sources":["../../../../../../tests/cases/integration/mocked/sql/getPersonByEmailSql.ts"],"names":[],"mappings":";;;AACA,+CAA0C;AAEnC,MAAM,mBAAmB,GAAG,CAAC,IAGnC,EAAiB,EAAE,CAAC,CAAC;IACrB,GAAG,EAAE,IAAA,UAAG,EAAA;;;qCAG4B;IACpC,UAAU,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;IACxB,QAAQ,EAAE;QACT,IAAI,EAAE,IAAI,CAAC,QAAQ;YAClB,CAAC,CAAC;gBACD;oBACC,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ;oBAC1B,aAAa,EAAE,YAAY,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE;oBACnD,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU;oBACrC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK;oBAC1B,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM;oBAC7B,gBAAgB,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI;
|
|
1
|
+
{"version":3,"file":"getPersonByEmailSql.js","sourceRoot":"","sources":["../../../../../../tests/cases/integration/mocked/sql/getPersonByEmailSql.ts"],"names":[],"mappings":";;;AACA,+CAA0C;AAEnC,MAAM,mBAAmB,GAAG,CAAC,IAGnC,EAAiB,EAAE,CAAC,CAAC;IACrB,GAAG,EAAE,IAAA,UAAG,EAAA;;;qCAG4B;IACpC,UAAU,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;IACxB,QAAQ,EAAE;QACT,IAAI,EAAE,IAAI,CAAC,QAAQ;YAClB,CAAC,CAAC;gBACD;oBACC,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ;oBAC1B,aAAa,EAAE,YAAY,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE;oBACnD,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU;oBACrC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK;oBAC1B,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM;oBAC7B,gBAAgB,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI;oBAC1D,WAAW,EAAE,IAAI;iBACjB;aACC;YACH,CAAC,CAAC,EAAE;KACL;CACD,CAAC,CAAA;AAzBW,QAAA,mBAAmB,uBAyB9B"}
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.getPersonByIdSql = void 0;
|
|
4
4
|
const tags_1 = require("../../../../src/tags");
|
|
5
5
|
const getPersonByIdSql = (args) => ({
|
|
6
|
-
sql: (0, tags_1.SQL) `SELECT "person"."id", "person"."password_hash", "person"."otp_uri", "person"."otp_activated_at", "person"."identity_id", "person"."email", "person"."name", "identity"."roles"
|
|
6
|
+
sql: (0, tags_1.SQL) `SELECT "person"."id", "person"."password_hash", "person"."otp_uri", "person"."otp_activated_at", "person"."identity_id", "person"."email", "person"."name", "person"."disabled_at", "identity"."roles"
|
|
7
7
|
FROM "tenant"."person"
|
|
8
8
|
INNER JOIN "tenant"."identity" AS "identity" ON "identity"."id" = "person"."identity_id"
|
|
9
9
|
WHERE "person"."id" = ?`,
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.getPersonByIdentity = void 0;
|
|
4
4
|
const tags_1 = require("../../../../src/tags");
|
|
5
5
|
const getPersonByIdentity = (args) => ({
|
|
6
|
-
sql: (0, tags_1.SQL) `SELECT "person"."id", "person"."password_hash", "person"."otp_uri", "person"."otp_activated_at", "person"."identity_id", "person"."email", "person"."name", "identity"."roles"
|
|
6
|
+
sql: (0, tags_1.SQL) `SELECT "person"."id", "person"."password_hash", "person"."otp_uri", "person"."otp_activated_at", "person"."identity_id", "person"."email", "person"."name", "person"."disabled_at", "identity"."roles"
|
|
7
7
|
FROM "tenant"."person"
|
|
8
8
|
INNER JOIN "tenant"."identity" AS "identity" ON "identity"."id" = "person"."identity_id"
|
|
9
9
|
WHERE "person"."identity_id" = ?`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getPersonByIdpSql.d.ts","sourceRoot":"","sources":["../../../../../../tests/cases/integration/mocked/sql/getPersonByIdpSql.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAG1D,eAAO,MAAM,iBAAiB,SAAU;IACvC,kBAAkB,EAAE,MAAM,CAAA;IAC1B,kBAAkB,EAAE,MAAM,CAAA;IAC1B,QAAQ,EAAE,IAAI,GAAG;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAC7H,KAAG,
|
|
1
|
+
{"version":3,"file":"getPersonByIdpSql.d.ts","sourceRoot":"","sources":["../../../../../../tests/cases/integration/mocked/sql/getPersonByIdpSql.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAG1D,eAAO,MAAM,iBAAiB,SAAU;IACvC,kBAAkB,EAAE,MAAM,CAAA;IAC1B,kBAAkB,EAAE,MAAM,CAAA;IAC1B,QAAQ,EAAE,IAAI,GAAG;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAC7H,KAAG,aAwBF,CAAA"}
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.getPersonByIdpSql = void 0;
|
|
4
4
|
const tags_1 = require("../../../../src/tags");
|
|
5
5
|
const getPersonByIdpSql = (args) => ({
|
|
6
|
-
sql: (0, tags_1.SQL) `SELECT "person"."id", "person"."password_hash", "person"."otp_uri", "person"."otp_activated_at", "person"."identity_id", "person"."email", "person"."name", "identity"."roles"
|
|
6
|
+
sql: (0, tags_1.SQL) `SELECT "person"."id", "person"."password_hash", "person"."otp_uri", "person"."otp_activated_at", "person"."identity_id", "person"."email", "person"."name", "person"."disabled_at", "identity"."roles"
|
|
7
7
|
FROM "tenant"."person"
|
|
8
8
|
INNER JOIN "tenant"."identity" AS "identity" ON "identity"."id" = "person"."identity_id"
|
|
9
9
|
INNER JOIN "tenant"."person_identity_provider" as "idp" on "idp"."person_id" = "person"."id"
|
|
@@ -21,6 +21,7 @@ const getPersonByIdpSql = (args) => ({
|
|
|
21
21
|
email: args.response.email,
|
|
22
22
|
otp_uri: args.response.otpUri,
|
|
23
23
|
otp_activated_at: args.response.otpUri ? new Date() : null,
|
|
24
|
+
disabled_at: null,
|
|
24
25
|
},
|
|
25
26
|
]
|
|
26
27
|
: [],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getPersonByIdpSql.js","sourceRoot":"","sources":["../../../../../../tests/cases/integration/mocked/sql/getPersonByIdpSql.ts"],"names":[],"mappings":";;;AACA,+CAA0C;AAEnC,MAAM,iBAAiB,GAAG,CAAC,IAIjC,EAAiB,EAAE,CAAC,CAAC;IACrB,GAAG,EAAE,IAAA,UAAG,EAAA;;;;;iBAKQ;IAChB,UAAU,EAAE,CAAC,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,kBAAkB,CAAC;IAC9D,QAAQ,EAAE;QACT,IAAI,EAAE,IAAI,CAAC,QAAQ;YAClB,CAAC,CAAC;gBACD;oBACC,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ;oBAC1B,aAAa,EAAE,YAAY,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE;oBACnD,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU;oBACrC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK;oBAC1B,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK;oBAC1B,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM;oBAC7B,gBAAgB,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI;
|
|
1
|
+
{"version":3,"file":"getPersonByIdpSql.js","sourceRoot":"","sources":["../../../../../../tests/cases/integration/mocked/sql/getPersonByIdpSql.ts"],"names":[],"mappings":";;;AACA,+CAA0C;AAEnC,MAAM,iBAAiB,GAAG,CAAC,IAIjC,EAAiB,EAAE,CAAC,CAAC;IACrB,GAAG,EAAE,IAAA,UAAG,EAAA;;;;;iBAKQ;IAChB,UAAU,EAAE,CAAC,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,kBAAkB,CAAC;IAC9D,QAAQ,EAAE;QACT,IAAI,EAAE,IAAI,CAAC,QAAQ;YAClB,CAAC,CAAC;gBACD;oBACC,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ;oBAC1B,aAAa,EAAE,YAAY,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE;oBACnD,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU;oBACrC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK;oBAC1B,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK;oBAC1B,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM;oBAC7B,gBAAgB,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI;oBAC1D,WAAW,EAAE,IAAI;iBACjB;aACC;YACH,CAAC,CAAC,EAAE;KACL;CACD,CAAC,CAAA;AA5BW,QAAA,iBAAiB,qBA4B5B"}
|
|
@@ -11,6 +11,7 @@ const aclSchemaAdminCanManageEditorWithMatchingVariables = {
|
|
|
11
11
|
entities: {},
|
|
12
12
|
variables: {},
|
|
13
13
|
tenant: {
|
|
14
|
+
invite: true,
|
|
14
15
|
manage: {
|
|
15
16
|
editor: {
|
|
16
17
|
variables: { site: 'site' },
|
|
@@ -38,4 +39,30 @@ const aclEvaluator = { evaluate: () => Promise.reject() };
|
|
|
38
39
|
const node = new src_1.AclSchemaAccessNodeFactory().create(aclSchemaAdminCanManageEditorWithMatchingVariables, adminOfSiteA);
|
|
39
40
|
vitest_1.assert.notOk(await node.isAllowed(aclEvaluator, src_1.PermissionActions.PROJECT_ADD_MEMBER(editorOfSiteB)));
|
|
40
41
|
});
|
|
42
|
+
(0, vitest_1.test)('admin can invite editor role with matching variable', async () => {
|
|
43
|
+
const node = new src_1.AclSchemaAccessNodeFactory().create(aclSchemaAdminCanManageEditorWithMatchingVariables, adminOfSiteA);
|
|
44
|
+
vitest_1.assert.ok(await node.isAllowed(aclEvaluator, src_1.PermissionActions.PERSON_INVITE(editorOfSiteA)));
|
|
45
|
+
});
|
|
46
|
+
const aclSchemaForInviteOnly = {
|
|
47
|
+
roles: {
|
|
48
|
+
admin: {
|
|
49
|
+
entities: {},
|
|
50
|
+
variables: {},
|
|
51
|
+
tenant: {
|
|
52
|
+
invite: {
|
|
53
|
+
public: true,
|
|
54
|
+
},
|
|
55
|
+
manage: {
|
|
56
|
+
lorem: true,
|
|
57
|
+
},
|
|
58
|
+
},
|
|
59
|
+
},
|
|
60
|
+
},
|
|
61
|
+
};
|
|
62
|
+
(0, vitest_1.test)('admin can invite public. cannat manage public, cannot invite lorem', async () => {
|
|
63
|
+
const node = new src_1.AclSchemaAccessNodeFactory().create(aclSchemaForInviteOnly, [{ role: 'admin', variables: [] }]);
|
|
64
|
+
vitest_1.assert.ok(await node.isAllowed(aclEvaluator, src_1.PermissionActions.PERSON_INVITE([{ role: 'public', variables: [] }])));
|
|
65
|
+
vitest_1.assert.notOk(await node.isAllowed(aclEvaluator, src_1.PermissionActions.PERSON_INVITE([{ role: 'lorem', variables: [] }])));
|
|
66
|
+
vitest_1.assert.notOk(await node.isAllowed(aclEvaluator, src_1.PermissionActions.PROJECT_REMOVE_MEMBER([{ role: 'public', variables: [] }])));
|
|
67
|
+
});
|
|
41
68
|
//# sourceMappingURL=membershipAwareAccessNode.test.js.map
|