26 lines
960 B
TypeScript
26 lines
960 B
TypeScript
import Joi from 'joi';
|
|
|
|
export default Joi.object({
|
|
NODE_ENV: Joi.string()
|
|
.valid('development', 'test', 'production', 'staging')
|
|
.default('development'),
|
|
DATABASE_HOST: Joi.string().required(),
|
|
DATABASE_PORT: Joi.number().port().default(5432),
|
|
DATABASE_USER: Joi.string().required(),
|
|
DATABASE_PASS: Joi.string().required(),
|
|
DATABASE_NAME: Joi.string().required(),
|
|
DATABASE_AUTOLOAD: Joi.boolean().default('true'),
|
|
JWT_ACCESS_SECRET: Joi.string().required(),
|
|
JWT_ACCESS_TTL: Joi.number().required(),
|
|
JWT_REFRESH_SECRET: Joi.string().required(),
|
|
JWT_REFRESH_TTL: Joi.number().required(),
|
|
JWT_ISSUER: Joi.string().required(),
|
|
JWT_AUDIENCE: Joi.string().required(),
|
|
REDIS_HOST: Joi.string().required(),
|
|
REDIS_PORT: Joi.number().port().default(6379),
|
|
REDIS_PASSWORD: Joi.string().required(),
|
|
CORS_ORIGINS: Joi.string().required(),
|
|
CORS_SUBDOMAIN: Joi.string().required(),
|
|
SWAGGER_SERVERS: Joi.string().required(),
|
|
});
|