#@Query default parameter with enum

3 messages · Page 1 of 1 (latest)

sullen tangle
#

I try to have a default value for an Enum, but it just doesn't work somehow. The funny part is when I change period: Period to period:string it works, but I want to receive a Period not a string

  @Query(
    'period',
    new DefaultValuePipe(Period.WEEKLY),
    new ParseEnumPipe(Period),
  )
  period: Period,
): Promise<Object[]> {
  init(period)
  ....
}

Period is defined as:

  WEEKLY = 'weekly',
  MONTHLY = 'monthly',
  QUARTELY = 'quartely',
}```
silver sun
#

but it just doesn't work somehow
Then how does it not work?

sullen tangle
#

it throws [Nest] 64117 - 08/04/2023, 11:21:08 AM ERROR [ExceptionsHandler] Cannot read properties of undefined (reading 'constructor') TypeError: Cannot read properties of undefined (reading 'constructor') at MetadataStorage.getAncestors (/Users/ttb/code/square/square-backend/node_modules/src/MetadataStorage.ts:244:64) at MetadataStorage.getMetadata (/Users/ttb/code/square/square-backend/node_modules/src/MetadataStorage.ts:178:33) at MetadataStorage.getExposedMetadatas (/Users/ttb/code/square/square-backend/node_modules/src/MetadataStorage.ts:108:17) at MetadataStorage.getExposedProperties (/Users/ttb/code/square/square-backend/node_modules/src/MetadataStorage.ts:116:17) at TransformOperationExecutor.getKeys (/Users/ttb/code/square/square-backend/node_modules/src/TransformOperationExecutor.ts:461:54) at TransformOperationExecutor.transform (/Users/ttb/code/square/square-backend/node_modules/src/TransformOperationExecutor.ts:150:25) at ClassTransformer.plainToInstance (/Users/ttb/code/square/square-backend/node_modules/src/ClassTransformer.ts:77:21) at Object.plainToClass (/Users/ttb/code/square/square-backend/node_modules/src/index.ts:71:27) at ValidationPipe.transform (/Users/ttb/code/square/square-backend/node_modules/@nestjs/common/pipes/validation.pipe.js:60:39) at /Users/ttb/code/square/square-backend/node_modules/@nestjs/core/pipes/pipes-consumer.js:16:33