dabroek / node-cache-manager-ioredis

Redis store for node-cache-manager using IORedis.
MIT License
59 stars 29 forks source link

Caching ignores serialization options #22

Open sluchznak opened 3 years ago

sluchznak commented 3 years ago

Hello. I found that your implementation of cache manager ignores serialization options.

// app initialization
// ....
app.useGlobalInterceptors(new ClassSerializerInterceptor(app.get(Reflector)));
// ...

// DTO
class DtoClass {
  @Expose()
  id: string;

  @Expose({ groups: ["public"] })
  price: number;
}

// Controller
@CacheTTL(10000)
@SerializeOptions({ groups: ["public"], excludeExtraneousValues: true })
@Get("list")
handler(): DtoClass {
  return new DtoClass({ id: "123", price: 123, extraneousValue: "123" });
}

As a result extraneousValue will be in cached response. Default in-memory cache manager works correctly.