nest g module auth
nest g controller auth --no-spec
nest g service auth --no-spec
--no-spec은 테스트 파일을 만들지 않기 위해 붙인다.
그 후 user.entity.ts파일 생성
유저 데이터를 위한 user.entity이다
import { BaseEntity, Column, PrimaryGeneratedColumn } from "typeorm";
@Entity()
export class User extends BaseEntity{
@PrimaryGeneratedColumn()
id: number;
@Column()
email: string;
@Column()
passeword: string;
}
@PrimaryGeneratedColumn()은 id는 고유값을 가져야 하기 때문에 지정
user.repository.ts 생성
user.entity를 생성, 수정, 삭제 등의 로직을 처리하기 위해서 repository를 생성
import { EntityRepository, Repository } from "typeorm";
import { User } from "./user.entity";
@EntityRepository(User)
export class UserRepository extends Repository<User>{
}
user.repository를 다른 곳에서도 쓸 수 있게 하기 위해서 auth.module에 추가
import { Module } from '@nestjs/common';
import { AuthController } from './auth.controller';
import { AuthService } from './auth.service';
import { TypeOrmModule } from '@nestjs/typeorm';
import { UserRepository } from './user.repository';
@Module({
imports:[
TypeOrmModule.forFeature([UserRepository])
],
controllers: [AuthController],
providers: [AuthService]
})
export class AuthModule {}
user.repository를 auth.service에서 사용하기 위해서 추가
import { Injectable } from '@nestjs/common';
import { InjectRepository } from '@nestjs/typeorm';
import { UserRepository } from './user.repository';
@Injectable()
export class AuthService {
constructor(
@InjectRepository(UserRepository)
private UserRepository: UserRepository
){}
}