db-models-nc
Version:
Database models for NextUp Comedy Website
30 lines • 1.17 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const joi_1 = __importDefault(require("joi"));
const path_1 = __importDefault(require("path"));
const dotenv_1 = __importDefault(require("dotenv"));
if (!process.env.NODE_ENV) {
throw new Error('You have to set NODE_ENV');
}
if (process.env.NODE_ENV !== 'production') {
dotenv_1.default.config({ path: path_1.default.join(process.cwd(), `.env.${process.env.NODE_ENV}`) });
}
const envVarsSchema = joi_1.default.object({
DATABASE_URL: joi_1.default.string().uri().required(),
ENCRYPTION_SECRET_KEY: joi_1.default.string().required(),
}).unknown().required();
const config = () => {
const { error, value: envVars } = envVarsSchema.validate(process.env);
if (error) {
throw new Error(`Config validation error: ${error.message}`);
}
return {
DATABASE_URL: envVars.DATABASE_URL,
ENCRYPTION_SECRET_KEY: envVars.ENCRYPTION_SECRET_KEY,
};
};
exports.default = config();
//# sourceMappingURL=index.js.map