JS

    [Nest JS] 회원가입 구현 / TypeError: this.userRepository.createUser is not a function 해결

    [Nest JS] 회원가입 구현 / TypeError: this.userRepository.createUser is not a function 해결

    * dto 생성export class AuthCredentialsDto{ username : string; password : string;}* 리포지토리에서 db 접근 메소드 구현@Injectable()export class UserRepository extends Repository{ constructor(dataSource: DataSource) { super(User, dataSource.createEntityManager()); } async createUser(authCredentialsDto : AuthCredentialsDto){ const {username, password} = authCredentialsDto; const user = this.create({u..

    [Nest JS] 인증 구현 준비 (컨트롤러, 서비스, 리포지토리 생성)

    [Nest JS] 인증 구현 준비 (컨트롤러, 서비스, 리포지토리 생성)

    * user table 생성import { BaseEntity, Column, Entity, PrimaryGeneratedColumn } from "typeorm";@Entity()export class User extends BaseEntity{ @PrimaryGeneratedColumn() id: number; @Column() username: string; @Column() password: string;}* repository 생성import { Injectable } from "@nestjs/common";import { DataSource, Repository } from "typeorm";import { User } from "./user.entity";@Injectable()e..

    [Nest JS] 모든 게시글 조회

    [Nest JS] 모든 게시글 조회

    * 서비스async getAllBoards(){ return this.boardRepository.find(); //매개변수없음 -> 모든것 가져옴}* 컨트롤러@Get()getAllBoard(){ return this.boardsService.getAllBoards();}

    [Nest JS] 게시글 업데이트

    [Nest JS] 게시글 업데이트

    * 서비스async updateBoardStatus(id: number, status:BoardStatus): Promise{ const board = await this.getBoardById(id); board.status=status; await this.boardRepository.save(board); return board;}* 컨트롤러id/status 형식으로 url을 줘야함 && body로 json을 줘야함 { status : private}ex) localhost3000:boards/4/status                    body  :  {status : private}@Patch('/:id/status') //수정은 patchupdateBoardStatus(@Param('id..

    [Nest JS] 게시글 삭제

    [Nest JS] 게시글 삭제

    * 메소드 선택* 컨트롤러@Delete('/:id')deleteBoard(@Param('id', ParseIntPipe) id: number){ //제공되는 파이프로 검사해주시고 return this.boardsService.deleteBoard(id);}*서비스async deleteBoard(id : number){ return this.boardRepository.delete(id); //기본제공되는 delete 사용}  * 없는경우 예외처리affected 속성을 이용하여 예외처리 구현.async deleteBoard(id : number){ const result = await this.boardRepository.delete(id); //기본제공되는 delete 사용 if(result.a..

    [Nest JS] 게시글생성 db / typeOrm 3.0 issued 해결 / @EntityRepository 해결

    [Nest JS] 게시글생성 db / typeOrm 3.0 issued 해결 / @EntityRepository 해결

    * serviceasync createBoard(createBoardDto : CreateBoardDto): Promise{ const {title,description} = createBoardDto; //db생성시 .create 이용해야 const board = this.boardRepository.create({ // id : uuid(), //자동으로 유니크한 값을 넣어줌 title : title, description : description, status : BoardStatus.PUBLIC }) await this.boardRepository.save(board); return board;} * controller@Post..

    [Nest JS] memory repository 2 DB repository / 게시글 조회 /

    [Nest JS] memory repository 2 DB repository / 게시글 조회 /

    import { Injectable, NotFoundException } from "@nestjs/common";import { BoardStatus } from "./board-statuss.enum.";import {v1 as uuid} from 'uuid';import { CreateBoardDto } from "./dto/create-board.dto";import { InjectRepository } from "@nestjs/typeorm";import { BoardRepository } from "./board.repository";@Injectable()export class BoardsService { constructor( @InjectRepository(BoardRepositor..

    [Nest JS] Repository 구현 / @EntityRepository issue

    [Nest JS] Repository 구현 / @EntityRepository issue

    * Repository ? 이전 : service에서 memory repository 사용개선 : db 관련일은 repository  에서 처리함  1. 리포지토리 클래스 생성import { EntityRepository, Repository } from "typeorm";import { Board } from "./board.entity";@EntityRepository(Board) //Board를 컨트롤하는 db임을 선언export class BoardRepository extends Repository{ } 2. 보드 모듈에 임포트 => 여러곳에서 사용import { Module } from '@nestjs/common';import { BoardsController } from './boards..