chore: extend root eslint config in twenty-server (#5101)
Reopening @thaisguigon work from https://github.com/twentyhq/twenty/pull/4781 --------- Co-authored-by: Thaïs Guigon <guigon.thais@gmail.com>
This commit is contained in:
@ -44,7 +44,7 @@ export class CacheStorageService {
|
||||
});
|
||||
}
|
||||
|
||||
async setPop(key: string, size: number = 1) {
|
||||
async setPop(key: string, size = 1) {
|
||||
if (this.isRedisCache()) {
|
||||
return (this.cache as RedisCache).store.client.sPop(
|
||||
`${this.namespace}:${key}`,
|
||||
|
||||
@ -38,24 +38,24 @@ export class EnvironmentVariables {
|
||||
@CastToBoolean()
|
||||
@IsOptional()
|
||||
@IsBoolean()
|
||||
DEBUG_MODE: boolean = false;
|
||||
DEBUG_MODE = false;
|
||||
|
||||
@CastToPositiveNumber()
|
||||
@IsOptional()
|
||||
@IsNumber()
|
||||
@Min(0)
|
||||
@Max(65535)
|
||||
DEBUG_PORT: number = 9000;
|
||||
DEBUG_PORT = 9000;
|
||||
|
||||
@CastToBoolean()
|
||||
@IsOptional()
|
||||
@IsBoolean()
|
||||
SIGN_IN_PREFILLED: boolean = false;
|
||||
SIGN_IN_PREFILLED = false;
|
||||
|
||||
@CastToBoolean()
|
||||
@IsOptional()
|
||||
@IsBoolean()
|
||||
IS_BILLING_ENABLED: boolean = false;
|
||||
IS_BILLING_ENABLED = false;
|
||||
|
||||
@IsString()
|
||||
@ValidateIf((env) => env.IS_BILLING_ENABLED === true)
|
||||
@ -69,7 +69,7 @@ export class EnvironmentVariables {
|
||||
@CastToPositiveNumber()
|
||||
@IsOptional()
|
||||
@ValidateIf((env) => env.IS_BILLING_ENABLED === true)
|
||||
BILLING_FREE_TRIAL_DURATION_IN_DAYS: number = 7;
|
||||
BILLING_FREE_TRIAL_DURATION_IN_DAYS = 7;
|
||||
|
||||
@IsString()
|
||||
@ValidateIf((env) => env.IS_BILLING_ENABLED === true)
|
||||
@ -82,17 +82,17 @@ export class EnvironmentVariables {
|
||||
@CastToBoolean()
|
||||
@IsOptional()
|
||||
@IsBoolean()
|
||||
TELEMETRY_ENABLED: boolean = true;
|
||||
TELEMETRY_ENABLED = true;
|
||||
|
||||
@CastToBoolean()
|
||||
@IsOptional()
|
||||
@IsBoolean()
|
||||
TELEMETRY_ANONYMIZATION_ENABLED: boolean = true;
|
||||
TELEMETRY_ANONYMIZATION_ENABLED = true;
|
||||
|
||||
@CastToPositiveNumber()
|
||||
@IsNumber()
|
||||
@IsOptional()
|
||||
PORT: number = 3000;
|
||||
PORT = 3000;
|
||||
|
||||
// Database
|
||||
@IsDefined()
|
||||
@ -118,33 +118,33 @@ export class EnvironmentVariables {
|
||||
|
||||
@IsDuration()
|
||||
@IsOptional()
|
||||
ACCESS_TOKEN_EXPIRES_IN: string = '30m';
|
||||
ACCESS_TOKEN_EXPIRES_IN = '30m';
|
||||
|
||||
@IsString()
|
||||
REFRESH_TOKEN_SECRET: string;
|
||||
|
||||
@IsDuration()
|
||||
@IsOptional()
|
||||
REFRESH_TOKEN_EXPIRES_IN: string = '30m';
|
||||
REFRESH_TOKEN_EXPIRES_IN = '30m';
|
||||
|
||||
@IsDuration()
|
||||
@IsOptional()
|
||||
REFRESH_TOKEN_COOL_DOWN: string = '1m';
|
||||
REFRESH_TOKEN_COOL_DOWN = '1m';
|
||||
|
||||
@IsString()
|
||||
LOGIN_TOKEN_SECRET: string = '30m';
|
||||
LOGIN_TOKEN_SECRET = '30m';
|
||||
|
||||
@IsDuration()
|
||||
@IsOptional()
|
||||
LOGIN_TOKEN_EXPIRES_IN: string = '15m';
|
||||
LOGIN_TOKEN_EXPIRES_IN = '15m';
|
||||
|
||||
@IsString()
|
||||
@IsOptional()
|
||||
FILE_TOKEN_SECRET: string = 'random_string';
|
||||
FILE_TOKEN_SECRET = 'random_string';
|
||||
|
||||
@IsDuration()
|
||||
@IsOptional()
|
||||
FILE_TOKEN_EXPIRES_IN: string = '1d';
|
||||
FILE_TOKEN_EXPIRES_IN = '1d';
|
||||
|
||||
// Auth
|
||||
@IsUrl({ require_tld: false })
|
||||
@ -154,7 +154,7 @@ export class EnvironmentVariables {
|
||||
@CastToBoolean()
|
||||
@IsOptional()
|
||||
@IsBoolean()
|
||||
AUTH_GOOGLE_ENABLED: boolean = false;
|
||||
AUTH_GOOGLE_ENABLED = false;
|
||||
|
||||
@IsString()
|
||||
@ValidateIf((env) => env.AUTH_GOOGLE_ENABLED === true)
|
||||
@ -188,7 +188,7 @@ export class EnvironmentVariables {
|
||||
|
||||
@IsString()
|
||||
@ValidateIf((env) => env.STORAGE_TYPE === StorageDriverType.Local)
|
||||
STORAGE_LOCAL_PATH: string = '.local-storage';
|
||||
STORAGE_LOCAL_PATH = '.local-storage';
|
||||
|
||||
// Support
|
||||
@IsEnum(SupportDriver)
|
||||
@ -210,7 +210,7 @@ export class EnvironmentVariables {
|
||||
@CastToBoolean()
|
||||
@IsBoolean()
|
||||
@IsOptional()
|
||||
LOGGER_IS_BUFFER_ENABLED: boolean = true;
|
||||
LOGGER_IS_BUFFER_ENABLED = true;
|
||||
|
||||
@IsEnum(ExceptionHandlerDriver)
|
||||
@IsOptional()
|
||||
@ -253,7 +253,7 @@ export class EnvironmentVariables {
|
||||
|
||||
@IsDuration()
|
||||
@IsOptional()
|
||||
PASSWORD_RESET_TOKEN_EXPIRES_IN: string = '5m';
|
||||
PASSWORD_RESET_TOKEN_EXPIRES_IN = '5m';
|
||||
|
||||
@CastToPositiveNumber()
|
||||
@IsNumber()
|
||||
@ -263,49 +263,49 @@ export class EnvironmentVariables {
|
||||
'"WORKSPACE_INACTIVE_DAYS_BEFORE_NOTIFICATION" should be strictly lower that "WORKSPACE_INACTIVE_DAYS_BEFORE_DELETION"',
|
||||
})
|
||||
@ValidateIf((env) => env.WORKSPACE_INACTIVE_DAYS_BEFORE_DELETION > 0)
|
||||
WORKSPACE_INACTIVE_DAYS_BEFORE_NOTIFICATION: number = 30;
|
||||
WORKSPACE_INACTIVE_DAYS_BEFORE_NOTIFICATION = 30;
|
||||
|
||||
@CastToPositiveNumber()
|
||||
@IsNumber()
|
||||
@ValidateIf((env) => env.WORKSPACE_INACTIVE_DAYS_BEFORE_NOTIFICATION > 0)
|
||||
WORKSPACE_INACTIVE_DAYS_BEFORE_DELETION: number = 60;
|
||||
WORKSPACE_INACTIVE_DAYS_BEFORE_DELETION = 60;
|
||||
|
||||
@CastToBoolean()
|
||||
@IsOptional()
|
||||
@IsBoolean()
|
||||
IS_SIGN_UP_DISABLED: boolean = false;
|
||||
IS_SIGN_UP_DISABLED = false;
|
||||
|
||||
@CastToPositiveNumber()
|
||||
@IsOptional()
|
||||
@IsNumber()
|
||||
MUTATION_MAXIMUM_RECORD_AFFECTED: number = 100;
|
||||
MUTATION_MAXIMUM_RECORD_AFFECTED = 100;
|
||||
|
||||
REDIS_HOST: string = '127.0.0.1';
|
||||
REDIS_HOST = '127.0.0.1';
|
||||
|
||||
@CastToPositiveNumber()
|
||||
REDIS_PORT: number = 6379;
|
||||
REDIS_PORT = 6379;
|
||||
|
||||
API_TOKEN_EXPIRES_IN: string = '100y';
|
||||
API_TOKEN_EXPIRES_IN = '100y';
|
||||
|
||||
SHORT_TERM_TOKEN_EXPIRES_IN: string = '5m';
|
||||
SHORT_TERM_TOKEN_EXPIRES_IN = '5m';
|
||||
|
||||
@CastToBoolean()
|
||||
MESSAGING_PROVIDER_GMAIL_ENABLED: boolean = false;
|
||||
MESSAGING_PROVIDER_GMAIL_ENABLED = false;
|
||||
|
||||
MESSAGE_QUEUE_TYPE: string = MessageQueueDriverType.Sync;
|
||||
|
||||
EMAIL_FROM_ADDRESS: string = 'noreply@yourdomain.com';
|
||||
EMAIL_FROM_ADDRESS = 'noreply@yourdomain.com';
|
||||
|
||||
EMAIL_SYSTEM_ADDRESS: string = 'system@yourdomain.com';
|
||||
EMAIL_SYSTEM_ADDRESS = 'system@yourdomain.com';
|
||||
|
||||
EMAIL_FROM_NAME: string = 'Felix from Twenty';
|
||||
EMAIL_FROM_NAME = 'Felix from Twenty';
|
||||
|
||||
EMAIL_DRIVER: EmailDriver = EmailDriver.Logger;
|
||||
|
||||
EMAIL_SMTP_HOST: string;
|
||||
|
||||
@CastToPositiveNumber()
|
||||
EMAIL_SMTP_PORT: number = 587;
|
||||
EMAIL_SMTP_PORT = 587;
|
||||
|
||||
EMAIL_SMTP_USER: string;
|
||||
|
||||
@ -314,18 +314,18 @@ export class EnvironmentVariables {
|
||||
OPENROUTER_API_KEY: string;
|
||||
|
||||
@CastToPositiveNumber()
|
||||
API_RATE_LIMITING_TTL: number = 100;
|
||||
API_RATE_LIMITING_TTL = 100;
|
||||
|
||||
@CastToPositiveNumber()
|
||||
API_RATE_LIMITING_LIMIT: number = 500;
|
||||
API_RATE_LIMITING_LIMIT = 500;
|
||||
|
||||
CACHE_STORAGE_TYPE: string = 'memory';
|
||||
CACHE_STORAGE_TYPE = 'memory';
|
||||
|
||||
@CastToPositiveNumber()
|
||||
CACHE_STORAGE_TTL: number = 3600 * 24 * 7;
|
||||
|
||||
@CastToBoolean()
|
||||
CALENDAR_PROVIDER_GOOGLE_ENABLED: boolean = false;
|
||||
CALENDAR_PROVIDER_GOOGLE_ENABLED = false;
|
||||
|
||||
AUTH_GOOGLE_APIS_CALLBACK_URL: string;
|
||||
|
||||
|
||||
@ -33,18 +33,19 @@ export class MessageQueueModule {
|
||||
const config = await options.useFactory(...args);
|
||||
|
||||
switch (config.type) {
|
||||
case MessageQueueDriverType.PgBoss:
|
||||
case MessageQueueDriverType.PgBoss: {
|
||||
const boss = new PgBossDriver(config.options);
|
||||
|
||||
await boss.init();
|
||||
|
||||
return boss;
|
||||
|
||||
case MessageQueueDriverType.BullMQ:
|
||||
}
|
||||
case MessageQueueDriverType.BullMQ: {
|
||||
return new BullMQDriver(config.options);
|
||||
|
||||
default:
|
||||
}
|
||||
default: {
|
||||
return new SyncDriver(JobsModule.moduleRef);
|
||||
}
|
||||
}
|
||||
},
|
||||
inject: options.inject || [],
|
||||
|
||||
Reference in New Issue
Block a user