This commit is contained in:
Philipinho
2024-05-02 16:45:05 +01:00
parent beb6aa8d18
commit 19a1f5e12d
7 changed files with 67 additions and 67 deletions

View File

@ -2,7 +2,7 @@ import { Global, Module } from '@nestjs/common';
import { EnvironmentService } from './environment.service';
import { ConfigModule } from '@nestjs/config';
import { validate } from './environment.validation';
import { envPath } from '../../helpers/utils';
import { envPath } from '../../helpers';
@Global()
@Module({

View File

@ -9,8 +9,8 @@ export class EnvironmentService {
return this.configService.get<string>('NODE_ENV');
}
getPort(): string {
return this.configService.get<string>('PORT');
getPort(): number {
return parseInt(this.configService.get<string>('PORT'));
}
getDatabaseURL(): string {
return this.configService.get<string>('DATABASE_URL');
@ -80,7 +80,7 @@ export class EnvironmentService {
}
getMailPort(): number {
return this.configService.get<number>('MAIL_PORT');
return parseInt(this.configService.get<string>('MAIL_PORT'));
}
getMailUsername(): string {

View File

@ -24,37 +24,36 @@ export const mailDriverConfigProvider = {
useFactory: async (environmentService: EnvironmentService) => {
const driver = environmentService.getMailDriver().toLocaleLowerCase();
if (driver === MailOption.SMTP) {
return {
driver,
config: {
host: environmentService.getMailHost(),
port: environmentService.getMailPort(),
connectionTimeout: 30 * 1000, // 30 seconds
auth: {
user: environmentService.getMailUsername(),
pass: environmentService.getMailPassword(),
},
} as SMTPTransport.Options,
};
}
switch (driver) {
case MailOption.SMTP:
return {
driver,
config: {
host: environmentService.getMailHost(),
port: environmentService.getMailPort(),
connectionTimeout: 30 * 1000, // 30 seconds
auth: {
user: environmentService.getMailUsername(),
pass: environmentService.getMailPassword(),
},
} as SMTPTransport.Options,
};
if (driver === MailOption.Postmark) {
return {
driver,
config: {
postmarkToken: environmentService.getPostmarkToken(),
} as PostmarkConfig,
};
}
case MailOption.Postmark:
return {
driver,
config: {
postmarkToken: environmentService.getPostmarkToken(),
} as PostmarkConfig,
};
if (driver === MailOption.Log) {
return {
driver,
};
case MailOption.Log:
return {
driver,
};
default:
throw new Error(`Unknown mail driver: ${driver}`);
}
throw new Error(`Unknown mail driver: ${driver}`);
},
inject: [EnvironmentService],

View File

@ -26,34 +26,35 @@ function createStorageDriver(disk: StorageConfig): StorageDriver {
export const storageDriverConfigProvider = {
provide: STORAGE_CONFIG_TOKEN,
useFactory: async (environmentService: EnvironmentService) => {
const driver = environmentService.getStorageDriver();
const driver = environmentService.getStorageDriver().toLowerCase();
if (driver === StorageOption.LOCAL) {
return {
driver,
config: {
storagePath:
process.cwd() + '/' + environmentService.getLocalStoragePath(),
},
};
}
if (driver === StorageOption.S3) {
return {
driver,
config: {
region: environmentService.getAwsS3Region(),
endpoint: environmentService.getAwsS3Endpoint(),
bucket: environmentService.getAwsS3Bucket(),
credentials: {
accessKeyId: environmentService.getAwsS3AccessKeyId(),
secretAccessKey: environmentService.getAwsS3SecretAccessKey(),
switch (driver) {
case StorageOption.LOCAL:
return {
driver,
config: {
storagePath:
process.cwd() + '/' + environmentService.getLocalStoragePath(),
},
},
};
}
};
throw new Error(`Unknown storage driver: ${driver}`);
case StorageOption.S3:
return {
driver,
config: {
region: environmentService.getAwsS3Region(),
endpoint: environmentService.getAwsS3Endpoint(),
bucket: environmentService.getAwsS3Bucket(),
credentials: {
accessKeyId: environmentService.getAwsS3AccessKeyId(),
secretAccessKey: environmentService.getAwsS3SecretAccessKey(),
},
},
};
default:
throw new Error(`Unknown storage driver: ${driver}`);
}
},
inject: [EnvironmentService],
@ -61,6 +62,6 @@ export const storageDriverConfigProvider = {
export const storageDriverProvider = {
provide: STORAGE_DRIVER_TOKEN,
useFactory: (config) => createStorageDriver(config),
useFactory: (config: StorageConfig) => createStorageDriver(config),
inject: [STORAGE_CONFIG_TOKEN],
};