move environment module to integrations

This commit is contained in:
Philipinho
2024-03-21 20:09:25 +00:00
parent 51b9808382
commit 186c4f5f5c
16 changed files with 20 additions and 30 deletions
@@ -0,0 +1,20 @@
import { IsString, IsUrl, validateSync } from 'class-validator';
import { plainToInstance } from 'class-transformer';
export class EnvironmentVariables {
@IsString()
NODE_ENV: string;
@IsUrl({ protocols: ['postgres', 'postgresql'], require_tld: false })
DATABASE_URL: string;
}
export function validate(config: Record<string, any>) {
const validatedConfig = plainToInstance(EnvironmentVariables, config);
const errors = validateSync(validatedConfig);
if (errors.length > 0) {
throw new Error(errors.toString());
}
return validatedConfig;
}