[Uber-eats] user crud - 1

한재창·2023년 5월 29일
0
post-thumbnail

Module, Resolver, Service

TypeORM special columns

추가 기능을 사용할 수 있는 몇 가지 Special columns들이 있습니다.

@PrimaryGeneratedColumn은 자동생성되는 ID값을 표현하는 방식을 2가지 옵션을 사용할 수 있도록 도와줍니다.

@CreateDateColumn은 엔터티의 삽입 날짜로 자동 설정되는 특수 열입니다. 이 열은 설정할 필요가 없습니다. 자동으로 설정됩니다.

@UpdateDateColumn은 entity manager 또는 repository의 저장을 호출할 때마다 엔티티의 업데이트 시간으로 자동 설정되는 특수 컬럼입니다. 이 열은 설정할 필요가 없습니다. 자동으로 설정됩니다.

@DeleteDateColumn은 entity manager 또는 repository의 일시 삭제를 호출할 때마다 엔터티의 삭제 시간으로 자동 설정되는 특수 열입니다. 이 열은 설정할 필요가 없습니다. 자동으로 설정됩니다. @DeleteDateColumn이 설정되면 기본 범위는 "삭제되지 않음"이 됩니다.

user entity

  1. user entity를 생성합니다. nest g mo users 를 입력하여 users.module.ts 파일을 생성합니다.

  2. [users] > [entities] > user.entity.ts 파일을 생성한 후 email, password, role를 db에 저장할 수 있도록 User class를 만듭니다.

  3. nest g mo common 를 입력하고 [common] > [entities] > core.entity.ts 파일을 생성합니다. @PrimaryGeneratedColumn 를 이용한 id, @CreateDateColumn 를 이용한 createdAt, @UpdateDateColumn 를 이용한 updatedAt를 전역적으로 확장할 수 있도록 CoreEntity class를 만듭니다.

  4. CoreEntity를 User class에 확장한 후 app.module.ts에서 UsersModule과 CommonModule를 import 해주고 TypeOrmModule.forRoot.entitites 에서 User class를 추가해줍니다.

  5. users.service.ts 파일을 만들고 UsersService class를 생성합니다.

  6. users.resolver.ts 파일을 만들고 UsersResolver class를 생성합니다.

  7. users.module.ts 파일에서 imports, providers 해줍니다.

profile
취준 개발자

0개의 댓글