Skip to content

Commit

Permalink
feat(schema-compiler): add dimension primaryKey property to transform…
Browse files Browse the repository at this point in the history
… result (#7443)
  • Loading branch information
MikeNitsenko committed Nov 21, 2023
1 parent 05cdd50 commit baabd41
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 6 deletions.
Expand Up @@ -48,7 +48,7 @@ export class CubeToMetaTransformer {
R.map((nameToMetric) => ({
...this.measureConfig(cube.name, cubeTitle, nameToMetric),
isVisible: isCubeVisible ? this.isVisible(nameToMetric[1], true) : false,
public: isCubeVisible ? this.isVisible(nameToMetric[1], true) : false
public: isCubeVisible ? this.isVisible(nameToMetric[1], true) : false,
})),
R.toPairs
)(cube.measures || {}),
Expand All @@ -60,11 +60,18 @@ export class CubeToMetaTransformer {
description: nameToDimension[1].description,
shortTitle: this.title(cubeTitle, nameToDimension, true),
suggestFilterValues:
nameToDimension[1].suggestFilterValues == null ? true : nameToDimension[1].suggestFilterValues,
nameToDimension[1].suggestFilterValues == null
? true
: nameToDimension[1].suggestFilterValues,
format: nameToDimension[1].format,
meta: nameToDimension[1].meta,
isVisible: isCubeVisible ? this.isVisible(nameToDimension[1], !nameToDimension[1].primaryKey) : false,
public: isCubeVisible ? this.isVisible(nameToDimension[1], !nameToDimension[1].primaryKey) : false,
isVisible: isCubeVisible
? this.isVisible(nameToDimension[1], !nameToDimension[1].primaryKey)
: false,
public: isCubeVisible
? this.isVisible(nameToDimension[1], !nameToDimension[1].primaryKey)
: false,
primaryKey: !!nameToDimension[1].primaryKey,
})),
R.toPairs
)(cube.dimensions || {}),
Expand All @@ -79,8 +86,8 @@ export class CubeToMetaTransformer {
public: isCubeVisible ? this.isVisible(nameToSegment[1], true) : false,
})),
R.toPairs
)(cube.segments || {})
}
)(cube.segments || {}),
},
};
}

Expand Down
19 changes: 19 additions & 0 deletions packages/cubejs-schema-compiler/test/unit/schema.test.ts
Expand Up @@ -249,6 +249,25 @@ describe('Schema Testing', () => {
});
});

it('dimensions', async () => {
const { compiler, metaTransformer } = prepareCompiler([
createCubeSchema({
name: 'CubeA',
publicly: false,
}),
]);
await compiler.compile();

const { dimensions } = metaTransformer.cubes[0].config;

expect(dimensions).toBeDefined();
expect(dimensions.length).toBeGreaterThan(0);
expect(dimensions.every((dimension) => dimension.primaryKey)).toBeDefined();
expect(dimensions.every((dimension) => typeof dimension.primaryKey === 'boolean')).toBe(true);
expect(dimensions.find((dimension) => dimension.name === 'CubeA.id').primaryKey).toBe(true);
expect(dimensions.find((dimension) => dimension.name === 'CubeA.type').primaryKey).toBe(false);
});

it('join types', async () => {
const { compiler, cubeEvaluator } = prepareCompiler([
createCubeSchema({
Expand Down

0 comments on commit baabd41

Please sign in to comment.