데브캠프 1일차의 기록
데브캠프는 현업 수준의 코드를 직접 살펴보며 스스로 그에 준하는 수준의 개발을 할 수 있다.
최종프로젝트 이후로 nest.js는 거의 놓은 상태인 나에게 아주 좋은 기회였다.
이번엔 빠르게 만들어서 기능만 되면 완료해버리는것이 아닌 좋은 코드의 예시를 뜯어보며 나의 수준도 같이 높이는게 목표이다. 기록도 틈틈이 하기!
@Get()
findAll(@Req() request: Request) {
return this.sampleService.findAll();
}
imports -> 갖다 쓸 모듈
controllers -> 외부 노출할거
providers -> 의존성 주입할거
exports -> 다른 애들이 쓸거
@Entity()
export class User {
@PrimaryGeneratedColumn()
id: number;
@Column()
firstName: string;
@Column()
lastName: string;
@Column({ default: true })
isActive: boolean;
}
async signIn(username: string, pass: string): Promise<any> {
const user = await this.usersService.findOne(username);
if (user?.password !== pass) {
throw new UnauthorizedException();
}
const { password, ...result } = user;
// TODO: Generate a JWT and return it here
// instead of the user object
return result;
}
import { Injectable, CanActivate, ExecutionContext } from '@nestjs/common';
import { Observable } from 'rxjs';
@Injectable()
export class AuthGuard implements CanActivate {
canActivate(
context: ExecutionContext,
): boolean | Promise<boolean> | Observable<boolean> {
const request = context.switchToHttp().getRequest();
return validateRequest(request);
}
}