feat(): enable custom domain usage (#9911)
# Content - Introduce the `workspaceUrls` property. It contains two sub-properties: `customUrl, subdomainUrl`. These endpoints are used to access the workspace. Even if the `workspaceUrls` is invalid for multiple reasons, the `subdomainUrl` remains valid. - Introduce `ResolveField` workspaceEndpoints to avoid unnecessary URL computation on the frontend part. - Add a `forceSubdomainUrl` to avoid custom URL using a query parameter
This commit is contained in:
@ -20,7 +20,7 @@ import { mockedUserData } from '~/testing/mock-data/users';
|
||||
import { mockedViewsData } from '~/testing/mock-data/views';
|
||||
import { mockWorkspaceMembers } from '~/testing/mock-data/workspace-members';
|
||||
|
||||
import { GET_PUBLIC_WORKSPACE_DATA_BY_SUBDOMAIN } from '@/auth/graphql/queries/getPublicWorkspaceDataBySubdomain';
|
||||
import { GET_PUBLIC_WORKSPACE_DATA_BY_DOMAIN } from '@/auth/graphql/queries/getPublicWorkspaceDataByDomain';
|
||||
import { mockedStandardObjectMetadataQueryResult } from '~/testing/mock-data/generated/mock-metadata-query-result';
|
||||
import { mockedTasks } from '~/testing/mock-data/tasks';
|
||||
import {
|
||||
@ -49,15 +49,18 @@ export const graphqlMocks = {
|
||||
});
|
||||
}),
|
||||
graphql.query(
|
||||
getOperationName(GET_PUBLIC_WORKSPACE_DATA_BY_SUBDOMAIN) ?? '',
|
||||
getOperationName(GET_PUBLIC_WORKSPACE_DATA_BY_DOMAIN) ?? '',
|
||||
() => {
|
||||
return HttpResponse.json({
|
||||
data: {
|
||||
getPublicWorkspaceDataBySubdomain: {
|
||||
getPublicWorkspaceDataByDomain: {
|
||||
id: 'id',
|
||||
logo: 'logo',
|
||||
displayName: 'displayName',
|
||||
subdomain: 'subdomain',
|
||||
workspaceUrls: {
|
||||
customUrl: undefined,
|
||||
subdomainUrl: 'https://twenty.com',
|
||||
},
|
||||
authProviders: {
|
||||
google: true,
|
||||
microsoft: false,
|
||||
|
||||
@ -1,12 +1,15 @@
|
||||
import { GetPublicWorkspaceDataBySubdomainQuery } from '~/generated/graphql';
|
||||
import { GetPublicWorkspaceDataByDomainQuery } from '~/generated/graphql';
|
||||
|
||||
export const mockedPublicWorkspaceDataBySubdomain: GetPublicWorkspaceDataBySubdomainQuery['getPublicWorkspaceDataBySubdomain'] =
|
||||
export const mockedPublicWorkspaceDataBySubdomain: GetPublicWorkspaceDataByDomainQuery['getPublicWorkspaceDataByDomain'] =
|
||||
{
|
||||
__typename: 'PublicWorkspaceDataOutput',
|
||||
id: '9870323e-22c3-4d14-9b7f-5bdc84f7d6ee',
|
||||
logo: 'workspace-logo/original/c88deb49-7636-4560-918d-08c3265ffb20.49?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ3b3Jrc3BhY2VJZCI6Ijk4NzAzMjNlLTIyYzMtNGQxNC05YjdmLTViZGM4NGY3ZDZlZSIsImlhdCI6MTczNjU0MDU0MywiZXhwIjoxNzM2NjI2OTQzfQ.C8cnHu09VGseRbQAMM4nhiO6z4TLG03ntFTvxm53-xg',
|
||||
displayName: 'Twenty Eng',
|
||||
subdomain: 'twenty-eng',
|
||||
workspaceUrls: {
|
||||
customUrl: 'https://twenty-eng.com',
|
||||
subdomainUrl: 'https://custom.twenty.com',
|
||||
},
|
||||
authProviders: {
|
||||
__typename: 'AuthProviders',
|
||||
sso: [],
|
||||
|
||||
@ -48,6 +48,10 @@ export const mockCurrentWorkspace: Workspace = {
|
||||
hasValidEnterpriseKey: false,
|
||||
isGoogleAuthEnabled: true,
|
||||
isPasswordAuthEnabled: true,
|
||||
workspaceUrls: {
|
||||
customUrl: undefined,
|
||||
subdomainUrl: 'twenty.twenty.com',
|
||||
},
|
||||
isMicrosoftAuthEnabled: false,
|
||||
featureFlags: [
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user