Remove demo guard for mail api (#4527)
Co-authored-by: Thomas Trompette <thomast@twenty.com>
This commit is contained in:
@ -8,7 +8,6 @@ import { GoogleAPIsRequest } from 'src/engine/modules/auth/strategies/google-api
|
|||||||
import { GoogleAPIsService } from 'src/engine/modules/auth/services/google-apis.service';
|
import { GoogleAPIsService } from 'src/engine/modules/auth/services/google-apis.service';
|
||||||
import { TokenService } from 'src/engine/modules/auth/services/token.service';
|
import { TokenService } from 'src/engine/modules/auth/services/token.service';
|
||||||
import { EnvironmentService } from 'src/engine/integrations/environment/environment.service';
|
import { EnvironmentService } from 'src/engine/integrations/environment/environment.service';
|
||||||
import { DemoEnvGuard } from 'src/engine/guards/demo.env.guard';
|
|
||||||
|
|
||||||
@Controller('auth/google-apis')
|
@Controller('auth/google-apis')
|
||||||
export class GoogleAPIsAuthController {
|
export class GoogleAPIsAuthController {
|
||||||
@ -26,7 +25,7 @@ export class GoogleAPIsAuthController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Get('get-access-token')
|
@Get('get-access-token')
|
||||||
@UseGuards(GoogleAPIsProviderEnabledGuard, GoogleAPIsOauthGuard, DemoEnvGuard)
|
@UseGuards(GoogleAPIsProviderEnabledGuard, GoogleAPIsOauthGuard)
|
||||||
async googleAuthGetAccessToken(
|
async googleAuthGetAccessToken(
|
||||||
@Req() req: GoogleAPIsRequest,
|
@Req() req: GoogleAPIsRequest,
|
||||||
@Res() res: Response,
|
@Res() res: Response,
|
||||||
@ -38,6 +37,12 @@ export class GoogleAPIsAuthController {
|
|||||||
const { workspaceMemberId, workspaceId } =
|
const { workspaceMemberId, workspaceId } =
|
||||||
await this.tokenService.verifyTransientToken(transientToken);
|
await this.tokenService.verifyTransientToken(transientToken);
|
||||||
|
|
||||||
|
const demoWorkspaceIds = this.environmentService.get('DEMO_WORKSPACE_IDS');
|
||||||
|
|
||||||
|
if (demoWorkspaceIds.includes(workspaceId)) {
|
||||||
|
throw new Error('Cannot connect Google account to demo workspace');
|
||||||
|
}
|
||||||
|
|
||||||
if (!workspaceId) {
|
if (!workspaceId) {
|
||||||
throw new Error('Workspace not found');
|
throw new Error('Workspace not found');
|
||||||
}
|
}
|
||||||
|
|||||||
@ -2,7 +2,6 @@ import { Controller, Get, Req, Res, UseGuards } from '@nestjs/common';
|
|||||||
|
|
||||||
import { Response } from 'express';
|
import { Response } from 'express';
|
||||||
|
|
||||||
import { DemoEnvGuard } from 'src/engine/guards/demo.env.guard';
|
|
||||||
import { GoogleAPIsOauthGuard } from 'src/engine/modules/auth/guards/google-apis-oauth.guard';
|
import { GoogleAPIsOauthGuard } from 'src/engine/modules/auth/guards/google-apis-oauth.guard';
|
||||||
import { GoogleAPIsProviderEnabledGuard } from 'src/engine/modules/auth/guards/google-apis-provider-enabled.guard';
|
import { GoogleAPIsProviderEnabledGuard } from 'src/engine/modules/auth/guards/google-apis-provider-enabled.guard';
|
||||||
import { GoogleAPIsService } from 'src/engine/modules/auth/services/google-apis.service';
|
import { GoogleAPIsService } from 'src/engine/modules/auth/services/google-apis.service';
|
||||||
@ -26,7 +25,7 @@ export class GoogleGmailAuthController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Get('get-access-token')
|
@Get('get-access-token')
|
||||||
@UseGuards(GoogleAPIsProviderEnabledGuard, GoogleAPIsOauthGuard, DemoEnvGuard)
|
@UseGuards(GoogleAPIsProviderEnabledGuard, GoogleAPIsOauthGuard)
|
||||||
async googleAuthGetAccessToken(
|
async googleAuthGetAccessToken(
|
||||||
@Req() req: GoogleAPIsRequest,
|
@Req() req: GoogleAPIsRequest,
|
||||||
@Res() res: Response,
|
@Res() res: Response,
|
||||||
@ -38,6 +37,12 @@ export class GoogleGmailAuthController {
|
|||||||
const { workspaceMemberId, workspaceId } =
|
const { workspaceMemberId, workspaceId } =
|
||||||
await this.tokenService.verifyTransientToken(transientToken);
|
await this.tokenService.verifyTransientToken(transientToken);
|
||||||
|
|
||||||
|
const demoWorkspaceIds = this.environmentService.get('DEMO_WORKSPACE_IDS');
|
||||||
|
|
||||||
|
if (demoWorkspaceIds.includes(workspaceId)) {
|
||||||
|
throw new Error('Cannot connect Gmail account to demo workspace');
|
||||||
|
}
|
||||||
|
|
||||||
if (!workspaceId) {
|
if (!workspaceId) {
|
||||||
throw new Error('Workspace not found');
|
throw new Error('Workspace not found');
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user