Skip to content

Commit f921cf7

Browse files
change pipeline data structure
1 parent 52d7c9c commit f921cf7

File tree

3 files changed

+25
-8
lines changed

3 files changed

+25
-8
lines changed

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

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,11 @@ export class FeatureService {
7878
}
7979
});
8080

81+
features['rdi'] = {
82+
flag: true,
83+
name: 'rdi'
84+
}
85+
8186
return { features };
8287
}
8388

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,12 +30,14 @@ export class RdiPipelineService {
3030

3131
const pipeline = await client.getPipeline();
3232

33+
console.log('___ pipeline', pipeline)
3334
this.analytics.sendRdiPipelineFetched(rdiClientMetadata.id, pipeline);
3435

3536
this.logger.log('Succeed to get RDI pipeline');
3637

3738
return pipeline;
3839
} catch (e) {
40+
console.log('___e', e);
3941
this.logger.error('Failed to get RDI pipeline', e);
4042

4143
this.analytics.sendRdiPipelineFetchFailed(e, rdiClientMetadata.id);

redisinsight/api/src/modules/rdi/utils/pipeline.util.ts

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import {
2-
isArray, unset, set, forEach,
2+
isArray, unset, set, forEach, isObjectLike, isEmpty,
33
} from 'lodash';
44
import { plainToClass } from 'class-transformer';
55
import { RdiPipeline } from 'src/modules/rdi/models';
@@ -21,10 +21,21 @@ export const convertApiDataToRdiJobs = (jobs?: [Record<string, any>]): Record<st
2121
return jobsMap;
2222
};
2323

24-
export const convertApiDataToRdiPipeline = (data: { config?: Record<string, any> } = {}): RdiPipeline => {
24+
export const convertApiDataToRdiPipeline = (data: Record<string, any> = {}): RdiPipeline => {
25+
const entries = data;
26+
27+
// ignore empty root-level entries for pipeline
28+
forEach(data, (entry, key) => {
29+
if (entry && isObjectLike(entry) && isEmpty(entry)) {
30+
entries[key] = undefined;
31+
}
32+
});
33+
2534
const pipeline = {
26-
...data,
27-
jobs: convertApiDataToRdiJobs(data.config.jobs),
35+
config: {
36+
...entries,
37+
},
38+
jobs: convertApiDataToRdiJobs(data.jobs),
2839
};
2940

3041
// do not show jobs in the config area
@@ -46,12 +57,11 @@ export const convertRdiJobsToApiPayload = (jobs: Record<string, any>): Record<st
4657
return payload;
4758
};
4859

49-
export const convertRdiPipelineToApiPayload = (pipeline: RdiPipeline): { config?: Record<string, any> } => {
60+
export const convertRdiPipelineToApiPayload = (pipeline: RdiPipeline): Record<string, any> => {
5061
const payload = {
51-
...pipeline,
52-
jobs: undefined,
62+
...pipeline.config,
5363
};
5464

55-
set(payload, 'config.jobs', convertRdiJobsToApiPayload(pipeline.jobs));
65+
set(payload, 'jobs', convertRdiJobsToApiPayload(pipeline.jobs));
5666
return payload;
5767
};

0 commit comments

Comments
 (0)