Fix cache issue (#12527)

This commit is contained in:
Charles Bochet
2025-06-10 19:52:52 +02:00
committed by GitHub
parent 93103210bf
commit 251b97ca7f

View File

@ -1,4 +1,9 @@
import { UseFilters, UseGuards } from '@nestjs/common'; import {
ExecutionContext,
UseFilters,
UseGuards,
createParamDecorator,
} from '@nestjs/common';
import { import {
Args, Args,
Mutation, Mutation,
@ -53,12 +58,21 @@ import { PermissionsGraphqlApiExceptionFilter } from 'src/engine/metadata-module
import { RoleDTO } from 'src/engine/metadata-modules/role/dtos/role.dto'; import { RoleDTO } from 'src/engine/metadata-modules/role/dtos/role.dto';
import { RoleService } from 'src/engine/metadata-modules/role/role.service'; import { RoleService } from 'src/engine/metadata-modules/role/role.service';
import { GraphqlValidationExceptionFilter } from 'src/filters/graphql-validation-exception.filter'; import { GraphqlValidationExceptionFilter } from 'src/filters/graphql-validation-exception.filter';
import { getRequest } from 'src/utils/extract-request';
import { streamToBuffer } from 'src/utils/stream-to-buffer'; import { streamToBuffer } from 'src/utils/stream-to-buffer';
import { Workspace } from './workspace.entity'; import { Workspace } from './workspace.entity';
import { WorkspaceService } from './services/workspace.service'; import { WorkspaceService } from './services/workspace.service';
const OriginHeader = createParamDecorator(
(data: unknown, ctx: ExecutionContext) => {
const request = getRequest(ctx);
return request.headers['origin'];
},
);
@Resolver(() => Workspace) @Resolver(() => Workspace)
@UseFilters( @UseFilters(
GraphqlValidationExceptionFilter, GraphqlValidationExceptionFilter,
@ -286,9 +300,31 @@ export class WorkspaceResolver {
@Query(() => PublicWorkspaceDataOutput) @Query(() => PublicWorkspaceDataOutput)
@UseGuards(PublicEndpointGuard) @UseGuards(PublicEndpointGuard)
async getPublicWorkspaceDataByDomain( async getPublicWorkspaceDataByDomain(
@Args('origin') origin: string, @OriginHeader() originHeader: string,
@Args('origin', { nullable: true }) origin?: string,
): Promise<PublicWorkspaceDataOutput | undefined> { ): Promise<PublicWorkspaceDataOutput | undefined> {
try { try {
const systemEnabledProviders: AuthProviders = {
google: this.twentyConfigService.get('AUTH_GOOGLE_ENABLED'),
magicLink: false,
password: this.twentyConfigService.get('AUTH_PASSWORD_ENABLED'),
microsoft: this.twentyConfigService.get('AUTH_MICROSOFT_ENABLED'),
sso: [],
};
if (!origin) {
return {
id: 'default-workspace',
logo: '',
displayName: 'Default Workspace',
workspaceUrls: {
subdomainUrl: originHeader,
customUrl: originHeader,
},
authProviders: systemEnabledProviders,
};
}
const workspace = const workspace =
await this.domainManagerService.getWorkspaceByOriginOrDefaultWorkspace( await this.domainManagerService.getWorkspaceByOriginOrDefaultWorkspace(
origin, origin,
@ -309,14 +345,6 @@ export class WorkspaceResolver {
} }
} }
const systemEnabledProviders: AuthProviders = {
google: this.twentyConfigService.get('AUTH_GOOGLE_ENABLED'),
magicLink: false,
password: this.twentyConfigService.get('AUTH_PASSWORD_ENABLED'),
microsoft: this.twentyConfigService.get('AUTH_MICROSOFT_ENABLED'),
sso: [],
};
return { return {
id: workspace.id, id: workspace.id,
logo: workspaceLogoWithToken, logo: workspaceLogoWithToken,