diff --git a/.env.example b/.env.example index 6148ee102..ce346b5f2 100644 --- a/.env.example +++ b/.env.example @@ -39,14 +39,15 @@ MAILER_SMTP_ENABLE="true" MAILER_USE_ADVANCE_CONFIGS="false" MAILER_ADDRESS_FROM='"From Name Here" ' -MAILER_SMTP_URL="smtps://user@domain.com:pass@smtp.domain.com" # if MAILER_USE_ADVANCE_CONFIGS is true +MAILER_SMTP_URL="smtps://user@domain.com:pass@smtp.domain.com" # used if custom mailer configs is false -MAILER_SMTP_HOST="smtp.domain.com" # if MAILER_USE_ADVANCE_CONFIGS is false -MAILER_SMTP_PORT="587" # if MAILER_USE_ADVANCE_CONFIGS is false -MAILER_SMTP_SECURE="true" # if MAILER_USE_ADVANCE_CONFIGS is false -MAILER_SMTP_USER="user@domain.com" # if MAILER_USE_ADVANCE_CONFIGS is false -MAILER_SMTP_PASSWORD="pass" # if MAILER_USE_ADVANCE_CONFIGS is false -MAILER_TLS_REJECT_UNAUTHORIZED="true" # if MAILER_USE_ADVANCE_CONFIGS is false +# The following are used if custom mailer configs is true +MAILER_SMTP_HOST="smtp.domain.com" +MAILER_SMTP_PORT="587" +MAILER_SMTP_SECURE="true" +MAILER_SMTP_USER="user@domain.com" +MAILER_SMTP_PASSWORD="pass" +MAILER_TLS_REJECT_UNAUTHORIZED="true" # Rate Limit Config RATE_LIMIT_TTL=60 # In seconds diff --git a/packages/hoppscotch-backend/src/admin/infra.resolver.ts b/packages/hoppscotch-backend/src/admin/infra.resolver.ts index e7aa9ef4a..c8afd3008 100644 --- a/packages/hoppscotch-backend/src/admin/infra.resolver.ts +++ b/packages/hoppscotch-backend/src/admin/infra.resolver.ts @@ -372,7 +372,7 @@ export class InfraResolver { description: 'Enable or Disable SMTP for sending emails', }) @UseGuards(GqlAuthGuard, GqlAdminGuard) - async enableAndDisableSMTP( + async toggleSMTP( @Args({ name: 'status', type: () => ServiceStatus, diff --git a/packages/hoppscotch-backend/src/errors.ts b/packages/hoppscotch-backend/src/errors.ts index 5c92b0304..b540e7f1e 100644 --- a/packages/hoppscotch-backend/src/errors.ts +++ b/packages/hoppscotch-backend/src/errors.ts @@ -695,8 +695,8 @@ export const MAILER_SMTP_PASSWORD_UNDEFINED = * MAILER_USE_GRANULAR environment variable is not defined * (MailerModule) */ -export const MAILER_USE_ADVANCE_CONFIGS_INVALID_VALUE = - 'mailer/use_advance_configs_invalid_value' as const; +export const MAILER_USE_CUSTOM_CONFIGS_INVALID_VALUE = + 'mailer/use_custom_configs_invalid_value' as const; /** * SharedRequest invalid request JSON format diff --git a/packages/hoppscotch-backend/src/infra-config/helper.ts b/packages/hoppscotch-backend/src/infra-config/helper.ts index f6d681a24..f5909873d 100644 --- a/packages/hoppscotch-backend/src/infra-config/helper.ts +++ b/packages/hoppscotch-backend/src/infra-config/helper.ts @@ -33,7 +33,7 @@ const AuthProviderConfigurations = { InfraConfigEnum.MICROSOFT_SCOPE, InfraConfigEnum.MICROSOFT_TENANT, ], - [AuthProvider.EMAIL]: !!process.env.MAILER_USE_ADVANCE_CONFIGS + [AuthProvider.EMAIL]: !!process.env.MAILER_USE_CUSTOM_CONFIGS ? [ InfraConfigEnum.MAILER_SMTP_HOST, InfraConfigEnum.MAILER_SMTP_PORT, @@ -87,8 +87,8 @@ export async function getDefaultInfraConfigs(): Promise< value: process.env.MAILER_SMTP_ENABLE ?? 'true', }, { - name: InfraConfigEnum.MAILER_USE_ADVANCE_CONFIGS, - value: process.env.MAILER_USE_ADVANCE_CONFIGS ?? 'false', + name: InfraConfigEnum.MAILER_USE_CUSTOM_CONFIGS, + value: process.env.MAILER_USE_CUSTOM_CONFIGS ?? 'false', }, { name: InfraConfigEnum.MAILER_SMTP_URL, diff --git a/packages/hoppscotch-backend/src/infra-config/infra-config.service.ts b/packages/hoppscotch-backend/src/infra-config/infra-config.service.ts index 07e9636c1..d2f5849de 100644 --- a/packages/hoppscotch-backend/src/infra-config/infra-config.service.ts +++ b/packages/hoppscotch-backend/src/infra-config/infra-config.service.ts @@ -422,7 +422,7 @@ export class InfraConfigService implements OnModuleInit { ) return E.left(INFRA_CONFIG_INVALID_INPUT); break; - case InfraConfigEnum.MAILER_USE_ADVANCE_CONFIGS: + case InfraConfigEnum.MAILER_USE_CUSTOM_CONFIGS: if ( infraConfigs[i].value !== 'true' && infraConfigs[i].value !== 'false' diff --git a/packages/hoppscotch-backend/src/mailer/mailer.module.ts b/packages/hoppscotch-backend/src/mailer/mailer.module.ts index 15ee44bd4..8ff324e71 100644 --- a/packages/hoppscotch-backend/src/mailer/mailer.module.ts +++ b/packages/hoppscotch-backend/src/mailer/mailer.module.ts @@ -8,7 +8,7 @@ import { MAILER_SMTP_PASSWORD_UNDEFINED, MAILER_SMTP_URL_UNDEFINED, MAILER_SMTP_USER_UNDEFINED, - MAILER_USE_ADVANCE_CONFIGS_INVALID_VALUE, + MAILER_USE_CUSTOM_CONFIGS_INVALID_VALUE, } from 'src/errors'; import { ConfigService } from '@nestjs/config'; import { loadInfraConfiguration } from 'src/infra-config/helper'; @@ -37,8 +37,8 @@ export class MailerModule { throwErr(MAILER_SMTP_URL_UNDEFINED); if ( - (env.INFRA.MAILER_USE_ADVANCE_CONFIGS ?? - config.get('MAILER_USE_ADVANCE_CONFIGS')) === 'false' + (env.INFRA.MAILER_USE_CUSTOM_CONFIGS ?? + config.get('MAILER_USE_CUSTOM_CONFIGS')) === 'false' ) { console.log('Using simple mailer configuration'); @@ -47,8 +47,8 @@ export class MailerModule { config.get('MAILER_SMTP_URL') ?? throwErr(MAILER_SMTP_URL_UNDEFINED); } else if ( - (env.INFRA.MAILER_USE_ADVANCE_CONFIGS ?? - config.get('MAILER_USE_ADVANCE_CONFIGS')) === 'true' + (env.INFRA.MAILER_USE_CUSTOM_CONFIGS ?? + config.get('MAILER_USE_CUSTOM_CONFIGS')) === 'true' ) { console.log('Using advance mailer configuration'); @@ -74,7 +74,7 @@ export class MailerModule { }, }; } else { - throwErr(MAILER_USE_ADVANCE_CONFIGS_INVALID_VALUE); + throwErr(MAILER_USE_CUSTOM_CONFIGS_INVALID_VALUE); } return { diff --git a/packages/hoppscotch-backend/src/types/InfraConfig.ts b/packages/hoppscotch-backend/src/types/InfraConfig.ts index 79e7113bc..8174d47c3 100644 --- a/packages/hoppscotch-backend/src/types/InfraConfig.ts +++ b/packages/hoppscotch-backend/src/types/InfraConfig.ts @@ -1,6 +1,6 @@ export enum InfraConfigEnum { MAILER_SMTP_ENABLE = 'MAILER_SMTP_ENABLE', - MAILER_USE_ADVANCE_CONFIGS = 'MAILER_USE_ADVANCE_CONFIGS', + MAILER_USE_CUSTOM_CONFIGS = 'MAILER_USE_CUSTOM_CONFIGS', MAILER_SMTP_URL = 'MAILER_SMTP_URL', MAILER_ADDRESS_FROM = 'MAILER_ADDRESS_FROM',