Skip to content

Commit ae62c9b

Browse files
pass connection options
1 parent 56ab01d commit ae62c9b

File tree

3 files changed

+24
-6
lines changed

3 files changed

+24
-6
lines changed

redisinsight/api/src/modules/database/database.service.ts

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ import { ExportDatabase } from 'src/modules/database/models/export-database';
2323
import { deepMerge } from 'src/common/utils';
2424
import { CaCertificate } from 'src/modules/certificate/models/ca-certificate';
2525
import { ClientCertificate } from 'src/modules/certificate/models/client-certificate';
26-
import { RedisClientFactory } from 'src/modules/redis/redis.client.factory';
26+
import { IRedisConnectionOptions, RedisClientFactory } from 'src/modules/redis/redis.client.factory';
2727
import { RedisClientStorage } from 'src/modules/redis/redis.client.storage';
2828

2929
@Injectable()
@@ -149,15 +149,25 @@ export class DatabaseService {
149149
* @param sessionMetadata
150150
* @param dto
151151
* @param uniqueCheck
152+
* @param options
152153
*/
153-
async create(sessionMetadata: SessionMetadata, dto: CreateDatabaseDto, uniqueCheck = false): Promise<Database> {
154+
async create(
155+
sessionMetadata: SessionMetadata,
156+
dto: CreateDatabaseDto,
157+
uniqueCheck = false,
158+
options: IRedisConnectionOptions = {},
159+
): Promise<Database> {
154160
try {
155161
this.logger.log('Creating new database.');
156162

157163
const database = await this.repository.create(
158164
sessionMetadata,
159165
{
160-
...await this.databaseFactory.createDatabaseModel(sessionMetadata, classToClass(Database, dto)),
166+
...await this.databaseFactory.createDatabaseModel(
167+
sessionMetadata,
168+
classToClass(Database, dto),
169+
options,
170+
),
161171
new: true,
162172
},
163173
uniqueCheck,

redisinsight/api/src/modules/database/providers/database.factory.ts

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import { DatabaseInfoProvider } from 'src/modules/database/providers/database-in
99
import { RedisErrorCodes } from 'src/constants';
1010
import { CaCertificateService } from 'src/modules/certificate/ca-certificate.service';
1111
import { ClientCertificateService } from 'src/modules/certificate/client-certificate.service';
12-
import { RedisClientFactory } from 'src/modules/redis/redis.client.factory';
12+
import { IRedisConnectionOptions, RedisClientFactory } from 'src/modules/redis/redis.client.factory';
1313
import {
1414
discoverClusterNodes, discoverSentinelMasterGroups, isCluster, isSentinel,
1515
} from 'src/modules/redis/utils';
@@ -28,9 +28,15 @@ export class DatabaseFactory {
2828

2929
/**
3030
* Create model
31+
* @param sessionMetadata
3132
* @param database
33+
* @param options
3234
*/
33-
async createDatabaseModel(sessionMetadata: SessionMetadata, database: Database): Promise<Database> {
35+
async createDatabaseModel(
36+
sessionMetadata: SessionMetadata,
37+
database: Database,
38+
options: IRedisConnectionOptions = {},
39+
): Promise<Database> {
3440
let model = await this.createStandaloneDatabaseModel(database);
3541

3642
const client = await this.redisClientFactory.getConnectionStrategy().createStandaloneClient(
@@ -40,7 +46,7 @@ export class DatabaseFactory {
4046
context: ClientContext.Common,
4147
},
4248
database,
43-
{ useRetry: true },
49+
{ ...options, useRetry: true },
4450
);
4551

4652
if (!HostingProvider[model.provider]) {

redisinsight/api/src/modules/redis-sentinel/redis-sentinel.service.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,8 @@ export class RedisSentinelService {
8484
password,
8585
},
8686
} as Database,
87+
undefined,
88+
{ enableReadyCheck: false },
8789
);
8890

8991
result.push({

0 commit comments

Comments
 (0)