728x90

repository import

restaurants 라는 App 안에서 resturants.module.ts 에서 entities 안에 정의된 모델을 import 해야 합니다.

TypeOrmModule.forFeature() 안에 배열 형식으로 entities 안에 정의된 모델을 import 합니다.

DB에 접근할 수 있는 service 만들기

restaurants/restaurants.service.ts
파일을 만든뒤 다음과 같이 작성합니다.

그런다음 restaurants.resolver.ts 로 이동하여

constructor(private readonly restaurantService: ResaurantService) {}

를 추가합니다.

마지막으로 restaurants.module.ts 에서

providers 에 서비스를 추가해주면 에러없이 서버가 잘 돌아갑니다.

restaurant.service.ts 에서 생성자에 InjectRepository 를 합니다.

Repository 에서 find method는 비동기 함수이기 때문에 return type을 Promise로 줘야합니다.

이런 식으로 TypeORM(Entity)을 graphQL의 ObjectType 옆에 쓰기만 하면 DB에 model을 생성하고 자동으로 graphQL에 스키마를 작성 할수 있고 graphQL query를 사용할 수 있는 resolver도 사용할 수 있습니다.

모듈에서 서비스와 resolver 를 import 하고 resolver 에서 서비스를 호출 하고 서비스에서 database 를 접근합니다.

728x90

'Side > uber-eats' 카테고리의 다른 글

Nestjs , Typeorm 에서 Hasing passwords  (0) 2021.06.05
Nestjs - User model  (0) 2021.06.01
TypeORM setup 과 Nestjs Config  (0) 2021.05.23
NestJs Validating ArgsTypes  (0) 2021.05.23
Nestjs - InputTypes and ArgumentTypes  (0) 2021.05.22