From 00ef2387c0c1b520b3fe38170861fde4ecb6431b Mon Sep 17 00:00:00 2001 From: gsmithun4 Date: Thu, 8 Aug 2024 12:12:05 +0530 Subject: [PATCH 1/4] removed migration file --- .../1722437531652-AddTypeColumnToApps.ts | 17 ----------------- server/src/entities/app.entity.ts | 3 +-- 2 files changed, 1 insertion(+), 19 deletions(-) delete mode 100644 server/migrations/1722437531652-AddTypeColumnToApps.ts diff --git a/server/migrations/1722437531652-AddTypeColumnToApps.ts b/server/migrations/1722437531652-AddTypeColumnToApps.ts deleted file mode 100644 index f360c6a9f6..0000000000 --- a/server/migrations/1722437531652-AddTypeColumnToApps.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { MigrationInterface, QueryRunner, TableColumn } from 'typeorm'; - -export class AddTypeColumnToApps1722437531652 implements MigrationInterface { - public async up(queryRunner: QueryRunner): Promise { - await queryRunner.addColumn( - 'apps', - new TableColumn({ - name: 'type', - type: 'varchar', - isNullable: false, - default: "'front-end'", - }) - ); - } - - public async down(queryRunner: QueryRunner): Promise {} -} diff --git a/server/src/entities/app.entity.ts b/server/src/entities/app.entity.ts index 36154f7fe2..28454b4c65 100644 --- a/server/src/entities/app.entity.ts +++ b/server/src/entities/app.entity.ts @@ -25,8 +25,7 @@ export class App extends BaseEntity { @Column({ name: 'name' }) name: string; - @Column({ name: 'type' }) - type: string; + type: string = 'front-end'; @Column({ name: 'slug', unique: true }) slug: string; From 51d3ab14b6097727f729dadc4c2fa59b778b777f Mon Sep 17 00:00:00 2001 From: gsmithun4 Date: Thu, 8 Aug 2024 13:20:03 +0530 Subject: [PATCH 2/4] telemetry changes --- server/src/controllers/metadata.controller.ts | 20 ++++--------------- 1 file changed, 4 insertions(+), 16 deletions(-) diff --git a/server/src/controllers/metadata.controller.ts b/server/src/controllers/metadata.controller.ts index df8acbbec6..75110cd707 100644 --- a/server/src/controllers/metadata.controller.ts +++ b/server/src/controllers/metadata.controller.ts @@ -22,25 +22,13 @@ export class MetadataController { async getMetadata() { const metadata = await this.metadataService.getMetaData(); const data = metadata.data; - let latestVersion = data['latest_version']; - let versionIgnored = data['version_ignored'] || false; + const latestVersion = data['latest_version']; + const versionIgnored = data['version_ignored'] || false; const instanceId = metadata['id']; const onboarded = data['onboarded']; - if (process.env.NODE_ENV == 'production') { - if ( - process.env.CHECK_FOR_UPDATES === '1' || - process.env.CHECK_FOR_UPDATES === 'true' || - !process.env.CHECK_FOR_UPDATES - ) { - const result = await this.metadataService.checkForUpdates(metadata); - latestVersion = result.latestVersion; - versionIgnored = false; - } - - if (process.env.DISABLE_TOOLJET_TELEMETRY !== 'true') { - void this.metadataService.sendTelemetryData(metadata); - } + if (process.env.NODE_ENV == 'production' && process.env.DISABLE_TOOLJET_TELEMETRY !== 'true') { + void this.metadataService.sendTelemetryData(metadata); } return { From 97f99a4347ac038cf7c8567b0df81a89f63f2c70 Mon Sep 17 00:00:00 2001 From: Rudhra Deep Biswas <98055396+rudeUltra@users.noreply.github.com> Date: Thu, 8 Aug 2024 14:55:35 +0530 Subject: [PATCH 3/4] Smtp bugs CVE (#10603) * Constant file reconfig * lint * errors * smtp disabled * moved to constants * review changes * lint fix * improvement --- server/ce/instance-settings/constants.ts | 28 +++++++++++++----------- server/ce/instance-settings/service.ts | 7 +++--- server/src/services/email.service.ts | 11 ++++------ 3 files changed, 23 insertions(+), 23 deletions(-) diff --git a/server/ce/instance-settings/constants.ts b/server/ce/instance-settings/constants.ts index e2f69485f4..78cc365f68 100644 --- a/server/ce/instance-settings/constants.ts +++ b/server/ce/instance-settings/constants.ts @@ -32,16 +32,18 @@ export const defaultWhiteLabellingSettings = { WHITE_LABEL_LOGO_URL: 'https://app.tooljet.com/logo.svg', }; -export const defaultInstanceSettings = { - [INSTANCE_SYSTEM_SETTINGS.ENABLE_SIGNUP]: process.env.SSO_DISABLE_SIGNUPS, - [INSTANCE_SYSTEM_SETTINGS.ENABLE_WORKSPACE_LOGIN_CONFIGURATION]: 'true', - [INSTANCE_USER_SETTINGS.ALLOW_PERSONAL_WORKSPACE]: 'true', - [INSTANCE_USER_SETTINGS.ENABLE_MULTIPLAYER_EDITING]: process.env.ENABLE_MULTIPLAYER_EDITING, - [INSTANCE_USER_SETTINGS.ENABLE_COMMENTS]: process.env.COMMENT_FEATURE_ENABLE, - [INSTANCE_SYSTEM_SETTINGS.SMTP_PORT]: process.env.SMTP_PORT, - [INSTANCE_SYSTEM_SETTINGS.SMTP_DOMAIN]: process.env.SMTP_DOMAIN, - [INSTANCE_SYSTEM_SETTINGS.SMTP_USERNAME]: process.env.SMTP_USERNAME, - [INSTANCE_SYSTEM_SETTINGS.SMTP_PASSWORD]: process.env.SMTP_PASSWORD, - [INSTANCE_SYSTEM_SETTINGS.SMTP_ENABLED]: process.env.SMTP_ENABLED, - [INSTANCE_SYSTEM_SETTINGS.SMTP_FROM_EMAIL]: process.env.DEFAULT_FROM_EMAIL -}; \ No newline at end of file +export function getDefaultInstanceSettings() { + return { + [INSTANCE_SYSTEM_SETTINGS.ENABLE_SIGNUP]: process.env.SSO_DISABLE_SIGNUPS, + [INSTANCE_SYSTEM_SETTINGS.ENABLE_WORKSPACE_LOGIN_CONFIGURATION]: 'true', + [INSTANCE_USER_SETTINGS.ALLOW_PERSONAL_WORKSPACE]: 'true', + [INSTANCE_USER_SETTINGS.ENABLE_MULTIPLAYER_EDITING]: process.env.ENABLE_MULTIPLAYER_EDITING, + [INSTANCE_USER_SETTINGS.ENABLE_COMMENTS]: process.env.COMMENT_FEATURE_ENABLE, + [INSTANCE_SYSTEM_SETTINGS.SMTP_PORT]: process.env.SMTP_PORT, + [INSTANCE_SYSTEM_SETTINGS.SMTP_DOMAIN]: process.env.SMTP_DOMAIN, + [INSTANCE_SYSTEM_SETTINGS.SMTP_USERNAME]: process.env.SMTP_USERNAME, + [INSTANCE_SYSTEM_SETTINGS.SMTP_PASSWORD]: process.env.SMTP_PASSWORD, + [INSTANCE_SYSTEM_SETTINGS.SMTP_ENABLED]: process.env.SMTP_DISABLED === 'true' ? 'false' : 'true', + [INSTANCE_SYSTEM_SETTINGS.SMTP_FROM_EMAIL]: process.env.DEFAULT_FROM_EMAIL, + }; +} diff --git a/server/ce/instance-settings/service.ts b/server/ce/instance-settings/service.ts index 28632fd800..80fb4b8b84 100644 --- a/server/ce/instance-settings/service.ts +++ b/server/ce/instance-settings/service.ts @@ -1,9 +1,10 @@ import { Injectable } from '@nestjs/common'; -import { defaultInstanceSettings } from './constants'; +import { getDefaultInstanceSettings } from './constants'; @Injectable() export class InstanceSettingsService { async getSettings(key?: string | string[], getAllData = false, type?: any): Promise { + const defaultInstanceSettings = getDefaultInstanceSettings(); let settings = Object.keys(defaultInstanceSettings) .filter((e) => (Array.isArray(key) ? key.includes(e) : key === e)) .map((e) => ({ key: e, value: defaultInstanceSettings[e] })); @@ -16,7 +17,7 @@ export class InstanceSettingsService { // Key is not included on settings, adding empty value settings.push({ key: s, value: null }); } - }) + }); const instanceConfigs = {}; settings?.forEach((config) => { @@ -26,4 +27,4 @@ export class InstanceSettingsService { const res = Array.isArray(key) ? instanceConfigs : instanceConfigs[key]; return res; } -} \ No newline at end of file +} diff --git a/server/src/services/email.service.ts b/server/src/services/email.service.ts index ba9cb8e2c7..641416737e 100644 --- a/server/src/services/email.service.ts +++ b/server/src/services/email.service.ts @@ -337,15 +337,12 @@ export class EmailService { } async retrieveWhiteLabelText(whiteLabelSetting) { - return whiteLabelSetting?.[INSTANCE_SYSTEM_SETTINGS.WHITE_LABEL_TEXT] !== '' - ? whiteLabelSetting?.[INSTANCE_SYSTEM_SETTINGS.WHITE_LABEL_TEXT] - : defaultWhiteLabellingSettings.WHITE_LABEL_TEXT; + const whiteLabelText = whiteLabelSetting?.[INSTANCE_SYSTEM_SETTINGS.WHITE_LABEL_TEXT]; + return whiteLabelText || defaultWhiteLabellingSettings.WHITE_LABEL_TEXT; } - async retrieveWhiteLabelLogo(whiteLabelSetting) { - return whiteLabelSetting?.[INSTANCE_SYSTEM_SETTINGS.WHITE_LABEL_LOGO] !== '' - ? whiteLabelSetting?.[INSTANCE_SYSTEM_SETTINGS.WHITE_LABEL_LOGO] - : defaultWhiteLabellingSettings.WHITE_LABEL_LOGO; + const whiteLabelLogo = whiteLabelSetting?.[INSTANCE_SYSTEM_SETTINGS.WHITE_LABEL_LOGO]; + return whiteLabelLogo || defaultWhiteLabellingSettings.WHITE_LABEL_LOGO; } checkDefaultWhiteLabelState() { From 601494bba6cc0237b1611dfda1c90b4df3dfbeb3 Mon Sep 17 00:00:00 2001 From: gsmithun4 Date: Thu, 8 Aug 2024 15:58:17 +0530 Subject: [PATCH 4/4] env changes --- .env.example | 5 +++-- deploy/ec2/.env | 3 --- server/src/main.ts | 5 ----- 3 files changed, 3 insertions(+), 10 deletions(-) diff --git a/.env.example b/.env.example index e98a5d8bfd..36f688e16e 100644 --- a/.env.example +++ b/.env.example @@ -48,7 +48,8 @@ GOOGLE_CLIENT_SECRET= # EMAIL CONFIGURATION DEFAULT_FROM_EMAIL=hello@tooljet.io -SMTP_ENABLED= +# Set this value true to get preview email on cevelopment env +SMTP_DISABLED= SMTP_USERNAME= SMTP_PASSWORD= SMTP_DOMAIN= @@ -89,5 +90,5 @@ DISABLE_APP_EMBED= # if true then private app embed is allowed ENABLE_PRIVATE_APP_EMBED= -#Enable cors else restricted to TOOLJET_HOST +#Enable cors else restricted to TOOLJET_HOST. Set the value true if you are serving front end from diffrent host ENABLE_CORS= diff --git a/deploy/ec2/.env b/deploy/ec2/.env index 38804d0031..98da2484a9 100644 --- a/deploy/ec2/.env +++ b/deploy/ec2/.env @@ -58,6 +58,3 @@ SSO_GOOGLE_OAUTH2_CLIENT_ID= SSO_GIT_OAUTH2_CLIENT_ID= SSO_GIT_OAUTH2_CLIENT_SECRET= SSO_GIT_OAUTH2_HOST= - -#Enable cors else restricted to TOOLJET_HOST -ENABLE_CORS=true diff --git a/server/src/main.ts b/server/src/main.ts index ac9ddfa7f9..6f8f906ac5 100644 --- a/server/src/main.ts +++ b/server/src/main.ts @@ -78,11 +78,6 @@ async function bootstrap() { defaultVersion: VERSION_NEUTRAL, }); - app.enableVersioning({ - type: VersioningType.URI, - defaultVersion: VERSION_NEUTRAL, - }); - const listen_addr = process.env.LISTEN_ADDR || '::'; const port = parseInt(process.env.PORT) || 3000;