NestJS + GraphQL : Enum

Outclass·2022년 8월 10일
0

NestJS+GraphQL+TypeORM 

목록 보기
12/16

Enum

NestJS에서 enum타입은 주로 GraphQL과 함께 사용되며, 특정값들의 집합으로 타입을 제한할 때 사용된다. 예를 들면, 어떤 앱에서 사용자의 Role에 따른 접근 권할을 설정할 때, Role의 종류를 Client, Owner, Delivery로 제한하는데 사용될 수 있다.

enum을 생성하면 registerEnumType을 통해 GraphQL 스키마에서 사용할 수 있다.

//enum만들고 등록
export enum AllowedColor {
  RED,
  GREEN,
  BLUE,
}

registerEnumType(AllowedColor, {
  name: 'AllowedColor',
});

//entity
@Field(type => AllowedColor)
favoriteColor: AllowedColor;

단, enum은 값을 지정하지 않으면 DB상에 0,1,2로 값이 저장되기 때문에 이를 원치 않으면 특정 값으로 지정할 수도 있다.

//enum에 텍스트 지정
export enum AllowedColor {
  RED = "RED",
  GREEN = "GREEN,
  BLUE = "BLUE",
}

참조
https://docs.nestjs.com/graphql/unions-and-enums#enums
https://graphql.org/learn/schema/#enumeration-types

profile
When you stop having big dreams that’s when you’ve died, despite not being buried yet.

0개의 댓글