Fix connected account permissions (#17598)
Fixes #17411 --------- Co-authored-by: neo773 <neo773@protonmail.com> Co-authored-by: neo773 <62795688+neo773@users.noreply.github.com> Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
This commit is contained in:
+8
-3
@@ -24,7 +24,6 @@ import { ImapSmtpCalDavAPIService } from 'src/modules/connected-account/services
|
||||
@MetadataResolver()
|
||||
@UsePipes(ResolverValidationPipe)
|
||||
@UseFilters(AuthGraphqlApiExceptionFilter, PermissionsGraphqlApiExceptionFilter)
|
||||
@UseGuards(SettingsPermissionGuard(PermissionFlagType.WORKSPACE))
|
||||
export class ImapSmtpCaldavResolver {
|
||||
constructor(
|
||||
private readonly ImapSmtpCaldavConnectionService: ImapSmtpCaldavService,
|
||||
@@ -33,7 +32,10 @@ export class ImapSmtpCaldavResolver {
|
||||
) {}
|
||||
|
||||
@Query(() => ConnectedImapSmtpCaldavAccountDTO)
|
||||
@UseGuards(WorkspaceAuthGuard)
|
||||
@UseGuards(
|
||||
WorkspaceAuthGuard,
|
||||
SettingsPermissionGuard(PermissionFlagType.CONNECTED_ACCOUNTS),
|
||||
)
|
||||
async getConnectedImapSmtpCaldavAccount(
|
||||
@Args('id', { type: () => UUIDScalarType }) id: string,
|
||||
@AuthWorkspace() workspace: WorkspaceEntity,
|
||||
@@ -60,7 +62,10 @@ export class ImapSmtpCaldavResolver {
|
||||
}
|
||||
|
||||
@Mutation(() => ImapSmtpCaldavConnectionSuccessDTO)
|
||||
@UseGuards(WorkspaceAuthGuard)
|
||||
@UseGuards(
|
||||
WorkspaceAuthGuard,
|
||||
SettingsPermissionGuard(PermissionFlagType.CONNECTED_ACCOUNTS),
|
||||
)
|
||||
async saveImapSmtpCaldavAccount(
|
||||
@Args('accountOwnerId', { type: () => UUIDScalarType })
|
||||
accountOwnerId: string,
|
||||
|
||||
+9
-1
@@ -6,9 +6,17 @@ import { TimelineMessagingResolver } from 'src/engine/core-modules/messaging/tim
|
||||
import { UserModule } from 'src/engine/core-modules/user/user.module';
|
||||
import { WorkspaceDataSourceModule } from 'src/engine/workspace-datasource/workspace-datasource.module';
|
||||
import { ConnectedAccountModule } from 'src/modules/connected-account/connected-account.module';
|
||||
import { FeatureFlagModule } from 'src/engine/core-modules/feature-flag/feature-flag.module';
|
||||
import { PermissionsModule } from 'src/engine/metadata-modules/permissions/permissions.module';
|
||||
|
||||
@Module({
|
||||
imports: [WorkspaceDataSourceModule, UserModule, ConnectedAccountModule],
|
||||
imports: [
|
||||
WorkspaceDataSourceModule,
|
||||
UserModule,
|
||||
ConnectedAccountModule,
|
||||
FeatureFlagModule,
|
||||
PermissionsModule,
|
||||
],
|
||||
exports: [],
|
||||
providers: [
|
||||
TimelineMessagingResolver,
|
||||
|
||||
+3
@@ -2,6 +2,7 @@ import { UseGuards } from '@nestjs/common';
|
||||
import { Args, ArgsType, Field, Int, Mutation, Query } from '@nestjs/graphql';
|
||||
|
||||
import { Max } from 'class-validator';
|
||||
import { PermissionFlagType } from 'twenty-shared/constants';
|
||||
|
||||
import { CoreResolver } from 'src/engine/api/graphql/graphql-config/decorators/core-resolver.decorator';
|
||||
import { UUIDScalarType } from 'src/engine/api/graphql/workspace-schema-builder/graphql-types/scalars';
|
||||
@@ -16,6 +17,7 @@ import { AuthUser } from 'src/engine/decorators/auth/auth-user.decorator';
|
||||
import { AuthWorkspace } from 'src/engine/decorators/auth/auth-workspace.decorator';
|
||||
import { CustomPermissionGuard } from 'src/engine/guards/custom-permission.guard';
|
||||
import { UserAuthGuard } from 'src/engine/guards/user-auth.guard';
|
||||
import { SettingsPermissionGuard } from 'src/engine/guards/settings-permission.guard';
|
||||
import { WorkspaceAuthGuard } from 'src/engine/guards/workspace-auth.guard';
|
||||
import { AccountsToReconnectService } from 'src/modules/connected-account/services/accounts-to-reconnect.service';
|
||||
|
||||
@@ -149,6 +151,7 @@ export class TimelineMessagingResolver {
|
||||
return timelineThreads;
|
||||
}
|
||||
|
||||
@UseGuards(SettingsPermissionGuard(PermissionFlagType.CONNECTED_ACCOUNTS))
|
||||
@Mutation(() => Boolean)
|
||||
async dismissReconnectAccountBanner(
|
||||
@AuthUser() user: UserEntity,
|
||||
|
||||
Reference in New Issue
Block a user