Skip to content

Commit a2dc5b1

Browse files
resolve comments
1 parent bc6f79f commit a2dc5b1

File tree

4 files changed

+14
-5
lines changed

4 files changed

+14
-5
lines changed

redisinsight/api/src/constants/error-messages.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,4 +111,5 @@ export default {
111111
RDI_DEPLOY_PIPELINE_FAILURE: 'Failed to deploy pipeline',
112112
RDI_TIMEOUT_ERROR: 'Encountered a timeout error while attempting to retrieve data',
113113
RDI_VALIDATION_ERROR: 'Validation error',
114+
INVALID_RDI_INSTANCE_ID: 'Invalid rdi instance id.',
114115
};

redisinsight/api/src/modules/rdi/providers/rdi.client.provider.ts

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,15 @@
11
import { RdiClient } from 'src/modules/rdi/client/rdi.client';
2-
import { Injectable } from '@nestjs/common';
2+
import { Injectable, Logger, NotFoundException } from '@nestjs/common';
33
import { RdiClientMetadata } from 'src/modules/rdi/models';
44
import { RdiClientStorage } from 'src/modules/rdi/providers/rdi.client.storage';
55
import { RdiClientFactory } from 'src/modules/rdi/providers/rdi.client.factory';
66
import { RdiRepository } from 'src/modules/rdi/repository/rdi.repository';
7+
import ERROR_MESSAGES from 'src/constants/error-messages';
78

89
@Injectable()
910
export class RdiClientProvider {
11+
private logger: Logger = new Logger('RdiClientProvider');
12+
1013
constructor(
1114
private readonly repository: RdiRepository,
1215
private readonly rdiClientStorage: RdiClientStorage,
@@ -28,7 +31,10 @@ export class RdiClientProvider {
2831
async create(clientMetadata: RdiClientMetadata): Promise<RdiClient> {
2932
const rdi = await this.repository.get(clientMetadata.id);
3033

31-
// TODO add 404
34+
if (!rdi) {
35+
this.logger.error(`RDI with ${clientMetadata.id} was not Found`);
36+
throw new NotFoundException(ERROR_MESSAGES.INVALID_RDI_INSTANCE_ID);
37+
}
3238
return this.rdiClientFactory.createClient(clientMetadata, rdi);
3339
}
3440

redisinsight/api/src/modules/rdi/rdi-pipeline.controller.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ export class RdiPipelineController {
3838
})
3939
async getPipeline(
4040
@RequestRdiClientMetadata() rdiClientMetadata: RdiClientMetadata,
41-
): Promise<object> {
41+
): Promise<RdiPipeline> {
4242
return this.rdiPipelineService.getPipeline(rdiClientMetadata);
4343
}
4444

redisinsight/api/src/modules/rdi/rdi-pipeline.service.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import { RdiDryRunJobDto, RdiTemplateResponseDto, RdiTestConnectionsResponseDto
55
import { RdiDryRunJobResponseDto } from 'src/modules/rdi/dto/rdi.dry-run.job.response.dto';
66
import { RdiPipelineAnalytics } from 'src/modules/rdi/rdi-pipeline.analytics';
77
import { wrapHttpError } from 'src/common/utils';
8+
import { plainToClass } from 'class-transformer';
89

910
@Injectable()
1011
export class RdiPipelineService {
@@ -22,7 +23,7 @@ export class RdiPipelineService {
2223
return await client.getSchema();
2324
}
2425

25-
async getPipeline(rdiClientMetadata: RdiClientMetadata): Promise<object> {
26+
async getPipeline(rdiClientMetadata: RdiClientMetadata): Promise<RdiPipeline> {
2627
this.logger.log('Getting RDI pipeline');
2728

2829
try {
@@ -33,7 +34,8 @@ export class RdiPipelineService {
3334
this.analytics.sendRdiPipelineFetched(rdiClientMetadata.id, response);
3435

3536
this.logger.log('Succeed to get RDI pipeline');
36-
return response;
37+
38+
return plainToClass(RdiPipeline, response);
3739
} catch (e) {
3840
this.logger.error('Failed to get RDI pipeline', e);
3941

0 commit comments

Comments
 (0)