본문 바로가기

Uber Eats

Uber Eats # 9 joi

joi는 데이터 유효성 검사 툴이다.

npm i joi

 

javascript로 되어있는 패키지를 import 할 때는 아래와 같이 작성한다.

import * as Joi from 'joi';

 

import { Module } from '@nestjs/common';
import * as Joi from 'joi';
import { ConfigModule } from '@nestjs/config';
import { GraphQLModule } from '@nestjs/graphql';
import { TypeOrmModule } from '@nestjs/typeorm';
import { RestaurantsModule } from './restaurants/restaurants.module';

@Module({
  imports: [
    GraphQLModule.forRoot({
      autoSchemaFile: true,
    }),
    RestaurantsModule,
    ConfigModule.forRoot({
      isGlobal: true,
      envFilePath: process.env.NODE_ENV === "dev" ? ".env.dev" : ".env.test",
      ignoreEnvFile: process.env.NODE_ENV === "prod",
      validationSchema: Joi.object({
        NODE_ENV: Joi.string()
          .valid('dev', 'prod')
          .required(),
        DB_HOST: Joi.string().required(),
        DB_PORT: Joi.string().required(),
        DB_USERNAME: Joi.string().required(),
        DB_PASSWORD: Joi.string().required(),
        DB_NAME: Joi.string().required()
      }),
    }),
    TypeOrmModule.forRoot({
    type: "postgres",
    host: process.env.DB_HOST,
    port: +process.env.DB_PORT,
    username: process.env.DB_USERNAME,
    password: process.env.DB_PASSWORD,
    database: process.env.DB_NAME,
    synchronize: true,
    logging: true
// }).then(connection => {
    // here you can start to work with your entities
// }).catch(error => console.log(error));

    })
  ],
  controllers: [],
  providers: [],
})
export class AppModule {}

 

'Uber Eats' 카테고리의 다른 글

Uber Eats # 11 Repository  (0) 2021.03.07
Uber Eats # 10 TYPEORM and Nest, Active Record vs Data Mapper  (0) 2021.03.07
Uber Eats # 8 dotenv  (0) 2021.03.06
Uber Eats # 7 TYPEORM  (0) 2021.03.06
Uber Eats # 6 validator  (0) 2021.03.06