@contember/engine-tenant-api 2.1.0-alpha.1 → 2.1.0-alpha.10
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/development/src/bridges/system/IdentityFetcher.cjs +0 -1
- package/dist/development/src/bridges/system/IdentityFetcher.cjs.map +1 -1
- package/dist/development/src/bridges/system/IdentityFetcher.js +0 -1
- package/dist/development/src/bridges/system/IdentityFetcher.js.map +1 -1
- package/dist/development/src/migrations/runner.cjs +0 -1
- package/dist/development/src/migrations/runner.cjs.map +1 -1
- package/dist/development/src/migrations/runner.js +0 -1
- package/dist/development/src/migrations/runner.js.map +1 -1
- package/dist/development/src/model/service/IDPSignInManager.cjs +0 -1
- package/dist/development/src/model/service/IDPSignInManager.cjs.map +1 -1
- package/dist/development/src/model/service/IDPSignInManager.js +0 -1
- package/dist/development/src/model/service/IDPSignInManager.js.map +1 -1
- package/dist/development/src/model/service/idp/providers/OIDCHelpers.cjs +0 -3
- package/dist/development/src/model/service/idp/providers/OIDCHelpers.cjs.map +1 -1
- package/dist/development/src/model/service/idp/providers/OIDCHelpers.js +1 -4
- package/dist/development/src/model/service/idp/providers/OIDCHelpers.js.map +1 -1
- package/dist/development/src/model/service/idp/providers/OIDCProvider.cjs +4 -1
- package/dist/development/src/model/service/idp/providers/OIDCProvider.cjs.map +1 -1
- package/dist/development/src/model/service/idp/providers/OIDCProvider.js +5 -2
- package/dist/development/src/model/service/idp/providers/OIDCProvider.js.map +1 -1
- package/dist/development/src/model/service/idp/providers/OIDCTypes.cjs +2 -1
- package/dist/development/src/model/service/idp/providers/OIDCTypes.cjs.map +1 -1
- package/dist/development/src/model/service/idp/providers/OIDCTypes.js +2 -1
- package/dist/development/src/model/service/idp/providers/OIDCTypes.js.map +1 -1
- package/dist/development/src/resolvers/mutation/apiKey/CreateApiKeyMutationResolver.cjs +0 -1
- package/dist/development/src/resolvers/mutation/apiKey/CreateApiKeyMutationResolver.cjs.map +1 -1
- package/dist/development/src/resolvers/mutation/apiKey/CreateApiKeyMutationResolver.js +0 -1
- package/dist/development/src/resolvers/mutation/apiKey/CreateApiKeyMutationResolver.js.map +1 -1
- package/dist/development/src/resolvers/mutation/apiKey/DisableApiKeyMutationResolver.cjs +0 -1
- package/dist/development/src/resolvers/mutation/apiKey/DisableApiKeyMutationResolver.cjs.map +1 -1
- package/dist/development/src/resolvers/mutation/apiKey/DisableApiKeyMutationResolver.js +0 -1
- package/dist/development/src/resolvers/mutation/apiKey/DisableApiKeyMutationResolver.js.map +1 -1
- package/dist/development/src/resolvers/mutation/configuration/ConfigurationMutationResolver.cjs +0 -1
- package/dist/development/src/resolvers/mutation/configuration/ConfigurationMutationResolver.cjs.map +1 -1
- package/dist/development/src/resolvers/mutation/configuration/ConfigurationMutationResolver.js +0 -1
- package/dist/development/src/resolvers/mutation/configuration/ConfigurationMutationResolver.js.map +1 -1
- package/dist/development/src/resolvers/mutation/identity/GlobalRolesMutationResolver.cjs +0 -1
- package/dist/development/src/resolvers/mutation/identity/GlobalRolesMutationResolver.cjs.map +1 -1
- package/dist/development/src/resolvers/mutation/identity/GlobalRolesMutationResolver.js +0 -1
- package/dist/development/src/resolvers/mutation/identity/GlobalRolesMutationResolver.js.map +1 -1
- package/dist/development/src/resolvers/mutation/idp/AddIDPMutationResolver.cjs +0 -1
- package/dist/development/src/resolvers/mutation/idp/AddIDPMutationResolver.cjs.map +1 -1
- package/dist/development/src/resolvers/mutation/idp/AddIDPMutationResolver.js +0 -1
- package/dist/development/src/resolvers/mutation/idp/AddIDPMutationResolver.js.map +1 -1
- package/dist/development/src/resolvers/mutation/idp/DisableIDPMutationResolver.cjs +0 -1
- package/dist/development/src/resolvers/mutation/idp/DisableIDPMutationResolver.cjs.map +1 -1
- package/dist/development/src/resolvers/mutation/idp/DisableIDPMutationResolver.js +0 -1
- package/dist/development/src/resolvers/mutation/idp/DisableIDPMutationResolver.js.map +1 -1
- package/dist/development/src/resolvers/mutation/idp/EnableIDPMutationResolver.cjs +0 -1
- package/dist/development/src/resolvers/mutation/idp/EnableIDPMutationResolver.cjs.map +1 -1
- package/dist/development/src/resolvers/mutation/idp/EnableIDPMutationResolver.js +0 -1
- package/dist/development/src/resolvers/mutation/idp/EnableIDPMutationResolver.js.map +1 -1
- package/dist/development/src/resolvers/mutation/idp/UpdateIDPMutationResolver.cjs +0 -1
- package/dist/development/src/resolvers/mutation/idp/UpdateIDPMutationResolver.cjs.map +1 -1
- package/dist/development/src/resolvers/mutation/idp/UpdateIDPMutationResolver.js +0 -1
- package/dist/development/src/resolvers/mutation/idp/UpdateIDPMutationResolver.js.map +1 -1
- package/dist/development/src/resolvers/mutation/mailTemplates/MailTemplateMutationResolver.cjs +0 -1
- package/dist/development/src/resolvers/mutation/mailTemplates/MailTemplateMutationResolver.cjs.map +1 -1
- package/dist/development/src/resolvers/mutation/mailTemplates/MailTemplateMutationResolver.js +0 -1
- package/dist/development/src/resolvers/mutation/mailTemplates/MailTemplateMutationResolver.js.map +1 -1
- package/dist/development/src/resolvers/mutation/person/ChangePasswordMutationResolver.cjs +0 -1
- package/dist/development/src/resolvers/mutation/person/ChangePasswordMutationResolver.cjs.map +1 -1
- package/dist/development/src/resolvers/mutation/person/ChangePasswordMutationResolver.js +0 -1
- package/dist/development/src/resolvers/mutation/person/ChangePasswordMutationResolver.js.map +1 -1
- package/dist/development/src/resolvers/mutation/person/ChangeProfileMutationResolver.cjs +0 -1
- package/dist/development/src/resolvers/mutation/person/ChangeProfileMutationResolver.cjs.map +1 -1
- package/dist/development/src/resolvers/mutation/person/ChangeProfileMutationResolver.js +0 -1
- package/dist/development/src/resolvers/mutation/person/ChangeProfileMutationResolver.js.map +1 -1
- package/dist/development/src/resolvers/mutation/person/DisablePersonMutationResolver.cjs +0 -1
- package/dist/development/src/resolvers/mutation/person/DisablePersonMutationResolver.cjs.map +1 -1
- package/dist/development/src/resolvers/mutation/person/DisablePersonMutationResolver.js +0 -1
- package/dist/development/src/resolvers/mutation/person/DisablePersonMutationResolver.js.map +1 -1
- package/dist/development/src/resolvers/mutation/person/IDPMutationResolver.cjs +0 -1
- package/dist/development/src/resolvers/mutation/person/IDPMutationResolver.cjs.map +1 -1
- package/dist/development/src/resolvers/mutation/person/IDPMutationResolver.js +0 -1
- package/dist/development/src/resolvers/mutation/person/IDPMutationResolver.js.map +1 -1
- package/dist/development/src/resolvers/mutation/person/InviteMutationResolver.cjs +0 -1
- package/dist/development/src/resolvers/mutation/person/InviteMutationResolver.cjs.map +1 -1
- package/dist/development/src/resolvers/mutation/person/InviteMutationResolver.js +0 -1
- package/dist/development/src/resolvers/mutation/person/InviteMutationResolver.js.map +1 -1
- package/dist/development/src/resolvers/mutation/person/OtpMutationResolver.cjs +0 -1
- package/dist/development/src/resolvers/mutation/person/OtpMutationResolver.cjs.map +1 -1
- package/dist/development/src/resolvers/mutation/person/OtpMutationResolver.js +0 -1
- package/dist/development/src/resolvers/mutation/person/OtpMutationResolver.js.map +1 -1
- package/dist/development/src/resolvers/mutation/person/PasswordlessMutationResolver.cjs +0 -1
- package/dist/development/src/resolvers/mutation/person/PasswordlessMutationResolver.cjs.map +1 -1
- package/dist/development/src/resolvers/mutation/person/PasswordlessMutationResolver.js +0 -1
- package/dist/development/src/resolvers/mutation/person/PasswordlessMutationResolver.js.map +1 -1
- package/dist/development/src/resolvers/mutation/person/ResetPasswordMutationResolver.cjs +0 -1
- package/dist/development/src/resolvers/mutation/person/ResetPasswordMutationResolver.cjs.map +1 -1
- package/dist/development/src/resolvers/mutation/person/ResetPasswordMutationResolver.js +0 -1
- package/dist/development/src/resolvers/mutation/person/ResetPasswordMutationResolver.js.map +1 -1
- package/dist/development/src/resolvers/mutation/person/SignInMutationResolver.cjs +0 -1
- package/dist/development/src/resolvers/mutation/person/SignInMutationResolver.cjs.map +1 -1
- package/dist/development/src/resolvers/mutation/person/SignInMutationResolver.js +0 -1
- package/dist/development/src/resolvers/mutation/person/SignInMutationResolver.js.map +1 -1
- package/dist/development/src/resolvers/mutation/person/SignOutMutationResolver.cjs +0 -1
- package/dist/development/src/resolvers/mutation/person/SignOutMutationResolver.cjs.map +1 -1
- package/dist/development/src/resolvers/mutation/person/SignOutMutationResolver.js +0 -1
- package/dist/development/src/resolvers/mutation/person/SignOutMutationResolver.js.map +1 -1
- package/dist/development/src/resolvers/mutation/person/SignUpMutationResolver.cjs +0 -1
- package/dist/development/src/resolvers/mutation/person/SignUpMutationResolver.cjs.map +1 -1
- package/dist/development/src/resolvers/mutation/person/SignUpMutationResolver.js +0 -1
- package/dist/development/src/resolvers/mutation/person/SignUpMutationResolver.js.map +1 -1
- package/dist/development/src/resolvers/mutation/person/TogglePasswordlessMutationResolver.cjs +0 -1
- package/dist/development/src/resolvers/mutation/person/TogglePasswordlessMutationResolver.cjs.map +1 -1
- package/dist/development/src/resolvers/mutation/person/TogglePasswordlessMutationResolver.js +0 -1
- package/dist/development/src/resolvers/mutation/person/TogglePasswordlessMutationResolver.js.map +1 -1
- package/dist/development/src/resolvers/mutation/project/CreateProjectMutationResolver.cjs +0 -1
- package/dist/development/src/resolvers/mutation/project/CreateProjectMutationResolver.cjs.map +1 -1
- package/dist/development/src/resolvers/mutation/project/CreateProjectMutationResolver.js +0 -1
- package/dist/development/src/resolvers/mutation/project/CreateProjectMutationResolver.js.map +1 -1
- package/dist/development/src/resolvers/mutation/project/SetProjectSecretMutationResolver.cjs +0 -1
- package/dist/development/src/resolvers/mutation/project/SetProjectSecretMutationResolver.cjs.map +1 -1
- package/dist/development/src/resolvers/mutation/project/SetProjectSecretMutationResolver.js +0 -1
- package/dist/development/src/resolvers/mutation/project/SetProjectSecretMutationResolver.js.map +1 -1
- package/dist/development/src/resolvers/mutation/project/UpdateProjectMutationResolver.cjs +0 -1
- package/dist/development/src/resolvers/mutation/project/UpdateProjectMutationResolver.cjs.map +1 -1
- package/dist/development/src/resolvers/mutation/project/UpdateProjectMutationResolver.js +0 -1
- package/dist/development/src/resolvers/mutation/project/UpdateProjectMutationResolver.js.map +1 -1
- package/dist/development/src/resolvers/mutation/projectMember/AddProjectMemberMutationResolver.cjs +0 -1
- package/dist/development/src/resolvers/mutation/projectMember/AddProjectMemberMutationResolver.cjs.map +1 -1
- package/dist/development/src/resolvers/mutation/projectMember/AddProjectMemberMutationResolver.js +0 -1
- package/dist/development/src/resolvers/mutation/projectMember/AddProjectMemberMutationResolver.js.map +1 -1
- package/dist/development/src/resolvers/mutation/projectMember/RemoveProjectMemberMutationResolver.cjs +0 -1
- package/dist/development/src/resolvers/mutation/projectMember/RemoveProjectMemberMutationResolver.cjs.map +1 -1
- package/dist/development/src/resolvers/mutation/projectMember/RemoveProjectMemberMutationResolver.js +0 -1
- package/dist/development/src/resolvers/mutation/projectMember/RemoveProjectMemberMutationResolver.js.map +1 -1
- package/dist/development/src/resolvers/mutation/projectMember/UpdateProjectMemberMutationResolver.cjs +0 -1
- package/dist/development/src/resolvers/mutation/projectMember/UpdateProjectMemberMutationResolver.cjs.map +1 -1
- package/dist/development/src/resolvers/mutation/projectMember/UpdateProjectMemberMutationResolver.js +0 -1
- package/dist/development/src/resolvers/mutation/projectMember/UpdateProjectMemberMutationResolver.js.map +1 -1
- package/dist/development/src/resolvers/query/ConfigurationQueryResolver.cjs +0 -1
- package/dist/development/src/resolvers/query/ConfigurationQueryResolver.cjs.map +1 -1
- package/dist/development/src/resolvers/query/ConfigurationQueryResolver.js +0 -1
- package/dist/development/src/resolvers/query/ConfigurationQueryResolver.js.map +1 -1
- package/dist/development/src/resolvers/query/IDPQueryResolver.cjs +0 -1
- package/dist/development/src/resolvers/query/IDPQueryResolver.cjs.map +1 -1
- package/dist/development/src/resolvers/query/IDPQueryResolver.js +0 -1
- package/dist/development/src/resolvers/query/IDPQueryResolver.js.map +1 -1
- package/dist/development/src/resolvers/query/MailTemplateQueryResolver.cjs +0 -1
- package/dist/development/src/resolvers/query/MailTemplateQueryResolver.cjs.map +1 -1
- package/dist/development/src/resolvers/query/MailTemplateQueryResolver.js +0 -1
- package/dist/development/src/resolvers/query/MailTemplateQueryResolver.js.map +1 -1
- package/dist/development/src/resolvers/query/PersonQueryResolver.cjs +0 -1
- package/dist/development/src/resolvers/query/PersonQueryResolver.cjs.map +1 -1
- package/dist/development/src/resolvers/query/PersonQueryResolver.js +0 -1
- package/dist/development/src/resolvers/query/PersonQueryResolver.js.map +1 -1
- package/dist/development/src/resolvers/query/ProjectMembersQueryResolver.cjs +0 -1
- package/dist/development/src/resolvers/query/ProjectMembersQueryResolver.cjs.map +1 -1
- package/dist/development/src/resolvers/query/ProjectMembersQueryResolver.js +0 -1
- package/dist/development/src/resolvers/query/ProjectMembersQueryResolver.js.map +1 -1
- package/dist/development/src/resolvers/query/ProjectQueryResolver.cjs +0 -1
- package/dist/development/src/resolvers/query/ProjectQueryResolver.cjs.map +1 -1
- package/dist/development/src/resolvers/query/ProjectQueryResolver.js +0 -1
- package/dist/development/src/resolvers/query/ProjectQueryResolver.js.map +1 -1
- package/dist/development/src/resolvers/responseHelpers/SignInResponseFactory.cjs +0 -1
- package/dist/development/src/resolvers/responseHelpers/SignInResponseFactory.cjs.map +1 -1
- package/dist/development/src/resolvers/responseHelpers/SignInResponseFactory.js +0 -1
- package/dist/development/src/resolvers/responseHelpers/SignInResponseFactory.js.map +1 -1
- package/dist/development/src/resolvers/types/IdentityTypeResolver.cjs +0 -1
- package/dist/development/src/resolvers/types/IdentityTypeResolver.cjs.map +1 -1
- package/dist/development/src/resolvers/types/IdentityTypeResolver.js +0 -1
- package/dist/development/src/resolvers/types/IdentityTypeResolver.js.map +1 -1
- package/dist/development/src/resolvers/types/ProjectTypeResolver.cjs +0 -1
- package/dist/development/src/resolvers/types/ProjectTypeResolver.cjs.map +1 -1
- package/dist/development/src/resolvers/types/ProjectTypeResolver.js +0 -1
- package/dist/development/src/resolvers/types/ProjectTypeResolver.js.map +1 -1
- package/dist/production/src/bridges/system/IdentityFetcher.cjs +0 -1
- package/dist/production/src/bridges/system/IdentityFetcher.cjs.map +1 -1
- package/dist/production/src/bridges/system/IdentityFetcher.js +0 -1
- package/dist/production/src/bridges/system/IdentityFetcher.js.map +1 -1
- package/dist/production/src/migrations/runner.cjs +0 -1
- package/dist/production/src/migrations/runner.cjs.map +1 -1
- package/dist/production/src/migrations/runner.js +0 -1
- package/dist/production/src/migrations/runner.js.map +1 -1
- package/dist/production/src/model/service/IDPSignInManager.cjs +0 -1
- package/dist/production/src/model/service/IDPSignInManager.cjs.map +1 -1
- package/dist/production/src/model/service/IDPSignInManager.js +0 -1
- package/dist/production/src/model/service/IDPSignInManager.js.map +1 -1
- package/dist/production/src/model/service/idp/providers/OIDCHelpers.cjs +0 -3
- package/dist/production/src/model/service/idp/providers/OIDCHelpers.cjs.map +1 -1
- package/dist/production/src/model/service/idp/providers/OIDCHelpers.js +1 -4
- package/dist/production/src/model/service/idp/providers/OIDCHelpers.js.map +1 -1
- package/dist/production/src/model/service/idp/providers/OIDCProvider.cjs +4 -1
- package/dist/production/src/model/service/idp/providers/OIDCProvider.cjs.map +1 -1
- package/dist/production/src/model/service/idp/providers/OIDCProvider.js +5 -2
- package/dist/production/src/model/service/idp/providers/OIDCProvider.js.map +1 -1
- package/dist/production/src/model/service/idp/providers/OIDCTypes.cjs +2 -1
- package/dist/production/src/model/service/idp/providers/OIDCTypes.cjs.map +1 -1
- package/dist/production/src/model/service/idp/providers/OIDCTypes.js +2 -1
- package/dist/production/src/model/service/idp/providers/OIDCTypes.js.map +1 -1
- package/dist/production/src/resolvers/mutation/apiKey/CreateApiKeyMutationResolver.cjs +0 -1
- package/dist/production/src/resolvers/mutation/apiKey/CreateApiKeyMutationResolver.cjs.map +1 -1
- package/dist/production/src/resolvers/mutation/apiKey/CreateApiKeyMutationResolver.js +0 -1
- package/dist/production/src/resolvers/mutation/apiKey/CreateApiKeyMutationResolver.js.map +1 -1
- package/dist/production/src/resolvers/mutation/apiKey/DisableApiKeyMutationResolver.cjs +0 -1
- package/dist/production/src/resolvers/mutation/apiKey/DisableApiKeyMutationResolver.cjs.map +1 -1
- package/dist/production/src/resolvers/mutation/apiKey/DisableApiKeyMutationResolver.js +0 -1
- package/dist/production/src/resolvers/mutation/apiKey/DisableApiKeyMutationResolver.js.map +1 -1
- package/dist/production/src/resolvers/mutation/configuration/ConfigurationMutationResolver.cjs +0 -1
- package/dist/production/src/resolvers/mutation/configuration/ConfigurationMutationResolver.cjs.map +1 -1
- package/dist/production/src/resolvers/mutation/configuration/ConfigurationMutationResolver.js +0 -1
- package/dist/production/src/resolvers/mutation/configuration/ConfigurationMutationResolver.js.map +1 -1
- package/dist/production/src/resolvers/mutation/identity/GlobalRolesMutationResolver.cjs +0 -1
- package/dist/production/src/resolvers/mutation/identity/GlobalRolesMutationResolver.cjs.map +1 -1
- package/dist/production/src/resolvers/mutation/identity/GlobalRolesMutationResolver.js +0 -1
- package/dist/production/src/resolvers/mutation/identity/GlobalRolesMutationResolver.js.map +1 -1
- package/dist/production/src/resolvers/mutation/idp/AddIDPMutationResolver.cjs +0 -1
- package/dist/production/src/resolvers/mutation/idp/AddIDPMutationResolver.cjs.map +1 -1
- package/dist/production/src/resolvers/mutation/idp/AddIDPMutationResolver.js +0 -1
- package/dist/production/src/resolvers/mutation/idp/AddIDPMutationResolver.js.map +1 -1
- package/dist/production/src/resolvers/mutation/idp/DisableIDPMutationResolver.cjs +0 -1
- package/dist/production/src/resolvers/mutation/idp/DisableIDPMutationResolver.cjs.map +1 -1
- package/dist/production/src/resolvers/mutation/idp/DisableIDPMutationResolver.js +0 -1
- package/dist/production/src/resolvers/mutation/idp/DisableIDPMutationResolver.js.map +1 -1
- package/dist/production/src/resolvers/mutation/idp/EnableIDPMutationResolver.cjs +0 -1
- package/dist/production/src/resolvers/mutation/idp/EnableIDPMutationResolver.cjs.map +1 -1
- package/dist/production/src/resolvers/mutation/idp/EnableIDPMutationResolver.js +0 -1
- package/dist/production/src/resolvers/mutation/idp/EnableIDPMutationResolver.js.map +1 -1
- package/dist/production/src/resolvers/mutation/idp/UpdateIDPMutationResolver.cjs +0 -1
- package/dist/production/src/resolvers/mutation/idp/UpdateIDPMutationResolver.cjs.map +1 -1
- package/dist/production/src/resolvers/mutation/idp/UpdateIDPMutationResolver.js +0 -1
- package/dist/production/src/resolvers/mutation/idp/UpdateIDPMutationResolver.js.map +1 -1
- package/dist/production/src/resolvers/mutation/mailTemplates/MailTemplateMutationResolver.cjs +0 -1
- package/dist/production/src/resolvers/mutation/mailTemplates/MailTemplateMutationResolver.cjs.map +1 -1
- package/dist/production/src/resolvers/mutation/mailTemplates/MailTemplateMutationResolver.js +0 -1
- package/dist/production/src/resolvers/mutation/mailTemplates/MailTemplateMutationResolver.js.map +1 -1
- package/dist/production/src/resolvers/mutation/person/ChangePasswordMutationResolver.cjs +0 -1
- package/dist/production/src/resolvers/mutation/person/ChangePasswordMutationResolver.cjs.map +1 -1
- package/dist/production/src/resolvers/mutation/person/ChangePasswordMutationResolver.js +0 -1
- package/dist/production/src/resolvers/mutation/person/ChangePasswordMutationResolver.js.map +1 -1
- package/dist/production/src/resolvers/mutation/person/ChangeProfileMutationResolver.cjs +0 -1
- package/dist/production/src/resolvers/mutation/person/ChangeProfileMutationResolver.cjs.map +1 -1
- package/dist/production/src/resolvers/mutation/person/ChangeProfileMutationResolver.js +0 -1
- package/dist/production/src/resolvers/mutation/person/ChangeProfileMutationResolver.js.map +1 -1
- package/dist/production/src/resolvers/mutation/person/DisablePersonMutationResolver.cjs +0 -1
- package/dist/production/src/resolvers/mutation/person/DisablePersonMutationResolver.cjs.map +1 -1
- package/dist/production/src/resolvers/mutation/person/DisablePersonMutationResolver.js +0 -1
- package/dist/production/src/resolvers/mutation/person/DisablePersonMutationResolver.js.map +1 -1
- package/dist/production/src/resolvers/mutation/person/IDPMutationResolver.cjs +0 -1
- package/dist/production/src/resolvers/mutation/person/IDPMutationResolver.cjs.map +1 -1
- package/dist/production/src/resolvers/mutation/person/IDPMutationResolver.js +0 -1
- package/dist/production/src/resolvers/mutation/person/IDPMutationResolver.js.map +1 -1
- package/dist/production/src/resolvers/mutation/person/InviteMutationResolver.cjs +0 -1
- package/dist/production/src/resolvers/mutation/person/InviteMutationResolver.cjs.map +1 -1
- package/dist/production/src/resolvers/mutation/person/InviteMutationResolver.js +0 -1
- package/dist/production/src/resolvers/mutation/person/InviteMutationResolver.js.map +1 -1
- package/dist/production/src/resolvers/mutation/person/OtpMutationResolver.cjs +0 -1
- package/dist/production/src/resolvers/mutation/person/OtpMutationResolver.cjs.map +1 -1
- package/dist/production/src/resolvers/mutation/person/OtpMutationResolver.js +0 -1
- package/dist/production/src/resolvers/mutation/person/OtpMutationResolver.js.map +1 -1
- package/dist/production/src/resolvers/mutation/person/PasswordlessMutationResolver.cjs +0 -1
- package/dist/production/src/resolvers/mutation/person/PasswordlessMutationResolver.cjs.map +1 -1
- package/dist/production/src/resolvers/mutation/person/PasswordlessMutationResolver.js +0 -1
- package/dist/production/src/resolvers/mutation/person/PasswordlessMutationResolver.js.map +1 -1
- package/dist/production/src/resolvers/mutation/person/ResetPasswordMutationResolver.cjs +0 -1
- package/dist/production/src/resolvers/mutation/person/ResetPasswordMutationResolver.cjs.map +1 -1
- package/dist/production/src/resolvers/mutation/person/ResetPasswordMutationResolver.js +0 -1
- package/dist/production/src/resolvers/mutation/person/ResetPasswordMutationResolver.js.map +1 -1
- package/dist/production/src/resolvers/mutation/person/SignInMutationResolver.cjs +0 -1
- package/dist/production/src/resolvers/mutation/person/SignInMutationResolver.cjs.map +1 -1
- package/dist/production/src/resolvers/mutation/person/SignInMutationResolver.js +0 -1
- package/dist/production/src/resolvers/mutation/person/SignInMutationResolver.js.map +1 -1
- package/dist/production/src/resolvers/mutation/person/SignOutMutationResolver.cjs +0 -1
- package/dist/production/src/resolvers/mutation/person/SignOutMutationResolver.cjs.map +1 -1
- package/dist/production/src/resolvers/mutation/person/SignOutMutationResolver.js +0 -1
- package/dist/production/src/resolvers/mutation/person/SignOutMutationResolver.js.map +1 -1
- package/dist/production/src/resolvers/mutation/person/SignUpMutationResolver.cjs +0 -1
- package/dist/production/src/resolvers/mutation/person/SignUpMutationResolver.cjs.map +1 -1
- package/dist/production/src/resolvers/mutation/person/SignUpMutationResolver.js +0 -1
- package/dist/production/src/resolvers/mutation/person/SignUpMutationResolver.js.map +1 -1
- package/dist/production/src/resolvers/mutation/person/TogglePasswordlessMutationResolver.cjs +0 -1
- package/dist/production/src/resolvers/mutation/person/TogglePasswordlessMutationResolver.cjs.map +1 -1
- package/dist/production/src/resolvers/mutation/person/TogglePasswordlessMutationResolver.js +0 -1
- package/dist/production/src/resolvers/mutation/person/TogglePasswordlessMutationResolver.js.map +1 -1
- package/dist/production/src/resolvers/mutation/project/CreateProjectMutationResolver.cjs +0 -1
- package/dist/production/src/resolvers/mutation/project/CreateProjectMutationResolver.cjs.map +1 -1
- package/dist/production/src/resolvers/mutation/project/CreateProjectMutationResolver.js +0 -1
- package/dist/production/src/resolvers/mutation/project/CreateProjectMutationResolver.js.map +1 -1
- package/dist/production/src/resolvers/mutation/project/SetProjectSecretMutationResolver.cjs +0 -1
- package/dist/production/src/resolvers/mutation/project/SetProjectSecretMutationResolver.cjs.map +1 -1
- package/dist/production/src/resolvers/mutation/project/SetProjectSecretMutationResolver.js +0 -1
- package/dist/production/src/resolvers/mutation/project/SetProjectSecretMutationResolver.js.map +1 -1
- package/dist/production/src/resolvers/mutation/project/UpdateProjectMutationResolver.cjs +0 -1
- package/dist/production/src/resolvers/mutation/project/UpdateProjectMutationResolver.cjs.map +1 -1
- package/dist/production/src/resolvers/mutation/project/UpdateProjectMutationResolver.js +0 -1
- package/dist/production/src/resolvers/mutation/project/UpdateProjectMutationResolver.js.map +1 -1
- package/dist/production/src/resolvers/mutation/projectMember/AddProjectMemberMutationResolver.cjs +0 -1
- package/dist/production/src/resolvers/mutation/projectMember/AddProjectMemberMutationResolver.cjs.map +1 -1
- package/dist/production/src/resolvers/mutation/projectMember/AddProjectMemberMutationResolver.js +0 -1
- package/dist/production/src/resolvers/mutation/projectMember/AddProjectMemberMutationResolver.js.map +1 -1
- package/dist/production/src/resolvers/mutation/projectMember/RemoveProjectMemberMutationResolver.cjs +0 -1
- package/dist/production/src/resolvers/mutation/projectMember/RemoveProjectMemberMutationResolver.cjs.map +1 -1
- package/dist/production/src/resolvers/mutation/projectMember/RemoveProjectMemberMutationResolver.js +0 -1
- package/dist/production/src/resolvers/mutation/projectMember/RemoveProjectMemberMutationResolver.js.map +1 -1
- package/dist/production/src/resolvers/mutation/projectMember/UpdateProjectMemberMutationResolver.cjs +0 -1
- package/dist/production/src/resolvers/mutation/projectMember/UpdateProjectMemberMutationResolver.cjs.map +1 -1
- package/dist/production/src/resolvers/mutation/projectMember/UpdateProjectMemberMutationResolver.js +0 -1
- package/dist/production/src/resolvers/mutation/projectMember/UpdateProjectMemberMutationResolver.js.map +1 -1
- package/dist/production/src/resolvers/query/ConfigurationQueryResolver.cjs +0 -1
- package/dist/production/src/resolvers/query/ConfigurationQueryResolver.cjs.map +1 -1
- package/dist/production/src/resolvers/query/ConfigurationQueryResolver.js +0 -1
- package/dist/production/src/resolvers/query/ConfigurationQueryResolver.js.map +1 -1
- package/dist/production/src/resolvers/query/IDPQueryResolver.cjs +0 -1
- package/dist/production/src/resolvers/query/IDPQueryResolver.cjs.map +1 -1
- package/dist/production/src/resolvers/query/IDPQueryResolver.js +0 -1
- package/dist/production/src/resolvers/query/IDPQueryResolver.js.map +1 -1
- package/dist/production/src/resolvers/query/MailTemplateQueryResolver.cjs +0 -1
- package/dist/production/src/resolvers/query/MailTemplateQueryResolver.cjs.map +1 -1
- package/dist/production/src/resolvers/query/MailTemplateQueryResolver.js +0 -1
- package/dist/production/src/resolvers/query/MailTemplateQueryResolver.js.map +1 -1
- package/dist/production/src/resolvers/query/PersonQueryResolver.cjs +0 -1
- package/dist/production/src/resolvers/query/PersonQueryResolver.cjs.map +1 -1
- package/dist/production/src/resolvers/query/PersonQueryResolver.js +0 -1
- package/dist/production/src/resolvers/query/PersonQueryResolver.js.map +1 -1
- package/dist/production/src/resolvers/query/ProjectMembersQueryResolver.cjs +0 -1
- package/dist/production/src/resolvers/query/ProjectMembersQueryResolver.cjs.map +1 -1
- package/dist/production/src/resolvers/query/ProjectMembersQueryResolver.js +0 -1
- package/dist/production/src/resolvers/query/ProjectMembersQueryResolver.js.map +1 -1
- package/dist/production/src/resolvers/query/ProjectQueryResolver.cjs +0 -1
- package/dist/production/src/resolvers/query/ProjectQueryResolver.cjs.map +1 -1
- package/dist/production/src/resolvers/query/ProjectQueryResolver.js +0 -1
- package/dist/production/src/resolvers/query/ProjectQueryResolver.js.map +1 -1
- package/dist/production/src/resolvers/responseHelpers/SignInResponseFactory.cjs +0 -1
- package/dist/production/src/resolvers/responseHelpers/SignInResponseFactory.cjs.map +1 -1
- package/dist/production/src/resolvers/responseHelpers/SignInResponseFactory.js +0 -1
- package/dist/production/src/resolvers/responseHelpers/SignInResponseFactory.js.map +1 -1
- package/dist/production/src/resolvers/types/IdentityTypeResolver.cjs +0 -1
- package/dist/production/src/resolvers/types/IdentityTypeResolver.cjs.map +1 -1
- package/dist/production/src/resolvers/types/IdentityTypeResolver.js +0 -1
- package/dist/production/src/resolvers/types/IdentityTypeResolver.js.map +1 -1
- package/dist/production/src/resolvers/types/ProjectTypeResolver.cjs +0 -1
- package/dist/production/src/resolvers/types/ProjectTypeResolver.cjs.map +1 -1
- package/dist/production/src/resolvers/types/ProjectTypeResolver.js +0 -1
- package/dist/production/src/resolvers/types/ProjectTypeResolver.js.map +1 -1
- package/dist/tests/cases/integration/mocked/gql/addProjectMember.d.ts.map +1 -1
- package/dist/tests/cases/integration/mocked/gql/changeMyPassword.d.ts.map +1 -1
- package/dist/tests/cases/integration/mocked/gql/changeMyProfile.d.ts.map +1 -1
- package/dist/tests/cases/integration/mocked/gql/changePassword.d.ts.map +1 -1
- package/dist/tests/cases/integration/mocked/gql/changeProfile.d.ts.map +1 -1
- package/dist/tests/cases/integration/mocked/gql/confirmOtp.d.ts.map +1 -1
- package/dist/tests/cases/integration/mocked/gql/createApiKey.d.ts.map +1 -1
- package/dist/tests/cases/integration/mocked/gql/createResetPasswordRequest.d.ts.map +1 -1
- package/dist/tests/cases/integration/mocked/gql/createSessionToken.d.ts.map +1 -1
- package/dist/tests/cases/integration/mocked/gql/invite.d.ts.map +1 -1
- package/dist/tests/cases/integration/mocked/gql/prepareOtp.d.ts.map +1 -1
- package/dist/tests/cases/integration/mocked/gql/resetPassword.d.ts.map +1 -1
- package/dist/tests/cases/integration/mocked/gql/signIn.d.ts.map +1 -1
- package/dist/tests/cases/integration/mocked/gql/signInIdp.d.ts.map +1 -1
- package/dist/tests/cases/integration/mocked/gql/signUp.d.ts.map +1 -1
- package/dist/tests/cases/integration/mocked/gql/unmanagedInvite.d.ts.map +1 -1
- package/dist/tests/cases/integration/mocked/gql/updateProjectMember.d.ts.map +1 -1
- package/dist/tests/cases/integration/mocked/sql/createApiKeySql.d.ts.map +1 -1
- package/dist/tests/cases/integration/mocked/sql/createIdentitySql.d.ts.map +1 -1
- package/dist/tests/cases/integration/mocked/sql/createMembershipSql.d.ts.map +1 -1
- package/dist/tests/cases/integration/mocked/sql/createMembershipVariableSql.d.ts.map +1 -1
- package/dist/tests/cases/integration/mocked/sql/createPersonSql.d.ts.map +1 -1
- package/dist/tests/cases/integration/mocked/sql/createPersonTokenSql.d.ts.map +1 -1
- package/dist/tests/cases/integration/mocked/sql/createSessionKeySql.d.ts.map +1 -1
- package/dist/tests/cases/integration/mocked/sql/disableApiKeySql.d.ts.map +1 -1
- package/dist/tests/cases/integration/mocked/sql/disableOneOffKeySql.d.ts.map +1 -1
- package/dist/tests/cases/integration/mocked/sql/getApiKeySql.d.ts.map +1 -1
- package/dist/tests/cases/integration/mocked/sql/getIdentityProjectsSql.d.ts.map +1 -1
- package/dist/tests/cases/integration/mocked/sql/getIdpBySlugSql.d.ts.map +1 -1
- package/dist/tests/cases/integration/mocked/sql/getMailTemplateSql.d.ts.map +1 -1
- package/dist/tests/cases/integration/mocked/sql/getPersonByEmailSql.d.ts.map +1 -1
- package/dist/tests/cases/integration/mocked/sql/getPersonByIdSql.d.ts.map +1 -1
- package/dist/tests/cases/integration/mocked/sql/getPersonByIdentity.d.ts.map +1 -1
- package/dist/tests/cases/integration/mocked/sql/getPersonByIdpSql.d.ts.map +1 -1
- package/dist/tests/cases/integration/mocked/sql/getProjectBySlugSql.d.ts.map +1 -1
- package/dist/tests/cases/integration/mocked/sql/getProjectMembershipSql.d.ts.map +1 -1
- package/dist/tests/cases/integration/mocked/sql/patchVariablesSql.d.ts.map +1 -1
- package/dist/tests/cases/integration/mocked/sql/selectMembershipsSql.d.ts.map +1 -1
- package/dist/tests/cases/integration/mocked/sql/sqlTransaction.d.ts.map +1 -1
- package/dist/tests/cases/integration/mocked/sql/updatePesonNameSql.d.ts.map +1 -1
- package/dist/tests/cases/integration/mocked/sql/updatePesonPasswordSql.d.ts.map +1 -1
- package/dist/tests/src/dbUtils.d.ts.map +1 -1
- package/dist/tests/src/tags.d.ts.map +1 -1
- package/dist/tests/src/testGraphql.d.ts.map +1 -1
- package/dist/tests/src/testTenant.d.ts.map +1 -1
- package/dist/tests/src/testUuid.d.ts.map +1 -1
- package/dist/tests/tsconfig.tsbuildinfo +1 -1
- package/dist/types/TenantContainer.d.ts +1 -1
- package/dist/types/bridges/system/IdentityFetcher.d.ts.map +1 -1
- package/dist/types/migrations/snapshot-factory.d.ts.map +1 -1
- package/dist/types/migrations/tenantCredentials.d.ts.map +1 -1
- package/dist/types/model/authorization/PermissionActions.d.ts.map +1 -1
- package/dist/types/model/mailing/templates/Layout.mustache.d.ts.map +1 -1
- package/dist/types/model/mailing/type.d.ts.map +1 -1
- package/dist/types/model/queries/idp/helpers.d.ts.map +1 -1
- package/dist/types/model/queries/membership/ProjectSlugSpecification.d.ts.map +1 -1
- package/dist/types/model/service/helpers/getPreferredProject.d.ts.map +1 -1
- package/dist/types/model/service/idp/providers/AppleProvider.d.ts +2 -0
- package/dist/types/model/service/idp/providers/AppleProvider.d.ts.map +1 -1
- package/dist/types/model/service/idp/providers/FacebookProvider.d.ts +2 -0
- package/dist/types/model/service/idp/providers/FacebookProvider.d.ts.map +1 -1
- package/dist/types/model/service/idp/providers/OIDCHelpers.d.ts.map +1 -1
- package/dist/types/model/service/idp/providers/OIDCProvider.d.ts +1 -0
- package/dist/types/model/service/idp/providers/OIDCProvider.d.ts.map +1 -1
- package/dist/types/model/service/idp/providers/OIDCTypes.d.ts +4 -0
- package/dist/types/model/service/idp/providers/OIDCTypes.d.ts.map +1 -1
- package/dist/types/model/service/idp/providers/helpers.d.ts.map +1 -1
- package/dist/types/model/service/membershipUtils.d.ts.map +1 -1
- package/dist/types/model/utils/email.d.ts.map +1 -1
- package/dist/types/model/utils/password.d.ts.map +1 -1
- package/dist/types/model/utils/time.d.ts.map +1 -1
- package/dist/types/model/utils/tokenUtils.d.ts.map +1 -1
- package/dist/types/model/utils/typeUtils.d.ts.map +1 -1
- package/dist/types/resolvers/TenantResolverContextFactory.d.ts.map +1 -1
- package/dist/types/resolvers/errorUtils.d.ts.map +1 -1
- package/dist/types/resolvers/membershipUtils.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/dist/types/utils/Mailer.d.ts.map +1 -1
- package/dist/types/utils/array.d.ts.map +1 -1
- package/dist/types/utils/batchQuery.d.ts +1 -1
- package/dist/types/utils/batchQuery.d.ts.map +1 -1
- package/package.json +13 -13
- package/src/model/service/idp/providers/OIDCHelpers.ts +1 -5
- package/src/model/service/idp/providers/OIDCProvider.ts +7 -2
- package/src/model/service/idp/providers/OIDCTypes.ts +1 -0
package/dist/production/src/resolvers/mutation/projectMember/RemoveProjectMemberMutationResolver.cjs
CHANGED
|
@@ -14,7 +14,6 @@ require("../../../model/service/idp/providers/AppleProvider.cjs");
|
|
|
14
14
|
require("openid-client");
|
|
15
15
|
require("@contember/typesafe");
|
|
16
16
|
require("../../../model/service/idp/providers/OIDCTypes.cjs");
|
|
17
|
-
require("../../../model/service/idp/providers/OIDCHelpers.cjs");
|
|
18
17
|
require("../../../model/service/idp/providers/FacebookProvider.cjs");
|
|
19
18
|
require("@contember/schema-utils");
|
|
20
19
|
require("otpauth");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RemoveProjectMemberMutationResolver.cjs","sources":["../../../../../../../packages/engine-tenant-api/src/resolvers/mutation/projectMember/RemoveProjectMemberMutationResolver.ts"],"sourcesContent":["import {\n\tMutationRemoveProjectMemberArgs,\n\tMutationResolvers,\n\tRemoveProjectMemberErrorCode,\n\tRemoveProjectMemberResponse,\n} from '../../../schema'\nimport { TenantResolverContext } from '../../TenantResolverContext'\nimport { PermissionActions, ProjectManager, ProjectMemberManager } from '../../../model'\nimport { createErrorResponse, createProjectNotFoundResponse } from '../../errorUtils'\n\nexport class RemoveProjectMemberMutationResolver implements MutationResolvers {\n\tconstructor(\n\t\tprivate readonly projectMemberManager: ProjectMemberManager,\n\t\tprivate readonly projectManager: ProjectManager,\n\t) {}\n\n\tasync removeProjectMember(\n\t\tparent: any,\n\t\t{ projectSlug, identityId }: MutationRemoveProjectMemberArgs,\n\t\tcontext: TenantResolverContext,\n\t): Promise<RemoveProjectMemberResponse> {\n\t\tconst project = await this.projectManager.getProjectBySlug(context.db, projectSlug)\n\t\tconst projectScope = await context.permissionContext.createProjectScope(project)\n\t\tawait context.requireAccess({\n\t\t\tscope: projectScope,\n\t\t\taction: PermissionActions.PROJECT_REMOVE_MEMBER([]),\n\t\t\tmessage: 'You are not allowed to remove a project member',\n\t\t})\n\t\tif (!project) {\n\t\t\treturn createProjectNotFoundResponse('PROJECT_NOT_FOUND', projectSlug)\n\t\t}\n\t\tconst memberships = await this.projectMemberManager.getStoredProjectsMemberships(\n\t\t\tcontext.db,\n\t\t\t{ id: project.id },\n\t\t\t{ id: identityId },\n\t\t\tcontext.permissionContext.createAccessVerifier(projectScope),\n\t\t)\n\t\tawait context.requireAccess({\n\t\t\tscope: projectScope,\n\t\t\taction: PermissionActions.PROJECT_REMOVE_MEMBER(memberships),\n\t\t\tmessage: 'You are not allowed to remove a project member',\n\t\t})\n\n\t\tconst result = await this.projectMemberManager.removeProjectMember(context.db, project.id, identityId)\n\n\t\tif (!result.ok) {\n\t\t\treturn createErrorResponse(result.error, result.errorMessage)\n\t\t}\n\n\t\treturn {\n\t\t\tok: true,\n\t\t\terrors: [],\n\t\t}\n\t}\n}\n"],"names":["PermissionActions","createProjectNotFoundResponse","createErrorResponse"],"mappings":"
|
|
1
|
+
{"version":3,"file":"RemoveProjectMemberMutationResolver.cjs","sources":["../../../../../../../packages/engine-tenant-api/src/resolvers/mutation/projectMember/RemoveProjectMemberMutationResolver.ts"],"sourcesContent":["import {\n\tMutationRemoveProjectMemberArgs,\n\tMutationResolvers,\n\tRemoveProjectMemberErrorCode,\n\tRemoveProjectMemberResponse,\n} from '../../../schema'\nimport { TenantResolverContext } from '../../TenantResolverContext'\nimport { PermissionActions, ProjectManager, ProjectMemberManager } from '../../../model'\nimport { createErrorResponse, createProjectNotFoundResponse } from '../../errorUtils'\n\nexport class RemoveProjectMemberMutationResolver implements MutationResolvers {\n\tconstructor(\n\t\tprivate readonly projectMemberManager: ProjectMemberManager,\n\t\tprivate readonly projectManager: ProjectManager,\n\t) {}\n\n\tasync removeProjectMember(\n\t\tparent: any,\n\t\t{ projectSlug, identityId }: MutationRemoveProjectMemberArgs,\n\t\tcontext: TenantResolverContext,\n\t): Promise<RemoveProjectMemberResponse> {\n\t\tconst project = await this.projectManager.getProjectBySlug(context.db, projectSlug)\n\t\tconst projectScope = await context.permissionContext.createProjectScope(project)\n\t\tawait context.requireAccess({\n\t\t\tscope: projectScope,\n\t\t\taction: PermissionActions.PROJECT_REMOVE_MEMBER([]),\n\t\t\tmessage: 'You are not allowed to remove a project member',\n\t\t})\n\t\tif (!project) {\n\t\t\treturn createProjectNotFoundResponse('PROJECT_NOT_FOUND', projectSlug)\n\t\t}\n\t\tconst memberships = await this.projectMemberManager.getStoredProjectsMemberships(\n\t\t\tcontext.db,\n\t\t\t{ id: project.id },\n\t\t\t{ id: identityId },\n\t\t\tcontext.permissionContext.createAccessVerifier(projectScope),\n\t\t)\n\t\tawait context.requireAccess({\n\t\t\tscope: projectScope,\n\t\t\taction: PermissionActions.PROJECT_REMOVE_MEMBER(memberships),\n\t\t\tmessage: 'You are not allowed to remove a project member',\n\t\t})\n\n\t\tconst result = await this.projectMemberManager.removeProjectMember(context.db, project.id, identityId)\n\n\t\tif (!result.ok) {\n\t\t\treturn createErrorResponse(result.error, result.errorMessage)\n\t\t}\n\n\t\treturn {\n\t\t\tok: true,\n\t\t\terrors: [],\n\t\t}\n\t}\n}\n"],"names":["PermissionActions","createProjectNotFoundResponse","createErrorResponse"],"mappings":";;;;;;;;;;;;;;;;;;;;AAUO,MAAM,oCAAiE;AAAA,EAC7E,YACkB,sBACA,gBAChB;AAFgB,SAAA,uBAAA;AACA,SAAA,iBAAA;AAAA,EAAA;AAAA,EAGlB,MAAM,oBACL,QACA,EAAE,aAAa,WAAA,GACf,SACuC;AACvC,UAAM,UAAU,MAAM,KAAK,eAAe,iBAAiB,QAAQ,IAAI,WAAW;AAClF,UAAM,eAAe,MAAM,QAAQ,kBAAkB,mBAAmB,OAAO;AAC/E,UAAM,QAAQ,cAAc;AAAA,MAC3B,OAAO;AAAA,MACP,QAAQA,kBAAAA,kBAAkB,sBAAsB,EAAE;AAAA,MAClD,SAAS;AAAA,IAAA,CACT;AACD,QAAI,CAAC,SAAS;AACN,aAAAC,WAAA,8BAA8B,qBAAqB,WAAW;AAAA,IAAA;AAEhE,UAAA,cAAc,MAAM,KAAK,qBAAqB;AAAA,MACnD,QAAQ;AAAA,MACR,EAAE,IAAI,QAAQ,GAAG;AAAA,MACjB,EAAE,IAAI,WAAW;AAAA,MACjB,QAAQ,kBAAkB,qBAAqB,YAAY;AAAA,IAC5D;AACA,UAAM,QAAQ,cAAc;AAAA,MAC3B,OAAO;AAAA,MACP,QAAQD,kBAAAA,kBAAkB,sBAAsB,WAAW;AAAA,MAC3D,SAAS;AAAA,IAAA,CACT;AAEK,UAAA,SAAS,MAAM,KAAK,qBAAqB,oBAAoB,QAAQ,IAAI,QAAQ,IAAI,UAAU;AAEjG,QAAA,CAAC,OAAO,IAAI;AACf,aAAOE,WAAoB,oBAAA,OAAO,OAAO,OAAO,YAAY;AAAA,IAAA;AAGtD,WAAA;AAAA,MACN,IAAI;AAAA,MACJ,QAAQ,CAAA;AAAA,IACT;AAAA,EAAA;AAEF;;"}
|
package/dist/production/src/resolvers/mutation/projectMember/RemoveProjectMemberMutationResolver.js
CHANGED
|
@@ -12,7 +12,6 @@ import "../../../model/service/idp/providers/AppleProvider.js";
|
|
|
12
12
|
import "openid-client";
|
|
13
13
|
import "@contember/typesafe";
|
|
14
14
|
import "../../../model/service/idp/providers/OIDCTypes.js";
|
|
15
|
-
import "../../../model/service/idp/providers/OIDCHelpers.js";
|
|
16
15
|
import "../../../model/service/idp/providers/FacebookProvider.js";
|
|
17
16
|
import "@contember/schema-utils";
|
|
18
17
|
import "otpauth";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RemoveProjectMemberMutationResolver.js","sources":["../../../../../../../packages/engine-tenant-api/src/resolvers/mutation/projectMember/RemoveProjectMemberMutationResolver.ts"],"sourcesContent":["import {\n\tMutationRemoveProjectMemberArgs,\n\tMutationResolvers,\n\tRemoveProjectMemberErrorCode,\n\tRemoveProjectMemberResponse,\n} from '../../../schema'\nimport { TenantResolverContext } from '../../TenantResolverContext'\nimport { PermissionActions, ProjectManager, ProjectMemberManager } from '../../../model'\nimport { createErrorResponse, createProjectNotFoundResponse } from '../../errorUtils'\n\nexport class RemoveProjectMemberMutationResolver implements MutationResolvers {\n\tconstructor(\n\t\tprivate readonly projectMemberManager: ProjectMemberManager,\n\t\tprivate readonly projectManager: ProjectManager,\n\t) {}\n\n\tasync removeProjectMember(\n\t\tparent: any,\n\t\t{ projectSlug, identityId }: MutationRemoveProjectMemberArgs,\n\t\tcontext: TenantResolverContext,\n\t): Promise<RemoveProjectMemberResponse> {\n\t\tconst project = await this.projectManager.getProjectBySlug(context.db, projectSlug)\n\t\tconst projectScope = await context.permissionContext.createProjectScope(project)\n\t\tawait context.requireAccess({\n\t\t\tscope: projectScope,\n\t\t\taction: PermissionActions.PROJECT_REMOVE_MEMBER([]),\n\t\t\tmessage: 'You are not allowed to remove a project member',\n\t\t})\n\t\tif (!project) {\n\t\t\treturn createProjectNotFoundResponse('PROJECT_NOT_FOUND', projectSlug)\n\t\t}\n\t\tconst memberships = await this.projectMemberManager.getStoredProjectsMemberships(\n\t\t\tcontext.db,\n\t\t\t{ id: project.id },\n\t\t\t{ id: identityId },\n\t\t\tcontext.permissionContext.createAccessVerifier(projectScope),\n\t\t)\n\t\tawait context.requireAccess({\n\t\t\tscope: projectScope,\n\t\t\taction: PermissionActions.PROJECT_REMOVE_MEMBER(memberships),\n\t\t\tmessage: 'You are not allowed to remove a project member',\n\t\t})\n\n\t\tconst result = await this.projectMemberManager.removeProjectMember(context.db, project.id, identityId)\n\n\t\tif (!result.ok) {\n\t\t\treturn createErrorResponse(result.error, result.errorMessage)\n\t\t}\n\n\t\treturn {\n\t\t\tok: true,\n\t\t\terrors: [],\n\t\t}\n\t}\n}\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"RemoveProjectMemberMutationResolver.js","sources":["../../../../../../../packages/engine-tenant-api/src/resolvers/mutation/projectMember/RemoveProjectMemberMutationResolver.ts"],"sourcesContent":["import {\n\tMutationRemoveProjectMemberArgs,\n\tMutationResolvers,\n\tRemoveProjectMemberErrorCode,\n\tRemoveProjectMemberResponse,\n} from '../../../schema'\nimport { TenantResolverContext } from '../../TenantResolverContext'\nimport { PermissionActions, ProjectManager, ProjectMemberManager } from '../../../model'\nimport { createErrorResponse, createProjectNotFoundResponse } from '../../errorUtils'\n\nexport class RemoveProjectMemberMutationResolver implements MutationResolvers {\n\tconstructor(\n\t\tprivate readonly projectMemberManager: ProjectMemberManager,\n\t\tprivate readonly projectManager: ProjectManager,\n\t) {}\n\n\tasync removeProjectMember(\n\t\tparent: any,\n\t\t{ projectSlug, identityId }: MutationRemoveProjectMemberArgs,\n\t\tcontext: TenantResolverContext,\n\t): Promise<RemoveProjectMemberResponse> {\n\t\tconst project = await this.projectManager.getProjectBySlug(context.db, projectSlug)\n\t\tconst projectScope = await context.permissionContext.createProjectScope(project)\n\t\tawait context.requireAccess({\n\t\t\tscope: projectScope,\n\t\t\taction: PermissionActions.PROJECT_REMOVE_MEMBER([]),\n\t\t\tmessage: 'You are not allowed to remove a project member',\n\t\t})\n\t\tif (!project) {\n\t\t\treturn createProjectNotFoundResponse('PROJECT_NOT_FOUND', projectSlug)\n\t\t}\n\t\tconst memberships = await this.projectMemberManager.getStoredProjectsMemberships(\n\t\t\tcontext.db,\n\t\t\t{ id: project.id },\n\t\t\t{ id: identityId },\n\t\t\tcontext.permissionContext.createAccessVerifier(projectScope),\n\t\t)\n\t\tawait context.requireAccess({\n\t\t\tscope: projectScope,\n\t\t\taction: PermissionActions.PROJECT_REMOVE_MEMBER(memberships),\n\t\t\tmessage: 'You are not allowed to remove a project member',\n\t\t})\n\n\t\tconst result = await this.projectMemberManager.removeProjectMember(context.db, project.id, identityId)\n\n\t\tif (!result.ok) {\n\t\t\treturn createErrorResponse(result.error, result.errorMessage)\n\t\t}\n\n\t\treturn {\n\t\t\tok: true,\n\t\t\terrors: [],\n\t\t}\n\t}\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAUO,MAAM,oCAAiE;AAAA,EAC7E,YACkB,sBACA,gBAChB;AAFgB,SAAA,uBAAA;AACA,SAAA,iBAAA;AAAA,EAAA;AAAA,EAGlB,MAAM,oBACL,QACA,EAAE,aAAa,WAAA,GACf,SACuC;AACvC,UAAM,UAAU,MAAM,KAAK,eAAe,iBAAiB,QAAQ,IAAI,WAAW;AAClF,UAAM,eAAe,MAAM,QAAQ,kBAAkB,mBAAmB,OAAO;AAC/E,UAAM,QAAQ,cAAc;AAAA,MAC3B,OAAO;AAAA,MACP,QAAQ,kBAAkB,sBAAsB,EAAE;AAAA,MAClD,SAAS;AAAA,IAAA,CACT;AACD,QAAI,CAAC,SAAS;AACN,aAAA,8BAA8B,qBAAqB,WAAW;AAAA,IAAA;AAEhE,UAAA,cAAc,MAAM,KAAK,qBAAqB;AAAA,MACnD,QAAQ;AAAA,MACR,EAAE,IAAI,QAAQ,GAAG;AAAA,MACjB,EAAE,IAAI,WAAW;AAAA,MACjB,QAAQ,kBAAkB,qBAAqB,YAAY;AAAA,IAC5D;AACA,UAAM,QAAQ,cAAc;AAAA,MAC3B,OAAO;AAAA,MACP,QAAQ,kBAAkB,sBAAsB,WAAW;AAAA,MAC3D,SAAS;AAAA,IAAA,CACT;AAEK,UAAA,SAAS,MAAM,KAAK,qBAAqB,oBAAoB,QAAQ,IAAI,QAAQ,IAAI,UAAU;AAEjG,QAAA,CAAC,OAAO,IAAI;AACf,aAAO,oBAAoB,OAAO,OAAO,OAAO,YAAY;AAAA,IAAA;AAGtD,WAAA;AAAA,MACN,IAAI;AAAA,MACJ,QAAQ,CAAA;AAAA,IACT;AAAA,EAAA;AAEF;"}
|
package/dist/production/src/resolvers/mutation/projectMember/UpdateProjectMemberMutationResolver.cjs
CHANGED
|
@@ -15,7 +15,6 @@ require("../../../model/service/idp/providers/AppleProvider.cjs");
|
|
|
15
15
|
require("openid-client");
|
|
16
16
|
require("@contember/typesafe");
|
|
17
17
|
require("../../../model/service/idp/providers/OIDCTypes.cjs");
|
|
18
|
-
require("../../../model/service/idp/providers/OIDCHelpers.cjs");
|
|
19
18
|
require("../../../model/service/idp/providers/FacebookProvider.cjs");
|
|
20
19
|
const schemaUtils = require("@contember/schema-utils");
|
|
21
20
|
require("otpauth");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UpdateProjectMemberMutationResolver.cjs","sources":["../../../../../../../packages/engine-tenant-api/src/resolvers/mutation/projectMember/UpdateProjectMemberMutationResolver.ts"],"sourcesContent":["import {\n\tMutationResolvers,\n\tMutationUpdateProjectMemberArgs,\n\tUpdateProjectMemberErrorCode,\n\tUpdateProjectMemberResponse,\n} from '../../../schema'\nimport { TenantResolverContext } from '../../TenantResolverContext'\nimport {\n\tMembershipValidationErrorType,\n\tMembershipValidator,\n\tPermissionActions,\n\tProjectManager,\n\tProjectMemberManager,\n} from '../../../model'\nimport { createMembershipValidationErrorResult } from '../../membershipUtils'\nimport { createMembershipModification } from '../../../model/service/membershipUtils'\nimport { createErrorResponse, createProjectNotFoundResponse } from '../../errorUtils'\nimport { Acl } from '@contember/schema'\n\nexport class UpdateProjectMemberMutationResolver implements MutationResolvers {\n\tconstructor(\n\t\tprivate readonly projectMemberManager: ProjectMemberManager,\n\t\tprivate readonly projectManager: ProjectManager,\n\t\tprivate readonly membershipValidator: MembershipValidator,\n\t) {}\n\n\tasync updateProjectMember(\n\t\tparent: any,\n\t\t{ projectSlug, identityId, memberships }: MutationUpdateProjectMemberArgs,\n\t\tcontext: TenantResolverContext,\n\t): Promise<UpdateProjectMemberResponse> {\n\t\tconst project = await this.projectManager.getProjectBySlug(context.db, projectSlug)\n\t\tconst projectScope = await context.permissionContext.createProjectScope(project)\n\t\tawait context.requireAccess({\n\t\t\tscope: projectScope,\n\t\t\taction: PermissionActions.PROJECT_UPDATE_MEMBER([]),\n\t\t\tmessage: 'You are not allowed to update project member variables',\n\t\t})\n\t\tif (!project) {\n\t\t\treturn createProjectNotFoundResponse('PROJECT_NOT_FOUND', projectSlug)\n\t\t}\n\t\tconst visibleMemberships = await this.projectMemberManager.getStoredProjectsMemberships(\n\t\t\tcontext.db,\n\t\t\t{ id: project.id },\n\t\t\t{ id: identityId },\n\t\t\tcontext.permissionContext.createAccessVerifier(projectScope),\n\t\t)\n\t\tconst membershipPatch = createMembershipModification(visibleMemberships, memberships)\n\n\t\tconst aclMemberships: Acl.Membership[] = membershipPatch.map(it => ({\n\t\t\trole: it.role,\n\t\t\tvariables: it.variables.map(it => ({\n\t\t\t\tname: it.name,\n\t\t\t\tvalues: 'set' in it ? it.set : [...it.remove, ...it.append],\n\t\t\t})),\n\t\t}))\n\n\t\tawait context.requireAccess({\n\t\t\tscope: projectScope,\n\t\t\taction: PermissionActions.PROJECT_UPDATE_MEMBER(aclMemberships),\n\t\t\tmessage: 'You are not allowed to update project member variables',\n\t\t})\n\n\t\tconst validationResult = (await this.membershipValidator.validate(project.slug, memberships)).filter(\n\t\t\tit => it.error !== MembershipValidationErrorType.VARIABLE_EMPTY,\n\t\t)\n\t\tif (validationResult.length > 0) {\n\t\t\tconst errors = createMembershipValidationErrorResult(validationResult)\n\t\t\treturn {\n\t\t\t\tok: false,\n\t\t\t\terrors: errors,\n\t\t\t\terror: errors[0],\n\t\t\t}\n\t\t}\n\n\t\tconst result = await this.projectMemberManager.updateProjectMember(context.db, project.id, identityId, membershipPatch)\n\n\t\tif (!result.ok) {\n\t\t\treturn createErrorResponse(result.error, result.errorMessage)\n\t\t}\n\n\t\treturn {\n\t\t\tok: true,\n\t\t\terrors: [],\n\t\t}\n\t}\n}\n"],"names":["PermissionActions","createProjectNotFoundResponse","createMembershipModification","it","MembershipValidationErrorType","createMembershipValidationErrorResult","createErrorResponse"],"mappings":"
|
|
1
|
+
{"version":3,"file":"UpdateProjectMemberMutationResolver.cjs","sources":["../../../../../../../packages/engine-tenant-api/src/resolvers/mutation/projectMember/UpdateProjectMemberMutationResolver.ts"],"sourcesContent":["import {\n\tMutationResolvers,\n\tMutationUpdateProjectMemberArgs,\n\tUpdateProjectMemberErrorCode,\n\tUpdateProjectMemberResponse,\n} from '../../../schema'\nimport { TenantResolverContext } from '../../TenantResolverContext'\nimport {\n\tMembershipValidationErrorType,\n\tMembershipValidator,\n\tPermissionActions,\n\tProjectManager,\n\tProjectMemberManager,\n} from '../../../model'\nimport { createMembershipValidationErrorResult } from '../../membershipUtils'\nimport { createMembershipModification } from '../../../model/service/membershipUtils'\nimport { createErrorResponse, createProjectNotFoundResponse } from '../../errorUtils'\nimport { Acl } from '@contember/schema'\n\nexport class UpdateProjectMemberMutationResolver implements MutationResolvers {\n\tconstructor(\n\t\tprivate readonly projectMemberManager: ProjectMemberManager,\n\t\tprivate readonly projectManager: ProjectManager,\n\t\tprivate readonly membershipValidator: MembershipValidator,\n\t) {}\n\n\tasync updateProjectMember(\n\t\tparent: any,\n\t\t{ projectSlug, identityId, memberships }: MutationUpdateProjectMemberArgs,\n\t\tcontext: TenantResolverContext,\n\t): Promise<UpdateProjectMemberResponse> {\n\t\tconst project = await this.projectManager.getProjectBySlug(context.db, projectSlug)\n\t\tconst projectScope = await context.permissionContext.createProjectScope(project)\n\t\tawait context.requireAccess({\n\t\t\tscope: projectScope,\n\t\t\taction: PermissionActions.PROJECT_UPDATE_MEMBER([]),\n\t\t\tmessage: 'You are not allowed to update project member variables',\n\t\t})\n\t\tif (!project) {\n\t\t\treturn createProjectNotFoundResponse('PROJECT_NOT_FOUND', projectSlug)\n\t\t}\n\t\tconst visibleMemberships = await this.projectMemberManager.getStoredProjectsMemberships(\n\t\t\tcontext.db,\n\t\t\t{ id: project.id },\n\t\t\t{ id: identityId },\n\t\t\tcontext.permissionContext.createAccessVerifier(projectScope),\n\t\t)\n\t\tconst membershipPatch = createMembershipModification(visibleMemberships, memberships)\n\n\t\tconst aclMemberships: Acl.Membership[] = membershipPatch.map(it => ({\n\t\t\trole: it.role,\n\t\t\tvariables: it.variables.map(it => ({\n\t\t\t\tname: it.name,\n\t\t\t\tvalues: 'set' in it ? it.set : [...it.remove, ...it.append],\n\t\t\t})),\n\t\t}))\n\n\t\tawait context.requireAccess({\n\t\t\tscope: projectScope,\n\t\t\taction: PermissionActions.PROJECT_UPDATE_MEMBER(aclMemberships),\n\t\t\tmessage: 'You are not allowed to update project member variables',\n\t\t})\n\n\t\tconst validationResult = (await this.membershipValidator.validate(project.slug, memberships)).filter(\n\t\t\tit => it.error !== MembershipValidationErrorType.VARIABLE_EMPTY,\n\t\t)\n\t\tif (validationResult.length > 0) {\n\t\t\tconst errors = createMembershipValidationErrorResult(validationResult)\n\t\t\treturn {\n\t\t\t\tok: false,\n\t\t\t\terrors: errors,\n\t\t\t\terror: errors[0],\n\t\t\t}\n\t\t}\n\n\t\tconst result = await this.projectMemberManager.updateProjectMember(context.db, project.id, identityId, membershipPatch)\n\n\t\tif (!result.ok) {\n\t\t\treturn createErrorResponse(result.error, result.errorMessage)\n\t\t}\n\n\t\treturn {\n\t\t\tok: true,\n\t\t\terrors: [],\n\t\t}\n\t}\n}\n"],"names":["PermissionActions","createProjectNotFoundResponse","createMembershipModification","it","MembershipValidationErrorType","createMembershipValidationErrorResult","createErrorResponse"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAmBO,MAAM,oCAAiE;AAAA,EAC7E,YACkB,sBACA,gBACA,qBAChB;AAHgB,SAAA,uBAAA;AACA,SAAA,iBAAA;AACA,SAAA,sBAAA;AAAA,EAAA;AAAA,EAGlB,MAAM,oBACL,QACA,EAAE,aAAa,YAAY,eAC3B,SACuC;AACvC,UAAM,UAAU,MAAM,KAAK,eAAe,iBAAiB,QAAQ,IAAI,WAAW;AAClF,UAAM,eAAe,MAAM,QAAQ,kBAAkB,mBAAmB,OAAO;AAC/E,UAAM,QAAQ,cAAc;AAAA,MAC3B,OAAO;AAAA,MACP,QAAQA,kBAAAA,kBAAkB,sBAAsB,EAAE;AAAA,MAClD,SAAS;AAAA,IAAA,CACT;AACD,QAAI,CAAC,SAAS;AACN,aAAAC,WAAA,8BAA8B,qBAAqB,WAAW;AAAA,IAAA;AAEhE,UAAA,qBAAqB,MAAM,KAAK,qBAAqB;AAAA,MAC1D,QAAQ;AAAA,MACR,EAAE,IAAI,QAAQ,GAAG;AAAA,MACjB,EAAE,IAAI,WAAW;AAAA,MACjB,QAAQ,kBAAkB,qBAAqB,YAAY;AAAA,IAC5D;AACM,UAAA,kBAAkBC,gBAAAA,6BAA6B,oBAAoB,WAAW;AAE9E,UAAA,iBAAmC,gBAAgB,IAAI,CAAO,QAAA;AAAA,MACnE,MAAM,GAAG;AAAA,MACT,WAAW,GAAG,UAAU,IAAI,CAAAC,SAAO;AAAA,QAClC,MAAMA,IAAG;AAAA,QACT,QAAQ,SAASA,MAAKA,IAAG,MAAM,CAAC,GAAGA,IAAG,QAAQ,GAAGA,IAAG,MAAM;AAAA,MAAA,EACzD;AAAA,IAAA,EACD;AAEF,UAAM,QAAQ,cAAc;AAAA,MAC3B,OAAO;AAAA,MACP,QAAQH,kBAAAA,kBAAkB,sBAAsB,cAAc;AAAA,MAC9D,SAAS;AAAA,IAAA,CACT;AAEK,UAAA,oBAAoB,MAAM,KAAK,oBAAoB,SAAS,QAAQ,MAAM,WAAW,GAAG;AAAA,MAC7F,CAAA,OAAM,GAAG,UAAUI,0CAA8B;AAAA,IAClD;AACI,QAAA,iBAAiB,SAAS,GAAG;AAC1B,YAAA,SAASC,wDAAsC,gBAAgB;AAC9D,aAAA;AAAA,QACN,IAAI;AAAA,QACJ;AAAA,QACA,OAAO,OAAO,CAAC;AAAA,MAChB;AAAA,IAAA;AAGK,UAAA,SAAS,MAAM,KAAK,qBAAqB,oBAAoB,QAAQ,IAAI,QAAQ,IAAI,YAAY,eAAe;AAElH,QAAA,CAAC,OAAO,IAAI;AACf,aAAOC,WAAoB,oBAAA,OAAO,OAAO,OAAO,YAAY;AAAA,IAAA;AAGtD,WAAA;AAAA,MACN,IAAI;AAAA,MACJ,QAAQ,CAAA;AAAA,IACT;AAAA,EAAA;AAEF;;"}
|
package/dist/production/src/resolvers/mutation/projectMember/UpdateProjectMemberMutationResolver.js
CHANGED
|
@@ -13,7 +13,6 @@ import "../../../model/service/idp/providers/AppleProvider.js";
|
|
|
13
13
|
import "openid-client";
|
|
14
14
|
import "@contember/typesafe";
|
|
15
15
|
import "../../../model/service/idp/providers/OIDCTypes.js";
|
|
16
|
-
import "../../../model/service/idp/providers/OIDCHelpers.js";
|
|
17
16
|
import "../../../model/service/idp/providers/FacebookProvider.js";
|
|
18
17
|
import { MembershipValidationErrorType } from "@contember/schema-utils";
|
|
19
18
|
import "otpauth";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UpdateProjectMemberMutationResolver.js","sources":["../../../../../../../packages/engine-tenant-api/src/resolvers/mutation/projectMember/UpdateProjectMemberMutationResolver.ts"],"sourcesContent":["import {\n\tMutationResolvers,\n\tMutationUpdateProjectMemberArgs,\n\tUpdateProjectMemberErrorCode,\n\tUpdateProjectMemberResponse,\n} from '../../../schema'\nimport { TenantResolverContext } from '../../TenantResolverContext'\nimport {\n\tMembershipValidationErrorType,\n\tMembershipValidator,\n\tPermissionActions,\n\tProjectManager,\n\tProjectMemberManager,\n} from '../../../model'\nimport { createMembershipValidationErrorResult } from '../../membershipUtils'\nimport { createMembershipModification } from '../../../model/service/membershipUtils'\nimport { createErrorResponse, createProjectNotFoundResponse } from '../../errorUtils'\nimport { Acl } from '@contember/schema'\n\nexport class UpdateProjectMemberMutationResolver implements MutationResolvers {\n\tconstructor(\n\t\tprivate readonly projectMemberManager: ProjectMemberManager,\n\t\tprivate readonly projectManager: ProjectManager,\n\t\tprivate readonly membershipValidator: MembershipValidator,\n\t) {}\n\n\tasync updateProjectMember(\n\t\tparent: any,\n\t\t{ projectSlug, identityId, memberships }: MutationUpdateProjectMemberArgs,\n\t\tcontext: TenantResolverContext,\n\t): Promise<UpdateProjectMemberResponse> {\n\t\tconst project = await this.projectManager.getProjectBySlug(context.db, projectSlug)\n\t\tconst projectScope = await context.permissionContext.createProjectScope(project)\n\t\tawait context.requireAccess({\n\t\t\tscope: projectScope,\n\t\t\taction: PermissionActions.PROJECT_UPDATE_MEMBER([]),\n\t\t\tmessage: 'You are not allowed to update project member variables',\n\t\t})\n\t\tif (!project) {\n\t\t\treturn createProjectNotFoundResponse('PROJECT_NOT_FOUND', projectSlug)\n\t\t}\n\t\tconst visibleMemberships = await this.projectMemberManager.getStoredProjectsMemberships(\n\t\t\tcontext.db,\n\t\t\t{ id: project.id },\n\t\t\t{ id: identityId },\n\t\t\tcontext.permissionContext.createAccessVerifier(projectScope),\n\t\t)\n\t\tconst membershipPatch = createMembershipModification(visibleMemberships, memberships)\n\n\t\tconst aclMemberships: Acl.Membership[] = membershipPatch.map(it => ({\n\t\t\trole: it.role,\n\t\t\tvariables: it.variables.map(it => ({\n\t\t\t\tname: it.name,\n\t\t\t\tvalues: 'set' in it ? it.set : [...it.remove, ...it.append],\n\t\t\t})),\n\t\t}))\n\n\t\tawait context.requireAccess({\n\t\t\tscope: projectScope,\n\t\t\taction: PermissionActions.PROJECT_UPDATE_MEMBER(aclMemberships),\n\t\t\tmessage: 'You are not allowed to update project member variables',\n\t\t})\n\n\t\tconst validationResult = (await this.membershipValidator.validate(project.slug, memberships)).filter(\n\t\t\tit => it.error !== MembershipValidationErrorType.VARIABLE_EMPTY,\n\t\t)\n\t\tif (validationResult.length > 0) {\n\t\t\tconst errors = createMembershipValidationErrorResult(validationResult)\n\t\t\treturn {\n\t\t\t\tok: false,\n\t\t\t\terrors: errors,\n\t\t\t\terror: errors[0],\n\t\t\t}\n\t\t}\n\n\t\tconst result = await this.projectMemberManager.updateProjectMember(context.db, project.id, identityId, membershipPatch)\n\n\t\tif (!result.ok) {\n\t\t\treturn createErrorResponse(result.error, result.errorMessage)\n\t\t}\n\n\t\treturn {\n\t\t\tok: true,\n\t\t\terrors: [],\n\t\t}\n\t}\n}\n"],"names":["it"],"mappings":"
|
|
1
|
+
{"version":3,"file":"UpdateProjectMemberMutationResolver.js","sources":["../../../../../../../packages/engine-tenant-api/src/resolvers/mutation/projectMember/UpdateProjectMemberMutationResolver.ts"],"sourcesContent":["import {\n\tMutationResolvers,\n\tMutationUpdateProjectMemberArgs,\n\tUpdateProjectMemberErrorCode,\n\tUpdateProjectMemberResponse,\n} from '../../../schema'\nimport { TenantResolverContext } from '../../TenantResolverContext'\nimport {\n\tMembershipValidationErrorType,\n\tMembershipValidator,\n\tPermissionActions,\n\tProjectManager,\n\tProjectMemberManager,\n} from '../../../model'\nimport { createMembershipValidationErrorResult } from '../../membershipUtils'\nimport { createMembershipModification } from '../../../model/service/membershipUtils'\nimport { createErrorResponse, createProjectNotFoundResponse } from '../../errorUtils'\nimport { Acl } from '@contember/schema'\n\nexport class UpdateProjectMemberMutationResolver implements MutationResolvers {\n\tconstructor(\n\t\tprivate readonly projectMemberManager: ProjectMemberManager,\n\t\tprivate readonly projectManager: ProjectManager,\n\t\tprivate readonly membershipValidator: MembershipValidator,\n\t) {}\n\n\tasync updateProjectMember(\n\t\tparent: any,\n\t\t{ projectSlug, identityId, memberships }: MutationUpdateProjectMemberArgs,\n\t\tcontext: TenantResolverContext,\n\t): Promise<UpdateProjectMemberResponse> {\n\t\tconst project = await this.projectManager.getProjectBySlug(context.db, projectSlug)\n\t\tconst projectScope = await context.permissionContext.createProjectScope(project)\n\t\tawait context.requireAccess({\n\t\t\tscope: projectScope,\n\t\t\taction: PermissionActions.PROJECT_UPDATE_MEMBER([]),\n\t\t\tmessage: 'You are not allowed to update project member variables',\n\t\t})\n\t\tif (!project) {\n\t\t\treturn createProjectNotFoundResponse('PROJECT_NOT_FOUND', projectSlug)\n\t\t}\n\t\tconst visibleMemberships = await this.projectMemberManager.getStoredProjectsMemberships(\n\t\t\tcontext.db,\n\t\t\t{ id: project.id },\n\t\t\t{ id: identityId },\n\t\t\tcontext.permissionContext.createAccessVerifier(projectScope),\n\t\t)\n\t\tconst membershipPatch = createMembershipModification(visibleMemberships, memberships)\n\n\t\tconst aclMemberships: Acl.Membership[] = membershipPatch.map(it => ({\n\t\t\trole: it.role,\n\t\t\tvariables: it.variables.map(it => ({\n\t\t\t\tname: it.name,\n\t\t\t\tvalues: 'set' in it ? it.set : [...it.remove, ...it.append],\n\t\t\t})),\n\t\t}))\n\n\t\tawait context.requireAccess({\n\t\t\tscope: projectScope,\n\t\t\taction: PermissionActions.PROJECT_UPDATE_MEMBER(aclMemberships),\n\t\t\tmessage: 'You are not allowed to update project member variables',\n\t\t})\n\n\t\tconst validationResult = (await this.membershipValidator.validate(project.slug, memberships)).filter(\n\t\t\tit => it.error !== MembershipValidationErrorType.VARIABLE_EMPTY,\n\t\t)\n\t\tif (validationResult.length > 0) {\n\t\t\tconst errors = createMembershipValidationErrorResult(validationResult)\n\t\t\treturn {\n\t\t\t\tok: false,\n\t\t\t\terrors: errors,\n\t\t\t\terror: errors[0],\n\t\t\t}\n\t\t}\n\n\t\tconst result = await this.projectMemberManager.updateProjectMember(context.db, project.id, identityId, membershipPatch)\n\n\t\tif (!result.ok) {\n\t\t\treturn createErrorResponse(result.error, result.errorMessage)\n\t\t}\n\n\t\treturn {\n\t\t\tok: true,\n\t\t\terrors: [],\n\t\t}\n\t}\n}\n"],"names":["it"],"mappings":";;;;;;;;;;;;;;;;;;;;AAmBO,MAAM,oCAAiE;AAAA,EAC7E,YACkB,sBACA,gBACA,qBAChB;AAHgB,SAAA,uBAAA;AACA,SAAA,iBAAA;AACA,SAAA,sBAAA;AAAA,EAAA;AAAA,EAGlB,MAAM,oBACL,QACA,EAAE,aAAa,YAAY,eAC3B,SACuC;AACvC,UAAM,UAAU,MAAM,KAAK,eAAe,iBAAiB,QAAQ,IAAI,WAAW;AAClF,UAAM,eAAe,MAAM,QAAQ,kBAAkB,mBAAmB,OAAO;AAC/E,UAAM,QAAQ,cAAc;AAAA,MAC3B,OAAO;AAAA,MACP,QAAQ,kBAAkB,sBAAsB,EAAE;AAAA,MAClD,SAAS;AAAA,IAAA,CACT;AACD,QAAI,CAAC,SAAS;AACN,aAAA,8BAA8B,qBAAqB,WAAW;AAAA,IAAA;AAEhE,UAAA,qBAAqB,MAAM,KAAK,qBAAqB;AAAA,MAC1D,QAAQ;AAAA,MACR,EAAE,IAAI,QAAQ,GAAG;AAAA,MACjB,EAAE,IAAI,WAAW;AAAA,MACjB,QAAQ,kBAAkB,qBAAqB,YAAY;AAAA,IAC5D;AACM,UAAA,kBAAkB,6BAA6B,oBAAoB,WAAW;AAE9E,UAAA,iBAAmC,gBAAgB,IAAI,CAAO,QAAA;AAAA,MACnE,MAAM,GAAG;AAAA,MACT,WAAW,GAAG,UAAU,IAAI,CAAAA,SAAO;AAAA,QAClC,MAAMA,IAAG;AAAA,QACT,QAAQ,SAASA,MAAKA,IAAG,MAAM,CAAC,GAAGA,IAAG,QAAQ,GAAGA,IAAG,MAAM;AAAA,MAAA,EACzD;AAAA,IAAA,EACD;AAEF,UAAM,QAAQ,cAAc;AAAA,MAC3B,OAAO;AAAA,MACP,QAAQ,kBAAkB,sBAAsB,cAAc;AAAA,MAC9D,SAAS;AAAA,IAAA,CACT;AAEK,UAAA,oBAAoB,MAAM,KAAK,oBAAoB,SAAS,QAAQ,MAAM,WAAW,GAAG;AAAA,MAC7F,CAAA,OAAM,GAAG,UAAU,8BAA8B;AAAA,IAClD;AACI,QAAA,iBAAiB,SAAS,GAAG;AAC1B,YAAA,SAAS,sCAAsC,gBAAgB;AAC9D,aAAA;AAAA,QACN,IAAI;AAAA,QACJ;AAAA,QACA,OAAO,OAAO,CAAC;AAAA,MAChB;AAAA,IAAA;AAGK,UAAA,SAAS,MAAM,KAAK,qBAAqB,oBAAoB,QAAQ,IAAI,QAAQ,IAAI,YAAY,eAAe;AAElH,QAAA,CAAC,OAAO,IAAI;AACf,aAAO,oBAAoB,OAAO,OAAO,OAAO,YAAY;AAAA,IAAA;AAGtD,WAAA;AAAA,MACN,IAAI;AAAA,MACJ,QAAQ,CAAA;AAAA,IACT;AAAA,EAAA;AAEF;"}
|
|
@@ -14,7 +14,6 @@ require("../../model/service/idp/providers/AppleProvider.cjs");
|
|
|
14
14
|
require("openid-client");
|
|
15
15
|
require("@contember/typesafe");
|
|
16
16
|
require("../../model/service/idp/providers/OIDCTypes.cjs");
|
|
17
|
-
require("../../model/service/idp/providers/OIDCHelpers.cjs");
|
|
18
17
|
require("../../model/service/idp/providers/FacebookProvider.cjs");
|
|
19
18
|
require("@contember/schema-utils");
|
|
20
19
|
require("otpauth");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConfigurationQueryResolver.cjs","sources":["../../../../../../packages/engine-tenant-api/src/resolvers/query/ConfigurationQueryResolver.ts"],"sourcesContent":["import { Config, QueryResolvers } from '../../schema'\nimport { PermissionActions } from '../../model'\nimport { TenantResolverContext } from '../TenantResolverContext'\nimport { ConfigurationManager } from '../../model/service/ConfigurationManager'\n\nexport class ConfigurationQueryResolver implements Pick<QueryResolvers, 'configuration'> {\n\n\tconstructor(\n\t\tprivate readonly configurationManager: ConfigurationManager,\n\t) {\n\t}\n\n\tasync configuration(parent: unknown, args: unknown, context: TenantResolverContext): Promise<Config> {\n\t\tawait context.requireAccess({\n\t\t\taction: PermissionActions.CONFIG_VIEW,\n\t\t\tmessage: 'You are not allowed to view configuration',\n\t\t})\n\n\t\treturn await this.configurationManager.fetchConfiguration(context.db)\n\t}\n}\n"],"names":["PermissionActions"],"mappings":"
|
|
1
|
+
{"version":3,"file":"ConfigurationQueryResolver.cjs","sources":["../../../../../../packages/engine-tenant-api/src/resolvers/query/ConfigurationQueryResolver.ts"],"sourcesContent":["import { Config, QueryResolvers } from '../../schema'\nimport { PermissionActions } from '../../model'\nimport { TenantResolverContext } from '../TenantResolverContext'\nimport { ConfigurationManager } from '../../model/service/ConfigurationManager'\n\nexport class ConfigurationQueryResolver implements Pick<QueryResolvers, 'configuration'> {\n\n\tconstructor(\n\t\tprivate readonly configurationManager: ConfigurationManager,\n\t) {\n\t}\n\n\tasync configuration(parent: unknown, args: unknown, context: TenantResolverContext): Promise<Config> {\n\t\tawait context.requireAccess({\n\t\t\taction: PermissionActions.CONFIG_VIEW,\n\t\t\tmessage: 'You are not allowed to view configuration',\n\t\t})\n\n\t\treturn await this.configurationManager.fetchConfiguration(context.db)\n\t}\n}\n"],"names":["PermissionActions"],"mappings":";;;;;;;;;;;;;;;;;;;AAKO,MAAM,2BAA4E;AAAA,EAExF,YACkB,sBAChB;AADgB,SAAA,uBAAA;AAAA,EAAA;AAAA,EAIlB,MAAM,cAAc,QAAiB,MAAe,SAAiD;AACpG,UAAM,QAAQ,cAAc;AAAA,MAC3B,QAAQA,kBAAkB,kBAAA;AAAA,MAC1B,SAAS;AAAA,IAAA,CACT;AAED,WAAO,MAAM,KAAK,qBAAqB,mBAAmB,QAAQ,EAAE;AAAA,EAAA;AAEtE;;"}
|
|
@@ -12,7 +12,6 @@ import "../../model/service/idp/providers/AppleProvider.js";
|
|
|
12
12
|
import "openid-client";
|
|
13
13
|
import "@contember/typesafe";
|
|
14
14
|
import "../../model/service/idp/providers/OIDCTypes.js";
|
|
15
|
-
import "../../model/service/idp/providers/OIDCHelpers.js";
|
|
16
15
|
import "../../model/service/idp/providers/FacebookProvider.js";
|
|
17
16
|
import "@contember/schema-utils";
|
|
18
17
|
import "otpauth";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConfigurationQueryResolver.js","sources":["../../../../../../packages/engine-tenant-api/src/resolvers/query/ConfigurationQueryResolver.ts"],"sourcesContent":["import { Config, QueryResolvers } from '../../schema'\nimport { PermissionActions } from '../../model'\nimport { TenantResolverContext } from '../TenantResolverContext'\nimport { ConfigurationManager } from '../../model/service/ConfigurationManager'\n\nexport class ConfigurationQueryResolver implements Pick<QueryResolvers, 'configuration'> {\n\n\tconstructor(\n\t\tprivate readonly configurationManager: ConfigurationManager,\n\t) {\n\t}\n\n\tasync configuration(parent: unknown, args: unknown, context: TenantResolverContext): Promise<Config> {\n\t\tawait context.requireAccess({\n\t\t\taction: PermissionActions.CONFIG_VIEW,\n\t\t\tmessage: 'You are not allowed to view configuration',\n\t\t})\n\n\t\treturn await this.configurationManager.fetchConfiguration(context.db)\n\t}\n}\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ConfigurationQueryResolver.js","sources":["../../../../../../packages/engine-tenant-api/src/resolvers/query/ConfigurationQueryResolver.ts"],"sourcesContent":["import { Config, QueryResolvers } from '../../schema'\nimport { PermissionActions } from '../../model'\nimport { TenantResolverContext } from '../TenantResolverContext'\nimport { ConfigurationManager } from '../../model/service/ConfigurationManager'\n\nexport class ConfigurationQueryResolver implements Pick<QueryResolvers, 'configuration'> {\n\n\tconstructor(\n\t\tprivate readonly configurationManager: ConfigurationManager,\n\t) {\n\t}\n\n\tasync configuration(parent: unknown, args: unknown, context: TenantResolverContext): Promise<Config> {\n\t\tawait context.requireAccess({\n\t\t\taction: PermissionActions.CONFIG_VIEW,\n\t\t\tmessage: 'You are not allowed to view configuration',\n\t\t})\n\n\t\treturn await this.configurationManager.fetchConfiguration(context.db)\n\t}\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAKO,MAAM,2BAA4E;AAAA,EAExF,YACkB,sBAChB;AADgB,SAAA,uBAAA;AAAA,EAAA;AAAA,EAIlB,MAAM,cAAc,QAAiB,MAAe,SAAiD;AACpG,UAAM,QAAQ,cAAc;AAAA,MAC3B,QAAQ,kBAAkB;AAAA,MAC1B,SAAS;AAAA,IAAA,CACT;AAED,WAAO,MAAM,KAAK,qBAAqB,mBAAmB,QAAQ,EAAE;AAAA,EAAA;AAEtE;"}
|
|
@@ -14,7 +14,6 @@ require("../../model/service/idp/providers/AppleProvider.cjs");
|
|
|
14
14
|
require("openid-client");
|
|
15
15
|
require("@contember/typesafe");
|
|
16
16
|
require("../../model/service/idp/providers/OIDCTypes.cjs");
|
|
17
|
-
require("../../model/service/idp/providers/OIDCHelpers.cjs");
|
|
18
17
|
require("../../model/service/idp/providers/FacebookProvider.cjs");
|
|
19
18
|
require("@contember/schema-utils");
|
|
20
19
|
require("otpauth");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IDPQueryResolver.cjs","sources":["../../../../../../packages/engine-tenant-api/src/resolvers/query/IDPQueryResolver.ts"],"sourcesContent":["import { IdentityProvider, QueryResolvers } from '../../schema'\nimport { PermissionActions } from '../../model'\nimport { TenantResolverContext } from '../TenantResolverContext'\nimport { IDPManager } from '../../model/service/idp/IDPManager'\n\nexport class IDPQueryResolver implements QueryResolvers {\n\n\tconstructor(\n\t\tprivate readonly idpManager: IDPManager,\n\t) {\n\t}\n\n\tasync identityProviders(parent: unknown, args: unknown, context: TenantResolverContext): Promise<IdentityProvider[]> {\n\t\tawait context.requireAccess({\n\t\t\taction: PermissionActions.IDP_LIST,\n\t\t\tmessage: 'You are not allowed to list IDP',\n\t\t})\n\n\t\treturn await this.idpManager.listIDP(context.db)\n\t}\n}\n"],"names":["PermissionActions"],"mappings":"
|
|
1
|
+
{"version":3,"file":"IDPQueryResolver.cjs","sources":["../../../../../../packages/engine-tenant-api/src/resolvers/query/IDPQueryResolver.ts"],"sourcesContent":["import { IdentityProvider, QueryResolvers } from '../../schema'\nimport { PermissionActions } from '../../model'\nimport { TenantResolverContext } from '../TenantResolverContext'\nimport { IDPManager } from '../../model/service/idp/IDPManager'\n\nexport class IDPQueryResolver implements QueryResolvers {\n\n\tconstructor(\n\t\tprivate readonly idpManager: IDPManager,\n\t) {\n\t}\n\n\tasync identityProviders(parent: unknown, args: unknown, context: TenantResolverContext): Promise<IdentityProvider[]> {\n\t\tawait context.requireAccess({\n\t\t\taction: PermissionActions.IDP_LIST,\n\t\t\tmessage: 'You are not allowed to list IDP',\n\t\t})\n\n\t\treturn await this.idpManager.listIDP(context.db)\n\t}\n}\n"],"names":["PermissionActions"],"mappings":";;;;;;;;;;;;;;;;;;;AAKO,MAAM,iBAA2C;AAAA,EAEvD,YACkB,YAChB;AADgB,SAAA,aAAA;AAAA,EAAA;AAAA,EAIlB,MAAM,kBAAkB,QAAiB,MAAe,SAA6D;AACpH,UAAM,QAAQ,cAAc;AAAA,MAC3B,QAAQA,kBAAkB,kBAAA;AAAA,MAC1B,SAAS;AAAA,IAAA,CACT;AAED,WAAO,MAAM,KAAK,WAAW,QAAQ,QAAQ,EAAE;AAAA,EAAA;AAEjD;;"}
|
|
@@ -12,7 +12,6 @@ import "../../model/service/idp/providers/AppleProvider.js";
|
|
|
12
12
|
import "openid-client";
|
|
13
13
|
import "@contember/typesafe";
|
|
14
14
|
import "../../model/service/idp/providers/OIDCTypes.js";
|
|
15
|
-
import "../../model/service/idp/providers/OIDCHelpers.js";
|
|
16
15
|
import "../../model/service/idp/providers/FacebookProvider.js";
|
|
17
16
|
import "@contember/schema-utils";
|
|
18
17
|
import "otpauth";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IDPQueryResolver.js","sources":["../../../../../../packages/engine-tenant-api/src/resolvers/query/IDPQueryResolver.ts"],"sourcesContent":["import { IdentityProvider, QueryResolvers } from '../../schema'\nimport { PermissionActions } from '../../model'\nimport { TenantResolverContext } from '../TenantResolverContext'\nimport { IDPManager } from '../../model/service/idp/IDPManager'\n\nexport class IDPQueryResolver implements QueryResolvers {\n\n\tconstructor(\n\t\tprivate readonly idpManager: IDPManager,\n\t) {\n\t}\n\n\tasync identityProviders(parent: unknown, args: unknown, context: TenantResolverContext): Promise<IdentityProvider[]> {\n\t\tawait context.requireAccess({\n\t\t\taction: PermissionActions.IDP_LIST,\n\t\t\tmessage: 'You are not allowed to list IDP',\n\t\t})\n\n\t\treturn await this.idpManager.listIDP(context.db)\n\t}\n}\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"IDPQueryResolver.js","sources":["../../../../../../packages/engine-tenant-api/src/resolvers/query/IDPQueryResolver.ts"],"sourcesContent":["import { IdentityProvider, QueryResolvers } from '../../schema'\nimport { PermissionActions } from '../../model'\nimport { TenantResolverContext } from '../TenantResolverContext'\nimport { IDPManager } from '../../model/service/idp/IDPManager'\n\nexport class IDPQueryResolver implements QueryResolvers {\n\n\tconstructor(\n\t\tprivate readonly idpManager: IDPManager,\n\t) {\n\t}\n\n\tasync identityProviders(parent: unknown, args: unknown, context: TenantResolverContext): Promise<IdentityProvider[]> {\n\t\tawait context.requireAccess({\n\t\t\taction: PermissionActions.IDP_LIST,\n\t\t\tmessage: 'You are not allowed to list IDP',\n\t\t})\n\n\t\treturn await this.idpManager.listIDP(context.db)\n\t}\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAKO,MAAM,iBAA2C;AAAA,EAEvD,YACkB,YAChB;AADgB,SAAA,aAAA;AAAA,EAAA;AAAA,EAIlB,MAAM,kBAAkB,QAAiB,MAAe,SAA6D;AACpH,UAAM,QAAQ,cAAc;AAAA,MAC3B,QAAQ,kBAAkB;AAAA,MAC1B,SAAS;AAAA,IAAA,CACT;AAED,WAAO,MAAM,KAAK,WAAW,QAAQ,QAAQ,EAAE;AAAA,EAAA;AAEjD;"}
|
|
@@ -16,7 +16,6 @@ require("../../model/service/idp/providers/AppleProvider.cjs");
|
|
|
16
16
|
require("openid-client");
|
|
17
17
|
require("@contember/typesafe");
|
|
18
18
|
require("../../model/service/idp/providers/OIDCTypes.cjs");
|
|
19
|
-
require("../../model/service/idp/providers/OIDCHelpers.cjs");
|
|
20
19
|
require("../../model/service/idp/providers/FacebookProvider.cjs");
|
|
21
20
|
require("@contember/schema-utils");
|
|
22
21
|
require("otpauth");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MailTemplateQueryResolver.cjs","sources":["../../../../../../packages/engine-tenant-api/src/resolvers/query/MailTemplateQueryResolver.ts"],"sourcesContent":["import { MailTemplateData, QueryResolvers } from '../../schema'\nimport { MailTemplateListQuery, mailTypeFromDbToSchema, PermissionActions } from '../../model'\nimport { TenantResolverContext } from '../TenantResolverContext'\n\nexport class MailTemplateQueryResolver implements QueryResolvers {\n\tasync mailTemplates(parent: unknown, args: unknown, context: TenantResolverContext): Promise<MailTemplateData[]> {\n\t\tawait context.requireAccess({\n\t\t\taction: PermissionActions.MAIL_TEMPLATE_LIST,\n\t\t\tmessage: 'You are not allowed to list mail templates',\n\t\t})\n\t\treturn (await context.db.queryHandler.fetch(new MailTemplateListQuery())).map(it => ({\n\t\t\t...it,\n\t\t\tvariant: it.variant || null,\n\t\t\ttype: mailTypeFromDbToSchema(it.type),\n\t\t}))\n\t}\n}\n"],"names":["PermissionActions","MailTemplateListQuery","mailTypeFromDbToSchema"],"mappings":"
|
|
1
|
+
{"version":3,"file":"MailTemplateQueryResolver.cjs","sources":["../../../../../../packages/engine-tenant-api/src/resolvers/query/MailTemplateQueryResolver.ts"],"sourcesContent":["import { MailTemplateData, QueryResolvers } from '../../schema'\nimport { MailTemplateListQuery, mailTypeFromDbToSchema, PermissionActions } from '../../model'\nimport { TenantResolverContext } from '../TenantResolverContext'\n\nexport class MailTemplateQueryResolver implements QueryResolvers {\n\tasync mailTemplates(parent: unknown, args: unknown, context: TenantResolverContext): Promise<MailTemplateData[]> {\n\t\tawait context.requireAccess({\n\t\t\taction: PermissionActions.MAIL_TEMPLATE_LIST,\n\t\t\tmessage: 'You are not allowed to list mail templates',\n\t\t})\n\t\treturn (await context.db.queryHandler.fetch(new MailTemplateListQuery())).map(it => ({\n\t\t\t...it,\n\t\t\tvariant: it.variant || null,\n\t\t\ttype: mailTypeFromDbToSchema(it.type),\n\t\t}))\n\t}\n}\n"],"names":["PermissionActions","MailTemplateListQuery","mailTypeFromDbToSchema"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAIO,MAAM,0BAAoD;AAAA,EAChE,MAAM,cAAc,QAAiB,MAAe,SAA6D;AAChH,UAAM,QAAQ,cAAc;AAAA,MAC3B,QAAQA,kBAAkB,kBAAA;AAAA,MAC1B,SAAS;AAAA,IAAA,CACT;AACO,YAAA,MAAM,QAAQ,GAAG,aAAa,MAAM,IAAIC,sBAAAA,uBAAuB,GAAG,IAAI,CAAO,QAAA;AAAA,MACpF,GAAG;AAAA,MACH,SAAS,GAAG,WAAW;AAAA,MACvB,MAAMC,KAAAA,uBAAuB,GAAG,IAAI;AAAA,IAAA,EACnC;AAAA,EAAA;AAEJ;;"}
|
|
@@ -14,7 +14,6 @@ import "../../model/service/idp/providers/AppleProvider.js";
|
|
|
14
14
|
import "openid-client";
|
|
15
15
|
import "@contember/typesafe";
|
|
16
16
|
import "../../model/service/idp/providers/OIDCTypes.js";
|
|
17
|
-
import "../../model/service/idp/providers/OIDCHelpers.js";
|
|
18
17
|
import "../../model/service/idp/providers/FacebookProvider.js";
|
|
19
18
|
import "@contember/schema-utils";
|
|
20
19
|
import "otpauth";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MailTemplateQueryResolver.js","sources":["../../../../../../packages/engine-tenant-api/src/resolvers/query/MailTemplateQueryResolver.ts"],"sourcesContent":["import { MailTemplateData, QueryResolvers } from '../../schema'\nimport { MailTemplateListQuery, mailTypeFromDbToSchema, PermissionActions } from '../../model'\nimport { TenantResolverContext } from '../TenantResolverContext'\n\nexport class MailTemplateQueryResolver implements QueryResolvers {\n\tasync mailTemplates(parent: unknown, args: unknown, context: TenantResolverContext): Promise<MailTemplateData[]> {\n\t\tawait context.requireAccess({\n\t\t\taction: PermissionActions.MAIL_TEMPLATE_LIST,\n\t\t\tmessage: 'You are not allowed to list mail templates',\n\t\t})\n\t\treturn (await context.db.queryHandler.fetch(new MailTemplateListQuery())).map(it => ({\n\t\t\t...it,\n\t\t\tvariant: it.variant || null,\n\t\t\ttype: mailTypeFromDbToSchema(it.type),\n\t\t}))\n\t}\n}\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"MailTemplateQueryResolver.js","sources":["../../../../../../packages/engine-tenant-api/src/resolvers/query/MailTemplateQueryResolver.ts"],"sourcesContent":["import { MailTemplateData, QueryResolvers } from '../../schema'\nimport { MailTemplateListQuery, mailTypeFromDbToSchema, PermissionActions } from '../../model'\nimport { TenantResolverContext } from '../TenantResolverContext'\n\nexport class MailTemplateQueryResolver implements QueryResolvers {\n\tasync mailTemplates(parent: unknown, args: unknown, context: TenantResolverContext): Promise<MailTemplateData[]> {\n\t\tawait context.requireAccess({\n\t\t\taction: PermissionActions.MAIL_TEMPLATE_LIST,\n\t\t\tmessage: 'You are not allowed to list mail templates',\n\t\t})\n\t\treturn (await context.db.queryHandler.fetch(new MailTemplateListQuery())).map(it => ({\n\t\t\t...it,\n\t\t\tvariant: it.variant || null,\n\t\t\ttype: mailTypeFromDbToSchema(it.type),\n\t\t}))\n\t}\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAIO,MAAM,0BAAoD;AAAA,EAChE,MAAM,cAAc,QAAiB,MAAe,SAA6D;AAChH,UAAM,QAAQ,cAAc;AAAA,MAC3B,QAAQ,kBAAkB;AAAA,MAC1B,SAAS;AAAA,IAAA,CACT;AACO,YAAA,MAAM,QAAQ,GAAG,aAAa,MAAM,IAAI,uBAAuB,GAAG,IAAI,CAAO,QAAA;AAAA,MACpF,GAAG;AAAA,MACH,SAAS,GAAG,WAAW;AAAA,MACvB,MAAM,uBAAuB,GAAG,IAAI;AAAA,IAAA,EACnC;AAAA,EAAA;AAEJ;"}
|
|
@@ -14,7 +14,6 @@ require("../../model/service/idp/providers/AppleProvider.cjs");
|
|
|
14
14
|
require("openid-client");
|
|
15
15
|
require("@contember/typesafe");
|
|
16
16
|
require("../../model/service/idp/providers/OIDCTypes.cjs");
|
|
17
|
-
require("../../model/service/idp/providers/OIDCHelpers.cjs");
|
|
18
17
|
require("../../model/service/idp/providers/FacebookProvider.cjs");
|
|
19
18
|
require("@contember/schema-utils");
|
|
20
19
|
require("otpauth");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PersonQueryResolver.cjs","sources":["../../../../../../packages/engine-tenant-api/src/resolvers/query/PersonQueryResolver.ts"],"sourcesContent":["import {\n\tMaybe,\n\tPerson,\n\tQueryPersonByIdArgs,\n\tQueryResolvers,\n} from '../../schema'\nimport { TenantResolverContext } from '../TenantResolverContext'\nimport { PermissionActions, PersonManager } from '../../model'\nimport { PersonResponseFactory } from '../responseHelpers/PersonResponseFactory'\n\nexport class PersonQueryResolver implements QueryResolvers {\n\tconstructor(private readonly personManager: PersonManager) {}\n\n\tasync personById(\n\t\tparent: unknown,\n\t\targs: QueryPersonByIdArgs,\n\t\tcontext: TenantResolverContext,\n\t): Promise<Maybe<Person>> {\n\t\tconst person = await this.personManager.findPersonById(context.db, args.id)\n\t\tif (!person || !(await context.isAllowed({ action: PermissionActions.PERSON_VIEW }))) {\n\t\t\treturn null\n\t\t}\n\n\t\treturn await PersonResponseFactory.createPersonResponse(person)\n\t}\n}\n"],"names":["PermissionActions","PersonResponseFactory"],"mappings":"
|
|
1
|
+
{"version":3,"file":"PersonQueryResolver.cjs","sources":["../../../../../../packages/engine-tenant-api/src/resolvers/query/PersonQueryResolver.ts"],"sourcesContent":["import {\n\tMaybe,\n\tPerson,\n\tQueryPersonByIdArgs,\n\tQueryResolvers,\n} from '../../schema'\nimport { TenantResolverContext } from '../TenantResolverContext'\nimport { PermissionActions, PersonManager } from '../../model'\nimport { PersonResponseFactory } from '../responseHelpers/PersonResponseFactory'\n\nexport class PersonQueryResolver implements QueryResolvers {\n\tconstructor(private readonly personManager: PersonManager) {}\n\n\tasync personById(\n\t\tparent: unknown,\n\t\targs: QueryPersonByIdArgs,\n\t\tcontext: TenantResolverContext,\n\t): Promise<Maybe<Person>> {\n\t\tconst person = await this.personManager.findPersonById(context.db, args.id)\n\t\tif (!person || !(await context.isAllowed({ action: PermissionActions.PERSON_VIEW }))) {\n\t\t\treturn null\n\t\t}\n\n\t\treturn await PersonResponseFactory.createPersonResponse(person)\n\t}\n}\n"],"names":["PermissionActions","PersonResponseFactory"],"mappings":";;;;;;;;;;;;;;;;;;;;AAUO,MAAM,oBAA8C;AAAA,EAC1D,YAA6B,eAA8B;AAA9B,SAAA,gBAAA;AAAA,EAAA;AAAA,EAE7B,MAAM,WACL,QACA,MACA,SACyB;AACnB,UAAA,SAAS,MAAM,KAAK,cAAc,eAAe,QAAQ,IAAI,KAAK,EAAE;AACtE,QAAA,CAAC,UAAU,CAAE,MAAM,QAAQ,UAAU,EAAE,QAAQA,kBAAAA,kBAAkB,YAAY,CAAC,GAAI;AAC9E,aAAA;AAAA,IAAA;AAGD,WAAA,MAAMC,sBAAAA,sBAAsB,qBAAqB,MAAM;AAAA,EAAA;AAEhE;;"}
|
|
@@ -12,7 +12,6 @@ import "../../model/service/idp/providers/AppleProvider.js";
|
|
|
12
12
|
import "openid-client";
|
|
13
13
|
import "@contember/typesafe";
|
|
14
14
|
import "../../model/service/idp/providers/OIDCTypes.js";
|
|
15
|
-
import "../../model/service/idp/providers/OIDCHelpers.js";
|
|
16
15
|
import "../../model/service/idp/providers/FacebookProvider.js";
|
|
17
16
|
import "@contember/schema-utils";
|
|
18
17
|
import "otpauth";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PersonQueryResolver.js","sources":["../../../../../../packages/engine-tenant-api/src/resolvers/query/PersonQueryResolver.ts"],"sourcesContent":["import {\n\tMaybe,\n\tPerson,\n\tQueryPersonByIdArgs,\n\tQueryResolvers,\n} from '../../schema'\nimport { TenantResolverContext } from '../TenantResolverContext'\nimport { PermissionActions, PersonManager } from '../../model'\nimport { PersonResponseFactory } from '../responseHelpers/PersonResponseFactory'\n\nexport class PersonQueryResolver implements QueryResolvers {\n\tconstructor(private readonly personManager: PersonManager) {}\n\n\tasync personById(\n\t\tparent: unknown,\n\t\targs: QueryPersonByIdArgs,\n\t\tcontext: TenantResolverContext,\n\t): Promise<Maybe<Person>> {\n\t\tconst person = await this.personManager.findPersonById(context.db, args.id)\n\t\tif (!person || !(await context.isAllowed({ action: PermissionActions.PERSON_VIEW }))) {\n\t\t\treturn null\n\t\t}\n\n\t\treturn await PersonResponseFactory.createPersonResponse(person)\n\t}\n}\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"PersonQueryResolver.js","sources":["../../../../../../packages/engine-tenant-api/src/resolvers/query/PersonQueryResolver.ts"],"sourcesContent":["import {\n\tMaybe,\n\tPerson,\n\tQueryPersonByIdArgs,\n\tQueryResolvers,\n} from '../../schema'\nimport { TenantResolverContext } from '../TenantResolverContext'\nimport { PermissionActions, PersonManager } from '../../model'\nimport { PersonResponseFactory } from '../responseHelpers/PersonResponseFactory'\n\nexport class PersonQueryResolver implements QueryResolvers {\n\tconstructor(private readonly personManager: PersonManager) {}\n\n\tasync personById(\n\t\tparent: unknown,\n\t\targs: QueryPersonByIdArgs,\n\t\tcontext: TenantResolverContext,\n\t): Promise<Maybe<Person>> {\n\t\tconst person = await this.personManager.findPersonById(context.db, args.id)\n\t\tif (!person || !(await context.isAllowed({ action: PermissionActions.PERSON_VIEW }))) {\n\t\t\treturn null\n\t\t}\n\n\t\treturn await PersonResponseFactory.createPersonResponse(person)\n\t}\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAUO,MAAM,oBAA8C;AAAA,EAC1D,YAA6B,eAA8B;AAA9B,SAAA,gBAAA;AAAA,EAAA;AAAA,EAE7B,MAAM,WACL,QACA,MACA,SACyB;AACnB,UAAA,SAAS,MAAM,KAAK,cAAc,eAAe,QAAQ,IAAI,KAAK,EAAE;AACtE,QAAA,CAAC,UAAU,CAAE,MAAM,QAAQ,UAAU,EAAE,QAAQ,kBAAkB,YAAY,CAAC,GAAI;AAC9E,aAAA;AAAA,IAAA;AAGD,WAAA,MAAM,sBAAsB,qBAAqB,MAAM;AAAA,EAAA;AAEhE;"}
|
|
@@ -14,7 +14,6 @@ require("../../model/service/idp/providers/AppleProvider.cjs");
|
|
|
14
14
|
require("openid-client");
|
|
15
15
|
require("@contember/typesafe");
|
|
16
16
|
require("../../model/service/idp/providers/OIDCTypes.cjs");
|
|
17
|
-
require("../../model/service/idp/providers/OIDCHelpers.cjs");
|
|
18
17
|
require("../../model/service/idp/providers/FacebookProvider.cjs");
|
|
19
18
|
require("@contember/schema-utils");
|
|
20
19
|
require("otpauth");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProjectMembersQueryResolver.cjs","sources":["../../../../../../packages/engine-tenant-api/src/resolvers/query/ProjectMembersQueryResolver.ts"],"sourcesContent":["import { Membership, QueryProjectMembershipsArgs, QueryResolvers } from '../../schema'\nimport { TenantResolverContext } from '../TenantResolverContext'\nimport { PermissionActions, ProjectManager, ProjectMemberManager } from '../../model'\n\nexport class ProjectMembersQueryResolver implements QueryResolvers {\n\tconstructor(\n\t\tprivate readonly projectManager: ProjectManager,\n\t\tprivate readonly projectMemberManager: ProjectMemberManager,\n\t) {}\n\n\tasync projectMemberships(\n\t\tparent: unknown,\n\t\targs: QueryProjectMembershipsArgs,\n\t\tcontext: TenantResolverContext,\n\t): Promise<readonly Membership[]> {\n\t\tconst project = await this.projectManager.getProjectBySlug(context.db, args.projectSlug)\n\t\tconst projectScope = await context.permissionContext.createProjectScope(project)\n\t\tif (\n\t\t\t!project ||\n\t\t\t!(await context.isAllowed({\n\t\t\t\tscope: projectScope,\n\t\t\t\taction: PermissionActions.PROJECT_VIEW_MEMBER([]),\n\t\t\t}))\n\t\t) {\n\t\t\treturn []\n\t\t}\n\t\tconst verifier = context.permissionContext.createAccessVerifier(projectScope)\n\n\t\treturn await this.projectMemberManager.getAllProjectMemberships(context.db, { id: project.id }, { id: args.identityId }, verifier)\n\t}\n}\n"],"names":["PermissionActions"],"mappings":"
|
|
1
|
+
{"version":3,"file":"ProjectMembersQueryResolver.cjs","sources":["../../../../../../packages/engine-tenant-api/src/resolvers/query/ProjectMembersQueryResolver.ts"],"sourcesContent":["import { Membership, QueryProjectMembershipsArgs, QueryResolvers } from '../../schema'\nimport { TenantResolverContext } from '../TenantResolverContext'\nimport { PermissionActions, ProjectManager, ProjectMemberManager } from '../../model'\n\nexport class ProjectMembersQueryResolver implements QueryResolvers {\n\tconstructor(\n\t\tprivate readonly projectManager: ProjectManager,\n\t\tprivate readonly projectMemberManager: ProjectMemberManager,\n\t) {}\n\n\tasync projectMemberships(\n\t\tparent: unknown,\n\t\targs: QueryProjectMembershipsArgs,\n\t\tcontext: TenantResolverContext,\n\t): Promise<readonly Membership[]> {\n\t\tconst project = await this.projectManager.getProjectBySlug(context.db, args.projectSlug)\n\t\tconst projectScope = await context.permissionContext.createProjectScope(project)\n\t\tif (\n\t\t\t!project ||\n\t\t\t!(await context.isAllowed({\n\t\t\t\tscope: projectScope,\n\t\t\t\taction: PermissionActions.PROJECT_VIEW_MEMBER([]),\n\t\t\t}))\n\t\t) {\n\t\t\treturn []\n\t\t}\n\t\tconst verifier = context.permissionContext.createAccessVerifier(projectScope)\n\n\t\treturn await this.projectMemberManager.getAllProjectMemberships(context.db, { id: project.id }, { id: args.identityId }, verifier)\n\t}\n}\n"],"names":["PermissionActions"],"mappings":";;;;;;;;;;;;;;;;;;;AAIO,MAAM,4BAAsD;AAAA,EAClE,YACkB,gBACA,sBAChB;AAFgB,SAAA,iBAAA;AACA,SAAA,uBAAA;AAAA,EAAA;AAAA,EAGlB,MAAM,mBACL,QACA,MACA,SACiC;AAC3B,UAAA,UAAU,MAAM,KAAK,eAAe,iBAAiB,QAAQ,IAAI,KAAK,WAAW;AACvF,UAAM,eAAe,MAAM,QAAQ,kBAAkB,mBAAmB,OAAO;AAC/E,QACC,CAAC,WACD,CAAE,MAAM,QAAQ,UAAU;AAAA,MACzB,OAAO;AAAA,MACP,QAAQA,kBAAAA,kBAAkB,oBAAoB,CAAE,CAAA;AAAA,IAAA,CAChD,GACA;AACD,aAAO,CAAC;AAAA,IAAA;AAET,UAAM,WAAW,QAAQ,kBAAkB,qBAAqB,YAAY;AAE5E,WAAO,MAAM,KAAK,qBAAqB,yBAAyB,QAAQ,IAAI,EAAE,IAAI,QAAQ,MAAM,EAAE,IAAI,KAAK,cAAc,QAAQ;AAAA,EAAA;AAEnI;;"}
|
|
@@ -12,7 +12,6 @@ import "../../model/service/idp/providers/AppleProvider.js";
|
|
|
12
12
|
import "openid-client";
|
|
13
13
|
import "@contember/typesafe";
|
|
14
14
|
import "../../model/service/idp/providers/OIDCTypes.js";
|
|
15
|
-
import "../../model/service/idp/providers/OIDCHelpers.js";
|
|
16
15
|
import "../../model/service/idp/providers/FacebookProvider.js";
|
|
17
16
|
import "@contember/schema-utils";
|
|
18
17
|
import "otpauth";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProjectMembersQueryResolver.js","sources":["../../../../../../packages/engine-tenant-api/src/resolvers/query/ProjectMembersQueryResolver.ts"],"sourcesContent":["import { Membership, QueryProjectMembershipsArgs, QueryResolvers } from '../../schema'\nimport { TenantResolverContext } from '../TenantResolverContext'\nimport { PermissionActions, ProjectManager, ProjectMemberManager } from '../../model'\n\nexport class ProjectMembersQueryResolver implements QueryResolvers {\n\tconstructor(\n\t\tprivate readonly projectManager: ProjectManager,\n\t\tprivate readonly projectMemberManager: ProjectMemberManager,\n\t) {}\n\n\tasync projectMemberships(\n\t\tparent: unknown,\n\t\targs: QueryProjectMembershipsArgs,\n\t\tcontext: TenantResolverContext,\n\t): Promise<readonly Membership[]> {\n\t\tconst project = await this.projectManager.getProjectBySlug(context.db, args.projectSlug)\n\t\tconst projectScope = await context.permissionContext.createProjectScope(project)\n\t\tif (\n\t\t\t!project ||\n\t\t\t!(await context.isAllowed({\n\t\t\t\tscope: projectScope,\n\t\t\t\taction: PermissionActions.PROJECT_VIEW_MEMBER([]),\n\t\t\t}))\n\t\t) {\n\t\t\treturn []\n\t\t}\n\t\tconst verifier = context.permissionContext.createAccessVerifier(projectScope)\n\n\t\treturn await this.projectMemberManager.getAllProjectMemberships(context.db, { id: project.id }, { id: args.identityId }, verifier)\n\t}\n}\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ProjectMembersQueryResolver.js","sources":["../../../../../../packages/engine-tenant-api/src/resolvers/query/ProjectMembersQueryResolver.ts"],"sourcesContent":["import { Membership, QueryProjectMembershipsArgs, QueryResolvers } from '../../schema'\nimport { TenantResolverContext } from '../TenantResolverContext'\nimport { PermissionActions, ProjectManager, ProjectMemberManager } from '../../model'\n\nexport class ProjectMembersQueryResolver implements QueryResolvers {\n\tconstructor(\n\t\tprivate readonly projectManager: ProjectManager,\n\t\tprivate readonly projectMemberManager: ProjectMemberManager,\n\t) {}\n\n\tasync projectMemberships(\n\t\tparent: unknown,\n\t\targs: QueryProjectMembershipsArgs,\n\t\tcontext: TenantResolverContext,\n\t): Promise<readonly Membership[]> {\n\t\tconst project = await this.projectManager.getProjectBySlug(context.db, args.projectSlug)\n\t\tconst projectScope = await context.permissionContext.createProjectScope(project)\n\t\tif (\n\t\t\t!project ||\n\t\t\t!(await context.isAllowed({\n\t\t\t\tscope: projectScope,\n\t\t\t\taction: PermissionActions.PROJECT_VIEW_MEMBER([]),\n\t\t\t}))\n\t\t) {\n\t\t\treturn []\n\t\t}\n\t\tconst verifier = context.permissionContext.createAccessVerifier(projectScope)\n\n\t\treturn await this.projectMemberManager.getAllProjectMemberships(context.db, { id: project.id }, { id: args.identityId }, verifier)\n\t}\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAIO,MAAM,4BAAsD;AAAA,EAClE,YACkB,gBACA,sBAChB;AAFgB,SAAA,iBAAA;AACA,SAAA,uBAAA;AAAA,EAAA;AAAA,EAGlB,MAAM,mBACL,QACA,MACA,SACiC;AAC3B,UAAA,UAAU,MAAM,KAAK,eAAe,iBAAiB,QAAQ,IAAI,KAAK,WAAW;AACvF,UAAM,eAAe,MAAM,QAAQ,kBAAkB,mBAAmB,OAAO;AAC/E,QACC,CAAC,WACD,CAAE,MAAM,QAAQ,UAAU;AAAA,MACzB,OAAO;AAAA,MACP,QAAQ,kBAAkB,oBAAoB,CAAE,CAAA;AAAA,IAAA,CAChD,GACA;AACD,aAAO,CAAC;AAAA,IAAA;AAET,UAAM,WAAW,QAAQ,kBAAkB,qBAAqB,YAAY;AAE5E,WAAO,MAAM,KAAK,qBAAqB,yBAAyB,QAAQ,IAAI,EAAE,IAAI,QAAQ,MAAM,EAAE,IAAI,KAAK,cAAc,QAAQ;AAAA,EAAA;AAEnI;"}
|
|
@@ -14,7 +14,6 @@ require("../../model/service/idp/providers/AppleProvider.cjs");
|
|
|
14
14
|
require("openid-client");
|
|
15
15
|
require("@contember/typesafe");
|
|
16
16
|
require("../../model/service/idp/providers/OIDCTypes.cjs");
|
|
17
|
-
require("../../model/service/idp/providers/OIDCHelpers.cjs");
|
|
18
17
|
require("../../model/service/idp/providers/FacebookProvider.cjs");
|
|
19
18
|
require("@contember/schema-utils");
|
|
20
19
|
require("otpauth");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProjectQueryResolver.cjs","sources":["../../../../../../packages/engine-tenant-api/src/resolvers/query/ProjectQueryResolver.ts"],"sourcesContent":["import { Maybe, Project, QueryProjectBySlugArgs, QueryResolvers } from '../../schema'\nimport { TenantResolverContext } from '../TenantResolverContext'\nimport { PermissionActions, ProjectManager } from '../../model'\n\nexport class ProjectQueryResolver implements QueryResolvers {\n\tconstructor(private readonly projectManager: ProjectManager) {}\n\n\tasync projects(parent: unknown, args: unknown, context: TenantResolverContext): Promise<readonly Project[]> {\n\t\treturn (await this.projectManager.getProjectsByIdentity(context.db, context.identity.id, context.permissionContext)).map(\n\t\t\tit => ({ ...it, members: [], roles: [] }),\n\t\t)\n\t}\n\n\tasync projectBySlug(\n\t\tparent: unknown,\n\t\targs: QueryProjectBySlugArgs,\n\t\tcontext: TenantResolverContext,\n\t): Promise<Maybe<Project>> {\n\t\tconst project = await this.projectManager.getProjectBySlug(context.db, args.slug)\n\t\tif (\n\t\t\t!project ||\n\t\t\t!(await context.isAllowed({\n\t\t\t\tscope: await context.permissionContext.createProjectScope(project),\n\t\t\t\taction: PermissionActions.PROJECT_VIEW,\n\t\t\t}))\n\t\t) {\n\t\t\treturn null\n\t\t}\n\n\t\treturn { ...project, members: [], roles: [] }\n\t}\n}\n"],"names":["PermissionActions"],"mappings":"
|
|
1
|
+
{"version":3,"file":"ProjectQueryResolver.cjs","sources":["../../../../../../packages/engine-tenant-api/src/resolvers/query/ProjectQueryResolver.ts"],"sourcesContent":["import { Maybe, Project, QueryProjectBySlugArgs, QueryResolvers } from '../../schema'\nimport { TenantResolverContext } from '../TenantResolverContext'\nimport { PermissionActions, ProjectManager } from '../../model'\n\nexport class ProjectQueryResolver implements QueryResolvers {\n\tconstructor(private readonly projectManager: ProjectManager) {}\n\n\tasync projects(parent: unknown, args: unknown, context: TenantResolverContext): Promise<readonly Project[]> {\n\t\treturn (await this.projectManager.getProjectsByIdentity(context.db, context.identity.id, context.permissionContext)).map(\n\t\t\tit => ({ ...it, members: [], roles: [] }),\n\t\t)\n\t}\n\n\tasync projectBySlug(\n\t\tparent: unknown,\n\t\targs: QueryProjectBySlugArgs,\n\t\tcontext: TenantResolverContext,\n\t): Promise<Maybe<Project>> {\n\t\tconst project = await this.projectManager.getProjectBySlug(context.db, args.slug)\n\t\tif (\n\t\t\t!project ||\n\t\t\t!(await context.isAllowed({\n\t\t\t\tscope: await context.permissionContext.createProjectScope(project),\n\t\t\t\taction: PermissionActions.PROJECT_VIEW,\n\t\t\t}))\n\t\t) {\n\t\t\treturn null\n\t\t}\n\n\t\treturn { ...project, members: [], roles: [] }\n\t}\n}\n"],"names":["PermissionActions"],"mappings":";;;;;;;;;;;;;;;;;;;AAIO,MAAM,qBAA+C;AAAA,EAC3D,YAA6B,gBAAgC;AAAhC,SAAA,iBAAA;AAAA,EAAA;AAAA,EAE7B,MAAM,SAAS,QAAiB,MAAe,SAA6D;AACnG,YAAA,MAAM,KAAK,eAAe,sBAAsB,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ,iBAAiB,GAAG;AAAA,MACpH,CAAA,QAAO,EAAE,GAAG,IAAI,SAAS,CAAC,GAAG,OAAO,GAAG;AAAA,IACxC;AAAA,EAAA;AAAA,EAGD,MAAM,cACL,QACA,MACA,SAC0B;AACpB,UAAA,UAAU,MAAM,KAAK,eAAe,iBAAiB,QAAQ,IAAI,KAAK,IAAI;AAChF,QACC,CAAC,WACD,CAAE,MAAM,QAAQ,UAAU;AAAA,MACzB,OAAO,MAAM,QAAQ,kBAAkB,mBAAmB,OAAO;AAAA,MACjE,QAAQA,kBAAAA,kBAAkB;AAAA,IAAA,CAC1B,GACA;AACM,aAAA;AAAA,IAAA;AAGD,WAAA,EAAE,GAAG,SAAS,SAAS,CAAA,GAAI,OAAO,CAAA,EAAG;AAAA,EAAA;AAE9C;;"}
|
|
@@ -12,7 +12,6 @@ import "../../model/service/idp/providers/AppleProvider.js";
|
|
|
12
12
|
import "openid-client";
|
|
13
13
|
import "@contember/typesafe";
|
|
14
14
|
import "../../model/service/idp/providers/OIDCTypes.js";
|
|
15
|
-
import "../../model/service/idp/providers/OIDCHelpers.js";
|
|
16
15
|
import "../../model/service/idp/providers/FacebookProvider.js";
|
|
17
16
|
import "@contember/schema-utils";
|
|
18
17
|
import "otpauth";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProjectQueryResolver.js","sources":["../../../../../../packages/engine-tenant-api/src/resolvers/query/ProjectQueryResolver.ts"],"sourcesContent":["import { Maybe, Project, QueryProjectBySlugArgs, QueryResolvers } from '../../schema'\nimport { TenantResolverContext } from '../TenantResolverContext'\nimport { PermissionActions, ProjectManager } from '../../model'\n\nexport class ProjectQueryResolver implements QueryResolvers {\n\tconstructor(private readonly projectManager: ProjectManager) {}\n\n\tasync projects(parent: unknown, args: unknown, context: TenantResolverContext): Promise<readonly Project[]> {\n\t\treturn (await this.projectManager.getProjectsByIdentity(context.db, context.identity.id, context.permissionContext)).map(\n\t\t\tit => ({ ...it, members: [], roles: [] }),\n\t\t)\n\t}\n\n\tasync projectBySlug(\n\t\tparent: unknown,\n\t\targs: QueryProjectBySlugArgs,\n\t\tcontext: TenantResolverContext,\n\t): Promise<Maybe<Project>> {\n\t\tconst project = await this.projectManager.getProjectBySlug(context.db, args.slug)\n\t\tif (\n\t\t\t!project ||\n\t\t\t!(await context.isAllowed({\n\t\t\t\tscope: await context.permissionContext.createProjectScope(project),\n\t\t\t\taction: PermissionActions.PROJECT_VIEW,\n\t\t\t}))\n\t\t) {\n\t\t\treturn null\n\t\t}\n\n\t\treturn { ...project, members: [], roles: [] }\n\t}\n}\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ProjectQueryResolver.js","sources":["../../../../../../packages/engine-tenant-api/src/resolvers/query/ProjectQueryResolver.ts"],"sourcesContent":["import { Maybe, Project, QueryProjectBySlugArgs, QueryResolvers } from '../../schema'\nimport { TenantResolverContext } from '../TenantResolverContext'\nimport { PermissionActions, ProjectManager } from '../../model'\n\nexport class ProjectQueryResolver implements QueryResolvers {\n\tconstructor(private readonly projectManager: ProjectManager) {}\n\n\tasync projects(parent: unknown, args: unknown, context: TenantResolverContext): Promise<readonly Project[]> {\n\t\treturn (await this.projectManager.getProjectsByIdentity(context.db, context.identity.id, context.permissionContext)).map(\n\t\t\tit => ({ ...it, members: [], roles: [] }),\n\t\t)\n\t}\n\n\tasync projectBySlug(\n\t\tparent: unknown,\n\t\targs: QueryProjectBySlugArgs,\n\t\tcontext: TenantResolverContext,\n\t): Promise<Maybe<Project>> {\n\t\tconst project = await this.projectManager.getProjectBySlug(context.db, args.slug)\n\t\tif (\n\t\t\t!project ||\n\t\t\t!(await context.isAllowed({\n\t\t\t\tscope: await context.permissionContext.createProjectScope(project),\n\t\t\t\taction: PermissionActions.PROJECT_VIEW,\n\t\t\t}))\n\t\t) {\n\t\t\treturn null\n\t\t}\n\n\t\treturn { ...project, members: [], roles: [] }\n\t}\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAIO,MAAM,qBAA+C;AAAA,EAC3D,YAA6B,gBAAgC;AAAhC,SAAA,iBAAA;AAAA,EAAA;AAAA,EAE7B,MAAM,SAAS,QAAiB,MAAe,SAA6D;AACnG,YAAA,MAAM,KAAK,eAAe,sBAAsB,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ,iBAAiB,GAAG;AAAA,MACpH,CAAA,QAAO,EAAE,GAAG,IAAI,SAAS,CAAC,GAAG,OAAO,GAAG;AAAA,IACxC;AAAA,EAAA;AAAA,EAGD,MAAM,cACL,QACA,MACA,SAC0B;AACpB,UAAA,UAAU,MAAM,KAAK,eAAe,iBAAiB,QAAQ,IAAI,KAAK,IAAI;AAChF,QACC,CAAC,WACD,CAAE,MAAM,QAAQ,UAAU;AAAA,MACzB,OAAO,MAAM,QAAQ,kBAAkB,mBAAmB,OAAO;AAAA,MACjE,QAAQ,kBAAkB;AAAA,IAAA,CAC1B,GACA;AACM,aAAA;AAAA,IAAA;AAGD,WAAA,EAAE,GAAG,SAAS,SAAS,CAAA,GAAI,OAAO,CAAA,EAAG;AAAA,EAAA;AAE9C;"}
|
|
@@ -14,7 +14,6 @@ require("../../model/service/idp/providers/AppleProvider.cjs");
|
|
|
14
14
|
require("openid-client");
|
|
15
15
|
require("@contember/typesafe");
|
|
16
16
|
require("../../model/service/idp/providers/OIDCTypes.cjs");
|
|
17
|
-
require("../../model/service/idp/providers/OIDCHelpers.cjs");
|
|
18
17
|
require("../../model/service/idp/providers/FacebookProvider.cjs");
|
|
19
18
|
require("@contember/schema-utils");
|
|
20
19
|
require("otpauth");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SignInResponseFactory.cjs","sources":["../../../../../../packages/engine-tenant-api/src/resolvers/responseHelpers/SignInResponseFactory.ts"],"sourcesContent":["import { createResolverContext, IdentityTypeResolver, TenantResolverContext } from '../index'\nimport { PermissionContextFactory, SignInResult } from '../../model'\nimport { CommonSignInResult } from '../../schema'\nimport { PersonResponseFactory } from './PersonResponseFactory'\n\nexport class SignInResponseFactory {\n\tconstructor(\n\t\tprivate readonly permissionContextFactory: PermissionContextFactory,\n\t\tprivate readonly identityTypeResolver: IdentityTypeResolver,\n\t) {\n\t}\n\n\tpublic async createResponse(signInResult: SignInResult, context: TenantResolverContext): Promise<CommonSignInResult> {\n\t\tconst identityId = signInResult.person.identity_id\n\t\tconst permissionContext = this.permissionContextFactory.create(context.db, {\n\t\t\tid: identityId,\n\t\t\troles: signInResult.person.roles,\n\t\t})\n\t\tconst projects = await this.identityTypeResolver.projects(\n\t\t\t{ id: identityId, projects: [] },\n\t\t\t{},\n\t\t\t{\n\t\t\t\t...context,\n\t\t\t\t...createResolverContext(permissionContext, context.apiKeyId),\n\t\t\t},\n\t\t)\n\t\treturn {\n\t\t\ttoken: signInResult.token,\n\t\t\tperson: PersonResponseFactory.createPersonResponse(signInResult.person, projects),\n\t\t}\n\t}\n}\n"],"names":["createResolverContext","PersonResponseFactory"],"mappings":"
|
|
1
|
+
{"version":3,"file":"SignInResponseFactory.cjs","sources":["../../../../../../packages/engine-tenant-api/src/resolvers/responseHelpers/SignInResponseFactory.ts"],"sourcesContent":["import { createResolverContext, IdentityTypeResolver, TenantResolverContext } from '../index'\nimport { PermissionContextFactory, SignInResult } from '../../model'\nimport { CommonSignInResult } from '../../schema'\nimport { PersonResponseFactory } from './PersonResponseFactory'\n\nexport class SignInResponseFactory {\n\tconstructor(\n\t\tprivate readonly permissionContextFactory: PermissionContextFactory,\n\t\tprivate readonly identityTypeResolver: IdentityTypeResolver,\n\t) {\n\t}\n\n\tpublic async createResponse(signInResult: SignInResult, context: TenantResolverContext): Promise<CommonSignInResult> {\n\t\tconst identityId = signInResult.person.identity_id\n\t\tconst permissionContext = this.permissionContextFactory.create(context.db, {\n\t\t\tid: identityId,\n\t\t\troles: signInResult.person.roles,\n\t\t})\n\t\tconst projects = await this.identityTypeResolver.projects(\n\t\t\t{ id: identityId, projects: [] },\n\t\t\t{},\n\t\t\t{\n\t\t\t\t...context,\n\t\t\t\t...createResolverContext(permissionContext, context.apiKeyId),\n\t\t\t},\n\t\t)\n\t\treturn {\n\t\t\ttoken: signInResult.token,\n\t\t\tperson: PersonResponseFactory.createPersonResponse(signInResult.person, projects),\n\t\t}\n\t}\n}\n"],"names":["createResolverContext","PersonResponseFactory"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAKO,MAAM,sBAAsB;AAAA,EAClC,YACkB,0BACA,sBAChB;AAFgB,SAAA,2BAAA;AACA,SAAA,uBAAA;AAAA,EAAA;AAAA,EAIlB,MAAa,eAAe,cAA4B,SAA6D;AAC9G,UAAA,aAAa,aAAa,OAAO;AACvC,UAAM,oBAAoB,KAAK,yBAAyB,OAAO,QAAQ,IAAI;AAAA,MAC1E,IAAI;AAAA,MACJ,OAAO,aAAa,OAAO;AAAA,IAAA,CAC3B;AACK,UAAA,WAAW,MAAM,KAAK,qBAAqB;AAAA,MAChD,EAAE,IAAI,YAAY,UAAU,GAAG;AAAA,MAC/B,CAAC;AAAA,MACD;AAAA,QACC,GAAG;AAAA,QACH,GAAGA,6BAAA,sBAAsB,mBAAmB,QAAQ,QAAQ;AAAA,MAAA;AAAA,IAE9D;AACO,WAAA;AAAA,MACN,OAAO,aAAa;AAAA,MACpB,QAAQC,sBAAAA,sBAAsB,qBAAqB,aAAa,QAAQ,QAAQ;AAAA,IACjF;AAAA,EAAA;AAEF;;"}
|
|
@@ -12,7 +12,6 @@ import "../../model/service/idp/providers/AppleProvider.js";
|
|
|
12
12
|
import "openid-client";
|
|
13
13
|
import "@contember/typesafe";
|
|
14
14
|
import "../../model/service/idp/providers/OIDCTypes.js";
|
|
15
|
-
import "../../model/service/idp/providers/OIDCHelpers.js";
|
|
16
15
|
import "../../model/service/idp/providers/FacebookProvider.js";
|
|
17
16
|
import "@contember/schema-utils";
|
|
18
17
|
import "otpauth";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SignInResponseFactory.js","sources":["../../../../../../packages/engine-tenant-api/src/resolvers/responseHelpers/SignInResponseFactory.ts"],"sourcesContent":["import { createResolverContext, IdentityTypeResolver, TenantResolverContext } from '../index'\nimport { PermissionContextFactory, SignInResult } from '../../model'\nimport { CommonSignInResult } from '../../schema'\nimport { PersonResponseFactory } from './PersonResponseFactory'\n\nexport class SignInResponseFactory {\n\tconstructor(\n\t\tprivate readonly permissionContextFactory: PermissionContextFactory,\n\t\tprivate readonly identityTypeResolver: IdentityTypeResolver,\n\t) {\n\t}\n\n\tpublic async createResponse(signInResult: SignInResult, context: TenantResolverContext): Promise<CommonSignInResult> {\n\t\tconst identityId = signInResult.person.identity_id\n\t\tconst permissionContext = this.permissionContextFactory.create(context.db, {\n\t\t\tid: identityId,\n\t\t\troles: signInResult.person.roles,\n\t\t})\n\t\tconst projects = await this.identityTypeResolver.projects(\n\t\t\t{ id: identityId, projects: [] },\n\t\t\t{},\n\t\t\t{\n\t\t\t\t...context,\n\t\t\t\t...createResolverContext(permissionContext, context.apiKeyId),\n\t\t\t},\n\t\t)\n\t\treturn {\n\t\t\ttoken: signInResult.token,\n\t\t\tperson: PersonResponseFactory.createPersonResponse(signInResult.person, projects),\n\t\t}\n\t}\n}\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SignInResponseFactory.js","sources":["../../../../../../packages/engine-tenant-api/src/resolvers/responseHelpers/SignInResponseFactory.ts"],"sourcesContent":["import { createResolverContext, IdentityTypeResolver, TenantResolverContext } from '../index'\nimport { PermissionContextFactory, SignInResult } from '../../model'\nimport { CommonSignInResult } from '../../schema'\nimport { PersonResponseFactory } from './PersonResponseFactory'\n\nexport class SignInResponseFactory {\n\tconstructor(\n\t\tprivate readonly permissionContextFactory: PermissionContextFactory,\n\t\tprivate readonly identityTypeResolver: IdentityTypeResolver,\n\t) {\n\t}\n\n\tpublic async createResponse(signInResult: SignInResult, context: TenantResolverContext): Promise<CommonSignInResult> {\n\t\tconst identityId = signInResult.person.identity_id\n\t\tconst permissionContext = this.permissionContextFactory.create(context.db, {\n\t\t\tid: identityId,\n\t\t\troles: signInResult.person.roles,\n\t\t})\n\t\tconst projects = await this.identityTypeResolver.projects(\n\t\t\t{ id: identityId, projects: [] },\n\t\t\t{},\n\t\t\t{\n\t\t\t\t...context,\n\t\t\t\t...createResolverContext(permissionContext, context.apiKeyId),\n\t\t\t},\n\t\t)\n\t\treturn {\n\t\t\ttoken: signInResult.token,\n\t\t\tperson: PersonResponseFactory.createPersonResponse(signInResult.person, projects),\n\t\t}\n\t}\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAKO,MAAM,sBAAsB;AAAA,EAClC,YACkB,0BACA,sBAChB;AAFgB,SAAA,2BAAA;AACA,SAAA,uBAAA;AAAA,EAAA;AAAA,EAIlB,MAAa,eAAe,cAA4B,SAA6D;AAC9G,UAAA,aAAa,aAAa,OAAO;AACvC,UAAM,oBAAoB,KAAK,yBAAyB,OAAO,QAAQ,IAAI;AAAA,MAC1E,IAAI;AAAA,MACJ,OAAO,aAAa,OAAO;AAAA,IAAA,CAC3B;AACK,UAAA,WAAW,MAAM,KAAK,qBAAqB;AAAA,MAChD,EAAE,IAAI,YAAY,UAAU,GAAG;AAAA,MAC/B,CAAC;AAAA,MACD;AAAA,QACC,GAAG;AAAA,QACH,GAAG,sBAAsB,mBAAmB,QAAQ,QAAQ;AAAA,MAAA;AAAA,IAE9D;AACO,WAAA;AAAA,MACN,OAAO,aAAa;AAAA,MACpB,QAAQ,sBAAsB,qBAAqB,aAAa,QAAQ,QAAQ;AAAA,IACjF;AAAA,EAAA;AAEF;"}
|
|
@@ -17,7 +17,6 @@ require("../../model/service/idp/providers/AppleProvider.cjs");
|
|
|
17
17
|
require("openid-client");
|
|
18
18
|
require("@contember/typesafe");
|
|
19
19
|
require("../../model/service/idp/providers/OIDCTypes.cjs");
|
|
20
|
-
require("../../model/service/idp/providers/OIDCHelpers.cjs");
|
|
21
20
|
require("../../model/service/idp/providers/FacebookProvider.cjs");
|
|
22
21
|
require("@contember/schema-utils");
|
|
23
22
|
require("otpauth");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IdentityTypeResolver.cjs","sources":["../../../../../../packages/engine-tenant-api/src/resolvers/types/IdentityTypeResolver.ts"],"sourcesContent":["import {\n\tIdentity,\n\tIdentityGlobalPermissions,\n\tIdentityProjectRelation,\n\tIdentityResolvers,\n\tMaybe,\n\tPerson,\n} from '../../schema'\nimport {\n\tIdentityQuery,\n\tPermissionActions,\n\tPermissionContextFactory,\n\tPersonByIdentityBatchQuery,\n\tPersonRow,\n\tProjectManager,\n\tProjectMemberManager,\n} from '../../model'\nimport { TenantResolverContext } from '../TenantResolverContext'\nimport { notEmpty } from '../../utils/array'\nimport { batchLoader } from '../../utils/batchQuery'\nimport { PersonResponseFactory } from '../responseHelpers/PersonResponseFactory'\n\nexport class IdentityTypeResolver implements IdentityResolvers {\n\tprivate personLoader = batchLoader<string, Record<string, PersonRow>, PersonRow>(\n\t\tasync (ids, db) => {\n\t\t\tconst persons = await db.queryHandler.fetch(new PersonByIdentityBatchQuery(ids))\n\t\t\treturn Object.fromEntries(persons.map(it => [it.identity_id, it]))\n\t\t},\n\t\t(id, result) => result[id],\n\t)\n\tprivate rolesLoader = batchLoader<string, Record<string, string[]>, string[]>(\n\t\tasync (ids, db) => {\n\t\t\tconst identities = await db.queryHandler.fetch(new IdentityQuery(ids))\n\t\t\treturn Object.fromEntries(identities.map(it => [it.id, it.roles]))\n\t\t},\n\t\t(id, result) => result[id] ?? [],\n\t)\n\n\tconstructor(\n\t\tprivate readonly projectMemberManager: ProjectMemberManager,\n\t\tprivate readonly projectManager: ProjectManager,\n\t\tprivate readonly permissionContextFactory: PermissionContextFactory,\n\t) {\n\t}\n\n\tasync person(parent: Identity, args: unknown, context: TenantResolverContext): Promise<Maybe<Person>> {\n\t\tconst person = await context.db.batchLoad(this.personLoader, parent.id)\n\t\tif (!person) {\n\t\t\treturn null\n\t\t}\n\t\treturn {\n\t\t\t...PersonResponseFactory.createPersonResponse(person),\n\t\t\tidentity: parent,\n\t\t}\n\t}\n\n\tasync projects(\n\t\tparent: { id: string; projects: readonly IdentityProjectRelation[] },\n\t\t{}: any,\n\t\tcontext: TenantResolverContext,\n\t): Promise<readonly IdentityProjectRelation[]> {\n\t\tif (parent.projects.length > 0) {\n\t\t\treturn parent.projects\n\t\t}\n\t\tconst isSelf = parent.id === context.identity.id\n\t\tconst roles = isSelf ? context.identity.roles : []\n\t\tconst projects = await this.projectManager.getProjectsByIdentity(context.db, parent.id, context.permissionContext)\n\t\treturn (\n\t\t\tawait Promise.all(\n\t\t\t\tprojects.map(async (it): Promise<IdentityProjectRelation | null> => {\n\t\t\t\t\tconst verifier = isSelf\n\t\t\t\t\t\t? undefined\n\t\t\t\t\t\t: context.permissionContext.createAccessVerifier(await context.permissionContext.createProjectScope(it))\n\t\t\t\t\tconst memberships = await this.projectMemberManager.getAllProjectMemberships(\n\t\t\t\t\t\tcontext.db,\n\t\t\t\t\t\t{ id: it.id },\n\t\t\t\t\t\t{ id: parent.id, roles },\n\t\t\t\t\t\tverifier,\n\t\t\t\t\t)\n\t\t\t\t\tif (memberships.length === 0) {\n\t\t\t\t\t\treturn null\n\t\t\t\t\t}\n\t\t\t\t\treturn {\n\t\t\t\t\t\tproject: { ...it, members: [], roles: [] },\n\t\t\t\t\t\tmemberships: memberships,\n\t\t\t\t\t}\n\t\t\t\t}),\n\t\t\t)\n\t\t).filter(notEmpty)\n\t}\n\n\tasync roles(\n\t\tparent: { id: string; roles?: readonly string[] | undefined | null },\n\t\t{}: any,\n\t\tcontext: TenantResolverContext,\n\t): Promise<readonly string[] | null> {\n\t\tif (parent.roles) {\n\t\t\treturn parent.roles\n\t\t}\n\t\tconst isSelf = parent.id === context.identity.id\n\t\tif (isSelf) {\n\t\t\treturn context.identity.roles\n\t\t}\n\t\tconst canViewRoles = await context.permissionContext.isAllowed({ action: PermissionActions.IDENTITY_VIEW_PERMISSIONS })\n\t\tif (canViewRoles) {\n\t\t\treturn await context.db.batchLoad(this.rolesLoader, parent.id)\n\t\t} else {\n\t\t\treturn null\n\t\t}\n\t}\n\n\tasync permissions(\n\t\tparent: { id: string; permissions?: IdentityGlobalPermissions | undefined | null; roles?: readonly string[] | undefined | null },\n\t\t{}: any,\n\t\tcontext: TenantResolverContext,\n\t): Promise<IdentityGlobalPermissions | null> {\n\t\tif (parent.permissions) {\n\t\t\treturn parent.permissions\n\t\t}\n\n\t\tconst permissionsContext = await (async () => {\n\t\t\tconst isSelf = parent.id === context.identity.id\n\t\t\tif (isSelf) {\n\t\t\t\treturn context.permissionContext\n\t\t\t}\n\t\t\tconst roles = await this.roles(parent, {}, context)\n\t\t\tif (roles === null) {\n\t\t\t\treturn null\n\t\t\t}\n\t\t\treturn this.permissionContextFactory.create(context.db, { id: parent.id, roles })\n\t\t})()\n\n\t\tif (!permissionsContext) {\n\t\t\treturn null\n\t\t}\n\n\t\treturn {\n\t\t\tcanCreateProject: await permissionsContext.isAllowed({ action: PermissionActions.PROJECT_CREATE }),\n\t\t\tcanDeployEntrypoint: await permissionsContext.isAllowed({ action: PermissionActions.ENTRYPOINT_DEPLOY }),\n\t\t}\n\t}\n}\n"],"names":["batchLoader","PersonByIdentityBatchQuery","IdentityQuery","PersonResponseFactory","notEmpty","PermissionActions"],"mappings":"
|
|
1
|
+
{"version":3,"file":"IdentityTypeResolver.cjs","sources":["../../../../../../packages/engine-tenant-api/src/resolvers/types/IdentityTypeResolver.ts"],"sourcesContent":["import {\n\tIdentity,\n\tIdentityGlobalPermissions,\n\tIdentityProjectRelation,\n\tIdentityResolvers,\n\tMaybe,\n\tPerson,\n} from '../../schema'\nimport {\n\tIdentityQuery,\n\tPermissionActions,\n\tPermissionContextFactory,\n\tPersonByIdentityBatchQuery,\n\tPersonRow,\n\tProjectManager,\n\tProjectMemberManager,\n} from '../../model'\nimport { TenantResolverContext } from '../TenantResolverContext'\nimport { notEmpty } from '../../utils/array'\nimport { batchLoader } from '../../utils/batchQuery'\nimport { PersonResponseFactory } from '../responseHelpers/PersonResponseFactory'\n\nexport class IdentityTypeResolver implements IdentityResolvers {\n\tprivate personLoader = batchLoader<string, Record<string, PersonRow>, PersonRow>(\n\t\tasync (ids, db) => {\n\t\t\tconst persons = await db.queryHandler.fetch(new PersonByIdentityBatchQuery(ids))\n\t\t\treturn Object.fromEntries(persons.map(it => [it.identity_id, it]))\n\t\t},\n\t\t(id, result) => result[id],\n\t)\n\tprivate rolesLoader = batchLoader<string, Record<string, string[]>, string[]>(\n\t\tasync (ids, db) => {\n\t\t\tconst identities = await db.queryHandler.fetch(new IdentityQuery(ids))\n\t\t\treturn Object.fromEntries(identities.map(it => [it.id, it.roles]))\n\t\t},\n\t\t(id, result) => result[id] ?? [],\n\t)\n\n\tconstructor(\n\t\tprivate readonly projectMemberManager: ProjectMemberManager,\n\t\tprivate readonly projectManager: ProjectManager,\n\t\tprivate readonly permissionContextFactory: PermissionContextFactory,\n\t) {\n\t}\n\n\tasync person(parent: Identity, args: unknown, context: TenantResolverContext): Promise<Maybe<Person>> {\n\t\tconst person = await context.db.batchLoad(this.personLoader, parent.id)\n\t\tif (!person) {\n\t\t\treturn null\n\t\t}\n\t\treturn {\n\t\t\t...PersonResponseFactory.createPersonResponse(person),\n\t\t\tidentity: parent,\n\t\t}\n\t}\n\n\tasync projects(\n\t\tparent: { id: string; projects: readonly IdentityProjectRelation[] },\n\t\t{}: any,\n\t\tcontext: TenantResolverContext,\n\t): Promise<readonly IdentityProjectRelation[]> {\n\t\tif (parent.projects.length > 0) {\n\t\t\treturn parent.projects\n\t\t}\n\t\tconst isSelf = parent.id === context.identity.id\n\t\tconst roles = isSelf ? context.identity.roles : []\n\t\tconst projects = await this.projectManager.getProjectsByIdentity(context.db, parent.id, context.permissionContext)\n\t\treturn (\n\t\t\tawait Promise.all(\n\t\t\t\tprojects.map(async (it): Promise<IdentityProjectRelation | null> => {\n\t\t\t\t\tconst verifier = isSelf\n\t\t\t\t\t\t? undefined\n\t\t\t\t\t\t: context.permissionContext.createAccessVerifier(await context.permissionContext.createProjectScope(it))\n\t\t\t\t\tconst memberships = await this.projectMemberManager.getAllProjectMemberships(\n\t\t\t\t\t\tcontext.db,\n\t\t\t\t\t\t{ id: it.id },\n\t\t\t\t\t\t{ id: parent.id, roles },\n\t\t\t\t\t\tverifier,\n\t\t\t\t\t)\n\t\t\t\t\tif (memberships.length === 0) {\n\t\t\t\t\t\treturn null\n\t\t\t\t\t}\n\t\t\t\t\treturn {\n\t\t\t\t\t\tproject: { ...it, members: [], roles: [] },\n\t\t\t\t\t\tmemberships: memberships,\n\t\t\t\t\t}\n\t\t\t\t}),\n\t\t\t)\n\t\t).filter(notEmpty)\n\t}\n\n\tasync roles(\n\t\tparent: { id: string; roles?: readonly string[] | undefined | null },\n\t\t{}: any,\n\t\tcontext: TenantResolverContext,\n\t): Promise<readonly string[] | null> {\n\t\tif (parent.roles) {\n\t\t\treturn parent.roles\n\t\t}\n\t\tconst isSelf = parent.id === context.identity.id\n\t\tif (isSelf) {\n\t\t\treturn context.identity.roles\n\t\t}\n\t\tconst canViewRoles = await context.permissionContext.isAllowed({ action: PermissionActions.IDENTITY_VIEW_PERMISSIONS })\n\t\tif (canViewRoles) {\n\t\t\treturn await context.db.batchLoad(this.rolesLoader, parent.id)\n\t\t} else {\n\t\t\treturn null\n\t\t}\n\t}\n\n\tasync permissions(\n\t\tparent: { id: string; permissions?: IdentityGlobalPermissions | undefined | null; roles?: readonly string[] | undefined | null },\n\t\t{}: any,\n\t\tcontext: TenantResolverContext,\n\t): Promise<IdentityGlobalPermissions | null> {\n\t\tif (parent.permissions) {\n\t\t\treturn parent.permissions\n\t\t}\n\n\t\tconst permissionsContext = await (async () => {\n\t\t\tconst isSelf = parent.id === context.identity.id\n\t\t\tif (isSelf) {\n\t\t\t\treturn context.permissionContext\n\t\t\t}\n\t\t\tconst roles = await this.roles(parent, {}, context)\n\t\t\tif (roles === null) {\n\t\t\t\treturn null\n\t\t\t}\n\t\t\treturn this.permissionContextFactory.create(context.db, { id: parent.id, roles })\n\t\t})()\n\n\t\tif (!permissionsContext) {\n\t\t\treturn null\n\t\t}\n\n\t\treturn {\n\t\t\tcanCreateProject: await permissionsContext.isAllowed({ action: PermissionActions.PROJECT_CREATE }),\n\t\t\tcanDeployEntrypoint: await permissionsContext.isAllowed({ action: PermissionActions.ENTRYPOINT_DEPLOY }),\n\t\t}\n\t}\n}\n"],"names":["batchLoader","PersonByIdentityBatchQuery","IdentityQuery","PersonResponseFactory","notEmpty","PermissionActions"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAsBO,MAAM,qBAAkD;AAAA,EAgB9D,YACkB,sBACA,gBACA,0BAChB;AAHgB,SAAA,uBAAA;AACA,SAAA,iBAAA;AACA,SAAA,2BAAA;AAlBlB,kBAAA,MAAQ,gBAAeA,WAAA;AAAA,MACtB,OAAO,KAAK,OAAO;AACZ,cAAA,UAAU,MAAM,GAAG,aAAa,MAAM,IAAIC,2BAAAA,2BAA2B,GAAG,CAAC;AACxE,eAAA,OAAO,YAAY,QAAQ,IAAI,CAAA,OAAM,CAAC,GAAG,aAAa,EAAE,CAAC,CAAC;AAAA,MAClE;AAAA,MACA,CAAC,IAAI,WAAW,OAAO,EAAE;AAAA,IAAA,CAC1B;AACA,kBAAA,MAAQ,eAAcD,WAAA;AAAA,MACrB,OAAO,KAAK,OAAO;AACZ,cAAA,aAAa,MAAM,GAAG,aAAa,MAAM,IAAIE,cAAAA,cAAc,GAAG,CAAC;AAC9D,eAAA,OAAO,YAAY,WAAW,IAAI,CAAA,OAAM,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC,CAAC;AAAA,MAClE;AAAA,MACA,CAAC,IAAI,WAAW,OAAO,EAAE,KAAK,CAAA;AAAA,IAAC,CAChC;AAAA,EAAA;AAAA,EASA,MAAM,OAAO,QAAkB,MAAe,SAAwD;AAC/F,UAAA,SAAS,MAAM,QAAQ,GAAG,UAAU,KAAK,cAAc,OAAO,EAAE;AACtE,QAAI,CAAC,QAAQ;AACL,aAAA;AAAA,IAAA;AAED,WAAA;AAAA,MACN,GAAGC,sBAAsB,sBAAA,qBAAqB,MAAM;AAAA,MACpD,UAAU;AAAA,IACX;AAAA,EAAA;AAAA,EAGD,MAAM,SACL,QACA,IACA,SAC8C;AAC1C,QAAA,OAAO,SAAS,SAAS,GAAG;AAC/B,aAAO,OAAO;AAAA,IAAA;AAEf,UAAM,SAAS,OAAO,OAAO,QAAQ,SAAS;AAC9C,UAAM,QAAQ,SAAS,QAAQ,SAAS,QAAQ,CAAC;AAC3C,UAAA,WAAW,MAAM,KAAK,eAAe,sBAAsB,QAAQ,IAAI,OAAO,IAAI,QAAQ,iBAAiB;AACjH,YACC,MAAM,QAAQ;AAAA,MACb,SAAS,IAAI,OAAO,OAAgD;AAC7D,cAAA,WAAW,SACd,SACA,QAAQ,kBAAkB,qBAAqB,MAAM,QAAQ,kBAAkB,mBAAmB,EAAE,CAAC;AAClG,cAAA,cAAc,MAAM,KAAK,qBAAqB;AAAA,UACnD,QAAQ;AAAA,UACR,EAAE,IAAI,GAAG,GAAG;AAAA,UACZ,EAAE,IAAI,OAAO,IAAI,MAAM;AAAA,UACvB;AAAA,QACD;AACI,YAAA,YAAY,WAAW,GAAG;AACtB,iBAAA;AAAA,QAAA;AAED,eAAA;AAAA,UACN,SAAS,EAAE,GAAG,IAAI,SAAS,CAAC,GAAG,OAAO,GAAG;AAAA,UACzC;AAAA,QACD;AAAA,MACA,CAAA;AAAA,IAAA,GAED,OAAOC,MAAAA,QAAQ;AAAA,EAAA;AAAA,EAGlB,MAAM,MACL,QACA,IACA,SACoC;AACpC,QAAI,OAAO,OAAO;AACjB,aAAO,OAAO;AAAA,IAAA;AAEf,UAAM,SAAS,OAAO,OAAO,QAAQ,SAAS;AAC9C,QAAI,QAAQ;AACX,aAAO,QAAQ,SAAS;AAAA,IAAA;AAEnB,UAAA,eAAe,MAAM,QAAQ,kBAAkB,UAAU,EAAE,QAAQC,oCAAkB,2BAA2B;AACtH,QAAI,cAAc;AACjB,aAAO,MAAM,QAAQ,GAAG,UAAU,KAAK,aAAa,OAAO,EAAE;AAAA,IAAA,OACvD;AACC,aAAA;AAAA,IAAA;AAAA,EACR;AAAA,EAGD,MAAM,YACL,QACA,IACA,SAC4C;AAC5C,QAAI,OAAO,aAAa;AACvB,aAAO,OAAO;AAAA,IAAA;AAGT,UAAA,qBAAqB,OAAO,YAAY;AAC7C,YAAM,SAAS,OAAO,OAAO,QAAQ,SAAS;AAC9C,UAAI,QAAQ;AACX,eAAO,QAAQ;AAAA,MAAA;AAEhB,YAAM,QAAQ,MAAM,KAAK,MAAM,QAAQ,IAAI,OAAO;AAClD,UAAI,UAAU,MAAM;AACZ,eAAA;AAAA,MAAA;AAED,aAAA,KAAK,yBAAyB,OAAO,QAAQ,IAAI,EAAE,IAAI,OAAO,IAAI,OAAO;AAAA,IAAA,GAC9E;AAEH,QAAI,CAAC,oBAAoB;AACjB,aAAA;AAAA,IAAA;AAGD,WAAA;AAAA,MACN,kBAAkB,MAAM,mBAAmB,UAAU,EAAE,QAAQA,kBAAAA,kBAAkB,gBAAgB;AAAA,MACjG,qBAAqB,MAAM,mBAAmB,UAAU,EAAE,QAAQA,kBAAA,kBAAkB,kBAAmB,CAAA;AAAA,IACxG;AAAA,EAAA;AAEF;;"}
|
|
@@ -15,7 +15,6 @@ import "../../model/service/idp/providers/AppleProvider.js";
|
|
|
15
15
|
import "openid-client";
|
|
16
16
|
import "@contember/typesafe";
|
|
17
17
|
import "../../model/service/idp/providers/OIDCTypes.js";
|
|
18
|
-
import "../../model/service/idp/providers/OIDCHelpers.js";
|
|
19
18
|
import "../../model/service/idp/providers/FacebookProvider.js";
|
|
20
19
|
import "@contember/schema-utils";
|
|
21
20
|
import "otpauth";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IdentityTypeResolver.js","sources":["../../../../../../packages/engine-tenant-api/src/resolvers/types/IdentityTypeResolver.ts"],"sourcesContent":["import {\n\tIdentity,\n\tIdentityGlobalPermissions,\n\tIdentityProjectRelation,\n\tIdentityResolvers,\n\tMaybe,\n\tPerson,\n} from '../../schema'\nimport {\n\tIdentityQuery,\n\tPermissionActions,\n\tPermissionContextFactory,\n\tPersonByIdentityBatchQuery,\n\tPersonRow,\n\tProjectManager,\n\tProjectMemberManager,\n} from '../../model'\nimport { TenantResolverContext } from '../TenantResolverContext'\nimport { notEmpty } from '../../utils/array'\nimport { batchLoader } from '../../utils/batchQuery'\nimport { PersonResponseFactory } from '../responseHelpers/PersonResponseFactory'\n\nexport class IdentityTypeResolver implements IdentityResolvers {\n\tprivate personLoader = batchLoader<string, Record<string, PersonRow>, PersonRow>(\n\t\tasync (ids, db) => {\n\t\t\tconst persons = await db.queryHandler.fetch(new PersonByIdentityBatchQuery(ids))\n\t\t\treturn Object.fromEntries(persons.map(it => [it.identity_id, it]))\n\t\t},\n\t\t(id, result) => result[id],\n\t)\n\tprivate rolesLoader = batchLoader<string, Record<string, string[]>, string[]>(\n\t\tasync (ids, db) => {\n\t\t\tconst identities = await db.queryHandler.fetch(new IdentityQuery(ids))\n\t\t\treturn Object.fromEntries(identities.map(it => [it.id, it.roles]))\n\t\t},\n\t\t(id, result) => result[id] ?? [],\n\t)\n\n\tconstructor(\n\t\tprivate readonly projectMemberManager: ProjectMemberManager,\n\t\tprivate readonly projectManager: ProjectManager,\n\t\tprivate readonly permissionContextFactory: PermissionContextFactory,\n\t) {\n\t}\n\n\tasync person(parent: Identity, args: unknown, context: TenantResolverContext): Promise<Maybe<Person>> {\n\t\tconst person = await context.db.batchLoad(this.personLoader, parent.id)\n\t\tif (!person) {\n\t\t\treturn null\n\t\t}\n\t\treturn {\n\t\t\t...PersonResponseFactory.createPersonResponse(person),\n\t\t\tidentity: parent,\n\t\t}\n\t}\n\n\tasync projects(\n\t\tparent: { id: string; projects: readonly IdentityProjectRelation[] },\n\t\t{}: any,\n\t\tcontext: TenantResolverContext,\n\t): Promise<readonly IdentityProjectRelation[]> {\n\t\tif (parent.projects.length > 0) {\n\t\t\treturn parent.projects\n\t\t}\n\t\tconst isSelf = parent.id === context.identity.id\n\t\tconst roles = isSelf ? context.identity.roles : []\n\t\tconst projects = await this.projectManager.getProjectsByIdentity(context.db, parent.id, context.permissionContext)\n\t\treturn (\n\t\t\tawait Promise.all(\n\t\t\t\tprojects.map(async (it): Promise<IdentityProjectRelation | null> => {\n\t\t\t\t\tconst verifier = isSelf\n\t\t\t\t\t\t? undefined\n\t\t\t\t\t\t: context.permissionContext.createAccessVerifier(await context.permissionContext.createProjectScope(it))\n\t\t\t\t\tconst memberships = await this.projectMemberManager.getAllProjectMemberships(\n\t\t\t\t\t\tcontext.db,\n\t\t\t\t\t\t{ id: it.id },\n\t\t\t\t\t\t{ id: parent.id, roles },\n\t\t\t\t\t\tverifier,\n\t\t\t\t\t)\n\t\t\t\t\tif (memberships.length === 0) {\n\t\t\t\t\t\treturn null\n\t\t\t\t\t}\n\t\t\t\t\treturn {\n\t\t\t\t\t\tproject: { ...it, members: [], roles: [] },\n\t\t\t\t\t\tmemberships: memberships,\n\t\t\t\t\t}\n\t\t\t\t}),\n\t\t\t)\n\t\t).filter(notEmpty)\n\t}\n\n\tasync roles(\n\t\tparent: { id: string; roles?: readonly string[] | undefined | null },\n\t\t{}: any,\n\t\tcontext: TenantResolverContext,\n\t): Promise<readonly string[] | null> {\n\t\tif (parent.roles) {\n\t\t\treturn parent.roles\n\t\t}\n\t\tconst isSelf = parent.id === context.identity.id\n\t\tif (isSelf) {\n\t\t\treturn context.identity.roles\n\t\t}\n\t\tconst canViewRoles = await context.permissionContext.isAllowed({ action: PermissionActions.IDENTITY_VIEW_PERMISSIONS })\n\t\tif (canViewRoles) {\n\t\t\treturn await context.db.batchLoad(this.rolesLoader, parent.id)\n\t\t} else {\n\t\t\treturn null\n\t\t}\n\t}\n\n\tasync permissions(\n\t\tparent: { id: string; permissions?: IdentityGlobalPermissions | undefined | null; roles?: readonly string[] | undefined | null },\n\t\t{}: any,\n\t\tcontext: TenantResolverContext,\n\t): Promise<IdentityGlobalPermissions | null> {\n\t\tif (parent.permissions) {\n\t\t\treturn parent.permissions\n\t\t}\n\n\t\tconst permissionsContext = await (async () => {\n\t\t\tconst isSelf = parent.id === context.identity.id\n\t\t\tif (isSelf) {\n\t\t\t\treturn context.permissionContext\n\t\t\t}\n\t\t\tconst roles = await this.roles(parent, {}, context)\n\t\t\tif (roles === null) {\n\t\t\t\treturn null\n\t\t\t}\n\t\t\treturn this.permissionContextFactory.create(context.db, { id: parent.id, roles })\n\t\t})()\n\n\t\tif (!permissionsContext) {\n\t\t\treturn null\n\t\t}\n\n\t\treturn {\n\t\t\tcanCreateProject: await permissionsContext.isAllowed({ action: PermissionActions.PROJECT_CREATE }),\n\t\t\tcanDeployEntrypoint: await permissionsContext.isAllowed({ action: PermissionActions.ENTRYPOINT_DEPLOY }),\n\t\t}\n\t}\n}\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"IdentityTypeResolver.js","sources":["../../../../../../packages/engine-tenant-api/src/resolvers/types/IdentityTypeResolver.ts"],"sourcesContent":["import {\n\tIdentity,\n\tIdentityGlobalPermissions,\n\tIdentityProjectRelation,\n\tIdentityResolvers,\n\tMaybe,\n\tPerson,\n} from '../../schema'\nimport {\n\tIdentityQuery,\n\tPermissionActions,\n\tPermissionContextFactory,\n\tPersonByIdentityBatchQuery,\n\tPersonRow,\n\tProjectManager,\n\tProjectMemberManager,\n} from '../../model'\nimport { TenantResolverContext } from '../TenantResolverContext'\nimport { notEmpty } from '../../utils/array'\nimport { batchLoader } from '../../utils/batchQuery'\nimport { PersonResponseFactory } from '../responseHelpers/PersonResponseFactory'\n\nexport class IdentityTypeResolver implements IdentityResolvers {\n\tprivate personLoader = batchLoader<string, Record<string, PersonRow>, PersonRow>(\n\t\tasync (ids, db) => {\n\t\t\tconst persons = await db.queryHandler.fetch(new PersonByIdentityBatchQuery(ids))\n\t\t\treturn Object.fromEntries(persons.map(it => [it.identity_id, it]))\n\t\t},\n\t\t(id, result) => result[id],\n\t)\n\tprivate rolesLoader = batchLoader<string, Record<string, string[]>, string[]>(\n\t\tasync (ids, db) => {\n\t\t\tconst identities = await db.queryHandler.fetch(new IdentityQuery(ids))\n\t\t\treturn Object.fromEntries(identities.map(it => [it.id, it.roles]))\n\t\t},\n\t\t(id, result) => result[id] ?? [],\n\t)\n\n\tconstructor(\n\t\tprivate readonly projectMemberManager: ProjectMemberManager,\n\t\tprivate readonly projectManager: ProjectManager,\n\t\tprivate readonly permissionContextFactory: PermissionContextFactory,\n\t) {\n\t}\n\n\tasync person(parent: Identity, args: unknown, context: TenantResolverContext): Promise<Maybe<Person>> {\n\t\tconst person = await context.db.batchLoad(this.personLoader, parent.id)\n\t\tif (!person) {\n\t\t\treturn null\n\t\t}\n\t\treturn {\n\t\t\t...PersonResponseFactory.createPersonResponse(person),\n\t\t\tidentity: parent,\n\t\t}\n\t}\n\n\tasync projects(\n\t\tparent: { id: string; projects: readonly IdentityProjectRelation[] },\n\t\t{}: any,\n\t\tcontext: TenantResolverContext,\n\t): Promise<readonly IdentityProjectRelation[]> {\n\t\tif (parent.projects.length > 0) {\n\t\t\treturn parent.projects\n\t\t}\n\t\tconst isSelf = parent.id === context.identity.id\n\t\tconst roles = isSelf ? context.identity.roles : []\n\t\tconst projects = await this.projectManager.getProjectsByIdentity(context.db, parent.id, context.permissionContext)\n\t\treturn (\n\t\t\tawait Promise.all(\n\t\t\t\tprojects.map(async (it): Promise<IdentityProjectRelation | null> => {\n\t\t\t\t\tconst verifier = isSelf\n\t\t\t\t\t\t? undefined\n\t\t\t\t\t\t: context.permissionContext.createAccessVerifier(await context.permissionContext.createProjectScope(it))\n\t\t\t\t\tconst memberships = await this.projectMemberManager.getAllProjectMemberships(\n\t\t\t\t\t\tcontext.db,\n\t\t\t\t\t\t{ id: it.id },\n\t\t\t\t\t\t{ id: parent.id, roles },\n\t\t\t\t\t\tverifier,\n\t\t\t\t\t)\n\t\t\t\t\tif (memberships.length === 0) {\n\t\t\t\t\t\treturn null\n\t\t\t\t\t}\n\t\t\t\t\treturn {\n\t\t\t\t\t\tproject: { ...it, members: [], roles: [] },\n\t\t\t\t\t\tmemberships: memberships,\n\t\t\t\t\t}\n\t\t\t\t}),\n\t\t\t)\n\t\t).filter(notEmpty)\n\t}\n\n\tasync roles(\n\t\tparent: { id: string; roles?: readonly string[] | undefined | null },\n\t\t{}: any,\n\t\tcontext: TenantResolverContext,\n\t): Promise<readonly string[] | null> {\n\t\tif (parent.roles) {\n\t\t\treturn parent.roles\n\t\t}\n\t\tconst isSelf = parent.id === context.identity.id\n\t\tif (isSelf) {\n\t\t\treturn context.identity.roles\n\t\t}\n\t\tconst canViewRoles = await context.permissionContext.isAllowed({ action: PermissionActions.IDENTITY_VIEW_PERMISSIONS })\n\t\tif (canViewRoles) {\n\t\t\treturn await context.db.batchLoad(this.rolesLoader, parent.id)\n\t\t} else {\n\t\t\treturn null\n\t\t}\n\t}\n\n\tasync permissions(\n\t\tparent: { id: string; permissions?: IdentityGlobalPermissions | undefined | null; roles?: readonly string[] | undefined | null },\n\t\t{}: any,\n\t\tcontext: TenantResolverContext,\n\t): Promise<IdentityGlobalPermissions | null> {\n\t\tif (parent.permissions) {\n\t\t\treturn parent.permissions\n\t\t}\n\n\t\tconst permissionsContext = await (async () => {\n\t\t\tconst isSelf = parent.id === context.identity.id\n\t\t\tif (isSelf) {\n\t\t\t\treturn context.permissionContext\n\t\t\t}\n\t\t\tconst roles = await this.roles(parent, {}, context)\n\t\t\tif (roles === null) {\n\t\t\t\treturn null\n\t\t\t}\n\t\t\treturn this.permissionContextFactory.create(context.db, { id: parent.id, roles })\n\t\t})()\n\n\t\tif (!permissionsContext) {\n\t\t\treturn null\n\t\t}\n\n\t\treturn {\n\t\t\tcanCreateProject: await permissionsContext.isAllowed({ action: PermissionActions.PROJECT_CREATE }),\n\t\t\tcanDeployEntrypoint: await permissionsContext.isAllowed({ action: PermissionActions.ENTRYPOINT_DEPLOY }),\n\t\t}\n\t}\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAsBO,MAAM,qBAAkD;AAAA,EAgB9D,YACkB,sBACA,gBACA,0BAChB;AAHgB,SAAA,uBAAA;AACA,SAAA,iBAAA;AACA,SAAA,2BAAA;AAlBlB,kBAAA,MAAQ,gBAAe;AAAA,MACtB,OAAO,KAAK,OAAO;AACZ,cAAA,UAAU,MAAM,GAAG,aAAa,MAAM,IAAI,2BAA2B,GAAG,CAAC;AACxE,eAAA,OAAO,YAAY,QAAQ,IAAI,CAAA,OAAM,CAAC,GAAG,aAAa,EAAE,CAAC,CAAC;AAAA,MAClE;AAAA,MACA,CAAC,IAAI,WAAW,OAAO,EAAE;AAAA,IAAA,CAC1B;AACA,kBAAA,MAAQ,eAAc;AAAA,MACrB,OAAO,KAAK,OAAO;AACZ,cAAA,aAAa,MAAM,GAAG,aAAa,MAAM,IAAI,cAAc,GAAG,CAAC;AAC9D,eAAA,OAAO,YAAY,WAAW,IAAI,CAAA,OAAM,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC,CAAC;AAAA,MAClE;AAAA,MACA,CAAC,IAAI,WAAW,OAAO,EAAE,KAAK,CAAA;AAAA,IAAC,CAChC;AAAA,EAAA;AAAA,EASA,MAAM,OAAO,QAAkB,MAAe,SAAwD;AAC/F,UAAA,SAAS,MAAM,QAAQ,GAAG,UAAU,KAAK,cAAc,OAAO,EAAE;AACtE,QAAI,CAAC,QAAQ;AACL,aAAA;AAAA,IAAA;AAED,WAAA;AAAA,MACN,GAAG,sBAAsB,qBAAqB,MAAM;AAAA,MACpD,UAAU;AAAA,IACX;AAAA,EAAA;AAAA,EAGD,MAAM,SACL,QACA,IACA,SAC8C;AAC1C,QAAA,OAAO,SAAS,SAAS,GAAG;AAC/B,aAAO,OAAO;AAAA,IAAA;AAEf,UAAM,SAAS,OAAO,OAAO,QAAQ,SAAS;AAC9C,UAAM,QAAQ,SAAS,QAAQ,SAAS,QAAQ,CAAC;AAC3C,UAAA,WAAW,MAAM,KAAK,eAAe,sBAAsB,QAAQ,IAAI,OAAO,IAAI,QAAQ,iBAAiB;AACjH,YACC,MAAM,QAAQ;AAAA,MACb,SAAS,IAAI,OAAO,OAAgD;AAC7D,cAAA,WAAW,SACd,SACA,QAAQ,kBAAkB,qBAAqB,MAAM,QAAQ,kBAAkB,mBAAmB,EAAE,CAAC;AAClG,cAAA,cAAc,MAAM,KAAK,qBAAqB;AAAA,UACnD,QAAQ;AAAA,UACR,EAAE,IAAI,GAAG,GAAG;AAAA,UACZ,EAAE,IAAI,OAAO,IAAI,MAAM;AAAA,UACvB;AAAA,QACD;AACI,YAAA,YAAY,WAAW,GAAG;AACtB,iBAAA;AAAA,QAAA;AAED,eAAA;AAAA,UACN,SAAS,EAAE,GAAG,IAAI,SAAS,CAAC,GAAG,OAAO,GAAG;AAAA,UACzC;AAAA,QACD;AAAA,MACA,CAAA;AAAA,IAAA,GAED,OAAO,QAAQ;AAAA,EAAA;AAAA,EAGlB,MAAM,MACL,QACA,IACA,SACoC;AACpC,QAAI,OAAO,OAAO;AACjB,aAAO,OAAO;AAAA,IAAA;AAEf,UAAM,SAAS,OAAO,OAAO,QAAQ,SAAS;AAC9C,QAAI,QAAQ;AACX,aAAO,QAAQ,SAAS;AAAA,IAAA;AAEnB,UAAA,eAAe,MAAM,QAAQ,kBAAkB,UAAU,EAAE,QAAQ,kBAAkB,2BAA2B;AACtH,QAAI,cAAc;AACjB,aAAO,MAAM,QAAQ,GAAG,UAAU,KAAK,aAAa,OAAO,EAAE;AAAA,IAAA,OACvD;AACC,aAAA;AAAA,IAAA;AAAA,EACR;AAAA,EAGD,MAAM,YACL,QACA,IACA,SAC4C;AAC5C,QAAI,OAAO,aAAa;AACvB,aAAO,OAAO;AAAA,IAAA;AAGT,UAAA,qBAAqB,OAAO,YAAY;AAC7C,YAAM,SAAS,OAAO,OAAO,QAAQ,SAAS;AAC9C,UAAI,QAAQ;AACX,eAAO,QAAQ;AAAA,MAAA;AAEhB,YAAM,QAAQ,MAAM,KAAK,MAAM,QAAQ,IAAI,OAAO;AAClD,UAAI,UAAU,MAAM;AACZ,eAAA;AAAA,MAAA;AAED,aAAA,KAAK,yBAAyB,OAAO,QAAQ,IAAI,EAAE,IAAI,OAAO,IAAI,OAAO;AAAA,IAAA,GAC9E;AAEH,QAAI,CAAC,oBAAoB;AACjB,aAAA;AAAA,IAAA;AAGD,WAAA;AAAA,MACN,kBAAkB,MAAM,mBAAmB,UAAU,EAAE,QAAQ,kBAAkB,gBAAgB;AAAA,MACjG,qBAAqB,MAAM,mBAAmB,UAAU,EAAE,QAAQ,kBAAkB,kBAAmB,CAAA;AAAA,IACxG;AAAA,EAAA;AAEF;"}
|
|
@@ -14,7 +14,6 @@ require("../../model/service/idp/providers/AppleProvider.cjs");
|
|
|
14
14
|
require("openid-client");
|
|
15
15
|
require("@contember/typesafe");
|
|
16
16
|
require("../../model/service/idp/providers/OIDCTypes.cjs");
|
|
17
|
-
require("../../model/service/idp/providers/OIDCHelpers.cjs");
|
|
18
17
|
require("../../model/service/idp/providers/FacebookProvider.cjs");
|
|
19
18
|
const schemaUtils = require("@contember/schema-utils");
|
|
20
19
|
require("otpauth");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProjectTypeResolver.cjs","sources":["../../../../../../packages/engine-tenant-api/src/resolvers/types/ProjectTypeResolver.ts"],"sourcesContent":["import { ProjectIdentityRelation, ProjectMembersArgs, ProjectResolvers } from '../../schema'\nimport { TenantResolverContext } from '../TenantResolverContext'\nimport { PermissionActions, Project, ProjectMemberManager, ProjectSchemaResolver } from '../../model'\nimport { getRoleVariables } from '@contember/schema-utils'\nimport { Acl } from '@contember/schema'\nimport { UserInputError } from '@contember/graphql-utils'\n\nexport class ProjectTypeResolver implements ProjectResolvers {\n\tconstructor(\n\t\tprivate readonly projectMemberManager: ProjectMemberManager,\n\t\tprivate readonly projectSchemaResolver: ProjectSchemaResolver,\n\t) {}\n\n\tasync members(\n\t\tparent: Project,\n\t\targs: ProjectMembersArgs,\n\t\tcontext: TenantResolverContext,\n\t): Promise<readonly ProjectIdentityRelation[]> {\n\t\tconst projectScope = await context.permissionContext.createProjectScope(parent)\n\t\tconst verifier = context.permissionContext.createAccessVerifier(projectScope)\n\t\tif (!(await verifier(PermissionActions.PROJECT_VIEW_MEMBER([])))) {\n\t\t\treturn []\n\t\t}\n\t\tif (args.input?.filter?.email && args.input.filter.memberType === 'API_KEY') {\n\t\t\tthrow new UserInputError(`Cannot use email filter for ApiKey member type.`)\n\t\t}\n\t\tif (args.input?.filter?.personId && args.input.filter.memberType === 'API_KEY') {\n\t\t\tthrow new UserInputError(`Cannot use personId filter for ApiKey member type.`)\n\t\t}\n\t\tif (args.memberType && args.input) {\n\t\t\tthrow new UserInputError(`Cannot use both deprecated memberType parameter and new input parameter`)\n\t\t}\n\n\t\tconst members = await this.projectMemberManager.getProjectMembers(context.db, parent.id, verifier, args.input ?? { filter: { memberType: args.memberType } })\n\t\treturn members.map(it => ({\n\t\t\t...it,\n\t\t\tidentity: { ...it.identity, projects: [] },\n\t\t}))\n\t}\n\n\tasync roles(parent: Project, args: unknown, context: TenantResolverContext) {\n\t\tconst schema = await this.projectSchemaResolver.getSchema(parent.slug)\n\t\tif (!schema) {\n\t\t\treturn []\n\t\t}\n\t\treturn Object.entries(schema.acl.roles).map(([role, def]) => ({\n\t\t\tname: role,\n\t\t\tvariables: Object.entries(getRoleVariables(role, schema.acl)).map(([name, variableDef]) => {\n\t\t\t\tswitch (variableDef.type) {\n\t\t\t\t\tcase Acl.VariableType.entity:\n\t\t\t\t\t\treturn { __typename: 'RoleEntityVariableDefinition' as const, name, entityName: variableDef.entityName }\n\t\t\t\t\tcase Acl.VariableType.predefined:\n\t\t\t\t\t\treturn { __typename: 'RolePredefinedVariableDefinition' as const, name, value: variableDef.value }\n\t\t\t\t\tcase Acl.VariableType.condition:\n\t\t\t\t\t\treturn { __typename: 'RoleConditionVariableDefinition' as const, name }\n\t\t\t\t}\n\t\t\t}),\n\t\t}))\n\t}\n}\n"],"names":["PermissionActions","UserInputError","schema","getRoleVariables","Acl"],"mappings":"
|
|
1
|
+
{"version":3,"file":"ProjectTypeResolver.cjs","sources":["../../../../../../packages/engine-tenant-api/src/resolvers/types/ProjectTypeResolver.ts"],"sourcesContent":["import { ProjectIdentityRelation, ProjectMembersArgs, ProjectResolvers } from '../../schema'\nimport { TenantResolverContext } from '../TenantResolverContext'\nimport { PermissionActions, Project, ProjectMemberManager, ProjectSchemaResolver } from '../../model'\nimport { getRoleVariables } from '@contember/schema-utils'\nimport { Acl } from '@contember/schema'\nimport { UserInputError } from '@contember/graphql-utils'\n\nexport class ProjectTypeResolver implements ProjectResolvers {\n\tconstructor(\n\t\tprivate readonly projectMemberManager: ProjectMemberManager,\n\t\tprivate readonly projectSchemaResolver: ProjectSchemaResolver,\n\t) {}\n\n\tasync members(\n\t\tparent: Project,\n\t\targs: ProjectMembersArgs,\n\t\tcontext: TenantResolverContext,\n\t): Promise<readonly ProjectIdentityRelation[]> {\n\t\tconst projectScope = await context.permissionContext.createProjectScope(parent)\n\t\tconst verifier = context.permissionContext.createAccessVerifier(projectScope)\n\t\tif (!(await verifier(PermissionActions.PROJECT_VIEW_MEMBER([])))) {\n\t\t\treturn []\n\t\t}\n\t\tif (args.input?.filter?.email && args.input.filter.memberType === 'API_KEY') {\n\t\t\tthrow new UserInputError(`Cannot use email filter for ApiKey member type.`)\n\t\t}\n\t\tif (args.input?.filter?.personId && args.input.filter.memberType === 'API_KEY') {\n\t\t\tthrow new UserInputError(`Cannot use personId filter for ApiKey member type.`)\n\t\t}\n\t\tif (args.memberType && args.input) {\n\t\t\tthrow new UserInputError(`Cannot use both deprecated memberType parameter and new input parameter`)\n\t\t}\n\n\t\tconst members = await this.projectMemberManager.getProjectMembers(context.db, parent.id, verifier, args.input ?? { filter: { memberType: args.memberType } })\n\t\treturn members.map(it => ({\n\t\t\t...it,\n\t\t\tidentity: { ...it.identity, projects: [] },\n\t\t}))\n\t}\n\n\tasync roles(parent: Project, args: unknown, context: TenantResolverContext) {\n\t\tconst schema = await this.projectSchemaResolver.getSchema(parent.slug)\n\t\tif (!schema) {\n\t\t\treturn []\n\t\t}\n\t\treturn Object.entries(schema.acl.roles).map(([role, def]) => ({\n\t\t\tname: role,\n\t\t\tvariables: Object.entries(getRoleVariables(role, schema.acl)).map(([name, variableDef]) => {\n\t\t\t\tswitch (variableDef.type) {\n\t\t\t\t\tcase Acl.VariableType.entity:\n\t\t\t\t\t\treturn { __typename: 'RoleEntityVariableDefinition' as const, name, entityName: variableDef.entityName }\n\t\t\t\t\tcase Acl.VariableType.predefined:\n\t\t\t\t\t\treturn { __typename: 'RolePredefinedVariableDefinition' as const, name, value: variableDef.value }\n\t\t\t\t\tcase Acl.VariableType.condition:\n\t\t\t\t\t\treturn { __typename: 'RoleConditionVariableDefinition' as const, name }\n\t\t\t\t}\n\t\t\t}),\n\t\t}))\n\t}\n}\n"],"names":["PermissionActions","UserInputError","schema","getRoleVariables","Acl"],"mappings":";;;;;;;;;;;;;;;;;;;;AAOO,MAAM,oBAAgD;AAAA,EAC5D,YACkB,sBACA,uBAChB;AAFgB,SAAA,uBAAA;AACA,SAAA,wBAAA;AAAA,EAAA;AAAA,EAGlB,MAAM,QACL,QACA,MACA,SAC8C;AAC9C,UAAM,eAAe,MAAM,QAAQ,kBAAkB,mBAAmB,MAAM;AAC9E,UAAM,WAAW,QAAQ,kBAAkB,qBAAqB,YAAY;AACxE,QAAA,CAAE,MAAM,SAASA,kBAAAA,kBAAkB,oBAAoB,CAAA,CAAE,CAAC,GAAI;AACjE,aAAO,CAAC;AAAA,IAAA;AAEL,QAAA,KAAK,OAAO,QAAQ,SAAS,KAAK,MAAM,OAAO,eAAe,WAAW;AACtE,YAAA,IAAIC,aAAAA,eAAe,iDAAiD;AAAA,IAAA;AAEvE,QAAA,KAAK,OAAO,QAAQ,YAAY,KAAK,MAAM,OAAO,eAAe,WAAW;AACzE,YAAA,IAAIA,aAAAA,eAAe,qDAAqD;AAAA,IAAA;AAE3E,QAAA,KAAK,cAAc,KAAK,OAAO;AAC5B,YAAA,IAAIA,aAAAA,eAAe,yEAAyE;AAAA,IAAA;AAGnG,UAAM,UAAU,MAAM,KAAK,qBAAqB,kBAAkB,QAAQ,IAAI,OAAO,IAAI,UAAU,KAAK,SAAS,EAAE,QAAQ,EAAE,YAAY,KAAK,WAAA,GAAc;AACrJ,WAAA,QAAQ,IAAI,CAAO,QAAA;AAAA,MACzB,GAAG;AAAA,MACH,UAAU,EAAE,GAAG,GAAG,UAAU,UAAU,CAAG,EAAA;AAAA,IAAA,EACxC;AAAA,EAAA;AAAA,EAGH,MAAM,MAAM,QAAiB,MAAe,SAAgC;AAC3E,UAAMC,WAAS,MAAM,KAAK,sBAAsB,UAAU,OAAO,IAAI;AACrE,QAAI,CAACA,UAAQ;AACZ,aAAO,CAAC;AAAA,IAAA;AAEF,WAAA,OAAO,QAAQA,SAAO,IAAI,KAAK,EAAE,IAAI,CAAC,CAAC,MAAM,GAAG,OAAO;AAAA,MAC7D,MAAM;AAAA,MACN,WAAW,OAAO,QAAQC,YAAA,iBAAiB,MAAMD,SAAO,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC,MAAM,WAAW,MAAM;AAC1F,gBAAQ,YAAY,MAAM;AAAA,UACzB,KAAKE,OAAAA,IAAI,aAAa;AACrB,mBAAO,EAAE,YAAY,gCAAyC,MAAM,YAAY,YAAY,WAAW;AAAA,UACxG,KAAKA,OAAAA,IAAI,aAAa;AACrB,mBAAO,EAAE,YAAY,oCAA6C,MAAM,OAAO,YAAY,MAAM;AAAA,UAClG,KAAKA,OAAAA,IAAI,aAAa;AACd,mBAAA,EAAE,YAAY,mCAA4C,KAAK;AAAA,QAAA;AAAA,MAExE,CAAA;AAAA,IAAA,EACA;AAAA,EAAA;AAEJ;;"}
|
|
@@ -12,7 +12,6 @@ import "../../model/service/idp/providers/AppleProvider.js";
|
|
|
12
12
|
import "openid-client";
|
|
13
13
|
import "@contember/typesafe";
|
|
14
14
|
import "../../model/service/idp/providers/OIDCTypes.js";
|
|
15
|
-
import "../../model/service/idp/providers/OIDCHelpers.js";
|
|
16
15
|
import "../../model/service/idp/providers/FacebookProvider.js";
|
|
17
16
|
import { getRoleVariables } from "@contember/schema-utils";
|
|
18
17
|
import "otpauth";
|