Fix cache storage (#7966)
This commit is contained in:
@ -4,11 +4,9 @@ import { redisStore } from 'cache-manager-redis-yet';
|
|||||||
|
|
||||||
import { CacheStorageType } from 'src/engine/core-modules/cache-storage/types/cache-storage-type.enum';
|
import { CacheStorageType } from 'src/engine/core-modules/cache-storage/types/cache-storage-type.enum';
|
||||||
import { EnvironmentService } from 'src/engine/core-modules/environment/environment.service';
|
import { EnvironmentService } from 'src/engine/core-modules/environment/environment.service';
|
||||||
import { RedisClientService } from 'src/engine/core-modules/redis-client/redis-client.service';
|
|
||||||
|
|
||||||
export const cacheStorageModuleFactory = (
|
export const cacheStorageModuleFactory = (
|
||||||
environmentService: EnvironmentService,
|
environmentService: EnvironmentService,
|
||||||
redisClientService: RedisClientService,
|
|
||||||
): CacheModuleOptions => {
|
): CacheModuleOptions => {
|
||||||
const cacheStorageType = environmentService.get('CACHE_STORAGE_TYPE');
|
const cacheStorageType = environmentService.get('CACHE_STORAGE_TYPE');
|
||||||
const cacheStorageTtl = environmentService.get('CACHE_STORAGE_TTL');
|
const cacheStorageTtl = environmentService.get('CACHE_STORAGE_TTL');
|
||||||
@ -22,10 +20,18 @@ export const cacheStorageModuleFactory = (
|
|||||||
return cacheModuleOptions;
|
return cacheModuleOptions;
|
||||||
}
|
}
|
||||||
case CacheStorageType.Redis: {
|
case CacheStorageType.Redis: {
|
||||||
|
const redisUrl = environmentService.get('REDIS_URL');
|
||||||
|
|
||||||
|
if (!redisUrl) {
|
||||||
|
throw new Error(
|
||||||
|
`${cacheStorageType} cache storage requires REDIS_URL to be defined, check your .env file`,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
...cacheModuleOptions,
|
...cacheModuleOptions,
|
||||||
store: redisStore,
|
store: redisStore,
|
||||||
client: redisClientService.getClient(),
|
url: redisUrl,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
|
|||||||
@ -7,7 +7,6 @@ import { FlushCacheCommand } from 'src/engine/core-modules/cache-storage/command
|
|||||||
import { CacheStorageService } from 'src/engine/core-modules/cache-storage/services/cache-storage.service';
|
import { CacheStorageService } from 'src/engine/core-modules/cache-storage/services/cache-storage.service';
|
||||||
import { CacheStorageNamespace } from 'src/engine/core-modules/cache-storage/types/cache-storage-namespace.enum';
|
import { CacheStorageNamespace } from 'src/engine/core-modules/cache-storage/types/cache-storage-namespace.enum';
|
||||||
import { EnvironmentService } from 'src/engine/core-modules/environment/environment.service';
|
import { EnvironmentService } from 'src/engine/core-modules/environment/environment.service';
|
||||||
import { RedisClientService } from 'src/engine/core-modules/redis-client/redis-client.service';
|
|
||||||
|
|
||||||
@Global()
|
@Global()
|
||||||
@Module({
|
@Module({
|
||||||
@ -16,7 +15,7 @@ import { RedisClientService } from 'src/engine/core-modules/redis-client/redis-c
|
|||||||
isGlobal: true,
|
isGlobal: true,
|
||||||
imports: [ConfigModule],
|
imports: [ConfigModule],
|
||||||
useFactory: cacheStorageModuleFactory,
|
useFactory: cacheStorageModuleFactory,
|
||||||
inject: [EnvironmentService, RedisClientService],
|
inject: [EnvironmentService],
|
||||||
}),
|
}),
|
||||||
],
|
],
|
||||||
providers: [
|
providers: [
|
||||||
|
|||||||
Reference in New Issue
Block a user