PartialType과 OmitType 동시 적용
포트폴리오 과정의 '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 부분에서 넘기지 않은 부분은 그냥 그대로 냅두는 것을 목적으로 합니다.
Câu trả lời 1
1
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

