inflearn logo
강의

Khóa học

Chia sẻ kiến thức

[CodeCamp] Khóa học backend cô đặc được tạo ra từ bootcamp

PartialType과 OmitType 동시 적용

Đã giải quyết

589

ZZAMBA

12 câu hỏi đã được viết

0

포트폴리오 과정의 'N:M 등록 및 조회/회원가입'을 처리하는 중 질문할 것이 나와 질문을 드립니다.

User의 생성부분을 구현하기 위해 CreateUserInput 타입을 만들었고 해당 부분에서 유저 아이디, 패스워드, 이메일 등을 기입하도록 하였습니다.

@InputType()
export class CreateUserInput {
  @Field(() => String)
  loginId: string;

  @Field(() => String)
  @MinLength(8)
  password: string;

  @Field(() => String)
  name: string;

  @Field(() => String)
  address: string;

  @Field(() => String)
  @IsPhoneNumber('KR')
  phone: string;

  @Field(() => String)
  @IsEmail()
  @Transform(({ value }) => value.toLowerCase())
  email: string;
}

 

그리고 User의 수정 부분을 구현하기 위해 UpdateUserInput 타입을 만들었습니다. 단순히 OmitType으로 CreateUserInput 부분을 넘겨 만들었습니다만, API 동작에서 패스워드 부분을 넘기지 않으면 필수 항목을 입력하지 않았다고 수정이 되지 않았습니다.

@InputType()
export class UpdateUserInput extends OmitType(CreateUserInput,
  ['loginId', 'email'], InputType) {
}

 

그래서 그냥 PartialType까지 상속하고 싶었습니다만 타입스크립트도 다중 상속을 지원하지 않는지 OmitType과 PartialType을 함께 쓸 수 없었습니다. 이러면 그냥 CreateUserInput처럼 전부 구현할 수 밖에 없나요? API 부분에서 넘기지 않은 부분은 그냥 그대로 냅두는 것을 목적으로 합니다.

node.js rest-api express tdd docker javascript nestjs nodejs NestJS

Câu trả lời 1

1

ZZAMBA

chatGPT에 물어보니 바로 알려주네요. 자답합니다.

 

@InputType()
export class UpdateUserInput extends PartialType(
  OmitType(CreateUserInput, ['loginId', 'email'], InputType)) {
}

그래프 ql 문서 사용할때 느낌표 남는거 어떻게 없애나요?

0

80

2

강의 전체 소스 코드를 받고싶습니다.

0

74

2

fontawesome 사용 문의

0

75

2

소스 코드 부탁드립니다~

0

84

2

깃 레포지터리 소스

0

78

2

커리큘럼12.css 정렬 에 나오는 과제 정답알고싶어요

0

71

2

10-01 Entity TypeOrmModule.forRoot 에 entities

0

83

3

강의 버전관련 문의입니다

0

101

2

Ubuntu 설치 관련

0

59

1

schema.gql 질문 드립니다.

0

49

1

서버 재실행시 Many to Many

0

100

3

input 관련 문의

0

89

2

Rest API 보다는 graphql이 주된 내용인데

0

130

2

강의 전체 소스코드 받을수있을까요?

0

153

1

도커볼륨 마운트 관련

0

125

2

findOne 타입스크립트오류

0

107

1

http => htrtps 호출 인증서 신뢰 오류

0

347

1

self-signed certificate in certificate chain 에러 발생

0

408

1

mongoose 설치 오류

0

140

1

특정 API, 특정 IP 허용 (단일경로에 CORS 활성화)

0

279

2

08-06

0

174

3

구조랑 패턴 관련해서 질문

0

121

2

mydocker

0

125

2

coolsms statuscode 2000 인데 전송안돼는 경우 확인.

0

153

1