mirror of
https://github.com/docmost/docmost.git
synced 2026-08-28 01:07:08 +08:00
* fix: handle empty password, missing port, and TLS in Redis URL parsing --------- Co-authored-by: Philipinho <16838612+Philipinho@users.noreply.github.com>
28 lines
879 B
TypeScript
28 lines
879 B
TypeScript
import { Injectable } from '@nestjs/common';
|
|
import {
|
|
RedisModuleOptions,
|
|
RedisOptionsFactory,
|
|
} from '@nestjs-labs/nestjs-ioredis';
|
|
import { createRetryStrategy, parseRedisUrl } from '../../common/helpers';
|
|
import { EnvironmentService } from '../environment/environment.service';
|
|
|
|
@Injectable()
|
|
export class RedisConfigService implements RedisOptionsFactory {
|
|
constructor(private readonly environmentService: EnvironmentService) {}
|
|
createRedisOptions(): RedisModuleOptions {
|
|
const redisConfig = parseRedisUrl(this.environmentService.getRedisUrl());
|
|
return {
|
|
readyLog: true,
|
|
config: {
|
|
host: redisConfig.host,
|
|
port: redisConfig.port,
|
|
password: redisConfig.password,
|
|
db: redisConfig.db,
|
|
family: redisConfig.family,
|
|
tls: redisConfig.tls,
|
|
retryStrategy: createRetryStrategy(),
|
|
},
|
|
};
|
|
}
|
|
}
|