일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- Unit Test
- axios-mock-adaptor
- 의존관계역전원칙
- 도커
- javascript unit test
- test code
- mock함수
- 인터넷게이트웨이
- 미라클모닝
- forbetterme
- subnet
- nestjs
- jest
- TDD
- 단위테스트
- VPC
- docker commands
- 리스코프치환원칙
- parameter group
- AWS
- axios mock
- jest.fn
- mock객체
- 서브넷
- 라우팅테이블
- docker
- IPv4
- JavaScript
- 테스트코드
- TypeScript
- Today
- Total
My Dream Being Visualized
NestJS 새로운 모듈 추가 (feat. auth) 본문
※ 개인 공부를 위한 공간입니다. 틀린 부분 지적해주시면 감사하겠습니다 (_ _)
모듈내 필요한 기능
- 회원가입
- 로그인
- 회원인증
기능에 따른 파일 구조
- Controller
- Service
- Entity
- Repository
- JWT, Passport
모듈 및 파일 생성
nest g module auth
설명: auth와 관련된 기능을 담당할 모든 파일을 위한 모듈 & 폴더 생성
생성: auth -> auth.module.ts
기능: imports, exports, controllers, providers 명시 및 관리
nest g controller auth --no-spec
설명: auth 모듈 내 컨트롤러 생성 / --no-spec 옵션은 테스트 파일을 생성하지 않겠다라는 의미
생성: auth.controller.ts 파일
기능: 서버 API 라우팅 및 명시 및 API 결과값 전달
nest g service auth --no-spec
설명: auth 모듈 내 서비스 생성 / --no-spec 옵션은 테스트 파일을 생성하지 않겠다라는 의미
생성: auth.service.ts
기능: API 내 처리해야 할 로직 명시 및 controller로 전달
user.entity.ts 파일 생성
필요한 컬럼 + 타입 명시
설명: auth 모듈 내 직접 생성해주셔야 합니다.
생성: user.entity.ts 파일
기능: 유저 인증에 필요한 유저 데이터를 명시 및 가져올 Entity 생성
user.repository.ts 파일 생성
auth module에서 imports 안에 repository 추가
설명: auth 모듈 내 직접 생성해주셔야 합니다.
생성: user.repository.ts 파일
기능: 데이터베이스와의 직접적인 query 및 dto(data transfer object) 활용 및 service로 전달
// service내 repository inject
constructor (
@InjectRepository(UserRepository)
private userRepository: UserRepository,
) {}
설명: auth.service.ts 내 직접 inject 하셔야 합니다.
생성: constructor 내 inject 코드
기능: service 내에서 repository에서 생성한 함수 사용 가능
테스트 관련된 파일은 향후에 공부해서 다뤄보겠습니다.
또한, nest-cli 활용대신 직접 생성하셔도 됩니다. 단지 일일이 추가 해줘야 하는 귀찮음 추가
참고: https://www.youtube.com/watch?v=3JminDpCJNE&t=6629s&ab_channel=JohnAhn
'Programming > NestJS' 카테고리의 다른 글
유저 비밀번호 암호화 (feat. bcryptjs) (0) | 2021.11.06 |
---|---|
TypeORM 이란? (0) | 2021.11.06 |
NestJS 프로젝트 시작 전 설정 (0) | 2021.10.30 |
NestJS에 대하여 (0) | 2021.10.30 |