From 2983f54a7eb200c3aba68b78e151a16df90bba54 Mon Sep 17 00:00:00 2001 From: Maxim Ciuchitu <35968905+Leichtwind@users.noreply.github.com> Date: Wed, 23 Nov 2022 17:22:08 +0200 Subject: [PATCH] fix(cache): use passed store object --- .../cache/src/multi-store/multi-store.module.ts | 2 +- packages/common/cache/cache.providers.ts | 15 +++++++++++---- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/integration/cache/src/multi-store/multi-store.module.ts b/integration/cache/src/multi-store/multi-store.module.ts index 8ebc34e5bd0..369d49aa1ed 100644 --- a/integration/cache/src/multi-store/multi-store.module.ts +++ b/integration/cache/src/multi-store/multi-store.module.ts @@ -1,5 +1,5 @@ import { CacheModule, Module } from '@nestjs/common'; -import * as redisStore from 'cache-manager-redis-store'; +import { redisStore } from 'cache-manager-redis-store'; import { MultiStoreController } from './multi-store.controller'; @Module({ diff --git a/packages/common/cache/cache.providers.ts b/packages/common/cache/cache.providers.ts index 082c7029ff5..3d1ca3723a5 100644 --- a/packages/common/cache/cache.providers.ts +++ b/packages/common/cache/cache.providers.ts @@ -3,7 +3,10 @@ import { loadPackage } from '../utils/load-package.util'; import { CACHE_MANAGER } from './cache.constants'; import { MODULE_OPTIONS_TOKEN } from './cache.module-definition'; import { defaultCacheOptions } from './default-options'; -import { CacheManagerOptions } from './interfaces/cache-manager.interface'; +import { + CacheManagerOptions, + CacheStore, +} from './interfaces/cache-manager.interface'; /** * Creates a CacheManager Provider. @@ -28,10 +31,14 @@ export function createCacheManager(): Provider { ...{ ...options, store }, }); } - let cache: string | Function = 'memory'; + let cache: string | Function | CacheStore = 'memory'; defaultCacheOptions.ttl *= 1000; - if (typeof store === 'object' && 'create' in store) { - cache = store.create; + if (typeof store === 'object') { + if ('create' in store) { + cache = store.create; + } else { + cache = store; + } } else if (typeof store === 'function') { cache = store; }