'How do I convert status(string) from http request to status_id(number) before applying business logic

This code is written in nestjs with typeorm I m using DTO (Data Transfer Object)

create-enquiry.dto.ts

export class CreateEnquiryReqDto {

  @IsNotEmpty()
  location: string
  

  @IsNotEmpty()
  @IsEnum(EnquiryStatusEnum)
  status: EnquiryStatusEnum

  @IsOptional()
  @Type(() => CreateCustomerDto)
  customer: CreateCustomerDto

}

this is the request object

{
    "location": "Karnataka",
    "status": "NEW"
}

This is enquiryStatusEnum

export enum EnquiryStatusEnum {
  NEW = 1,
  CONVERTED,
  CANCELLED
}

Help me



Solution 1:[1]

If you're just looking to dynamically get the value of an enum through the enum key, you can use:

EnquiryStatusEnum[status as keyof typeof EnquiryStatusEnum] 

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 iced