feat(*): allow to select auth providers + add multiworkspace with subdomain management (#8656)

## Summary
Add support for multi-workspace feature and adjust configurations and
states accordingly.
- Introduced new state isMultiWorkspaceEnabledState.
- Updated ClientConfigProviderEffect component to handle
multi-workspace.
- Modified GraphQL schema and queries to include multi-workspace related
configurations.
- Adjusted server environment variables and their respective
documentation to support multi-workspace toggle.
- Updated server-side logic to handle new multi-workspace configurations
and conditions.
This commit is contained in:
Antoine Moreaux
2024-12-03 19:06:28 +01:00
committed by GitHub
parent 9a65e80566
commit 7943141d03
167 changed files with 5180 additions and 1901 deletions

View File

@ -127,8 +127,22 @@ export class EnvironmentVariables {
PG_SSL_ALLOW_SELF_SIGNED = false;
// Frontend URL
@IsUrl({ require_tld: false, require_protocol: true })
FRONT_BASE_URL: string;
@IsString()
@IsOptional()
FRONT_DOMAIN = 'localhost';
@IsString()
@ValidateIf((env) => env.IS_MULTIWORKSPACE_ENABLED)
DEFAULT_SUBDOMAIN = 'app';
@IsString()
@IsOptional()
FRONT_PROTOCOL: 'http' | 'https' = 'http';
@CastToPositiveNumber()
@IsNumber()
@IsOptional()
FRONT_PORT = 3001;
@IsUrl({ require_tld: false, require_protocol: true })
@IsOptional()
@ -227,6 +241,11 @@ export class EnvironmentVariables {
@IsOptional()
ENTERPRISE_KEY: string;
@CastToBoolean()
@IsOptional()
@IsBoolean()
IS_MULTIWORKSPACE_ENABLED = false;
// Custom Code Engine
@IsEnum(ServerlessDriverType)
@IsOptional()
@ -363,11 +382,6 @@ export class EnvironmentVariables {
@ValidateIf((env) => env.WORKSPACE_INACTIVE_DAYS_BEFORE_NOTIFICATION > 0)
WORKSPACE_INACTIVE_DAYS_BEFORE_DELETION = 60;
@CastToBoolean()
@IsOptional()
@IsBoolean()
IS_SIGN_UP_DISABLED = false;
@IsEnum(CaptchaDriverType)
@IsOptional()
CAPTCHA_DRIVER?: CaptchaDriverType;